
(function(Ext) {
Ext.sandboxName = 'Ext6';
Ext.isSandboxed = true;
Ext.buildSettings = { baseCSSPrefix: "x6-", scopeResetCSS: true };
/*
This file is part of Ext JS 6.2.0.981

Copyright (c) 2011-2016 Sencha Inc

Contact:  http://www.sencha.com/contact

GNU General Public License Usage
This file may be used under the terms of the GNU General Public License version 3.0 as
published by the Free Software Foundation and appearing in the file LICENSE included in the
packaging of this file.

Please review the following information to ensure the GNU General Public License version 3.0
requirements will be met: http://www.gnu.org/copyleft/gpl.html.

If you are unsure which license is appropriate for your use, please contact the sales department
at http://www.sencha.com/contact.

Version: 6.2.0.981 Build date: 2016-08-31 14:49:44 (08dbbd0ec0b8bc0e014d725fdb7d9650d510b343)

*/
var Ext=Ext||{};Ext.Boot=Ext.Boot||(function(h){var o=document,e=[],k={disableCaching:(/[?&](?:cache|disableCacheBuster)\b/i.test(location.search)||!(/http[s]?\:/i.test(location.href))||/(^|[ ;])ext-cache=1/.test(o.cookie))?false:true,disableCachingParam:"_dc",loadDelay:false,preserveScripts:true,charset:"UTF-8"},q={},g=/\.css(?:\?|$)/i,n=o.createElement("a"),l=typeof window!=="undefined",i={browser:l,node:!l&&(typeof require==="function"),phantom:(window&&(window._phantom||window.callPhantom))||/PhantomJS/.test(window.navigator.userAgent)},m=(Ext.platformTags={}),a=function(s,r,u){if(u){a(s,u)}if(s&&r&&typeof r==="object"){for(var t in r){s[t]=r[t]}}return s},p=function(){var t=false,w=Array.prototype.shift.call(arguments),s,u,r,v;if(typeof arguments[arguments.length-1]==="boolean"){t=Array.prototype.pop.call(arguments)}r=arguments.length;for(s=0;s<r;s++){v=arguments[s];if(typeof v==="object"){for(u in v){w[t?u.toLowerCase():u]=v[u]}}}return w},c=(typeof Object.keys=="function")?function(r){if(!r){return[]}return Object.keys(r)}:function(r){var s=[],t;for(t in r){if(r.hasOwnProperty(t)){s.push(t)}}return s},d={loading:0,loaded:0,apply:a,env:i,config:k,assetConfig:q,scripts:{},currentFile:null,suspendedQueue:[],currentRequest:null,syncMode:false,useElements:true,listeners:[],Request:b,Entry:j,allowMultipleBrowsers:false,browserNames:{ie:"IE",firefox:"Firefox",safari:"Safari",chrome:"Chrome",opera:"Opera",dolfin:"Dolfin",edge:"Edge",webosbrowser:"webOSBrowser",chromeMobile:"ChromeMobile",chromeiOS:"ChromeiOS",silk:"Silk",other:"Other"},osNames:{ios:"iOS",android:"Android",windowsPhone:"WindowsPhone",webos:"webOS",blackberry:"BlackBerry",rimTablet:"RIMTablet",mac:"MacOS",win:"Windows",tizen:"Tizen",linux:"Linux",bada:"Bada",chromeOS:"ChromeOS",other:"Other"},browserPrefixes:{ie:"MSIE ",edge:"Edge/",firefox:"Firefox/",chrome:"Chrome/",safari:"Version/",opera:"OPR/",dolfin:"Dolfin/",webosbrowser:"wOSBrowser/",chromeMobile:"CrMo/",chromeiOS:"CriOS/",silk:"Silk/"},browserPriority:["edge","opera","dolfin","webosbrowser","silk","chromeiOS","chromeMobile","ie","firefox","safari","chrome"],osPrefixes:{tizen:"(Tizen )",ios:"i(?:Pad|Phone|Pod)(?:.*)CPU(?: iPhone)? OS ",android:"(Android |HTC_|Silk/)",windowsPhone:"Windows Phone ",blackberry:"(?:BlackBerry|BB)(?:.*)Version/",rimTablet:"RIM Tablet OS ",webos:"(?:webOS|hpwOS)/",bada:"Bada/",chromeOS:"CrOS "},fallbackOSPrefixes:{windows:"win",mac:"mac",linux:"linux"},devicePrefixes:{iPhone:"iPhone",iPod:"iPod",iPad:"iPad"},maxIEVersion:12,detectPlatformTags:function(){var w=this,r=navigator.userAgent,x=/Mobile(\/|\s)/.test(r),v=document.createElement("div"),A=function(F,D){if(D===undefined){D=window}var E="on"+F.toLowerCase(),G=(E in v);if(!G){if(v.setAttribute&&v.removeAttribute){v.setAttribute(E,"");G=typeof v[E]==="function";if(typeof v[E]!=="undefined"){v[E]=undefined}v.removeAttribute(E)}}return G},z=function(){var E={},L,H,M,N,I,J,F,K,D;J=w.browserPriority.length;for(I=0;I<J;I++){N=w.browserPriority[I];if(!D){M=w.browserPrefixes[N];F=r.match(new RegExp("("+M+")([\\w\\._]+)"));K=F&&F.length>1?parseInt(F[2]):0;if(K){D=true}}else{K=0}E[N]=K}if(E.ie){var G=document.documentMode;if(G>=8){E.ie=G}}K=E.ie||false;L=Math.max(K,w.maxIEVersion);for(I=8;I<=L;++I){H="ie"+I;E[H+"m"]=K?K<=I:0;E[H]=K?K===I:0;E[H+"p"]=K?K>=I:0}return E},y=function(){var E={},J,K,M,G,H,F,D,I,L;M=c(w.osPrefixes);H=M.length;for(G=0,L=0;G<H;G++){K=M[G];J=w.osPrefixes[K];F=r.match(new RegExp("("+J+")([^\\s;]+)"));D=F?F[1]:null;if(D&&(D==="HTC_"||D==="Silk/")){I=2.3}else{I=F&&F.length>1?parseFloat(F[F.length-1]):0}if(I){L++}E[K]=I}M=c(w.fallbackOSPrefixes);H=M.length;for(G=0;G<H;G++){K=M[G];if(L===0){J=w.fallbackOSPrefixes[K];F=r.toLowerCase().match(new RegExp(J));E[K]=F?true:0}else{E[K]=0}}return E},B=function(){var E={},J,H,I,G,D,F;I=c(w.devicePrefixes);D=I.length;for(G=0;G<D;G++){H=I[G];J=w.devicePrefixes[H];F=r.match(new RegExp(J));E[H]=F?true:0}return E},t=z(),u=y(),C=B(),s=d.loadPlatformsParam();p(m,t,u,C,s,true);m.phone=!!((m.iphone||m.ipod)||(!m.silk&&(m.android&&(m.android<3||x)))||(m.blackberry&&x)||(m.windowsphone));m.tablet=!!(!m.phone&&(m.ipad||m.android||m.silk||m.rimtablet||(m.ie10&&/; Touch/.test(r))));m.touch=A("touchend")||navigator.maxTouchPoints||navigator.msMaxTouchPoints;m.desktop=!m.phone&&!m.tablet;m.cordova=m.phonegap=!!(window.PhoneGap||window.Cordova||window.cordova);m.webview=/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)(?!.*FBAN)/i.test(r);m.androidstock=(m.android<=4.3)&&(m.safari||m.silk);p(m,s,true)},loadPlatformsParam:function(){var r=window.location.search.substr(1),t=r.split("&"),v={},x,y={},A,w,u,s,z;for(x=0;x<t.length;x++){A=t[x].split("=");v[A[0]]=A[1]}if(v.platformTags){A=v.platformTags.split(",");for(w=A.length,x=0;x<w;x++){u=A[x].split(":");s=u[0];z=true;if(u.length>1){z=u[1];if(z==="false"||z==="0"){z=false}}y[s]=z}}return y},filterPlatform:function(t,x){t=e.concat(t||e);x=e.concat(x||e);var w=t.length,v=x.length,s=(!w&&v),u,r;for(u=0;u<w&&!s;u++){r=t[u];s=!!m[r]}for(u=0;u<v&&s;u++){r=x[u];s=!m[r]}return s},init:function(){var u=o.getElementsByTagName("script"),x=u[0],v=u.length,B=/\/ext(\-[a-z\-]+)?\.js$/,z,r,s,w,A,t,y;d.hasReadyState=("readyState" in x);d.hasAsync=("async" in x);d.hasDefer=("defer" in x);d.hasOnLoad=("onload" in x);d.isIE8=d.hasReadyState&&!d.hasAsync&&d.hasDefer&&!d.hasOnLoad;d.isIE9=d.hasReadyState&&!d.hasAsync&&d.hasDefer&&d.hasOnLoad;d.isIE10p=d.hasReadyState&&d.hasAsync&&d.hasDefer&&d.hasOnLoad;d.isIE10=(new Function("/*@cc_on return @_jscript_version @*/")())===10;d.isIE10m=d.isIE10||d.isIE9||d.isIE8;d.isIE11=d.isIE10p&&!d.isIE10;for(t=0;t<v;t++){r=(x=u[t]).src;if(!r){continue}s=x.readyState||null;if(!w&&B.test(r)){w=r}if(!d.scripts[A=d.canonicalUrl(r)]){z=new j({key:A,url:r,done:s===null||s==="loaded"||s==="complete",el:x,prop:"src"})}}if(!w){x=u[u.length-1];w=x.src}d.baseUrl=w.substring(0,w.lastIndexOf("/")+1);y=window.location.origin||window.location.protocol+"//"+window.location.hostname+(window.location.port?":"+window.location.port:"");d.origin=y;d.detectPlatformTags();Ext.filterPlatform=d.filterPlatform},canonicalUrl:function(u){n.href=u;var t=n.href,s=k.disableCachingParam,w=s?t.indexOf(s+"="):-1,v,r;if(w>0&&((v=t.charAt(w-1))==="?"||v==="&")){r=t.indexOf("&",w);r=(r<0)?"":t.substring(r);if(r&&v==="?"){++w;r=r.substring(1)}t=t.substring(0,w-1)+r}return t},getConfig:function(r){return r?d.config[r]:d.config},setConfig:function(r,u){if(typeof r==="string"){d.config[r]=u}else{for(var t in r){d.setConfig(t,r[t])}}return d},getHead:function(){return d.docHead||(d.docHead=o.head||o.getElementsByTagName("head")[0])},create:function(t,u,r){var s=r||{};s.url=t;s.key=u;return d.scripts[u]=new j(s)},getEntry:function(t,s,r){var u,v;u=r?t:d.canonicalUrl(t);v=d.scripts[u];if(!v){v=d.create(t,u,s);if(r){v.canonicalPath=true}}return v},registerContent:function(s,t,u){var r={content:u,loaded:true,css:t==="css"};return d.getEntry(s,r)},processRequest:function(s,r){s.loadEntries(r)},load:function(r){var r=new b(r);if(r.sync||d.syncMode){return d.loadSync(r)}if(d.currentRequest){r.getEntries();d.suspendedQueue.push(r)}else{d.currentRequest=r;d.processRequest(r,false)}return d},loadSync:function(r){var r=new b(r);d.syncMode++;d.processRequest(r,true);d.syncMode--;return d},loadBasePrefix:function(r){r=new b(r);r.prependBaseUrl=true;return d.load(r)},loadSyncBasePrefix:function(r){r=new b(r);r.prependBaseUrl=true;return d.loadSync(r)},requestComplete:function(s){var r;if(d.currentRequest===s){d.currentRequest=null;while(d.suspendedQueue.length>0){r=d.suspendedQueue.shift();if(!r.done){d.load(r);break}}}if(!d.currentRequest&&d.suspendedQueue.length==0){d.fireListeners()}},isLoading:function(){return !d.currentRequest&&d.suspendedQueue.length==0},fireListeners:function(){var r;while(d.isLoading()&&(r=d.listeners.shift())){r()}},onBootReady:function(r){if(!d.isLoading()){r()}else{d.listeners.push(r)}},getPathsFromIndexes:function(u,r){if(!("length" in u)){var t=[],s;for(s in u){if(!isNaN(+s)){t[+s]=u[s]}}u=t}return b.prototype.getPathsFromIndexes(u,r)},createLoadOrderMap:function(r){return b.prototype.createLoadOrderMap(r)},fetch:function(r,s,A,u){u=(u===undefined)?!!s:u;var z=new XMLHttpRequest(),B,w,x,t=false,y=function(){if(z&&z.readyState==4){w=(z.status===1223)?204:(z.status===0&&((self.location||{}).protocol==="file:"||(self.location||{}).protocol==="ionp:"))?200:z.status;x=z.responseText;B={content:x,status:w,exception:t};if(s){s.call(A,B)}z.onreadystatechange=h;z=null}};if(u){z.onreadystatechange=y}try{z.open("GET",r,u);z.send(null)}catch(v){t=v;y();return B}if(!u){y()}return B},notifyAll:function(r){r.notifyRequests()}};function b(r){if(r.$isRequest){return r}var r=r.url?r:{url:r},s=r.url,t=s.charAt?[s]:s,u=r.charset||d.config.charset;a(this,r);delete this.url;this.urls=t;this.charset=u}b.prototype={$isRequest:true,createLoadOrderMap:function(s){var r=s.length,t={},v,u;for(v=0;v<r;v++){u=s[v];t[u.path]=u}return t},getLoadIndexes:function(D,z,s,t,C){var B=[],v=[D],r=D.idx,v,A,y,x,u,w;if(z[r]){return B}z[r]=B[r]=true;while(D=v.shift()){if(D.canonicalPath){A=d.getEntry(D.path,null,true)}else{A=d.getEntry(this.prepareUrl(D.path))}if(!(C&&A.done)){if(t&&D.uses&&D.uses.length){y=D.requires.concat(D.uses)}else{y=D.requires}for(u=0,w=y.length;u<w;u++){x=y[u];if(!z[x]){z[x]=B[x]=true;v.push(s[x])}}}}return B},getPathsFromIndexes:function(u,s){var v=[],t,r;for(t=0,r=u.length;t<r;t++){if(u[t]){v.push(s[t].path)}}return v},expandUrl:function(w,r,u,y,v,t){var x,s;if(r){x=u[w];if(x){s=this.getLoadIndexes(x,y,r,v,t);if(s.length){return this.getPathsFromIndexes(s,r)}}}return[w]},expandUrls:function(A,v){var B=this,r=B.loadOrder,y=[],s={},z=[],C,F,w,x,E,u,D;if(typeof A==="string"){A=[A]}if(r){C=B.loadOrderMap;if(!C){C=B.loadOrderMap=B.createLoadOrderMap(r)}}for(w=0,x=A.length;w<x;w++){F=this.expandUrl(A[w],r,C,z,v,false);for(E=0,u=F.length;E<u;E++){D=F[E];if(!s[D]){s[D]=true;y.push(D)}}}if(y.length===0){y=A}return y},expandLoadOrder:function(){var s=this,t=s.urls,r;if(!s.expanded){r=this.expandUrls(t,true);s.expanded=true}else{r=t}s.urls=r;if(t.length!=r.length){s.sequential=true}return s},getUrls:function(){this.expandLoadOrder();return this.urls},prepareUrl:function(r){if(this.prependBaseUrl){return d.baseUrl+r}return r},getEntries:function(){var x=this,r=x.entries,s,w,u,v,y,t;if(!r){r=[];y=x.getUrls();if(x.loadOrder){s=x.loadOrderMap}for(u=0;u<y.length;u++){t=x.prepareUrl(y[u]);if(s){w=s[t]}v=d.getEntry(t,{buster:x.buster,charset:x.charset},w&&w.canonicalPath);v.requests.push(x);r.push(v)}x.entries=r}return r},loadEntries:function(x){var w=this,s=w.getEntries(),r=s.length,y=w.loadStart||0,t,s,v,u;if(x!==undefined){w.sync=x}w.loaded=w.loaded||0;w.loading=w.loading||r;for(u=y;u<r;u++){v=s[u];if(!v.loaded){t=s[u].load(w.sync)}else{t=true}if(!t){w.loadStart=u;v.onDone(function(){w.loadEntries(x)});break}}w.processLoadedEntries()},processLoadedEntries:function(){var v=this,s=v.getEntries(),r=s.length,w=v.startIndex||0,t,u;if(!v.done){for(t=w;t<r;t++){u=s[t];if(!u.loaded){v.startIndex=t;return}if(!u.evaluated){u.evaluate()}if(u.error){v.error=true}}v.notify()}},notify:function(){var v=this;if(!v.done){var s=v.error,u=v[s?"failure":"success"],r=("delay" in v)?v.delay:(s?1:d.config.chainDelay),t=v.scope||v;v.done=true;if(u){if(r===0||r>0){setTimeout(function(){u.call(t,v)},r)}else{u.call(t,v)}}v.fireListeners();d.requestComplete(v)}},onDone:function(t){var s=this,r=s.listeners||(s.listeners=[]);if(s.done){t(s)}else{r.push(t)}},fireListeners:function(){var r=this.listeners,s;if(r){while((s=r.shift())){s(this)}}}};function j(s){if(s.$isEntry){return s}var x=s.charset||d.config.charset,w=Ext.manifest,r=w&&w.loader,t=(s.cache!==undefined)?s.cache:(r&&r.cache),v,u;if(d.config.disableCaching){if(t===undefined){t=!d.config.disableCaching}if(t===false){v=+new Date()}else{if(t!==true){v=t}}if(v){u=(r&&r.cacheParam)||d.config.disableCachingParam;v=u+"="+v}}a(this,s);this.charset=x;this.buster=v;this.requests=[]}j.prototype={$isEntry:true,done:false,evaluated:false,loaded:false,isCrossDomain:function(){var r=this;if(r.crossDomain===undefined){r.crossDomain=(r.getLoadUrl().indexOf(d.origin)!==0)}return r.crossDomain},isCss:function(){var s=this;if(s.css===undefined){if(s.url){var r=d.assetConfig[s.url];s.css=r?r.type==="css":g.test(s.url)}else{s.css=false}}return this.css},getElement:function(r){var t=this,s=t.el;if(!s){if(t.isCss()){r=r||"link";s=o.createElement(r);if(r=="link"){s.rel="stylesheet";t.prop="href"}else{t.prop="textContent"}s.type="text/css"}else{r=r||"script";s=o.createElement(r);s.type="text/javascript";t.prop="src";if(t.charset){s.charset=t.charset}if(d.hasAsync){s.async=false}}t.el=s}return s},getLoadUrl:function(){var s=this,r;r=s.canonicalPath?s.url:d.canonicalUrl(s.url);if(!s.loadUrl){s.loadUrl=!!s.buster?(r+(r.indexOf("?")===-1?"?":"&")+s.buster):r}return s.loadUrl},fetch:function(u){var s=this.getLoadUrl(),t=!!u.async,r=u.complete;d.fetch(s,r,this,t)},onContentLoaded:function(s){var w=this,r=s.status,v=s.content,u=s.exception,t=this.getLoadUrl();w.loaded=true;if((u||r===0)&&!i.phantom){w.error=true;w.evaluated=true}else{if((r>=200&&r<300)||r===304||i.phantom||(r===0&&v.length>0)){w.content=v}else{w.error=true;w.evaluated=true}}},createLoadElement:function(t){var s=this,r=s.getElement();s.preserve=true;r.onerror=function(){s.error=true;if(t){t();t=null}};if(d.isIE10m){r.onreadystatechange=function(){if(this.readyState==="loaded"||this.readyState==="complete"){if(t){t();t=this.onreadystatechange=this.onerror=null}}}}else{r.onload=function(){t();t=this.onload=this.onerror=null}}r[s.prop]=s.getLoadUrl()},onLoadElementReady:function(){d.getHead().appendChild(this.getElement());this.evaluated=true},inject:function(w,v){var x=this,y=d.getHead(),r=x.url,z=x.key,s,t,u,A;if(x.isCss()){x.preserve=true;A=z.substring(0,z.lastIndexOf("/")+1);s=o.createElement("base");s.href=A;if(y.firstChild){y.insertBefore(s,y.firstChild)}else{y.appendChild(s)}s.href=s.href;if(r){w+="\n/*# sourceURL="+z+" */"}t=x.getElement("style");u=("styleSheet" in t);y.appendChild(s);if(u){y.appendChild(t);t.styleSheet.cssText=w}else{t.textContent=w;y.appendChild(t)}y.removeChild(s)}else{if(r){w+="\n//# sourceURL="+z}Ext.globalEval(w)}return x},loadCrossDomain:function(){var s=this,r=function(){s.el.onerror=s.el.onload=h;s.el=null;s.loaded=s.evaluated=s.done=true;s.notifyRequests()};s.createLoadElement(function(){r()});s.evaluateLoadElement();return false},loadElement:function(){var s=this,r=function(){s.el.onerror=s.el.onload=h;s.el=null;s.loaded=s.evaluated=s.done=true;s.notifyRequests()};s.createLoadElement(function(){r()});s.evaluateLoadElement();return true},loadSync:function(){var r=this;r.fetch({async:false,complete:function(s){r.onContentLoaded(s)}});r.evaluate();r.notifyRequests()},load:function(s){var r=this;if(!r.loaded){if(r.loading){return false}r.loading=true;if(!s){if(d.isIE10||r.isCrossDomain()){return r.loadCrossDomain()}else{if(!r.isCss()&&d.hasReadyState){r.createLoadElement(function(){r.loaded=true;r.notifyRequests()})}else{if(d.useElements&&!(r.isCss()&&i.phantom)){return r.loadElement()}else{r.fetch({async:!s,complete:function(t){r.onContentLoaded(t);r.notifyRequests()}})}}}}else{r.loadSync()}}return true},evaluateContent:function(){this.inject(this.content);this.content=null},evaluateLoadElement:function(){d.getHead().appendChild(this.getElement())},evaluate:function(){var r=this;if(!r.evaluated){if(r.evaluating){return}r.evaluating=true;if(r.content!==undefined){r.evaluateContent()}else{if(!r.error){r.evaluateLoadElement()}}r.evaluated=r.done=true;r.cleanup()}},cleanup:function(){var t=this,s=t.el,u;if(!s){return}if(!t.preserve){t.el=null;s.parentNode.removeChild(s);for(u in s){try{if(u!==t.prop){s[u]=null}delete s[u]}catch(r){}}}s.onload=s.onerror=s.onreadystatechange=h},notifyRequests:function(){var u=this.requests,r=u.length,s,t;for(s=0;s<r;s++){t=u[s];t.processLoadedEntries()}if(this.done){this.fireListeners()}},onDone:function(t){var s=this,r=s.listeners||(s.listeners=[]);if(s.done){t(s)}else{r.push(t)}},fireListeners:function(){var r=this.listeners,s;if(r&&r.length>0){while((s=r.shift())){s(this)}}}};Ext.disableCacheBuster=function(s,t){var r=new Date();r.setTime(r.getTime()+(s?10*365:-1)*24*60*60*1000);r=r.toGMTString();o.cookie="ext-cache=1; expires="+r+"; path="+(t||"/")};d.init();return d}(function(){}));Ext.globalEval=Ext.globalEval||(this.execScript?function(a){execScript(a)}:function($$code){eval.call(window,$$code)});if(!Function.prototype.bind){(function(){var a=Array.prototype.slice,b=function(d){var c=a.call(arguments,1),e=this;if(c.length){return function(){var g=arguments;return e.apply(d,g.length?c.concat(a.call(g)):c)}}c=null;return function(){return e.apply(d,arguments)}};Function.prototype.bind=b;b.$extjs=true}())}Ext.setResourcePath=function(c,b){var a=Ext.manifest||(Ext.manifest={}),d=a.resources||(a.resources={});if(a){if(typeof c!=="string"){Ext.apply(d,c)}else{d[c]=b}a.resources=d}};Ext.getResourcePath=function(g,e,a){if(typeof g!=="string"){e=g.pool;a=g.packageName;g=g.path}var d=Ext.manifest,h=d&&d.resources,c=h[e],b=[];if(c==null){c=h.path;if(c==null){c="resources"}}if(c){b.push(c)}if(a){b.push(a)}b.push(g);return b.join("/")};var Ext=Ext||{};(function(){var b=this,h=Object.prototype,c=h.toString,o=["valueOf","toLocaleString","toString","constructor"],l=function(){},g=function(){},j=function(i){return i},n=function(){var i=n.caller.caller;return i.$owner.prototype[i.$name].apply(this,arguments)},a=Ext.manifest||{},k,d=/\[object\s*(?:Array|Arguments|\w*Collection|\w*List|HTML\s+document\.all\s+class)\]/,e=/^\\?\/Date\(([-+])?(\d+)(?:[+-]\d{4})?\)\\?\/$/;Ext.global=b;Ext.now=Date.now||(Date.now=function(){return +new Date()});Ext.ticks=(b.performance&&b.performance.now)?function(){return performance.now()}:Ext.now;Ext._startTime=Ext.ticks();l.$nullFn=j.$nullFn=l.$emptyFn=j.$identityFn=g.$nullFn=true;g.$privacy="framework";l.$noClearOnDestroy=j.$noClearOnDestroy=true;g.$noClearOnDestroy=true;Ext.suspendLayouts=Ext.resumeLayouts=l;for(k in {toString:1}){o=null}Ext.enumerables=o;Ext.apply=function(s,r,u){if(u){Ext.apply(s,u)}if(s&&r&&typeof r==="object"){var t,q,p;for(t in r){s[t]=r[t]}if(o){for(q=o.length;q--;){p=o[q];if(r.hasOwnProperty(p)){s[p]=r[p]}}}}return s};function m(r,i,s){var p,q;for(p in s){if(s.hasOwnProperty(p)){q=s[p];if(typeof q==="function"){q.$name=p;q.$owner=i;q.$previous=r.hasOwnProperty(p)?r[p]:n}r[p]=q}}}Ext.buildSettings=Ext.apply({baseCSSPrefix:"x-"},Ext.buildSettings||{});Ext.apply(Ext,{idSeed:0,idPrefix:"ext-",isSecure:/^https/i.test(window.location.protocol),enableGarbageCollector:false,enableListenerCollection:true,name:Ext.sandboxName||"Ext",privateFn:g,emptyFn:l,identityFn:j,frameStartTime:Ext.now(),manifest:a,enableAria:true,startsWithHashRe:/^#/,validIdRe:/^[a-z_][a-z0-9\-_]*$/i,BLANK_IMAGE_URL:"data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==",makeIdSelector:function(i){return"#"+i},id:function(p,i){if(p&&p.id){return p.id}var q=(i||Ext.idPrefix)+(++Ext.idSeed);if(p){p.id=q}return q},returnId:function(i){return i.getId()},returnTrue:function(){return true},emptyString:new String(),baseCSSPrefix:Ext.buildSettings.baseCSSPrefix,$eventNameMap:{},$vendorEventRe:/^(DOMMouse|Moz.+|MS.+|webkit.+)/,canonicalEventName:function(i){return Ext.$eventNameMap[i]||(Ext.$eventNameMap[i]=(Ext.$vendorEventRe.test(i)?i:i.toLowerCase()))},applyIf:function(p,i){var q;if(p){for(q in i){if(p[q]===undefined){p[q]=i[q]}}}return p},destroy:function(){var r=arguments.length,q,p;for(q=0;q<r;q++){p=arguments[q];if(p){if(Ext.isArray(p)){this.destroy.apply(this,p)}else{if(Ext.isFunction(p.destroy)){p.destroy()}}}}return null},destroyMembers:function(s){for(var u,r,t=1,q=arguments,p=q.length;t<p;t++){u=s[r=q[t]];if(u!=null){s[r]=Ext.destroy(u)}}},override:function(q,r){if(q.$isClass){q.override(r)}else{if(typeof q==="function"){Ext.apply(q.prototype,r)}else{var i=q.self,p;if(i&&i.$isClass){p=r.privates;if(p){r=Ext.apply({},r);delete r.privates;m(q,i,p)}m(q,i,r)}else{Ext.apply(q,r)}}}return q},valueFrom:function(q,i,p){return Ext.isEmpty(q,p)?i:q},isEmpty:function(i,p){return(i==null)||(!p?i==="":false)||(Ext.isArray(i)&&i.length===0)},isArray:("isArray" in Array)?Array.isArray:function(i){return c.call(i)==="[object Array]"},isDate:function(i){return c.call(i)==="[object Date]"},isMSDate:function(i){if(!Ext.isString(i)){return false}return e.test(i)},isObject:(c.call(null)==="[object Object]")?function(i){return i!==null&&i!==undefined&&c.call(i)==="[object Object]"&&i.ownerDocument===undefined}:function(i){return c.call(i)==="[object Object]"},isSimpleObject:function(i){return i instanceof Object&&i.constructor===Object},isPrimitive:function(p){var i=typeof p;return i==="string"||i==="number"||i==="boolean"},isFunction:(typeof document!=="undefined"&&typeof document.getElementsByTagName("body")==="function")?function(i){return !!i&&c.call(i)==="[object Function]"}:function(i){return !!i&&typeof i==="function"},isNumber:function(i){return typeof i==="number"&&isFinite(i)},isNumeric:function(i){return !isNaN(parseFloat(i))&&isFinite(i)},isString:function(i){return typeof i==="string"},isBoolean:function(i){return typeof i==="boolean"},isElement:function(i){return i?i.nodeType===1:false},isTextNode:function(i){return i?i.nodeName==="#text":false},isDefined:function(i){return typeof i!=="undefined"},isIterable:function(i){if(!i||typeof i.length!=="number"||typeof i==="string"||Ext.isFunction(i)){return false}if(!i.propertyIsEnumerable){return !!i.item}if(i.hasOwnProperty("length")&&!i.propertyIsEnumerable("length")){return true}return d.test(c.call(i))},isDebugEnabled:l,clone:function(v,t){if(v===null||v===undefined){return v}if(t!==false&&v.nodeType&&v.cloneNode){return v.cloneNode(true)}var u=c.call(v),s,q,p,w,r;if(u==="[object Date]"){return new Date(v.getTime())}if(u==="[object Array]"){s=v.length;w=[];while(s--){w[s]=Ext.clone(v[s],t)}}else{if(u==="[object Object]"&&v.constructor===Object){w={};for(r in v){w[r]=Ext.clone(v[r],t)}if(o){for(q=o.length;q--;){p=o[q];if(v.hasOwnProperty(p)){w[p]=v[p]}}}}}return w||v},getUniqueGlobalNamespace:function(){var q=this.uniqueGlobalNamespace,p;if(q===undefined){p=0;do{q="ExtBox"+(++p)}while(b[q]!==undefined);b[q]=Ext;this.uniqueGlobalNamespace=q}return q},functionFactoryCache:{},cacheableFunctionFactory:function(){var t=this,q=Array.prototype.slice.call(arguments),p=t.functionFactoryCache,i,r,s;if(Ext.isSandboxed){s=q.length;if(s>0){s--;q[s]="var Ext=window."+Ext.name+";"+q[s]}}i=q.join("");r=p[i];if(!r){r=Function.prototype.constructor.apply(Function.prototype,q);p[i]=r}return r},functionFactory:function(){var i=Array.prototype.slice.call(arguments),p;if(Ext.isSandboxed){p=i.length;if(p>0){p--;i[p]="var Ext=window."+Ext.name+";"+i[p]}}return Function.prototype.constructor.apply(Function.prototype,i)},Logger:{verbose:l,log:l,info:l,warn:l,error:function(i){throw new Error(i)},deprecate:l},ariaWarn:function(i,p){if(Ext.enableAria&&!Ext.slicer){if(!Ext.ariaWarn.first){Ext.ariaWarn.first=true;Ext.log.warn("WAI-ARIA compatibility warnings can be suppressed by adding the following to application startup code:");Ext.log.warn("    Ext.ariaWarn = Ext.emptyFn;")}Ext.log.warn({msg:p,dump:i})}},getElementById:function(i){return document.getElementById(i)},splitAndUnescape:(function(){var i={};return function(r,q){if(!r){return[]}else{if(!q){return[r]}}var t=i[q]||(i[q]=new RegExp("\\\\"+q,"g")),p=[],u,s;u=r.split(q);while((s=u.shift())!==undefined){while(s.charAt(s.length-1)==="\\"&&u.length>0){s=s+q+u.shift()}s=s.replace(t,q);p.push(s)}return p}})()});Ext.returnTrue.$nullFn=Ext.returnId.$nullFn=true}());Ext.platformTags.classic=!(Ext.platformTags.modern=Ext.isModern=true);(function(){function a(){var c=this,b=c.sourceClass,e=c.sourceMethod,d=c.msg;if(e){if(d){e+="(): ";e+=d}else{e+="()"}}if(b){e=e?(b+"."+e):b}return e||d||""}Ext.Error=function(c){if(Ext.isString(c)){c={msg:c}}var b=new Error();Ext.apply(b,c);b.message=b.message||b.msg;b.toString=a;return b};Ext.apply(Ext.Error,{ignore:false,raise:function(d){d=d||{};if(Ext.isString(d)){d={msg:d}}var c=this,g=c.raise.caller,e,b;if(g===Ext.raise){g=g.caller}if(g){if(!d.sourceMethod&&(b=g.$name)){d.sourceMethod=b}if(!d.sourceClass&&(b=g.$owner)&&(b=b.$className)){d.sourceClass=b}}if(c.handle(d)!==true){e=a.call(d);throw new Ext.Error(d)}},handle:function(){return this.ignore}})})();Ext.deprecated=function(a){return Ext.emptyFn};Ext.raise=function(){Ext.Error.raise.apply(Ext.Error,arguments)};Ext.Array=(function(){var c=Array.prototype,l=c.slice,n=(function(){var v=[],e,u=20;if(!v.splice){return false}while(u--){v.push("A")}v.splice(15,0,"F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F");e=v.length;v.splice(13,0,"XXX");if(e+1!==v.length){return false}return true}()),m="indexOf" in c,h=true;function k(x,u){var e=x.length,w=new Array(e),v;for(v=0;v<e;v++){w[v]=v}w.sort(function(z,y){return u(x[z],x[y])||(z-y)});for(v=0;v<e;v++){w[v]=x[w[v]]}for(v=0;v<e;v++){x[v]=w[v]}return x}try{if(typeof document!=="undefined"){l.call(document.getElementsByTagName("body"))}}catch(p){h=false}var j=function(u,e){return(e<0)?Math.max(0,u.length+e):Math.min(u.length,e)},t=function(B,A,u,E){var F=E?E.length:0,w=B.length,C=j(B,A);if(C===w){if(F){B.push.apply(B,E)}}else{var z=Math.min(u,w-C),D=C+z,v=D+F-z,e=w-D,x=w-z,y;if(v<D){for(y=0;y<e;++y){B[v+y]=B[D+y]}}else{if(v>D){for(y=e;y--;){B[v+y]=B[D+y]}}}if(F&&C===x){B.length=x;B.push.apply(B,E)}else{B.length=x+F;for(y=0;y<F;++y){B[C+y]=E[y]}}}return B},g=function(w,e,v,u){if(u&&u.length){if(e===0&&!v){w.unshift.apply(w,u)}else{if(e<w.length){w.splice.apply(w,[e,v].concat(u))}else{w.push.apply(w,u)}}}else{w.splice(e,v)}return w},b=function(v,e,u){return t(v,e,u)},o=function(v,e,u){v.splice(e,u);return v},i=function(y,u,w){var e=arguments.length,x=j(y,u),v;if(e<3){w=y.length-x}v=y.slice(u,j(y,x+w));if(e<4){t(y,x,w)}else{t(y,x,w,l.call(arguments,3))}return v},d=function(e){return e.splice.apply(e,l.call(arguments,1))},s=n?o:b,q=n?g:t,r=n?d:i,a={binarySearch:function(A,x,v,e,z){var w=A.length,u,y;if(v instanceof Function){z=v;v=0;e=w}else{if(e instanceof Function){z=e;e=w}else{if(v===undefined){v=0}if(e===undefined){e=w}z=z||a.lexicalCompare}}--e;while(v<=e){u=(v+e)>>1;y=z(x,A[u]);if(y>=0){v=u+1}else{if(y<0){e=u-1}}}return v},defaultCompare:function(e,u){return(e<u)?-1:((e>u)?1:0)},lexicalCompare:function(e,u){e=String(e);u=String(u);return(e<u)?-1:((e>u)?1:0)},each:function(y,w,v,e){y=a.from(y);var u,x=y.length;if(e!==true){for(u=0;u<x;u++){if(w.call(v||y[u],y[u],u,y)===false){return u}}}else{for(u=x-1;u>-1;u--){if(w.call(v||y[u],y[u],u,y)===false){return u}}}return true},forEach:("forEach" in c)?function(v,u,e){return v.forEach(u,e)}:function(x,v,u){for(var e=0,w=x.length;e<w;e++){v.call(u,x[e],e,x)}},indexOf:m?function(v,e,u){return v?c.indexOf.call(v,e,u):-1}:function(x,v,w){var e,u=x?x.length:0;for(e=(w<0)?Math.max(0,u+w):w||0;e<u;e++){if(x[e]===v){return e}}return -1},contains:m?function(u,e){return c.indexOf.call(u,e)!==-1}:function(w,v){var e,u;for(e=0,u=w.length;e<u;e++){if(w[e]===v){return true}}return false},toArray:function(v,x,e){if(!v||!v.length){return[]}if(typeof v==="string"){v=v.split("")}if(h){return l.call(v,x||0,e||v.length)}var w=[],u;x=x||0;e=e?((e<0)?v.length+e:e):v.length;for(u=x;u<e;u++){w.push(v[u])}return w},pluck:function(y,e){var u=[],v,x,w;for(v=0,x=y.length;v<x;v++){w=y[v];u.push(w[e])}return u},map:("map" in c)?function(v,u,e){return v.map(u,e)}:function(y,x,w){var e=y.length,v=new Array(e),u;for(u=0;u<e;u++){v[u]=x.call(w,y[u],u,y)}return v},every:("every" in c)?function(v,u,e){return v.every(u,e)}:function(x,v,u){var e=0,w=x.length;for(;e<w;++e){if(!v.call(u,x[e],e,x)){return false}}return true},some:("some" in c)?function(v,u,e){return v.some(u,e)}:function(x,v,u){var e=0,w=x.length;for(;e<w;++e){if(v.call(u,x[e],e,x)){return true}}return false},equals:function(x,w){var u=x.length,e=w.length,v;if(x===w){return true}if(u!==e){return false}for(v=0;v<u;++v){if(x[v]!==w[v]){return false}}return true},clean:function(x){var u=[],e=0,w=x.length,v;for(;e<w;e++){v=x[e];if(!Ext.isEmpty(v)){u.push(v)}}return u},unique:function(x){var w=[],e=0,v=x.length,u;for(;e<v;e++){u=x[e];if(a.indexOf(w,u)===-1){w.push(u)}}return w},filter:("filter" in c)?function(v,u,e){return v.filter(u,e)}:function(y,w,v){var u=[],e=0,x=y.length;for(;e<x;e++){if(w.call(v,y[e],e,y)){u.push(y[e])}}return u},findBy:function(x,w,v){var u=0,e=x.length;for(;u<e;u++){if(w.call(v||x,x[u],u)){return x[u]}}return null},from:function(v,u){if(v===undefined||v===null){return[]}if(Ext.isArray(v)){return(u)?l.call(v):v}var e=typeof v;if(v&&v.length!==undefined&&e!=="string"&&(e!=="function"||!v.apply)){return a.toArray(v)}return[v]},remove:function(v,u){var e=a.indexOf(v,u);if(e!==-1){s(v,e,1)}return v},removeAt:function(w,u,v){var e=w.length;if(u>=0&&u<e){v=v||1;v=Math.min(v,e-u);s(w,u,v)}return w},include:function(u,e){if(!a.contains(u,e)){u.push(e)}},clone:function(e){return l.call(e)},merge:function(){var e=l.call(arguments),w=[],u,v;for(u=0,v=e.length;u<v;u++){w=w.concat(e[u])}return a.unique(w)},intersect:function(){var e=[],v=l.call(arguments),G,E,A,D,H,w,u,C,F,x,B,z,y;if(!v.length){return e}G=v.length;for(B=H=0;B<G;B++){w=v[B];if(!D||w.length<D.length){D=w;H=B}}D=a.unique(D);s(v,H,1);u=D.length;G=v.length;for(B=0;B<u;B++){C=D[B];x=0;for(z=0;z<G;z++){E=v[z];A=E.length;for(y=0;y<A;y++){F=E[y];if(C===F){x++;break}}}if(x===G){e.push(C)}}return e},difference:function(u,e){var z=l.call(u),x=z.length,w,v,y;for(w=0,y=e.length;w<y;w++){for(v=0;v<x;v++){if(z[v]===e[w]){s(z,v,1);v--;x--}}}return z},reduce:Array.prototype.reduce?function(v,u,e){if(arguments.length===3){return Array.prototype.reduce.call(v,u,e)}return Array.prototype.reduce.call(v,u)}:function(y,x,e){y=Object(y);var v=0,w=y.length>>>0,u=e;if(arguments.length<3){while(true){if(v in y){u=y[v++];break}if(++v>=w){throw new TypeError("Reduce of empty array with no initial value")}}}for(;v<w;++v){if(v in y){u=x(u,y[v],v,y)}}return u},slice:([1,2].slice(1,undefined).length?function(v,u,e){return l.call(v,u,e)}:function(v,u,e){if(typeof u==="undefined"){return l.call(v)}if(typeof e==="undefined"){return l.call(v,u)}return l.call(v,u,e)}),sort:function(u,e){return k(u,e||a.lexicalCompare)},flatten:function(v){var u=[];function e(w){var y,z,x;for(y=0,z=w.length;y<z;y++){x=w[y];if(Ext.isArray(x)){e(x)}else{u.push(x)}}return u}return e(v)},min:function(y,x){var u=y[0],e,w,v;for(e=0,w=y.length;e<w;e++){v=y[e];if(x){if(x(u,v)===1){u=v}}else{if(v<u){u=v}}}return u},max:function(y,x){var e=y[0],u,w,v;for(u=0,w=y.length;u<w;u++){v=y[u];if(x){if(x(e,v)===-1){e=v}}else{if(v>e){e=v}}}return e},mean:function(e){return e.length>0?a.sum(e)/e.length:undefined},sum:function(x){var u=0,e,w,v;for(e=0,w=x.length;e<w;e++){v=x[e];u+=v}return u},toMap:function(x,e,v){var w={},u=x.length;if(!e){while(u--){w[x[u]]=u+1}}else{if(typeof e==="string"){while(u--){w[x[u][e]]=u+1}}else{while(u--){w[e.call(v,x[u])]=u+1}}}return w},toValueMap:function(z,w,E,y){var e={},v=z.length,u,x,C,A,D,B;if(!w){while(v--){B=z[v];e[B]=B}}else{if(!(A=(typeof w!=="string"))){y=E}x=y===1;u=y===2;while(v--){B=z[v];D=A?w.call(E,B):B[w];if(x){if(D in e){e[D].push(B)}else{e[D]=[B]}}else{if(u&&(D in e)){if((C=e[D]) instanceof Array){C.push(B)}else{e[D]=[C,B]}}else{e[D]=B}}}}return e},erase:s,insert:function(v,u,e){return q(v,u,0,e)},move:function(y,u,w){if(w===u){return}var v=y[u],x=w>u?1:-1,e;for(e=u;e!=w;e+=x){y[e]=y[e+x]}y[w]=v},replace:q,splice:r,push:function(w){var e=arguments.length,v=1,u;if(w===undefined){w=[]}else{if(!Ext.isArray(w)){w=[w]}}for(;v<e;v++){u=arguments[v];Array.prototype.push[Ext.isIterable(u)?"apply":"call"](w,u)}return w},numericSortFn:function(u,e){return u-e}};Ext.each=a.each;a.union=a.merge;Ext.min=a.min;Ext.max=a.max;Ext.sum=a.sum;Ext.mean=a.mean;Ext.flatten=a.flatten;Ext.clean=a.clean;Ext.unique=a.unique;Ext.pluck=a.pluck;Ext.toArray=function(){return a.toArray.apply(a,arguments)};return a}());Ext.String=(function(){var i=/^[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u2028\u2029\u202f\u205f\u3000]+|[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u2028\u2029\u202f\u205f\u3000]+$/g,n=/('|\\)/g,b=/([-.*+?\^${}()|\[\]\/\\])/g,p=/^\s+|\s+$/g,j=/\s+/,l=/(^[^a-z]*|[^\w])/gi,e,a,h,d,g=function(r,q){return e[q]},k=function(r,q){return(q in a)?a[q]:String.fromCharCode(parseInt(q.substr(2),10))},c=function(r,q){if(r===null||r===undefined||q===null||q===undefined){return false}return q.length<=r.length},m=String.fromCharCode,o;return o={fromCodePoint:String.fromCodePoint||function(){var s,q="",t=[],r=-1,u=arguments.length;while(++r<u){s=Number(arguments[r]);if(!isFinite(s)||s<0||s>1114111||Math.floor(s)!==s){Ext.raise("Invalid code point: "+s)}if(s<=65535){t.push(s)}else{s-=65536;t.push((s>>10)+55296,(s%1024)+56320)}if(r+1===u){q+=m(t);t.length=0}}return q},insert:function(t,u,r){if(!t){return u}if(!u){return t}var q=t.length;if(!r&&r!==0){r=q}if(r<0){r*=-1;if(r>=q){r=0}else{r=q-r}}if(r===0){t=u+t}else{if(r>=t.length){t+=u}else{t=t.substr(0,r)+u+t.substr(r)}}return t},startsWith:function(t,u,r){var q=c(t,u);if(q){if(r){t=t.toLowerCase();u=u.toLowerCase()}q=t.lastIndexOf(u,0)===0}return q},endsWith:function(u,r,t){var q=c(u,r);if(q){if(t){u=u.toLowerCase();r=r.toLowerCase()}q=u.indexOf(r,u.length-r.length)!==-1}return q},createVarName:function(q){return q.replace(l,"")},htmlEncode:function(q){return(!q)?q:String(q).replace(h,g)},htmlDecode:function(q){return(!q)?q:String(q).replace(d,k)},hasHtmlCharacters:function(q){return h.test(q)},addCharacterEntities:function(r){var q=[],u=[],s,t;for(s in r){t=r[s];a[s]=t;e[t]=s;q.push(t);u.push(s)}h=new RegExp("("+q.join("|")+")","g");d=new RegExp("("+u.join("|")+"|&#[0-9]{1,5};)","g")},resetCharacterEntities:function(){e={};a={};this.addCharacterEntities({"&amp;":"&","&gt;":">","&lt;":"<","&quot;":'"',"&#39;":"'"})},urlAppend:function(r,q){if(!Ext.isEmpty(q)){return r+(r.indexOf("?")===-1?"?":"&")+q}return r},trim:function(q){if(q){q=q.replace(i,"")}return q||""},capitalize:function(q){if(q){q=q.charAt(0).toUpperCase()+q.substr(1)}return q||""},uncapitalize:function(q){if(q){q=q.charAt(0).toLowerCase()+q.substr(1)}return q||""},ellipsis:function(s,r,t){if(s&&s.length>r){if(t){var u=s.substr(0,r-2),q=Math.max(u.lastIndexOf(" "),u.lastIndexOf("."),u.lastIndexOf("!"),u.lastIndexOf("?"));if(q!==-1&&q>=(r-15)){return u.substr(0,q)+"..."}}return s.substr(0,r-3)+"..."}return s},escapeRegex:function(q){return q.replace(b,"\\$1")},createRegex:function(u,t,r,q){var s=u;if(u!=null&&!u.exec){s=o.escapeRegex(String(u));if(t!==false){s="^"+s}if(r!==false){s+="$"}s=new RegExp(s,(q!==false)?"i":"")}return s},escape:function(q){return q.replace(n,"\\$1")},toggle:function(r,s,q){return r===s?q:s},leftPad:function(r,s,t){var q=String(r);t=t||" ";while(q.length<s){q=t+q}return q},repeat:function(u,t,r){if(t<1){t=0}for(var q=[],s=t;s--;){q.push(u)}return q.join(r||"")},splitWords:function(q){if(q&&typeof q=="string"){return q.replace(p,"").split(j)}return q||[]}}}());Ext.String.resetCharacterEntities();Ext.htmlEncode=Ext.String.htmlEncode;Ext.htmlDecode=Ext.String.htmlDecode;Ext.urlAppend=Ext.String.urlAppend;Ext.Date=(function(){var g,e=Date,l=/(\\.)/g,a=/([gGhHisucUOPZ]|MS)/,h=/([djzmnYycU]|MS)/,k=/\\/gi,c=/\{(\d+)\}/g,i=new RegExp("\\/Date\\(([-+])?(\\d+)(?:[+-]\\d{4})?\\)\\/"),d=Ext.String.leftPad,b=["var me = this, dt, y, m, d, h, i, s, ms, o, O, z, zz, u, v, W, year, jan4, week1monday, daysInMonth, dayMatched,","def = me.defaults,","from = Ext.Number.from,","results = String(input).match(me.parseRegexes[{0}]);","if(results){","{1}","if(u != null){","v = new Date(u * 1000);","}else{","dt = me.clearTime(new Date);","y = from(y, from(def.y, dt.getFullYear()));","m = from(m, from(def.m - 1, dt.getMonth()));","dayMatched = d !== undefined;","d = from(d, from(def.d, dt.getDate()));","if (!dayMatched) {","dt.setDate(1);","dt.setMonth(m);","dt.setFullYear(y);","daysInMonth = me.getDaysInMonth(dt);","if (d > daysInMonth) {","d = daysInMonth;","}","}","h  = from(h, from(def.h, dt.getHours()));","i  = from(i, from(def.i, dt.getMinutes()));","s  = from(s, from(def.s, dt.getSeconds()));","ms = from(ms, from(def.ms, dt.getMilliseconds()));","if(z >= 0 && y >= 0){","v = me.add(new Date(y < 100 ? 100 : y, 0, 1, h, i, s, ms), me.YEAR, y < 100 ? y - 100 : 0);","v = !strict? v : (strict === true && (z <= 364 || (me.isLeapYear(v) && z <= 365))? me.add(v, me.DAY, z) : null);","}else if(strict === true && !me.isValid(y, m + 1, d, h, i, s, ms)){","v = null;","}else{","if (W) {","year = y || (new Date()).getFullYear();","jan4 = new Date(year, 0, 4, 0, 0, 0);","d = jan4.getDay();","week1monday = new Date(jan4.getTime() - ((d === 0 ? 6 : d - 1) * 86400000));","v = Ext.Date.clearTime(new Date(week1monday.getTime() + ((W - 1) * 604800000 + 43200000)));","} else {","v = me.add(new Date(y < 100 ? 100 : y, m, d, h, i, s, ms), me.YEAR, y < 100 ? y - 100 : 0);","}","}","}","}","if(v){","if(zz != null){","v = me.add(v, me.SECOND, -v.getTimezoneOffset() * 60 - zz);","}else if(o){","v = me.add(v, me.MINUTE, -v.getTimezoneOffset() + (sn == '+'? -1 : 1) * (hr * 60 + mn));","}","}","return (v != null) ? v : null;"].join("\n");if(!Date.prototype.toISOString){Date.prototype.toISOString=function(){var m=this;return d(m.getUTCFullYear(),4,"0")+"-"+d(m.getUTCMonth()+1,2,"0")+"-"+d(m.getUTCDate(),2,"0")+"T"+d(m.getUTCHours(),2,"0")+":"+d(m.getUTCMinutes(),2,"0")+":"+d(m.getUTCSeconds(),2,"0")+"."+d(m.getUTCMilliseconds(),3,"0")+"Z"}}function j(n){var m=Array.prototype.slice.call(arguments,1);return n.replace(c,function(o,p){return m[p]})}g={now:e.now,toString:function(m){if(!m){m=new e()}return m.getFullYear()+"-"+d(m.getMonth()+1,2,"0")+"-"+d(m.getDate(),2,"0")+"T"+d(m.getHours(),2,"0")+":"+d(m.getMinutes(),2,"0")+":"+d(m.getSeconds(),2,"0")},getElapsed:function(n,m){return Math.abs(n-(m||g.now()))},useStrict:false,formatCodeToRegex:function(n,m){var o=g.parseCodes[n];if(o){o=typeof o==="function"?o():o;g.parseCodes[n]=o}return o?Ext.applyIf({c:o.c?j(o.c,m||"{0}"):o.c},o):{g:0,c:null,s:Ext.String.escapeRegex(n)}},parseFunctions:{MS:function(n,m){var o=(n||"").match(i);return o?new e(((o[1]||"")+o[2])*1):null},time:function(n,m){var o=parseInt(n,10);if(o||o===0){return new e(o)}return null},timestamp:function(n,m){var o=parseInt(n,10);if(o||o===0){return new e(o*1000)}return null}},parseRegexes:[],formatFunctions:{MS:function(){return"\\/Date("+this.getTime()+")\\/"},time:function(){return this.getTime().toString()},timestamp:function(){return g.format(this,"U")}},y2kYear:50,MILLI:"ms",SECOND:"s",MINUTE:"mi",HOUR:"h",DAY:"d",MONTH:"mo",YEAR:"y",DAYS_IN_WEEK:7,MONTHS_IN_YEAR:12,MAX_DAYS_IN_MONTH:31,SUNDAY:0,MONDAY:1,TUESDAY:2,WEDNESDAY:3,THURSDAY:4,FRIDAY:5,SATURDAY:6,defaults:{},dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNumbers:{January:0,Jan:0,February:1,Feb:1,March:2,Mar:2,April:3,Apr:3,May:4,June:5,Jun:5,July:6,Jul:6,August:7,Aug:7,September:8,Sep:8,October:9,Oct:9,November:10,Nov:10,December:11,Dec:11},defaultFormat:"m/d/Y",firstDayOfWeek:0,weekendDays:[0,6],getShortMonthName:function(m){return g.monthNames[m].substring(0,3)},getShortDayName:function(m){return g.dayNames[m].substring(0,3)},getMonthNumber:function(m){return g.monthNumbers[m.substring(0,1).toUpperCase()+m.substring(1,3).toLowerCase()]},formatContainsHourInfo:function(m){return a.test(m.replace(l,""))},formatContainsDateInfo:function(m){return h.test(m.replace(l,""))},unescapeFormat:function(m){return m.replace(k,"")},formatCodes:{d:"Ext.String.leftPad(m.getDate(), 2, '0')",D:"Ext.Date.getShortDayName(m.getDay())",j:"m.getDate()",l:"Ext.Date.dayNames[m.getDay()]",N:"(m.getDay() ? m.getDay() : 7)",S:"Ext.Date.getSuffix(m)",w:"m.getDay()",z:"Ext.Date.getDayOfYear(m)",W:"Ext.String.leftPad(Ext.Date.getWeekOfYear(m), 2, '0')",F:"Ext.Date.monthNames[m.getMonth()]",m:"Ext.String.leftPad(m.getMonth() + 1, 2, '0')",M:"Ext.Date.getShortMonthName(m.getMonth())",n:"(m.getMonth() + 1)",t:"Ext.Date.getDaysInMonth(m)",L:"(Ext.Date.isLeapYear(m) ? 1 : 0)",o:"(m.getFullYear() + (Ext.Date.getWeekOfYear(m) == 1 && m.getMonth() > 0 ? +1 : (Ext.Date.getWeekOfYear(m) >= 52 && m.getMonth() < 11 ? -1 : 0)))",Y:"Ext.String.leftPad(m.getFullYear(), 4, '0')",y:"('' + m.getFullYear()).substring(2, 4)",a:"(m.getHours() < 12 ? 'am' : 'pm')",A:"(m.getHours() < 12 ? 'AM' : 'PM')",g:"((m.getHours() % 12) ? m.getHours() % 12 : 12)",G:"m.getHours()",h:"Ext.String.leftPad((m.getHours() % 12) ? m.getHours() % 12 : 12, 2, '0')",H:"Ext.String.leftPad(m.getHours(), 2, '0')",i:"Ext.String.leftPad(m.getMinutes(), 2, '0')",s:"Ext.String.leftPad(m.getSeconds(), 2, '0')",u:"Ext.String.leftPad(m.getMilliseconds(), 3, '0')",O:"Ext.Date.getGMTOffset(m)",P:"Ext.Date.getGMTOffset(m, true)",T:"Ext.Date.getTimezone(m)",Z:"(m.getTimezoneOffset() * -60)",c:function(){var q="Y-m-dTH:i:sP",o=[],n,m=q.length,p;for(n=0;n<m;++n){p=q.charAt(n);o.push(p==="T"?"'T'":g.getFormatCode(p))}return o.join(" + ")},C:function(){return"m.toISOString()"},U:"Math.round(m.getTime() / 1000)"},isValid:function(p,s,n,m,t,o,r){m=m||0;t=t||0;o=o||0;r=r||0;var q=g.add(new e(p<100?100:p,s-1,n,m,t,o,r),g.YEAR,p<100?p-100:0);return p===q.getFullYear()&&s===q.getMonth()+1&&n===q.getDate()&&m===q.getHours()&&t===q.getMinutes()&&o===q.getSeconds()&&r===q.getMilliseconds()},parse:function(n,q,m){var o=g.parseFunctions;if(o[q]==null){g.createParser(q)}return o[q].call(g,n,Ext.isDefined(m)?m:g.useStrict)},parseDate:function(n,o,m){return g.parse(n,o,m)},getFormatCode:function(n){var m=g.formatCodes[n];if(m){m=typeof m==="function"?m():m;g.formatCodes[n]=m}return m||("'"+Ext.String.escape(n)+"'")},createFormat:function(q){var p=[],m=false,o="",n;for(n=0;n<q.length;++n){o=q.charAt(n);if(!m&&o==="\\"){m=true}else{if(m){m=false;p.push("'"+Ext.String.escape(o)+"'")}else{if(o==="\n"){p.push("'\\n'")}else{p.push(g.getFormatCode(o))}}}}g.formatFunctions[q]=Ext.functionFactory("var m=this;return "+p.join("+"))},createParser:function(v){var n=g.parseRegexes.length,w=1,o=[],u=[],s=false,m="",q=0,r=v.length,t=[],p;for(;q<r;++q){m=v.charAt(q);if(!s&&m==="\\"){s=true}else{if(s){s=false;u.push(Ext.String.escape(m))}else{p=g.formatCodeToRegex(m,w);w+=p.g;u.push(p.s);if(p.g&&p.c){if(p.calcAtEnd){t.push(p.c)}else{o.push(p.c)}}}}}o=o.concat(t);g.parseRegexes[n]=new RegExp("^"+u.join("")+"$","i");g.parseFunctions[v]=Ext.functionFactory("input","strict",j(b,n,o.join("")))},parseCodes:{d:{g:1,c:"d = parseInt(results[{0}], 10);\n",s:"(3[0-1]|[1-2][0-9]|0[1-9])"},j:{g:1,c:"d = parseInt(results[{0}], 10);\n",s:"(3[0-1]|[1-2][0-9]|[1-9])"},D:function(){for(var m=[],n=0;n<7;m.push(g.getShortDayName(n)),++n){}return{g:0,c:null,s:"(?:"+m.join("|")+")"}},l:function(){return{g:0,c:null,s:"(?:"+g.dayNames.join("|")+")"}},N:{g:0,c:null,s:"[1-7]"},S:{g:0,c:null,s:"(?:st|nd|rd|th)"},w:{g:0,c:null,s:"[0-6]"},z:{g:1,c:"z = parseInt(results[{0}], 10);\n",s:"(\\d{1,3})"},W:{g:1,c:"W = parseInt(results[{0}], 10);\n",s:"(\\d{2})"},F:function(){return{g:1,c:"m = parseInt(me.getMonthNumber(results[{0}]), 10);\n",s:"("+g.monthNames.join("|")+")"}},M:function(){for(var m=[],n=0;n<12;m.push(g.getShortMonthName(n)),++n){}return Ext.applyIf({s:"("+m.join("|")+")"},g.formatCodeToRegex("F"))},m:{g:1,c:"m = parseInt(results[{0}], 10) - 1;\n",s:"(1[0-2]|0[1-9])"},n:{g:1,c:"m = parseInt(results[{0}], 10) - 1;\n",s:"(1[0-2]|[1-9])"},t:{g:0,c:null,s:"(?:\\d{2})"},L:{g:0,c:null,s:"(?:1|0)"},o:{g:1,c:"y = parseInt(results[{0}], 10);\n",s:"(\\d{4})"},Y:{g:1,c:"y = parseInt(results[{0}], 10);\n",s:"(\\d{4})"},y:{g:1,c:"var ty = parseInt(results[{0}], 10);\ny = ty > me.y2kYear ? 1900 + ty : 2000 + ty;\n",s:"(\\d{2})"},a:{g:1,c:"if (/(am)/i.test(results[{0}])) {\nif (!h || h == 12) { h = 0; }\n} else { if (!h || h < 12) { h = (h || 0) + 12; }}",s:"(am|pm|AM|PM)",calcAtEnd:true},A:{g:1,c:"if (/(am)/i.test(results[{0}])) {\nif (!h || h == 12) { h = 0; }\n} else { if (!h || h < 12) { h = (h || 0) + 12; }}",s:"(AM|PM|am|pm)",calcAtEnd:true},g:{g:1,c:"h = parseInt(results[{0}], 10);\n",s:"(1[0-2]|[0-9])"},G:{g:1,c:"h = parseInt(results[{0}], 10);\n",s:"(2[0-3]|1[0-9]|[0-9])"},h:{g:1,c:"h = parseInt(results[{0}], 10);\n",s:"(1[0-2]|0[1-9])"},H:{g:1,c:"h = parseInt(results[{0}], 10);\n",s:"(2[0-3]|[0-1][0-9])"},i:{g:1,c:"i = parseInt(results[{0}], 10);\n",s:"([0-5][0-9])"},s:{g:1,c:"s = parseInt(results[{0}], 10);\n",s:"([0-5][0-9])"},u:{g:1,c:"ms = results[{0}]; ms = parseInt(ms, 10)/Math.pow(10, ms.length - 3);\n",s:"(\\d+)"},O:{g:1,c:["o = results[{0}];","var sn = o.substring(0,1),","hr = o.substring(1,3)*1 + Math.floor(o.substring(3,5) / 60),","mn = o.substring(3,5) % 60;","o = ((-12 <= (hr*60 + mn)/60) && ((hr*60 + mn)/60 <= 14))? (sn + Ext.String.leftPad(hr, 2, '0') + Ext.String.leftPad(mn, 2, '0')) : null;\n"].join("\n"),s:"([+-]\\d{4})"},P:{g:1,c:["o = results[{0}];","var sn = o.substring(0,1),","hr = o.substring(1,3)*1 + Math.floor(o.substring(4,6) / 60),","mn = o.substring(4,6) % 60;","o = ((-12 <= (hr*60 + mn)/60) && ((hr*60 + mn)/60 <= 14))? (sn + Ext.String.leftPad(hr, 2, '0') + Ext.String.leftPad(mn, 2, '0')) : null;\n"].join("\n"),s:"([+-]\\d{2}:\\d{2})"},T:{g:0,c:null,s:"[A-Z]{1,5}"},Z:{g:1,c:"zz = results[{0}] * 1;\nzz = (-43200 <= zz && zz <= 50400)? zz : null;\n",s:"([+-]?\\d{1,5})"},c:function(){var o=[],m=[g.formatCodeToRegex("Y",1),g.formatCodeToRegex("m",2),g.formatCodeToRegex("d",3),g.formatCodeToRegex("H",4),g.formatCodeToRegex("i",5),g.formatCodeToRegex("s",6),{c:"ms = results[7] || '0'; ms = parseInt(ms, 10)/Math.pow(10, ms.length - 3);\n"},{c:["if(results[8]) {","if(results[8] == 'Z'){","zz = 0;","}else if (results[8].indexOf(':') > -1){",g.formatCodeToRegex("P",8).c,"}else{",g.formatCodeToRegex("O",8).c,"}","}"].join("\n")}],p,n;for(p=0,n=m.length;p<n;++p){o.push(m[p].c)}return{g:1,c:o.join(""),s:[m[0].s,"(?:","-",m[1].s,"(?:","-",m[2].s,"(?:","(?:T| )?",m[3].s,":",m[4].s,"(?::",m[5].s,")?","(?:(?:\\.|,)(\\d+))?","(Z|(?:[-+]\\d{2}(?::)?\\d{2}))?",")?",")?",")?"].join("")}},U:{g:1,c:"u = parseInt(results[{0}], 10);\n",s:"(-?\\d+)"}},dateFormat:function(m,n){return g.format(m,n)},isEqual:function(n,m){if(n&&m){return(n.getTime()===m.getTime())}return !(n||m)},format:function(n,o){var m=g.formatFunctions;if(!Ext.isDate(n)){return""}if(m[o]==null){g.createFormat(o)}return m[o].call(n)+""},getTimezone:function(m){return m.toString().replace(/^.* (?:\((.*)\)|([A-Z]{1,5})(?:[\-+][0-9]{4})?(?: -?\d+)?)$/,"$1$2").replace(/[^A-Z]/g,"")},getGMTOffset:function(m,n){var o=m.getTimezoneOffset();return(o>0?"-":"+")+Ext.String.leftPad(Math.floor(Math.abs(o)/60),2,"0")+(n?":":"")+Ext.String.leftPad(Math.abs(o%60),2,"0")},getDayOfYear:function(p){var o=0,r=g.clone(p),n=p.getMonth(),q;for(q=0,r.setDate(1),r.setMonth(0);q<n;r.setMonth(++q)){o+=g.getDaysInMonth(r)}return o+p.getDate()-1},getWeekOfYear:(function(){var m=86400000,n=7*m;return function(p){var q=e.UTC(p.getFullYear(),p.getMonth(),p.getDate()+3)/m,o=Math.floor(q/7),r=new e(o*n).getUTCFullYear();return o-Math.floor(e.UTC(r,0,7)/n)+1}}()),isLeapYear:function(m){var n=m.getFullYear();return !!((n&3)===0&&(n%100||(n%400===0&&n)))},getFirstDayOfMonth:function(n){var m=(n.getDay()-(n.getDate()-1))%7;return(m<0)?(m+7):m},getLastDayOfMonth:function(m){return g.getLastDateOfMonth(m).getDay()},getFirstDateOfMonth:function(m){return new e(m.getFullYear(),m.getMonth(),1)},getLastDateOfMonth:function(m){return new e(m.getFullYear(),m.getMonth(),g.getDaysInMonth(m))},getDaysInMonth:(function(){var m=[31,28,31,30,31,30,31,31,30,31,30,31];return function(o){var n=o.getMonth();return n===1&&g.isLeapYear(o)?29:m[n]}}()),getSuffix:function(m){switch(m.getDate()){case 1:case 21:case 31:return"st";case 2:case 22:return"nd";case 3:case 23:return"rd";default:return"th"}},clone:function(m){return new e(m.getTime())},isDST:function(m){return new e(m.getFullYear(),0,1).getTimezoneOffset()!==m.getTimezoneOffset()},clearTime:function(m,q){if(isNaN(m.getTime())){return m}if(q){return g.clearTime(g.clone(m))}var o=m.getDate(),n,p;m.setHours(0);m.setMinutes(0);m.setSeconds(0);m.setMilliseconds(0);if(m.getDate()!==o){for(n=1,p=g.add(m,g.HOUR,n);p.getDate()!==o;n++,p=g.add(m,g.HOUR,n)){}m.setDate(o);m.setHours(p.getHours())}return m},add:function(o,n,r){var s=g.clone(o),q=0,m,p;if(!n||r===0){return s}p=r-parseInt(r,10);r=parseInt(r,10);if(r){switch(n.toLowerCase()){case g.MILLI:s.setTime(s.getTime()+r);break;case g.SECOND:s.setTime(s.getTime()+r*1000);break;case g.MINUTE:s.setTime(s.getTime()+r*60*1000);break;case g.HOUR:s.setTime(s.getTime()+r*60*60*1000);break;case g.DAY:s.setTime(s.getTime()+r*24*60*60*1000);break;case g.MONTH:m=o.getDate();if(m>28){m=Math.min(m,g.getLastDateOfMonth(g.add(g.getFirstDateOfMonth(o),g.MONTH,r)).getDate())}s.setDate(m);s.setMonth(o.getMonth()+r);break;case g.YEAR:m=o.getDate();if(m>28){m=Math.min(m,g.getLastDateOfMonth(g.add(g.getFirstDateOfMonth(o),g.YEAR,r)).getDate())}s.setDate(m);s.setFullYear(o.getFullYear()+r);break}}if(p){switch(n.toLowerCase()){case g.MILLI:q=1;break;case g.SECOND:q=1000;break;case g.MINUTE:q=1000*60;break;case g.HOUR:q=1000*60*60;break;case g.DAY:q=1000*60*60*24;break;case g.MONTH:m=g.getDaysInMonth(s);q=1000*60*60*24*m;break;case g.YEAR:m=(g.isLeapYear(s)?366:365);q=1000*60*60*24*m;break}if(q){s.setTime(s.getTime()+q*p)}}return s},subtract:function(n,m,o){return g.add(n,m,-o)},between:function(n,p,m){var o=n.getTime();return p.getTime()<=o&&o<=m.getTime()},isWeekend:function(m){return Ext.Array.indexOf(this.weekendDays,m.getDay())>-1},utcToLocal:function(m){return new Date(m.getUTCFullYear(),m.getUTCMonth(),m.getUTCDate(),m.getUTCHours(),m.getUTCMinutes(),m.getUTCSeconds(),m.getUTCMilliseconds())},localToUtc:function(m){return g.utc(m.getFullYear(),m.getMonth(),m.getDate(),m.getHours(),m.getMinutes(),m.getSeconds(),m.getMilliseconds())},utc:function(r,t,n,m,p,q,o){return new Date(Date.UTC(r,t,n,m||0,p||0,q||0,o||0))},compat:function(){var u,v=["useStrict","formatCodeToRegex","parseFunctions","parseRegexes","formatFunctions","y2kYear","MILLI","SECOND","MINUTE","HOUR","DAY","MONTH","YEAR","defaults","dayNames","monthNames","monthNumbers","getShortMonthName","getShortDayName","getMonthNumber","formatCodes","isValid","parseDate","getFormatCode","createFormat","createParser","parseCodes"],t=["dateFormat","format","getTimezone","getGMTOffset","getDayOfYear","getWeekOfYear","isLeapYear","getFirstDayOfMonth","getLastDayOfMonth","getDaysInMonth","getSuffix","clone","isDST","clearTime","add","between"],n=v.length,m=t.length,q,r,o;for(o=0;o<n;o++){q=v[o];e[q]=g[q]}for(u=0;u<m;u++){r=t[u];e.prototype[r]=function(){var p=Array.prototype.slice.call(arguments);p.unshift(this);return g[r].apply(g,p)}}},diff:function(n,m,p){var o,q=+m-n;switch(p){case g.MILLI:return q;case g.SECOND:return Math.floor(q/1000);case g.MINUTE:return Math.floor(q/60000);case g.HOUR:return Math.floor(q/3600000);case g.DAY:return Math.floor(q/86400000);case"w":return Math.floor(q/604800000);case g.MONTH:o=(m.getFullYear()*12+m.getMonth())-(n.getFullYear()*12+n.getMonth());if(g.add(n,p,o)>m){return o-1}return o;case g.YEAR:o=m.getFullYear()-n.getFullYear();if(g.add(n,p,o)>m){return o-1}else{return o}}},align:function(n,p,o){var m=new e(+n);switch(p.toLowerCase()){case g.MILLI:return m;case g.SECOND:m.setUTCSeconds(m.getUTCSeconds()-m.getUTCSeconds()%o);m.setUTCMilliseconds(0);return m;case g.MINUTE:m.setUTCMinutes(m.getUTCMinutes()-m.getUTCMinutes()%o);m.setUTCSeconds(0);m.setUTCMilliseconds(0);return m;case g.HOUR:m.setUTCHours(m.getUTCHours()-m.getUTCHours()%o);m.setUTCMinutes(0);m.setUTCSeconds(0);m.setUTCMilliseconds(0);return m;case g.DAY:if(o===7||o===14){m.setUTCDate(m.getUTCDate()-m.getUTCDay()+1)}m.setUTCHours(0);m.setUTCMinutes(0);m.setUTCSeconds(0);m.setUTCMilliseconds(0);return m;case g.MONTH:m.setUTCMonth(m.getUTCMonth()-(m.getUTCMonth()-1)%o,1);m.setUTCHours(0);m.setUTCMinutes(0);m.setUTCSeconds(0);m.setUTCMilliseconds(0);return m;case g.YEAR:m.setUTCFullYear(m.getUTCFullYear()-m.getUTCFullYear()%o,1,1);m.setUTCHours(0);m.setUTCMinutes(0);m.setUTCSeconds(0);m.setUTCMilliseconds(0);return n}}};g.parseCodes.C=g.parseCodes.c;return g}());Ext.Function=(function(){var b=0,m,e=[],n=[],i=0,j={},h=window,d=Ext.global,g=!!(d.setImmediate&&d.clearImmediate),l=h.requestAnimationFrame||h.webkitRequestAnimationFrame||h.mozRequestAnimationFrame||h.oRequestAnimationFrame||function(r){var o=Ext.now(),p=Math.max(0,16-(o-b)),q=h.setTimeout(function(){r(o+p)},p);b=o+p;return q},c=function(){var o=e.length,r,p,q;m=null;for(p=0;p<o;p++){q=e[p];r=q[3];if(j[r]){q[0].apply(q[1]||d,q[2]||n);delete j[r]}}e=e.slice(o)},a=function(){Ext.elevateFunction(c)},k={flexSetter:function(o){return function(q,s){var p,r;if(q!==null){if(typeof q!=="string"){for(p in q){if(q.hasOwnProperty(p)){o.call(this,p,q[p])}}if(Ext.enumerables){for(r=Ext.enumerables.length;r--;){p=Ext.enumerables[r];if(q.hasOwnProperty(p)){o.call(this,p,q[p])}}}}else{o.call(this,q,s)}}return this}},bind:function(r,q,p,o){if(arguments.length===2){return function(){return r.apply(q,arguments)}}var t=r,s=Array.prototype.slice;return function(){var u=p||arguments;if(o===true){u=s.call(arguments,0);u=u.concat(p)}else{if(typeof o==="number"){u=s.call(arguments,0);Ext.Array.insert(u,o,p)}}return t.apply(q||d,u)}},bindCallback:function(s,r,q,p,o){return function(){var t=Ext.Array.slice(arguments);return Ext.callback(s,r,q?q.concat(t):t,p,o)}},pass:function(q,o,p){if(!Ext.isArray(o)){if(Ext.isIterable(o)){o=Ext.Array.clone(o)}else{o=o!==undefined?[o]:[]}}return function(){var r=o.slice();r.push.apply(r,arguments);return q.apply(p||this,r)}},alias:function(p,o){return function(){return p[o].apply(p,arguments)}},clone:function(o){return function(){return o.apply(this,arguments)}},createInterceptor:function(r,q,p,o){if(!Ext.isFunction(q)){return r}else{o=Ext.isDefined(o)?o:null;return function(){var t=this,s=arguments;return(q.apply(p||t||d,s)!==false)?r.apply(t||d,s):o}}},createDelayed:function(s,q,r,p,o){if(r||p){s=Ext.Function.bind(s,r,p,o)}return function(){var u=this,t=Array.prototype.slice.call(arguments);setTimeout(function(){if(Ext.elevateFunction){Ext.elevateFunction(s,u,t)}else{s.apply(u,t)}},q)}},defer:function(s,q,r,p,o){s=Ext.Function.bind(s,r,p,o);if(q>0){return setTimeout(function(){if(Ext.elevateFunction){Ext.elevateFunction(s)}else{s()}},q)}s();return 0},interval:function(s,q,r,p,o){s=Ext.Function.bind(s,r,p,o);return setInterval(function(){if(Ext.elevateFunction){Ext.elevateFunction(s)}else{s()}},q)},createSequence:function(p,q,o){if(!q){return p}else{return function(){var r=p.apply(this,arguments);q.apply(o||this,arguments);return r}}},createBuffered:function(s,p,r,q){var o;return function(){var u=q||Array.prototype.slice.call(arguments,0),t=r||this;if(o){clearTimeout(o)}o=setTimeout(function(){if(Ext.elevateFunction){Ext.elevateFunction(s,t,u)}else{s.apply(t,u)}},p)}},createAnimationFrame:function(r,q,p,s){var o;s=s||3;return function(){var t=p||Array.prototype.slice.call(arguments,0);q=q||this;if(s===3&&o){k.cancelAnimationFrame(o)}if((s&1)||!o){o=k.requestAnimationFrame(function(){o=null;r.apply(q,t)})}}},requestAnimationFrame:function(r,q,o){var s=++i,p=Array.prototype.slice.call(arguments,0);p[3]=s;j[s]=1;e.push(p);if(!m){m=l(Ext.elevateFunction?a:c)}return s},cancelAnimationFrame:function(o){delete j[o]},createThrottled:function(s,p,r){var t=0,o,q,v,u=function(){if(Ext.elevateFunction){Ext.elevateFunction(s,r,q)}else{s.apply(r,q)}t=Ext.now();v=null};return function(){if(!r){r=this}o=Ext.now()-t;q=arguments;if(o>=p){clearTimeout(v);u()}else{if(!v){v=Ext.defer(u,p-o)}}}},createBarrier:function(q,p,o){return function(){if(!--q){p.apply(o,arguments)}}},interceptBefore:function(p,o,r,q){var s=p[o]||Ext.emptyFn;return(p[o]=function(){var t=r.apply(q||this,arguments);s.apply(this,arguments);return t})},interceptAfter:function(p,o,r,q){var s=p[o]||Ext.emptyFn;return(p[o]=function(){s.apply(this,arguments);return r.apply(q||this,arguments)})},interceptAfterOnce:function(q,p,s,r){var t=q[p],o;o=function(){var u;if(t){t.apply(this,arguments)}u=s.apply(r||this,arguments);q[p]=t;q=p=s=r=t=o=null;return u};q[p]=o;return o},makeCallback:function(p,o){return function(){return o[p].apply(o,arguments)}},memoize:function(r,q,o){var p={},s=o&&Ext.isFunction(o);return function(u){var t=s?o.apply(q,arguments):u;if(!(t in p)){p[t]=r.apply(q,arguments)}return p[t]}}};Ext.asap=g?function(p,o,q){if(o!=null||q!=null){p=k.bind(p,o,q)}return setImmediate(function(){if(Ext.elevateFunction){Ext.elevateFunction(p)}else{p()}})}:function(p,o,q){if(o!=null||q!=null){p=k.bind(p,o,q)}return setTimeout(function(){if(Ext.elevateFunction){Ext.elevateFunction(p)}else{p()}},0,true)},Ext.asapCancel=g?function(o){clearImmediate(o)}:function(o){clearTimeout(o)};Ext.defer=k.defer;Ext.interval=k.interval;Ext.pass=k.pass;Ext.bind=k.bind;Ext.deferCallback=k.requestAnimationFrame;return k})();Ext.Number=(new function(){var d=this,c=(0.9).toFixed()!=="1",b=Math,a={count:false,inclusive:false,wrap:true};Ext.apply(d,{MIN_SAFE_INTEGER:Number.MIN_SAFE_INTEGER||-(b.pow(2,53)-1),MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER||b.pow(2,53)-1,Clip:{DEFAULT:a,COUNT:Ext.applyIf({count:true},a),INCLUSIVE:Ext.applyIf({inclusive:true},a),NOWRAP:Ext.applyIf({wrap:false},a)},clipIndices:function(m,n,h){h=h||a;var g=0,l=h.wrap,k,e,j;n=n||[];for(j=0;j<2;++j){k=e;e=n[j];if(e==null){e=g}else{if(j&&h.count){e+=k;e=(e>m)?m:e}else{if(l){e=(e<0)?(m+e):e}if(j&&h.inclusive){++e}e=(e<0)?0:((e>m)?m:e)}}g=m}n[0]=k;n[1]=(e<k)?k:e;return n},constrain:function(i,h,g){var e=parseFloat(i);if(h===null){h=i}if(g===null){g=i}return(e<h)?h:((e>g)?g:e)},snap:function(i,g,h,j){var e;if(i===undefined||i<h){return h||0}if(g){e=i%g;if(e!==0){i-=e;if(e*2>=g){i+=g}else{if(e*2<-g){i-=g}}}}return d.constrain(i,h,j)},snapInRange:function(i,e,h,j){var g;h=(h||0);if(i===undefined||i<h){return h}if(e&&(g=((i-h)%e))){i-=g;g*=2;if(g>=e){i+=e}}if(j!==undefined){if(i>(j=d.snapInRange(j,e,h))){i=j}}return i},roundToNearest:function(g,e){e=e||1;return e*b.round(g/e)},sign:b.sign||function(e){e=+e;if(e===0||isNaN(e)){return e}return(e>0)?1:-1},log10:b.log10||function(e){return b.log(e)*b.LOG10E},isEqual:function(g,e,h){return b.abs(g-e)<h},isFinite:Number.isFinite||function(e){return typeof e==="number"&&isFinite(e)},toFixed:c?function(h,e){e=e||0;var g=b.pow(10,e);return(b.round(h*g)/g).toFixed(e)}:function(g,e){return g.toFixed(e)},from:function(g,e){if(isFinite(g)){g=parseFloat(g)}return !isNaN(g)?g:e},randomInt:function(g,e){return b.floor(b.random()*(e-g+1)+g)},correctFloat:function(e){return parseFloat(e.toPrecision(14))}});Ext.num=function(){return d.from.apply(this,arguments)}}());(function(){var d=function(){},b=/^\?/,c=/(\[):?([^\]]*)\]/g,a=/^([^\[]+)/,g=/\+/g,e=Ext.Object={chain:Object.create||function(i){d.prototype=i;var h=new d();d.prototype=null;return h},clear:function(h){for(var i in h){delete h[i]}return h},freeze:Object.freeze?function(j,h){if(j&&typeof j==="object"&&!Object.isFrozen(j)){Object.freeze(j);if(h){for(var i in j){e.freeze(j[i],h)}}}return j}:Ext.identityFn,toQueryObjects:function(k,o,j){var h=e.toQueryObjects,n=[],l,m;if(Ext.isArray(o)){for(l=0,m=o.length;l<m;l++){if(j){n=n.concat(h(k+"["+l+"]",o[l],true))}else{n.push({name:k,value:o[l]})}}}else{if(Ext.isObject(o)){for(l in o){if(o.hasOwnProperty(l)){if(j){n=n.concat(h(k+"["+l+"]",o[l],true))}else{n.push({name:k,value:o[l]})}}}}else{n.push({name:k,value:o})}}return n},toQueryString:function(m,k){var n=[],l=[],p,o,q,h,r;for(p in m){if(m.hasOwnProperty(p)){n=n.concat(e.toQueryObjects(p,m[p],k))}}for(o=0,q=n.length;o<q;o++){h=n[o];r=h.value;if(Ext.isEmpty(r)){r=""}else{if(Ext.isDate(r)){r=Ext.Date.toString(r)}}l.push(encodeURIComponent(h.name)+"="+encodeURIComponent(String(r)))}return l.join("&")},fromQueryString:function(k,v){var q=k.replace(b,"").split("&"),y={},w,o,A,r,u,m,s,t,h,n,x,p,z,l;for(u=0,m=q.length;u<m;u++){s=q[u];if(s.length>0){o=s.split("=");A=o[0];A=A.replace(g,"%20");A=decodeURIComponent(A);r=o[1];if(r!==undefined){r=r.replace(g,"%20");r=decodeURIComponent(r)}else{r=""}if(!v){if(y.hasOwnProperty(A)){if(!Ext.isArray(y[A])){y[A]=[y[A]]}y[A].push(r)}else{y[A]=r}}else{n=A.match(c);x=A.match(a);A=x[0];p=[];if(n===null){y[A]=r;continue}for(t=0,h=n.length;t<h;t++){z=n[t];z=(z.length===2)?"":z.substring(1,z.length-1);p.push(z)}p.unshift(A);w=y;for(t=0,h=p.length;t<h;t++){z=p[t];if(t===h-1){if(Ext.isArray(w)&&z===""){w.push(r)}else{w[z]=r}}else{if(w[z]===undefined||typeof w[z]==="string"){l=p[t+1];w[z]=(Ext.isNumeric(l)||l==="")?[]:{}}w=w[z]}}}}}return y},each:function(j,m,l){var h=Ext.enumerables,k,n;if(j){l=l||j;for(n in j){if(j.hasOwnProperty(n)){if(m.call(l,n,j[n],j)===false){return}}}if(h){for(k=h.length;k--;){if(j.hasOwnProperty(n=h[k])){if(m.call(l,n,j[n],j)===false){return}}}}}},eachValue:function(j,m,l){var h=Ext.enumerables,k,n;l=l||j;for(n in j){if(j.hasOwnProperty(n)){if(m.call(l,j[n])===false){return}}}if(h){for(k=h.length;k--;){if(j.hasOwnProperty(n=h[k])){if(m.call(l,j[n])===false){return}}}}},merge:function(o){var m=1,n=arguments.length,h=e.merge,k=Ext.clone,l,q,p,j;for(;m<n;m++){l=arguments[m];for(q in l){p=l[q];if(p&&p.constructor===Object){j=o[q];if(j&&j.constructor===Object){h(j,p)}else{o[q]=k(p)}}else{o[q]=p}}}return o},mergeIf:function(h){var m=1,n=arguments.length,k=Ext.clone,j,l,o;for(;m<n;m++){j=arguments[m];for(l in j){if(!(l in h)){o=j[l];if(o&&o.constructor===Object){h[l]=k(o)}else{h[l]=o}}}}return h},getAllKeys:function(h){var i=[],j;for(j in h){i.push(j)}return i},getKey:function(h,j){for(var i in h){if(h.hasOwnProperty(i)&&h[i]===j){return i}}return null},getValues:function(i){var h=[],j;for(j in i){if(i.hasOwnProperty(j)){h.push(i[j])}}return h},getKeys:(typeof Object.keys=="function")?function(h){if(!h){return[]}return Object.keys(h)}:function(h){var i=[],j;for(j in h){if(h.hasOwnProperty(j)){i.push(j)}}return i},getSize:function(h){var i=0,j;for(j in h){if(h.hasOwnProperty(j)){i++}}return i},isEmpty:function(h){for(var i in h){if(h.hasOwnProperty(i)){return false}}return true},equals:(function(){var h=function(k,j){var i;for(i in k){if(k.hasOwnProperty(i)){if(k[i]!==j[i]){return false}}}return true};return function(j,i){if(j===i){return true}if(j&&i){return h(j,i)&&h(i,j)}else{if(!j&&!i){return j===i}else{return false}}}})(),fork:function(k){var h,i,j;if(k&&k.constructor===Object){h=e.chain(k);for(i in k){j=k[i];if(j){if(j.constructor===Object){h[i]=e.fork(j)}else{if(j instanceof Array){h[i]=Ext.Array.clone(j)}}}}}else{h=k}return h},defineProperty:("defineProperty" in Object)?Object.defineProperty:function(i,h,j){if(!Object.prototype.__defineGetter__){return}if(j.get){i.__defineGetter__(h,j.get)}if(j.set){i.__defineSetter__(h,j.set)}},classify:function(k){var j=k,m=[],i={},h=function(){var o=0,p=m.length,q;for(;o<p;o++){q=m[o];this[q]=new i[q]()}},l,n;for(l in k){if(k.hasOwnProperty(l)){n=k[l];if(n&&n.constructor===Object){m.push(l);i[l]=e.classify(n)}}}h.prototype=j;return h}};Ext.merge=Ext.Object.merge;Ext.mergeIf=Ext.Object.mergeIf}());Ext.apply(Ext,{_namedScopes:{"this":{isThis:1},controller:{isController:1},self:{isSelf:1},"self.controller":{isSelf:1,isController:1}},escapeId:(function(){var c=/^[a-zA-Z_][a-zA-Z0-9_\-]*$/i,d=/([\W]{1})/g,b=/^(\d)/g,a=function(h,g){return"\\"+g},e=function(h,g){return"\\00"+g.charCodeAt(0).toString(16)+" "};return function(g){return c.test(g)?g:g.replace(d,a).replace(b,e)}}()),callback:function(i,g,d,c,b,h){if(!i){return}var e=(g in Ext._namedScopes);if(i.charAt){if((!g||e)&&b){g=b.resolveListenerScope(e?g:h)}i=g[i]}else{if(e){g=h||b}else{if(!g){g=b}}}var a;if(i&&Ext.isFunction(i)){g=g||Ext.global;if(c){Ext.defer(i,c,g,d)}else{if(Ext.elevateFunction){a=Ext.elevateFunction(i,g,d)}else{if(d){a=i.apply(g,d)}else{a=i.call(g)}}}}return a},coerce:function(e,d){var c=Ext.typeOf(e),b=Ext.typeOf(d),a=typeof e==="string";if(c!==b){switch(b){case"string":return String(e);case"number":return Number(e);case"boolean":return a&&(!e||e==="false"||e==="0")?false:Boolean(e);case"null":return a&&(!e||e==="null")?null:false;case"undefined":return a&&(!e||e==="undefined")?undefined:false;case"date":return a&&isNaN(e)?Ext.Date.parse(e,Ext.Date.defaultFormat):Date(Number(e))}}return e},copyTo:function(b,d,g,e){if(typeof g==="string"){g=g.split(Ext.propertyNameSplitRe)}for(var a,c=0,h=g?g.length:0;c<h;c++){a=g[c];if(e||d.hasOwnProperty(a)){b[a]=d[a]}}return b},copy:function(b,d,g,e){if(typeof g==="string"){g=g.split(Ext.propertyNameSplitRe)}for(var a,c=0,h=g?g.length:0;c<h;c++){a=g[c];if(d.hasOwnProperty(a)||(e&&a in d)){b[a]=d[a]}}return b},propertyNameSplitRe:/[,;\s]+/,copyToIf:function(a,d,e){if(typeof e==="string"){e=e.split(Ext.propertyNameSplitRe)}for(var b,c=0,g=e?e.length:0;c<g;c++){b=e[c];if(a[b]===undefined){a[b]=d[b]}}return a},copyIf:function(a,d,e){if(typeof e==="string"){e=e.split(Ext.propertyNameSplitRe)}for(var b,c=0,g=e?e.length:0;c<g;c++){b=e[c];if(!(b in a)&&(b in d)){a[b]=d[b]}}return a},extend:(function(){var a=Object.prototype.constructor,b=function(d){var c;for(c in d){if(!d.hasOwnProperty(c)){continue}this[c]=d[c]}};return function(c,i,g){if(Ext.isObject(i)){g=i;i=c;c=g.constructor!==a?g.constructor:function(){i.apply(this,arguments)}}var e=function(){},d,h=i.prototype;e.prototype=h;d=c.prototype=new e();d.constructor=c;c.superclass=h;if(h.constructor===a){h.constructor=i}c.override=function(j){Ext.override(c,j)};d.override=b;d.proto=d;c.override(g);c.extend=function(j){return Ext.extend(c,j)};return c}}()),iterate:function(a,c,b){if(Ext.isEmpty(a)){return}if(b===undefined){b=a}if(Ext.isIterable(a)){Ext.Array.each.call(Ext.Array,a,c,b)}else{Ext.Object.each.call(Ext.Object,a,c,b)}},_resourcePoolRe:/^[<]([^<>@:]*)(?:[@]([^<>@:]+))?[>](.+)$/,resolveResource:function(c){var b=c,a;if(c&&c.charAt(0)==="<"){a=Ext._resourcePoolRe.exec(c);if(a){b=Ext.getResourcePath(a[3],a[1],a[2])}}return b},urlEncode:function(){var a=Ext.Array.from(arguments),b="";if(Ext.isString(a[1])){b=a[1]+"&";a[1]=false}return b+Ext.Object.toQueryString.apply(Ext.Object,a)},urlDecode:function(){return Ext.Object.fromQueryString.apply(Ext.Object,arguments)},getScrollbarSize:function(c){var b=Ext._scrollbarSize;if(c||!b){var a=document.body,d=document.createElement("div");d.style.width=d.style.height="100px";d.style.overflow="scroll";d.style.position="absolute";a.appendChild(d);Ext._scrollbarSize=b={width:d.offsetWidth-d.clientWidth,height:d.offsetHeight-d.clientHeight};a.removeChild(d)}return b},typeOf:(function(){var a=/\S/,c=Object.prototype.toString,d={number:1,string:1,"boolean":1,"undefined":1},b={"[object Array]":"array","[object Date]":"date","[object Boolean]":"boolean","[object Number]":"number","[object RegExp]":"regexp"};return function(h){if(h===null){return"null"}var g=typeof h,e,i;if(d[g]){return g}e=b[i=c.call(h)];if(e){return e}if(g==="function"){return"function"}if(g==="object"){if(h.nodeType!==undefined){if(h.nodeType===3){return a.test(h.nodeValue)?"textnode":"whitespace"}else{return"element"}}return"object"}return i}}()),factory:function(b,e,a,g){var d=Ext.ClassManager,c;if(!b||b.isInstance){if(a&&a!==b){a.destroy()}return b}if(g){if(typeof b==="string"){return d.instantiateByAlias(g+"."+b)}else{if(Ext.isObject(b)&&"type" in b){return d.instantiateByAlias(g+"."+b.type,b)}}}if(b===true){return a||Ext.create(e)}if("xtype" in b){c=d.instantiateByAlias("widget."+b.xtype,b)}else{if("xclass" in b){c=Ext.create(b.xclass,b)}}if(c){if(a){a.destroy()}return c}if(a){return a.setConfig(b)}return Ext.create(e,b)},log:(function(){var a=function(){};a.info=a.warn=a.error=Ext.emptyFn;return a}())});(function(){var d=[""],i=/([^\d\.])/,b=/[^\d]/g,a=/[\-+]/g,h=/\s/g,c=/_/g,g={classic:1,modern:1},e;Ext.Version=e=function(r,n){var s=this,l=s.padModes,j,p,m,o,t,k,q;if(r.isVersion){r=r.version}s.version=q=String(r).toLowerCase().replace(c,".").replace(a,"");j=q.charAt(0);if(j in l){q=q.substring(1);m=l[j]}else{m=n?l[n]:0}s.pad=m;k=q.search(i);s.shortVersion=q;if(k!==-1){s.release=t=q.substr(k,r.length);s.shortVersion=q.substr(0,k);t=e.releaseValueMap[t]||t}s.releaseValue=t||m;s.shortVersion=s.shortVersion.replace(b,"");s.parts=o=q.split(".");for(p=o.length;p--;){o[p]=parseInt(o[p],10)}if(m===Infinity){o.push(m)}s.major=o[0]||m;s.minor=o[1]||m;s.patch=o[2]||m;s.build=o[3]||m;return s};e.prototype={isVersion:true,padModes:{"~":NaN,"^":Infinity},release:"",compareTo:function(t){var u=this,n=u.pad,r=u.parts,v=r.length,m=t.isVersion?t:new e(t),k=m.pad,q=m.parts,p=q.length,j=Math.max(v,p),o,l,s;for(o=0;o<j;o++){l=(o<v)?r[o]:n;s=(o<p)?q[o]:k;if(l<s){return -1}if(l>s){return 1}}l=u.releaseValue;s=m.releaseValue;if(l<s){return -1}if(l>s){return 1}return 0},toString:function(){return this.version},valueOf:function(){return this.version},getMajor:function(){return this.major},getMinor:function(){return this.minor},getPatch:function(){return this.patch},getBuild:function(){return this.build},getRelease:function(){return this.release},getReleaseValue:function(){return this.releaseValue},isGreaterThan:function(j){return this.compareTo(j)>0},isGreaterThanOrEqual:function(j){return this.compareTo(j)>=0},isLessThan:function(j){return this.compareTo(j)<0},isLessThanOrEqual:function(j){return this.compareTo(j)<=0},equals:function(j){return this.compareTo(j)===0},match:function(j){j=String(j);return this.version.substr(0,j.length)===j},toArray:function(){var j=this;return[j.getMajor(),j.getMinor(),j.getPatch(),j.getBuild(),j.getRelease()]},getShortVersion:function(){return this.shortVersion},gt:function(j){return this.compareTo(j)>0},lt:function(j){return this.compareTo(j)<0},gtEq:function(j){return this.compareTo(j)>=0},ltEq:function(j){return this.compareTo(j)<=0}};Ext.apply(e,{aliases:{from:{extjs:"ext",core:"core",touch:"modern"},to:{ext:["extjs"],core:["core"],modern:["touch"]}},releaseValueMap:{dev:-6,alpha:-5,a:-5,beta:-4,b:-4,rc:-3,"#":-2,p:-1,pl:-1},getComponentValue:function(j){return !j?0:(isNaN(j)?this.releaseValueMap[j]||j:parseInt(j,10))},compare:function(l,k){var j=l.isVersion?l:new e(l);return j.compareTo(k)},set:function(o,m,l){var k=e.aliases.to[m],j=l.isVersion?l:new e(l),n;o[m]=j;if(k){for(n=k.length;n-->0;){o[k[n]]=j}}return j}});Ext.apply(Ext,{compatVersions:{},versions:{},lastRegisteredVersion:null,getCompatVersion:function(k){var j=Ext.compatVersions,l;if(!k){l=j.ext||j.touch||j.core}else{l=j[e.aliases.from[k]||k]}return l||Ext.getVersion(k)},setCompatVersion:function(k,j){e.set(Ext.compatVersions,k,j)},setVersion:function(k,j){if(k in g){Ext.toolkit=k}Ext.lastRegisteredVersion=e.set(Ext.versions,k,j);return this},getVersion:function(k){var j=Ext.versions;if(!k){return j.ext||j.touch||j.core}return j[e.aliases.from[k]||k]},checkVersion:function(p,x){var t=Ext.isArray(p),l=e.aliases.from,y=t?p:d,k=y.length,m=Ext.versions,w=m.ext||m.touch,q,v,s,n,o,j,z,r,u;if(!t){d[0]=p}for(q=0;q<k;++q){if(!Ext.isString(z=y[q])){s=Ext.checkVersion(z.and||z.or,!z.or);if(z.not){s=!s}}else{if(z.indexOf(" ")>=0){z=z.replace(h,"")}v=z.indexOf("@");if(v<0){r=z;u=w}else{j=z.substring(0,v);if(!(u=m[l[j]||j])){if(x){return false}continue}r=z.substring(v+1)}v=r.indexOf("-");if(v<0){if(r.charAt(v=r.length-1)==="+"){n=r.substring(0,v);o=null}else{n=o=r}}else{if(v>0){n=r.substring(0,v);o=r.substring(v+1)}else{n=null;o=r.substring(v+1)}}s=true;if(n){n=new e(n,"~");s=n.ltEq(u)}if(s&&o){o=new e(o,"~");s=o.gtEq(u)}}if(s){if(!x){return true}}else{if(x){return false}}}return !!x},deprecate:function(j,l,m,k){if(e.compare(Ext.getVersion(j),l)<1){m.call(k)}}})}());(function(d){var e=(d&&d.packages)||{},c=d&&d.compatibility,b,a;for(b in e){a=e[b];Ext.setVersion(b,a.version)}if(c){if(Ext.isString(c)){Ext.setCompatVersion("core",c)}else{for(b in c){Ext.setCompatVersion(b,c[b])}}}if(!e.ext&&!e.touch){Ext.setVersion("ext","6.2.0.981");Ext.setVersion("core","6.2.0.981")}})(Ext.manifest);Ext.Config=function(b){var c=this,a=b.charAt(0).toUpperCase()+b.substr(1);c.name=b;c.names={internal:"_"+b,initializing:"is"+a+"Initializing",apply:"apply"+a,update:"update"+a,get:"get"+a,set:"set"+a,initGet:"initGet"+a,changeEvent:b.toLowerCase()+"change"};c.root=c};Ext.Config.map={};Ext.Config.get=function(b){var c=Ext.Config.map,a=c[b]||(c[b]=new Ext.Config(b));return a};Ext.Config.prototype={self:Ext.Config,isConfig:true,getGetter:function(){return this.getter||(this.root.getter=this.makeGetter())},getInitGetter:function(){return this.initGetter||(this.root.initGetter=this.makeInitGetter())},getSetter:function(){return this.setter||(this.root.setter=this.makeSetter())},getEventedSetter:function(){return this.eventedSetter||(this.root.eventedSetter=this.makeEventedSetter())},getInternalName:function(a){return a.$configPrefixed?this.names.internal:this.name},mergeNew:function(g,b,e,d){var a,c;if(!b){a=g}else{if(!g){a=b}else{a=Ext.Object.chain(b);for(c in g){if(!d||!(c in a)){a[c]=g[c]}}}}return a},mergeSets:function(e,c,a){var b=c?Ext.Object.chain(c):{},d,g;if(e instanceof Array){for(d=e.length;d--;){g=e[d];if(!a||!(g in b)){b[g]=true}}}else{if(e){if(e.constructor===Object){for(d in e){g=e[d];if(!a||!(d in b)){b[d]=g}}}else{if(!a||!(e in b)){b[e]=true}}}}return b},makeGetter:function(){var a=this.name,b=this.names.internal;return function(){var c=this.$configPrefixed?b:a;return this[c]}},makeInitGetter:function(){var a=this.name,e=this.names,d=e.set,b=e.get,c=e.initializing;return function(){var g=this;g[c]=true;delete g[b];g[d](g.config[a]);delete g[c];return g[b].apply(g,arguments)}},makeSetter:function(){var a=this.name,e=this.names,c=e.internal,d=e.get,b=e.apply,h=e.update,g;g=function(l){var k=this,j=k.$configPrefixed?c:a,i=k[j];delete k[d];if(!k[b]||(l=k[b](l,i))!==undefined){if(l!==(i=k[j])){k[j]=l;if(k[h]){k[h](l,i)}}}return k};g.$isDefault=true;return g},makeEventedSetter:function(){var b=this.name,h=this.names,j=h.internal,a=h.get,i=h.apply,d=h.update,g=h.changeEvent,e=function(m,n,k,l){m[l]=n;if(m[d]){m[d](n,k)}},c;c=function(n){var m=this,l=m.$configPrefixed?j:b,k=m[l];delete m[a];if(!m[i]||(n=m[i](n,k))!==undefined){if(n!==(k=m[l])){if(m.isConfiguring){m[l]=n;if(m[d]){m[d](n,k)}}else{m.fireEventedAction(g,[m,n,k],e,m,[m,n,k,l])}}}return m};c.$isDefault=true;return c}};(function(){var b=Ext.Config,c=b.map,a=Ext.Object;Ext.Configurator=function(d){var g=this,e=d.prototype,h=d.superclass?d.superclass.self.$config:null;g.cls=d;g.superCfg=h;if(h){g.configs=a.chain(h.configs);g.cachedConfigs=a.chain(h.cachedConfigs);g.initMap=a.chain(h.initMap);g.values=a.chain(h.values);g.needsFork=h.needsFork}else{g.configs={};g.cachedConfigs={};g.initMap={};g.values={}}e.config=e.defaultConfig=g.values;d.$config=g};Ext.Configurator.prototype={self:Ext.Configurator,needsFork:false,initList:null,add:function(u,d){var v=this,i=v.cls,l=v.configs,w=v.cachedConfigs,n=v.initMap,q=i.prototype,x=d&&d.$config.configs,e=v.values,k,m,t,g,h,j,y,p,o,r;for(y in u){r=u[y];k=r&&r.constructor===Object;m=k&&"$value" in r?r:null;t=false;if(m){t=!!m.cached;r=m.$value;k=r&&r.constructor===Object}g=m&&m.merge;h=l[y];if(h){if(d){g=h.merge;if(!g){continue}m=null}else{g=g||h.merge}j=e[y];if(g){r=g.call(h,r,j,i,d)}else{if(k){if(j&&j.constructor===Object){r=a.merge({},j,r)}}}}else{if(x){h=x[y];m=null}else{h=b.get(y)}l[y]=h;if(h.cached||t){w[y]=true}p=h.names;if(!q[o=p.get]){q[o]=h.getter||h.getGetter()}if(!q[o=p.set]){q[o]=(m&&m.evented)?(h.eventedSetter||h.getEventedSetter()):(h.setter||h.getSetter())}}if(m){if(h.owner!==i){l[y]=h=Ext.Object.chain(h);h.owner=i}Ext.apply(h,m);delete h.$value}if(!v.needsFork&&r&&(r.constructor===Object||r instanceof Array)){v.needsFork=true}if(r!==null){n[y]=true}else{if(q.$configPrefixed){q[l[y].names.internal]=null}else{q[l[y].name]=null}if(y in n){n[y]=false}}e[y]=r}},configure:function(y,m){var A=this,l=A.configs,n=A.initMap,p=A.initListMap,w=A.initList,q=A.cls.prototype,e=A.values,r=0,t=!w,g,h,j,v,u,k,o,B,s,z,x,d;e=A.needsFork?a.fork(e):a.chain(e);y.isConfiguring=true;if(t){A.initList=w=[];A.initListMap=p={};y.isFirstInstance=true;for(B in n){h=l[B];z=h.cached;if(n[B]){o=h.names;s=e[B];if(!q[o.set].$isDefault||q[o.apply]||q[o.update]||typeof s==="object"){if(z){(g||(g=[])).push(h)}else{w.push(h);p[B]=true}y[o.get]=h.initGetter||h.getInitGetter()}else{q[h.getInternalName(q)]=s}}else{if(z){q[h.getInternalName(q)]=undefined}}}}k=g&&g.length;if(k){for(v=0;v<k;++v){u=g[v].getInternalName(q);y[u]=null}for(v=0;v<k;++v){o=(h=g[v]).names;j=o.get;if(y.hasOwnProperty(j)){y[o.set](e[h.name]);delete y[j]}}for(v=0;v<k;++v){u=g[v].getInternalName(q);q[u]=y[u];delete y[u]}}if(m&&m.platformConfig){m=A.resolvePlatformConfig(y,m)}if(t){if(y.afterCachedConfig&&!y.afterCachedConfig.$nullFn){y.afterCachedConfig(m)}}y.config=e;for(v=0,k=w.length;v<k;++v){h=w[v];y[h.names.get]=h.initGetter||h.getInitGetter()}if(y.transformInstanceConfig){m=y.transformInstanceConfig(m)}if(m){for(B in m){s=m[B];h=l[B];if(!h){y[B]=s}else{if(!h.lazy){++r}if(!p[B]){y[h.names.get]=h.initGetter||h.getInitGetter()}if(h.merge){s=h.merge(s,e[B],y)}else{if(s&&s.constructor===Object){x=e[B];if(x&&x.constructor===Object){s=a.merge(e[B],s)}else{s=Ext.clone(s,false)}}}}e[B]=s}}if(y.beforeInitConfig&&!y.beforeInitConfig.$nullFn){if(y.beforeInitConfig(m)===false){return}}if(m){for(B in m){if(!r){break}h=l[B];if(h&&!h.lazy){--r;o=h.names;j=o.get;if(y.hasOwnProperty(j)){y[o.set](e[B]);delete y[o.get]}}}}for(v=0,k=w.length;v<k;++v){h=w[v];o=h.names;j=o.get;if(!h.lazy&&y.hasOwnProperty(j)){y[o.set](e[h.name]);delete y[j]}}delete y.isConfiguring},getCurrentConfig:function(e){var d=e.defaultConfig,h={},g;for(g in d){h[g]=e[c[g].names.get]()}return h},merge:function(d,j,h){var l=this.configs,g,k,i,e;for(g in h){k=h[g];e=l[g];if(e){if(e.merge){k=e.merge(k,j[g],d)}else{if(k&&k.constructor===Object){i=j[g];if(i&&i.constructor===Object){k=Ext.Object.merge(i,k)}else{k=Ext.clone(k,false)}}}}j[g]=k}return j},reconfigure:function(s,n,t){var j=s.config,k=[],r=s.$configStrict&&!(t&&t.strict===false),o=this.configs,g=t&&t.defaults,m,q,h,l,e,p,d;for(e in n){if(g&&s.hasOwnProperty(e)){continue}j[e]=n[e];m=o[e];if(m){s[m.names.get]=m.initGetter||m.getInitGetter()}else{d=s.self.prototype[e];if(r){if((typeof d==="function")&&!d.$nullFn){continue}}}k.push(e)}for(h=0,l=k.length;h<l;h++){e=k[h];m=o[e];if(m){p=m.names;q=p.get;if(s.hasOwnProperty(q)){s[p.set](n[e]);delete s[q]}}else{m=c[e]||Ext.Config.get(e);p=m.names;if(s[p.set]){s[p.set](n[e])}else{s[e]=n[e]}}}},resolvePlatformConfig:function(d,l){var j=l&&l.platformConfig,e=l,g,h,k;if(j){h=Ext.getPlatformConfigKeys(j);k=h.length;if(k){e=Ext.merge({},e);for(g=0,k=h.length;g<k;++g){this.merge(d,e,j[h[g]])}}}return e}}}());Ext.Base=(function(c){var b=[],k,m=[],n=function(r,q){var t=this,p,o,s;if(r){o=Ext.Config.map[r];s=o.names.get;if(q&&t.hasOwnProperty(s)){p=t.config[r]}else{p=t[s]()}}else{p=t.getCurrentConfig()}return p},h=function(o){return function(){return this[o].apply(this,arguments)}},a=Ext.Version,j=/^\d/,l={},e={},i=function(){},d=i.prototype,g;Ext.Reaper=g={delay:100,queue:[],timer:null,add:function(o){if(!g.timer){g.timer=Ext.defer(g.tick,g.delay)}g.queue.push(o)},flush:function(){if(g.timer){clearTimeout(g.timer);g.timer=null}var o=g.queue,r=o.length,p,q;g.queue=[];for(p=0;p<r;++p){q=o[p];if(q&&q.$reap){q.$reap()}}},tick:function(){g.timer=null;g.flush()}};Ext.apply(i,{$className:"Ext.Base",$isClass:true,create:function(){return Ext.create.apply(Ext,[this].concat(Array.prototype.slice.call(arguments,0)))},addDeprecations:function(u){var D=this,p=[],r=Ext.getCompatVersion(u.name),C,y,t,z,E,w,B,v,A,F,x,o,s,q;for(y in u){if(j.test(y)){q=new Ext.Version(y);q.deprecations=u[y];p.push(q)}}p.sort(a.compare);for(t=p.length;t--;){C=(q=p[t]).deprecations;E=D.prototype;s=C.statics;w=r&&r.lt(q);if(!w){break}while(C){A=C.methods;if(A){for(F in A){o=A[F];v=null;if(!o){}else{if(Ext.isString(o)){if(w){v=h(o)}}else{z="";if(o.message||o.fn){o=o.fn}B=E.hasOwnProperty(F)&&E[F];if(w&&o){o.$owner=D;o.$name=F;if(B){o.$previous=B}v=o}}}if(v){E[F]=v}}}C=s;s=null;E=D}}},extend:function(r){var s=this,o=r.prototype,q,p,t;q=s.prototype=Ext.Object.chain(o);q.self=s;s.superclass=q.superclass=o;if(!r.$isClass){for(p in d){if(p in q){q[p]=d[p]}}}t=o.$inheritableStatics;if(t){for(p in t){if(!s.hasOwnProperty(p)){s[p]=r[p]}}}if(r.$onExtended){s.$onExtended=r.$onExtended.slice()}s.getConfigurator()},$onExtended:[],triggerExtended:function(){var q=this.$onExtended,p=q.length,o,r;if(p>0){for(o=0;o<p;o++){r=q[o];r.fn.apply(r.scope||this,arguments)}}},onExtended:function(p,o){this.$onExtended.push({fn:p,scope:o});return this},addStatics:function(o){this.addMembers(o,true);return this},addInheritableStatics:function(o){var r=this,q=r.prototype,s=r.$inheritableStatics,p,u,t;if(!s){s=Ext.apply({},q.$inheritableStatics);r.$inheritableStatics=q.$inheritableStatics=s}for(p in o){if(o.hasOwnProperty(p)){u=o[p];t=r[p];if(typeof t==="function"&&!t.$isClass&&!t.$nullFn){u.$previous=t}r[p]=u;s[p]=true}}return r},addMembers:function(s,D,p){var B=this,w=Ext.Function.clone,z=D?B:B.prototype,t=!D&&z.defaultConfig,C=Ext.enumerables,x=s.privates,y,v,A,u,o,q,r;if(x){delete s.privates;if(!D){r=x.statics;delete x.statics}B.addMembers(x,D,q);if(r){B.addMembers(r,true,q)}}for(o in s){if(s.hasOwnProperty(o)){u=s[o];if(typeof u==="function"&&!u.$isClass&&!u.$nullFn){if(u.$owner){u=w(u)}if(z.hasOwnProperty(o)){u.$previous=z[o]}u.$owner=B;u.$name=o}else{if(t&&(o in t)&&!z.config.hasOwnProperty(o)){(y||(y={}))[o]=u;continue}}z[o]=u}}if(y){B.addConfig(y)}if(C){for(v=0,A=C.length;v<A;++v){if(s.hasOwnProperty(o=C[v])){u=s[o];if(u&&!u.$nullFn){if(u.$owner){u=w(u)}u.$owner=B;u.$name=o;if(z.hasOwnProperty(o)){u.$previous=z[o]}}z[o]=u}}}return this},addMember:function(o,p){l[o]=p;this.addMembers(l);delete l[o];return this},borrow:function(u,o){var q=u.prototype,s={},r,t,p;o=Ext.Array.from(o);for(r=0,t=o.length;r<t;r++){p=o[r];s[p]=q[p]}return this.addMembers(s)},override:function(p){var r=this,u=p.statics,t=p.inheritableStatics,q=p.config,o=p.mixins,s=p.cachedConfig;if(u||t||q){p=Ext.apply({},p)}if(u){r.addMembers(u,true);delete p.statics}if(t){r.addInheritableStatics(t);delete p.inheritableStatics}if(p.platformConfig){r.addPlatformConfig(p)}if(q){r.addConfig(q);delete p.config}if(s){r.addCachedConfig(s);delete p.cachedConfig}delete p.mixins;r.addMembers(p);if(o){r.mixin(o)}return r},addPlatformConfig:function(t){var y=this,u=t.platformConfig,q=t.config,z,v,w,r,p,B,o,A,s,x;delete t.platformConfig;r=y.getConfigurator();v=r.configs;B=Ext.getPlatformConfigKeys(u);for(s=0,x=B.length;s<x;++s){w=u[B[s]];p=z=null;for(o in w){A=w[o];if(q&&o in q){(z||(z={}))[o]=A;(p||(p={}))[o]=q[o];delete q[o]}else{if(o in v){(z||(z={}))[o]=A}else{t[o]=A}}}if(p){r.add(p)}if(z){r.add(z)}}},callParent:function(o){var p;return(p=this.callParent.caller)&&(p.$previous||((p=p.$owner?p:p.caller)&&p.$owner.superclass.self[p.$name])).apply(this,o||b)},callSuper:function(o){var p;return(p=this.callSuper.caller)&&((p=p.$owner?p:p.caller)&&p.$owner.superclass.self[p.$name]).apply(this,o||b)},mixin:function(o,q){var v=this,A,x,z,w,r,u,s,o,y,t,p;if(typeof o!=="string"){t=o;if(t instanceof Array){for(r=0,u=t.length;r<u;r++){A=t[r];v.mixin(A.prototype.mixinId||A.$className,A)}}else{for(s in t){v.mixin(s,t[s])}}return}A=q.prototype;x=v.prototype;if(A.onClassMixedIn){A.onClassMixedIn.call(q,v)}if(!x.hasOwnProperty("mixins")){if("mixins" in x){x.mixins=Ext.Object.chain(x.mixins)}else{x.mixins={}}}for(z in A){y=A[z];if(z==="mixins"){Ext.applyIf(x.mixins,y)}else{if(!(z==="mixinId"||z==="config"||z==="$inheritableStatics")&&(x[z]===undefined)){x[z]=y}}}w=A.$inheritableStatics;if(w){p={};for(o in w){if(!v.hasOwnProperty(o)){p[o]=q[o]}}v.addInheritableStatics(p)}if("config" in A){v.addConfig(A.config,q)}x.mixins[o]=A;if(A.afterClassMixedIn){A.afterClassMixedIn.call(q,v)}return v},addConfig:function(p,q){var o=this.$config||this.getConfigurator();o.add(p,q)},addCachedConfig:function(o,q){var r={},p;for(p in o){r[p]={cached:true,$value:o[p]}}this.addConfig(r,q)},getConfigurator:function(){return this.$config||new Ext.Configurator(this)},getName:function(){return Ext.getClassName(this)},createAlias:c(function(p,o){e[p]=function(){return this[o].apply(this,arguments)};this.override(e);delete e[p]})});for(k in i){if(i.hasOwnProperty(k)){m.push(k)}}i.$staticMembers=m;i.getConfigurator();i.addMembers({$className:"Ext.Base",isInstance:true,$configPrefixed:true,$configStrict:true,isConfiguring:false,isFirstInstance:false,destroyed:false,clearPropertiesOnDestroy:true,clearPrototypeOnDestroy:false,statics:function(){var p=this.statics.caller,o=this.self;if(!p){return o}return p.$owner},callParent:function(p){var q,o=(q=this.callParent.caller)&&(q.$previous||((q=q.$owner?q:q.caller)&&q.$owner.superclass[q.$name]));return o.apply(this,p||b)},callSuper:function(p){var q,o=(q=this.callSuper.caller)&&((q=q.$owner?q:q.caller)&&q.$owner.superclass[q.$name]);return o.apply(this,p||b)},self:i,constructor:function(){return this},initConfig:function(q){var p=this,o=p.self.getConfigurator();p.initConfig=Ext.emptyFn;p.initialConfig=q||{};o.configure(p,q);return p},beforeInitConfig:Ext.emptyFn,getConfig:n,setConfig:function(q,s,p){var r=this,o;if(q){if(typeof q==="string"){o={};o[q]=s}else{o=q}r.self.getConfigurator().reconfigure(r,o,p)}return r},getCurrentConfig:function(){var o=this.self.getConfigurator();return o.getCurrentConfig(this)},hasConfig:function(o){return o in this.defaultConfig},getInitialConfig:function(p){var o=this.config;if(!p){return o}return o[p]},$links:null,link:function(p,r){var q=this,o=q.$links||(q.$links={});o[p]=true;q[p]=r;return r},unlink:function(t){var r=this,o,q,p,s;for(o=0,q=t.length;o<q;o++){p=t[o];s=r[p];if(s){if(s.isInstance&&!s.destroyed){s.destroy()}else{if(s.parentNode&&"nodeType" in s){s.parentNode.removeChild(s)}}}r[p]=null}return r},$reap:function(){var q=this,o=q.$noClearOnDestroy,s,r,p;for(s in q){if((!o||!o[s])&&q.hasOwnProperty(s)){r=q[s];p=typeof r;if(p==="object"||(p==="function"&&!r.$noClearOnDestroy)){q[s]=null}}}},destroy:function(){var q=this,p=q.$links,o=q.clearPropertiesOnDestroy;if(p){q.$links=null;q.unlink(Ext.Object.getKeys(p))}q.destroy=Ext.emptyFn;q.isDestroyed=q.destroyed=true;if(o===true){q.$reap()}else{if(o){g.add(q)}}}});d.callOverridden=d.callParent;return i}(Ext.Function.flexSetter));(function(b,a){(Ext.util||(Ext.util={})).Cache=b=function(c){var e=this,d;if(c){Ext.apply(e,c)}e.head=d={key:null,value:null};e.map={};d.next=d.prev=d};b.prototype=a={maxSize:100,count:0,clear:function(){var e=this,c=e.head,d=c.next;c.next=c.prev=c;if(!e.evict.$nullFn){for(;d!==c;d=d.next){e.evict(d.key,d.value)}}e.count=0},each:function(e,d){d=d||this;for(var c=this.head,g=c.next;g!==c;g=g.next){if(e.call(d,g.key,g.value)){break}}},get:function(d){var g=this,c=g.head,h=g.map,e=h[d];if(e){if(e.prev!==c){g.unlinkEntry(e);g.linkEntry(e)}}else{h[d]=e={key:d,value:g.miss.apply(g,arguments)};g.linkEntry(e);++g.count;while(g.count>g.maxSize){g.unlinkEntry(c.prev,true);--g.count}}return e.value},evict:Ext.emptyFn,linkEntry:function(d){var c=this.head,e=c.next;d.next=e;d.prev=c;c.next=d;e.prev=d},unlinkEntry:function(e,g){var c=e.next,d=e.prev;d.next=c;c.prev=d;if(g){this.evict(e.key,e.value)}}};a.destroy=a.clear}());(function(){var d,c=Ext.Base,e=c.$staticMembers,b=function(h,g){return(h.length-g.length)||((h<g)?-1:((h>g)?1:0))};function a(h){function g(){return this.constructor.apply(this,arguments)||null}return g}Ext.Class=d=function(h,i,g){if(typeof h!="function"){g=i;i=h;h=null}if(!i){i={}}h=d.create(h,i);d.process(h,i,g);return h};Ext.apply(d,{makeCtor:a,onBeforeCreated:function(h,i,g){h.addMembers(i);g.onCreated.call(h,h)},create:function(g,k){var j=e.length,h;if(!g){g=a()}while(j--){h=e[j];g[h]=c[h]}return g},process:function(g,o,k){var h=o.preprocessors||d.defaultPreprocessors,r=this.preprocessors,u={onBeforeCreated:this.onBeforeCreated},t=[],v,n,m,s,l,q,p;delete o.preprocessors;g._classHooks=u;for(m=0,s=h.length;m<s;m++){v=h[m];if(typeof v=="string"){v=r[v];n=v.properties;if(n===true){t.push(v.fn)}else{if(n){for(l=0,q=n.length;l<q;l++){p=n[l];if(o.hasOwnProperty(p)){t.push(v.fn);break}}}}}else{t.push(v)}}u.onCreated=k?k:Ext.emptyFn;u.preprocessors=t;this.doProcess(g,o,u)},doProcess:function(h,l,g){var k=this,m=g.preprocessors,i=m.shift(),j=k.doProcess;for(;i;i=m.shift()){if(i.call(k,h,l,g,j)===false){return}}g.onBeforeCreated.apply(k,arguments)},preprocessors:{},registerPreprocessor:function(h,k,i,g,j){if(!g){g="last"}if(!i){i=[h]}this.preprocessors[h]={name:h,properties:i||false,fn:k};this.setDefaultPreprocessorPosition(h,g,j);return this},getPreprocessor:function(g){return this.preprocessors[g]},getPreprocessors:function(){return this.preprocessors},defaultPreprocessors:[],getDefaultPreprocessors:function(){return this.defaultPreprocessors},setDefaultPreprocessors:function(g){this.defaultPreprocessors=Ext.Array.from(g);return this},setDefaultPreprocessorPosition:function(i,k,j){var g=this.defaultPreprocessors,h;if(typeof k=="string"){if(k==="first"){g.unshift(i);return this}else{if(k==="last"){g.push(i);return this}}k=(k==="after")?1:-1}h=Ext.Array.indexOf(g,j);if(h!==-1){Ext.Array.splice(g,Math.max(0,h+k),0,i)}return this}});d.registerPreprocessor("extend",function(h,k,p){var l=Ext.Base,m=l.prototype,n=k.extend,g,o,j;delete k.extend;if(n&&n!==Object){g=n}else{g=l}o=g.prototype;if(!g.$isClass){for(j in m){if(!o[j]){o[j]=m[j]}}}h.extend(g);h.triggerExtended.apply(h,arguments);if(k.onClassExtended){h.onExtended(k.onClassExtended,h);delete k.onClassExtended}},true);d.registerPreprocessor("privates",function(g,j){var i=j.privates,k=i.statics,h=i.privacy||true;delete j.privates;delete i.statics;g.addMembers(i,false,h);if(k){g.addMembers(k,true,h)}});d.registerPreprocessor("statics",function(g,h){g.addStatics(h.statics);delete h.statics});d.registerPreprocessor("inheritableStatics",function(g,h){g.addInheritableStatics(h.inheritableStatics);delete h.inheritableStatics});Ext.createRuleFn=function(g){return new Function("$c","with($c) { try { return ("+g+"); } catch(e) { return false;}}")};Ext.expressionCache=new Ext.util.Cache({miss:Ext.createRuleFn});Ext.ruleKeySortFn=b;Ext.getPlatformConfigKeys=function(i){var h=[],g,j;for(g in i){j=Ext.expressionCache.get(g);if(j(Ext.platformTags)){h.push(g)}}h.sort(b);return h};d.registerPreprocessor("platformConfig",function(h,i,g){h.addPlatformConfig(i)});d.registerPreprocessor("config",function(g,h){if(h.hasOwnProperty("$configPrefixed")){g.prototype.$configPrefixed=h.$configPrefixed}g.addConfig(h.config);delete h.config});d.registerPreprocessor("cachedConfig",function(g,h){if(h.hasOwnProperty("$configPrefixed")){g.prototype.$configPrefixed=h.$configPrefixed}g.addCachedConfig(h.cachedConfig);delete h.cachedConfig});d.registerPreprocessor("mixins",function(j,k,g){var i=k.mixins,h=g.onCreated;delete k.mixins;g.onCreated=function(){g.onCreated=h;j.mixin(i);return g.onCreated.apply(this,arguments)}});Ext.extend=function(i,j,h){if(arguments.length===2&&Ext.isObject(j)){h=j;j=i;i=null}var g;if(!j){throw new Error("[Ext.extend] Attempting to extend from a class which has not been loaded on the page.")}h.extend=j;h.preprocessors=["extend","statics","inheritableStatics","mixins","platformConfig","config"];if(i){g=new d(i,h);g.prototype.constructor=i}else{g=new d(h)}g.prototype.override=function(l){for(var k in l){if(l.hasOwnProperty(k)){this[k]=l[k]}}};return g}}());Ext.Inventory=function(){var a=this;a.names=[];a.paths={};a.alternateToName={};a.aliasToName={};a.nameToAliases={};a.nameToAlternates={};a.nameToPrefix={}};Ext.Inventory.prototype={_array1:[0],prefixes:null,dotRe:/\./g,wildcardRe:/\*/g,addAlias:function(b,a,c){return this.addMapping(b,a,this.aliasToName,this.nameToAliases,c)},addAlternate:function(a,b){return this.addMapping(a,b,this.alternateToName,this.nameToAlternates)},addMapping:function(m,e,g,p,h){var b=m.$className||m,k=b,l=this._array1,o,d,q,j,c,n;if(Ext.isString(b)){k={};k[b]=e}for(q in k){d=k[q];if(Ext.isString(d)){l[0]=d;d=l}c=d.length;n=p[q]||(p[q]=[]);for(j=0;j<c;++j){if(!(o=d[j])){continue}if(g[o]!==q){g[o]=q;n.push(o)}}}},getAliasesByName:function(a){return this.nameToAliases[a]||null},getAlternatesByName:function(a){return this.nameToAlternates[a]||null},getNameByAlias:function(a){return this.aliasToName[a]||""},getNameByAlternate:function(a){return this.alternateToName[a]||""},getNamesByExpression:function(m,a,j){var v=this,s=v.aliasToName,p=v.alternateToName,b=v.nameToAliases,d=v.nameToAlternates,u=j?a:{},l=[],t=Ext.isString(m)?[m]:m,h=t.length,e=v.wildcardRe,c,q,r,k,o,w,g;for(q=0;q<h;++q){if((c=t[q]).indexOf("*")<0){if(!(w=s[c])){if(!(w=p[c])){w=c}}if(!(w in u)&&!(a&&(w in a))){u[w]=1;l.push(w)}}else{g=new RegExp("^"+c.replace(e,"(.*?)")+"$");for(w in b){if(!(w in u)&&!(a&&(w in a))){if(!(k=g.test(w))){o=(r=b[w]).length;while(!k&&o-->0){k=g.test(r[o])}r=d[w];if(r&&!k){o=r.length;while(!k&&o-->0){k=g.test(r[o])}}}if(k){u[w]=1;l.push(w)}}}}}return l},getPath:function(b){var c=this,e=c.paths,a="",d;if(b in e){a=e[b]}else{d=c.nameToPrefix[b]||(c.nameToPrefix[b]=c.getPrefix(b));if(d){b=b.substring(d.length+1);a=e[d];if(a){a+="/"}}a+=b.replace(c.dotRe,"/")+".js"}return a},getPrefix:function(h){if(h in this.paths){return h}else{if(h in this.nameToPrefix){return this.nameToPrefix[h]}}var e=this.getPrefixes(),b=h.length,i,c,a,g,d,k;while(b-->0){i=e[b];if(i){c=h.charAt(b);if(c!=="."){continue}a=h.substring(0,b);for(d=0,k=i.length;d<k;d++){g=i[d];if(g===h.substring(0,b)){return g}}}}return""},getPrefixes:function(){var e=this,g=e.prefixes,j,c,h,b,d,a;if(!g){j=e.names.slice(0);e.prefixes=g=[];for(d=0,a=j.length;d<a;d++){c=j[d];h=c.length;b=g[h]||(g[h]=[]);b.push(c)}}return g},removeName:function(b){var g=this,k=g.aliasToName,m=g.alternateToName,l=g.nameToAliases,e=g.nameToAlternates,c=l[b],h=e[b],d,j;delete l[b];delete e[b];delete g.nameToPrefix[b];if(c){for(d=c.length;d--;){if(b===(j=c[d])){delete k[j]}}}if(h){for(d=h.length;d--;){if(b===(j=h[d])){delete m[j]}}}},resolveName:function(a){var b=this,c;if(!(a in b.nameToAliases)){if(!(c=b.aliasToName[a])){c=b.alternateToName[a]}}return c||a},select:function(e,c){var d=this,g={},b={excludes:g,exclude:function(){d.getNamesByExpression(arguments,g,true);return this}},a;for(a in e){b[a]=d.selectMethod(g,e[a],c||e)}return b},selectMethod:function(d,b,a){var c=this;return function(e){var g=Ext.Array.slice(arguments,1);g.unshift(c.getNamesByExpression(e,d));return b.apply(a,g)}},setPath:Ext.Function.flexSetter(function(a,c){var b=this;b.paths[a]=c;b.names.push(a);b.prefixes=null;b.nameToPrefix={};return b})};Ext.ClassManager=(function(q,l,s,e,o){var b=Ext.Class.makeCtor,h=[],i={Ext:{name:"Ext",value:Ext}},c=Ext.apply(new Ext.Inventory(),{classes:{},classState:{},existCache:{},instantiators:[],isCreated:function(u){if(c.classes[u]||c.existCache[u]){return true}if(!c.lookupName(u,false)){return false}c.triggerCreated(u);return true},createdListeners:[],nameCreatedListeners:{},existsListeners:[],nameExistsListeners:{},overrideMap:{},triggerCreated:function(u,v){c.existCache[u]=v||1;c.classState[u]+=40;c.notify(u,c.createdListeners,c.nameCreatedListeners)},onCreated:function(w,v,u){c.addListener(w,v,u,c.createdListeners,c.nameCreatedListeners)},notify:function(C,E,w){var x=c.getAlternatesByName(C),D=[C],z,B,y,A,v,u;for(z=0,B=E.length;z<B;z++){v=E[z];v.fn.call(v.scope,C)}while(D){for(z=0,B=D.length;z<B;z++){u=D[z];E=w[u];if(E){for(y=0,A=E.length;y<A;y++){v=E[y];v.fn.call(v.scope,u)}delete w[u]}}D=x;x=null}},addListener:function(z,y,x,w,v){if(Ext.isArray(x)){z=Ext.Function.createBarrier(x.length,z,y);for(u=0;u<x.length;u++){this.addListener(z,null,x[u],w,v)}return}var u,A={fn:z,scope:y};if(x){if(this.isCreated(x)){z.call(y,x);return}if(!v[x]){v[x]=[]}v[x].push(A)}else{w.push(A)}},$namespaceCache:i,addRootNamespaces:function(v){for(var u in v){i[u]={name:u,value:v[u]}}},clearNamespaceCache:function(){h.length=0;for(var u in i){if(!i[u].value){delete i[u]}}},getNamespaceEntry:function(v){if(typeof v!=="string"){return v}var w=i[v],u;if(!w){u=v.lastIndexOf(".");if(u<0){w={name:v}}else{w={name:v.substring(u+1),parent:c.getNamespaceEntry(v.substring(0,u))}}i[v]=w}return w},lookupName:function(x,z){var y=c.getNamespaceEntry(x),w=Ext.global,u=0,A,v;for(A=y;A;A=A.parent){h[u++]=A}while(w&&u-->0){A=h[u];v=w;w=A.value||w[A.name];if(!w&&z){v[A.name]=w={}}}return w},setNamespace:function(v,x){var w=c.getNamespaceEntry(v),u=Ext.global;if(w.parent){u=c.lookupName(w.parent,true)}u[w.name]=x;return x},setXType:function(u,B){var w=u.$className,A=w?u:c.get(w=u),x=A.prototype,y=x.xtypes,v=x.xtypesChain,z=x.xtypesMap;if(!x.hasOwnProperty("xtypes")){x.xtypes=y=[];x.xtypesChain=v=v?v.slice(0):[];x.xtypesMap=z=Ext.apply({},z)}c.addAlias(w,"widget."+B,true);y.push(B);v.push(B);z[B]=true},set:function(u,w){var v=c.getName(w);c.classes[u]=c.setNamespace(u,w);if(v&&v!==u){c.addAlternate(v,u)}return c},get:function(u){return c.classes[u]||c.lookupName(u,false)},addNameAliasMappings:function(u){c.addAlias(u)},addNameAlternateMappings:function(u){c.addAlternate(u)},getByAlias:function(u){return c.get(c.getNameByAlias(u))},getByConfig:function(v,w){var x=v.xclass,u;if(x){u=x}else{u=v.xtype;if(u){w="widget."}else{u=v.type}u=c.getNameByAlias(w+u)}return c.get(u)},getName:function(u){return u&&u.$className||""},getClass:function(u){return u&&u.self||null},create:function(v,x,u){var w=b(v);if(typeof x==="function"){x=x(w)}x.$className=v;return new q(w,x,function(){var y=x.postprocessors||c.defaultPostprocessors,F=c.postprocessors,G=[],E,A,D,z,C,B,H;delete x.postprocessors;for(A=0,D=y.length;A<D;A++){E=y[A];if(typeof E==="string"){E=F[E];B=E.properties;if(B===true){G.push(E.fn)}else{if(B){for(z=0,C=B.length;z<C;z++){H=B[z];if(x.hasOwnProperty(H)){G.push(E.fn);break}}}}}else{G.push(E)}}x.postprocessors=G;x.createdFn=u;c.processCreate(v,this,x)})},processCreate:function(x,v,z){var y=this,u=z.postprocessors.shift(),w=z.createdFn;if(!u){if(x){y.set(x,v)}delete v._classHooks;if(w){w.call(v,v)}if(x){y.triggerCreated(x)}return}if(u.call(y,x,v,z,y.processCreate)!==false){y.processCreate(x,v,z)}},createOverride:function(B,z,x){var C=this,D=z.override,F=z.requires,y=z.uses,A=z.mixins,v,E=1,u,w=function(){var G,K,J,I,H;if(!u){K=F?F.slice(0):[];if(A){if(!(v=A instanceof Array)){for(I in A){if(Ext.isString(G=A[I])){K.push(G)}}}else{for(J=0,H=A.length;J<H;++J){if(Ext.isString(G=A[J])){K.push(G)}}}}u=true;if(K.length){Ext.require(K,w);return}}if(v){for(J=0,H=A.length;J<H;++J){if(Ext.isString(G=A[J])){A[J]=Ext.ClassManager.get(G)}}}else{if(A){for(I in A){if(Ext.isString(G=A[I])){A[I]=Ext.ClassManager.get(G)}}}}G=D.$isClass?D:C.get(D);delete z.override;delete z.compatibility;delete z.requires;delete z.uses;Ext.override(G,z);Ext.Loader.history.push(B);if(y){Ext.Loader.addUsedClasses(y)}if(x){x.call(G,G)}};if(B){c.overrideMap[B]=true}if("compatibility" in z){E=z.compatibility;if(!E){E=false}else{if(typeof E==="number"){E=true}else{if(typeof E!=="boolean"){E=Ext.checkVersion(E)}}}}if(E){if(D.$isClass){w()}else{C.onCreated(w,C,D)}}C.triggerCreated(B,2);return C},instantiateByAlias:function(){var v=arguments[0],u=s.call(arguments),w=this.getNameByAlias(v);u[0]=w;return Ext.create.apply(Ext,u)},dynInstantiate:function(v,u){u=e(u,true);u.unshift(v);return Ext.create.apply(Ext,u)},getInstantiator:function(x){var w=this.instantiators,y,v,u;y=w[x];if(!y){v=x;u=[];for(v=0;v<x;v++){u.push("a["+v+"]")}y=w[x]=new Function("c","a","return new c("+u.join(",")+")")}return y},postprocessors:{},defaultPostprocessors:[],registerPostprocessor:function(v,y,w,u,x){if(!u){u="last"}if(!w){w=[v]}this.postprocessors[v]={name:v,properties:w||false,fn:y};this.setDefaultPostprocessorPosition(v,u,x);return this},setDefaultPostprocessors:function(u){this.defaultPostprocessors=e(u);return this},setDefaultPostprocessorPosition:function(v,y,x){var w=this.defaultPostprocessors,u;if(typeof y==="string"){if(y==="first"){w.unshift(v);return this}else{if(y==="last"){w.push(v);return this}}y=(y==="after")?1:-1}u=Ext.Array.indexOf(w,x);if(u!==-1){Ext.Array.splice(w,Math.max(0,u+y),0,v)}return this}});c.registerPostprocessor("alias",function(w,v,z){var u=Ext.Array.from(z.alias),x,y;for(x=0,y=u.length;x<y;x++){l=u[x];this.addAlias(v,l)}},["xtype","alias"]);c.registerPostprocessor("singleton",function(v,u,x,w){if(x.singleton){w.call(this,v,new u(),x)}else{return true}return false});c.registerPostprocessor("alternateClassName",function(v,u,z){var x=z.alternateClassName,w,y,A;if(!(x instanceof Array)){x=[x]}for(w=0,y=x.length;w<y;w++){A=x[w];this.set(A,u)}});c.registerPostprocessor("debugHooks",function(v,u,w){var x=u.isInstance?u.self:u;delete x.prototype.debugHooks});c.registerPostprocessor("deprecated",function(v,u,w){var x=u.isInstance?u.self:u;x.addDeprecations(w.deprecated);delete x.prototype.deprecated});Ext.apply(Ext,{create:function(){var w=arguments[0],x=typeof w,v=s.call(arguments,1),u;if(x==="function"){u=w}else{if(x!=="string"&&v.length===0){v=[w];if(!(w=w.xclass)){w=v[0].xtype;if(w){w="widget."+w}}}w=c.resolveName(w);u=c.get(w)}if(!u){Ext.syncRequire(w);u=c.get(w)}return c.getInstantiator(v.length)(u,v)},widget:function(w,v){var z=w,x,y,u;if(typeof z!=="string"){v=w;z=v.xtype;y=v.xclass}else{v=v||{}}if(v.isComponent){return v}if(!y){x="widget."+z;y=c.getNameByAlias(x)}if(y){u=c.get(y)}if(!u){return Ext.create(y||x,v)}return new u(v)},createByAlias:l(c,"instantiateByAlias"),define:function(v,w,u){if(w.override){c.classState[v]=20;return c.createOverride.apply(c,arguments)}c.classState[v]=10;return c.create.apply(c,arguments)},undefine:function(w){var u=c.classes;delete u[w];delete c.existCache[w];delete c.classState[w];c.removeName(w);var x=c.getNamespaceEntry(w),v=x.parent?c.lookupName(x.parent,false):Ext.global;if(v){try{delete v[x.name]}catch(y){v[x.name]=undefined}}},getClassName:l(c,"getName"),getDisplayName:function(u){if(u){if(u.displayName){return u.displayName}if(u.$name&&u.$class){return Ext.getClassName(u.$class)+"#"+u.$name}if(u.$className){return u.$className}}return"Anonymous"},getClass:l(c,"getClass"),namespace:function(){var u=o,v;for(v=arguments.length;v-->0;){u=c.lookupName(arguments[v],true)}return u}});Ext.addRootNamespaces=c.addRootNamespaces;Ext.createWidget=Ext.widget;Ext.ns=Ext.namespace;q.registerPreprocessor("className",function(u,v){if("$className" in v){u.$className=v.$className}},true,"first");q.registerPreprocessor("alias",function(F,z){var D=F.prototype,w=e(z.xtype),u=e(z.alias),G="widget.",E=G.length,A=Array.prototype.slice.call(D.xtypesChain||[]),x=Ext.merge({},D.xtypesMap||{}),y,C,B,v;for(y=0,C=u.length;y<C;y++){B=u[y];if(B.substring(0,E)===G){v=B.substring(E);Ext.Array.include(w,v)}}F.xtype=z.xtype=w[0];z.xtypes=w;for(y=0,C=w.length;y<C;y++){v=w[y];if(!x[v]){x[v]=true;A.push(v)}}z.xtypesChain=A;z.xtypesMap=x;Ext.Function.interceptAfterOnce(F,"onClassCreated",function(){var I=this,K=I.prototype,H=K.mixins,L,J;for(L in H){if(H.hasOwnProperty(L)){J=H[L];w=J.xtypes;if(w){for(y=0,C=w.length;y<C;y++){v=w[y];if(!x[v]){x[v]=true;A.push(v)}}}}}});for(y=0,C=w.length;y<C;y++){v=w[y];Ext.Array.include(u,G+v)}z.alias=u},["xtype","alias"]);if(Ext.manifest){var g=Ext.manifest,r=g.classes,n=g.paths,p={},j={},d,k,t,m,a;if(n){if(g.bootRelative){a=Ext.Boot.baseUrl;for(m in n){if(n.hasOwnProperty(m)){n[m]=a+n[m]}}}c.setPath(n)}if(r){for(d in r){j[d]=[];p[d]=[];k=r[d];if(k.alias){p[d]=k.alias}if(k.alternates){j[d]=k.alternates}}}c.addAlias(p);c.addAlternate(j)}return c}(Ext.Class,Ext.Function.alias,Array.prototype.slice,Ext.Array.from,Ext.global));(Ext.env||(Ext.env={})).Browser=function(u,o){var v=this,a=Ext.Boot.browserPrefixes,c=Ext.Boot.browserNames,b=v.enginePrefixes,k=v.engineNames,r=u.match(new RegExp("((?:"+Ext.Object.getValues(a).join(")|(?:")+"))([\\w\\._]+)")),h=u.match(new RegExp("((?:"+Ext.Object.getValues(b).join(")|(?:")+"))([\\w\\._]+)")),q=c.other,t=k.other,m="",g="",d="",j=false,p,n,l,w,s;v.userAgent=u;this.is=function(i){return !!this.is[i]};if(/Edge\//.test(u)){r=u.match(/(Edge\/)([\w.]+)/)}if(r){q=c[Ext.Object.getKey(a,r[1])];if(q==="Safari"&&/^Opera/.test(u)){q="Opera"}m=new Ext.Version(r[2])}if(h){t=k[Ext.Object.getKey(b,h[1])];g=new Ext.Version(h[2])}if(t==="Trident"&&q!=="IE"){q="IE";var e=u.match(/.*rv:(\d+.\d+)/);if(e&&e.length){e=e[1];m=new Ext.Version(e)}}if(q&&m){Ext.setVersion(q,m)}if(u.match(/FB/)&&q==="Other"){q=c.safari;t=k.webkit}if(u.match(/Android.*Chrome/g)){q="ChromeMobile"}if(u.match(/OPR/)){q="Opera";r=u.match(/OPR\/(\d+.\d+)/);m=new Ext.Version(r[1])}Ext.apply(this,{engineName:t,engineVersion:g,name:q,version:m});this.setFlag(q,true,o);if(m){d=m.getMajor()||"";if(v.is.IE){d=parseInt(d,10);l=document.documentMode;if(l===7||(d===7&&l!==8&&l!==9&&l!==10)){d=7}else{if(l===8||(d===8&&l!==8&&l!==9&&l!==10)){d=8}else{if(l===9||(d===9&&l!==7&&l!==8&&l!==10)){d=9}else{if(l===10||(d===10&&l!==7&&l!==8&&l!==9)){d=10}else{if(l===11||(d===11&&l!==7&&l!==8&&l!==9&&l!==10)){d=11}}}}}s=Math.max(d,Ext.Boot.maxIEVersion);for(p=7;p<=s;++p){n="isIE"+p;if(d<=p){Ext[n+"m"]=true}if(d===p){Ext[n]=true}if(d>=p){Ext[n+"p"]=true}}}if(v.is.Opera&&parseInt(d,10)<=12){Ext.isOpera12m=true}Ext.chromeVersion=Ext.isChrome?d:0;Ext.firefoxVersion=Ext.isFirefox?d:0;Ext.ieVersion=Ext.isIE?d:0;Ext.operaVersion=Ext.isOpera?d:0;Ext.safariVersion=Ext.isSafari?d:0;Ext.webKitVersion=Ext.isWebKit?d:0;this.setFlag(q+d,true,o);this.setFlag(q+m.getShortVersion())}for(p in c){if(c.hasOwnProperty(p)){w=c[p];this.setFlag(w,q===w)}}this.setFlag(w);if(g){this.setFlag(t+(g.getMajor()||""));this.setFlag(t+g.getShortVersion())}for(p in k){if(k.hasOwnProperty(p)){w=k[p];this.setFlag(w,t===w,o)}}this.setFlag("Standalone",!!navigator.standalone);this.setFlag("Ripple",!!document.getElementById("tinyhippos-injected")&&!Ext.isEmpty(window.top.ripple));this.setFlag("WebWorks",!!window.blackberry);if(window.PhoneGap!==undefined||window.Cordova!==undefined||window.cordova!==undefined){j=true;this.setFlag("PhoneGap");this.setFlag("Cordova")}if(/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)(?!.*FBAN)/i.test(u)){j=true}this.setFlag("WebView",j);this.isStrict=Ext.isStrict=document.compatMode==="CSS1Compat";this.isSecure=Ext.isSecure;this.identity=q+d+(this.isStrict?"Strict":"Quirks")};Ext.env.Browser.prototype={constructor:Ext.env.Browser,engineNames:{webkit:"WebKit",gecko:"Gecko",presto:"Presto",trident:"Trident",other:"Other"},enginePrefixes:{webkit:"AppleWebKit/",gecko:"Gecko/",presto:"Presto/",trident:"Trident/"},styleDashPrefixes:{WebKit:"-webkit-",Gecko:"-moz-",Trident:"-ms-",Presto:"-o-",Other:""},stylePrefixes:{WebKit:"Webkit",Gecko:"Moz",Trident:"ms",Presto:"O",Other:""},propertyPrefixes:{WebKit:"webkit",Gecko:"moz",Trident:"ms",Presto:"o",Other:""},name:null,version:null,engineName:null,engineVersion:null,setFlag:function(a,c,b){if(c===undefined){c=true}this.is[a]=c;this.is[a.toLowerCase()]=c;if(b){Ext["is"+a]=c}return this},getStyleDashPrefix:function(){return this.styleDashPrefixes[this.engineName]},getStylePrefix:function(){return this.stylePrefixes[this.engineName]},getVendorProperyName:function(a){var b=this.propertyPrefixes[this.engineName];if(b.length>0){return b+Ext.String.capitalize(a)}return a},getPreferredTranslationMethod:function(a){if(typeof a==="object"&&"translationMethod" in a&&a.translationMethod!=="auto"){return a.translationMethod}else{return"csstransform"}}};(function(a){Ext.browser=new Ext.env.Browser(a,true);Ext.userAgent=a.toLowerCase();Ext.SSL_SECURE_URL=Ext.isSecure&&Ext.isIE?"javascript:''":"about:blank"}(Ext.global.navigator.userAgent));Ext.env.OS=function(p,b,m){var l=this,k=Ext.Boot.osNames,d=Ext.Boot.osPrefixes,a,j="",g=l.is,c,h,e,o,n;m=m||Ext.browser;for(c in d){if(d.hasOwnProperty(c)){h=d[c];e=p.match(new RegExp("(?:"+h+")([^\\s;]+)"));if(e){a=k[c];n=e[1];if(n&&n==="HTC_"){j=new Ext.Version("2.3")}else{if(n&&n==="Silk/"){j=new Ext.Version("2.3")}else{j=new Ext.Version(e[e.length-1])}}break}}}if(!a){a=k[(p.toLowerCase().match(/mac|win|linux/)||["other"])[0]];j=new Ext.Version("")}this.name=a;this.version=j;if(p.match(/ipad/i)){b="iPad"}if(b){this.setFlag(b.replace(/ simulator$/i,""))}this.setFlag(a);if(j){this.setFlag(a+(j.getMajor()||""));this.setFlag(a+j.getShortVersion())}for(c in k){if(k.hasOwnProperty(c)){o=k[c];if(!g.hasOwnProperty(a)){this.setFlag(o,(a===o))}}}if(this.name==="iOS"&&window.screen.height===568){this.setFlag("iPhone5")}if(m.is.Safari||m.is.Silk){if(this.is.Android2||this.is.Android3||m.version.shortVersion===501){m.setFlag("AndroidStock")}if(this.is.Android4){m.setFlag("AndroidStock");m.setFlag("AndroidStock4")}}};Ext.env.OS.prototype={constructor:Ext.env.OS,is:function(a){return !!this[a]},name:null,version:null,setFlag:function(a,b){if(b===undefined){b=true}if(this.flags){this.flags[a]=b}this.is[a]=b;this.is[a.toLowerCase()]=b;return this}};(function(){var a=Ext.global.navigator,h=a.userAgent,g=Ext.env.OS,e=(Ext.is||(Ext.is={})),i,d,b;g.prototype.flags=e;Ext.os=i=new g(h,a.platform);d=i.name;Ext["is"+d]=true;Ext.isMac=e.Mac=e.MacOS;var j=window.location.search.match(/deviceType=(Tablet|Phone)/),c=window.deviceType;if(j&&j[1]){b=j[1]}else{if(c==="iPhone"){b="Phone"}else{if(c==="iPad"){b="Tablet"}else{if(!i.is.Android&&!i.is.iOS&&!i.is.WindowsPhone&&/Windows|Linux|MacOS/.test(d)){b="Desktop";Ext.browser.is.WebView=!!Ext.browser.is.Ripple}else{if(i.is.iPad||i.is.RIMTablet||i.is.Android3||Ext.browser.is.Silk||(i.is.Android&&h.search(/mobile/i)===-1)){b="Tablet"}else{b="Phone"}}}}}i.setFlag(b,true);i.deviceType=b;delete g.prototype.flags}());Ext.feature={has:function(a){return !!this.has[a]},testElements:{},getTestElement:function(a,b){if(a===undefined){a="div"}else{if(typeof a!=="string"){return a}}if(b){return document.createElement(a)}if(!this.testElements[a]){this.testElements[a]=document.createElement(a)}return this.testElements[a]},isStyleSupported:function(c,b){var d=this.getTestElement(b).style,a=Ext.String.capitalize(c);if(typeof d[c]!=="undefined"||typeof d[Ext.browser.getStylePrefix(c)+a]!=="undefined"){return true}return false},isStyleSupportedWithoutPrefix:function(b,a){var c=this.getTestElement(a).style;if(typeof c[b]!=="undefined"){return true}return false},isEventSupported:function(c,a){if(a===undefined){a=window}var e=this.getTestElement(a),b="on"+c.toLowerCase(),d=(b in e);if(!d){if(e.setAttribute&&e.removeAttribute){e.setAttribute(b,"");d=typeof e[b]==="function";if(typeof e[b]!=="undefined"){e[b]=undefined}e.removeAttribute(b)}}return d},getStyle:function(c,b){var a=c.ownerDocument.defaultView,d=(a?a.getComputedStyle(c,null):c.currentStyle);return(d||c.style)[b]},getSupportedPropertyName:function(b,a){var c=Ext.browser.getVendorProperyName(a);if(c in b){return c}else{if(a in b){return a}}return null},detect:function(j){var k=this,m=document,g=k.toRun||k.tests,e=g.length,b=m.createElement("div"),c=[],p=Ext.supports,o=k.has,a,i,h,d,l;b.innerHTML='<div style="height:30px;width:50px;"><div style="height:20px;width:20px;"></div></div><div style="width: 200px; height: 200px; position: relative; padding: 5px;"><div style="position: absolute; top: 0; left: 0; width: 100%; height: 100%;"></div></div><div style="position: absolute; left: 10%; top: 10%;"></div><div style="float:left; background-color:transparent;"></div>';if(j){m.body.appendChild(b)}d=k.preDetected[Ext.browser.identity]||[];while(e--){h=g[e];l=d[e];a=h.name;i=h.names;if(l===undefined){if(!j&&h.ready){c.push(h);continue}l=h.fn.call(k,m,b)}if(a){p[a]=o[a]=l}else{if(i){while(i.length){a=i.pop();p[a]=o[a]=l}}}}if(j){m.body.removeChild(b)}k.toRun=c},report:function(){var b=[],a=this.tests.length,c;for(c=0;c<a;++c){b.push(this.has[this.tests[c].name]?1:0)}Ext.log(Ext.browser.identity+": ["+b.join(",")+"]")},preDetected:{},tests:[{name:"CloneNodeCopiesExpando",fn:function(){var a=document.createElement("div");a.expandoProp={};return a.cloneNode().expandoProp===a.expandoProp}},{name:"CSSPointerEvents",fn:function(a){return"pointerEvents" in a.documentElement.style}},{name:"CSS3BoxShadow",fn:function(a){return"boxShadow" in a.documentElement.style||"WebkitBoxShadow" in a.documentElement.style||"MozBoxShadow" in a.documentElement.style}},{name:"CSS3NegationSelector",fn:function(b){try{b.querySelectorAll("foo:not(bar)")}catch(a){return false}return true}},{name:"ClassList",fn:function(a){return !!a.documentElement.classList}},{name:"Canvas",fn:function(){var a=this.getTestElement("canvas");return !!(a&&a.getContext&&a.getContext("2d"))}},{name:"Svg",fn:function(a){return !!(a.createElementNS&&!!a.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect)}},{name:"Vml",fn:function(){var b=this.getTestElement(),a=false;b.innerHTML="<!--[if vml]><br><![endif]-->";a=(b.childNodes.length===1);b.innerHTML="";return a}},{name:"Touch",fn:function(){var a=navigator.msMaxTouchPoints||navigator.maxTouchPoints;if(Ext.browser.is.Chrome&&Ext.browser.version.isLessThanOrEqual(39)){return(Ext.supports.TouchEvents&&a!==1)||a>1}else{return Ext.supports.TouchEvents||a>0}}},{name:"TouchEvents",fn:function(){return this.isEventSupported("touchend")}},{name:"PointerEvents",fn:function(){return navigator.pointerEnabled}},{name:"MSPointerEvents",fn:function(){return navigator.msPointerEnabled}},{name:"Orientation",fn:function(){return("orientation" in window)&&this.isEventSupported("orientationchange")}},{name:"OrientationChange",fn:function(){return this.isEventSupported("orientationchange")}},{name:"DeviceMotion",fn:function(){return this.isEventSupported("devicemotion")}},{names:["Geolocation","GeoLocation"],fn:function(){return"geolocation" in window.navigator}},{name:"SqlDatabase",fn:function(){return"openDatabase" in window}},{name:"WebSockets",fn:function(){return"WebSocket" in window}},{name:"Range",fn:function(){return !!document.createRange}},{name:"CreateContextualFragment",fn:function(){var a=!!document.createRange?document.createRange():false;return a&&!!a.createContextualFragment}},{name:"History",fn:function(){return("history" in window&&"pushState" in window.history)}},{name:"Css3dTransforms",fn:function(){return this.has("CssTransforms")&&this.isStyleSupported("perspective")}},{name:"CssTransforms",fn:function(){return this.isStyleSupported("transform")}},{name:"CssTransformNoPrefix",fn:function(){return this.isStyleSupportedWithoutPrefix("transform")}},{name:"CssAnimations",fn:function(){return this.isStyleSupported("animationName")}},{names:["CssTransitions","Transitions"],fn:function(){return this.isStyleSupported("transitionProperty")}},{names:["Audio","AudioTag"],fn:function(){return !!this.getTestElement("audio").canPlayType}},{name:"Video",fn:function(){return !!this.getTestElement("video").canPlayType}},{name:"LocalStorage",fn:function(){try{if("localStorage" in window&&window.localStorage!==null){localStorage.setItem("sencha-localstorage-test","test success");localStorage.removeItem("sencha-localstorage-test");return true}}catch(a){}return false}},{name:"XHR2",fn:function(){return window.ProgressEvent&&window.FormData&&window.XMLHttpRequest&&("withCredentials" in new XMLHttpRequest())}},{name:"XHRUploadProgress",fn:function(){if(window.XMLHttpRequest&&!Ext.browser.is.AndroidStock){var a=new XMLHttpRequest();return a&&("upload" in a)&&("onprogress" in a.upload)}return false}},{name:"NumericInputPlaceHolder",fn:function(){return !(Ext.browser.is.AndroidStock4&&Ext.os.version.getMinor()<2)}},{name:"matchesSelector",fn:function(){var b=document.documentElement,e="matches",d="webkitMatchesSelector",a="msMatchesSelector",c="mozMatchesSelector";return b[e]?e:b[d]?d:b[a]?a:b[c]?c:null}},{name:"RightMargin",ready:true,fn:function(b,c){var a=b.defaultView;return !(a&&a.getComputedStyle(c.firstChild.firstChild,null).marginRight!=="0px")}},{name:"DisplayChangeInputSelectionBug",fn:function(){var a=Ext.webKitVersion;return 0<a&&a<533}},{name:"DisplayChangeTextAreaSelectionBug",fn:function(){var a=Ext.webKitVersion;return 0<a&&a<534.24}},{name:"TransparentColor",ready:true,fn:function(b,c,a){a=b.defaultView;return !(a&&a.getComputedStyle(c.lastChild,null).backgroundColor!=="transparent")}},{name:"ComputedStyle",ready:true,fn:function(b,c,a){a=b.defaultView;return a&&a.getComputedStyle}},{name:"Float",fn:function(a){return"cssFloat" in a.documentElement.style}},{name:"CSS3BorderRadius",ready:true,fn:function(d){var b=["borderRadius","BorderRadius","MozBorderRadius","WebkitBorderRadius","OBorderRadius","KhtmlBorderRadius"],c=false,a;for(a=0;a<b.length;a++){if(d.documentElement.style[b[a]]!==undefined){c=true}}return c&&!Ext.isIE9}},{name:"CSS3LinearGradient",fn:function(g,a){var i="background-image:",h="-webkit-gradient(linear, left top, right bottom, from(black), to(white))",e="linear-gradient(left top, black, white)",d="-moz-"+e,b="-ms-"+e,c="-o-"+e,j=[i+h,i+e,i+d,i+b,i+c];a.style.cssText=j.join(";");return((""+a.style.backgroundImage).indexOf("gradient")!==-1)&&!Ext.isIE9}},{name:"MouseEnterLeave",fn:function(a){return("onmouseenter" in a.documentElement&&"onmouseleave" in a.documentElement)}},{name:"MouseWheel",fn:function(a){return("onmousewheel" in a.documentElement)}},{name:"Opacity",fn:function(a,b){if(Ext.isIE8){return false}b.firstChild.style.cssText="opacity:0.73";return b.firstChild.style.opacity=="0.73"}},{name:"Placeholder",fn:function(a){return"placeholder" in a.createElement("input")}},{name:"Direct2DBug",fn:function(a){return Ext.isString(a.documentElement.style.msTransformOrigin)&&Ext.isIE9m}},{name:"BoundingClientRect",fn:function(a){return"getBoundingClientRect" in a.documentElement}},{name:"RotatedBoundingClientRect",ready:true,fn:function(e){var a=e.body,b=false,d=e.createElement("div"),c=d.style;if(d.getBoundingClientRect){c.position="absolute";c.top="0";c.WebkitTransform=c.MozTransform=c.msTransform=c.OTransform=c.transform="rotate(90deg)";c.width="100px";c.height="30px";a.appendChild(d);b=d.getBoundingClientRect().height!==100;a.removeChild(d)}return b}},{name:"ChildContentClearedWhenSettingInnerHTML",ready:true,fn:function(){var a=this.getTestElement(),b;a.innerHTML="<div>a</div>";b=a.firstChild;a.innerHTML="<div>b</div>";return b.innerHTML!=="a"}},{name:"IncludePaddingInWidthCalculation",ready:true,fn:function(a,b){return b.childNodes[1].firstChild.offsetWidth===210}},{name:"IncludePaddingInHeightCalculation",ready:true,fn:function(a,b){return b.childNodes[1].firstChild.offsetHeight===210}},{name:"TextAreaMaxLength",fn:function(a){return("maxlength" in a.createElement("textarea"))}},{name:"GetPositionPercentage",ready:true,fn:function(a,b){return Ext.feature.getStyle(b.childNodes[2],"left")==="10%"}},{name:"PercentageHeightOverflowBug",ready:true,fn:function(d){var a=false,c,b;if(Ext.getScrollbarSize().height){b=this.getTestElement();c=b.style;c.height="50px";c.width="50px";c.overflow="auto";c.position="absolute";b.innerHTML=['<div style="display:table;height:100%;">','<div style="width:51px;"></div>',"</div>"].join("");d.body.appendChild(b);if(b.firstChild.offsetHeight===50){a=true}d.body.removeChild(b)}return a}},{name:"xOriginBug",ready:true,fn:function(d,e){e.innerHTML='<div id="b1" style="height:100px;width:100px;direction:rtl;position:relative;overflow:scroll"><div id="b2" style="position:relative;width:100%;height:20px;"></div><div id="b3" style="position:absolute;width:20px;height:20px;top:0px;right:0px"></div></div>';var c=document.getElementById("b1").getBoundingClientRect(),b=document.getElementById("b2").getBoundingClientRect(),a=document.getElementById("b3").getBoundingClientRect();return(b.left!==c.left&&a.right!==c.right)}},{name:"ScrollWidthInlinePaddingBug",ready:true,fn:function(d){var a=false,c,b;b=d.createElement("div");c=b.style;c.height="50px";c.width="50px";c.padding="10px";c.overflow="hidden";c.position="absolute";b.innerHTML='<span style="display:inline-block;zoom:1;height:60px;width:60px;"></span>';d.body.appendChild(b);if(b.scrollWidth===70){a=true}d.body.removeChild(b);return a}},{name:"rtlVertScrollbarOnRight",ready:true,fn:function(c,d){d.innerHTML='<div style="height:100px;width:100px;direction:rtl;overflow:scroll"><div style="width:20px;height:200px;"></div></div>';var b=d.firstChild,a=b.firstChild;return(a.offsetLeft+a.offsetWidth!==b.offsetLeft+b.offsetWidth)}},{name:"rtlVertScrollbarOverflowBug",ready:true,fn:function(b,c){c.innerHTML='<div style="height:100px;width:100px;direction:rtl;overflow:auto"><div style="width:95px;height:200px;"></div></div>';var a=c.firstChild;return a.clientHeight===a.offsetHeight}},{identity:"defineProperty",fn:function(){if(Ext.isIE8m){Ext.Object.defineProperty=Ext.emptyFn;return false}return true}},{identify:"nativeXhr",fn:function(){if(typeof XMLHttpRequest!=="undefined"){return true}XMLHttpRequest=function(){try{return new ActiveXObject("MSXML2.XMLHTTP.3.0")}catch(a){return null}};return false}},{name:"SpecialKeyDownRepeat",fn:function(){return Ext.isWebKit?parseInt(navigator.userAgent.match(/AppleWebKit\/(\d+)/)[1],10)>=525:!(!(Ext.isGecko||Ext.isIE)||(Ext.isOpera&&Ext.operaVersion<12))}},{name:"EmulatedMouseOver",fn:function(){return Ext.os.is.iOS}},{name:"Hashchange",fn:function(){var a=document.documentMode;return"onhashchange" in window&&(a===undefined||a>7)}},{name:"FixedTableWidthBug",ready:true,fn:function(){if(Ext.isIE8){return false}var b=document.createElement("div"),a=document.createElement("div"),c;b.setAttribute("style","display:table;table-layout:fixed;");a.setAttribute("style","display:table-cell;min-width:50px;");b.appendChild(a);document.body.appendChild(b);b.offsetWidth;b.style.width="25px";c=b.offsetWidth;document.body.removeChild(b);return c===50}},{name:"FocusinFocusoutEvents",fn:function(){return !Ext.isGecko}},{name:"AsyncFocusEvents",fn:function(){return Ext.asyncFocus=!!Ext.isIE}},{name:"accessibility",ready:true,fn:function(h){var a=h.body,i,d,e,b,c;function g(o){var j=[],l=0,n,k;if(o.indexOf("rgb(")!==-1){j=o.replace("rgb(","").replace(")","").split(", ")}else{if(o.indexOf("#")!==-1){n=o.length===7?/^#(\S\S)(\S\S)(\S\S)$/:/^#(\S)(\S)(\S)$/;k=o.match(n);if(k){j=["0x"+k[1],"0x"+k[2],"0x"+k[3]]}}}for(var m=0;m<j.length;m++){l+=parseInt(j[m])}return l}i=h.createElement("div");d=h.createElement("img");e=i.style;Ext.apply(e,{width:"2px",position:"absolute",clip:"rect(1px,1px,1px,1px)",borderWidth:"1px",borderStyle:"solid",borderTopTolor:"#f00",borderRightColor:"#ff0",backgroundColor:"#fff",backgroundImage:"url("+Ext.BLANK_IMAGE_URL+")"});d.alt="";d.src=Ext.BLANK_IMAGE_URL;i.appendChild(d);a.appendChild(i);e=i.currentStyle||i.style;c=e.backgroundImage;b={Images:d.offsetWidth===1&&d.readyState!=="uninitialized",BackgroundImages:!(c!==null&&(c==="none"||c==="url(invalid-url:)")),BorderColors:e.borderTopColor!==e.borderRightColor,LightOnDark:g(e.color)-g(e.backgroundColor)>0};Ext.supports.HighContrastMode=!b.BackgroundImages;a.removeChild(i);i=d=null;return b}},{name:"ViewportUnits",ready:true,fn:function(e){if(Ext.isIE8){return false}var a=e.body,g=document.createElement("div"),d=g.currentStyle||g.style,c,b;a.appendChild(g);Ext.apply(d,{width:"50vw"});c=parseInt(window.innerWidth/2,10);b=parseInt((window.getComputedStyle?getComputedStyle(g,null):g.currentStyle).width,10);a.removeChild(g);g=null;return c===b}},{name:"CSSVariables",ready:false,fn:function(b){if(!window.getComputedStyle){return false}var a=window.getComputedStyle(b.documentElement);return a.getPropertyValue&&!!a.getPropertyValue("--x-supports-variables")}},{name:"Selectors2",ready:false,fn:function(b){try{return !!b.querySelectorAll(":scope")}catch(a){return false}}},{name:"CSSScrollSnap",ready:false,fn:function(b){var a=b.documentElement.style;return"scrollSnapType" in a||"webkitScrollSnapType" in a||"msScrollSnapType" in a}},0]};Ext.feature.tests.pop();Ext.supports={};Ext.feature.detect();Ext.env.Ready={blocks:(location.search||"").indexOf("ext-pauseReadyFire")>0?1:0,bound:0,delay:1,firing:false,generation:0,listeners:[],nextId:0,sortGeneration:0,state:0,timer:null,bind:function(){var a=Ext.env.Ready,b=document;if(!a.bound){if(b.readyState==="complete"){a.onReadyEvent({type:b.readyState||"body"})}else{a.bound=1;if(Ext.browser.is.PhoneGap&&!Ext.os.is.Desktop){a.bound=2;b.addEventListener("deviceready",a.onReadyEvent,false)}b.addEventListener("DOMContentLoaded",a.onReadyEvent,false);window.addEventListener("load",a.onReadyEvent,false)}}},block:function(){++this.blocks;Ext.isReady=false},fireReady:function(){var a=Ext.env.Ready;if(!a.state){Ext._readyTime=Ext.ticks();Ext.isDomReady=true;a.state=1;Ext.feature.detect(true);if(!a.delay){a.handleReady()}else{if(navigator.standalone){a.timer=Ext.defer(function(){a.timer=null;a.handleReadySoon()},1)}else{a.handleReadySoon()}}}},handleReady:function(){var a=this;if(a.state===1){a.state=2;Ext._beforeReadyTime=Ext.ticks();a.invokeAll();Ext._afterReadyTime=Ext.ticks()}},handleReadySoon:function(a){var b=this;if(!b.timer){b.timer=Ext.defer(function(){b.timer=null;b.handleReady()},a||b.delay)}},invoke:function(b){var a=b.delay;if(a){Ext.defer(b.fn,a,b.scope)}else{if(Ext.elevateFunction){Ext.elevateFunction(b.fn,b.scope)}else{b.fn.call(b.scope)}}},invokeAll:function(){if(Ext.elevateFunction){Ext.elevateFunction(this.doInvokeAll,this)}else{this.doInvokeAll()}},doInvokeAll:function(){var b=this,a=b.listeners,c;if(!b.blocks){Ext.isReady=true}b.firing=true;while(a.length){if(b.sortGeneration!==b.generation){b.sortGeneration=b.generation;a.sort(b.sortFn)}c=a.pop();if(b.blocks&&!c.dom){a.push(c);break}b.invoke(c)}b.firing=false},makeListener:function(d,c,b){var a={fn:d,id:++this.nextId,scope:c,dom:false,priority:0};if(b){Ext.apply(a,b)}a.phase=a.dom?0:1;return a},on:function(c,b,a){var d=Ext.env.Ready,e=d.makeListener(c,b,a);if(d.state===2&&!d.firing&&(e.dom||!d.blocks)){d.invoke(e)}else{d.listeners.push(e);++d.generation;if(!d.bound){d.bind()}}},onReadyEvent:function(b){var a=Ext.env.Ready;if(Ext.elevateFunction){Ext.elevateFunction(a.doReadyEvent,a,arguments)}else{a.doReadyEvent(b)}},doReadyEvent:function(b){var a=this;if(a.bound>0){a.unbind();a.bound=-1}if(!a.state){a.fireReady()}},sortFn:function(d,c){return -((d.phase-c.phase)||(c.priority-d.priority)||(d.id-c.id))},unblock:function(){var a=this;if(a.blocks){if(!--a.blocks){if(a.state===2&&!a.firing){a.invokeAll()}}}},unbind:function(){var a=this,b=document;if(a.bound>1){b.removeEventListener("deviceready",a.onReadyEvent,false)}b.removeEventListener("DOMContentLoaded",a.onReadyEvent,false);window.removeEventListener("load",a.onReadyEvent,false)}};(function(){var a=Ext.env.Ready;if(Ext.isIE9m){Ext.apply(a,{scrollTimer:null,readyStatesRe:/complete/i,pollScroll:function(){var b=true;try{document.documentElement.doScroll("left")}catch(c){b=false}if(b&&document.body){a.onReadyEvent({type:"doScroll"})}else{a.scrollTimer=Ext.defer(a.pollScroll,20)}return b},bind:function(){if(a.bound){return}var d=document,b;try{b=window.frameElement===undefined}catch(c){}if(!b||!d.documentElement.doScroll){a.pollScroll=Ext.emptyFn}else{if(a.pollScroll()){return}}if(d.readyState==="complete"){a.onReadyEvent({type:"already "+(d.readyState||"body")})}else{d.attachEvent("onreadystatechange",a.onReadyStateChange);window.attachEvent("onload",a.onReadyEvent);a.bound=1}},unbind:function(){document.detachEvent("onreadystatechange",a.onReadyStateChange);window.detachEvent("onload",a.onReadyEvent);if(Ext.isNumber(a.scrollTimer)){clearTimeout(a.scrollTimer);a.scrollTimer=null}},onReadyStateChange:function(){var b=document.readyState;if(a.readyStatesRe.test(b)){a.onReadyEvent({type:b})}}})}Ext.onDocumentReady=function(e,d,b){var c={dom:true};if(b){Ext.apply(c,b)}a.on(e,d,c)};Ext.onReady=function(d,c,b){a.on(d,c,b)};Ext.onInternalReady=function(d,c,b){a.on(d,c,Ext.apply({priority:1000},b))};a.bind()}());Ext.Loader=(new function(){var c=this,a=Ext.ClassManager,h=Ext.Boot,d=Ext.Class,j=Ext.env.Ready,i=Ext.Function.alias,g=["extend","mixins","requires"],m={},k=[],b=[],e=[],n={},l={enabled:true,scriptChainDelay:false,disableCaching:true,disableCachingParam:"_dc",paths:a.paths,preserveScripts:true,scriptCharset:undefined},o={disableCaching:true,disableCachingParam:true,preserveScripts:true,scriptChainDelay:"loadDelay"};Ext.apply(c,{isInHistory:m,isLoading:false,history:k,config:l,readyListeners:b,optionalRequires:e,requiresMap:n,hasFileLoadError:false,scriptsLoading:0,classesLoading:{},missingCount:0,missingQueue:{},syncModeEnabled:false,init:function(){var v=document.getElementsByTagName("script"),p=v[v.length-1].src,C=p.substring(0,p.lastIndexOf("/")+1),A=Ext._classPathMetadata,B=Ext.Microloader,r=Ext.manifest,s,u,x,z,w,y,t,q;if(!a.getPath("Ext")){a.setPath("Ext",C+"src")}if(A){Ext._classPathMetadata=null;c.addClassPathMappings(A)}if(r){s=r.loadOrder;w=Ext.Boot.baseUrl;if(s&&r.bootRelative){for(y=s.length,t=0;t<y;t++){q=s[t];q.path=w+q.path;q.canonicalPath=true}}}if(B){j.block();B.onMicroloaderReady(function(){j.unblock()})}},setConfig:Ext.Function.flexSetter(function(p,q){if(p==="paths"){c.setPath(q)}else{l[p]=q;var r=o[p];if(r){h.setConfig((r===true)?p:r,q)}}return c}),getConfig:function(p){return p?l[p]:l},setPath:function(){a.setPath.apply(a,arguments);return c},addClassPathMappings:function(p){a.setPath(p);return c},addBaseUrlClassPathMappings:function(p){for(var q in p){p[q]=h.baseUrl+p[q]}Ext.Loader.addClassPathMappings(p)},getPath:function(p){return a.getPath(p)},require:function(r,q,p,t){if(t){return c.exclude(t).require(r,q,p)}var s=a.getNamesByExpression(r);return c.load(s,q,p)},syncRequire:function(){var q=c.syncModeEnabled;c.syncModeEnabled=true;var p=c.require.apply(c,arguments);c.syncModeEnabled=q;return p},exclude:function(q){var p=a.select({require:function(t,s,r){return c.load(t,s,r)},syncRequire:function(v,t,s){var u=c.syncModeEnabled;c.syncModeEnabled=true;var r=c.load(v,t,s);c.syncModeEnabled=u;return r}});p.exclude(q);return p},load:function(p,y,A){if(y){if(y.length){y=c.makeLoadCallback(p,y)}y=y.bind(A||Ext.global)}var r=a.classState,t=[],x=[],z={},s=p.length,q,w,v,u;for(v=0;v<s;++v){w=a.resolveName(p[v]);if(!a.isCreated(w)){t.push(w);if(!r[w]){z[w]=c.getPath(w);x.push(z[w])}}}u=t.length;if(u){c.missingCount+=u;a.onCreated(function(){if(y){Ext.callback(y,A,arguments)}c.checkReady()},c,t);if(!l.enabled){Ext.raise("Ext.Loader is not enabled, so dependencies cannot be resolved dynamically. Missing required class"+((t.length>1)?"es":"")+": "+t.join(", "))}if(x.length){c.loadScripts({url:x,_classNames:t,_urlByClass:z})}else{c.checkReady()}}else{if(y){y.call(A)}c.checkReady()}if(c.syncModeEnabled){if(s===1){return a.get(p[0])}}return c},makeLoadCallback:function(p,q){return function(){var s=[],r=p.length;while(r-->0){s[r]=a.get(p[r])}return q.apply(this,s)}},onLoadFailure:function(){var p=this,q=p.onError;c.hasFileLoadError=true;--c.scriptsLoading;if(q){q.call(p.userScope,p)}c.checkReady()},onLoadSuccess:function(){var x=this,u=x.onLoad,p=x._classNames,w=x._urlByClass,q=a.classState,v=c.missingQueue,t,r,s;--c.scriptsLoading;if(u){u.call(x.userScope,x)}for(r=0,s=p.length;r<s;r++){t=p[r];if(!q[t]){v[t]=w[t]}}c.checkReady()},onReady:function(r,q,t,p){if(t){j.on(r,q,p)}else{var s=j.makeListener(r,q,p);if(c.isLoading){b.push(s)}else{j.invoke(s)}}},addUsedClasses:function(r){var p,q,s;if(r){r=(typeof r==="string")?[r]:r;for(q=0,s=r.length;q<s;q++){p=r[q];if(typeof p==="string"&&!Ext.Array.contains(e,p)){e.push(p)}}}return c},triggerReady:function(){var p,q=e;if(c.isLoading&&q.length){e=[];c.require(q)}else{c.isLoading=false;b.sort(j.sortFn);while(b.length&&!c.isLoading){p=b.pop();j.invoke(p)}j.unblock()}},historyPush:function(p){if(p&&!m[p]&&!a.overrideMap[p]){m[p]=true;k.push(p)}return c},loadScripts:function(t){var s=Ext.manifest,p=s&&s.loadOrder,q=s&&s.loadOrderMap,r;++c.scriptsLoading;if(p&&!q){s.loadOrderMap=q=h.createLoadOrderMap(p)}c.checkReady();r=Ext.apply({loadOrder:p,loadOrderMap:q,charset:l.scriptCharset,success:c.onLoadSuccess,failure:c.onLoadFailure,sync:c.syncModeEnabled,_classNames:[]},t);r.userScope=r.scope;r.scope=r;h.load(r)},loadScriptsSync:function(q){var p=c.syncModeEnabled;c.syncModeEnabled=true;c.loadScripts({url:q});c.syncModeEnabled=p},loadScriptsSyncBasePrefix:function(q){var p=c.syncModeEnabled;c.syncModeEnabled=true;c.loadScripts({url:q,prependBaseUrl:true});c.syncModeEnabled=p},loadScript:function(x){var q=typeof x==="string",t=x instanceof Array,w=!t&&!q,p=w?x.url:x,s=w&&x.onError,u=w&&x.onLoad,v=w&&x.scope,r={url:p,scope:v,onLoad:u,onError:s,_classNames:[]};c.loadScripts(r)},checkMissingQueue:function(){var p=c.missingQueue,q={},r,s=0;for(r in p){if(!(a.classState[r]||a.isCreated(r))){q[r]=p[r];s++}}c.missingCount=s;c.missingQueue=q},checkReady:function(){var q=c.isLoading,p;c.checkMissingQueue();p=c.missingCount+c.scriptsLoading;if(p&&!q){j.block();c.isLoading=!!p}else{if(!p&&q){c.triggerReady()}}}});Ext.require=i(c,"require");Ext.syncRequire=i(c,"syncRequire");Ext.exclude=i(c,"exclude");d.registerPreprocessor("loader",function(E,t,D,C){var z=this,x=[],p,y=a.getName(E),s,r,w,v,B,u,q,A;for(s=0,w=g.length;s<w;s++){u=g[s];if(t.hasOwnProperty(u)){q=t[u];if(typeof q==="string"){x.push(q)}else{if(q instanceof Array){for(r=0,v=q.length;r<v;r++){B=q[r];if(typeof B==="string"){x.push(B)}}}else{if(typeof q!=="function"){for(r in q){if(q.hasOwnProperty(r)){B=q[r];if(typeof B==="string"){x.push(B)}}}}}}}}if(x.length===0){return}if(y){n[y]=x}(y?c.exclude(y):c).require(x,function(){for(s=0,w=g.length;s<w;s++){u=g[s];if(t.hasOwnProperty(u)){q=t[u];if(typeof q==="string"){t[u]=a.get(q)}else{if(q instanceof Array){for(r=0,v=q.length;r<v;r++){B=q[r];if(typeof B==="string"){t[u][r]=a.get(B)}}}else{if(typeof q!=="function"){for(var F in q){if(q.hasOwnProperty(F)){B=q[F];if(typeof B==="string"){t[u][F]=a.get(B)}}}}}}}}C.call(z,E,t,D)});return false},true,"after","className");a.registerPostprocessor("uses",function(r,q,s){var p=s.uses,t;if(p){t=a.getNamesByExpression(s.uses);c.addUsedClasses(t)}});a.onCreated(c.historyPush);c.init()}());Ext._endTime=Ext.ticks();if(Ext._beforereadyhandler){Ext._beforereadyhandler()}Ext.define("Ext.Mixin",function(a){return{statics:{addHook:function(i,e,c,d){var h=Ext.isFunction(i),g=function(){var k=arguments,l=h?i:d[i],j=this.callParent(k);l.apply(this,k);return j},b=e.hasOwnProperty(c)&&e[c];if(h){i.$previous=Ext.emptyFn}g.$name=c;g.$owner=e.self;if(b){g.$previous=b.$previous;b.$previous=g}else{e[c]=g}}},onClassExtended:function(l,d){var g=d.mixinConfig,j=d.xhooks,i=l.superclass,e=d.onClassMixedIn,b,h,k,c;if(j){delete d.xhooks;(g||(d.mixinConfig=g={})).on=j}if(g){b=i.mixinConfig;if(b){d.mixinConfig=g=Ext.merge({},b,g)}d.mixinId=g.id;h=g.before;k=g.after;j=g.on;c=g.extended}if(h||k||j||c){d.onClassMixedIn=function(p){var m=this.prototype,o=p.prototype,n;if(h){Ext.Object.each(h,function(q,r){p.addMember(q,function(){if(m[r].apply(this,arguments)!==false){return this.callParent(arguments)}})})}if(k){Ext.Object.each(k,function(q,r){p.addMember(q,function(){var s=this.callParent(arguments);m[r].apply(this,arguments);return s})})}if(j){for(n in j){a.addHook(j[n],o,n,m)}}if(c){p.onExtended(function(){var q=Ext.Array.slice(arguments,0);q.unshift(p);return c.apply(this,q)},this)}if(e){e.apply(this,arguments)}}}}}});Ext.util=Ext.util||{};Ext.util.DelayedTask=function(e,d,b,i,h){var g=this,a,c=function(){var j=Ext.GlobalEvents;clearInterval(g.id);g.id=null;e.apply(d,b||[]);if(h!==false&&j.hasListeners.idle){j.fireEvent("idle")}};i=typeof i==="boolean"?i:true;g.id=null;g.delay=function(k,m,l,j){if(i){g.cancel()}if(typeof k==="number"){a=k}e=m||e;d=l||d;b=j||b;if(!g.id){g.id=Ext.interval(c,a)}};g.cancel=function(){if(g.id){clearInterval(g.id);g.id=null}}};Ext.define("Ext.util.Event",function(){var d=Array.prototype.slice,a=Ext.Array.insert,c=Ext.Array.toArray,b={};return{isEvent:true,suspended:0,noOptions:{},constructor:function(g,e){this.name=e;this.observable=g;this.listeners=[]},addListener:function(n,e,g,u,q){var y=this,l=false,p=y.observable,k=y.name,r,j,x,t,z,s,h,m,v,o,w;if(y.findListener(n,e)===-1){j=y.createListener(n,e,g,u,q);if(y.firing){y.listeners=y.listeners.slice(0)}r=y.listeners;m=h=r.length;x=g&&g.priority;z=y._highestNegativePriorityIndex;s=z!==undefined;if(x){t=(x<0);if(!t||s){for(v=(t?z:0);v<h;v++){o=r[v].o?r[v].o.priority||0:0;if(o<x){m=v;break}}}else{y._highestNegativePriorityIndex=m}}else{if(s){m=z}}if(!t&&m<=z){y._highestNegativePriorityIndex++}if(m===h){r[h]=j}else{a(r,m,[j])}if(p.isElement){p._getPublisher(k).subscribe(p,k,g.delegated!==false,g.capture)}if(q){w=q.managedListeners||(q.managedListeners=[]);w.push({item:y.observable,ename:(g&&g.managedName)||y.name,fn:n,scope:e,options:g})}l=true}return l},createListener:function(n,q,e,g,i){var l=this,m=Ext._namedScopes[q],h={fn:n,scope:q,ev:l,caller:g,manager:i,namedScope:m,defaultScope:m?(q||l.observable):undefined,lateBound:typeof n==="string"},p=n,k=false,j;if(e){h.o=e;if(e.single){p=l.createSingle(p,h,e,q);k=true}if(e.target){p=l.createTargeted(p,h,e,q,k);k=true}if(e.onFrame){p=l.createAnimFrame(p,h,e,q,k);k=true}if(e.delay){p=l.createDelayed(p,h,e,q,k);k=true}if(e.buffer){p=l.createBuffered(p,h,e,q,k);k=true}if(l.observable.isElement){j=e.type;if(j){h.type=j}}}h.fireFn=p;h.wrapped=k;return h},findListener:function(j,h){var g=this.listeners,e=g.length,k;while(e--){k=g[e];if(k){if(k.fn===j&&k.scope==h){return e}}}return -1},removeListener:function(p,r,n){var o=this,m=false,e=o.observable,l=o.name,h,s,j,q,g,k;n=n!=null?n:o.findListener(p,r);if(n!==-1){h=o.listeners[n];if(o.firing){o.listeners=o.listeners.slice(0)}o.listeners.splice(n,1);if(o._highestNegativePriorityIndex){if(n<o._highestNegativePriorityIndex){o._highestNegativePriorityIndex--}else{if(n===o._highestNegativePriorityIndex&&n===o.listeners.length){delete o._highestNegativePriorityIndex}}}if(h){s=h.o;if(h.task){h.task.cancel();delete h.task}k=h.tasks&&h.tasks.length;if(k){while(k--){h.tasks[k].cancel()}delete h.tasks}j=h.manager;if(j){q=j.managedListeners;if(q){for(k=q.length;k--;){g=q[k];if(g.item===o.observable&&g.ename===l&&g.fn===p&&g.scope===r){q.splice(k,1)}}}}if(e.isElement){e._getPublisher(l).unsubscribe(e,l,s.delegated!==false,s.capture)}}m=true}return m},clearListeners:function(){var g=this.listeners,e=g.length,h;while(e--){h=g[e];this.removeListener(h.fn,h.scope)}},suspend:function(){++this.suspended},resume:function(){if(this.suspended){--this.suspended}},isSuspended:function(){return this.suspended>0},fireDelegated:function(g,e){this.firingObservable=g;return this.fire.apply(this,e)},fire:function(){var C=this,g=Ext.ComponentQuery,t=C.listeners,n=t.length,q=C.observable,u=q.isElement,B=q.isComponent,z=C.firingObservable,k,y,r,w,h,l,x,v,D,j,p,m,A,s,o;if(!C.suspended&&n>0){C.firing=true;h=arguments.length?d.call(arguments,0):[];x=h.length;if(u){A=h[0]}for(w=0;w<n;w++){l=t[w];if(!l){continue}k=l.o;if(u){if(D){A.setCurrentTarget(D)}j=l.type;if(j){p=A;A=h[0]=p.chain({type:j})}Ext.EventObject=A}m=h;if(k){y=k.delegate;if(y){if(u){v=A.getTarget("#"+A.currentTarget.id+" "+y);if(v){h[1]=v;D=A.currentTarget;A.setCurrentTarget(v)}else{continue}}else{if(B&&!g.is(z,y,q)){continue}}}if(u){if(k.preventDefault){A.preventDefault()}if(k.stopPropagation){A.stopPropagation()}if(k.stopEvent){A.stopEvent()}}h[x]=k;if(k.args){m=k.args.concat(h)}}r=C.getFireInfo(l);s=r.fn;o=r.scope;r.fn=r.scope=null;if(o&&o.destroyed){C.removeListener(s,o,w);s=null}if(s&&s.apply(o,m)===false){Ext.EventObject=null;return(C.firing=false)}if(k){h.length--}if(p){A=h[0]=p;p=null}Ext.EventObject=null}}C.firing=false;return true},getFireInfo:function(k,j){var l=this.observable,e=k.fireFn,i=k.scope,g=k.namedScope,h;if(!j&&k.wrapped){b.fn=e;return b}h=j?k.fn:e;if(k.lateBound){if(!i||g){i=(k.caller||l).resolveListenerScope(k.defaultScope)}h=i[h]}else{if(g&&g.isController){i=(k.caller||l).resolveListenerScope(k.defaultScope)}else{if(!i||g){i=l}}}b.fn=h;b.scope=i;return b},createAnimFrame:function(h,i,k,g,e){var j;if(!e){j=i.ev.getFireInfo(i,true);h=j.fn;g=j.scope;j.fn=j.scope=null}return Ext.Function.createAnimationFrame(h,g,k.args)},createTargeted:function(h,i,j,g,e){return function(){if(j.target===arguments[0]){var k;if(!e){k=i.ev.getFireInfo(i,true);h=k.fn;g=k.scope;k.fn=k.scope=null}return h.apply(g,arguments)}}},createBuffered:function(h,i,j,g,e){i.task=new Ext.util.DelayedTask();return function(){if(i.task){var k;if(!e){k=i.ev.getFireInfo(i,true);h=k.fn;g=k.scope;k.fn=k.scope=null}i.task.delay(j.buffer,h,g,c(arguments))}}},createDelayed:function(h,i,j,g,e){return function(){var k=new Ext.util.DelayedTask(),l;if(!e){l=i.ev.getFireInfo(i,true);h=l.fn;g=l.scope;l.fn=l.scope=null}if(!i.tasks){i.tasks=[]}i.tasks.push(k);k.delay(j.delay||10,h,g,c(arguments))}},createSingle:function(h,i,j,g,e){return function(){var l=i.ev,m=l.observable,k=i.fn,n;if(m){m.removeListener(l.name,k,g)}else{l.removeListener(k,g)}if(!e){n=l.getFireInfo(i,true);h=n.fn;g=n.scope;n.fn=n.scope=null}return h.apply(g,arguments)}}}});Ext.define("Ext.mixin.Identifiable",{statics:{uniqueIds:{}},isIdentifiable:true,mixinId:"identifiable",idCleanRegex:/\.|[^\w\-]/g,defaultIdPrefix:"ext-",defaultIdSeparator:"-",getOptimizedId:function(){return this.id},getUniqueId:function(){var g=this.id,b,d,e,a,c;if(!(g||g===0)){b=this.self.prototype;d=this.defaultIdSeparator;a=Ext.mixin.Identifiable.uniqueIds;if(!b.hasOwnProperty("identifiablePrefix")){e=this.xtype;if(e){c=this.defaultIdPrefix+e.replace(this.idCleanRegex,d)+d}else{if(!(c=b.$className)){c=this.defaultIdPrefix+"anonymous"+d}else{c=c.replace(this.idCleanRegex,d).toLowerCase()+d}}b.identifiablePrefix=c}c=this.identifiablePrefix;if(!a.hasOwnProperty(c)){a[c]=0}g=this.id=this.id=c+(++a[c])}this.getUniqueId=this.getOptimizedId;return g},setId:function(a){this.id=this.id=a},getId:function(){var a=this.id;if(!a){a=this.getUniqueId()}this.getId=this.getOptimizedId;return a}});Ext.define("Ext.mixin.Observable",function(b){var e=Ext.emptyFn,d=[],g=Array.prototype,h=g.slice,c=function(i){if(i instanceof c){return i}this.observable=i;if(arguments[1].isObservable){this.managedListeners=true}this.args=h.call(arguments,1)},a=["events","hasListeners","managedListeners","eventedBeforeEventNames"];c.prototype.destroy=function(){this.destroy=Ext.emptyFn;var i=this.observable;if(!i.destroyed){i[this.managedListeners?"mun":"un"].apply(i,this.args)}};return{extend:Ext.Mixin,mixinConfig:{id:"observable",after:{destroy:"destroyObservable"}},mixins:[Ext.mixin.Identifiable],statics:{releaseCapture:function(i){i.fireEventArgs=this.prototype.fireEventArgs},capture:function(l,j,i){var k=function(m,n){return j.apply(i,[m].concat(n))};this.captureArgs(l,k,i)},captureArgs:function(k,j,i){k.fireEventArgs=Ext.Function.createInterceptor(k.fireEventArgs,j,i)},observe:function(i,j){if(i){if(!i.isObservable){Ext.applyIf(i,new this());this.captureArgs(i.prototype,i.fireEventArgs,i)}if(Ext.isObject(j)){i.on(j)}}return i},prepareClass:function(n,v,p){var u=n.listeners=[],s=p||n.prototype,j=s.listeners,m=v?v.listeners:n.superclass.self.listeners,k,w,t,o,r;if(m){u.push(m)}if(j){w=j.scope;if(!w){j.scope="self"}else{t=Ext._namedScopes[w];if(t&&t.isController){j.scope="self.controller"}}u.push(j);s.listeners=null}if(!n.HasListeners){var q=function(){},l=n.superclass.HasListeners||(v&&v.HasListeners)||b.HasListeners;n.prototype.HasListeners=n.HasListeners=q;q.prototype=n.hasListeners=new l()}w=n.prototype.$noClearOnDestroy||{};for(o=0,r=a.length;o<r;o++){w[a[o]]=true}n.prototype.$noClearOnDestroy=w}},isObservable:true,$vetoClearingPrototypeOnDestroy:true,eventsSuspended:0,constructor:function(m){var p=this,l=p.self,k,o,q,j,n;if(p.$observableInitialized){return}p.$observableInitialized=true;p.hasListeners=p.hasListeners=new p.HasListeners();p.eventedBeforeEventNames={};p.events=p.events||{};k=l.listeners;if(k&&!p._addDeclaredListeners(k)){l.listeners=null}o=(m&&m.listeners)||p.listeners;if(o){if(o instanceof Array){for(n=0,j=o.length;n<j;++n){p.addListener(o[n])}}else{p.addListener(o)}}q=(m&&m.bubbleEvents)||p.bubbleEvents;if(q){p.enableBubble(q)}if(p.$applyConfigs){if(m){Ext.apply(p,m)}}else{p.initConfig(m)}if(o){p.listeners=null}},onClassExtended:function(i,j){if(!i.HasListeners){b.prepareClass(i,i.prototype.$observableMixedIn?undefined:j)}},$eventOptions:{scope:1,delay:1,buffer:1,onFrame:1,single:1,args:1,destroyable:1,priority:1,order:1},$orderToPriority:{before:100,current:0,after:-100},_addDeclaredListeners:function(i){var j=this;if(i instanceof Array){Ext.each(i,j._addDeclaredListeners,j)}else{j._addedDeclaredListeners=true;j.addListener(i)}return j._addedDeclaredListeners},addManagedListener:function(p,l,n,q,r,k){var m=this,o=m.managedListeners=m.managedListeners||[],j,i;if(typeof l!=="string"){i=arguments.length>4?r:l;r=l;for(l in r){if(r.hasOwnProperty(l)){j=r[l];if(!p.$eventOptions[l]){m.addManagedListener(p,l,j.fn||j,j.scope||r.scope||q,j.fn?j:i,true)}}}if(r&&r.destroyable){return new c(m,p,r)}}else{if(n!==e){p.doAddListener(l,n,q,r,null,m,m);if(!k&&r&&r.destroyable){return new c(m,p,l,n,q)}}}},removeManagedListener:function(q,l,o,r){var n=this,s,k,p,j,m;if(q.$observableDestroyed){return}if(typeof l!=="string"){s=l;for(l in s){if(s.hasOwnProperty(l)){k=s[l];if(!q.$eventOptions[l]){n.removeManagedListener(q,l,k.fn||k,k.scope||s.scope||r)}}}}else{p=n.managedListeners?n.managedListeners.slice():[];l=Ext.canonicalEventName(l);for(m=0,j=p.length;m<j;m++){n.removeManagedListenerItem(false,p[m],q,l,o,r)}}},fireEvent:function(i){return this.fireEventArgs(i,h.call(arguments,1))},resolveListenerScope:function(j){var i=Ext._namedScopes[j];if(i){if(i.isSelf||i.isThis){j=null}}return j||this},fireEventArgs:function(i,k){i=Ext.canonicalEventName(i);var n=this,l=n.events,m=l&&l[i],j=true;if(n.hasListeners[i]){j=n.doFireEvent(i,k||d,m?m.bubble:false)}return j},fireAction:function(j,l,n,m,k,i){if(typeof n==="string"&&!m){n=this[n]}k=k?Ext.Object.chain(k):{};k.single=true;k.priority=((i==="after")?-99.5:99.5);this.doAddListener(j,n,m,k);this.fireEventArgs(j,l)},$eventedController:{_paused:1,pause:function(){++this._paused},resume:function(){var n=this,m=n.fn,l=n.scope,o=n.fnArgs,i=n.owner,k,j;if(!--n._paused){if(m){k=Ext.Array.slice(o||n.args);if(o===false){k.shift()}n.fn=null;k.push(n);if(Ext.isFunction(m)){j=m.apply(l,k)}else{if(l&&Ext.isString(m)&&Ext.isFunction(l[m])){j=l[m].apply(l,k)}}if(j===false){return false}}if(!n._paused){return n.owner.fireEventArgs(n.eventName,n.args)}}}},fireEventedAction:function(j,l,o,r,n){var m=this,q=m.eventedBeforeEventNames,k=q[j]||(q[j]="before"+j),i=Ext.apply({owner:m,eventName:j,fn:o,scope:r,fnArgs:n,args:l},m.$eventedController),p;l.push(i);p=m.fireEventArgs(k,l);l.pop();if(p===false){return false}return i.resume()},doFireEvent:function(k,m,j){var o=this,i,n,l=true;do{if(o.eventsSuspended){if((i=o.eventQueue)){i.push([k,m])}return l}else{n=o.events&&o.events[k];if(n&&n!==true){if((l=n.fire.apply(n,m))===false){break}}}}while(j&&(o=o.getBubbleParent()));return l},getBubbleParent:function(){var j=this,i=j.getBubbleTarget&&j.getBubbleTarget();if(i&&i.isObservable){return i}return null},addListener:function(m,s,t,u,k,i){var r=this,n=Ext._namedScopes,j,q,o,p,l;if(typeof m!=="string"){u=m;t=u.scope;q=t&&n[t];o=q&&q.isSelf;l=((r.isComponent||r.isWidget)&&u.element)?r.$elementEventOptions:r.$eventOptions;for(m in u){j=u[m];if(!l[m]){p=j.scope;if(p&&o){q=n[p];if(q&&q.isController){p="self.controller"}}r.doAddListener(m,j.fn||j,p||t,j.fn?j:u,k,i)}}if(u&&u.destroyable){return new c(r,u)}}else{r.doAddListener(m,s,t,u,k,i);if(u&&u.destroyable){return new c(r,m,s,t,u)}}return r},removeListener:function(l,n,m,i){var o=this,k,j;if(typeof l!=="string"){j=l;i=i||o.$eventOptions;for(l in j){if(j.hasOwnProperty(l)){k=j[l];if(!o.$eventOptions[l]){o.doRemoveListener(l,k.fn||k,k.scope||j.scope)}}}}else{o.doRemoveListener(l,n,m)}return o},onBefore:function(i,l,k,j){return this.addListener(i,l,k,j,"before")},onAfter:function(i,l,k,j){return this.addListener(i,l,k,j,"after")},unBefore:function(i,l,k,j){return this.removeListener(i,l,k,j,"before")},unAfter:function(i,l,k,j){return this.removeListener(i,l,k,j,"after")},addBeforeListener:function(){return this.onBefore.apply(this,arguments)},addAfterListener:function(){return this.onAfter.apply(this,arguments)},removeBeforeListener:function(){return this.unBefore.apply(this,arguments)},removeAfterListener:function(){return this.unAfter.apply(this,arguments)},clearListeners:function(){var m=this,k=m.events,i=m.hasListeners,l,j;if(k){for(j in k){if(k.hasOwnProperty(j)){l=k[j];if(l.isEvent){delete i[j];l.clearListeners()}}}m.events=null}m.clearManagedListeners()},clearManagedListeners:function(){var m=this,k=m.managedListeners?m.managedListeners.slice():[],l=0,j=k.length;for(;l<j;l++){m.removeManagedListenerItem(true,k[l])}m.managedListeners=[]},removeManagedListenerItem:function(j,i,n,k,m,l){if(j||(i.item===n&&i.ename===k&&(!m||i.fn===m)&&(!l||i.scope===l))){if(!i.item.destroyed){i.item.doRemoveListener(i.ename,i.fn,i.scope,i.options)}if(!j){Ext.Array.remove(this.managedListeners,i)}}},hasListener:function(i){i=Ext.canonicalEventName(i);return !!this.hasListeners[i]},isSuspended:function(k){var j=this.eventsSuspended>0,i=this.events;if(!j&&k&&i){k=i[k];if(k&&k.isEvent){return k.isSuspended()}}return j},suspendEvents:function(i){++this.eventsSuspended;if(i&&!this.eventQueue){this.eventQueue=[]}},suspendEvent:function(){var o=this,m=o.events,j=arguments.length,l,n,k;for(l=0;l<j;l++){k=arguments[l];k=Ext.canonicalEventName(k);n=m[k];if(!n||!n.isEvent){n=o._initEvent(k)}n.suspend()}},resumeEvent:function(){var m=this.events||0,j=m&&arguments.length,l,n,k;for(l=0;l<j;l++){k=Ext.canonicalEventName(arguments[l]);n=m[k];if(n&&n.resume){n.resume()}}},resumeEvents:function(i){var j=this,m=j.eventQueue,l,k;if(j.eventsSuspended&&!--j.eventsSuspended){delete j.eventQueue;if(!i&&m){l=m.length;for(k=0;k<l;k++){j.fireEventArgs.apply(j,m[k])}}}},relayEvents:function(q,r,l){var p=this,m=r.length,k=0,j,n,o={};if(Ext.isObject(r)){for(k in r){n=r[k];o[k]=p.createRelayer(n)}}else{for(;k<m;k++){j=r[k];o[j]=p.createRelayer(l?l+j:j)}}p.mon(q,o,null,null,undefined);return new c(p,q,o)},createRelayer:function(i,j){var k=this;return function(){return k.fireEventArgs.call(k,i,j?h.apply(arguments,j):arguments)}},enableBubble:function(q){if(q){var o=this,p=(typeof q=="string")?arguments:q,l=o.events,n=l&&p.length,k,m,j;for(j=0;j<n;++j){k=p[j];k=Ext.canonicalEventName(k);m=l[k];if(!m||!m.isEvent){m=o._initEvent(k)}o.hasListeners._incr_(k);m.bubble=true}}},destroy:function(){this.clearListeners();this.callParent();this.destroyObservable(true)},destroyObservable:function(j){var i=this;if(i.$observableDestroyed){return}if(!j){i.clearListeners()}if(i.destroyed){if(i.clearPropertiesOnDestroy){if(!i.clearPrototypeOnDestroy){i.fireEvent=i.fireEventArgs=i.fireAction=i.fireEventedAction=Ext.emptyFn}i.events=i.managedListeners=i.eventedBeforeEventNames=null;i.$observableDestroyed=true}}},privates:{doAddListener:function(l,p,r,s,k,j,m){var o=this,n=false,i,q;k=k||(s&&s.order);if(k){q=(s&&s.priority);if(!q){s=s?Ext.Object.chain(s):{};s.priority=o.$orderToPriority[k]}}l=Ext.canonicalEventName(l);i=(o.events||(o.events={}))[l];if(!i||!i.isEvent){i=o._initEvent(l)}if(p!==e){if(!m&&(r&&r.isObservable&&(r!==o))){m=r}if(i.addListener(p,r,s,j,m)){o.hasListeners._incr_(l);n=true}}return n},doRemoveListener:function(k,m,l){var o=this,i=false,j=o.events,n;k=Ext.canonicalEventName(k);n=j&&j[k];if(n&&n.isEvent){if(n.removeListener(m,l)){o.hasListeners._decr_(k);i=true}}return i},_initEvent:function(i){return(this.events[i]=new Ext.util.Event(this,i))}},deprecated:{"5.0":{methods:{addEvents:null}}}}},function(){var b=this,e=b.prototype,c=function(){},g=function(h){if(!h.HasListeners){var i=h.prototype;i.$observableMixedIn=1;b.prepareClass(h,this);h.onExtended(function(j,k){b.prepareClass(j,null,k)});if(i.onClassMixedIn){Ext.override(h,{onClassMixedIn:function(j){g.call(this,j);this.callParent(arguments)}})}else{i.onClassMixedIn=function(j){g.call(this,j)}}}a.call(this,h)},a=e.onClassMixedIn;c.prototype={_decr_:function(i,h){if(h==null){h=1}if(!(this[i]-=h)){delete this[i]}},_incr_:function(h){if(this.hasOwnProperty(h)){++this[h]}else{this[h]=1}}};e.HasListeners=b.HasListeners=c;b.createAlias({on:"addListener",un:"removeListener",mon:"addManagedListener",mun:"removeManagedListener",setListeners:"addListener"});b.observeClass=b.observe;function d(n){var m=(this.methodEvents=this.methodEvents||{})[n],j,i,k,l=this,h;if(!m){this.methodEvents[n]=m={};m.originalFn=this[n];m.methodName=n;m.before=[];m.after=[];h=function(q,p,o){if((i=q.apply(p||l,o))!==undefined){if(typeof i=="object"){if(i.returnValue!==undefined){j=i.returnValue}else{j=i}k=!!i.cancel}else{if(i===false){k=true}else{j=i}}}};this[n]=function(){var q=Array.prototype.slice.call(arguments,0),p,r,o;j=i=undefined;k=false;for(r=0,o=m.before.length;r<o;r++){p=m.before[r];h(p.fn,p.scope,q);if(k){return j}}if((i=m.originalFn.apply(l,q))!==undefined){j=i}for(r=0,o=m.after.length;r<o;r++){p=m.after[r];h(p.fn,p.scope,q);if(k){return j}}return j}}return m}Ext.apply(e,{onClassMixedIn:g,beforeMethod:function(j,i,h){d.call(this,j).before.push({fn:i,scope:h})},afterMethod:function(j,i,h){d.call(this,j).after.push({fn:i,scope:h})},removeMethodListener:function(n,l,k){var m=this.getMethodEvent(n),j,h;for(j=0,h=m.before.length;j<h;j++){if(m.before[j].fn==l&&m.before[j].scope==k){Ext.Array.erase(m.before,j,1);return}}for(j=0,h=m.after.length;j<h;j++){if(m.after[j].fn==l&&m.after[j].scope==k){Ext.Array.erase(m.after,j,1);return}}},toggleEventLogging:function(h){Ext.util.Observable[h?"capture":"releaseCapture"](this,function(i){if(Ext.isDefined(Ext.global.console)){Ext.global.console.log(i,arguments)}})}})});Ext.define("Ext.util.HashMap",{mixins:[Ext.mixin.Observable],generation:0,config:{keyFn:null},constructor:function(a){var c=this,b;c.mixins.observable.constructor.call(c,a);c.clear(true);b=c.getKeyFn();if(b){c.getKey=b}},getCount:function(){return this.length},getData:function(a,b){if(b===undefined){b=a;a=this.getKey(b)}return[a,b]},getKey:function(a){return a.id},add:function(a,c){var b=this;if(arguments.length===1){c=a;a=b.getKey(c)}if(b.containsKey(a)){return b.replace(a,c)}b.map[a]=c;++b.length;b.generation++;if(b.hasListeners.add){b.fireEvent("add",b,a,c)}return c},replace:function(b,d){var c=this,e=c.map,a;if(arguments.length===1){d=b;b=c.getKey(d)}if(!c.containsKey(b)){c.add(b,d)}a=e[b];e[b]=d;c.generation++;if(c.hasListeners.replace){c.fireEvent("replace",c,b,d,a)}return d},remove:function(b){var a=this.findKey(b);if(a!==undefined){return this.removeAtKey(a)}return false},removeAtKey:function(a){var b=this,c;if(b.containsKey(a)){c=b.map[a];delete b.map[a];--b.length;b.generation++;if(b.hasListeners.remove){b.fireEvent("remove",b,a,c)}return true}return false},get:function(a){var b=this.map;return b.hasOwnProperty(a)?b[a]:undefined},clear:function(a){var b=this;if(a||b.generation){b.map={};b.length=0;b.generation=a?0:b.generation+1}if(a!==true&&b.hasListeners.clear){b.fireEvent("clear",b)}return b},containsKey:function(a){var b=this.map;return b.hasOwnProperty(a)&&b[a]!==undefined},contains:function(a){return this.containsKey(this.findKey(a))},getKeys:function(){return this.getArray(true)},getValues:function(){return this.getArray(false)},getArray:function(d){var a=[],b,c=this.map;for(b in c){if(c.hasOwnProperty(b)){a.push(d?b:c[b])}}return a},each:function(d,c){var a=Ext.apply({},this.map),b,e=this.length;c=c||this;for(b in a){if(a.hasOwnProperty(b)){if(d.call(c,b,a[b],e)===false){break}}}return this},clone:function(){var c=new this.self(this.initialConfig),b=this.map,a;c.suspendEvents();for(a in b){if(b.hasOwnProperty(a)){c.add(a,b[a])}}c.resumeEvents();return c},findKey:function(b){var a,c=this.map;for(a in c){if(c.hasOwnProperty(a)&&c[a]===b){return a}}return undefined}},function(b){var a=b.prototype;a.removeByKey=a.removeAtKey});Ext.define("Ext.AbstractManager",{typeName:"type",constructor:function(a){Ext.apply(this,a||{});this.all=new Ext.util.HashMap();this.types={}},get:function(a){return this.all.get(a)},register:function(a){this.all.add(a)},unregister:function(a){this.all.remove(a)},registerType:function(b,a){this.types[b]=a;a[this.typeName]=b},isRegistered:function(a){return this.types[a]!==undefined},create:function(a,d){var b=a[this.typeName]||a.type||d,c=this.types[b];return new c(a)},onAvailable:function(g,c,b){var a=this.all,d,e;if(a.containsKey(g)){d=a.get(g);c.call(b||d,d)}else{e=function(j,h,i){if(h==g){c.call(b||i,i);a.un("add",e)}};a.on("add",e)}},each:function(b,a){this.all.each(b,a||this)},getCount:function(){return this.all.getCount()}});Ext.define("Ext.promise.Consequence",function(a){return{promise:null,deferred:null,onFulfilled:null,onRejected:null,onProgress:null,constructor:function(e,b,d){var c=this;c.onFulfilled=e;c.onRejected=b;c.onProgress=d;c.deferred=new Ext.promise.Deferred();c.promise=c.deferred.promise},trigger:function(e,d){var c=this,b=c.deferred;switch(e){case"fulfill":c.propagate(d,c.onFulfilled,b,b.resolve);break;case"reject":c.propagate(d,c.onRejected,b,b.reject);break}},update:function(b){if(Ext.isFunction(this.onProgress)){b=this.onProgress(b)}this.deferred.update(b)},propagate:function(d,e,b,c){if(Ext.isFunction(e)){this.schedule(function(){try{b.resolve(e(d))}catch(g){b.reject(g)}})}else{c.call(this.deferred,d)}},schedule:function(c){var b=a.queueSize++;a.queue[b]=c;if(!b){Ext.asap(a.dispatch)}},statics:{queue:new Array(10000),queueSize:0,dispatch:function(){var b=a.queue,d,c;for(c=0;c<a.queueSize;++c){d=b[c];b[c]=null;d()}a.queueSize=0}}}});Ext.define("Ext.promise.Deferred",{promise:null,consequences:[],completed:false,completionAction:null,completionValue:null,constructor:function(){var a=this;a.promise=new Ext.promise.Promise(a);a.consequences=[];a.completed=false;a.completionAction=null;a.completionValue=null},then:function(e,a,d){var c=this,b=new Ext.promise.Consequence(e,a,d);if(c.completed){b.trigger(c.completionAction,c.completionValue)}else{c.consequences.push(b)}return b.promise},resolve:function(d){var c=this,a,b;if(c.completed){return}try{if(d===c.promise){throw new TypeError("A Promise cannot be resolved with itself.")}if(d!=null&&(typeof d==="object"||Ext.isFunction(d))&&Ext.isFunction(b=d.then)){a=false;try{b.call(d,function(h){if(!a){a=true;c.resolve(h)}},function(h){if(!a){a=true;c.reject(h)}})}catch(g){if(!a){c.reject(g)}}}else{c.complete("fulfill",d)}}catch(e){c.reject(e)}},reject:function(a){if(this.completed){return}this.complete("reject",a)},update:function(b){var e=this.consequences,d,c,a;if(this.completed){return}for(c=0,a=e.length;c<a;c++){d=e[c];d.update(b)}},complete:function(g,e){var d=this,h=d.consequences,c,b,a;d.completionAction=g;d.completionValue=e;d.completed=true;for(b=0,a=h.length;b<a;b++){c=h[b];c.trigger(d.completionAction,d.completionValue)}d.consequences=null}});Ext.define("Ext.promise.Promise",function(b){var a;return{statics:{CancellationError:Ext.global.CancellationError||Error,_ready:function(){a=Ext.promise.Deferred},all:function(c){return b.when(c).then(function(e){var n=new a(),j=e.length,g=new Array(j),l,d,m,h,k;if(!j){n.resolve(g)}else{m=function(o,i){return b.when(o).then(function(p){g[i]=p;if(!--j){n.resolve(g)}return p},function(p){return n.reject(p)})};for(l=h=0,k=e.length;h<k;l=++h){d=e[l];if(l in e){m(d,l)}else{j--}}}return n.promise})},is:function(c){return c!=null&&(typeof c==="object"||Ext.isFunction(c))&&Ext.isFunction(c.then)},rethrowError:function(c){Ext.asap(function(){throw c})},when:function(d){var c=new Ext.promise.Deferred();c.resolve(d);return c.promise}},owner:null,constructor:function(c){this.owner=c},then:function(h,c,g,d){var e;if(arguments.length===1&&Ext.isObject(arguments[0])){e=arguments[0];h=e.success;c=e.failure;g=e.progress;d=e.scope}if(d){if(h){h=Ext.Function.bind(h,d)}if(c){c=Ext.Function.bind(c,d)}if(g){g=Ext.Function.bind(g,d)}}return this.owner.then(h,c,g)},otherwise:function(c,d){var e;if(arguments.length===1&&Ext.isObject(arguments[0])){e=arguments[0];c=e.fn;d=e.scope}if(d!=null){c=Ext.Function.bind(c,d)}return this.owner.then(null,c)},always:function(c,d){var e;if(arguments.length===1&&Ext.isObject(arguments[0])){e=arguments[0];c=e.fn;d=e.scope}if(d!=null){c=Ext.Function.bind(c,d)}return this.owner.then(function(g){try{c()}catch(h){b.rethrowError(h)}return g},function(h){try{c()}catch(g){b.rethrowError(g)}throw h})},done:function(){this.owner.then(null,b.rethrowError)},cancel:function(c){if(c==null){c=null}this.owner.reject(new this.self.CancellationError(c))},log:function(c){if(c==null){c=""}return this.owner.then(function(d){Ext.log(""+(c||"Promise")+" resolved with value: "+d);return d},function(d){Ext.log(""+(c||"Promise")+" rejected with reason: "+d);throw d})}}},function(a){a._ready()});Ext.define("Ext.Promise",function(){var a;return{statics:{_ready:function(){a=Ext.promise.Promise},all:function(){return a.all.apply(a,arguments)},race:function(){},reject:function(c){var b=new Ext.promise.Deferred();b.reject(c);return b.promise},resolve:function(c){var b=new Ext.promise.Deferred();b.resolve(c);return b.promise}},constructor:function(c){var b=new Ext.promise.Deferred();c(b.resolve.bind(b),b.reject.bind(b));return b.promise}}},function(a){var b=Ext.global.Promise;if(b&&b.resolve){Ext.Promise=b}else{a._ready()}});Ext.define("Ext.Deferred",function(b){var c,a;return{extend:Ext.promise.Deferred,statics:{_ready:function(){c=Ext.promise.Promise;a=Ext.Promise.resolve},all:function(){return c.all.apply(c,arguments)},any:function(d){return b.some(d,1).then(function(e){return e[0]},function(e){if(e instanceof Error&&e.message==="Too few Promises were resolved."){Ext.raise("No Promises were resolved.")}else{throw e}})},delay:function(d,g){var e;if(arguments.length===1){g=d;d=undefined}g=Math.max(g,0);e=new b();setTimeout(function(){e.resolve(d)},g);return e.promise},map:function(d,e){return b.resolved(d).then(function(h){var p,n,g,l,o,j,k,m;l=h.length;j=new Array(h.length);p=new b();if(!l){p.resolve(j)}else{o=function(q,i){return b.resolved(q).then(function(r){return e(r,i,j)}).then(function(r){j[i]=r;if(!--l){p.resolve(j)}return r},function(r){return p.reject(r)})};for(n=k=0,m=h.length;k<m;n=++k){g=h[n];if(n in h){o(g,n)}else{l--}}}return p.promise})},memoize:function(h,g,d){var e=Ext.Function.memoize(h,g,d);return function(){return b.all(Ext.Array.slice(arguments)).then(function(i){return e.apply(g,i)})}},parallel:function(e,g){if(g==null){g=null}var d=Ext.Array.slice(arguments,2);return b.map(e,function(h){if(!Ext.isFunction(h)){throw new Error("Invalid parameter: expected a function.")}return h.apply(g,d)})},pipeline:function(e,d,g){if(g==null){g=null}return b.reduce(e,function(i,h){if(!Ext.isFunction(h)){throw new Error("Invalid parameter: expected a function.")}return h.call(g,i)},d)},reduce:function(e,g,d){var h=arguments.length===3;return b.resolved(e).then(function(j){var i=[j,function(l,m,k){return b.resolved(l).then(function(n){return b.resolved(m).then(function(o){return g(n,o,k,j)})})}];if(h){i.push(d)}return Ext.Array.reduce.apply(Ext.Array,i)})},rejected:function(e){var d=new Ext.Deferred();d.reject(e);return d.promise},resolved:function(e){var d=new Ext.Deferred();d.resolve(e);return d.promise},sequence:function(e,g){if(g==null){g=null}var d=Ext.Array.slice(arguments,2);return b.reduce(e,function(h,i){if(!Ext.isFunction(i)){throw new Error("Invalid parameter: expected a function.")}return b.resolved(i.apply(g,d)).then(function(j){h.push(j);return h})},[])},some:function(e,d){return b.resolved(e).then(function(j){var r,n,p,q,h,g,l,o,k,m;o=[];l=d;g=(j.length-l)+1;r=new b();if(j.length<d){r.reject(new Error("Too few Promises were resolved."))}else{q=function(i){if(l>0){o.push(i)}l--;if(l===0){r.resolve(o)}return i};p=function(i){g--;if(g===0){r.reject(new Error("Too few Promises were resolved."))}return i};for(n=k=0,m=j.length;k<m;n=++k){h=j[n];if(n in j){b.resolved(h).then(q,p)}}}return r.promise})},timeout:function(d,g){var e=new b(),h;h=setTimeout(function(){if(h){e.reject(new Error("Promise timed out."))}},g);b.resolved(d).then(function(i){clearTimeout(h);h=null;e.resolve(i)},function(i){clearTimeout(h);h=null;e.reject(i)});return e.promise}}}},function(a){a._ready()});Ext.Factory=function(a){var b=this;b.aliasPrefix=a+".";b.cache={};b.name=a.replace(b.fixNameRe,b.fixNameFn);b.type=a};Ext.Factory.prototype={defaultProperty:"type",instanceProp:"isInstance",create:function(c,e){var i=this,a=Ext.ClassManager,b=i.cache,d,h,g,j;if(c){if(c[i.instanceProp]){return c}if(typeof c==="string"){j=c;c={};c[i.defaultProperty]=j}h=c.xclass;j=c.type}if(e&&e.constructor===Object){c=Ext.apply({},c,e);e=e.type}if(h){if(!(g=a.get(h))){return a.instantiate(h,c)}}else{if(!(j=j||e||i.defaultType)){g=i.defaultClass}if(!g&&!(g=b[j])){d=i.aliasPrefix+j;h=a.getNameByAlias(d);if(!(g=h&&a.get(h))){return a.instantiateByAlias(d,c)}b[j]=g}}return g.isInstance?g:new g(c)},fixNameRe:/\.[a-z]/ig,fixNameFn:function(a){return a.substring(1).toUpperCase()},clearCache:function(){this.cache={}}};Ext.Factory.define=function(g,d){var a=Ext.Factory,b,c,e;if(g.constructor===Object){Ext.Object.each(g,a.define,a)}else{c=new Ext.Factory(g);if(d){if(d.constructor===Object){Ext.apply(c,d);if(typeof(b=c.xclass)==="string"){c.defaultClass=Ext.ClassManager.get(b)}}else{c.defaultType=d}}a[c.name]=e=c.create.bind(c);e.instance=c}return e};Ext.define("Ext.mixin.Factoryable",{mixinId:"factoryable",onClassMixedIn:function(g){var e=g.prototype,h=e.factoryConfig,d=e.alias,c={},b,a;d=d&&d.length&&d[0];if(d&&(b=d.lastIndexOf("."))>0){c.type=d.substring(0,b);c.defaultType=d.substring(b+1)}if(h){delete e.factoryConfig;Ext.apply(c,h)}a=Ext.Factory.define(c.type,c);if(g.create===Ext.Base.create){g.create=a}}});Ext.define("Ext.data.request.Base",{mixins:[Ext.mixin.Factoryable],factoryConfig:{type:"request",defaultType:"ajax"},result:null,success:null,timer:null,constructor:function(a){var b=this;Ext.apply(b,a.options||{},a.ownerConfig);b.id=++Ext.data.Connection.requestId;b.owner=a.owner;b.options=a.options;b.requestOptions=a.requestOptions},start:function(){var a=this,b=a.getTimeout();if(b&&a.async){a.timer=Ext.defer(a.onTimeout,b,a)}},abort:function(){var a=this;a.clearTimer();if(!a.timedout){a.aborted=true}a.abort=Ext.emptyFn},createDeferred:function(){return(this.deferred=new Ext.Deferred())},getDeferred:function(){return this.deferred||this.createDeferred()},getPromise:function(){return this.getDeferred().promise},then:function(){var a=this.getPromise();return a.then.apply(a,arguments)},onComplete:function(){var c=this,b=c.deferred,a=c.result;c.clearTimer();if(b){if(c.success){b.resolve(a)}else{b.reject(a)}}},onTimeout:function(){var a=this;a.timedout=true;a.timer=null;a.abort(true)},getTimeout:function(){return this.timeout},clearTimer:function(){var a=this.timer;if(a){clearTimeout(a);this.timer=null}},destroy:function(){var a=this;a.abort();a.owner=a.options=a.requestOptions=a.result=null;a.callParent()},privates:{createException:function(){var b=this,a;a={request:b,requestId:b.id,status:b.aborted?-1:0,statusText:b.aborted?"transaction aborted":"communication failure",getResponseHeader:b._getHeader,getAllResponseHeaders:b._getHeaders};if(b.aborted){a.aborted=true}if(b.timedout){a.timedout=true}return a},_getHeader:function(a){var b=this.headers;return b&&b[a.toLowerCase()]},_getHeaders:function(){return this.headers}}});Ext.define("Ext.data.flash.BinaryXhr",{statics:{flashPluginActivated:function(){Ext.data.flash.BinaryXhr.flashPluginActive=true;Ext.data.flash.BinaryXhr.flashPlugin=document.getElementById("ext-flash-polyfill");Ext.GlobalEvents.fireEvent("flashready")},flashPluginActive:false,flashPluginInjected:false,connectionIndex:1,liveConnections:{},flashPlugin:null,onFlashStateChange:function(d,c,b){var a;a=this.liveConnections[Number(d)];if(a){a.onFlashStateChange(c,b)}},registerConnection:function(b){var a=this.connectionIndex;this.conectionIndex=this.connectionIndex+1;this.liveConnections[a]=b;return a},injectFlashPlugin:function(){var b=this,a,c;b.flashPolyfillEl=Ext.getBody().appendChild({id:"ext-flash-polyfill",cn:[{tag:"p",html:"To view this page ensure that Adobe Flash Player version 11.1.0 or greater is installed."},{tag:"a",href:"http://www.adobe.com/go/getflashplayer",cn:[{tag:"img",src:window.location.protocol+"//www.adobe.com/images/shared/download_buttons/get_flash_player.gif",alt:"Get Adobe Flash player"}]}]});a=[Ext.Loader.getPath("Ext.data.Connection"),"../../../plugins/flash/swfobject.js"].join("/");c="/plugins/flash/FlashPlugin.swf";if(Ext.flashPluginPath){c=Ext.flashPluginPath}Ext.Loader.loadScript({url:a,onLoad:function(){var e="11.4.0";var h="playerProductInstall.swf";var d={};var i={};i.quality="high";i.bgcolor="#ffffff";i.allowscriptaccess="sameDomain";i.allowfullscreen="true";var g={};g.id="ext-flash-polyfill";g.name="polyfill";g.align="middle";swfobject.embedSWF(c,"ext-flash-polyfill","0","0",e,h,d,i,g)},onError:function(){},scope:b});Ext.data.flash.BinaryXhr.flashPluginInjected=true}},readyState:0,status:0,statusText:"",responseBytes:null,javascriptId:null,constructor:function(a){if(!Ext.data.flash.BinaryXhr.flashPluginInjected){Ext.data.flash.BinaryXhr.injectFlashPlugin()}var b=this;Ext.apply(b,a);b.requestHeaders={}},abort:function(){var a=this;if(a.readyState==4){return}a.aborted=true;if(!Ext.data.flash.BinaryXhr.flashPluginActive){Ext.GlobalEvents.removeListener("flashready",a.onFlashReady,a);return}Ext.data.flash.BinaryXhr.flashPlugin.abortRequest(a.javascriptId);delete Ext.data.flash.BinaryXhr.liveConnections[a.javascriptId]},getAllResponseHeaders:function(){var a=[];Ext.Object.each(this.responseHeaders,function(b,c){a.push(b+": "+c)});return a.join("\r\n")},getResponseHeader:function(b){var a=this.responseHeaders;return(a&&a[b])||null},open:function(g,c,d,a,b){var e=this;e.method=g;e.url=c;e.async=d!==false;e.user=a;e.password=b},overrideMimeType:function(a){this.mimeType=a},send:function(a){var b=this;b.body=a;if(!Ext.data.flash.BinaryXhr.flashPluginActive){Ext.GlobalEvents.addListener("flashready",b.onFlashReady,b)}else{this.onFlashReady()}},onFlashReady:function(){var c=this,b,a;c.javascriptId=Ext.data.flash.BinaryXhr.registerConnection(c);b={method:c.method,url:c.url,user:c.user,password:c.password,mimeType:c.mimeType,requestHeaders:c.requestHeaders,body:c.body,javascriptId:c.javascriptId};a=Ext.data.flash.BinaryXhr.flashPlugin.postBinary(b)},setReadyState:function(b){var a=this;if(a.readyState!=b){a.readyState=b;a.onreadystatechange()}},setRequestHeader:function(b,a){this.requestHeaders[b]=a},onreadystatechange:Ext.emptyFn,parseData:function(b){var a=this;this.status=b.status||0;a.responseHeaders={};if(a.mimeType){a.responseHeaders["content-type"]=a.mimeType}if(b.reason=="complete"){this.responseBytes=b.data;a.responseHeaders["content-length"]=b.data.length}else{if(b.reason=="error"||b.reason=="securityError"){this.statusText=b.text;a.responseHeaders["content-length"]=0}}},onFlashStateChange:function(c,b){var a=this;if(c==4){a.parseData(b);delete Ext.data.flash.BinaryXhr.liveConnections[a.javascriptId]}a.setReadyState(c)}});Ext.define("Ext.data.request.Ajax",{extend:Ext.data.request.Base,alias:"request.ajax",statics:{parseStatus:function(b,c){var a;if(c){if(c.responseType==="arraybuffer"){a=c.byteLength}else{if(c.responseText){a=c.responseText.length}}}b=b==1223?204:b;var e=(b>=200&&b<300)||b==304||(b==0&&Ext.isNumber(a)),d=false;if(!e){switch(b){case 12002:case 12029:case 12030:case 12031:case 12152:case 13030:d=true;break}}return{success:e,isException:d}}},start:function(e){var c=this,b=c.options,a=c.requestOptions,d=c.isXdr,h,g;h=c.xhr=c.openRequest(b,a,c.async,c.username,c.password);if(!d){g=c.setupHeaders(h,b,a.data,a.params)}if(c.async){if(!d){h.onreadystatechange=Ext.Function.bind(c.onStateChange,c)}}if(d){c.processXdrRequest(c,h)}c.callParent([e]);h.send(e);if(!c.async){return c.onComplete()}return c},abort:function(b){var a=this,d=a.xhr;if(b||a.isLoading()){try{d.onreadystatechange=null}catch(c){d.onreadystatechange=Ext.emptyFn}d.abort();a.callParent([b]);a.onComplete();a.cleanup()}},cleanup:function(){this.xhr=null;delete this.xhr},isLoading:function(){var a=this,d=a.xhr,b=d&&d.readyState,c=Ext.data.flash&&Ext.data.flash.BinaryXhr;if(!d||a.aborted||a.timedout){return false}if(c&&d instanceof c){return b!==4}return b!==0&&b!==4},openRequest:function(c,a,d,h,b){var e=this,g=e.newRequest(c);if(h){g.open(a.method,a.url,d,h,b)}else{if(e.isXdr){g.open(a.method,a.url)}else{g.open(a.method,a.url,d)}}if(c.binary||e.binary){if(window.Uint8Array){g.responseType="arraybuffer"}else{if(g.overrideMimeType){g.overrideMimeType("text/plain; charset=x-user-defined")}}}if(c.withCredentials||e.withCredentials){g.withCredentials=true}return g},newRequest:function(a){var b=this,c;if(a.binaryData){if(window.Uint8Array){c=b.getXhrInstance()}else{c=new Ext.data.flash.BinaryXhr()}}else{if(b.cors&&Ext.isIE9m){c=b.getXdrInstance();b.isXdr=true}else{c=b.getXhrInstance();b.isXdr=false}}return c},setupHeaders:function(o,p,g,d){var k=this,b=Ext.apply({},p.headers||{},k.defaultHeaders),n=k.defaultPostHeader,l=p.jsonData,a=p.xmlData,j="Content-Type",c=k.useDefaultXhrHeader,m,h;if(!b.hasOwnProperty(j)&&(g||d)){if(g){if(p.rawData){n="text/plain"}else{if(a&&Ext.isDefined(a)){n="text/xml"}else{if(l&&Ext.isDefined(l)){n="application/json"}}}}b[j]=n}if(c&&!b["X-Requested-With"]){b["X-Requested-With"]=k.defaultXhrHeader}if(b[j]===undefined||b[j]===null){delete b[j]}try{for(m in b){if(b.hasOwnProperty(m)){h=b[m];o.setRequestHeader(m,h)}}}catch(i){k.owner.fireEvent("exception",m,h)}return b},getXdrInstance:function(){var a;if(Ext.ieVersion>=8){a=new XDomainRequest()}else{Ext.raise({msg:"Your browser does not support CORS"})}return a},getXhrInstance:(function(){var b=[function(){return new XMLHttpRequest()},function(){return new ActiveXObject("MSXML2.XMLHTTP.3.0")},function(){return new ActiveXObject("MSXML2.XMLHTTP")},function(){return new ActiveXObject("Microsoft.XMLHTTP")}],c=0,a=b.length,g;for(;c<a;++c){try{g=b[c];g();break}catch(d){}}return g}()),processXdrRequest:function(b,c){var a=this;delete b.headers;b.contentType=b.options.contentType||a.defaultXdrContentType;c.onload=Ext.Function.bind(a.onStateChange,a,[true]);c.onerror=c.ontimeout=Ext.Function.bind(a.onStateChange,a,[false])},processXdrResponse:function(a,b){a.getAllResponseHeaders=function(){return[]};a.getResponseHeader=function(){return""};a.contentType=b.contentType||this.defaultXdrContentType},onStateChange:function(b){var c=this,d=c.xhr,a=Ext.GlobalEvents;if((d&&d.readyState==4)||c.isXdr){c.clearTimer();c.onComplete(b);c.cleanup();if(a.hasListeners.idle){a.fireEvent("idle")}}},onComplete:function(j){var g=this,a=g.owner,k=g.options,i=g.xhr,b={success:false,isException:false},l,h,c;if(!i||g.destroyed){return g.result=b}try{l=Ext.data.request.Ajax.parseStatus(i.status,i);if(l.success){l.success=i.readyState===4}}catch(d){l=b}h=g.success=g.isXdr?j:l.success;if(h){c=g.createResponse(i);if(a.hasListeners.requestcomplete){a.fireEvent("requestcomplete",a,c,k)}if(k.success){Ext.callback(k.success,k.scope,[c,k])}}else{if(l.isException||g.aborted||g.timedout){c=g.createException(i)}else{c=g.createResponse(i)}if(a.hasListeners.requestexception){a.fireEvent("requestexception",a,c,k)}if(k.failure){Ext.callback(k.failure,k.scope,[c,k])}}g.result=c;if(k.callback){Ext.callback(k.callback,k.scope,[k,h,c])}a.onRequestComplete(g);g.callParent([j]);return c},createResponse:function(j){var h=this,c=h.isXdr,b={},k=c?[]:j.getAllResponseHeaders().replace(/\r\n/g,"\n").split("\n"),e=k.length,l,g,i,d,a;while(e--){l=k[e];g=l.indexOf(":");if(g>=0){i=l.substr(0,g).toLowerCase();if(l.charAt(g+1)==" "){++g}b[i]=l.substr(g+1)}}d={request:h,requestId:h.id,status:j.status,statusText:j.statusText,getResponseHeader:function(m){return b[m.toLowerCase()]},getAllResponseHeaders:function(){return b}};if(c){h.processXdrResponse(d,j)}if(h.binary){d.responseBytes=h.getByteArray(j)}else{d.responseText=j.responseText;d.responseXML=j.responseXML}return d},destroy:function(){this.xhr=null;this.callParent()},privates:{getByteArray:function(k){var c=k.response,b=k.responseBody,l=Ext.data.flash&&Ext.data.flash.BinaryXhr,a,j,g,d;if(k instanceof l){a=k.responseBytes}else{if(window.Uint8Array){a=c?new Uint8Array(c):[]}else{if(Ext.isIE9p){try{a=new VBArray(b).toArray()}catch(h){a=[]}}else{if(Ext.isIE){if(!this.self.vbScriptInjected){this.injectVBScript()}getIEByteArray(k.responseBody,a=[])}else{a=[];j=k.responseText;g=j.length;for(d=0;d<g;d++){a.push(j.charCodeAt(d)&255)}}}}}return a},injectVBScript:function(){var a=document.createElement("script");a.type="text/vbscript";a.text=["Function getIEByteArray(byteArray, out)","Dim len, i","len = LenB(byteArray)","For i = 1 to len","out.push(AscB(MidB(byteArray, i, 1)))","Next","End Function"].join("\n");Ext.getHead().dom.appendChild(a);this.self.vbScriptInjected=true}}});Ext.define("Ext.data.request.Form",{extend:Ext.data.request.Base,alias:"request.form",start:function(d){var c=this,b=c.options,a=c.requestOptions;c.callParent([d]);c.form=c.upload(b.form,a.url,a.data,b);return c},abort:function(b){var a=this,d;if(a.isLoading()){try{d=a.frame.dom;if(d.stop){d.stop()}else{d.document.execCommand("Stop")}}catch(c){}}a.callParent([b]);a.onComplete();a.cleanup()},cleanup:function(){var a=this,b=a.frame;if(b){b.un("load",a.onComplete,a);Ext.removeNode(b)}a.frame=a.form=null},isLoading:function(){return !!this.frame},upload:function(b,i,u,g){b=Ext.getDom(b);g=g||{};var s=document.createElement("iframe"),m=Ext.get(s),o=m.id,c=[],d="multipart/form-data",t={target:b.target,method:b.method,encoding:b.encoding,enctype:b.enctype,action:b.action},a=function(h,v){j=document.createElement("input");Ext.fly(j).set({type:"hidden",value:v,name:h});b.appendChild(j);c.push(j)},j,l,q,w,p,k,n,r,e;m.set({name:o,cls:Ext.baseCSSPrefix+"hidden-display",src:Ext.SSL_SECURE_URL,tabIndex:-1});document.body.appendChild(s);if(document.frames){document.frames[o].name=o}Ext.fly(b).set({target:o,method:"POST",enctype:d,encoding:d,action:i||t.action});if(u){l=Ext.Object.fromQueryString(u)||{};for(w in l){if(l.hasOwnProperty(w)){q=l[w];if(Ext.isArray(q)){p=q.length;for(k=0;k<p;k++){a(w,q[k])}}else{a(w,q)}}}}this.frame=m;m.on({load:this.onComplete,scope:this,single:!Ext.isOpera});b.submit();Ext.fly(b).set(t);for(n=c.length,r=0;r<n;r++){Ext.removeNode(c[r])}return b},getDoc:function(){var a=this.frame.dom;return(a&&(a.contentWindow.document||a.contentDocument))||(window.frames[a.id]||{}).document},getTimeout:function(){return this.options.timeout},onComplete:function(){var h=this,b=h.frame,a=h.owner,l=h.options,j,i,k,d,c;if(!b){return}if(h.aborted||h.timedout){h.result=c=h.createException();c.responseXML=null;c.responseText='{success:false,message:"'+Ext.String.trim(c.statusText)+'"}';c.request=h;j=l.failure;k=false}else{try{i=h.getDoc();h.result=c={responseText:"",responseXML:null,request:h};if(i){if(Ext.isOpera&&i.location==Ext.SSL_SECURE_URL){return}if(i.body){if((d=i.body.firstChild)&&/pre/i.test(d.tagName)){c.responseText=d.textContent||d.innerText}else{if((d=i.getElementsByTagName("textarea")[0])){c.responseText=d.value}else{c.responseText=i.body.textContent||i.body.innerText}}}c.responseXML=i.XMLDocument||i;j=l.success;k=true;c.status=200}else{Ext.raise("Could not acquire a suitable connection for the file upload service.")}}catch(g){h.result=c=h.createException();c.status=400;c.statusText=(g.message||g.description)+"";c.responseText='{success:false,message:"'+Ext.String.trim(c.statusText)+'"}';c.responseXML=null;j=l.failure;k=false}}h.frame=null;h.success=k;a.fireEvent(k?"requestcomplete":"requestexception",a,c,l);Ext.callback(j,l.scope,[c,l]);Ext.callback(l.callback,l.scope,[l,k,c]);a.onRequestComplete(h);Ext.asap(b.destroy,b);h.callParent()},destroy:function(){this.cleanup();this.callParent()}});Ext.define("Ext.data.Connection",{mixins:{observable:Ext.mixin.Observable},statics:{requestId:0},enctypeRe:/multipart\/form-data/i,config:{url:null,async:true,username:"",password:"",disableCaching:true,withCredentials:false,binary:false,cors:false,isXdr:false,defaultXdrContentType:"text/plain",disableCachingParam:"_dc",timeout:30000,extraParams:null,autoAbort:false,method:null,defaultHeaders:null,defaultPostHeader:"application/x-www-form-urlencoded; charset=UTF-8",useDefaultXhrHeader:true,defaultXhrHeader:"XMLHttpRequest"},constructor:function(a){this.mixins.observable.constructor.call(this,a);this.requests={}},request:function(b){b=b||{};var d=this,a,c;if(d.fireEvent("beforerequest",d,b)!==false){a=d.setOptions(b,b.scope||Ext.global);c=d.createRequest(b,a);return c.start(a.data)}Ext.callback(b.callback,b.scope,[b,undefined,undefined]);return Ext.Deferred.rejected([b,undefined,undefined])},createRequest:function(b,a){var e=this,c=b.type||a.type,d;if(!c){c=e.isFormUpload(b)?"form":"ajax"}if(b.autoAbort||e.getAutoAbort()){e.abort()}d=Ext.Factory.request({type:c,owner:e,options:b,requestOptions:a,ownerConfig:e.getConfig()});e.requests[d.id]=d;e.latestId=d.id;return d},isFormUpload:function(a){var b=this.getForm(a);if(b){return a.isUpload||this.enctypeRe.test(b.getAttribute("enctype"))}return false},getForm:function(a){return Ext.getDom(a.form)},setOptions:function(m,l){var j=this,e=m.params||{},i=j.getExtraParams(),d=m.urlParams,c=m.url||j.getUrl(),h=m.cors,k=m.jsonData,b,a,g;if(h!==undefined){j.setCors(h)}if(Ext.isFunction(e)){e=e.call(l,m)}if(Ext.isFunction(c)){c=c.call(l,m)}c=this.setupUrl(m,c);g=m.rawData||m.binaryData||m.xmlData||k||null;if(k&&!Ext.isPrimitive(k)){g=Ext.encode(g)}if(m.binaryData){if(j.nativeBinaryPostSupport()){g=(new Uint8Array(m.binaryData));if((Ext.isChrome&&Ext.chromeVersion<22)||Ext.isSafari||Ext.isGecko){g=g.buffer}}}if(Ext.isObject(e)){e=Ext.Object.toQueryString(e)}if(Ext.isObject(i)){i=Ext.Object.toQueryString(i)}e=e+((i)?((e)?"&":"")+i:"");d=Ext.isObject(d)?Ext.Object.toQueryString(d):d;e=this.setupParams(m,e);b=(m.method||j.getMethod()||((e||g)?"POST":"GET")).toUpperCase();this.setupMethod(m,b);a=m.disableCaching!==false?(m.disableCaching||j.getDisableCaching()):false;if(b==="GET"&&a){c=Ext.urlAppend(c,(m.disableCachingParam||j.getDisableCachingParam())+"="+(new Date().getTime()))}if((b=="GET"||g)&&e){c=Ext.urlAppend(c,e);e=null}if(d){c=Ext.urlAppend(c,d)}return{url:c,method:b,data:g||e||null}},setupUrl:function(b,a){var c=this.getForm(b);if(c){a=a||c.action}return a},setupParams:function(a,d){var c=this.getForm(a),b;if(c&&!this.isFormUpload(a)){b=Ext.Element.serializeForm(c);d=d?(d+"&"+b):b}return d},setupMethod:function(a,b){if(this.isFormUpload(a)){return"POST"}return b},isLoading:function(a){if(!a){a=this.getLatest()}return a?a.isLoading():false},abort:function(a){if(!a){a=this.getLatest()}if(a&&a.isLoading()){a.abort()}},abortAll:function(){var b=this.requests,a;for(a in b){this.abort(b[a])}},getLatest:function(){var b=this.latestId,a;if(b){a=this.requests[b]}return a||null},clearTimeout:function(a){if(!a){a=this.getLatest()}if(a){a.clearTimer()}},onRequestComplete:function(a){delete this.requests[a.id]},nativeBinaryPostSupport:function(){return Ext.isChrome||(Ext.isSafari&&Ext.isDefined(window.Uint8Array))||(Ext.isGecko&&Ext.isDefined(window.Uint8Array))}});Ext.define("Ext.Ajax",{extend:Ext.data.Connection,singleton:true,autoAbort:false});Ext.define("Ext.AnimationQueue",{singleton:true,constructor:function(){var a=this;a.queue=[];a.taskQueue=[];a.runningQueue=[];a.idleQueue=[];a.isRunning=false;a.isIdle=true;a.run=Ext.Function.bind(a.run,a);if(Ext.os.is.iOS){Ext.interval(a.watch,500,a)}},start:function(c,b,a){var d=this;d.queue.push(arguments);if(!d.isRunning){if(d.hasOwnProperty("idleTimer")){clearTimeout(d.idleTimer);delete d.idleTimer}if(d.hasOwnProperty("idleQueueTimer")){clearTimeout(d.idleQueueTimer);delete d.idleQueueTimer}d.isIdle=false;d.isRunning=true;d.doStart()}},watch:function(){if(this.isRunning&&Ext.now()-this.lastRunTime>=500){this.run()}},run:function(){var e=this;if(!e.isRunning){return}var a=e.runningQueue,b=Ext.now(),c,d;e.lastRunTime=b;e.frameStartTime=b;a.push.apply(a,e.queue);for(c=0,d=a.length;c<d;c++){e.invoke(a[c])}a.length=0;e.doIterate()},doStart:function(){this.animationFrameId=Ext.Function.requestAnimationFrame(this.run);this.lastRunTime=Ext.now()},doIterate:function(){this.animationFrameId=Ext.Function.requestAnimationFrame(this.run)},doStop:function(){Ext.Function.cancelAnimationFrame(this.animationFrameId)},stop:function(e,d,b){var j=this;if(!j.isRunning){return}var a=j.queue,h=a.length,c,g;for(c=0;c<h;c++){g=a[c];if(g[0]===e&&g[1]===d&&g[2]===b){a.splice(c,1);c--;h--}}if(h===0){j.doStop();j.isRunning=false;j.idleTimer=Ext.defer(j.whenIdle,100,j)}},onIdle:function(e,d,a){var c=this.idleQueue,b,g,h;for(b=0,g=c.length;b<g;b++){h=c[b];if(e===h[0]&&d===h[1]&&a===h[2]){return}}c.push(arguments);if(this.isIdle){this.processIdleQueue()}},unIdle:function(e,d,a){var c=this.idleQueue,b,g,h;for(b=0,g=c.length;b<g;b++){h=c[b];if(e===h[0]&&d===h[1]&&a===h[2]){c.splice(b,1);return true}}return false},queueTask:function(c,b,a){this.taskQueue.push(arguments);this.processTaskQueue()},dequeueTask:function(e,d,a){var c=this.taskQueue,b,g,h;for(b=0,g=c.length;b<g;b++){h=c[b];if(e===h[0]&&d===h[1]&&a===h[2]){c.splice(b,1);b--;g--}}},invoke:function(d){var c=d[0],b=d[1],a=d[2];c=(typeof c=="string"?b[c]:c);if(Ext.isArray(a)){c.apply(b,a)}else{c.call(b,a)}},whenIdle:function(){this.isIdle=true;this.processIdleQueue()},processIdleQueue:function(){if(!this.hasOwnProperty("idleQueueTimer")){this.idleQueueTimer=Ext.defer(this.processIdleQueueItem,1,this)}},processIdleQueueItem:function(){delete this.idleQueueTimer;if(!this.isIdle){return}var a=this.idleQueue,b;if(a.length>0){b=a.shift();this.invoke(b);this.processIdleQueue()}},processTaskQueue:function(){if(!this.hasOwnProperty("taskQueueTimer")){this.taskQueueTimer=Ext.defer(this.processTaskQueueItem,15,this)}},processTaskQueueItem:function(){delete this.taskQueueTimer;var a=this.taskQueue,b;if(a.length>0){b=a.shift();this.invoke(b);this.processTaskQueue()}}});Ext.define("Ext.ComponentManager",{alternateClassName:"Ext.ComponentMgr",singleton:true,count:0,typeName:"xtype",constructor:function(a){var b=this;Ext.apply(b,a||{});b.all={};b.references={};b.onAvailableCallbacks={}},create:function(a,b){if(typeof a==="string"){return Ext.widget(a)}if(a.isComponent){return a}if("xclass" in a){return Ext.create(a.xclass,a)}return Ext.widget(a.xtype||b,a)},get:function(a){return this.all[a]},register:function(a){var e=this,d=e.all,c=a.getId(),b=e.onAvailableCallbacks;d[c]=a;if(a.getReference&&a.getReference()){e.references[c]=a}++e.count;if(!e.hasFocusListener){Ext.on("focus",e.onGlobalFocus,e);e.hasFocusListener=true}b=b&&b[c];if(b&&b.length){e.notifyAvailable(a)}},unregister:function(a){var b=a.getId();if(a.getReference&&a.getReference()){this.references[b]=null;delete this.references[b]}this.all[b]=null;delete this.all[b];this.count--},markReferencesDirty:function(){this.referencesDirty=true},fixReferences:function(){var c=this,b=c.references,a;if(c.referencesDirty){for(a in b){if(b.hasOwnProperty(a)){b[a].fixReference()}}c.referencesDirty=false}},onAvailable:function(h,c,b){var g=this,e=g.onAvailableCallbacks,a=g.all,d;if(h in a){d=a[h];c.call(b||d,d)}else{if(h){if(!Ext.isArray(e[h])){e[h]=[]}e[h].push(function(i){c.call(b||i,i)})}}},notifyAvailable:function(b){var a=this.onAvailableCallbacks[b&&b.getId()]||[];while(a.length){(a.shift())(b)}},each:function(b,a){return Ext.Object.each(this.all,b,a)},getCount:function(){return this.count},getAll:function(){return Ext.Object.getValues(this.all)},getActiveComponent:function(){return Ext.Component.fromElement(Ext.dom.Element.getActiveElement())},onGlobalFocus:function(i){var d=this,b=i.toElement,j=i.fromElement,h=Ext.Component.fromElement(b),a=Ext.Component.fromElement(j),c,g;if(h===a){return}c=d.getCommonAncestor(a,h);if(a&&!(a.destroyed||a.destroying)){if(a.handleBlurEvent){a.handleBlurEvent(i)}for(g=a;g&&g!==c;g=g.getRefOwner()){if(!(g.destroyed||g.destroying)){g.onFocusLeave({event:i.event,type:"focusleave",target:j,relatedTarget:b,fromComponent:a,toComponent:h})}}}if(h&&!(h.destroyed||h.destroying)){if(h.handleFocusEvent){h.handleFocusEvent(i)}for(g=h;g&&g!==c;g=g.getRefOwner()){g.onFocusEnter({event:i.event,type:"focusenter",relatedTarget:j,target:b,fromComponent:a,toComponent:h})}}},getCommonAncestor:function(b,a){if(b===a){return b}while(b&&!(b.isAncestor(a)||b===a)){b=b.getRefOwner()}return b},privates:{clearAll:function(){this.all={};this.references={};this.onAvailableCallbacks={}},fromElement:function(b,d,c){var h=Ext.getDom(b),a=this.all,e=0,j,g,i;if(typeof d!=="number"){j=Ext.getDom(d);d=Number.MAX_VALUE}while(h&&h.nodeType===1&&e<d&&h!==j){g=h.getAttribute("data-componentid")||h.id;if(g){i=a[g];if(i&&(!c||Ext.ComponentQuery.is(i,c))){return i}e++}h=h.parentNode}return null}},deprecated:{5:{methods:{isRegistered:null,registerType:null}}}},function(){Ext.getCmp=function(a){return Ext.ComponentManager.get(a)}});Ext.ns("Ext.util").Operators={"=":function(b,c){return b==c},"!=":function(b,c){return b!=c},"^=":function(b,c){return b&&b.substr(0,c.length)==c},"$=":function(b,c){return b&&b.substr(b.length-c.length)==c},"*=":function(b,c){return b&&b.indexOf(c)!==-1},"%=":function(b,c){return(b%c)===0},"|=":function(b,c){return b&&(b==c||b.substr(0,c.length+1)==c+"-")},"~=":function(b,c){return b&&(" "+b+" ").indexOf(" "+c+" ")!=-1}};Ext.define("Ext.util.LruCache",{extend:Ext.util.HashMap,config:{maxSize:null},add:function(a,e){var d=this,c,b;d.removeAtKey(a);b=d.last;c={prev:b,next:null,key:a,value:e};if(b){b.next=c}else{d.first=c}d.last=c;d.callParent([a,c]);d.prune();return e},insertBefore:function(b,g,c){var e=this,a,d;if(c=this.map[this.findKey(c)]){a=e.findKey(g);if(a){e.unlinkEntry(d=e.map[a])}else{d={prev:c.prev,next:c,key:b,value:g}}if(c.prev){d.prev.next=d}else{e.first=d}d.next=c;c.prev=d;e.prune();return g}else{return e.add(b,g)}},get:function(a){var b=this.map[a];if(b){if(b.next){this.moveToEnd(b)}return b.value}},removeAtKey:function(a){this.unlinkEntry(this.map[a]);return this.callParent(arguments)},clear:function(a){this.first=this.last=null;return this.callParent([a])},unlinkEntry:function(a){if(a){if(a.next){a.next.prev=a.prev}else{this.last=a.prev}if(a.prev){a.prev.next=a.next}else{this.first=a.next}a.prev=a.next=null}},moveToEnd:function(a){this.unlinkEntry(a);if(a.prev=this.last){this.last.next=a}else{this.first=a}this.last=a},getArray:function(c){var a=[],b=this.first;while(b){a.push(c?b.key:b.value);b=b.next}return a},each:function(c,b,a){var g=this,e=a?g.last:g.first,d=g.length;b=b||g;while(e){if(c.call(b,e.key,e.value,d)===false){break}e=a?e.prev:e.next}return g},findKey:function(b){var a,c=this.map;for(a in c){if(c.hasOwnProperty(a)&&c[a].value===b){return a}}return undefined},clone:function(){var a=new this.self(this.initialConfig),c=this.map,b;a.suspendEvents();for(b in c){if(c.hasOwnProperty(b)){a.add(b,c[b].value)}}a.resumeEvents();return a},prune:function(){var b=this,a=b.getMaxSize(),c=a?(b.length-a):0;if(c>0){for(;b.first&&c;c--){b.removeAtKey(b.first.key)}}}});Ext.define("Ext.ComponentQuery",{singleton:true},function(){var g=this,s=Ext.util.Operators,k=/(\d*)n\+?(\d*)/,e=/\D/,m=/^(\s)+/,l=/\\(.)/g,n=new Ext.util.LruCache({maxSize:100}),o=["var r = [],","i = 0,","it = items,","l = it.length,","c;","for (; i < l; i++) {","c = it[i];","if (c.{0}) {","r.push(c);","}","}","return r;"].join(""),p=function(u,t){return t.method.apply(this,[u].concat(t.args))},a=function(v,z){var t=[],w=0,y=v.length,x,u=z!==">";for(;w<y;w++){x=v[w];if(x.getRefItems){t=t.concat(x.getRefItems(u))}}return t},h=function(u){var t=[],v=0,x=u.length,w;for(;v<x;v++){w=u[v];while(!!(w=w.getRefOwner())){t.push(w)}}return t},d=function(u,z,y){if(z==="*"){return u.slice()}else{var t=[],v=0,x=u.length,w;for(;v<x;v++){w=u[v];if(w.isXType(z,y)){t.push(w)}}return t}},b=function(C,D,w,v){var G=[],B=0,u=C.length,F,y,E,t,A,z,x;if(D.charAt(0)==="@"){F=true;D=D.substr(1)}if(D.charAt(0)==="?"){F=true;y=true;D=D.substr(1)}for(;B<u;B++){E=C[B];x=E.self&&E.self.getConfigurator&&E.self.$config.configs[D];if(x){t=E[x.names.get]()}else{if(F&&!E.hasOwnProperty(D)){continue}else{t=E[D]}}if(y){G.push(E)}else{if(w==="~="){if(t){if(!Ext.isArray(t)){t=t.split(" ")}for(A=0,z=t.length;A<z;A++){if(s[w](Ext.coerce(t[A],v),v)){G.push(E);break}}}}else{if(w==="/="){if(t!=null&&v.test(t)){G.push(E)}}else{if(!v?!!E[D]:s[w](Ext.coerce(t,v),v)){G.push(E)}}}}}return G},i=function(w,A,v){var t=[],x=0,z=w.length,y,u;for(;x<z;x++){y=w[x];u=v?y.id:y.getItemId();if(u===A){t.push(y)}}return t},r=function(t,u,v){return g.pseudos[u](t,v)},j=/^(\s?([>\^])\s?|\s|$)/,q=/^(#)?((?:\\\.|[\w\-])+|\*)(?:\((true|false)\))?/,c=[{re:/^\.((?:\\\.|[\w\-])+)(?:\((true|false)\))?/,method:d,argTransform:function(t){if(t[1]!==undefined){t[1]=t[1].replace(l,"$1")}return t.slice(1)}},{re:/^(?:\[((?:[@?$])?[\w\-]*)\s*(?:([\^$*~%!\/]?=)\s*(['"])?((?:\\\]|.)*?)\3)?(?!\\)\])/,method:b,argTransform:function(w){var t=w[0],x=w[1],u=w[2],v=w[4],y;if(v!==undefined){v=v.replace(l,"$1")}if(u==="/="){y=n.get(v);if(y){v=y}else{v=n.add(v,new RegExp(v))}}return[x,u,v]}},{re:/^#((?:\\\.|[\w\-])+)/,method:i},{re:/^\:([\w\-]+)(?:\(((?:\{[^\}]+\})|(?:(?!\{)[^\s>\/]*?(?!\})))\))?/,method:r,argTransform:function(t){if(t[2]!==undefined){t[2]=t[2].replace(l,"$1")}return t.slice(1)}},{re:/^(?:\{([^\}]+)\})/,method:o}];g.Query=Ext.extend(Object,{constructor:function(t){t=t||{};Ext.apply(this,t)},execute:function(v){var w=this.operations,u=[],y,x,t;for(x=0,t=w.length;x<t;x++){y=w[x];u=u.concat(this._execute(v,y))}return u},_execute:function(u,w){var x=0,y=w.length,v,t;if(!u){t=Ext.ComponentManager.getAll()}else{if(Ext.isIterable(u)){t=u}else{if(u.isMixedCollection){t=u.items}}}for(;x<y;x++){v=w[x];if(v.mode==="^"){t=h(t||[u])}else{if(v.mode){t=a(t||[u],v.mode)}else{t=p(t||a([u]),v)}}if(x===y-1){return t}}return[]},is:function(x,v){var w=this.operations,u=false,t=w.length,z,y;if(t===0){return true}for(y=0;y<t;y++){z=w[y];u=this._is(x,v,z);if(u){return u}}return false},_is:function(B,C,t){var z=t.length,u=[B],v,x,w,y,A,D;for(x=z-1;x>=0;--x){v=t[x];y=v.mode;if(y){if(y==="^"){u=a(u," ")}else{if(y===">"){A=[];for(w=0,z=u.length;w<z;++w){D=u[w].getRefOwner();if(D){A.push(D)}}u=A}else{u=h(u)}}}else{u=p(u,v)}if(u.length===0){return false}}if(C){if(!y){u=h(u)}if(u.length>0){u=p(u,{method:i,args:[C.id,true]})}if(u.length===0){return false}}return true},getMatches:function(w,u){var t=u.length,v;for(v=0;v<t;++v){w=p(w,u[v]);if(w.length===0){break}}return w},isMultiMatch:function(){return this.operations.length>1}});Ext.apply(g,{cache:new Ext.util.LruCache({maxSize:100}),pseudos:{not:function(z,t){var x=0,y=z.length,w=[],v=-1,u;for(;x<y;++x){u=z[x];if(!g.is(u,t)){w[++v]=u}}return w},first:function(u){var t=[];if(u.length>0){t.push(u[0])}return t},last:function(v){var t=v.length,u=[];if(t>0){u.push(v[t-1])}return u},focusable:function(u){var t=u.length,w=[],v=0,x;for(;v<t;v++){x=u[v];if(x.isFocusable&&x.isFocusable()){w.push(x)}}return w},canfocus:function(u,x){var t=u.length,w=[],v=0,y;for(;v<t;v++){y=u[v];if(y.canFocus&&y.canFocus(false,x)){w.push(y)}}return w},"nth-child":function(z,A){var B=[],u=k.exec(A==="even"&&"2n"||A==="odd"&&"2n+1"||!e.test(A)&&"n+"+A||A),x=(u[1]||1)-0,y=u[2]-0,w,t,v;for(w=0;t=z[w];w++){v=w+1;if(x===1){if(y===0||v===y){B.push(t)}}else{if((v+y)%x===0){B.push(t)}}}return B},scrollable:function(u){var t=u.length,w=[],v=0,x;for(;v<t;v++){x=u[v];if(x.scrollable||x._scrollable){w.push(x)}}return w},visible:function(v,u){u=u==="true";var t=v.length,x=[],w=0,y;for(;w<t;w++){y=v[w];if(y.isVisible(u)){x.push(y)}}return x}},query:function(t,A){if(!t){return Ext.ComponentManager.all.getArray()}var v=[],B=[],y={},x=g.cache.get(t),w,z,u;if(!x){x=g.cache.add(t,g.parse(t))}v=x.execute(A);if(x.isMultiMatch()){w=v.length;for(u=0;u<w;u++){z=v[u];if(!y[z.id]){B.push(z);y[z.id]=true}}v=B}return v},visitPreOrder:function(t,v,x,w,u){g._visit(true,t,v,x,w,u)},visitPostOrder:function(t,v,x,w,u){g._visit(false,t,v,x,w,u)},_visit:function(D,u,C,B,E,y){var A=g.cache.get(u),x=[C],t,z=0,w,v;if(!A){A=g.cache.add(u,g.parse(u))}v=A.is(C);if(C.getRefItems){t=C.getRefItems();z=t.length}if(y){Ext.Array.push(x,y)}if(D){if(v){if(B.apply(E||C,x)===false){return false}}}for(w=0;w<z;w++){if(g._visit.call(g,D,u,t[w],B,E,y)===false){return false}}if(!D){if(v){if(B.apply(E||C,x)===false){return false}}}},is:function(v,t,u){if(!t){return true}var w=g.cache.get(t);if(!w){w=g.cache.add(t,g.parse(t))}return w.is(v,u)},parse:function(u){var v=[],x,y,w,t;x=Ext.splitAndUnescape(u,",");for(w=0,t=x.length;w<t;w++){y=Ext.String.trim(x[w]);v.push(g._parse(y))}return new g.Query({operations:v})},_parse:function(z){var u=[],x=Ext.String.trim,v=c.length,E,A,y,F,G,H,w,B,C,t,D;while(z&&E!==z){E=z;A=z.match(q);if(A){F=A[1];y=x(A[2]).replace(l,"$1");if(F==="#"){u.push({method:i,args:[y]})}else{u.push({method:d,args:[y,Boolean(A[3])]})}z=z.replace(A[0],"").replace(m,"$1")}while(!(G=z.match(j))){for(B=0;z&&B<v;B++){C=c[B];H=z.match(C.re);t=C.method;w=C.argTransform;if(H){if(w){D=w(H)}else{D=H.slice(1)}u.push({method:Ext.isString(C.method)?Ext.functionFactory("items",Ext.String.format.apply(Ext.String,[t].concat(H.slice(1)))):C.method,args:D});z=z.replace(H[0],"").replace(m,"$1");break}if(B===(v-1)){Ext.raise('Invalid ComponentQuery selector: "'+arguments[0]+'"')}}}if(G[1]){u.push({mode:G[2]||G[1]});z=z.replace(G[0],"").replace(m,"")}}return u}});Ext.all=function(){return g.query.apply(g,arguments)};Ext.first=function(){var t=g.query.apply(g,arguments);return(t&&t[0])||null}});Ext.define("Ext.Evented",{alternateClassName:"Ext.EventedBase",mixins:[Ext.mixin.Observable],initialized:false,constructor:function(a){this.mixins.observable.constructor.call(this,a);this.initialized=true},onClassExtended:function(b,e){if(!e.hasOwnProperty("eventedConfig")){return}var d=e.config,g=e.eventedConfig,c,a;if(d){Ext.applyIf(d,g)}else{b.addConfig(g)}for(c in g){if(g.hasOwnProperty(c)){a=Ext.Config.get(c);e[a.names.set]=a.eventedSetter||a.getEventedSetter()}}}});Ext.define("Ext.util.Positionable",{mixinId:"positionable",_positionTopLeft:["position","top","left"],clippedCls:Ext.baseCSSPrefix+"clipped",afterSetPosition:Ext.emptyFn,adjustForConstraints:function(c,b){var a=this.getConstrainVector(b,c);if(a){c[0]+=a[0];c[1]+=a[1]}return c},alignTo:function(c,a,g,b){var e=this,d=e.el;return e.setXY(e.getAlignToXY(c,a,g),d.anim&&!!b?d.anim(b):false)},calculateAnchorXY:function(a,e,d,b){var c=this.getRegion();c.setPosition(0,0);c.translateBy(e||0,d||0);if(b){c.setWidth(b.width);c.setHeight(b.height)}return c.getAnchorPoint(a)},convertPositionSpec:function(a){return Ext.util.Region.getAlignInfo(a)},getAlignToXY:function(a,b,d){var c=this.getAlignToRegion(a,b,d);return[c.x,c.y]},getAlignToRegion:function(b,c,h,e){var d=this,a,g;b=Ext.get(b.el||b);if(!b||!b.dom){}c=d.convertPositionSpec(c);if(c.constrain){if(c.constrain==="!"){a=b}else{a=d.constrainTo||d.container||d.el.parent()}a=Ext.get(a.el||a).getConstrainRegion()}g=d.getRegion().alignTo({target:b.getRegion(),inside:a,minHeight:e,offset:h,align:c,axisLock:true});return g},getAnchorXY:function(b,d,c){var g=this,h=g.getRegion(),e=g.el,i=e.dom.nodeName==="BODY"||e.dom.nodeType===9,a=e.getScroll();if(d){h.setPosition(0,0)}else{if(i){h.setPosition(a.left,a.top)}}if(c){h.setWidth(c.width);h.setHeight(c.height)}return h.getAnchorPoint(b)},getBox:function(d,i){var e=this,m=i?e.getLocalXY():e.getXY(),j=m[0],g=m[1],k,b,c,a,l;if(e.el.dom.nodeName==="BODY"||e.el.dom.nodeType===9){k=Ext.Element.getViewportWidth();b=Ext.Element.getViewportHeight()}else{k=e.getWidth();b=e.getHeight()}if(d){c=e.getBorderPadding();a=c.beforeX;l=c.beforeY;j+=a;g+=l;k-=(a+c.afterX);b-=(l+c.afterY)}return{x:j,left:j,0:j,y:g,top:g,1:g,width:k,height:b,right:j+k,bottom:g+b}},calculateConstrainedPosition:function(h,b,l,d){var k=this,c,i=k.floatParent,e=i?i.getTargetEl():null,a,g,j,m=false;if(l&&i){a=e.getXY();g=e.getBorderPadding();a[0]+=g.beforeX;a[1]+=g.beforeY;if(b){j=[b[0]+a[0],b[1]+a[1]]}}else{j=b}h=h||k.constrainTo||e||k.container||k.el.parent();if(l&&j){j=k.reverseTranslateXY(j)}c=((k.constrainHeader&&k.header.rendered)?k.header:k).getConstrainVector(h,j,d);if(c){m=b||k.getPosition(l);m[0]+=c[0];m[1]+=c[1]}return m},getConstrainRegion:function(){var h=this,c=h.el,a=c.dom.nodeName==="BODY",e=c.dom,g=c.getBorders(),i=c.getXY(),d=i[0]+g.beforeX,j=i[1]+g.beforeY,k,b,l;if(a){k=c.getScroll();d=k.left;j=k.top;b=Ext.Element.getViewportWidth();l=Ext.Element.getViewportHeight()}else{b=e.clientWidth;l=e.clientHeight}return new Ext.util.Region(j,d+b,j+l,d)},getConstrainVector:function(h,c,e){var i=this,a=i.getRegion(),d=[0,0],b=(i.shadow&&i.constrainShadow&&!i.shadowDisabled)?i.el.shadow.getShadowSize():undefined,j=false,g=i.constraintInsets;if(!(h instanceof Ext.util.Region)){h=Ext.get(h.el||h);h=h.getConstrainRegion()}if(g){g=Ext.isObject(g)?g:Ext.Element.parseBox(g);h.adjust(g.top,g.right,g.bottom,g.left)}if(c){a.translateBy(c[0]-a.x,c[1]-a.y)}if(e){a.right=a.left+e[0];a.bottom=a.top+e[1]}if(b){h.adjust(b[0],-b[1],-b[2],b[3])}if(a.right>h.right){j=true;d[0]=(h.right-a.right)}if(a.left+d[0]<h.left){j=true;d[0]=(h.left-a.left)}if(a.bottom>h.bottom){j=true;d[1]=(h.bottom-a.bottom)}if(a.top+d[1]<h.top){j=true;d[1]=(h.top-a.top)}return j?d:false},getOffsetsTo:function(a){var c=this.getXY(),b=Ext.fly(a.el||a).getXY();return[c[0]-b[0],c[1]-b[1]]},getRegion:function(a){var b=this.getBox(a);return new Ext.util.Region(b.top,b.right,b.bottom,b.left)},getClientRegion:function(){var b=this,a,c=b.getBox(),d=b.dom;a=d.offsetWidth-d.clientWidth;if(a){if(b.getStyle("direction")==="rtl"){c.left+=a}else{c.right-=a}}a=d.offsetHeight-d.clientHeight;if(a){c.bottom-=a}return new Ext.util.Region(c.top,c.right,c.bottom,c.left)},getViewRegion:function(){var g=this,c=g.el,a=c.dom.nodeName==="BODY",e,j,h,i,d,b,k;if(a){j=c.getScroll();d=j.left;i=j.top;b=Ext.Element.getViewportWidth();k=Ext.Element.getViewportHeight()}else{e=g.getBorderPadding();h=g.getXY();d=h[0]+e.beforeX;i=h[1]+e.beforeY;b=g.getWidth(true);k=g.getHeight(true)}return new Ext.util.Region(i,d+b,i+k,d)},getClientRegion:function(){var c=this.el,g,h,e,d,b,a;g=this.getBorderPadding();h=this.getXY();e=h[0]+g.beforeX;d=h[1]+g.beforeY;b=c.dom.clientWidth;a=c.dom.clientHeight;return new Ext.util.Region(d,e+b,d+a,e)},move:function(j,b,c){var g=this,m=g.getXY(),k=m[0],i=m[1],d=[k-b,i],l=[k+b,i],h=[k,i-b],a=[k,i+b],e={l:d,left:d,r:l,right:l,t:h,top:h,up:h,b:a,bottom:a,down:a};j=j.toLowerCase();g.setXY([e[j][0],e[j][1]],c)},setBox:function(c){var b=this,a,d;if(c.isRegion){c={x:c.left,y:c.top,width:c.right-c.left,height:c.bottom-c.top}}b.constrainBox(c);a=c.x;d=c.y;b.setXY([a,d]);b.setSize(c.width,c.height);b.afterSetPosition(a,d);return b},constrainBox:function(d){var c=this,b,a,e;if(c.constrain||c.constrainHeader){a=("x" in d)?d.x:d.left;e=("y" in d)?d.y:d.top;b=c.calculateConstrainedPosition(null,[a,e],false,[d.width,d.height]);if(b){d.x=b[0];d.y=b[1]}}},translatePoints:function(a,c){var b=this.translateXY(a,c);return{left:b.x,top:b.y}},translateXY:function(h,e){var d=this,b=d.el,i=b.getStyle(d._positionTopLeft),a=i.position==="relative",c=parseFloat(i.left),g=parseFloat(i.top),j=d.getXY();if(Ext.isArray(h)){e=h[1];h=h[0]}if(isNaN(c)){c=a?0:b.dom.offsetLeft}if(isNaN(g)){g=a?0:b.dom.offsetTop}c=(typeof h==="number")?h-j[0]+c:undefined;g=(typeof e==="number")?e-j[1]+g:undefined;return{x:c,y:g}},reverseTranslateXY:function(j){var h=j,c=this.el,d=c.dom,b=d.offsetParent,a,e,i,g;if(b){a=c.isStyle("position","relative"),e=Ext.fly(b).getXY(),i=j[0]+e[0]+b.clientLeft;g=j[1]+e[1]+b.clientTop;if(a){i+=c.getPadding("l");g+=c.getPadding("t")}h=[i,g]}return h},privates:{clipTo:function(k,b){var c,a=this.el,h=a.getRegion(),d,j,e=[],n=this.clippedCls,l,g,m;if(k.isRegion){c=k}else{c=(k.isComponent?k.el:Ext.fly(k)).getConstrainRegion()}if(!b){b=15}if(b&1&&(d=c.top-h.top)>0){e[0]=d;g=true}else{e[0]=-10000}if(b&2&&(d=h.right-c.right)>0){e[1]=Math.max(0,a.getWidth()-d);g=true}else{e[1]=10000}if(b&4&&(d=h.bottom-c.bottom)>0){e[2]=Math.max(0,a.getHeight()-d);g=true}else{e[2]=10000}if(b&8&&(d=c.left-h.left)>0){e[3]=d;g=true}else{e[3]=-10000}l="rect(";for(j=0;j<4;++j){l+=Ext.Element.addUnits(e[j],"px");l+=(j===3)?")":","}a.dom.style.clip=l;a.addCls(n);if((m=a.shadow)&&(a=m.el)&&a.dom){e[2]-=m.offsets.y;e[3]-=m.offsets.x;l="rect(";for(j=0;j<4;++j){l+=Ext.Element.addUnits(e[j],"px");l+=(j===3)?")":","}a.dom.style.clip=l;if(g&&!Ext.supports.CSS3BoxShadow){a.dom.style.display="none"}else{a.dom.style.display="";a.addCls(n)}}},clearClip:function(){var b=this.el,a=this.clippedCls;b.dom.style.clip=Ext.isIE8?"auto":"";b.removeCls(a);if(b.shadow&&b.shadow.el&&b.shadow.el.dom){b.shadow.el.dom.style.clip=Ext.isIE8?"auto":"";if(!Ext.supports.CSS3BoxShadow){b.dom.style.display="";b.removeCls(a)}}}}});Ext.define("Ext.dom.UnderlayPool",{constructor:function(a){this.elementConfig=a;this.cache=[]},checkOut:function(){var a=this.cache.shift();if(!a){a=Ext.Element.create(this.elementConfig);a.setVisibilityMode(2)}return a},checkIn:function(a){this.cache.push(a)},reset:function(){var a=this.cache,b=a.length;while(b--){a[b].destroy()}this.cache=[]}});Ext.define("Ext.dom.Underlay",{constructor:function(a){Ext.apply(this,a)},beforeShow:Ext.emptyFn,getInsertionTarget:function(){return this.target},getPool:function(){return this.pool||(this.self.prototype.pool=new Ext.dom.UnderlayPool(this.elementConfig))},hide:function(){var b=this,a=b.el;if(a){a.hide();b.getPool().checkIn(a);b.el=null;b.hidden=true}},realign:function(i,h,a,j){var e=this,b=e.el,d=e.target,c=e.offsets,g=Math.max;if(b){if(i==null){i=d.getX()}if(h==null){h=d.getY()}if(a==null){a=d.getWidth()}if(j==null){j=d.getHeight()}if(c){i=i+c.x;h=h+c.y;a=g(a+c.w,0);j=g(j+c.h,0)}b.setXY([i,h]);b.setSize(a,j)}},setZIndex:function(a){this.zIndex=a;if(this.el){this.el.setStyle("z-index",a)}},show:function(){var b=this,d=b.target,g=b.zIndex,a=b.el,c=b.getInsertionTarget().dom,e;if(!a){a=b.el=b.getPool().checkOut()}b.beforeShow();if(g==null){g=(parseInt(d.getStyle("z-index"),10))}if(g){a.setStyle("z-index",g)}a.setStyle("position",b.fixed?"fixed":"");e=a.dom;if(e.nextSibling!==c){d.dom.parentNode.insertBefore(e,c)}a.show();b.realign();b.hidden=false}});Ext.define("Ext.dom.Shadow",{extend:Ext.dom.Underlay,alternateClassName:"Ext.Shadow",mode:"drop",offset:4,cls:Ext.baseCSSPrefix+(!Ext.supports.CSS3BoxShadow?"ie":"css")+"-shadow",constructor:function(b){var d=this,e,c,g,a;d.callParent([b]);d.elementConfig={cls:d.cls,role:"presentation"};g=d.offset;a=Math.floor(g/2);d.opacity=50;switch(d.mode.toLowerCase()){case"drop":e={x:0,y:0,w:g,h:g};if(Ext.supports.CSS3BoxShadow){c={x:g,y:g,h:-g,w:-g}}else{c={x:-a,y:-a,h:-a,w:-a}}break;case"sides":e={x:-g,y:0,w:g*2,h:g};if(Ext.supports.CSS3BoxShadow){c={x:0,y:g,h:-g,w:0}}else{c={x:1+a-2*g,y:-(1+a),h:-1,w:a-1}}break;case"frame":e={x:-g,y:-g,w:g*2,h:g*2};if(Ext.supports.CSS3BoxShadow){c={x:0,y:0,h:0,w:0}}else{c={x:1+a-2*g,y:1+a-2*g,h:g-a-1,w:g-a-1}}break;case"bottom":e={x:-g,y:0,w:g*2,h:g};if(Ext.supports.CSS3BoxShadow){c={x:0,y:g,h:-g,w:0}}else{c={x:0,y:g,h:0,w:0}}break}d.offsets=c;d.outerOffsets=e},getShadowSize:function(){var b=this,d=b.el?b.offset:0,a=[d,d,d,d],c=b.mode.toLowerCase();if(b.el&&c!=="frame"){a[0]=0;if(c=="drop"){a[3]=0}}return a},boxShadowProperty:(function(){var b="boxShadow",a=document.documentElement.style;if(!("boxShadow" in a)){if("WebkitBoxShadow" in a){b="WebkitBoxShadow"}else{if("MozBoxShadow" in a){b="MozBoxShadow"}}}return b}()),beforeShow:function(){var b=this,a=b.el.dom.style,c=b.shim;if(Ext.supports.CSS3BoxShadow){a[b.boxShadowProperty]="0 0 "+(b.offset+2)+"px #888"}else{a.filter="progid:DXImageTransform.Microsoft.alpha(opacity="+b.opacity+") progid:DXImageTransform.Microsoft.Blur(pixelradius="+(b.offset)+")"}if(c){c.realign()}},setOpacity:function(a){var b=this.el;if(b){if(Ext.isIE&&!Ext.supports.CSS3BoxShadow){a=Math.floor(a*100/2)/100}this.opacity=a;b.setOpacity(a)}}});Ext.define("Ext.dom.Shim",{extend:Ext.dom.Underlay,cls:Ext.baseCSSPrefix+"shim",constructor:function(a){this.callParent([a]);this.elementConfig={tag:"iframe",cls:this.cls,role:"presentation",frameBorder:"0",src:Ext.SSL_SECURE_URL,tabindex:"-1"}},getInsertionTarget:function(){var a=this.shadow;return(a&&a.el)||this.target}});Ext.define("Ext.dom.ElementEvent",{extend:Ext.util.Event,addListener:function(h,l,m,c,e){var g=this,i=false,a=g.name,k=Ext.event.publisher.Dom.instance.directEvents[a],b,d,j;m=m||{};if(m.delegated===false||k){if(k&&m.delegate){m.capture=true}if(m.capture){j=g.directCaptures||(g.directCaptures=new Ext.util.Event(g.observable,a));i=j.addListener(h,l,m,c,e)}else{d=g.directs||(g.directs=new Ext.util.Event(g.observable,a));i=d.addListener(h,l,m,c,e)}}else{if(m.capture){b=g.captures||(g.captures=new Ext.util.Event(g.observable,a));i=b.addListener(h,l,m,c,e)}else{i=g.callParent([h,l,m,c,e])}}return i},removeListener:function(e,d){var g=this,a=g.captures,c=g.directs,h=g.directCaptures,i=false,b=g.findListener(e,d);if(b!==-1){i=g.callParent([e,d,b])}else{if(c){b=c.findListener(e,d)}if(b!==-1){i=c.removeListener(e,d,b)}else{if(a){b=a.findListener(e,d)}if(b!==-1){i=a.removeListener(e,d,b)}else{if(h){b=h.findListener(e,d);if(b!==-1){i=h.removeListener(e,d,b)}}}}}return i},clearListeners:function(){var c=this,d=c.directCaptures,b=c.directs,a=c.captures;if(d){d.clearListeners()}if(b){b.clearListeners()}if(a){a.clearListeners()}c.callParent()},suspend:function(){var c=this,d=c.directCaptures,b=c.directs,a=c.captures;if(d){d.suspend()}if(b){b.suspend()}if(a){a.suspend()}c.callParent()},resume:function(){var c=this,d=c.directCaptures,b=c.directs,a=c.captures;if(d){d.resume()}if(b){b.resume()}if(a){a.resume()}c.callParent()}});Ext.define("Ext.event.publisher.Publisher",{isEventPublisher:true,$vetoClearingPrototypeOnDestroy:true,handledEvents:[],statics:{publishers:{},publishersByEvent:{}},constructor:function(){var b=this,a=b.type;b.handles={};b.registerEvents();Ext.event.publisher.Publisher.publishers[a]=b},registerEvents:function(e){var h=this,d=Ext.event.publisher.Publisher.publishersByEvent,b=e||h.handledEvents,g=b.length,a,c;for(c=0;c<g;c++){a=b[c];h.handles[a]=1;d[a]=h}},fire:function(c,a,b){var d;if(c.hasListeners[a]){d=c.events[a];if(d){d.fire.apply(d,b)}}}});Ext.define("Ext.util.Offset",{statics:{fromObject:function(a){if(a instanceof this){return a}if(typeof a==="number"){return new this(a,a)}if(a.length){return new this(a[0],a[1])}return new this(a.x,a.y)}},constructor:function(a,b){this.x=(a!=null&&!isNaN(a))?a:0;this.y=(b!=null&&!isNaN(b))?b:0;return this},copy:function(){return new Ext.util.Offset(this.x,this.y)},copyFrom:function(a){this.x=a.x;this.y=a.y},toString:function(){return"Offset["+this.x+","+this.y+"]"},equals:function(a){return(this.x===a.x&&this.y===a.y)},add:function(a){this.x+=a.x;this.y+=a.y},round:function(b){if(!isNaN(b)){var a=Math.pow(10,b);this.x=Math.round(this.x*a)/a;this.y=Math.round(this.y*a)/a}else{this.x=Math.round(this.x);this.y=Math.round(this.y)}},isZero:function(){return this.x===0&&this.y===0}});Ext.define("Ext.util.Region",function(){var b=Ext.util,m=/([^\?!]*)(!|\?)?$/,k=/^(?:(?:([trbl])(\d+))|(tl|t|tc|tr|l|c|r|bl|b|bc|br))(?:-(?:(?:([trbl])(\d+))|(tl|t|tc|tr|l|c|r|bl|b|bc|br)))?$/i,g={l:0,r:100,t:0,b:100,c:50},i={l:100,r:0,t:0,b:100,c:50},p={b:0,l:1,t:2,r:3},l={"tl-tr":"l0-r0","tl-r":"l0-r50","bl-r":"l100-r50","bl-br":"l100-r100","tr-tl":"r0-l0","tr-l":"r0-l50","br-l":"r100-l50","br-bl":"r100-l100"},a={"tl-tr":"r0-l0","tl-r":"r0-l50","bl-r":"r100-l50","bl-br":"r100-l100","tr-tl":"l0-r0","tr-l":"l0-r50","br-l":"l100-r50","br-bl":"l100-r100"},j=[],c=new b.Offset(0,0),n=function(u){var v=b.Region,t=typeof u,x,s,r,w;if(u==null){return v.EMPTY}if(u.isRegion){return u}if(u.isElement||u.nodeType===1){return this.getRegion(u)}if(t==="string"){u=u.split(" ");switch(u.length){case 1:u[1]=u[2]=u[3]=u[0];break;case 2:u[2]=u[0];u[3]=u[1];break;case 3:u[3]=u[1]}x=parseInt(u[0],10)||0;s=parseInt(u[1],10)||0;r=parseInt(u[2],10)||0;w=parseInt(u[3],10)||0}else{if(t==="number"){x=s=r=w=u}else{if(typeof u.x==="number"){x=u.y;w=u.x;if(typeof u.right==="number"){s=u.right;r=u.bottom}else{s=w+u.width;r=x+u.height}}}}return new v(x,s,r,w)},e=[-1,1,1,-1],o=function(t,s,r){if(r!=null&&s){j[0]=j[1]=j[2]=j[3]=0;j[r]=s.y*e[r];t=b.Region.from(t);t.adjust.apply(t,j)}return t},h=function(z,F,s,A,t){var E=Math.ceil(A.x/2)+2,r,u,w,v,D,C,B;if(t&&!t.intersect(z)){return}if(s!=null){if(s&1){r=new b.Region(0,0,0,0).setWidth(A.y).setHeight(A.x);u=s===3;C=u?F.right:F.left;w=new b.Region(Math.max(F.top,z.top),C,Math.min(F.bottom,z.bottom),C);if(z.getHeight()>E){v=w.getHeight();if(v<z.width&&v<A.x+4){if(v<E){if(w.getAnchorPoint_c()[1]>z.getAnchorPoint_c()[1]){B=z.bottom-E}else{D=true;B=z.top+E-F.getHeight()}if(t){B=Math.min(Math.max(B,t.top),t.bottom-F.getHeight())}F.setPosition(F.x,B);w=new b.Region(Math.max(F.top,z.top),C,Math.min(F.bottom,z.bottom),C);v=w.getHeight();if(v<E){return}if(D){w.setPosition(C,z.y-A.x/2-2)}}w.setHeight(Math.max(v,A.x+4));if(t&&!t.contains(w)){return}}}F.anchor=r.alignTo({target:w,align:u?"l-r":"r-l",overlap:true});F.anchor.position=u?"right":"left"}else{r=new b.Region(0,0,0,0).setWidth(A.x).setHeight(A.y);u=s===0;B=u?F.bottom:F.top;w=new b.Region(B,Math.min(F.right,z.right),B,Math.max(F.left,z.left));if(z.getWidth()>E){v=w.getWidth();if(v<z.height&&v<A.x+4){if(v<E){if(w.getAnchorPoint_c()[0]>z.getAnchorPoint_c()[0]){C=z.right-E}else{D=true;C=z.left+E-F.getWidth()}if(t){C=Math.min(Math.max(C,t.left),t.right-F.getWidth())}F.setPosition(C,F.y);w=new b.Region(B,Math.min(F.right,z.right),B,Math.max(F.left,z.left));v=w.getWidth();if(v<E){return}if(D){w.setPosition(z.x-A.x/2-2,B)}}w.setWidth(Math.max(v,A.x+4));if(t&&!t.contains(w)){return}}}F.anchor=r.alignTo({target:w,align:u?"t-b":"b-t",overlap:true});F.anchor.position=u?"bottom":"top"}F.anchor.align=s}return F},q=function(u,s,v,r){var t;if(u&&r){if(s.top>=v.bottom&&s.bottom>r.bottom){s.setHeight(Math.max(s.getHeight()+r.bottom-s.bottom,u));s.constrainHeight=true}else{if(s.bottom<=v.top&&s.top<r.top){t=Math.max(s.getHeight()+s.top-r.top,u);s.adjust(s.getHeight()-t);s.constrainHeight=true}else{if(s.getHeight()>r.getHeight()){s.setHeight(Math.max(u,r.getHeight()));s.setPosition(s.x,0);s.constrainHeight=true}}}}},d=function(t,s,v,r){var u;if(t&&r){if(s.left>=v.right&&s.right>r.right){s.setWidth(Math.max(s.getWidth()+r.right-s.right,t));s.constrainWidth=true}else{if(s.right<=v.left&&s.left<r.left){u=Math.max(s.getWidth()+s.left-r.left,t);s.adjust(0,0,0,s.getWidth()-u);s.constrainWidth=true}else{if(s.getWidth()>r.getWidth()){s.setWidth(Math.max(t,r.getWidth()));s.setPosition(0,s.y);s.constrainWidth=true}}}}};return{isRegion:true,statics:{getRegion:function(r){return Ext.fly(r).getRegion()},from:function(r){return new this(r.top,r.right,r.bottom,r.left)},getAlignInfo:function(w,u){if(typeof w==="object"){return w}w=w?((w.indexOf("-")<0)?"tl-"+w:w):"tl-bl";v=m.exec(w);w=v[1];w=(u?a:l)[w]||w;var t=u?i:g,v,s=k.exec(w),r;r={myEdge:s[1],myOffset:s[2],otherEdge:s[4],otherOffset:s[5],constrain:v[2]};if(s[3]){r.myEdge=s[3][0];r.myOffset=t[s[3][1]];if(r.myOffset==null){r.myOffset=50}}if(s[6]){r.otherEdge=s[6][0];r.otherOffset=t[s[6][1]];if(r.otherOffset==null){r.otherOffset=50}}r.position=p[r.myEdge];return r}},constructor:function(v,s,r,u){var t=this;t.y=t.top=t[1]=v;t.right=s;t.bottom=r;t.x=t.left=t[0]=u;t.height=t.bottom-t.top;t.width=t.right-t.left},setPosition:function(r,s){if(arguments.length===1){s=r[1];r=r[0]}return this.translateBy(r-this.x,s-this.y)},contains:function(s){var r=this;return(s.x>=r.x&&(s.right||s.x)<=r.right&&s.y>=r.y&&(s.bottom||s.y)<=r.bottom)},intersect:function(y){var x=this,v=Math.max(x.y,y.y),w=Math.min(x.right,y.right),s=Math.min(x.bottom,y.bottom),u=Math.max(x.x,y.x);if(s>v&&w>u){return new this.self(v,w,s,u)}else{return false}},union:function(y){var x=this,v=Math.min(x.y,y.y),w=Math.max(x.right,y.right),s=Math.max(x.bottom,y.bottom),u=Math.min(x.x,y.x);return new this.self(v,w,s,u)},constrainTo:function(s){var r=this,t=Ext.Number.constrain;r.top=r.y=t(r.top,s.y,s.bottom);r.bottom=t(r.bottom,s.y,s.bottom);r.left=r.x=t(r.left,s.x,s.right);r.right=t(r.right,s.x,s.right);return r},adjust:function(v,s,r,u){var t=this;t.top=t.y+=v||0;t.left=t.x+=u||0;t.right+=s||0;t.bottom+=r||0;return t},getOutOfBoundOffset:function(r,s){if(!Ext.isObject(r)){if(r==="x"){return this.getOutOfBoundOffsetX(s)}else{return this.getOutOfBoundOffsetY(s)}}else{s=r;var t=new b.Offset();t.x=this.getOutOfBoundOffsetX(s.x);t.y=this.getOutOfBoundOffsetY(s.y);return t}},getOutOfBoundOffsetX:function(r){if(r<=this.x){return this.x-r}else{if(r>=this.right){return this.right-r}}return 0},getOutOfBoundOffsetY:function(r){if(r<=this.y){return this.y-r}else{if(r>=this.bottom){return this.bottom-r}}return 0},isOutOfBound:function(r,s){if(!Ext.isObject(r)){if(r==="x"){return this.isOutOfBoundX(s)}else{return this.isOutOfBoundY(s)}}else{s=r;return(this.isOutOfBoundX(s.x)||this.isOutOfBoundY(s.y))}},isOutOfBoundX:function(r){return(r<this.x||r>this.right)},isOutOfBoundY:function(r){return(r<this.y||r>this.bottom)},restrict:function(s,u,r){if(Ext.isObject(s)){var t;r=u;u=s;if(u.copy){t=u.copy()}else{t={x:u.x,y:u.y}}t.x=this.restrictX(u.x,r);t.y=this.restrictY(u.y,r);return t}else{if(s==="x"){return this.restrictX(u,r)}else{return this.restrictY(u,r)}}},restrictX:function(s,r){if(!r){r=1}if(s<=this.x){s-=(s-this.x)*r}else{if(s>=this.right){s-=(s-this.right)*r}}return s},restrictY:function(s,r){if(!r){r=1}if(s<=this.y){s-=(s-this.y)*r}else{if(s>=this.bottom){s-=(s-this.bottom)*r}}return s},alignTo:function(H){var B=this,G=B.self,A=b.Offset,z=n(H.target),D,C=H.rtl,E=H.overlap,y=H.align,x=H.anchorSize,u=H.offset,t=H.inside,w=H.position,s=H.allowXTranslate,v=H.allowYTranslate,r,F;if(u){u=A.fromObject(u)}if(x){x=A.fromObject(x)}if(w){if(w.length===2){w=new b.Point(w[0],w[1])}F=new G().copyFrom(B).setPosition(w.x,w.y)}else{y=B.getAlignInfo(y,C);if(t){if(z.x>=t.right){z.setPosition(t.right-1,z.y);if(y.position!==3){y=B.getAlignInfo("r-l",C)}}else{if(z.right<t.x){z.setPosition(t.x-z.getWidth()+1,z.y);if(y.position!==1){y=B.getAlignInfo("l-r",C)}}}if(z.y>=t.bottom){z.setPosition(z.x,t.bottom-1);if(y.position!==0){y=B.getAlignInfo("b-t",C)}}else{if(z.bottom<t.y){z.setPosition(z.x,t.y-z.getHeight()+1);if(y.position!==2){y=B.getAlignInfo("t-b",C)}}}}D=x?o(z,x,y.position):z;F=G.from(B).translateBy(B.getAlignToVector(D,y));E=!!F.intersect(D);if(u&&(E||!x)){F.translateBy(u)}if(x){h(z,F,y.position,x,t)}}if(t){if(F.left<t.left){F.translateBy(t.left-F.left,0);r=true}if(F.right>t.right&&F.left>t.left){F.translateBy(t.right-F.right,0);r=true}if(F.top<t.top){F.translateBy(0,t.top-F.top);r=true}if(F.bottom>t.bottom&&F.top>t.top){F.translateBy(0,t.bottom-F.bottom);r=true}if(r&&!E){F.anchor=null;if(H.axisLock){if(y.position&1){v=false}else{s=false}}if(w){if(F.contains(w)){w.exclude(F,{inside:t,centerOnSideChange:false})}}else{if(F.intersect(D)){y.position=z.exclude(F,{defaultPosition:y.position,inside:t,minHeight:H.minHeight,minWidth:H.minWidth,allowX:s,allowY:v,offset:u,anchorHeight:x?x.y:0,centerOnSideChange:!!x})}else{if(H.minWidth&&F.getWidth()>t.getWidth()){F.setPosition(0,F.y);F.setWidth(Math.max(t.getWidth(),H.minWidth));F.constrainWidth=true}else{if(H.minHeight&&F.getHeight()>t.getHeight()){F.setPosition(F.x,0);F.setHeight(Math.max(t.getHeight(),H.minHeight));F.constrainHeight=true}}}F.align=y;if(x){h(z,F,y.position,x,t)}}}}return F},exclude:function(x,s){s=s||{};var L=this,J=s.inside,u=s.defaultPosition,r=s.centerOnSideChange,z=s.minHeight,D=s.minWidth,F=s.allowX!==false,E=s.allowY!==false,K=s.anchorHeight,y=s.offset,v=[],G,C,I,w,H,A,B;if(!y){y=c}if(E){v.push([0,C=L.top-x.bottom-K+y.y,"b-t",0,Math.abs(C)]);v.push([0,C=L.bottom-x.top+K+y.y,"t-b",2,Math.abs(C)])}else{r=false}if(F){v.push([C=L.left-x.right-K+y.x,0,"r-l",3,Math.abs(C)]);v.push([C=L.right-x.left+K+y.x,0,"l-r",1,Math.abs(C)])}else{r=false}Ext.Array.sort(v,function(M,N){var t=M[4]-N[4];if(!t){if(M[3]===u){return -1}if(N[3]===u){return 1}}return t});if(J){for(I=0;I<v.length;I++){C=v[I];G=b.Region.from(x);G.translateBy.apply(G,C);if(J.contains(G)){x.copyFrom(G);B={align:C[2],position:C[3],distance:C[4]};break}if(z){q(z,G,L,J);if(J.contains(G)){if(!w||G.getArea()>w.region.getArea()){w={region:G,align:C[2],position:C[3],distance:C[4]}}}}if(D){d(D,G,L,J);if(J.contains(G)){if(!w||G.getArea()>w.region.getArea()){w={region:G,align:C[2],position:C[3],distance:C[4]}}}}A=J.intersect(G);if(A){A=A.getArea();if(!H||(A&&H.area<A)){H={region:G,align:C[2],position:C[3],distance:C[4],area:A}}}}if(!B){if(w){x.copyFrom(w.region);B=w;x.constrainWidth=w.region.constrainWidth;x.constrainHeight=w.region.constrainHeight}else{if(H){x.copyFrom(H.region);B=H}}}if(B){if((B.position&1)!==(u&1)){if(B.distance&&r){C=x.alignTo({align:B.align,target:L,anchorSize:K,offset:y,axisLock:true,inside:J,minHeight:s.minHeight,minWidth:s.minWidth});if(J.contains(C)){x.setPosition(C.x,C.y)}}}return B.position}}else{x.translateBy.apply(x,v[0]);return v[0][3]}return u},getAlignToXY:function(t,u,s){var r=this.getAlignToVector(t,u,s);return[this.x+r[0],this.y+r[1]]},getAnchorPoint:function(s,r){s=(typeof s==="string")?this.getAlignInfo(s+"-tl",r):s;return this["getAnchorPoint_"+s.myEdge](s.myOffset)},getAlignToVector:function(u,v,t){v=(typeof v==="string")?this.getAlignInfo(v,t):v;var r=this["getAnchorPoint_"+v.myEdge](v.myOffset),s=u["getAnchorPoint_"+v.otherEdge](v.otherOffset);return[s[0]-r[0],s[1]-r[1]]},getAnchorPoint_t:function(r){return[this.x+Math.round(this.getWidth()*(r/100)),this.y]},getAnchorPoint_b:function(r){return[this.x+Math.round(this.getWidth()*(r/100)),this.bottom]},getAnchorPoint_l:function(r){return[this.x,this.y+Math.round(this.getHeight()*(r/100))]},getAnchorPoint_r:function(r){return[this.right,this.y+Math.round(this.getHeight()*(r/100))]},getAnchorPoint_c:function(){return[this.x+Math.round(this.getWidth()/2),this.y+Math.round(this.getHeight()/2)]},getHeight:function(){return this.bottom-this.y},getWidth:function(){return this.right-this.x},getArea:function(){return this.getHeight()*this.getWidth()},setHeight:function(r){this.bottom=this.top+r;return this},setWidth:function(r){this.right=this.left+r;return this},getSize:function(){return{width:this.right-this.x,height:this.bottom-this.y}},copy:function(){return new this.self(this.y,this.right,this.bottom,this.x)},copyFrom:function(s){var r=this;r.top=r.y=r[1]=s.y;r.right=s.right;r.bottom=s.bottom;r.left=r.x=r[0]=s.x;return this},toString:function(){return"Region["+this.top+","+this.right+","+this.bottom+","+this.left+"]"},translateBy:function(r,t){if(r.length){t=r[1];r=r[0]}else{if(arguments.length===1){t=r.y;r=r.x}}var s=this;s.top=s.y+=t;s.right+=r;s.bottom+=t;s.left=s.x+=r;return s},round:function(){var r=this;r.top=r.y=Math.round(r.y);r.right=Math.round(r.right);r.bottom=Math.round(r.bottom);r.left=r.x=Math.round(r.x);return r},equals:function(r){return(this.top===r.top&&this.right===r.right&&this.bottom===r.bottom&&this.left===r.left)},getOffsetsTo:function(r){return{x:this.x-r.x,y:this.y-r.y}}}},function(a){a.prototype.getAlignInfo=a.getAlignInfo;a.EMPTY=new a(0,0,0,0)});Ext.define("Ext.util.Point",{extend:Ext.util.Region,isPoint:true,radianToDegreeConstant:180/Math.PI,origin:{x:0,y:0},statics:{fromEvent:function(b){var a=b.changedTouches,c=(a&&a.length>0)?a[0]:b;return this.fromTouch(c)},fromTouch:function(a){return new this(a.pageX,a.pageY)},from:function(a){if(!a){return new this(0,0)}if(!(a instanceof this)){return new this(a.x,a.y)}return a}},constructor:function(a,b){if(a==null){a=0}if(b==null){b=0}this.callParent([b,a,b,a])},clone:function(){return new this.self(this.x,this.y)},copy:function(){return this.clone.apply(this,arguments)},copyFrom:function(a){this.x=a.x;this.y=a.y;return this},toString:function(){return"Point["+this.x+","+this.y+"]"},equals:function(a){return(this.x===a.x&&this.y===a.y)},isCloseTo:function(c,b){if(typeof b=="number"){return this.getDistanceTo(c)<=b}var a=c.x,g=c.y,e=b.x,d=b.y;return(this.x<=a+e&&this.x>=a-e&&this.y<=g+d&&this.y>=g-d)},isWithin:function(){return this.isCloseTo.apply(this,arguments)},isContainedBy:function(a){if(!(a instanceof Ext.util.Region)){a=Ext.get(a.el||a).getRegion()}return a.contains(this)},roundedEquals:function(a){if(!a||typeof a!=="object"){a=this.origin}return(Math.round(this.x)===Math.round(a.x)&&Math.round(this.y)===Math.round(a.y))},getDistanceTo:function(b){if(!b||typeof b!=="object"){b=this.origin}var c=this.x-b.x,a=this.y-b.y;return Math.sqrt(c*c+a*a)},getAngleTo:function(b){if(!b||typeof b!=="object"){b=this.origin}var c=this.x-b.x,a=this.y-b.y;return Math.atan2(a,c)*this.radianToDegreeConstant}},function(){this.prototype.translate=this.prototype.translateBy});Ext.define("Ext.event.Event",{alternateClassName:"Ext.EventObjectImpl",stopped:false,claimed:false,defaultPrevented:false,isEvent:true,statics:{resolveTextNode:function(a){return(a&&a.nodeType===3)?a.parentNode:a},pointerEvents:{pointerdown:1,pointermove:1,pointerup:1,pointercancel:1,pointerover:1,pointerout:1,pointerenter:1,pointerleave:1,MSPointerDown:1,MSPointerMove:1,MSPointerUp:1,MSPointerOver:1,MSPointerOut:1,MSPointerCancel:1,MSPointerEnter:1,MSPointerLeave:1},mouseEvents:{mousedown:1,mousemove:1,mouseup:1,mouseover:1,mouseout:1,mouseenter:1,mouseleave:1},clickEvents:{click:1,dblclick:1},touchEvents:{touchstart:1,touchmove:1,touchend:1,touchcancel:1},focusEvents:{focus:1,blur:1,focusin:1,focusout:1,focusenter:1,focusleave:1},pointerTypeMap:{2:"touch",3:"pen",4:"mouse",touch:"touch",pen:"pen",mouse:"mouse"},keyFlags:{CTRL:"ctrlKey",CONTROL:"ctrlKey",ALT:"altKey",SHIFT:"shiftKey",CMD:"metaKey",COMMAND:"metaKey",CMDORCTRL:Ext.isMac?"metaKey":"ctrlKey",COMMANDORCONTROL:Ext.isMac?"metaKey":"ctrlKey",META:"metaKey"},modifierGlyphs:{ctrlKey:"⌃",altKey:"⌥",metaKey:Ext.isMac?"⌘":"⊞",shiftKey:"⇧"},specialKeyGlyphs:{BACKSPACE:"⌫",TAB:"⇥",ENTER:"⏎",RETURN:"⏎",SPACE:"␣",PAGE_UP:"⇞",PAGE_DOWN:"⇟",END:"⇲",HOME:"⌂",LEFT:"←",UP:"↑",RIGHT:"→",DOWN:"↓",PRINT_SCREEN:"⎙",INSERT:"⎀",DELETE:"⌦",CONTEXT_MENU:"☰"},getKeyId:function(e){e=e.toUpperCase();var g=this,h=e.split("+"),j=h.length-1,c=h[j],b=[],a,d;for(d=0;d<j;d++){a=g.keyFlags[h[d]];b[a]=true}if(b.ctrlKey){b.push(g.modifierGlyphs.ctrlKey)}if(b.altKey){b.push(g.modifierGlyphs.altKey)}if(b.shiftKey){b.push(g.modifierGlyphs.shiftKey)}if(b.metaKey){b.push(g.modifierGlyphs.metaKey)}b.push(this.specialKeyGlyphs[c]||c);return b.join("")}},constructor:function(b){var i=this,l=i.self,h=i.self.resolveTextNode,k=b.changedTouches,c=k?k[0]:b,j=b.type,a,g;i.timeStamp=i.time=Ext.now();i.pageX=c.pageX;i.pageY=c.pageY;i.clientX=c.clientX;i.clientY=c.clientY;i.target=i.delegatedTarget=h(b.target);g=b.relatedTarget;if(g){if(Ext.isGecko&&j==="dragenter"||j==="dragleave"){try{i.relatedTarget=h(g)}catch(d){i.relatedTarget=null}}else{i.relatedTarget=h(g)}}i.browserEvent=i.event=b;i.type=j;i.button=b.button||0;i.shiftKey=b.shiftKey;i.ctrlKey=b.ctrlKey||b.metaKey||false;i.altKey=b.altKey;i.charCode=b.charCode;i.keyCode=b.keyCode;i.buttons=b.buttons;if(i.button===0&&i.buttons===0){i.buttons=1}if(l.focusEvents[j]){if(l.forwardTab!==undefined){i.forwardTab=l.forwardTab}}else{if(j!=="keydown"){delete l.forwardTab}}if(l.mouseEvents[j]){a="mouse"}else{if(l.clickEvents[j]){a=l.pointerTypeMap[b.pointerType]||"mouse"}else{if(l.pointerEvents[j]){a=l.pointerTypeMap[b.pointerType]}else{if(l.touchEvents[j]){a="touch"}}}}if(a){i.pointerType=a}i.isMultitouch=b.isPrimary===false||(b.touches&&b.touches.length>1)},chain:function(a){var b=Ext.Object.chain(this);b.parentEvent=this;return Ext.apply(b,a)},correctWheelDelta:function(c){var b=this.WHEEL_SCALE,a=Math.round(c/b);if(!a&&c){a=(c<0)?-1:1}return a},getCharCode:function(){return this.charCode||this.keyCode},getKey:function(){return this.keyCode||this.charCode},getKeyName:function(){return this.keyCodes[this.keyCode]},getPoint:function(){var b=this,a=b.point,c;if(!a){c=b.getXY();a=b.point=new Ext.util.Point(c[0],c[1])}return a},getRelatedTarget:function(b,e,a){var c=this.relatedTarget,d=null;if(c&&c.nodeType){if(b){d=Ext.fly(c).findParent(b,e,a)}else{d=a?Ext.get(c):c}}return d},getTarget:function(b,c,a){return b?Ext.fly(this.target).findParent(b,c,a):(a?Ext.get(this.target):this.target)},getTime:function(){return this.time},getWheelDelta:function(){var a=this.getWheelDeltas();return a.y},getWheelDeltas:function(){var d=this,c=d.browserEvent,b=0,a=0;if(Ext.isDefined(c.wheelDeltaX)){b=c.wheelDeltaX;a=c.wheelDeltaY}else{if(c.wheelDelta){a=c.wheelDelta}else{if("deltaX" in c){b=c.deltaX;a=-c.deltaY}else{if(c.detail){a=-c.detail;if(a>100){a=3}else{if(a<-100){a=-3}}if(Ext.isDefined(c.axis)&&c.axis===c.HORIZONTAL_AXIS){b=a;a=0}}}}}return{x:d.correctWheelDelta(b),y:d.correctWheelDelta(a)}},getX:function(){return this.getXY()[0]},getXY:function(){var c=this,e=c.xy;if(!e){e=c.xy=[c.pageX,c.pageY];var b=e[0],h,d,g,a;if(!b&&b!==0){h=c.browserEvent;d=document;g=d.documentElement;a=d.body;e[0]=h.clientX+(g&&g.scrollLeft||a&&a.scrollLeft||0)-(g&&g.clientLeft||a&&a.clientLeft||0);e[1]=h.clientY+(g&&g.scrollTop||a&&a.scrollTop||0)-(g&&g.clientTop||a&&a.clientTop||0)}}return e},getY:function(){return this.getXY()[1]},hasModifier:function(){var a=this;return !!(a.ctrlKey||a.altKey||a.shiftKey||a.metaKey)},isNavKeyPress:function(d){var c=this,a=c.keyCode,b=c.type==="keypress";return((!b||Ext.isGecko)&&a>=33&&a<=40)||(!d&&(a===c.RETURN||a===c.TAB||a===c.ESC))},isSpecialKey:function(){var d=this,b=d.keyCode,a=Ext.isGecko,c=d.type==="keypress";return(a&&c&&d.charCode===0)||(this.isNavKeyPress())||(b===d.BACKSPACE)||(b===d.ENTER)||(b>=16&&b<=20)||((!c||a)&&b>=44&&b<=46)},makeUnpreventable:function(){this.browserEvent.preventDefault=Ext.emptyFn},preventDefault:function(){var b=this,a=b.parentEvent;b.defaultPrevented=true;if(a){a.defaultPrevented=true}b.browserEvent.preventDefault();return b},setCurrentTarget:function(a){this.currentTarget=this.delegatedTarget=a},stopEvent:function(){return this.preventDefault().stopPropagation()},stopPropagation:function(){var b=this,c=b.browserEvent,a=b.parentEvent;b.stopped=true;if(a&&!b.isGesture){a.stopped=true}if(!c.stopPropagation){c.cancelBubble=true;return b}c.stopPropagation();return b},claimGesture:function(){var b=this,a=b.parentEvent;b.claimed=true;if(a&&!b.hasOwnProperty("isGesture")){a.claimGesture()}else{b.preventDefault()}return b},within:function(c,d,a){var b;if(c){b=d?this.getRelatedTarget():this.getTarget()}return b?Ext.fly(c).contains(b)||!!(a&&b===Ext.getDom(c)):false},deprecated:{"4.0":{methods:{getPageX:"getX",getPageY:"getY"}}}},function(a){var c=a.prototype,d={BACKSPACE:8,TAB:9,NUM_CENTER:12,ENTER:13,RETURN:13,SHIFT:16,CTRL:17,ALT:18,PAUSE:19,CAPS_LOCK:20,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,PRINT_SCREEN:44,INSERT:45,DELETE:46,ZERO:48,ONE:49,TWO:50,THREE:51,FOUR:52,FIVE:53,SIX:54,SEVEN:55,EIGHT:56,NINE:57,A:65,B:66,C:67,D:68,E:69,F:70,G:71,H:72,I:73,J:74,K:75,L:76,M:77,N:78,O:79,P:80,Q:81,R:82,S:83,T:84,U:85,V:86,W:87,X:88,Y:89,Z:90,CONTEXT_MENU:93,NUM_ZERO:96,NUM_ONE:97,NUM_TWO:98,NUM_THREE:99,NUM_FOUR:100,NUM_FIVE:101,NUM_SIX:102,NUM_SEVEN:103,NUM_EIGHT:104,NUM_NINE:105,NUM_MULTIPLY:106,NUM_PLUS:107,NUM_MINUS:109,NUM_PERIOD:110,NUM_DIVISION:111,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,WHEEL_SCALE:(function(){var h;if(Ext.isGecko){h=3}else{if(Ext.isMac){if(Ext.isSafari&&Ext.webKitVersion>=532){h=120}else{h=12}h*=3}else{h=120}}return h}())},b={},e,g;Ext.apply(a,d);Ext.apply(c,d);delete d.WHEEL_SCALE;delete d.RETURN;for(e in d){g=d[e];b[g]=e}c.keyCodes=b;c.getTrueXY=c.getXY});Ext.define("Ext.event.publisher.Dom",{extend:Ext.event.publisher.Publisher,type:"dom",handledDomEvents:[],reEnterCount:0,captureEvents:{animationstart:1,animationend:1,resize:1,focus:1,blur:1},directEvents:{mouseenter:1,mouseleave:1,pointerenter:1,pointerleave:1,MSPointerEnter:1,MSPointerLeave:1,load:1,unload:1,beforeunload:1,error:1,DOMContentLoaded:1,DOMFrameContentLoaded:1,hashchange:1,scroll:1},blockedPointerEvents:{pointerover:1,pointerout:1,pointerenter:1,pointerleave:1,MSPointerOver:1,MSPointerOut:1,MSPointerEnter:1,MSPointerLeave:1},blockedCompatibilityMouseEvents:{mouseenter:1,mouseleave:1},constructor:function(){var a=this;a.bubbleSubscribers={};a.captureSubscribers={};a.directSubscribers={};a.directCaptureSubscribers={};a.delegatedListeners={};a.initHandlers();Ext.onInternalReady(a.onReady,a);a.callParent()},registerEvents:function(){var g=this,d=Ext.event.publisher.Publisher.publishersByEvent,a=g.handledDomEvents,e=a.length,c=0,b;for(;c<e;c++){b=a[c];g.handles[b]=1;d[b]=g}this.callParent()},onReady:function(){var d=this,a=d.handledDomEvents,c,b;if(a){for(b=0,c=a.length;b<c;b++){d.addDelegatedListener(a[b])}}Ext.getWin().on("unload",d.destroy,d)},initHandlers:function(){var a=this;a.onDelegatedEvent=Ext.bind(a.onDelegatedEvent,a);a.onDirectEvent=Ext.bind(a.onDirectEvent,a);a.onDirectCaptureEvent=Ext.bind(a.onDirectCaptureEvent,a)},addDelegatedListener:function(a){this.delegatedListeners[a]=1;this.target.addEventListener(a,this.onDelegatedEvent,!!this.captureEvents[a])},removeDelegatedListener:function(a){delete this.delegatedListeners[a];this.target.removeEventListener(a,this.onDelegatedEvent,!!this.captureEvents[a])},addDirectListener:function(b,c,a){c.dom.addEventListener(b,a?this.onDirectCaptureEvent:this.onDirectEvent,a)},removeDirectListener:function(b,c,a){c.dom.removeEventListener(b,a?this.onDirectCaptureEvent:this.onDirectEvent,a)},subscribe:function(c,b,g,a){var d=this,e,h;if(g&&!d.directEvents[b]){e=a?d.captureSubscribers:d.bubbleSubscribers;if(!d.handles[b]&&!d.delegatedListeners[b]){d.addDelegatedListener(b)}if(e[b]){++e[b]}else{e[b]=1}}else{e=a?d.directCaptureSubscribers:d.directSubscribers;h=c.id;e=e[b]||(e[b]={});if(e[h]){++e[h]}else{e[h]=1;d.addDirectListener(b,c,a)}}},unsubscribe:function(e,g,b,j){var i=this,h,d,a,c;if(b&&!i.directEvents[g]){h=i.captureSubscribers;d=i.bubbleSubscribers;a=j?h:d;if(a[g]){--a[g]}if(!i.handles[g]&&!d[g]&&!h[g]){this.removeDelegatedListener(g)}}else{a=j?i.directCaptureSubscribers:i.directSubscribers;c=e.id;a=a[g];if(a[c]){--a[c]}if(!a[c]){delete a[c];i.removeDirectListener(g,e,j)}}},getPropagatingTargets:function(d){var c=d,b=[],a;while(c){b.push(c);a=c.parentNode;if(!a){a=c.defaultView}c=a}return b},publish:function(l,h,b){var o=this,m=false,c=false,r,p,k,a,g,n,d,q;b=b||false;if(!h){k=l.target;if(o.captureEvents[l.type]){a=Ext.cache[k.id];h=a?[a]:[]}else{h=o.getPropagatingTargets(k)}}r=Ext.Array.from(l);n=h.length;q=r.length;for(g=0;g<q;g++){p=r[g].type;if(!m&&o.captureSubscribers[p]){m=true}if(!c&&o.bubbleSubscribers[p]){c=true}}if(m){for(g=n;g--;){a=Ext.cache[h[g].id];if(a){for(d=0;d<q;d++){l=r[d];o.fire(a,l.type,l,false,true);if(!b&&l.claimed){b=true;d=o.filterClaimed(r,l);q=r.length}if(l.stopped){r.splice(d,1);d--;q--}}}}}if(c&&!l.stopped){for(g=0;g<n;g++){a=Ext.cache[h[g].id];if(a){for(d=0;d<q;d++){l=r[d];o.fire(a,l.type,l,false,false);if(!b&&l.claimed&&o.filterClaimed){b=true;d=o.filterClaimed(r,l);q=r.length}if(l.stopped){r.splice(d,1);d--;q--}}}}}},publishDelegatedDomEvent:function(a){this.publish(a)},fire:function(c,b,g,h,a){var d;if(c.hasListeners[b]){d=c.events[b];if(d){if(a&&h){d=d.directCaptures}else{if(a){d=d.captures}else{if(h){d=d.directs}}}if(d){g.setCurrentTarget(c.dom);d.fire(g,g.target)}}}},onDelegatedEvent:function(a){if(Ext.elevateFunction){Ext.elevateFunction(this.doDelegatedEvent,this,[a])}else{this.doDelegatedEvent(a)}},doDelegatedEvent:function(c){var b=this,a;c=new Ext.event.Event(c);a=c.time;if(!b.isEventBlocked(c)){b.beforeEvent(c);Ext.frameStartTime=a;b.reEnterCount++;b.publishDelegatedDomEvent(c);b.reEnterCount--;b.afterEvent(c)}},onDirectEvent:function(a){if(Ext.elevateFunction){Ext.elevateFunction(this.doDirectEvent,this,[a,false])}else{this.doDirectEvent(a,false)}},onDirectCaptureEvent:function(a){if(Ext.elevateFunction){Ext.elevateFunction(this.doDirectEvent,this,[a,true])}else{this.doDirectEvent(a,true)}},doDirectEvent:function(h,b){var d=this,g=h.currentTarget,a,c;h=new Ext.event.Event(h);a=h.time;if(d.isEventBlocked(h)){return}d.beforeEvent(h);Ext.frameStartTime=a;c=Ext.cache[g.id];if(c){d.reEnterCount++;d.fire(c,h.type,h,true,b);d.reEnterCount--}d.afterEvent(h)},beforeEvent:function(c){var g=c.browserEvent,a=Ext.event.publisher.Dom,b,d;if(g.type==="touchstart"){b=g.touches;if(b.length===1){d=b[0];a.lastTouchStartX=d.pageX;a.lastTouchStartY=d.pageY}}},afterEvent:function(d){var g=d.browserEvent,c=g.type,b=Ext.event.publisher.Dom,a=Ext.GlobalEvents;if(d.self.pointerEvents[c]&&d.pointerType!=="mouse"){b.lastScreenPointerEventTime=Ext.now()}if(c==="touchend"){b.lastTouchEndTime=Ext.now()}if(!this.reEnterCount&&a.hasListeners.idle&&!a.idleEventMask[c]){a.fireEvent("idle")}},isEventBlocked:function(g){var d=this,c=g.type,a=Ext.event.publisher.Dom,b=Ext.now();if(Ext.isGecko&&g.type==="click"&&g.button===2){return true}return(d.blockedPointerEvents[c]&&g.pointerType!=="mouse")||(d.blockedCompatibilityMouseEvents[c]&&(b-a.lastScreenPointerEventTime<1000))||(Ext.supports.TouchEvents&&g.self.mouseEvents[g.type]&&Math.abs(g.pageX-a.lastTouchStartX)<15&&Math.abs(g.pageY-a.lastTouchStartY)<15&&(Ext.now()-a.lastTouchEndTime)<1000)},destroy:function(){var b=Ext.dom.GarbageCollector,a;for(a in this.delegatedListeners){this.removeDelegatedListener(a)}Ext.Reaper.flush();if(b){b.collect()}this.callParent()},reset:function(){var a=Ext.event.publisher.Dom;a.lastScreenPointerEventTime=a.lastTouchEndTime=a.lastTouchStartX=a.lastTouchStartY=undefined}},function(b){var d=document,c=d.defaultView,a=b.prototype;if((Ext.os.is.iOS&&Ext.os.version.getMajor()<5)||Ext.browser.is.AndroidStock||!(c&&c.addEventListener)){a.target=d}else{a.target=c}b.instance=new b()});Ext.define("Ext.event.publisher.Gesture",{extend:Ext.event.publisher.Dom,type:"gesture",isCancelEvent:{touchcancel:1,pointercancel:1,MSPointerCancel:1},handledEvents:[],handledDomEvents:[],constructor:function(b){var g=this,c=g.handledDomEvents,a=Ext.supports,e=a.TouchEvents,h=g.onTouchStart,d=g.onTouchMove,i=g.onTouchEnd;g.handlers={touchstart:h,touchmove:d,touchend:i,touchcancel:i,pointerdown:h,pointermove:d,pointerup:i,pointercancel:i,MSPointerDown:h,MSPointerMove:d,MSPointerUp:i,MSPointerCancel:i,mousedown:h,mousemove:d,mouseup:i};g.activeTouchesMap={};g.activeTouches=[];g.changedTouches=[];g.recognizers=[];g.eventToRecognizer={};g.cancelEvents=[];if(e){g.onTargetTouchMove=g.onTargetTouchMove.bind(g);g.onTargetTouchEnd=g.onTargetTouchEnd.bind(g)}if(a.PointerEvents){c.push("pointerdown","pointermove","pointerup","pointercancel");g.mousePointerType="mouse"}else{if(a.MSPointerEvents){c.push("MSPointerDown","MSPointerMove","MSPointerUp","MSPointerCancel");g.mousePointerType=4}else{if(e){c.push("touchstart","touchmove","touchend","touchcancel")}}}if(!c.length||(e&&Ext.isWebKit&&Ext.os.is.Desktop)){c.push("mousedown","mousemove","mouseup")}g.initConfig(b);return g.callParent()},onReady:function(){this.callParent();Ext.Array.sort(this.recognizers,function(g,e){var d=g.priority,c=e.priority;return(d>c)?1:(d<c)?-1:0})},registerRecognizer:function(a){var g=this,c=a.handledEvents,e=c.length,b,d;a.setOnRecognized(g.onRecognized);a.setCallbackScope(g);for(d=0;d<e;d++){b=c[d];g.handledEvents.push(b);g.eventToRecognizer[b]=a}g.registerEvents(c);g.recognizers.push(a)},onRecognized:function(a,j,m,b,l){var p=this,h=m.touches,q=m.changedTouches,n=q.length,s=p.events,g=!s.length,o=p.cancelEvents,r,k,d,c;b=b||{};b.type=j;b.target=q[0].target;b.stopped=false;b.claimed=false;b.isGesture=true;m=m.chain(b);if(!p.gestureTargets){if(n>1){r=[];for(d=0;d<n;d++){c=q[d];r.push(c.targets)}k=p.getCommonTargets(r)}else{k=q[0].targets}p.gestureTargets=k}if(l&&a.isSingleTouch&&(h.length>1)){m.target=h[0].target;o.push(m)}else{s.push(m)}if(g){p.publishGestures()}},getCommonTargets:function(a){var k=a[0],g=a.length;if(g===1){return k}var d=[],e=1,h,b,c;while(true){h=k[k.length-e];if(!h){return d}for(c=1;c<g;c++){b=a[c];if(b[b.length-e]!==h){return d}}d.unshift(h);e++}return d},invokeRecognizers:function(c,h){var b=this.recognizers,g=b.length,d,a;if(c==="onStart"){for(d=0;d<g;d++){b[d].isActive=true}}for(d=0;d<g;d++){a=b[d];if(a.isActive&&a[c].call(a,h)===false){a.isActive=false}}},filterClaimed:function(k,c){var h=this,d=h.eventToRecognizer,j=c.type,a=d[j],l,b,g,e;for(e=k.length;e--;){g=k[e].type;if(g===j){l=e}else{b=d[g];if(!a||(b&&(b!==a))){k.splice(e,1);if(l){l--}}}}h.claimRecognizer(a,k[0]);return l},claimRecognizer:function(a,j){var h=this,c=h.recognizers,d,g,b;for(d=0,g=c.length;d<g;d++){b=c[d];if(b!==a){b.isActive=false;b.cancel(j)}}if(h.events.length){h.publishGestures(true)}},publishGestures:function(d){var c=this,e=c.cancelEvents,a=c.events,b=c.gestureTargets;if(e.length){c.cancelEvents=[];c.publish(e,c.getPropagatingTargets(e[0].target),true)}if(a.length){c.events=[];c.gestureTargets=null;c.publish(a,b||c.getPropagatingTargets(a[0].target),d)}},updateTouches:function(k,b){var o=this,s=k.browserEvent,g=s.changedTouches||[s],a=o.activeTouches,l=o.activeTouchesMap,q=[],n,j,d,h,c,m,r,p;for(c=0,m=g.length;c<m;c++){n=g[c];if("identifier" in n){j=n.identifier}else{if("pointerId" in n){j=n.pointerId}else{j=1}}d=l[j];if(!d){h=Ext.event.Event.resolveTextNode(n.target);d=l[j]={identifier:j,target:h,targets:o.getPropagatingTargets(h)};a.push(d)}if(b){delete l[j];Ext.Array.remove(a,d)}r=n.pageX;p=n.pageY;d.pageX=r;d.pageY=p;d.point=new Ext.util.Point(r,p);q.push(d)}k.touches=Ext.Array.clone(a);k.changedTouches=q},publishDelegatedDomEvent:function(b){var a=this;if(!b.button||b.button<1){a.events=[b];a.handlers[b.type].call(a,b)}else{a.callParent([b])}},onTouchStart:function(d){var a=this,c=d.target,b=d.browserEvent.touches;if(d.browserEvent.type==="touchstart"){c.addEventListener("touchmove",a.onTargetTouchMove);c.addEventListener("touchend",a.onTargetTouchEnd);c.addEventListener("touchcancel",a.onTargetTouchEnd)}if(b&&b.length<=a.activeTouches.length){a.removeGhostTouches(b)}a.updateTouches(d);if(!a.isStarted){if(Ext.enableGarbageCollector){Ext.dom.GarbageCollector.pause()}a.isStarted=true;a.invokeRecognizers("onStart",d)}a.invokeRecognizers("onTouchStart",d);a.publishGestures()},onTouchMove:function(c){var b=this,a=b.mousePointerType;if(b.isStarted){if(a&&c.browserEvent.pointerType===a&&c.buttons===0){c.type=Ext.dom.Element.prototype.eventMap.touchend;c.button=0;b.onTouchEnd(c);return}b.updateTouches(c);if(c.changedTouches.length>0){b.invokeRecognizers("onTouchMove",c)}}b.publishGestures()},onTouchEnd:function(c){var b=this,a;if(!b.isStarted){b.publishGestures();return}b.updateTouches(c,true);a=b.activeTouches.length;try{b.invokeRecognizers(b.isCancelEvent[c.type]?"onTouchCancel":"onTouchEnd",c)}finally{if(!a){b.isStarted=false;b.invokeRecognizers("onEnd",c)}b.publishGestures();if(!a){if(Ext.enableGarbageCollector){Ext.dom.GarbageCollector.resume()}}}},onTargetTouchMove:function(a){if(Ext.elevateFunction){Ext.elevateFunction(this.doTargetTouchMove,this,[a])}else{this.doTargetTouchMove(a)}},doTargetTouchMove:function(a){if(!Ext.getBody().contains(a.target)){this.onTouchMove(new Ext.event.Event(a))}},onTargetTouchEnd:function(a){if(Ext.elevateFunction){Ext.elevateFunction(this.doTargetTouchEnd,this,[a])}else{this.doTargetTouchEnd(a)}},doTargetTouchEnd:function(c){var a=this,b=c.target;b.removeEventListener("touchmove",a.onTargetTouchMove);b.removeEventListener("touchend",a.onTargetTouchEnd);b.removeEventListener("touchcancel",a.onTargetTouchEnd);if(!Ext.getBody().contains(b)){a.onTouchEnd(new Ext.event.Event(c))}},reset:function(){var e=this,b=e.recognizers,d=b.length,c,a;e.activeTouchesMap={};e.activeTouches=[];e.changedTouches=[];e.isStarted=false;e.gestureTargets=null;e.events=[];e.cancelEvents=[];for(c=0;c<d;c++){a=b[c];a.reset();a.isActive=false}this.callParent()},privates:{removeGhostTouches:function(e){var c={},a=e.length,j=this.activeTouches,d=this.activeTouchesMap,b,h,g;for(b=0;b<a;++b){c[e[b].identifier]=true}b=j.length;while(b--){g=j[b];h=g.identifier;if(!e[h]){Ext.Array.remove(j,g);delete d[h]}}}}},function(a){a.instance=Ext.$gesturePublisher=new a()});Ext.define("Ext.mixin.Templatable",{extend:Ext.Mixin,mixinConfig:{id:"templatable"},referenceAttributeName:"reference",referenceSelector:"[reference]",getElementConfig:function(){return{reference:"element"}},getElementTemplate:function(){var a=document.createDocumentFragment();a.appendChild(Ext.Element.create(this.getElementConfig(),true));return a},initElement:function(){var a=this.self.prototype;a.elementTemplate=this.getElementTemplate();a.initElement=a.doInitElement;this.initElement.apply(this,arguments)},linkElement:function(a,b){this.link(a,b)},doInitElement:function(){var h=this.referenceAttributeName,c,d,e,g,b,a;c=this.elementTemplate.cloneNode(true);d=c.querySelectorAll(this.referenceSelector);for(e=0,g=d.length;e<g;e++){b=d[e];a=b.getAttribute(h);b.removeAttribute(h);this.linkElement(a,b)}}});Ext.define("Ext.TaskQueue",{singleton:true,pending:false,mode:true,constructor:function(){this.readQueue=[];this.writeQueue=[];this.run=Ext.Function.bind(this.run,this);if(Ext.os.is.iOS){Ext.interval(this.watch,500,this)}},requestRead:function(c,b,a){this.request(true);this.readQueue.push(arguments)},requestWrite:function(c,b,a){this.request(false);this.writeQueue.push(arguments)},request:function(a){if(!this.pending){this.pendingTime=Date.now();this.pending=true;this.mode=a;if(a){Ext.defer(this.run,1,this)}else{Ext.Function.requestAnimationFrame(this.run)}}},watch:function(){if(this.pending&&Date.now()-this.pendingTime>=500){this.run()}},run:function(){this.pending=false;var k=this.readQueue,e=this.writeQueue,c=null,g;if(this.mode){g=k;if(e.length>0){c=false}}else{g=e;if(k.length>0){c=true}}var b=g.slice(),d,h,a,j,l;g.length=0;for(d=0,h=b.length;d<h;d++){a=b[d];j=a[0];l=a[1];if(l&&(l.destroying||l.destroyed)){continue}if(typeof j==="string"){j=l[j]}if(a.length>2){j.apply(l,a[2])}else{j.call(l)}}b.length=0;if(c!==null){this.request(c)}}});Ext.define("Ext.util.sizemonitor.Abstract",{mixins:[Ext.mixin.Templatable],config:{element:null,callback:Ext.emptyFn,scope:null,args:[]},width:null,height:null,contentWidth:null,contentHeight:null,constructor:function(a){this.refresh=Ext.Function.bind(this.refresh,this);this.info={width:0,height:0,contentWidth:0,contentHeight:0,flag:0};this.initElement();this.initConfig(a);this.bindListeners(true)},bindListeners:Ext.emptyFn,applyElement:function(a){if(a){return Ext.get(a)}},updateElement:function(a){a.append(this.detectorsContainer);a.addCls(Ext.baseCSSPrefix+"size-monitored")},applyArgs:function(a){return a.concat([this.info])},refreshMonitors:Ext.emptyFn,forceRefresh:function(){Ext.TaskQueue.requestRead("refresh",this)},getContentBounds:function(){return this.detectorsContainer.getBoundingClientRect()},getContentWidth:function(){return this.detectorsContainer.clientWidth},getContentHeight:function(){return this.detectorsContainer.clientHeight},refreshSize:function(){var d=this.getElement();if(!d||d.destroyed){return false}var b=d.getWidth(),k=d.getHeight(),a=this.getContentWidth(),j=this.getContentHeight(),i=this.contentWidth,g=this.contentHeight,c=this.info,e=false,h=0;this.width=b;this.height=k;this.contentWidth=a;this.contentHeight=j;h=((i!==a?1:0)+(g!==j?2:0));if(h>0){c.width=b;c.height=k;c.contentWidth=a;c.contentHeight=j;c.flag=h;e=true;this.getCallback().apply(this.getScope(),this.getArgs())}return e},refresh:function(a){if(this.destroying||this.destroyed){return}if(this.refreshSize()||a){Ext.TaskQueue.requestWrite("refreshMonitors",this)}},destroy:function(){var b=this,a=b.getElement();b.bindListeners(false);if(a&&!a.destroyed){a.removeCls(Ext.baseCSSPrefix+"size-monitored")}delete b._element;b.refresh=null;b.callParent()}});Ext.define("Ext.util.sizemonitor.Scroll",{extend:Ext.util.sizemonitor.Abstract,getElementConfig:function(){return{reference:"detectorsContainer",classList:[Ext.baseCSSPrefix+"size-monitors","scroll"],children:[{reference:"expandMonitor",className:"expand"},{reference:"shrinkMonitor",className:"shrink"}]}},constructor:function(a){this.onScroll=Ext.Function.bind(this.onScroll,this);this.callParent(arguments)},bindListeners:function(b){var a=b?"addEventListener":"removeEventListener";this.expandMonitor[a]("scroll",this.onScroll,true);this.shrinkMonitor[a]("scroll",this.onScroll,true)},forceRefresh:function(){Ext.TaskQueue.requestRead("refresh",this,[true])},onScroll:function(){Ext.TaskQueue.requestRead("refresh",this)},refreshMonitors:function(){var b=this.expandMonitor,c=this.shrinkMonitor,a=1000000;if(b&&!b.destroyed){b.scrollLeft=a;b.scrollTop=a}if(c&&!c.destroyed){c.scrollLeft=a;c.scrollTop=a}},destroy:function(){this.onScroll=null;this.callParent()}});Ext.define("Ext.util.sizemonitor.OverflowChange",{extend:Ext.util.sizemonitor.Abstract,constructor:function(a){this.onExpand=Ext.Function.bind(this.onExpand,this);this.onShrink=Ext.Function.bind(this.onShrink,this);this.callParent(arguments)},getElementConfig:function(){return{reference:"detectorsContainer",classList:[Ext.baseCSSPrefix+"size-monitors","overflowchanged"],children:[{reference:"expandMonitor",className:"expand",children:[{reference:"expandHelper"}]},{reference:"shrinkMonitor",className:"shrink",children:[{reference:"shrinkHelper"}]}]}},bindListeners:function(b){var a=b?"addEventListener":"removeEventListener";this.expandMonitor[a](Ext.browser.is.Firefox?"underflow":"overflowchanged",this.onExpand,true);this.shrinkMonitor[a](Ext.browser.is.Firefox?"overflow":"overflowchanged",this.onShrink,true)},onExpand:function(a){if(Ext.browser.is.Webkit&&a.horizontalOverflow&&a.verticalOverflow){return}Ext.TaskQueue.requestRead("refresh",this)},onShrink:function(a){if(Ext.browser.is.Webkit&&!a.horizontalOverflow&&!a.verticalOverflow){return}Ext.TaskQueue.requestRead("refresh",this)},refreshMonitors:function(){if(this.destroying||this.destroyed){return}var g=this.expandHelper,e=this.shrinkHelper,b=this.getContentBounds(),d=b.width,a=b.height,c;if(g&&!g.destroyed){c=g.style;c.width=(d+1)+"px";c.height=(a+1)+"px"}if(e&&!e.destroyed){c=e.style;c.width=d+"px";c.height=a+"px"}Ext.TaskQueue.requestRead("refresh",this)},destroy:function(){this.onExpand=this.onShrink=null;this.callParent()}});Ext.define("Ext.util.SizeMonitor",{constructor:function(a){var b=Ext.util.sizemonitor;if(Ext.browser.is.Firefox){return new b.OverflowChange(a)}else{return new b.Scroll(a)}}});Ext.define("Ext.event.publisher.ElementSize",{extend:Ext.event.publisher.Publisher,type:"size",handledEvents:["resize"],constructor:function(){this.monitors={};this.subscribers={};this.callParent(arguments)},subscribe:function(b){var d=b.id,c=this.subscribers,a=this.monitors;if(c[d]){++c[d]}else{c[d]=1;a[d]=new Ext.util.SizeMonitor({element:b,callback:this.onElementResize,scope:this,args:[b]})}b.on("painted","forceRefresh",a[d]);return true},unsubscribe:function(c){var e=c.id,d=this.subscribers,b=this.monitors,a;if(d[e]&&!--d[e]){delete d[e];a=b[e];c.un("painted","forceRefresh",a);a.destroy();delete b[e]}},onElementResize:function(a,b){Ext.TaskQueue.requestRead("fire",this,[a,"resize",[a,b]])}},function(a){a.instance=new a()});Ext.define("Ext.util.paintmonitor.Abstract",{config:{element:null,callback:Ext.emptyFn,scope:null,args:[]},eventName:"",monitorClass:"",constructor:function(a){this.onElementPainted=Ext.Function.bind(this.onElementPainted,this);this.initConfig(a)},bindListeners:function(a){this.monitorElement[a?"addEventListener":"removeEventListener"](this.eventName,this.onElementPainted,true)},applyElement:function(a){if(a){return Ext.get(a)}},updateElement:function(a){this.monitorElement=Ext.Element.create({classList:[Ext.baseCSSPrefix+"paint-monitor",this.monitorClass]},true);a.appendChild(this.monitorElement);a.addCls(Ext.baseCSSPrefix+"paint-monitored");this.bindListeners(true)},onElementPainted:function(){},destroy:function(){var d=this,b=d.monitorElement,a=b.parentNode,c=d.getElement();d.bindListeners(false);delete d.monitorElement;if(c&&!c.destroyed){c.removeCls(Ext.baseCSSPrefix+"paint-monitored");delete d._element}if(a){a.removeChild(b)}d.callParent()}});Ext.define("Ext.util.paintmonitor.CssAnimation",{extend:Ext.util.paintmonitor.Abstract,eventName:Ext.browser.is.WebKit?"webkitAnimationEnd":"animationend",monitorClass:"cssanimation",onElementPainted:function(a){if(a.animationName===Ext.baseCSSPrefix+"paint-monitor-helper"){this.getCallback().apply(this.getScope(),this.getArgs())}}});Ext.define("Ext.util.PaintMonitor",{constructor:function(a){return new Ext.util.paintmonitor.CssAnimation(a)}});Ext.define("Ext.event.publisher.ElementPaint",{extend:Ext.event.publisher.Publisher,type:"paint",handledEvents:["painted"],constructor:function(){this.monitors={};this.subscribers={};this.callParent(arguments)},subscribe:function(a){var b=this,d=a.id,c=b.subscribers;if(c[d]){++c[d]}else{c[d]=1;b.monitors[d]=new Ext.util.PaintMonitor({element:a,callback:b.onElementPainted,scope:b,args:[a]})}},unsubscribe:function(b){var d=b.id,c=this.subscribers,a=this.monitors;if(c[d]&&!--c[d]){delete c[d];a[d].destroy();delete a[d]}},onElementPainted:function(a){Ext.TaskQueue.requestRead("fire",this,[a,"painted",[a]])}},function(a){a.instance=new a()});Ext.define("Ext.dom.Element",function(s){var x=window,V=document,g=V.documentElement,X=x.top,W,aj,P,l="width",T="height",ag="min-width",h="min-height",t="max-width",G="max-height",X="top",ak="right",Q="bottom",K="left",n="visibility",ah="hidden",d="display",Z="none",q="z-index",ab="position",v="relative",w="static",C="-",A=/\w/g,O=/\s+/,ai=/[\s]+/,b=/^(?:transparent|(?:rgba[(](?:\s*\d+\s*[,]){3}\s*0\s*[)]))$/i,M=/table-row|table-.*-group/,c=/top/i,z={t:"border-top-width",r:"border-right-width",b:"border-bottom-width",l:"border-left-width"},af={t:"padding-top",r:"padding-right",b:"padding-bottom",l:"padding-left"},p={t:"margin-top",r:"margin-right",b:"margin-bottom",l:"margin-left"},J=[af.l,af.r,af.t,af.b],j=[z.l,z.r,z.t,z.b],ad=/\d+$/,m=/\d+(px|em|%|en|ex|pt|in|cm|mm|pc)$/i,U="px",S=/(-[a-z])/gi,am=/([a-z0-9\-]+)\s*:\s*([^;\s]+(?:\s*[^;\s]+)*);?/gi,u=/^\d+(?:\.\d*)?px$/i,B={},y="originalDisplay",aa=function(e,an){return an.charAt(1).toUpperCase()},N=function(ap,an){var aq,ao,e;if(ap.nodeType===1){ap._extData=null;if(an){aq=ap.childNodes;for(ao=0,e=aq.length;ao<e;++ao){N(aq[ao],an)}}}},H=Ext.baseCSSPrefix+"hidden-visibility",F=Ext.baseCSSPrefix+"hidden-display",o=Ext.baseCSSPrefix+"hidden-offsets",a=Ext.baseCSSPrefix+"hidden-clip",E=Ext.baseCSSPrefix+"sized",R=Ext.baseCSSPrefix+"unsized",L=Ext.baseCSSPrefix+"stretched",r={style:"style",className:"className",cls:"cls",classList:"classList",text:"text",hidden:"hidden",html:"html",children:"children"},Y=0,ae=0,D=false,i=false,ac,I,k;try{W=X.__elementIdCounter__}catch(al){X=x}X.__elementIdCounter=W=(X.__elementIdCounter__||0)+1;aj="ext-window-"+W;P="ext-document-"+W;return{alternateClassName:["Ext.Element"],mixins:[Ext.util.Positionable,Ext.mixin.Observable],observableType:"element",isElement:true,skipGarbageCollection:true,$applyConfigs:true,identifiablePrefix:"ext-element-",styleHooks:{},validIdRe:Ext.validIdRe,blockedEvents:Ext.supports.EmulatedMouseOver?{mouseover:1}:{},longpressEvents:{longpress:1,taphold:1},constructor:function(an){var e=this,ao;if(typeof an==="string"){an=V.getElementById(an)}if(!an){return null}e.dom=an;ao=an.id;if(ao){e.id=ao}else{ao=an.id=e.getUniqueId()}e.el=e;Ext.cache[ao]=e;e.longpressListenerCount=0;e.mixins.observable.constructor.call(e)},inheritableStatics:{cache:Ext.cache={},editableSelector:'input,textarea,[contenteditable="true"]',VISIBILITY:1,DISPLAY:2,OFFSETS:3,CLIP:4,minKeyboardHeight:100,unitRe:m,useDelegatedEvents:true,validNodeTypes:{1:1,9:1},addUnits:function(an,e){if(typeof an==="number"){return an+(e||U)}if(an===""||an==="auto"||an==null){return an||""}if(ad.test(an)){return an+(e||U)}if(!m.test(an)){return an||""}return an},create:function(ap,ao){var av=this,an,at,aw,ay,ax,e,ar,au,aq;ap=ap||{};if(ap.isElement){return ao?ap.dom:ap}else{if("nodeType" in ap){return ao?ap:Ext.get(ap)}}if(typeof ap==="string"){return V.createTextNode(ap)}ay=ap.tag;if(!ay){ay="div"}if(ap.namespace){at=V.createElementNS(ap.namespace,ay)}else{at=V.createElement(ay)}aw=at.style;for(e in ap){if(e!=="tag"){ax=ap[e];switch(e){case r.style:if(typeof ax==="string"){at.setAttribute(e,ax)}else{for(ar in ax){if(ax.hasOwnProperty(ar)){aw[ar]=ax[ar]}}}break;case r.className:case r.cls:aq=ax.split(O);an=an?an.concat(aq):aq;break;case r.classList:an=an?an.concat(ax):ax;break;case r.text:at.textContent=ax;break;case r.html:at.innerHTML=ax;break;case r.hidden:if(an){an.push(F)}else{an=[F]}break;case r.children:if(ax!=null){for(ar=0,au=ax.length;ar<au;ar++){at.appendChild(av.create(ax[ar],true))}}break;default:if(ax!=null){at.setAttribute(e,ax)}}}}if(an){at.className=an.join(" ")}if(ao){return at}else{return av.get(at)}},detach:function(){var e=this.dom;if(e&&e.parentNode&&e.tagName!=="BODY"){e.parentNode.removeChild(e)}return this},fly:function(an,e){return Ext.fly(an,e)},fromPoint:(function(){var ao;if(Ext.isIE){try{ao=window.self!==window.top}catch(an){ao=true}}return function(ap,ar,e){var aq=null;aq=V.elementFromPoint(ap,ar);if(!aq&&ao){aq=V.elementFromPoint(ap,ar)}return e?aq:Ext.get(aq)}})(),fromPagePoint:function(ao,ap,an){var e=Ext.getDoc().getScroll();return s.fromPoint(ao-e.left,ap-e.top,an)},get:function(ao){var at=this,e=Ext.cache,aq,ap,an,aw,av,ar,au;if(!ao){return null}if(ao.isFly){ao=ao.dom}if(typeof ao==="string"){an=ao;if(e.hasOwnProperty(an)){aw=e[an];if(aw.skipGarbageCollection||!Ext.isGarbage(aw.dom)){return aw}else{aw.destroy()}}if(an===aj){return s.get(x)}else{if(an===P){return s.get(V)}}ap=Ext.getElementById?Ext.getElementById(an):V.getElementById(an);if(ap){return new s(ap)}}aq=ao.nodeType;if(aq){av=(aq===9);au=at.validNodeTypes[aq]}else{ar=(ao.window==ao)}if(au||ar){an=ao.id;if(e.hasOwnProperty(an)){aw=e[an];if(aw.skipGarbageCollection||ao===aw.dom||!Ext.isGarbage(aw.dom)){return aw}else{aw.destroy()}}if(ao===V){ao.id=P}if(ao==x){ao.id=aj}ao=new s(ao);if(ar||av){ao.skipGarbageCollection=true}return ao}if(ao.isElement){return ao}if(ao.isComposite){return ao}if(Ext.isIterable(ao)){return at.select(ao)}return null},getActiveElement:function(e){var an=V.activeElement;if(!an||!an.focus){an=V.body}return e?Ext.get(an):an},getDocumentHeight:function(){return Math.max(!Ext.isStrict?V.body.scrollHeight:g.scrollHeight,this.getViewportHeight())},getDocumentWidth:function(){return Math.max(!Ext.isStrict?V.body.scrollWidth:g.scrollWidth,this.getViewportWidth())},getOrientation:function(){if(Ext.supports.OrientationChange){return(x.orientation==0)?"portrait":"landscape"}return(x.innerHeight>x.innerWidth)?"portrait":"landscape"},getViewportHeight:function(){var e=s._viewportHeight;if(Ext.isIE9m){return V.documentElement.clientHeight}return(e!=null)?e:g.clientHeight},getViewportWidth:function(){var e=s._viewportWidth;if(Ext.isIE9m){return V.documentElement.clientWidth}return(e!=null)?e:g.clientWidth},getViewportScale:function(){var e=x.top;return((Ext.isiOS||Ext.isAndroid)?1:(e.devicePixelRatio||e.screen.deviceXDPI/e.screen.logicalXDPI))*this.getViewportTouchScale()},getViewportTouchScale:function(ao){var aq=1,e="hidden",an=x.top,ap;if(!ao){ap=this._viewportTouchScale;if(ap){return ap}}if(Ext.isIE10p||Ext.isEdge||Ext.isiOS){aq=g.offsetWidth/x.innerWidth}else{if(Ext.isChromeMobile){aq=an.outerWidth/an.innerWidth}}return aq},getViewSize:function(){return{width:s.getViewportWidth(),height:s.getViewportHeight()}},maskIframes:function(){var e=document.getElementsByTagName("iframe");Ext.each(e,function(ao){var an;an=Ext.fly(ao.parentNode).mask();an.setStyle("background-color","transparent")})},normalize:function(e){return B[e]||(B[e]=e.replace(S,aa))},_onWindowFocusChange:function(an){if(Ext.fly(an.target).is(s.editableSelector)){Y=new Date();D=(an.type==="focusin"||an.type==="pointerup")}},_onWindowResize:function(){var ao=g.clientWidth,ar=g.clientHeight,aq=new Date(),an=1000,ap,e;ap=ao-s._documentWidth;e=ar-s._documentHeight;s._windowWidth=ao;s._windowHeight=ar;if(((aq-Y)<an)||((aq-ae)<an)){if(ap===0&&(D&&(e<=-s.minKeyboardHeight))){i=true;return}}if(i&&(ap===0)&&(e>=s.minKeyboardHeight)){i=false;ae=new Date()}if(i){return}s._viewportWidth=ao;s._viewportHeight=ar},parseBox:function(ao){ao=ao||0;var e=typeof ao,ap,an;if(e==="number"){return{top:ao,right:ao,bottom:ao,left:ao}}else{if(e!=="string"){return ao}}ap=ao.split(" ");an=ap.length;if(an===1){ap[1]=ap[2]=ap[3]=ap[0]}else{if(an===2){ap[2]=ap[0];ap[3]=ap[1]}else{if(an===3){ap[3]=ap[1]}}}return{top:parseFloat(ap[0])||0,right:parseFloat(ap[1])||0,bottom:parseFloat(ap[2])||0,left:parseFloat(ap[3])||0}},parseStyles:function(an){var e={},ao;if(an){am.lastIndex=0;while((ao=am.exec(an))){e[ao[1]]=ao[2]||""}}return e},select:function(e,ao,an){return Ext.fly(an||V).select(e,ao)},query:function(an,e,ao){return Ext.fly(ao||V).query(an,e)},unitizeBox:function(ao,e){var an=this;ao=an.parseBox(ao);return an.addUnits(ao.top,e)+" "+an.addUnits(ao.right,e)+" "+an.addUnits(ao.bottom,e)+" "+an.addUnits(ao.left,e)},unmaskIframes:function(){var e=document.getElementsByTagName("iframe");Ext.each(e,function(an){Ext.fly(an.parentNode).unmask()})},serializeForm:function(ap){var aq=ap.elements||(V.forms[ap]||Ext.getDom(ap)).elements,aA=false,az=encodeURIComponent,au="",at=aq.length,av,an,ay,aC,aB,aw,ar,ax,ao;for(aw=0;aw<at;aw++){av=aq[aw];an=av.name;ay=av.type;aC=av.options;if(!av.disabled&&an){if(/select-(one|multiple)/i.test(ay)){ax=aC.length;for(ar=0;ar<ax;ar++){ao=aC[ar];if(ao.selected){aB=ao.hasAttribute("value");au+=Ext.String.format("{0}={1}&",az(an),az(aB?ao.value:ao.text))}}}else{if(!(/file|undefined|reset|button/i.test(ay))){if(!(/radio|checkbox/i.test(ay)&&!av.checked)&&!(ay=="submit"&&aA)){au+=az(an)+"="+az(av.value)+"&";aA=/submit/i.test(ay)}}}}}return au.substr(0,au.length-1)},getCommonAncestor:function(ao,an,e){k=k||new Ext.dom.Fly();k.attach(Ext.getDom(ao));while(!k.isAncestor(an)){if(k.dom.parentNode){k.attach(k.dom.parentNode)}else{k.attach(V.body);break}}return e?k.dom:Ext.get(k)}},addCls:function(av,at,ax){var aw=this,ap=aw.getData(),ay,aq,an,ao,ar,au,e;if(!av){return aw}if(!ap.isSynchronized){aw.synchronize()}aq=aw.dom;an=ap.classMap;ao=ap.classList;at=at?at+C:"";ax=ax?C+ax:"";if(typeof av==="string"){av=av.split(O)}for(ar=0,au=av.length;ar<au;ar++){e=av[ar];if(e){e=at+e+ax;if(!an[e]){an[e]=true;ao.push(e);ay=true}}}if(ay){aq.className=ao.join(" ")}return aw},addClsOnClick:function(ao,ar,an){var ap=this,aq=ap.dom,e=Ext.isFunction(ar);ap.on("mousedown",function(){if(e&&ar.call(an||ap,ap)===false){return false}Ext.fly(aq).addCls(ao);var au=Ext.getDoc(),at=function(){Ext.fly(aq).removeCls(ao);au.removeListener("mouseup",at)};au.on("mouseup",at)});return ap},addClsOnFocus:function(ao,ar,an){var ap=this,aq=ap.dom,e=Ext.isFunction(ar);ap.on("focus",function(){if(e&&ar.call(an||ap,ap)===false){return false}Ext.fly(aq).addCls(ao)});ap.on("blur",function(){Ext.fly(aq).removeCls(ao)});return ap},addClsOnOver:function(ao,ar,an){var ap=this,aq=ap.dom,e=Ext.isFunction(ar);ap.hover(function(){if(e&&ar.call(an||ap,ap)===false){return}Ext.fly(aq).addCls(ao)},function(){Ext.fly(aq).removeCls(ao)});return ap},addStyles:function(au,at){var ao=0,ar=(au||"").match(A),aq,e=ar.length,ap,an=[];if(e===1){ao=Math.abs(parseFloat(this.getStyle(at[ar[0]]))||0)}else{if(e){for(aq=0;aq<e;aq++){ap=ar[aq];an.push(at[ap])}an=this.getStyle(an);for(aq=0;aq<e;aq++){ap=ar[aq];ao+=parseFloat(an[at[ap]])||0}}}return ao},addUnits:function(an,e){return s.addUnits(an,e)},adjustDirect2DDimension:function(ao){var au=this,an=au.dom,ar=au.getStyle("display"),aq=an.style.display,av=an.style.position,at=ao===l?0:1,e=an.currentStyle,ap;if(ar==="inline"){an.style.display="inline-block"}an.style.position=ar.match(M)?"absolute":"static";ap=(parseFloat(e[ao])||parseFloat(e.msTransformOrigin.split(" ")[at])*2)%1;an.style.position=av;if(ar==="inline"){an.style.display=aq}return ap},animate:function(e){e=new Ext.fx.Animation(e);e.setElement(this);this._activeAnimation=e;e.on({animationend:this._onAnimationEnd,scope:this});Ext.Animator.run(e);return e},_onAnimationEnd:function(){this._activeAnimation=null},getActiveAnimation:function(){return this._activeAnimation},append:function(){this.appendChild.apply(this,arguments)},appendChild:function(ap,ao){var aq=this,at,an,ar;if(ap.nodeType||ap.dom||typeof ap==="string"){ap=Ext.getDom(ap);aq.dom.appendChild(ap);return !ao?Ext.get(ap):ap}else{if(ap.length){at=Ext.fly(V.createDocumentFragment());an=ap.length;for(ar=0;ar<an;ar++){at.appendChild(ap[ar],ao)}ap=Ext.Array.toArray(at.dom.childNodes);aq.dom.appendChild(at.dom);return ao?ap:new Ext.dom.CompositeElementLite(ap)}else{return aq.createChild(ap,null,ao)}}},appendTo:function(e){Ext.getDom(e).appendChild(this.dom);return this},applyStyles:function(e){if(e){if(typeof e==="function"){e=e.call()}if(typeof e==="string"){e=s.parseStyles(e)}if(typeof e==="object"){this.setStyle(e)}}return this},blur:function(){var an=this,ap=an.dom;if(ap!==V.body){try{ap.blur()}catch(ao){}return an}else{return an.focus(undefined,ap)}},cacheScrollValues:function(){var aq=this,ar=[],ap=[],at,ao,an,e;I=I||new Ext.dom.Fly();at=aq.query("*");for(an=0,e=at.length;an<e;an++){ao=at[an];if(ao.scrollTop>0||ao.scrollLeft!==0){ap.push(ao);ar.push(I.attach(ao).getScroll())}}return function(){var av,aw,au;for(aw=0,au=ap.length;aw<au;aw++){av=ar[aw];I.attach(ap[aw]);I.setScrollLeft(av.left);I.setScrollTop(av.top)}}},center:function(e){return this.alignTo(e||V,"c-c")},child:function(e,an){var ao=this,ap=Ext.get(ao).id;return ao.selectNode(Ext.makeIdSelector(ap)+" > "+e,!!an)},clone:function(e,an){var ao=this.dom.cloneNode(e);if(Ext.supports.CloneNodeCopiesExpando){N(ao,e)}return an?ao:Ext.get(ao)},constrainScrollLeft:function(e){var an=this.dom;return Math.max(Math.min(e,an.scrollWidth-an.clientWidth),0)},constrainScrollTop:function(e){var an=this.dom;return Math.max(Math.min(e,an.scrollHeight-an.clientHeight),0)},createChild:function(an,e,ao){an=an||{tag:"div"};if(e){return Ext.DomHelper.insertBefore(e,an,ao!==true)}else{return Ext.DomHelper.append(this.dom,an,ao!==true)}},contains:function(e){if(!e){return false}var an=this,ao=Ext.getDom(e);return(ao===an.dom)||an.isAncestor(ao)},destroy:function(){var e=this,an=e.dom;if(an&&an.parentNode){an.parentNode.removeChild(an)}e.collect()},detach:function(){var e=this.dom;if(e&&e.parentNode&&e.tagName!=="BODY"){e.parentNode.removeChild(e)}return this},disableShadow:function(){var e=this.shadow;if(e){e.hide();e.disabled=true}},disableShim:function(){var e=this.shim;if(e){e.hide();e.disabled=true}},doReplaceWith:function(e){var an=this.dom;an.parentNode.replaceChild(Ext.getDom(e),an)},doScrollIntoView:function(e,aq,an,ar,ay,av){I=I||new Ext.dom.Fly();var aw=this,at=aw.dom,az=I.attach(e)[ay](),ax=e.scrollTop,au=aw.getScrollIntoViewXY(e,az,ax),ap=au.x,ao=au.y;if(ar){if(an){an=Ext.apply({listeners:{afteranimate:function(){I.attach(at).highlight()}}},an)}else{I.attach(at).highlight()}}if(ao!==ax){I.attach(e).scrollTo("top",ao,an)}if(aq!==false&&(ap!==az)){I.attach(e)[av]("left",ap,an)}return aw},down:function(e,an){return this.selectNode(e,!!an)},enableShadow:function(an,e){var ao=this,aq=ao.shadow||(ao.shadow=new Ext.dom.Shadow(Ext.apply({target:ao},an))),ap=ao.shim;if(ap){ap.offsets=aq.outerOffsets;ap.shadow=aq;aq.shim=ap}if(e===true||(e!==false&&ao.isVisible())){aq.show()}else{aq.hide()}aq.disabled=false},enableShim:function(an,e){var ao=this,aq=ao.shim||(ao.shim=new Ext.dom.Shim(Ext.apply({target:ao},an))),ap=ao.shadow;if(ap){aq.offsets=ap.outerOffsets;aq.shadow=ap;ap.shim=aq}if(e===true||(e!==false&&ao.isVisible())){aq.show()}else{aq.hide()}aq.disabled=false;return aq},findParent:function(at,an,e){var ap=this,aq=ap.dom,ao=g,ar=0;if(an||an===0){if(typeof an!=="number"){ao=Ext.getDom(an);an=Number.MAX_VALUE}}else{an=50}while(aq&&aq.nodeType===1&&ar<an&&aq!==ao){if(Ext.fly(aq).is(at)){return e?Ext.get(aq):aq}ar++;aq=aq.parentNode}return null},findParentNode:function(ap,an,e){var ao=Ext.fly(this.dom.parentNode);return ao?ao.findParent(ap,an,e):null},first:function(e,an){return this.matchNode("nextSibling","firstChild",e,an)},focus:function(ao,an){var e=this;an=an||e.dom;if(Number(ao)){Ext.defer(e.focus,ao,e,[null,an])}else{Ext.GlobalEvents.fireEvent("beforefocus",an);an.focus()}return e},collect:function(){var e=this,an=e.dom,ap=e.shadow,ao=e.shim;if(!e.isFly){e.mixins.observable.destroy.call(e);delete Ext.cache[e.id];e.el=null}if(an){an._extData=e.dom=null}if(ap){ap.hide();e.shadow=null}if(ao){ao.hide();e.shim=null}},getAnchorToXY:function(ap,e,ao,an){return ap.getAnchorXY(e,ao,an)},getAttribute:function(e,an){var ao=this.dom;return an?(ao.getAttributeNS(an,e)||ao.getAttribute(an+":"+e)):(ao.getAttribute(e)||ao[e]||null)},getAttributes:function(){var ap=this.dom.attributes,ao={},an,aq,e;for(aq=0,e=ap.length;aq<e;aq++){an=ap[aq];ao[an.name]=an.value}return ao},getBottom:function(e){return(e?this.getLocalY():this.getY())+this.getHeight()},getById:function(ao,e){var an=V.getElementById(ao)||this.dom.querySelector(Ext.makeIdSelector(ao));return e?an:(an?Ext.get(an):null)},getBorderPadding:function(){var e=this.getStyle(J),an=this.getStyle(j);return{beforeX:(parseFloat(an[z.l])||0)+(parseFloat(e[af.l])||0),afterX:(parseFloat(an[z.r])||0)+(parseFloat(e[af.r])||0),beforeY:(parseFloat(an[z.t])||0)+(parseFloat(e[af.t])||0),afterY:(parseFloat(an[z.b])||0)+(parseFloat(e[af.b])||0)}},getBorders:function(){var e=this.getStyle(j);return{beforeX:(parseFloat(e[z.l])||0),afterX:(parseFloat(e[z.r])||0),beforeY:(parseFloat(e[z.t])||0),afterY:(parseFloat(e[z.b])||0)}},getBorderWidth:function(e){return this.addStyles(e,z)},getData:function(e){var ao=this.dom,an;if(ao){an=ao._extData;if(!an&&!e){ao._extData=an={}}}return an},getFirstChild:function(){return Ext.get(this.dom.firstElementChild)},getHeight:function(ap,an){var ao=this,ar=ao.dom,aq=ao.isStyle("display","none"),e,at;if(aq){return 0}if(ar.nodeName==="BODY"){e=s.getViewportHeight()}else{e=ar.offsetHeight;if(e==null){e=ar.getBoundingClientRect().height}}if(Ext.supports.Direct2DBug){at=ao.adjustDirect2DDimension(T);if(an){e+=at}else{if(at>0&&at<0.5){e++}}}if(ap){e-=ao.getBorderWidth("tb")+ao.getPadding("tb")}return(e<0)?0:e},getHtml:function(){return this.dom?this.dom.innerHTML:""},getLeft:function(e){return e?this.getLocalX():this.getX()},getLocalX:function(){var ao=this,an,e=ao.getStyle("left");if(!e||e==="auto"){e=0}else{if(u.test(e)){e=parseFloat(e)}else{e=ao.getX();an=ao.dom.offsetParent;if(an){e-=Ext.fly(an).getX()}}}return e},getLocalXY:function(){var ap=this,ao,an=ap.getStyle(["left","top"]),e=an.left,aq=an.top;if(!e||e==="auto"){e=0}else{if(u.test(e)){e=parseFloat(e)}else{e=ap.getX();ao=ap.dom.offsetParent;if(ao){e-=Ext.fly(ao).getX()}}}if(!aq||aq==="auto"){aq=0}else{if(u.test(aq)){aq=parseFloat(aq)}else{aq=ap.getY();ao=ap.dom.offsetParent;if(ao){aq-=Ext.fly(ao).getY()}}}return[e,aq]},getLocalY:function(){var an=this,e,ao=an.getStyle("top");if(!ao||ao==="auto"){ao=0}else{if(u.test(ao)){ao=parseFloat(ao)}else{ao=an.getY();e=an.dom.offsetParent;if(e){ao-=Ext.fly(e).getY()}}}return ao},getMargin:(function(){var an={t:"top",l:"left",r:"right",b:"bottom"},e=["margin-top","margin-left","margin-right","margin-bottom"];return function(ap){var ar=this,aq,ao,at;if(!ap){aq=ar.getStyle(e);at={};if(aq&&typeof aq==="object"){at={};for(ao in p){at[ao]=at[an[ao]]=parseFloat(aq[p[ao]])||0}}}else{at=ar.addStyles(ap,p)}return at}})(),getPadding:function(e){return this.addStyles(e,af)},getParent:function(){return Ext.get(this.dom.parentNode)},getRight:function(e){return(e?this.getLocalX():this.getX())+this.getWidth()},getScroll:function(){var ao=this,ar=ao.dom,an=g,aq,ap,e=V.body;if(ar===V||ar===e){aq=an.scrollLeft||(e?e.scrollLeft:0);ap=an.scrollTop||(e?e.scrollTop:0)}else{aq=ar.scrollLeft;ap=ar.scrollTop}return{left:aq,top:ap}},getScrollIntoViewXY:function(ar,az,ay){var aB=this.dom,an=Ext.getDom(ar),ao=this.getOffsetsTo(an),ax=aB.offsetWidth,au=aB.offsetHeight,e=ao[0]+az,at=ao[1]+ay,aq=at+au,aD=e+ax,av=an.clientHeight,aA=an.clientWidth,aC=az,aw=ay,ap=aw+av,aE=aC+aA;if(au>av||at<aw){ay=at}else{if(aq>ap){ay=aq-av}}if(ax>aA||e<aC){az=e}else{if(aD>aE){az=aD-aA}}return{x:az,y:ay}},getScrollLeft:function(){var e=this.dom;if(e===V||e===V.body){return this.getScroll().left}else{return e.scrollLeft}},getScrollTop:function(){var e=this.dom;if(e===V||e===V.body){return this.getScroll().top}else{return e.scrollTop}},getSize:function(e){return{width:this.getWidth(e),height:this.getHeight(e)}},getStyle:function(az,au){var av=this,ap=av.dom,aC=typeof az!=="string",aA=av.styleHooks,an=az,aw=an,at=1,ar,aB,ay,ax,ao,e,aq;if(aC){ay={};an=aw[0];aq=0;if(!(at=aw.length)){return ay}}if(!ap||ap.documentElement){return ay||""}ar=ap.style;if(au){e=ar}else{e=ap.ownerDocument.defaultView.getComputedStyle(ap,null);if(!e){au=true;e=ar}}do{ax=aA[an];if(!ax){aA[an]=ax={name:s.normalize(an)}}if(ax.get){ao=ax.get(ap,av,au,e)}else{aB=ax.name;ao=e[aB]}if(!aC){return ao}ay[an]=ao;an=aw[++aq]}while(aq<at);return ay},getStyleValue:function(e){return this.dom.style.getPropertyValue(e)},getTop:function(e){return e?this.getLocalY():this.getY()},getTouchAction:function(){return Ext.dom.TouchAction.get(this.dom)},getValue:function(an){var e=this.dom.value;return an?parseInt(e,10):e},getViewSize:function(){var e=this.dom;if(e===V||e===V.body){return{width:s.getViewportWidth(),height:s.getViewportHeight()}}else{return{width:e.clientWidth,height:e.clientHeight}}},getVisibilityMode:function(){var e=this,an=e.getData(),ao=an.visibilityMode;if(ao===undefined){an.visibilityMode=ao=s.DISPLAY}return ao},getWidth:function(e,ar){var ap=this,at=ap.dom,aq=ap.isStyle("display","none"),ao,an,au;if(aq){return 0}if(Ext.supports.BoundingClientRect){ao=at.getBoundingClientRect();an=(ap.vertical&&!Ext.supports.RotatedBoundingClientRect)?(ao.bottom-ao.top):(ao.right-ao.left);an=ar?an:Math.ceil(an)}else{an=at.offsetWidth}if(Ext.supports.Direct2DBug&&!ap.vertical){au=ap.adjustDirect2DDimension(l);if(ar){an+=au}else{if(au>0&&au<0.5){an++}}}if(e){an-=ap.getBorderWidth("lr")+ap.getPadding("lr")}return(an<0)?0:an},getX:function(){return this.getXY()[0]},getXY:function(){var ao=Math.round,at=this.dom,an=V.body,e=0,au=0,aq,ar;if(at!==V&&at!==an){try{aq=an.getBoundingClientRect();ar=at.getBoundingClientRect();e=ar.left-aq.left;au=ar.top-aq.top}catch(ap){}}return[ao(e),ao(au)]},getY:function(){return this.getXY()[1]},getZIndex:function(){return parseInt(this.getStyle("z-index"),10)},hasCls:function(e){var an=this.getData();if(!an.isSynchronized){this.synchronize()}return an.classMap.hasOwnProperty(e)},hide:function(){this.setVisible(false);return this},insertAfter:function(e){e=Ext.getDom(e);e.parentNode.insertBefore(this.dom,e.nextSibling);return this},insertBefore:function(e){e=Ext.getDom(e);e.parentNode.insertBefore(this.dom,e);return this},insertFirst:function(an,e){an=an||{};if(an.nodeType||an.dom||typeof an==="string"){an=Ext.getDom(an);this.dom.insertBefore(an,this.dom.firstChild);return !e?Ext.get(an):an}else{return this.createChild(an,this.dom.firstChild,e)}},insertHtml:function(an,ao,e){var ap=Ext.DomHelper.insertHtml(an,this.dom,ao);return e?Ext.get(ap):ap},insertSibling:function(ao,ar,av){var au=this,aw=Ext.DomHelper,ax=(ar||"before").toLowerCase()==="after",aq,an,ap,at;if(Ext.isIterable(ao)){ap=ao.length;an=Ext.fly(V.createDocumentFragment());if(Ext.isArray(ao)){for(at=0;at<ap;at++){aq=an.appendChild(ao[at],av)}}else{for(at=0;at<ap;at++){an.dom.appendChild(aq=ao[0])}if(av===false){aq=Ext.get(aq)}}au.dom.parentNode.insertBefore(an.dom,ax?au.dom.nextSibling:au.dom);return aq}ao=ao||{};if(ao.nodeType||ao.dom){aq=au.dom.parentNode.insertBefore(Ext.getDom(ao),ax?au.dom.nextSibling:au.dom);if(!av){aq=Ext.get(aq)}}else{if(ax&&!au.dom.nextSibling){aq=aw.append(au.dom.parentNode,ao,!av)}else{aq=aw[ax?"insertAfter":"insertBefore"](au.dom,ao,!av)}}return aq},is:function(e){var ao=this.dom,an;if(!e){an=true}else{if(!ao.tagName){an=false}else{if(Ext.isFunction(e)){an=e(ao)}else{an=ao[Ext.supports.matchesSelector](e)}}}return an},isAncestor:function(an){var e=false,ao=this.dom,ap=Ext.getDom(an);if(ao&&ap){if(ao.contains){return ao.contains(ap)}else{if(ao.compareDocumentPosition){return !!(ao.compareDocumentPosition(ap)&16)}else{while((ap=ap.parentNode)){e=ap===ao||e}}}}return e},isPainted:(function(){return !Ext.browser.is.IE?function(){var e=this.dom;return Boolean(e&&e.offsetParent)}:function(){var e=this.dom;return Boolean(e&&(e.offsetHeight!==0&&e.offsetWidth!==0))}})(),isScrollable:function(){var e=this.dom;return e.scrollHeight>e.clientHeight||e.scrollWidth>e.clientWidth},isStyle:function(e,an){return this.getStyle(e)===an},isVisible:function(an){var ao=this.dom,e;if(!ao){return false}if(!ac){ac=new Ext.dom.Fly()}for(e=ao.ownerDocument.documentElement;ao!==e;ao=ao.parentNode){if(!ao||ao.nodeType===11||(ac.attach(ao)).isStyle(n,ah)||ac.isStyle(d,Z)){return false}if(!an){break}}return true},last:function(e,an){return this.matchNode("previousSibling","lastChild",e,an)},matchNode:function(an,ar,e,ao){var ap=this.dom,aq;if(!ap){return null}aq=ap[ar];while(aq){if(aq.nodeType===1&&(!e||Ext.fly(aq,"_matchNode").is(e))){return !ao?Ext.get(aq):aq}aq=aq[an]}return null},monitorMouseLeave:function(e,ap,ao){var aq=this,ar,an={mouseleave:function(at){if(Ext.isIE9m){at.enableIEAsync()}ar=Ext.defer(ap,e,ao||aq,[at])},mouseenter:function(){clearTimeout(ar)},destroy:function(){clearTimeout(ar);aq.un(an)}};aq.on(an);return an},next:function(e,an){return this.matchNode("nextSibling","nextSibling",e,an)},parent:function(e,an){return this.matchNode("parentNode","parentNode",e,an)},position:function(aq,ap,e,ao){var an=this;if(an.dom.tagName!=="BODY"){if(!aq&&an.isStyle(ab,w)){an.setStyle(ab,v)}else{if(aq){an.setStyle(ab,aq)}}if(ap){an.setStyle(q,ap)}if(e||ao){an.setXY([e||false,ao||false])}}},prev:function(e,an){return this.matchNode("previousSibling","previousSibling",e,an)},query:function(ao,ax,av){var aq=this.dom,at,au,aw,an,e,ar,ap;if(!aq){return null}ax=(ax!==false);ao=ao.split(",");if(!av){at=[]}for(ar=0,au=ao.length;ar<au;ar++){if(typeof ao[ar]==="string"){if(av){an=aq.querySelector(ao[ar]);return ax?an:Ext.get(an)}e=aq.querySelectorAll(ao[ar]);for(ap=0,aw=e.length;ap<aw;ap++){at.push(ax?e[ap]:Ext.get(e[ap]))}}}return at},radioCls:function(ap){var aq=this.dom.parentNode.childNodes,an;ap=Ext.isArray(ap)?ap:[ap];for(var ao=0,e=aq.length;ao<e;ao++){an=aq[ao];if(an&&an.nodeType===1){Ext.fly(an).removeCls(ap)}}return this.addCls(ap)},redraw:function(){var an=this.dom,e=an.style;e.display="none";an.offsetHeight;e.display=""},remove:function(){this.destroy()},removeChild:function(e){this.dom.removeChild(Ext.getDom(e));return this},removeCls:function(av,at,ax){var aw=this,ap=aw.getData(),ay,aq,an,ao,ar,au,e;if(!av){return aw}if(!ap.isSynchronized){aw.synchronize()}aq=aw.dom;an=ap.classMap;ao=ap.classList;at=at?at+C:"";ax=ax?C+ax:"";if(typeof av==="string"){av=av.split(O)}for(ar=0,au=av.length;ar<au;ar++){e=av[ar];if(e){e=at+e+ax;if(an[e]){delete an[e];Ext.Array.remove(ao,e);ay=true}}}if(ay){aq.className=ao.join(" ")}return aw},repaint:function(){var e=this;e.addCls(Ext.baseCSSPrefix+"repaint");Ext.defer(function(){if(e.dom){Ext.fly(e.dom).removeCls(Ext.baseCSSPrefix+"repaint")}},1);return e},replace:function(ao,an){ao=Ext.getDom(ao);var e=ao.parentNode,aq=ao.id,ap=this.dom;if(an!==false&&aq&&Ext.cache[aq]){e.insertBefore(ap,ao);Ext.get(ao).destroy()}else{e.replaceChild(ap,ao)}return this},replaceCls:function(ao,aw,au,az){var ax=this,ar,an,ap,at,av,e,aq=ax.getData(),ay;if(!ao&&!aw){return ax}ao=ao||[];aw=aw||[];if(!aq.isSynchronized){ax.synchronize()}if(!az){az=""}ar=ax.dom;an=aq.classMap;ap=aq.classList;au=au?au+C:"";az=az?C+az:"";if(typeof ao==="string"){ao=ao.split(O)}if(typeof aw==="string"){aw=aw.split(O)}for(at=0,av=ao.length;at<av;at++){e=au+ao[at]+az;if(an[e]){delete an[e];ay=true}}for(at=0,av=aw.length;at<av;at++){e=au+aw[at]+az;if(!an[e]){an[e]=true;ay=true}}if(ay){aq.classList=ap=Ext.Object.getKeys(an);ar.className=ap.join(" ")}return ax},replaceWith:function(ap){var aq=this,ar=aq.dom,ao=ar.parentNode,e=Ext.cache,an;aq.clearListeners();if(ap.nodeType||ap.dom||typeof ap==="string"){ap=Ext.get(ap);an=ao.insertBefore(ap.dom,ar)}else{an=Ext.DomHelper.insertBefore(ar,ap)}ao.removeChild(ar);aq.dom=an;if(!aq.isFly){delete e[aq.id];e[aq.id=Ext.id(an)]=aq}return aq},resolveListenerScope:function(an){var e=this.component;return e?e.resolveListenerScope(an):this},scroll:function(av,e,ao){if(!this.isScrollable()){return false}av=av.charAt(0);var au=this,aq=au.dom,at=av==="r"||av==="l"?"left":"top",an=false,ap,ar;if(av==="l"||av==="t"||av==="u"){e=-e}if(at==="left"){ap=aq.scrollLeft;ar=au.constrainScrollLeft(ap+e)}else{ap=aq.scrollTop;ar=au.constrainScrollTop(ap+e)}if(ar!==ap){this.scrollTo(at,ar,ao);an=true}return an},scrollBy:function(an,e,ao){var ap=this,aq=ap.dom;if(an.length){ao=e;e=an[1];an=an[0]}else{if(typeof an!="number"){ao=e;e=an.y;an=an.x}}if(an){ap.scrollTo("left",ap.constrainScrollLeft(aq.scrollLeft+an),ao)}if(e){ap.scrollTo("top",ap.constrainScrollTop(aq.scrollTop+e),ao)}return ap},scrollChildIntoView:function(an,e){Ext.fly(an).scrollIntoView(this,e)},scrollIntoView:function(e,ap,ao,an){e=Ext.getDom(e)||Ext.getBody().dom;return this.doScrollIntoView(e,ap,ao,an,"getScrollLeft","scrollTo")},scrollTo:function(ao,aq,e){var ar=c.test(ao),ap=this,au=ar?"scrollTop":"scrollLeft",at=ap.dom,an;if(!e||!ap.anim){at[au]=aq;at[au]=aq}else{an={to:{}};an.to[au]=aq;if(Ext.isObject(e)){Ext.applyIf(an,e)}ap.animate(an)}return ap},select:function(an,ap){var e,ao;if(typeof an==="string"){ao=this.query(an,!ap)}else{ao=an;e=true}return ap?new Ext.CompositeElement(ao,!e):new Ext.CompositeElementLite(ao,true)},selectNode:function(an,e){return this.query(an,e,true)},set:function(e,an){var ap=this,ar=ap.dom,ao,aq;for(ao in e){if(e.hasOwnProperty(ao)){aq=e[ao];if(ao==="style"){ap.applyStyles(aq)}else{if(ao==="cls"){ar.className=aq}else{if(an!==false){if(aq===undefined){ar.removeAttribute(ao)}else{ar.setAttribute(ao,aq)}}else{ar[ao]=aq}}}}}return ap},setBottom:function(e){this.dom.style[Q]=s.addUnits(e);return this},setCls:function(ap){var ar=this,ao=ar.getData(),an,aq,e,at,au;if(!ao.isSynchronized){ar.synchronize()}if(typeof ap==="string"){ap=ap.split(O)}ao.classList=au=ap.slice();ao.classMap=at={};for(an=0,aq=au.length;an<aq;an++){at[au[an]]=true}ar.dom.className=au.join(" ")},setDisplayed:function(an){var e=this;if(typeof an==="boolean"){an=an?e._getDisplay():Z}e.setStyle(d,an);if(e.shadow||e.shim){e.setUnderlaysVisible(an!==Z)}return e},setHeight:function(e){var an=this;an.dom.style[T]=s.addUnits(e);if(an.shadow||an.shim){an.syncUnderlays()}return an},setHtml:function(e){if(this.dom){this.dom.innerHTML=e}return this},setId:function(ap){var ao=this,e=ao.id,an=Ext.cache;if(e){delete an[e]}ao.dom.id=ap;ao.id=ap;an[ap]=ao;return ao},setLeft:function(an){var e=this;e.dom.style[K]=s.addUnits(an);if(e.shadow||e.shim){e.syncUnderlays()}return e},setLocalX:function(e){var ao=this,an=ao.dom.style;an.right="auto";an.left=(e===null)?"auto":e+"px";if(ao.shadow||ao.shim){ao.syncUnderlays()}return ao},setLocalXY:function(e,ap){var ao=this,an=ao.dom.style;an.right="auto";if(e&&e.length){ap=e[1];e=e[0]}if(e===null){an.left="auto"}else{if(e!==undefined){an.left=e+"px"}}if(ap===null){an.top="auto"}else{if(ap!==undefined){an.top=ap+"px"}}if(ao.shadow||ao.shim){ao.syncUnderlays()}return ao},setLocalY:function(an){var e=this;e.dom.style.top=(an===null)?"auto":an+"px";if(e.shadow||e.shim){e.syncUnderlays()}return e},setMargin:function(ao){var an=this,e=an.dom.style;if(ao||ao===0){ao=an.self.unitizeBox((ao===true)?5:ao);e.setProperty("margin",ao,"important")}else{e.removeProperty("margin-top");e.removeProperty("margin-right");e.removeProperty("margin-bottom");e.removeProperty("margin-left")}},setMaxHeight:function(e){this.dom.style[G]=s.addUnits(e);return this},setMaxWidth:function(e){this.dom.style[t]=s.addUnits(e);return this},setMinHeight:function(e){this.dom.style[h]=s.addUnits(e);return this},setMinWidth:function(e){this.dom.style[ag]=s.addUnits(e);return this},setOpacity:function(e){var an=this;if(an.dom){an.setStyle("opacity",e)}return an},setPadding:function(ao){var an=this,e=an.dom.style;if(ao||ao===0){ao=an.self.unitizeBox((ao===true)?5:ao);e.setProperty("padding",ao,"important")}else{e.removeProperty("padding-top");e.removeProperty("padding-right");e.removeProperty("padding-bottom");e.removeProperty("padding-left")}},setRight:function(e){this.dom.style[ak]=s.addUnits(e);return this},setScrollLeft:function(e){this.dom.scrollLeft=e;return this},setScrollTop:function(e){this.dom.scrollTop=e;return this},setSize:function(ao,e){var ap=this,an=ap.dom.style;if(Ext.isObject(ao)){e=ao.height;ao=ao.width}an.width=s.addUnits(ao);an.height=s.addUnits(e);if(ap.shadow||ap.shim){ap.syncUnderlays()}return ap},setSizeState:function(ao){var an=this,ap,e;if(ao===true){ap=E;e=[R,L]}else{if(ao===false){ap=R;e=[E,L]}else{if(ao===null){ap=L;e=[E,R]}else{e=[E,R,L]}}}if(ap){an.addCls(ap)}an.removeCls(e);return an},setStyle:function(au,ar){var ap=this,at=ap.dom,e=ap.styleHooks,ao=at.style,an=au,aq;if(typeof an==="string"){aq=e[an];if(!aq){e[an]=aq={name:s.normalize(an)}}ar=(ar==null)?"":ar;if(aq.set){aq.set(at,ar,ap)}else{ao[aq.name]=ar}if(aq.afterSet){aq.afterSet(at,ar,ap)}}else{for(an in au){if(au.hasOwnProperty(an)){aq=e[an];if(!aq){e[an]=aq={name:s.normalize(an)}}ar=au[an];ar=(ar==null)?"":ar;if(aq.set){aq.set(at,ar,ap)}else{ao[aq.name]=ar}if(aq.afterSet){aq.afterSet(at,ar,ap)}}}}return ap},setText:function(e){this.dom.textContent=e},setTop:function(an){var e=this;e.dom.style[X]=s.addUnits(an);if(e.shadow||e.shim){e.syncUnderlays()}return e},setTouchAction:function(e){Ext.dom.TouchAction.set(this.dom,e)},setUnderlaysVisible:function(e){var ao=this.shadow,an=this.shim;if(ao&&!ao.disabled){if(e){ao.show()}else{ao.hide()}}if(an&&!an.disabled){if(e){an.show()}else{an.hide()}}},setVisibility:function(e){var an=this.dom.style;if(e){an.removeProperty("visibility")}else{an.setProperty("visibility","hidden","important")}},setVisibilityMode:function(e){this.getData().visibilityMode=e;return this},setVisible:function(ao){var e=this,an=e.getVisibilityMode(),ap=ao?"removeCls":"addCls";switch(an){case s.DISPLAY:e.removeCls([H,o,a]);e[ap](F);break;case s.VISIBILITY:e.removeCls([F,o,a]);e[ap](H);break;case s.OFFSETS:e.removeCls([H,F,a]);e[ap](o);break;case s.CLIP:e.removeCls([H,F,o]);e[ap](a);break}if(e.shadow||e.shim){e.setUnderlaysVisible(ao)}return e},setWidth:function(e){var an=this;an.dom.style[l]=s.addUnits(e);if(an.shadow||an.shim){an.syncUnderlays()}return an},setX:function(e){return this.setXY([e,false])},setXY:function(ao){var an=this,ap=an.translatePoints(ao),e=an.dom.style,aq;an.position();e.right="auto";for(aq in ap){if(!isNaN(ap[aq])){e[aq]=ap[aq]+"px"}}if(an.shadow||an.shim){an.syncUnderlays()}return an},setY:function(e){return this.setXY([false,e])},setZIndex:function(e){var an=this;if(an.shadow){an.shadow.setZIndex(e)}if(an.shim){an.shim.setZIndex(e)}return an.setStyle("z-index",e)},show:function(){this.setVisible(true);return this},swapCls:function(an,at,e,aq){if(e===undefined){e=true}var ap=this,ar=e?an:at,ao=e?at:an;if(ao){ap.removeCls(aq?aq+"-"+ao:ao)}if(ar){ap.addCls(aq?aq+"-"+ar:ar)}return ap},synchronize:function(){var au=this,ap=au.dom,av={},at=ap.className,an,aq,ar,e,ao=au.getData();if(at&&at.length>0){an=ap.className.split(ai);for(aq=0,ar=an.length;aq<ar;aq++){e=an[aq];av[e]=true}}else{an=[]}ao.classList=an;ao.classMap=av;ao.isSynchronized=true;return au},syncUnderlays:function(){var ap=this,au=ap.shadow,e=ap.shim,an=ap.dom,av,ar,aq,at,ao;if(ap.isVisible()){av=ap.getXY();ar=av[0];aq=av[1];at=an.offsetWidth;ao=an.offsetHeight;if(au&&!au.hidden){au.realign(ar,aq,at,ao)}if(e&&!e.hidden){e.realign(ar,aq,at,ao)}}},toggleCls:function(e,an){if(typeof an!=="boolean"){an=!this.hasCls(e)}return an?this.addCls(e):this.removeCls(e)},toggle:function(){this.setVisible(!this.isVisible());return this},translate:function(){var e="webkitTransform" in V.createElement("div").style?"webkitTransform":"transform";return function(an,ap,ao){an=Math.round(an);ap=Math.round(ap);ao=Math.round(ao);this.dom.style[e]="translate3d("+(an||0)+"px, "+(ap||0)+"px, "+(ao||0)+"px)"}}(),unwrap:function(){var at=this.dom,an=at.parentNode,ap,ar=Ext.fly(Ext.Element.getActiveElement()),aq,ao,au,e;aq=Ext.cache[ar.id];if(aq){ar=aq}if(this.contains(ar)){if(aq){aq.suspendFocusEvents()}ao=true}if(an){ap=an.parentNode;if(ao){e=ap.getAttribute("tabIndex");au=Ext.fly(ap);au.set({tabIndex:-1});au.suspendFocusEvents();au.focus()}ap.insertBefore(at,an);ap.removeChild(an)}else{ap=V.createDocumentFragment();ap.appendChild(at)}if(ao){if(aq){aq.focus();aq.resumeFocusEvents()}else{Ext.fly(ar).focus()}if(au){au.resumeFocusEvents();au.set({tabIndex:e})}}return this},up:function(ao,e,an){return this.findParentNode(ao,e,!an)},update:function(e){return this.setHtml(e)},wrap:function(ap,ax,at){var aw=this,au=aw.dom,ar=Ext.DomHelper.insertBefore(au,ap||{tag:"div"},!ax),av=ar,ao=Ext.Element.getActiveElement(),aq,an,e;aq=Ext.cache[ao.id];if(aq){ao=aq}if(at){av=ar.selectNode(at,ax)}if(aw.contains(ao)){if(aq){aq.suspendFocusEvents()}e=ar.dom.getAttribute("tabIndex");ar.set({tabIndex:-1});ar.suspendFocusEvents();ar.focus();an=true}av.appendChild(au);if(an){if(aq){aq.focus();aq.resumeFocusEvents()}else{Ext.fly(ao).focus()}ar.resumeFocusEvents();ar.set({tabIndex:e})}return ar},privates:{doAddListener:function(au,ay,aA,aC,ap,an,aq){var ax=this,az=Ext.$gesturePublisher,av=au,aB=Ext.supports,e=aB.TouchEvents,ao=aB.PointerEvents,ar,at,aw;au=Ext.canonicalEventName(au);if(!ax.blockedEvents[au]){ar=ax.mixins.observable.doAddListener;aC=aC||{};if(s.useDelegatedEvents===false){aC.delegated=aC.delegated||false}if(aC.translate!==false){at=ax.additiveEvents[au];if(at){aC.type=au;au=at;ar.call(ax,au,ay,aA,aC,ap,an,aq)}aw=ax.eventMap[au];if(aw){aC.type=aC.type||au;if(aq){aC.managedName=av}au=aw}}if(ar.call(ax,au,ay,aA,aC,ap,an,aq)){if(ax.longpressEvents[au]&&(++ax.longpressListenerCount===1)){ax.on("MSHoldVisual","preventMsHoldVisual",ax)}}if(aq&&aw){delete aC.managedName}delete aC.type}},doRemoveListener:function(aq,aw,ay){var av=this,ax=Ext.$gesturePublisher,az=Ext.supports,e=az.TouchEvents,an=az.PointerEvents,ao,au,ap,at,ar;aq=Ext.canonicalEventName(aq);if(!av.blockedEvents[aq]){ao=av.mixins.observable.doRemoveListener;ap=av.additiveEvents[aq];if(ap){aq=ap;ao.call(av,aq,aw,ay)}au=av.eventMap[aq];if(au){ar=ao.call(av,au,aw,ay)}ar=ao.call(av,aq,aw,ay)||ar;if(ar){if(av.longpressEvents[aq]&&!--av.longpressListenerCount){av.un("MSHoldVisual","preventMsHoldVisual",av)}}}},_initEvent:function(e){return(this.events[e]=new Ext.dom.ElementEvent(this,e))},_getDisplay:function(){var e=this.getData(),an=e[y];if(an===undefined){e[y]=an=""}return an},_getPublisher:function(e){var ao=Ext.event.publisher.Publisher,an=ao.publishersByEvent[e];if(!an||(this.dom===window&&e==="resize")){an=ao.publishers.dom}return an},isFocusSuspended:function(){return !!this.getData().suspendFocusEvents},preventMsHoldVisual:function(an){an.preventDefault()},suspendFocusEvents:function(){if(!this.isFly){this.suspendEvent("focus","blur")}this.getData().suspendFocusEvents=true},resumeFocusEvents:function(){function e(){var an;if(!this.destroyed){an=this.getData();if(an){an.suspendFocusEvents=false}if(!this.isFly){this.resumeEvent("focus","blur")}}}if(!this.destroyed&&this.getData().suspendFocusEvents){if(Ext.isIE){Ext.asap(e,this)}else{e.call(this)}}}},deprecated:{"5.0":{methods:{cssTranslate:null,getHTML:"getHtml",getOuterHeight:null,getOuterWidth:null,getPageBox:function(ao){var ar=this,ap=ar.dom,au=ap.nodeName==="BODY",av=au?s.getViewportWidth():ap.offsetWidth,aq=au?s.getViewportHeight():ap.offsetHeight,ax=ar.getXY(),aw=ax[1],e=ax[0]+av,at=ax[1]+aq,an=ax[0];if(ao){return new Ext.util.Region(aw,e,at,an)}else{return{left:an,top:aw,width:av,height:aq,right:e,bottom:at}}},getScrollParent:null,isDescendent:null,isTransparent:function(an){var e=this.getStyle(an);return e?b.test(e):false},purgeAllListeners:"clearListeners",removeAllListeners:"clearListeners",setHTML:"setHtml",setTopLeft:null}}}}},function(r){var b=document,h=b.documentElement,n=r.prototype,y=Ext.supports,F="pointerdown",e="pointermove",c="pointerup",d="pointercancel",j="MSPointerDown",o="MSPointerMove",B="MSPointerUp",a="MSPointerCancel",u="mousedown",A="mousemove",v="mouseup",G="mouseover",E="mouseout",q="mouseenter",g="mouseleave",x="touchstart",m="touchmove",C="touchend",i="touchcancel",s="click",k="dblclick",w="tap",D="doubletap",l=n.eventMap={},t=n.additiveEvents={},p=Ext.id,z;Ext.id=function(J,I){var H=Ext.getDom(J,true),K,L;if(!H){L=p(J,I)}else{if(!(L=H.id)){L=p(null,I||r.prototype.identifiablePrefix);if(Ext.isSandboxed){K=Ext.sandboxPrefix||(Ext.sandboxPrefix=Ext.sandboxName.toLowerCase()+"-");L=K+L}H.id=L}}return L};if(y.PointerEvents){l[u]=F;l[A]=e;l[v]=c;l[x]=F;l[m]=e;l[C]=c;l[i]=d;l[G]="pointerover";l[E]="pointerout";l[q]="pointerenter";if(!Ext.isIE11){l[g]="pointerleave"}}else{if(y.MSPointerEvents){l[F]=j;l[e]=o;l[c]=B;l[d]=a;l[u]=j;l[A]=o;l[v]=B;l[x]=j;l[m]=o;l[C]=B;l[i]=a;l[G]="MSPointerOver";l[E]="MSPointerOut"}else{if(y.TouchEvents){l[F]=x;l[e]=m;l[c]=C;l[d]=i;l[u]=x;l[A]=m;l[v]=C;l[s]=w;l[k]=D;if(Ext.isWebKit&&Ext.os.is.Desktop){l[x]=u;l[m]=A;l[C]=v;l[i]=v;t[u]=u;t[A]=A;t[v]=v;t[x]=x;t[m]=m;t[C]=C;t[i]=i;t[F]=u;t[e]=A;t[c]=v;t[d]=v}}else{l[F]=u;l[e]=A;l[c]=v;l[d]=v;l[x]=u;l[m]=A;l[C]=v;l[i]=v}}}if(Ext.isWebKit){l.transitionend=Ext.browser.getVendorProperyName("transitionEnd");l.animationstart=Ext.browser.getVendorProperyName("animationStart");l.animationend=Ext.browser.getVendorProperyName("animationEnd")}if(!Ext.supports.MouseWheel&&!Ext.isOpera){l.mousewheel="DOMMouseScroll"}z=n.$eventOptions=Ext.Object.chain(n.$eventOptions);z.translate=z.capture=z.delegate=z.delegated=z.stopEvent=z.preventDefault=z.stopPropagation=z.element=1;n.styleHooks.opacity={name:"opacity",afterSet:function(J,I,H){var K=H.shadow;if(K){K.setOpacity(I)}}};n.getTrueXY=n.getXY;Ext.select=r.select;Ext.query=r.query;Ext.apply(Ext,{get:function(H){return r.get(H)},getDom:function(H){if(!H||!b){return null}return typeof H==="string"?Ext.getElementById(H):"dom" in H?H.dom:H},getBody:function(){if(!Ext._bodyEl){if(!b.body){throw new Error("[Ext.getBody] document.body does not yet exist")}Ext._bodyEl=Ext.get(b.body)}return Ext._bodyEl},getHead:function(){if(!Ext._headEl){Ext._headEl=Ext.get(b.head||b.getElementsByTagName("head")[0])}return Ext._headEl},getDoc:function(){if(!Ext._docEl){Ext._docEl=Ext.get(b)}return Ext._docEl},getWin:function(){if(!Ext._winEl){Ext._winEl=Ext.get(window)}return Ext._winEl},removeNode:function(J){J=J.dom||J;var K=J&&J.id,I=Ext.cache[K],H;if(I){I.destroy()}else{if(J&&(J.nodeType===3||J.tagName.toUpperCase()!=="BODY")){H=J.parentNode;if(H){H.removeChild(J)}}}}});Ext.isGarbage=function(H){return H&&H.nodeType===1&&H.tagName!=="BODY"&&H.tagName!=="HTML"&&(!H.parentNode||(H.offsetParent===null&&((Ext.isIE8?b.all[H.id]:b.getElementById(H.id))!==H)&&!(Ext.detachedBodyEl&&Ext.detachedBodyEl.isAncestor(H))))};if(Ext.os.is.Android||(Ext.os.is.Windows&&Ext.supports.Touch)){Ext.onReady(function(){var H=Ext.getWin();r._documentWidth=r._viewportWidth=h.clientWidth;r._documentHeight=r._viewportHeight=h.clientHeight;H.on({focusin:"_onWindowFocusChange",focusout:"_onWindowFocusChange",pointerup:"_onWindowFocusChange",capture:true,delegated:false,delay:1,scope:r});H.on({resize:"_onWindowResize",priority:2000,scope:r})})}});Ext.define("Ext.overrides.dom.Element",{override:"Ext.dom.Element",_positionTopLeft:["position","top","left"],setX:function(a,b){return this.setXY([a,this.getY()],b)},setXY:function(c,a){var b=this;if(!a){b.callParent([c])}else{if(!Ext.isObject(a)){a={}}b.animate(Ext.applyIf({to:{x:c[0],y:c[1]}},a))}return this},setY:function(b,a){return this.setXY([this.getX(),b],a)},translateXY:function(h,e){var d=this,b=d.el,i=b.getStyle(d._positionTopLeft),a=i.position==="relative",c=parseFloat(i.left),g=parseFloat(i.top),j=d.getXY();if(Ext.isArray(h)){e=h[1];h=h[0]}if(isNaN(c)){c=a?0:b.dom.offsetLeft}if(isNaN(g)){g=a?0:b.dom.offsetTop}c=(typeof h==="number")?h-j[0]+c:undefined;g=(typeof e==="number")?e-j[1]+g:undefined;return{x:c,y:g}}});Ext.define("Ext.GlobalEvents",{extend:Ext.mixin.Observable,alternateClassName:"Ext.globalEvents",observableType:"global",singleton:true,resizeBuffer:100,idleEventMask:{mousemove:1,touchmove:1,pointermove:1,MSPointerMove:1,unload:1},constructor:function(){var a=this;a.callParent();Ext.onInternalReady(function(){a.attachListeners()})},attachListeners:function(){Ext.get(window).on("resize",this.fireResize,this,{buffer:this.resizeBuffer});Ext.getDoc().on("mousedown",this.fireMouseDown,this)},fireMouseDown:function(a){this.fireEvent("mousedown",a)},fireResize:function(){var d=this,b=Ext.Element,a=b.getViewportWidth(),c=b.getViewportHeight();if(d.curHeight!==c||d.curWidth!==a){d.curHeight=c;d.curWidth=a;d.fireEvent("resize",a,c)}}},function(a){Ext.on=function(){return a.addListener.apply(a,arguments)};Ext.un=function(){return a.removeListener.apply(a,arguments)};Ext.fireEvent=function(){return a.fireEvent.apply(a,arguments)}});Ext.define("Ext.Glyph",{isGlyph:true,constructor:function(a){a&&this.setGlyph(a)},setGlyph:function(b){var a;this.glyphConfig=b;if(typeof b==="string"){a=b.split("@");if(isNaN(b=isNaN(a[0])?parseInt("0"+a[0],16):parseInt(a[0],10))||!b){b=a[0].charCodeAt(0)}this.fontFamily=a[1]||Ext._glyphFontFamily}else{this.fontFamily=Ext._glyphFontFamily}this.codepoint=b;this.character=Ext.String.fromCodePoint(this.codepoint);return this},getStyle:function(){return{"font-family":this.fontFamily}},isEqual:function(a){return a&&a.isGlyph&&a.codepoint===this.codepoint&&a.fontFamily===this.fontFamily},statics:(function(){var a;return{fly:function(b){return b.isGlyph?b:(a||(a=new Ext.Glyph())).setGlyph(b)}}})()});Ext.USE_NATIVE_JSON=false;Ext.JSON=(new (function(){var me=this,hasNative=window.JSON&&JSON.toString()==="[object JSON]",useHasOwn=!!{}.hasOwnProperty,pad=function(n){return n<10?"0"+n:n},doDecode=function(json){return eval("("+json+")")},doEncode=function(o,newline){if(o===null||o===undefined){return"null"}else{if(Ext.isDate(o)){return me.encodeDate(o)}else{if(Ext.isString(o)){if(Ext.isMSDate(o)){return me.encodeMSDate(o)}else{return me.encodeString(o)}}else{if(typeof o==="number"){return isFinite(o)?String(o):"null"}else{if(Ext.isBoolean(o)){return String(o)}else{if(o.toJSON){return o.toJSON()}else{if(Ext.isArray(o)){return encodeArray(o,newline)}else{if(Ext.isObject(o)){return encodeObject(o,newline)}else{if(typeof o==="function"){return"null"}}}}}}}}}return"undefined"},m={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\","\v":"\\u000b"},charToReplace=/[\\\"\x00-\x1f\x7f-\uffff]/g,encodeString=function(s){return'"'+s.replace(charToReplace,function(a){var c=m[a];return typeof c==="string"?c:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})+'"'},encodeMSDate=function(o){return'"'+o+'"'},encodeArrayPretty=function(o,newline){var len=o.length,cnewline=newline+"   ",sep=","+cnewline,a=["[",cnewline],i;for(i=0;i<len;i+=1){a.push(me.encodeValue(o[i],cnewline),sep)}a[a.length-1]=newline+"]";return a.join("")},encodeObjectPretty=function(o,newline){var cnewline=newline+"   ",sep=","+cnewline,a=["{",cnewline],i,val;for(i in o){val=o[i];if(!useHasOwn||o.hasOwnProperty(i)){if(typeof val==="function"||val===undefined){continue}a.push(me.encodeValue(i)+": "+me.encodeValue(val,cnewline),sep)}}a[a.length-1]=newline+"}";return a.join("")},encodeArray=function(o,newline){if(newline){return encodeArrayPretty(o,newline)}var a=["[",""],len=o.length,i;for(i=0;i<len;i+=1){a.push(me.encodeValue(o[i]),",")}a[a.length-1]="]";return a.join("")},encodeObject=function(o,newline){if(newline){return encodeObjectPretty(o,newline)}var a=["{",""],i,val;for(i in o){val=o[i];if(!useHasOwn||o.hasOwnProperty(i)){if(typeof val==="function"||val===undefined){continue}a.push(me.encodeValue(i),":",me.encodeValue(val),",")}}a[a.length-1]="}";return a.join("")};me.encodeString=encodeString;me.encodeValue=doEncode;me.encodeDate=function(o){return'"'+o.getFullYear()+"-"+pad(o.getMonth()+1)+"-"+pad(o.getDate())+"T"+pad(o.getHours())+":"+pad(o.getMinutes())+":"+pad(o.getSeconds())+'"'};me.encode=function(o){if(hasNative&&Ext.USE_NATIVE_JSON){return JSON.stringify(o)}return me.encodeValue(o)};me.decode=function(json,safe){try{if(hasNative&&Ext.USE_NATIVE_JSON){return JSON.parse(json)}return doDecode(json)}catch(e){if(safe){return null}Ext.raise({sourceClass:"Ext.JSON",sourceMethod:"decode",msg:"You're trying to decode an invalid JSON String: "+json})}};me.encodeMSDate=encodeMSDate;if(!Ext.util){Ext.util={}}Ext.util.JSON=me;Ext.encode=me.encode;Ext.decode=me.decode})());Ext.define("Ext.mixin.Inheritable",{extend:Ext.Mixin,mixinConfig:{id:"inheritable"},getInherited:function(j){var e=this,h=(j&&e.inheritedStateInner)||e.inheritedState,b=e.getRefOwner(),a=e.isContainer,i,c,d,g;if(!h||h.invalid){i=e.getRefOwner();g=e.ownerLayout;if(b){d=g?g===b.layout:true}e.inheritedState=h=Ext.Object.chain(i?i.getInherited(d):Ext.rootInheritedState);if(a){e.inheritedStateInner=c=Ext.Object.chain(h)}e.initInheritedState(h,c);h=(a&&j)?e.inheritedStateInner:e.inheritedState}return h},getInheritedConfig:function(e,a){var d=this.inheritedState,b,c;if(!d||d.invalid){d=this.getInherited()}c=d[e];if(a&&d.hasOwnProperty(e)){b=c;delete d[e];c=d[e];d[e]=b}return c},resolveListenerScope:function(g,a){var d=this,e=(typeof a==="boolean"),c=Ext._namedScopes[g],b;if(!c){b=d.getInheritedConfig("defaultListenerScope",e?a:true)||g||d}else{if(c.isController){b=d.getInheritedConfig("controller",e?a:!c.isSelf)}else{if(c.isSelf){b=d.getInheritedConfig("defaultListenerScope",e&&a)||d}else{if(c.isThis){b=d}}}}return b||null},resolveSatelliteListenerScope:function(c,e){var d=this,b=Ext._namedScopes[e],a;if(!b){a=d.getInheritedConfig("defaultListenerScope")||e||d}else{if(b.isController){a=d.getInheritedConfig("controller")}else{if(b.isSelf){a=d.getInheritedConfig("defaultListenerScope")||c}else{if(b.isThis){a=c}}}}return a||null},lookupReferenceHolder:function(a){return this.getInheritedConfig("referenceHolder",a!==false)||null},getRefOwner:function(){var a=this;return a.ownerCt||a.parent||a.$initParent||a.ownerCmp||a.floatParent},invalidateInheritedState:function(){var a=this.inheritedState;if(a){a.invalid=true;delete this.inheritedState}},privates:{fixReference:function(){var a=this,b;if(a.getReference()){b=a.lookupReferenceHolder();if(b){b.attachReference(a)}}},onInheritedAdd:function(b,a){var c=this;if(c.inheritedState&&a){c.invalidateInheritedState()}if(c.getReference()){Ext.ComponentManager.markReferencesDirty()}},onInheritedRemove:function(b){var a=this,c;if(a.getReference()){c=a.lookupReferenceHolder();if(c){c.clearReference(a)}}if(a.inheritedState&&!b){a.invalidateInheritedState()}}}},function(){Ext.rootInheritedState={}});Ext.define("Ext.mixin.Bindable",{mixinId:"bindable",config:{bind:{$value:null,lazy:true},controller:null,defaultListenerScope:false,publishes:{$value:null,lazy:true,merge:function(b,a){return this.mergeSets(b,a)}},reference:null,session:{$value:null,lazy:true},twoWayBindable:{$value:null,lazy:true,merge:function(b,a){return this.mergeSets(b,a)}},viewModel:{$value:null,lazy:true}},defaultBindProperty:null,validRefRe:/^[a-z_][a-z0-9_]*$/i,initInheritedState:function(d){var e=this,a=e.getReference(),b=e.getController(),c=e.getConfig("viewModel",true),h=e.getConfig("session",true),g=e.getDefaultListenerScope();if(b){d.controller=b}if(g){d.defaultListenerScope=e}else{if(b){d.defaultListenerScope=b}}if(c){if(!c.isViewModel){c=e}d.viewModel=c}if(h){if(!h.isSession){h=e}d.session=h}if(a){e.referenceKey=(d.referencePath||"")+a;e.viewModelKey=(d.viewModelPath||"")+a}},lookupController:function(a){return this.getInheritedConfig("controller",a)||null},lookupSession:function(a){var b=a?null:this.getSession();if(!b){b=this.getInheritedConfig("session",a);if(b&&!b.isSession){b=b.getInherited().session=b.getSession()}}return b||null},lookupViewModel:function(a){var b=a?null:this.getViewModel();if(!b){b=this.getInheritedConfig("viewModel",a);if(b&&!b.isViewModel){b=b.getInherited().viewModel=b.getViewModel()}}return b||null},publishState:function(k,j){var i=this,b=i.publishedState,e=i.getBind(),h=e&&k&&e[k],g=0,c,a,d,l;if(h&&!h.syncing&&!h.isReadOnly()){if(!(h.calls===0&&(j==null||j===i.getInitialConfig()[k]))){h.setValue(j)}}if(!(a=i.getPublishes())){return}if(!(d=i.lookupViewModel())){return}if(!(l=i.viewModelKey)){return}if(k&&b){if(!a[k]){return}if(!(j&&j.constructor===Object)&&!(j instanceof Array)){if(b[k]===j){return}}l+=".";l+=k}else{b=b||(i.publishedState={});for(c in a){++g;if(c===k){b[c]=j}else{b[c]=i[c]}}if(!g){return}j=b}d.set(l,j)},privates:{addBindableUpdater:function(c){var b=this,d=b.self.$config.configs,a=d[c],e;if(a&&!b.hasOwnProperty(e=a.names.update)){b[e]=a.bindableUpdater||(a.root.bindableUpdater=b.makeBindableUpdater(a))}},applyBind:function(d,l){if(!d){return d}var g=this,j=g.lookupViewModel(),e=g.getTwoWayBindable(),a=g._getBindTemplateScope,h,k,c,i;g.$hasBinds=true;if(!l||typeof l==="string"){l={}}if(Ext.isString(d)){h=d;d={};d[g.defaultBindProperty]=h}for(k in d){c=d[k];h=l[k];if(h&&typeof h!=="string"){h.destroy();h=null;i=true}if(c){h=j.bind(c,g.onBindNotify,g);h._config=Ext.Config.get(k);h.getTemplateScope=a}if(i){delete l[k]}else{l[k]=h}if(e&&e[k]){if(i){g.clearBindableUpdater(k)}else{if(!h.isReadOnly()){g.addBindableUpdater(k)}}}}return l},applyController:function(a){if(a){a=Ext.Factory.controller(a);a.setView(this)}return a},applyPublishes:function(a){if(this.lookupViewModel()){for(var b in a){this.addBindableUpdater(b)}}return a},applySession:function(c){if(!c){return null}if(!c.isSession){var b=this.lookupSession(true),a=(c===true)?{}:c;if(b){c=b.spawn(a)}else{c=new Ext.data.Session(a)}}return c},applyViewModel:function(b){var c=this,a,d;if(!b){return null}if(!b.isViewModel){a={parent:c.lookupViewModel(true),view:c};a.session=c.getSession();if(!d&&!a.parent){a.session=c.lookupSession()}if(b){if(b.constructor===Object){Ext.apply(a,b)}else{if(typeof b==="string"){a.type=b}}}b=Ext.Factory.viewModel(a)}return b},_getBindTemplateScope:function(){return this.scope.resolveListenerScope()},clearBindableUpdater:function(c){var b=this,d=b.self.$config.configs,a=d[c],e;if(a&&b.hasOwnProperty(e=a.names.update)){if(b[e].$bindableUpdater){delete b[e]}}},destroyBindable:function(){var c=this,b=c.getConfig("viewModel",true),d=c.getConfig("session",true),a=c.getController();if(b&&b.isViewModel){b.destroy();c.setViewModel(null)}if(d&&d.isSession){if(d.getAutoDestroy()){d.destroy()}c.setSession(null)}if(a){c.setController(null);a.destroy()}},initBindable:function(){this.initBindable=Ext.emptyFn;this.getBind();this.getPublishes()},makeBindableUpdater:function(a){var c=a.names.update,b=function(g,d){var e=this,h=e.self.prototype[c];if(h){h.call(e,g,d)}e.publishState(a.name,g)};b.$bindableUpdater=true;return b},isSyncing:function(b){var d=this.getBind(),a=false,c;if(d){c=d[b];if(c){a=c.syncing>0}}return a},onBindNotify:function(b,a,c){c.syncing=(c.syncing+1)||1;this[c._config.names.set](b);--c.syncing},removeBindings:function(){var b=this,d,a,c;if(b.$hasBinds){d=b.getBind();if(d&&typeof d!=="string"){for(a in d){c=d[a];c.destroy();c._config=c.getTemplateScope=null}}}b.setBind(null)},updateSession:function(b){var a=this.getInherited();if(b){a.session=b}else{delete a.session}},updateViewModel:function(b){var c=this.getInherited(),a=this.getController();if(b){c.viewModel=b;b.setView(this);if(a){a.initViewModel(b)}}else{delete c.viewModel}}}});Ext.define("Ext.mixin.ComponentDelegation",{extend:Ext.Mixin,mixinConfig:{id:"componentDelegation"},privates:{addDelegatedListener:function(g,i,k,l,d,c,e){var h=this,b,a,j;g=Ext.canonicalEventName(g);d=d||l.order;if(d){j=(l&&l.priority);if(!j){l=l?Ext.Object.chain(l):{};l.priority=h.$orderToPriority[d]}}b=h.$delegatedEvents||(h.$delegatedEvents={});a=b[g]||(b[g]=new Ext.util.Event(h,g));if(a.addListener(i,k,l,c,e)){h.$hasDelegatedListeners._incr_(g)}},clearDelegatedListeners:function(){var d=this,b=d.$delegatedEvents,a,c,e;if(b){for(a in b){c=b[a];e=c.listeners.length;c.clearListeners();d.$hasDelegatedListeners._decr_(a,e);delete b[a]}}},doFireDelegatedEvent:function(b,d){var h=this,c=true,a,e,g;if(h.$hasDelegatedListeners[b]){a=h.getRefOwner();while(a){e=a.$delegatedEvents;if(e){g=e[b];if(g){c=g.fireDelegated(h,d);if(c===false){break}}}a=a.getRefOwner()}}return c},removeDelegatedListener:function(a,d,c){var g=this,b=g.$delegatedEvents,e;if(b){e=b[a];if(e&&e.removeListener(d,c)){g.$hasDelegatedListeners._decr_(a);if(e.listeners.length===0){delete b[a]}}}},destroyComponentDelegation:function(){if(this.clearPropertiesOnDestroy){this.$delegatedEvents=null}}},onClassMixedIn:function(a){function b(){}a.prototype.HasListeners=a.HasListeners=b;b.prototype=a.hasListeners=new Ext.mixin.ComponentDelegation.HasDelegatedListeners()}},function(b){function a(){}b.HasDelegatedListeners=a;a.prototype=b.prototype.$hasDelegatedListeners=new Ext.mixin.Observable.HasListeners()});Ext.define("Ext.mixin.Pluggable",function(b){var a=[];return{config:{plugins:null},addPlugin:function(e){var d=this,c=d.getPlugins();if(c){e=d.createPlugin(e);e.init(d);c.push(e)}else{d.setPlugins(e)}return e},destroyPlugin:function(c){return this.removePlugin(c,true)},findPlugin:function(g){var c=this.getPlugins(),j=c&&c.length,e,h,d;for(e=0;e<j&&!d;e++){h=c[e];if(h.type===g||h.ptype===g){d=h}}return d||null},getPlugin:function(j){var c=this.getPlugins(),h=c&&c.length,e,g,d;for(e=0;e<h&&!d;e++){g=c[e];if(g.id===j||g.pluginId===j){d=g}}return d||null},removePlugin:function(g,e){var c=this.getPlugins(),d=c&&c.length||0,h;while(d-->0){h=c[d];if(h===g||h.id===g){c.splice(d,1);if(e){if(h.destroy){h.destroy()}}else{if(h.detachCmp){h.detachCmp();if(h.setCmp){h.setCmp(null)}}}break}h=null}return h},privates:{statics:{idSeed:0},activatePlugin:function(h){var j=this,e=j.initialConfig,c=e&&e.plugins,d=null,g,k;if(c){c=a.concat(c);for(g=c.length;g-->0;){k=c[g];if(k===h||k.type===h){j.initialConfig=e=Ext.apply({},e);e.plugins=c;c[g]=d=j.createPlugin(k);break}}}return d},applyPlugins:function(d,c){var k=this,e=c&&c.length||0,j,g,h;d=d?a.concat(d):null;j=d&&d.length||0;for(g=0;g<e;++g){c[g].$dead=true}for(g=0;g<j;++g){d[g]=k.createPlugin(d[g])}for(g=0;g<j;++g){h=d[g];if(h.$dead){delete h.$dead}else{h.init(k)}}for(g=0;g<e;++g){if((h=c[g]).$dead){delete h.$dead;Ext.destroy(h)}}return d},createPlugin:function(d){if(typeof d==="string"){d={type:d}}var c=d;if(!d.isInstance){d.cmp=this;c=Ext.factory(d,null,null,"plugin");delete d.cmp}if(!c.id){c.id=++b.idSeed}if(c.setCmp){c.setCmp(this)}return c}}}});Ext.define("Ext.Widget",{extend:Ext.Evented,xtype:"widget",alternateClassName:"Ext.Gadget",mixins:[Ext.mixin.Inheritable,Ext.mixin.Bindable,Ext.mixin.ComponentDelegation,Ext.mixin.Pluggable],isWidget:true,element:{reference:"element"},observableType:"component",cachedConfig:{baseCls:true,cls:null,style:null,border:null,touchAction:null},config:{ui:null,userCls:null},eventedConfig:{width:null,height:null,hidden:null},template:[],classCls:null,classClsRoot:true,clearPropertiesOnDestroy:"async",noBorderCls:Ext.baseCSSPrefix+"noborder-trbl",constructor:function(b){var c=this,a;c.initId(b);c.initElement();c.mixins.observable.constructor.call(c,b);Ext.ComponentManager.register(c);a=c.getController();if(a){a.init(c)}},afterCachedConfig:function(){var j=this,k=j.self.prototype,l=j.referenceList,c=j.renderElement,g,d,e,h,b,a;k.renderTemplate=g=document.createDocumentFragment();g.appendChild(c.clone(true,true));a=g.querySelectorAll("[id]");for(e=0,h=a.length;e<h;e++){d=a[e];d.removeAttribute("id")}for(e=0,h=l.length;e<h;e++){b=l[e];j[b].dom.removeAttribute("reference")}},addCls:function(a){this.el.addCls(a)},applyBaseCls:function(a){var b=Ext.baseCSSPrefix,c=this.xtype;if(a===true){a=this.classCls||(b+c)}else{if(!a){a=b+c}}return a},applyCls:function(a){if(typeof a=="string"){a=[a]}if(!a||!a.length){a=null}return a},applyHidden:function(a){return !!a},applyTouchAction:function(a,b){if(b!=null){a=Ext.merge({},b,a)}return a},applyWidth:function(a){return this.filterLengthValue(a)},applyHeight:function(a){return this.filterLengthValue(a)},updateBorder:function(a){a=a||a===null;this.el.toggleCls(this.noBorderCls,!a)},clearListeners:function(){var a=this;a.mixins.observable.clearListeners.call(a);a.mixins.componentDelegation.clearDelegatedListeners.call(a)},destroy:function(){var a=this;a.isDestroying=a.destroying=true;a.doDestroy();a.clearListeners();a.isDestroying=a.destroying=false;a.mixins.componentDelegation.destroyComponentDelegation.call(a);a.callParent()},doDestroy:function(){var e=this,b=e.referenceList,c,d,a;for(c=0,d=b.length;c<d;c++){a=b[c];if(e.hasOwnProperty(a)){e[a].destroy();e[a]=null}}e.destroyBindable();Ext.ComponentManager.unregister(e)},doFireEvent:function(b,d,a){var e=this,c=e.mixins.observable.doFireEvent.call(e,b,d,a);if(c!==false){c=e.mixins.componentDelegation.doFireDelegatedEvent.call(e,b,d)}return c},getBubbleTarget:function(){return this.getRefOwner()},getElementConfig:function(){var b=this,a=b.element;if(!("children" in a)){a=Ext.apply({children:b.getTemplate()},a)}return a},getSize:function(){return{width:this.getWidth(),height:this.getHeight()}},getTemplate:function(){return this.template},getClassCls:function(){var e=this.self.prototype,a=e,c,g,b,d;while(a){g=a.classCls;if(g){if(g instanceof Array){for(b=0,d=g.length;b<d;b++){(c||(c=[])).push(g[b])}}else{(c||(c=[])).push(g)}}if(a.classClsRoot&&a.hasOwnProperty("classClsRoot")){break}a=a.superclass}if(c){e.classClsList=c}return c},hide:function(){this.setHidden(true)},initElement:function(){var o=this,p=o.self.prototype,a=o.getId(),q=o.referenceList=o.referenceList=[],c=true,l=!p.hasOwnProperty("renderTemplate"),j,e,h,b,g,n,m,d,k;if(l){c=false;j=document.createDocumentFragment();e=Ext.Element.create(o.processElementConfig.call(p),true);j.appendChild(e)}else{j=o.renderTemplate.cloneNode(true);e=j.firstChild}b=j.querySelectorAll("[reference]");for(g=0,n=b.length;g<n;g++){m=b[g];d=m.getAttribute("reference");if(c){m.removeAttribute("reference")}if(d==="element"){m.id=a;h=o.el=o.addElementReference(d,m);h.dom.setAttribute("data-componentid",a);if(l){k=o.getClassCls();if(k){h.addCls(k)}}}else{o.addElementReferenceOnDemand(d,m)}q.push(d)}if(e===h.dom){o.renderElement=h}else{o.addElementReferenceOnDemand("renderElement",e)}},is:function(a){return Ext.ComponentQuery.is(this,a)},isHidden:function(b){var c=!!this.getHidden(),a;if(!c&&b){a=this.getRefOwner();while(a&&a!==b){c=!!a.getHidden();if(c){break}a=a.getRefOwner()}}return c},isVisible:function(a){return !this.isHidden(a)},isXType:function(b,a){return a?(Ext.Array.indexOf(this.xtypes,b)!==-1):!!this.xtypesMap[b]},lookupTpl:function(a){return Ext.XTemplate.getTpl(this,a)},removeCls:function(a){this.el.removeCls(a)},toggleCls:function(a,b){this.element.toggleCls(a,b)},resolveListenerScope:function(b,a){return this.mixins.inheritable.resolveListenerScope.call(this,b,a)},setSize:function(b,a){if(b&&typeof b==="object"){return this.setSize(b.width,b.height)}if(b!==undefined){this.setWidth(b)}if(a!==undefined){this.setHeight(a)}},show:function(){this.setHidden(false)},updateBaseCls:function(a,b){var d=this,c=d.element;if(b){c.removeCls(b)}if(a){c.addCls(a)}if(!d.isConfiguring){d.syncUiCls()}},updateCls:function(b,a){this.element.replaceCls(a,b)},updateHidden:function(b){var a=this.renderElement;if(a&&!a.destroyed){if(b){a.hide()}else{a.show()}}},applyStyle:function(b,a){if(a&&b===a&&Ext.isObject(a)){b=Ext.apply({},b)}return b},updateStyle:function(a){this.element.applyStyles(a)},updateTouchAction:function(e){var b,a,c,d;for(b in e){a=this[b];c=e[b];if(a&&a.isElement){a.setTouchAction(c)}else{d=true}}if(d){this.el.setTouchAction(e)}},updateUi:function(){this.syncUiCls()},updateWidth:function(a){this.element.setWidth(a)},updateHeight:function(a){this.element.setHeight(a)},up:function(d,e){var c=this.getRefOwner(),b=typeof e==="string",h=typeof e==="number",a=e&&e.isComponent,g=0;if(d){for(;c;c=c.getRefOwner()){g++;if(d.isComponent||d.isWidget){if(c===d){return c}}else{if(Ext.ComponentQuery.is(c,d)){return c}}if(b&&c.is(e)){return}if(h&&g===e){return}if(a&&c===e){return}}}return c},updateLayout:Ext.emptyFn,onFocusEnter:Ext.emptyFn,onFocusLeave:Ext.emptyFn,isAncestor:function(){return false},privates:{addElementReferenceOnDemand:function(a,b){if(this._elementListeners[a]){this.addElementReference(a,b)}else{Ext.Object.defineProperty(this,a,{get:function(){delete this[a];return this.addElementReference(a,b)},configurable:true})}},addElementReference:function(c,e){var g=this,b=g[c]=Ext.get(e),d=g._elementListeners[c],a,h;b.skipGarbageCollection=true;b.component=g;if(d){d=Ext.clone(d);for(a in d){h=d[a];if(typeof h==="object"){h.scope=g}}d.scope=g;b.on(d)}return b},detachFromBody:function(){Ext.getDetachedBody().appendChild(this.element);this.isDetached=true},doAddListener:function(a,k,l,n,c,b,e){var j=this,m=n&&n.element,i=n&&n.delegate,h,d,g;if(m){h={};h[a]=k;if(l){h.scope=l}d=Ext.Element.prototype.$eventOptions;for(g in n){if(d[g]){h[g]=n[g]}}j.mon(j[m],h);return}else{if(i){j.mixins.componentDelegation.addDelegatedListener.call(j,a,k,l,n,c,b,e);return}}j.callParent([a,k,l,n,c,b,e])},doRemoveListener:function(a,c,b){var d=this;d.mixins.observable.doRemoveListener.call(d,a,c,b);d.mixins.componentDelegation.removeDelegatedListener.call(d,a,c,b)},filterLengthValue:function(a){if(a==="auto"||(!a&&a!==0)){return null}return a},getFocusEl:function(){return this.element},initElementListeners:function(m){var l=this,d=l.self.superclass,c=d._elementListeners,e=m.reference,a=m.children,h,k,b,j,g;if(l.hasOwnProperty("_elementListeners")){h=l._elementListeners}else{h=l._elementListeners=(c?Ext.Object.chain(c):{})}if(e){k=m.listeners;if(k){if(c){b=c[e];if(b){k=Ext.Object.chain(b);Ext.apply(k,m.listeners)}}h[e]=k;m.listeners=null}}if(a){for(g=0,j=a.length;g<j;g++){l.initElementListeners(a[g])}}},initId:function(b){var c=this,a=c.config,d=(b&&b.id)||(a&&a.id);if(d){c.setId(d);c.id=d}else{c.getId()}},processElementConfig:function(){var a=this,c=a.self.superclass,b;if(a.hasOwnProperty("_elementConfig")){b=a._elementConfig}else{b=a._elementConfig=a.getElementConfig();if(c.isWidget){a.processElementConfig.call(c)}a.initElementListeners(b)}return b},reattachToBody:function(){this.isDetached=false},addUi:function(g){var d=this,e=d.getUi(),c,b,a;if(g){g=g.split(" ");a=g.length;e=(e&&e.split(" "))||[];for(c=0;c<a;c++){b=g[c];if(e.indexOf(b)===-1){e.push(b)}}d.setUi(e.join(" "))}},removeUi:function(h){var e=this,g=e.getUi(),d,b,c,a;if(h){h=h.split(" ");a=h.length;g=(g&&g.split(" "))||[];for(d=0;d<a;d++){b=h[d];c=g.indexOf(b);if(c!==-1){g.splice(c,1)}}e.setUi(g.join(" "))}},syncUiCls:function(){var m=this,n=m.getUi(),g=m.currentUiCls,e=m.element,h=m.getBaseCls(),o=m.classClsList,d=[],a,c,k,b,l;if(g){e.removeCls(g)}if(n){n=n.split(" ");for(c=0,k=n.length;c<k;c++){a="-"+n[c];if(h&&(h!==m.classCls)){d.push(h+a)}if(o){for(b=0,l=o.length;b<l;b++){d.push(o[b]+a)}}}e.addCls(d);m.currentUiCls=d}},updateUserCls:function(b,a){this.element.replaceCls(a,b)}}},function(b){var a=b.prototype;(a.$elementEventOptions=Ext.Object.chain(Ext.Element.prototype.$eventOptions)).element=1;(a.$eventOptions=Ext.Object.chain(a.$eventOptions)).delegate=1});Ext.define("Ext.mixin.Traversable",{extend:Ext.Mixin,mixinConfig:{id:"traversable"},setParent:function(a){this.parent=a;return this},hasParent:function(){return Boolean(this.parent||this.$initParent)},getParent:function(){return this.parent||this.$initParent},getAncestors:function(){var b=[],a=this.getParent();while(a){b.push(a);a=a.getParent()}return b},getAncestorIds:function(){var b=[],a=this.getParent();while(a){b.push(a.getId());a=a.getParent()}return b}});Ext.define("Ext.behavior.Behavior",{constructor:function(a){this.component=a;a.on("destroy","onComponentDestroy",this)},onComponentDestroy:Ext.emptyFn});Ext.define("Ext.fx.easing.Abstract",{config:{startTime:0,startValue:0},isEasing:true,isEnded:false,constructor:function(a){this.initConfig(a);return this},applyStartTime:function(a){if(!a){a=Ext.Date.now()}return a},updateStartTime:function(a){this.reset()},reset:function(){this.isEnded=false},getValue:Ext.emptyFn});Ext.define("Ext.fx.easing.Linear",{extend:Ext.fx.easing.Abstract,alias:"easing.linear",config:{duration:0,endValue:0},updateStartValue:function(a){this.distance=this.getEndValue()-a},updateEndValue:function(a){this.distance=a-this.getStartValue()},getValue:function(){var a=Ext.Date.now()-this.getStartTime(),b=this.getDuration();if(a>b){this.isEnded=true;return this.getEndValue()}else{return this.getStartValue()+((a/b)*this.distance)}}});Ext.define("Ext.util.translatable.Abstract",{extend:Ext.Evented,config:{useWrapper:null,easing:null,easingX:{duration:300},easingY:{duration:300}},x:0,y:0,activeEasingX:null,activeEasingY:null,isAnimating:false,isTranslatable:true,constructor:function(a){this.mixins.observable.constructor.call(this,a);this.position={x:0,y:0}},factoryEasing:function(a){return Ext.factory(a,Ext.fx.easing.Linear,null,"easing")},applyEasing:function(a){if(!this.getEasingX()){this.setEasingX(this.factoryEasing(a))}if(!this.getEasingY()){this.setEasingY(this.factoryEasing(a))}},applyEasingX:function(a){return this.factoryEasing(a)},applyEasingY:function(a){return this.factoryEasing(a)},doTranslate:function(a,b){if(this.hasListeners.translate){this.fireEvent("translate",this,a,b)}},translate:function(a,c,b){if(b){return this.translateAnimated(a,c,b)}if(this.isAnimating){this.stopAnimation()}if(!isNaN(a)&&typeof a=="number"){this.x=a}if(!isNaN(c)&&typeof c=="number"){this.y=c}this.doTranslate(a,c)},translateAxis:function(b,d,c){var a,e;if(b=="x"){a=d}else{e=d}return this.translate(a,e,c)},getPosition:function(){var b=this,a=b.position;a.x=-b.x;a.y=-b.y;return a},animate:function(b,a){this.activeEasingX=b;this.activeEasingY=a;this.isAnimating=true;this.lastX=null;this.lastY=null;Ext.AnimationQueue.start(this.doAnimationFrame,this);this.fireEvent("animationstart",this,this.x,this.y);return this},translateAnimated:function(b,i,g){var e=this;if(!Ext.isObject(g)){g={}}if(e.isAnimating){e.stopAnimation()}e.callback=g.callback;e.callbackScope=g.scope;var d=Ext.Date.now(),h=g.easing,c=(typeof b=="number")?(g.easingX||h||e.getEasingX()||true):null,a=(typeof i=="number")?(g.easingY||h||e.getEasingY()||true):null;if(c){c=e.factoryEasing(c);c.setStartTime(d);c.setStartValue(e.x);c.setEndValue(b);if("duration" in g){c.setDuration(g.duration)}}if(a){a=e.factoryEasing(a);a.setStartTime(d);a.setStartValue(e.y);a.setEndValue(i);if("duration" in g){a.setDuration(g.duration)}}return e.animate(c,a)},doAnimationFrame:function(){var e=this,c=e.activeEasingX,b=e.activeEasingY,d=Date.now(),a,g;if(!e.isAnimating){return}e.lastRun=d;if(c===null&&b===null){e.stopAnimation();return}if(c!==null){e.x=a=Math.round(c.getValue());if(c.isEnded){e.activeEasingX=null;e.fireEvent("axisanimationend",e,"x",a)}}else{a=e.x}if(b!==null){e.y=g=Math.round(b.getValue());if(b.isEnded){e.activeEasingY=null;e.fireEvent("axisanimationend",e,"y",g)}}else{g=e.y}if(e.lastX!==a||e.lastY!==g){e.doTranslate(a,g);e.lastX=a;e.lastY=g}e.fireEvent("animationframe",e,a,g)},stopAnimation:function(){var a=this;if(!a.isAnimating){return}a.activeEasingX=null;a.activeEasingY=null;a.isAnimating=false;Ext.AnimationQueue.stop(a.doAnimationFrame,a);if(!a.destroying){a.fireEvent("animationend",a,a.x,a.y);if(a.callback){a.callback.call(a.callbackScope);a.callback=null}}},refresh:function(){this.translate(this.x,this.y)},destroy:function(){var a=this;a.destroying=true;if(a.isAnimating){a.stopAnimation()}a.callParent();a.destroying=false;a.destroyed=true}});Ext.define("Ext.util.translatable.Dom",{extend:Ext.util.translatable.Abstract,config:{element:null},applyElement:function(a){if(!a){return}return Ext.get(a)},updateElement:function(){this.refresh()}});Ext.define("Ext.util.translatable.CssTransform",{extend:Ext.util.translatable.Dom,isCssTransform:true,doTranslate:function(a,d){var c=this,b=c.getElement();if(!c.destroyed&&!b.destroyed){b.translate(a,d)}c.callParent([a,d])},destroy:function(){var a=this.getElement();if(a&&!a.destroyed){a.dom.style.webkitTransform=null}this.callParent()}});Ext.define("Ext.util.translatable.ScrollPosition",{extend:Ext.util.translatable.Dom,type:"scrollposition",constructor:function(a){if(a&&a.element){this.x=a.element.getScrollLeft();this.y=a.element.getScrollTop()}this.callParent([a])},translateAnimated:function(){var a=this.getElement();this.x=a.getScrollLeft();this.y=a.getScrollTop();this.callParent(arguments)},doTranslate:function(a,c){var b=this.getElement();b.setScrollLeft(Math.round(a));b.setScrollTop(Math.round(c))},getPosition:function(){var c=this,a=c.position,b=c.getElement();a.x=b.getScrollLeft();a.y=b.getScrollTop();return a}});Ext.define("Ext.util.translatable.ScrollParent",{extend:Ext.util.translatable.Dom,isScrollParent:true,applyElement:function(a){var b=Ext.get(a);if(b){this.parent=b.parent()}return b},doTranslate:function(a,c){var b=this.parent;b.setScrollLeft(Math.round(-a));b.setScrollTop(Math.round(-c));this.callParent([a,c])},getPosition:function(){var c=this,a=c.position,b=c.parent;a.x=b.getScrollLeft();a.y=b.getScrollTop();return a}});Ext.define("Ext.util.translatable.CssPosition",{extend:Ext.util.translatable.Dom,doTranslate:function(a,c){var b=this.getElement().dom.style;if(typeof a=="number"){b.left=a+"px"}if(typeof c=="number"){b.top=c+"px"}this.callParent([a,c])},destroy:function(){var a=this.getElement().dom.style;a.left=null;a.top=null;this.callParent()}});Ext.define("Ext.util.Translatable",{constructor:function(a){var b=Ext.util.translatable;switch(Ext.browser.getPreferredTranslationMethod(a)){case"scrollposition":return new b.ScrollPosition(a);case"scrollparent":return new b.ScrollParent(a);case"csstransform":return new b.CssTransform(a);case"cssposition":return new b.CssPosition(a)}}});Ext.define("Ext.behavior.Translatable",{extend:Ext.behavior.Behavior,setConfig:function(c){var a=this.translatable,b=this.component;if(c){if(!a){this.translatable=a=new Ext.util.Translatable(c);a.setElement(b.renderElement);a.on("destroy","onTranslatableDestroy",this)}else{if(Ext.isObject(c)){a.setConfig(c)}}}else{if(a){a.destroy()}}return this},getTranslatable:function(){return this.translatable},onTranslatableDestroy:function(){delete this.translatable},onComponentDestroy:function(){var a=this.translatable;if(a){a.destroy()}}});Ext.define("Ext.overrides.Widget",{override:"Ext.Widget",mixins:[Ext.mixin.Traversable],statics:{onDocumentMouseDown:function(c){var a=Ext.Widget.prototype.floatedSelector,b=Ext.Component.fromElement(c.getTarget(a,Ext.getBody()));if(b){b.toFront(true)}},onModalMaskTap:function(){var a=this.topModal;if(a&&a.getHideOnMaskTap&&a.getHideOnMaskTap()){a.hide();this.topModal=null}},range:document.createRange()},config:{flex:{evented:true,$value:null},itemId:undefined,floated:null,relative:null,x:null,y:null,shadow:null,shim:null,alwaysOnTop:null,toFrontOnShow:true,translatable:null},floatedCls:Ext.baseCSSPrefix+"floated",floatedSelector:"."+Ext.baseCSSPrefix+"floated",shadowCls:Ext.baseCSSPrefix+"shadow",noShadowCls:Ext.baseCSSPrefix+"no-shadow",floatWrapCls:Ext.baseCSSPrefix+"float-wrap",shimCls:Ext.baseCSSPrefix+"shim",isInner:true,alignmentRegex:/^([a-z]+)-([a-z]+)(\?)?$/,constructor:function(a){this.callParent([a]);this.initBindable()},applyFlex:function(a){if(a){a=Number(a);if(isNaN(a)){a=null}}else{a=null}return a},beforeHide:Ext.emptyFn,afterHide:function(){var b=this,a=b.getParent();if(a&&a.afterItemHide){a.afterItemHide(b)}if(b.isFloated()){b.syncShim()}},beforeShow:function(){var a=this;if(a.isFloated()){if(!Ext.getBody().contains(a.element)){a.findFloatParent()}if(a.getToFrontOnShow()){a.toFront()}else{a.syncAlwaysOnTop()}}},afterShow:function(){var b=this,a=b.getParent();if(a&&a.afterItemShow){a.afterItemShow(b)}},applyItemId:function(a){return a||this.getId()},render:function(a,b){this.renderTo(a,b)},renderTo:function(a,c){var e=this.renderElement.dom,d=Ext.getDom(a),b;if(Ext.isNumber(b)){c=d.childNodes[c]}b=Ext.getDom(c);if(d){if(b){d.insertBefore(e,b)}else{d.appendChild(e)}this.setRendered(Boolean(e.offsetParent))}},destroy:function(){var b=this,a=b.getParent();if(a&&a.remove){a.remove(b,false)}b.setShim(false);Ext.destroy(b.getTranslatable());b.removeBindings();b.callParent()},isInnerItem:function(){return this.isInner},isCentered:function(){return false},isDocked:function(){return Boolean(this.getDocked())},isFloating:function(){return false},isPositioned:function(){return false},isFloated:function(){return Boolean(this.getFloated())},isRelative:function(){return Boolean(this.getRelative())},getDocked:function(){return this._docked},onAdded:function(d,a){var e=this,c=e.inheritedState,b=e.parent;if(b&&b!==d){b.remove(e,false)}e.parent=d;e.onInheritedAdd(d,a);if(e.isFloated()){e.findFloatParent()}},onRemoved:function(a){if(!a){this.removeBindings()}this.onInheritedRemove(a);this.parent=null},setLayoutSizeFlags:Ext.emptyFn,setRendered:function(b){var a=this.rendered;if(b!==a){this.rendered=b;return true}return false},doRefreshSizeState:function(){var d=this,c=d.floatWrap,a,b;if(d.isFloated()&&d.isVisible()){b=d.el.getSize();d.syncShim();if(c){if(d.isRelative()){c.setSize(b)}else{a=c.getData().modalMask;if(a){a.setSize(b)}}}}},setIsInner:function(a){if(a!==this.isInner){this.isInner=a;if(this.initialized){this.fireEvent("innerstatechange",this,a)}}},refreshInnerState:function(){this.setIsInner(!this.isFloated()&&!this.isCentered()&&!this.isPositioned()&&!this.isDocked())},toFront:function(a){var b=this,c=b.getFloatParent();if(!b.hasListeners.beforetofront||b.fireEvent("beforetofront",b)!==false){b.syncAlwaysOnTop(a);if(c&&c.isFloated()){c.toFront(a)}if(b.hasListeners.tofront){b.fireEvent("tofront",b)}}return b},getTranslatableBehavior:function(){var a=this.translatableBehavior;if(!a){a=this.translatableBehavior=new Ext.behavior.Translatable(this)}return a},applyTranslatable:function(a){this.getTranslatableBehavior().setConfig(a)},getTranslatable:function(){return this.getTranslatableBehavior().getTranslatable()},translate:function(){var a=this.getTranslatable();if(!a){this.setTranslatable(true);a=this.getTranslatable()}a.translate.apply(a,arguments)},getAlignmentInfo:function(j,h){var i=this,e=j.isRegion?j:(j.isComponent?j.renderElement:Ext.fly(j)).getBox(),b=i.renderElement,c=b.getBox(),d={alignToBox:e,alignment:h,top:e.top,left:e.left,alignToWidth:e.width||0,alignToHeight:e.height||0,width:c.width,height:c.height},a=i.getCurrentAlignmentInfo(),g=true;if(!Ext.isEmpty(a)){Ext.Object.each(d,function(k,l){if(!Ext.isObject(l)&&a[k]!==l){g=false;return false}return true})}else{g=false}return{isAligned:g,stats:d}},getCurrentAlignmentInfo:function(){return this.$currentAlignmentInfo},setCurrentAlignmentInfo:function(a){this.$currentAlignmentInfo=Ext.isEmpty(a)?null:Ext.merge({},a.stats?a.stats:a)},alignTo:function(h,d,l){var e=this,c=e.getAlignmentInfo(h,d),a=e.initialConfig,b=e.isPositioned(),i=b?e.setLeft:e.setX,g=b?e.setTop:e.setY,k,j;if(c.isAligned){return}if("unconstrainedWidth" in e){e.setWidth(e.unconstrainedWidth)}if("unconstrainedHeight" in e){e.setHeight(e.unconstrainedHeight)}j=e.getAlignRegion(h,d,l);i.call(e,j.x);g.call(e,j.y);if(j.constrainWidth){e.unconstrainedWidth=a.width||e.self.prototype.width;k=e.el.getHeight();e.setWidth(c.stats.width=j.getWidth());if(j.align.position===0){g.call(e,j.y+(k-e.el.getHeight()))}}if(j.constrainHeight){e.unconstrainedHeight=a.height||e.self.prototype.height;e.setHeight(c.stats.height=j.getHeight())}e.setCurrentAlignmentInfo(c)},getAlignRegion:function(i,g,l){var h=this,d=h.getAlignmentInfo(i,g),c,b;if(d.isAligned){return}var e=d.stats.alignToBox,k=h.getConstrainRegion(),j=d.stats.height,a=d.stats.width;if(!g||g==="auto"){if(k.bottom-e.bottom<j){if(e.top-k.top<j){if(e.left-k.left<a){g="l-r?"}else{g="r-l?"}}else{g="b-t?"}}else{g="t-b?"}}c=g.match(h.alignmentRegex);if(c[3]){if(c[3]==="!"){b=i.el.getRegion()}else{b=k}}return h.el.getRegion().alignTo(Ext.apply({target:Ext.util.Region.from(d.stats.alignToBox),align:c[1]+"-"+c[2],inside:b,minWidth:h.getMinWidth&&h.getMinWidth(),minHeight:h.getMinHeight&&h.getMinHeight()},l))},privates:{owns:function(b){var a=false,c;if(b.isEvent){b=b.target}else{if(b.isElement){b=b.dom}}c=Ext.Component.fromElement(b);if(c){a=(c===this)||(!!c.up(this))}return a},getBubbleTarget:function(){return this.getParent()},getConstrainRegion:function(){var c=this,b,a,d;if(c.isFloated()){a=c.floatParentNode;d=a.getData().component;if(d){a=d.element}else{a=Ext.getBody()}}else{b=c.getParent();a=b?b.element:c.element.parent()}return a.getConstrainRegion()},getFloatParent:function(){var a=this.floatParentNode.getData().component;return a&&a.isFloated()?a:null},applyFloated:function(b){var a=this;b=Boolean(b);if(b){a.refreshInnerState=Ext.emptyFn;if(a.isPositioned()){a.resetPositioned()}if(a.isDocked()){a.setDocked(false)}a.setIsInner(false);delete a.refreshInnerState}if(a.initialized){a.fireEvent("floatedchange",a,b)}return b},updateFloated:function(d,c){var b=this,a;b.el.toggleCls(b.floatedCls,d);if(c!=null){a=b.getModal&&b.getModal();if(a){Ext.destroy(a);b.setModal(true)}if(b.getHideOnMaskTap&&b.getHideOnMaskTap()){b.setHideOnMaskTap(false);b.setHideOnMaskTap(true)}}if(d){b.findFloatParent();if(b.isConfiguring&&b.getHidden()==null){b.setHidden(true)}else{if(b.isVisible()){if(b.isCentered()){b.getWidth();b.getHeight();b.center()}else{b.syncXYPosition()}b.showModalMask()}}}else{b.refreshInnerState();b.translate(0,0,0)}},findFloatParent:function(){var b=this,a=b.getParent();while(a&&!a.isFloated()){a=a.getParent()}if(!a){b.floatParentNode=Ext.getFloatRoot()}else{b.floatParentNode=a.getFloatWrap()}b.insertFloatedDom()},getFloatWrap:function(){var c=this,d=c.floatWrap,b=Ext.Viewport,a;if(!d){a=c.el.up("")||(b?b.el:Ext.getBody());d=c.link("floatWrap",a.createChild({cls:c.floatWrapCls,id:c.id+"-floatWrap","data-componentId":c.id}));d.getData().component=c;d.dom.appendChild(c.element.dom);d.getData().alwaysOnTop=c.element.getData().alwaysOnTop}return d},insertFloatedDom:function(){var c=this,a=c.floatParentNode,d=c.floatWrap||c.element,b=Ext.Widget;a.dom.appendChild(d.dom);c.syncXYPosition();if(!b.$mousedownListeners){b.$mousedownListeners=Ext.getDoc().on({mousedown:b.onDocumentMouseDown,destroyable:true})}},applyShim:function(a){if(a){return Ext.getBody().createChild(Ext.apply({cls:this.shimCls},a))}else{Ext.destroy(this.shim);return null}},updateShim:function(){this.syncShim()},hideModalMask:function(){var b=this,a=b.floatParentNode.getData().modalMask;if(a&&a.dom.parentNode){a=a.dom;Ext.getDetachedBody().appendChild(a)}},showModalMask:function(){var e=this,d=Ext.Widget,h=e.floatWrap||e.element,c=e.getParent(),a=e.floatParentNode,g=a.getData(),b=g.modalMask;if(e.isFloated()&&e.getModal&&e.getModal()){if(b){a.dom.insertBefore(b.dom,h.dom)}else{b=g.modalMask=a.createChild({cls:"x-mask"},h);b.on({tap:d.onModalMaskTap,scope:d})}d.topModal=e;if(c&&c.isFloated()&&!c.isRelative()){c.doRefreshSizeState();c.syncXYPosition()}}},syncShim:function(){var a=this,b=a.getShim();if(b){if(a.isVisible(true)){b.show();a.el.dom.parentNode.insertBefore(b.dom,a.el.dom);b.setSize(a.getSize());if(a.floatWrap){b.translate(0,0)}else{b.translate(a.getX()||0,a.getY()||0)}}else{b.hide()}}},updateAlwaysOnTop:function(a){var b=this.floatWrap||this.element;b.getData().alwaysOnTop=Number(a);this.syncAlwaysOnTop()},syncAlwaysOnTop:function(c){var l=this,a=(l.floatWrap||l.element).dom,h=l.floatParentNode,b=h.dom.childNodes,k=b.length,e,m,d=Number(l.getAlwaysOnTop()),j,g=l.statics().range;m=h===Ext.floatRoot?0:1;for(e=k-1;e>=m;e--){if(!Ext.fly(b[e]).is("."+l.shimCls)&&b[e]!==a){if(d>=(Ext.get(b[e]).getData().alwaysOnTop||0)){j=b[e].nextSibling;break}}}if(j===a){return}if(e<m){j=b[0]}if(l.containsFocus||c){g.setStartAfter(a);g.setEndAfter(j||b[k-1]);h.dom.insertBefore(g.extractContents(),a)}else{h.dom.insertBefore(a,j)}l.showModalMask();l.syncShim();if(j){Ext.Component.fromElement(j).syncShim()}else{return true}},updateRelative:function(){this.syncXYPosition()},updateShadow:function(a){this.el.toggleCls(this.shadowCls,a);this.el.toggleCls(this.noShadowCls,a===false)},updateX:function(){this.syncXYPosition()},updateY:function(){this.syncXYPosition()},syncXYPosition:function(){var d=this,c=d.floatWrap,b,a=d.getX()||0,e=d.getY()||0;if(d.isRelative()){c=c||d.getFloatWrap();c.translate(a,e);c.setWidth(d.el.getWidth());c.setHeight(d.el.getHeight());d.translate(0,0);b=c.getData().modalMask;if(b){b.translate(0,0)}}else{d.translate(a,e);b=d.floatWrap&&d.floatWrap.getData().modalMask;if(b){b.translate(a,e)}}d.syncShim()}}},function(a){this.borrow(Ext.util.Positionable,["clipTo","clearClip"]);Ext.getFloatRoot=function(){var c=Ext.floatRoot,b=Ext.Viewport;if(c){c.el.dom.parentNode.appendChild(c.dom)}else{if(b){c=b.floatWrap=b.element.createChild({cls:a.prototype.floatWrapCls,id:"global-floatWrap","data-sticky":true})}else{c=Ext.getBody().createChild({cls:a.prototype.floatWrapCls,id:"global-floatWrap","data-sticky":true})}Ext.floatRoot=c}return c}});Ext.define("Ext.mixin.Keyboard",function(a){return{extend:Ext.Mixin,mixinConfig:{id:"keyboard"},config:{keyMap:{$value:null,cached:true,merge:function(d,b,k,i){if(d===null){return d}var c=b?Ext.Object.chain(b):{},e,h,g,j;for(e in d){if(e!=="scope"){h=e.toUpperCase();if(!i||c[h]===undefined){g=d[e];if(g){if(typeof g==="string"||typeof g==="function"){g={handler:g}}else{g=Ext.apply({handler:g.fn},g)}j=g.scope||d.scope||"self";g.scope=(j==="controller")?"self.controller":j}c[h]=g}}}return c}},keyMapEnabled:null},keyMapTarget:"el",applyKeyMap:function(i,g){var e=this,h,d,c,b;if(i){if(g&&e.isConfiguring){g=Ext.apply({},g)}h=i.scope||"controller";for(c in i){if(c==="scope"){continue}if(!(b=i[c])){if(!g){continue}}else{if(typeof b==="string"||typeof b==="function"){b={handler:b,scope:h}}else{if(b){b=Ext.apply({handler:b.fn,scope:h},b)}}g=g||{}}if(a.parseEntry(c,d=b||{})){g[d.name]=b}}}else{g=null}if(e._keyMapReady){e.setKeyMapListener(g&&e.getKeyMapEnabled())}return g||null},initKeyMap:function(){var c=this,b=c.getKeyMapEnabled();c._keyMapReady=true;if(b===null){c.setKeyMapEnabled(true)}else{c.setKeyMapListener(b&&c.getKeyMap())}},updateKeyMapEnabled:function(b){this.setKeyMapListener(b&&this._keyMapReady&&this.getKeyMap())},privates:{_keyMapReady:false,callKeyMapEntry:function(b,c){return b&&Ext.callback(b.handler,b.scope,[c,this],0,this)},findKeyMapEntry:function(g){var d=this,h=d.getKeyMap(),b,c;if(h){for(b in h){if(a.matchEntry(b,c=h[b],g)){return c}}}return null},onKeyMapEvent:function(d){var c=this,b=c.getKeyMapEnabled()?c.findKeyMapEntry(d):null;return c.callKeyMapEntry(b,d)},setKeyMapListener:function(b){var c=this,e=c._keyMapListener,d;if(e){e.destroy();e=null}if(b){d=c[c.keyMapTarget];if(typeof d==="function"){d=d.call(c)}e=d.on({destroyable:true,scope:c,keydown:"onKeyMapEvent",keypress:"onKeyMapEvent"})}c._keyMapListener=e||null},statics:{_charCodeRe:/^#([\d]+)$/,_hyphenRe:/^[a-z]+\-/i,_keyMapEvents:{charCode:"keypress",keyCode:"keydown"},matchEntry:function(b,g,h){var d=h.browserEvent,c;if(h.type!==g.event){return false}if(!(c=g.charCode)){if(g.keyCode!==h.keyCode||!g.shiftKey!==!d.shiftKey){return false}}else{if(h.getCharCode()!==c){return false}}return !g.ctrlKey===!d.ctrlKey&&!g.altKey===!d.altKey&&!g.metaKey===!d.metaKey},parseEntry:function(r,q){r=r.toUpperCase();var m=this,s=Ext.event.Event,p=s.keyFlags,d=m._hyphenRe.test(r)?"-":"+",o=(r===d)?[d]:r.split(d),e=o.length-1,g=o[e],b=g,l="keyCode",c,h,j;for(h=0;h<e;h++){q[p[o[h]]]=true}if(e){b=q.ctrlKey?"CTRL+":"";b+=q.altKey?"ALT+":"";b+=q.metaKey?"META+":"";b+=q.shiftKey?"SHIFT+":"";b+=g}q.name=b;if(isNaN(c=s[g])){if(!(j=m._charCodeRe.exec(g))){if(g.length===1){c=g.charCodeAt(0)}}else{c=+j[1]}if(c){l="charCode"}else{c=+g}}q.event=q.event||m._keyMapEvents[l];return !isNaN(c)&&(q[l]=c)}}}}});Ext.define("Ext.util.Format",function(){var a;return{singleton:true,defaultDateFormat:"m/d/Y",thousandSeparator:",",decimalSeparator:".",currencyPrecision:2,currencySign:"$",currencySpacer:"",percentSign:"%",currencyAtEnd:false,stripTagsRe:/<\/?[^>]+>/gi,stripScriptsRe:/(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)/ig,nl2brRe:/\r?\n/g,hashRe:/#+$/,allHashes:/^#+$/,formatPattern:/[\d,\.#]+/,formatCleanRe:/[^\d\.#]/g,I18NFormatCleanRe:null,formatFns:{},constructor:function(){a=this},nbsp:function(c,b){b=b!==false;if(b?c===""||c==null:!c){c="\xa0"}return c},undef:function(b){return b!==undefined?b:""},defaultValue:function(c,b){return c!==undefined&&c!==""?c:b},substr:"ab".substr(-1)!="b"?function(c,e,b){var d=String(c);return(e<0)?d.substr(Math.max(d.length+e,0),b):d.substr(e,b)}:function(c,d,b){return String(c).substr(d,b)},lowercase:function(b){return String(b).toLowerCase()},uppercase:function(b){return String(b).toUpperCase()},usMoney:function(b){return a.currency(b,"$",2)},currency:function(d,g,c,b,k){var j="",h=",0",e=0;d=d-0;if(d<0){d=-d;j="-"}c=Ext.isDefined(c)?c:a.currencyPrecision;h+=(c>0?".":"");for(;e<c;e++){h+="0"}d=a.number(d,h);if(k==null){k=a.currencySpacer}if((b||a.currencyAtEnd)===true){return Ext.String.format("{0}{1}{2}{3}",j,d,k,g||a.currencySign)}else{return Ext.String.format("{0}{1}{2}{3}",j,g||a.currencySign,k,d)}},date:function(b,c){if(!b){return""}if(!Ext.isDate(b)){b=new Date(Date.parse(b))}return Ext.Date.dateFormat(b,c||Ext.Date.defaultFormat)},dateRenderer:function(b){return function(c){return a.date(c,b)}},hex:function(d,c){var b=parseInt(d||0,10).toString(16);if(c){if(c<0){c=-c;if(b.length>c){b=b.substring(b.length-c)}}while(b.length<c){b="0"+b}}return b},or:function(c,b){return c||b},pick:function(d,c,e){if(Ext.isNumber(d)){var b=arguments[d+1];if(b){return b}}return d?e:c},lessThanElse:function(i,c,j,b,h){var d=Ext.Number.from(i,0),g=Ext.Number.from(c,0),e=!Ext.isDefined(h);return d<g?j:(d>g?b:(e?b:h))},sign:function(e,c,b,d){if(d===undefined){d=b}return a.lessThanElse(e,0,c,b,d)},stripTags:function(b){return !b?b:String(b).replace(a.stripTagsRe,"")},stripScripts:function(b){return !b?b:String(b).replace(a.stripScriptsRe,"")},fileSize:(function(){var b=1024,c=1048576,d=1073741824;return function(g){var e;if(g<b){if(g===1){e="1 byte"}else{e=g+" bytes"}}else{if(g<c){e=(Math.round(((g*10)/b))/10)+" KB"}else{if(g<d){e=(Math.round(((g*10)/c))/10)+" MB"}else{e=(Math.round(((g*10)/d))/10)+" GB"}}}return e}})(),math:(function(){var b={};return function(d,c){if(!b[c]){b[c]=Ext.functionFactory("v","return v "+c+";")}return b[c](d)}}()),round:function(d,c){var b=Number(d);if(typeof c==="number"){c=Math.pow(10,c);b=Math.round(d*c)/c}else{if(c===undefined){b=Math.round(b)}}return b},number:function(m,g){if(!g){return m}if(isNaN(m)){return""}var e=a.formatFns[g];if(!e){var j=g,p=a.thousandSeparator,n=a.decimalSeparator,h=0,d="",c,k,l,o,b,i;if(g.substr(g.length-2)==="/i"){if(!a.I18NFormatCleanRe||a.lastDecimalSeparator!==n){a.I18NFormatCleanRe=new RegExp("[^\\d\\"+n+"#]","g");a.lastDecimalSeparator=n}g=g.substr(0,g.length-2);c=g.indexOf(p)!==-1;k=g.replace(a.I18NFormatCleanRe,"").split(n)}else{c=g.indexOf(",")!==-1;k=g.replace(a.formatCleanRe,"").split(".")}l=g.replace(a.formatPattern,"");if(k.length>2){}else{if(k.length===2){h=k[1].length;o=k[1].match(a.hashRe);if(o){i=o[0].length;d='trailingZeroes=new RegExp(Ext.String.escapeRegex(utilFormat.decimalSeparator) + "*0{0,'+i+'}$")'}}}b=["var utilFormat=Ext.util.Format,extNumber=Ext.Number,neg,absVal,fnum,parts"+(c?",thousandSeparator,thousands=[],j,n,i":"")+(l?',formatString="'+g+'",formatPattern=/[\\d,\\.#]+/':"")+',trailingZeroes;return function(v){if(typeof v!=="number"&&isNaN(v=extNumber.from(v,NaN)))return"";neg=v<0;',"absVal=Math.abs(v);","fnum=Ext.Number.toFixed(absVal, "+h+");",d,";"];if(c){if(h){b[b.length]='parts=fnum.split(".");';b[b.length]="fnum=parts[0];"}b[b.length]="if(absVal>=1000) {";b[b.length]="thousandSeparator=utilFormat.thousandSeparator;thousands.length=0;j=fnum.length;n=fnum.length%3||3;for(i=0;i<j;i+=n){if(i!==0){n=3;}thousands[thousands.length]=fnum.substr(i,n);}fnum=thousands.join(thousandSeparator);}";if(h){b[b.length]="fnum += utilFormat.decimalSeparator+parts[1];"}}else{if(h){b[b.length]='if(utilFormat.decimalSeparator!=="."){parts=fnum.split(".");fnum=parts[0]+utilFormat.decimalSeparator+parts[1];}'}}b[b.length]='if(neg&&fnum!=="'+(h?"0."+Ext.String.repeat("0",h):"0")+'") { fnum="-"+fnum; }';if(o){b[b.length]='fnum=fnum.replace(trailingZeroes,"");'}b[b.length]="return ";if(l){b[b.length]="formatString.replace(formatPattern, fnum);"}else{b[b.length]="fnum;"}b[b.length]="};";e=a.formatFns[j]=Ext.functionFactory("Ext",b.join(""))(Ext)}return e(m)},numberRenderer:function(b){return function(c){return a.number(c,b)}},percent:function(c,b){return a.number(c*100,b||"0")+a.percentSign},attributes:function(c){if(typeof c==="object"){var b=[],d;for(d in c){if(c.hasOwnProperty(d)){b.push(d,'="',d==="style"?Ext.DomHelper.generateStyles(c[d],null,true):Ext.htmlEncode(c[d]),'" ')}}c=b.join("")}return c||""},plural:function(d,c,b){return d+" "+(d===1?c:(b?b:c+"s"))},nl2br:function(b){return Ext.isEmpty(b)?"":b.replace(a.nl2brRe,"<br/>")},capitalize:Ext.String.capitalize,uncapitalize:Ext.String.uncapitalize,ellipsis:Ext.String.ellipsis,escape:Ext.String.escape,escapeRegex:Ext.String.escapeRegex,htmlDecode:Ext.String.htmlDecode,htmlEncode:Ext.String.htmlEncode,leftPad:Ext.String.leftPad,toggle:Ext.String.toggle,trim:Ext.String.trim,parseBox:function(c){c=c||0;if(typeof c==="number"){return{top:c,right:c,bottom:c,left:c}}var d=c.split(" "),b=d.length;if(b===1){d[1]=d[2]=d[3]=d[0]}else{if(b===2){d[2]=d[0];d[3]=d[1]}else{if(b===3){d[3]=d[1]}}}return{top:parseInt(d[0],10)||0,right:parseInt(d[1],10)||0,bottom:parseInt(d[2],10)||0,left:parseInt(d[3],10)||0}},uri:function(b){return encodeURI(b)},uriCmp:function(b){return encodeURIComponent(b)},wordBreakRe:/[\W\s]+/,word:function(e,c,b){var d=b?(typeof b==="string"?new RegExp(b):b):a.wordBreakRe,g=(e||"").split(d);return g[c||0]||""}}});Ext.define("Ext.Template",{inheritableStatics:{from:function(b,a){b=Ext.getDom(b);return new this(b.value||b.innerHTML,a||"")}},useEval:Ext.isGecko,constructor:function(d){var g=this,b=arguments,a=[],c,e=b.length,h;g.initialConfig={};if(e===1&&Ext.isArray(d)){b=d;e=b.length}if(e>1){for(c=0;c<e;c++){h=b[c];if(typeof h==="object"){Ext.apply(g.initialConfig,h);Ext.apply(g,h)}else{a.push(h)}}}else{a.push(d)}g.html=a.join("")},isTemplate:true,disableFormats:false,tokenRe:/\{(?:(?:(\d+)|([a-z_][\w\-]*))(?::([a-z_\.]+)(?:\(([^\)]*?)?\))?)?)\}/gi,apply:function(a){var b=this;if(b.compiled){if(!b.fn){b.compile()}return b.fn(a).join("")}return b.evaluate(a)},evaluate:function(a){var g=this,c=!g.disableFormats,e=Ext.util.Format,b=g;function d(k,j,i,l,h){if(i==null||i===""){i=j}if(l&&c){if(h){h=[a[i]].concat(Ext.functionFactory("return ["+h+"];")())}else{h=[a[i]]}if(l.substr(0,5)==="this."){return b[l.substr(5)].apply(b,h)}else{if(e[l]){return e[l].apply(e,h)}else{return k}}}else{return a[i]!==undefined?a[i]:""}}return g.html.replace(g.tokenRe,d)},applyOut:function(a,b){var c=this;if(c.compiled){if(!c.fn){c.compile()}b.push.apply(b,c.fn(a))}else{b.push(c.apply(a))}return b},applyTemplate:function(){return this.apply.apply(this,arguments)},set:function(a,c){var b=this;b.html=a;b.compiled=!!c;b.fn=null;return b},compileARe:/\\/g,compileBRe:/(\r\n|\n)/g,compileCRe:/'/g,compile:function(){var b=this,a;a=b.html.replace(b.compileARe,"\\\\").replace(b.compileBRe,"\\n").replace(b.compileCRe,"\\'").replace(b.tokenRe,b.regexReplaceFn.bind(b));a=(this.disableFormats!==true?"var fm=Ext.util.Format;":"")+(b.useEval?"$=":"return")+" function(v){return ['"+a+"'];};";b.fn=b.useEval?b.evalCompiled(a):(new Function("Ext",a))(Ext);b.compiled=true;return b},evalCompiled:function($){eval($);return $},regexReplaceFn:function(d,c,b,e,a){if(c==null||c===""){c='"'+b+'"'}else{if(this.stringFormat){c=parseInt(c)+1}}if(e&&this.disableFormats!==true){a=a?","+a:"";if(e.substr(0,5)==="this."){e=e+"("}else{if(Ext.util.Format[e]){e="fm."+e+"("}else{return d}}return"',"+e+"v["+c+"]"+a+"),'"}else{return"',v["+c+"] == undefined ? '' : v["+c+"],'"}},insertFirst:function(b,a,c){return this.doInsert("afterBegin",b,a,c)},insertBefore:function(b,a,c){return this.doInsert("beforeBegin",b,a,c)},insertAfter:function(b,a,c){return this.doInsert("afterEnd",b,a,c)},append:function(b,a,c){return this.doInsert("beforeEnd",b,a,c)},doInsert:function(b,d,a,e){var c=Ext.DomHelper.insertHtml(b,Ext.getDom(d),this.apply(a));return e?Ext.get(c):c},overwrite:function(c,a,d){var b=Ext.DomHelper.overwrite(Ext.getDom(c),this.apply(a));return d?Ext.get(b):b}},function(d){var c=/\{\d+\}/,a=function(g){if(c.test(g)){g=new d(g,b);return function(){return g.apply(arguments)}}else{return function(){return g}}},b={useFormat:false,compiled:true,stringFormat:true},e={};Ext.String.format=Ext.util.Format.format=function(h){var g=e[h]||(e[h]=a(h));return g.apply(this,arguments)};Ext.String.formatEncode=function(){return Ext.String.htmlEncode(Ext.String.format.apply(this,arguments))}});Ext.define("Ext.util.XTemplateParser",{constructor:function(a){Ext.apply(this,a)},doTpl:Ext.emptyFn,parse:function(n){var w=this,q=n.length,p={elseif:"elif"},r=w.topRe,c=w.actionsRe,e,d,j,o,h,k,i,v,u,b,g,a,l;w.level=0;w.stack=d=[];for(e=0;e<q;e=b){r.lastIndex=e;o=r.exec(n);if(!o){w.doText(n.substring(e,q));break}u=o.index;b=r.lastIndex;if(e<u){j=n.substring(e,u);if(!(l&&Ext.String.trim(j)==="")){w.doText(j)}}l=false;if(o[1]){b=n.indexOf("%}",u+2);w.doEval(n.substring(u+2,b));b+=2}else{if(o[2]){b=n.indexOf("]}",u+2);w.doExpr(n.substring(u+2,b));b+=2}else{if(o[3]){w.doTag(o[3])}else{if(o[4]){g=null;while((v=c.exec(o[4]))!==null){j=v[2]||v[3];if(j){j=Ext.String.htmlDecode(j);h=v[1];h=p[h]||h;g=g||{};k=g[h];if(typeof k=="string"){g[h]=[k,j]}else{if(k){g[h].push(j)}else{g[h]=j}}}}if(!g){if(w.elseRe.test(o[4])){w.doElse()}else{if(w.defaultRe.test(o[4])){w.doDefault()}else{w.doTpl();d.push({type:"tpl"})}}}else{if(g["if"]){w.doIf(g["if"],g);d.push({type:"if"})}else{if(g["switch"]){w.doSwitch(g["switch"],g);d.push({type:"switch"});l=true}else{if(g["case"]){w.doCase(g["case"],g)}else{if(g.elif){w.doElseIf(g.elif,g)}else{if(g["for"]){++w.level;if(a=w.propRe.exec(o[4])){g.propName=a[1]||a[2]}w.doFor(g["for"],g);d.push({type:"for",actions:g})}else{if(g.foreach){++w.level;if(a=w.propRe.exec(o[4])){g.propName=a[1]||a[2]}w.doForEach(g.foreach,g);d.push({type:"foreach",actions:g})}else{if(g.exec){w.doExec(g.exec,g);d.push({type:"exec",actions:g})}}}}}}}}}else{if(o[0].length===5){d.push({type:"tpl"})}else{i=d.pop();w.doEnd(i.type,i.actions);if(i.type=="for"||i.type=="foreach"){--w.level}}}}}}}},topRe:/(?:(\{\%)|(\{\[)|\{([^{}]+)\})|(?:<tpl([^>]*)\>)|(?:<\/tpl>)/g,actionsRe:/\s*(elif|elseif|if|for|foreach|exec|switch|case|eval|between)\s*\=\s*(?:(?:"([^"]*)")|(?:'([^']*)'))\s*/g,propRe:/prop=(?:(?:"([^"]*)")|(?:'([^']*)'))/,defaultRe:/^\s*default\s*$/,elseRe:/^\s*else\s*$/});Ext.define("Ext.util.XTemplateCompiler",{extend:Ext.util.XTemplateParser,useEval:Ext.isGecko,useIndex:Ext.isIE8m,useFormat:true,propNameRe:/^[\w\d\$]*$/,compile:function(a){var c=this,b=c.generate(a);return c.useEval?c.evalTpl(b):(new Function("Ext",b))(Ext)},generate:function(a){var d=this,b="var fm=Ext.util.Format,ts=Object.prototype.toString;",c;d.maxLevel=0;d.body=["var c0=values, a0="+d.createArrayTest(0)+", p0=parent, n0=xcount, i0=xindex, k0, v;\n"];if(d.definitions){if(typeof d.definitions==="string"){d.definitions=[d.definitions,b]}else{d.definitions.push(b)}}else{d.definitions=[b]}d.switches=[];d.parse(a);d.definitions.push((d.useEval?"$=":"return")+" function ("+d.fnArgs+") {",d.body.join(""),"}");c=d.definitions.join("\n");d.definitions.length=d.body.length=d.switches.length=0;delete d.definitions;delete d.body;delete d.switches;return c},doText:function(c){var b=this,a=b.body;c=c.replace(b.aposRe,"\\'").replace(b.newLineRe,"\\n");if(b.useIndex){a.push("out[out.length]='",c,"'\n")}else{a.push("out.push('",c,"')\n")}},doExpr:function(b){var a=this.body;a.push("if ((v="+b+") != null) out");if(this.useIndex){a.push("[out.length]=v+''\n")}else{a.push(".push(v+'')\n")}},doTag:function(a){var b=this.parseTag(a);if(b){this.doExpr(b)}else{this.doText("{"+a+"}")}},doElse:function(){this.body.push("} else {\n")},doEval:function(a){this.body.push(a,"\n")},doIf:function(b,c){var a=this;if(b==="."){a.body.push("if (values) {\n")}else{if(a.propNameRe.test(b)){a.body.push("if (",a.parseTag(b),") {\n")}else{a.body.push("if (",a.addFn(b),a.callFn,") {\n")}}if(c.exec){a.doExec(c.exec)}},doElseIf:function(b,c){var a=this;if(b==="."){a.body.push("else if (values) {\n")}else{if(a.propNameRe.test(b)){a.body.push("} else if (",a.parseTag(b),") {\n")}else{a.body.push("} else if (",a.addFn(b),a.callFn,") {\n")}}if(c.exec){a.doExec(c.exec)}},doSwitch:function(c){var b=this,a;if(c==="."||c==="#"){a=c==="."?"values":"xindex";b.body.push("switch (",a,") {\n")}else{if(b.propNameRe.test(c)){b.body.push("switch (",b.parseTag(c),") {\n")}else{b.body.push("switch (",b.addFn(c),b.callFn,") {\n")}}b.switches.push(0)},doCase:function(e){var d=this,c=Ext.isArray(e)?e:[e],g=d.switches.length-1,a,b;if(d.switches[g]){d.body.push("break;\n")}else{d.switches[g]++}for(b=0,g=c.length;b<g;++b){a=d.intRe.exec(c[b]);c[b]=a?a[1]:("'"+c[b].replace(d.aposRe,"\\'")+"'")}d.body.push("case ",c.join(": case "),":\n")},doDefault:function(){var a=this,b=a.switches.length-1;if(a.switches[b]){a.body.push("break;\n")}else{a.switches[b]++}a.body.push("default:\n")},doEnd:function(b,d){var c=this,a=c.level-1;if(b=="for"||b=="foreach"){if(d.exec){c.doExec(d.exec)}c.body.push("}\n");c.body.push("parent=p",a,";values=r",a+1,";xcount=n"+a+";xindex=i",a,"+1;xkey=k",a,";\n")}else{if(b=="if"||b=="switch"){c.body.push("}\n")}}},doFor:function(e,h){var d=this,c,b=d.level,a=b-1,g;if(e==="."){c="values"}else{if(d.propNameRe.test(e)){c=d.parseTag(e)}else{c=d.addFn(e)+d.callFn}}if(d.maxLevel<b){d.maxLevel=b;d.body.push("var ")}if(e=="."){g="c"+b}else{g="a"+a+"?c"+a+"[i"+a+"]:c"+a}d.body.push("i",b,"=0,n",b,"=0,c",b,"=",c,",a",b,"=",d.createArrayTest(b),",r",b,"=values,p",b,",k",b,";\n","p",b,"=parent=",g,"\n","if (c",b,"){if(a",b,"){n",b,"=c",b,".length;}else if (c",b,".isMixedCollection){c",b,"=c",b,".items;n",b,"=c",b,".length;}else if(c",b,".isStore){c",b,"=c",b,".data.items;n",b,"=c",b,".length;}else{c",b,"=[c",b,"];n",b,"=1;}}\n","for (xcount=n",b,";i",b,"<n"+b+";++i",b,"){\n","values=c",b,"[i",b,"]");if(h.propName){d.body.push(".",h.propName)}d.body.push("\n","xindex=i",b,"+1\n");if(h.between){d.body.push('if(xindex>1){ out.push("',h.between,'"); } \n')}},doForEach:function(e,h){var d=this,c,b=d.level,a=b-1,g;if(e==="."){c="values"}else{if(d.propNameRe.test(e)){c=d.parseTag(e)}else{c=d.addFn(e)+d.callFn}}if(d.maxLevel<b){d.maxLevel=b;d.body.push("var ")}if(e=="."){g="c"+b}else{g="a"+a+"?c"+a+"[i"+a+"]:c"+a}d.body.push("i",b,"=-1,n",b,"=0,c",b,"=",c,",a",b,"=",d.createArrayTest(b),",r",b,"=values,p",b,",k",b,";\n","p",b,"=parent=",g,"\n","for(k",b," in c",b,"){\n","xindex=++i",b,"+1;\n","xkey=k",b,";\n","values=c",b,"[k",b,"];");if(h.propName){d.body.push(".",h.propName)}if(h.between){d.body.push('if(xindex>1){ out.push("',h.between,'"); } \n')}},createArrayTest:("isArray" in Array)?function(a){return"Array.isArray(c"+a+")"}:function(a){return"ts.call(c"+a+')==="[object Array]"'},doExec:function(d,e){var c=this,a="f"+c.definitions.length,b=c.guards[c.strict?0:1];c.definitions.push("function "+a+"("+c.fnArgs+") {",b.doTry," var $v = values; with($v) {","  "+d," }",b.doCatch,"}");c.body.push(a+c.callFn+"\n")},guards:[{doTry:"",doCatch:""},{doTry:"try { ",doCatch:" } catch(e) {\n}"}],addFn:function(a){var d=this,b="f"+d.definitions.length,c=d.guards[d.strict?0:1];if(a==="."){d.definitions.push("function "+b+"("+d.fnArgs+") {"," return values","}")}else{if(a===".."){d.definitions.push("function "+b+"("+d.fnArgs+") {"," return parent","}")}else{d.definitions.push("function "+b+"("+d.fnArgs+") {",c.doTry," var $v = values; with($v) {","  return("+a+")"," }",c.doCatch,"}")}}return b},parseTag:function(b){var h=this,a=h.tagRe.exec(b),e,i,d,g,c;if(!a){return null}e=a[1];i=a[2];d=a[3];g=a[4];if(e=="."){if(!h.validTypes){h.definitions.push("var validTypes={string:1,number:1,boolean:1};");h.validTypes=true}c='validTypes[typeof values] || ts.call(values) === "[object Date]" ? values : ""'}else{if(e=="#"){c="xindex"}else{if(e=="$"){c="xkey"}else{if(e.substr(0,7)=="parent."){c=e}else{if(isNaN(e)&&e.indexOf("-")==-1&&e.indexOf(".")!=-1){c="values."+e}else{c="values['"+e+"']"}}}}}if(g){c="("+c+g+")"}if(i&&h.useFormat){d=d?","+d:"";if(i.substr(0,5)!="this."){i="fm."+i+"("}else{i+="("}}else{return c}return i+c+d+")"},evalTpl:function($){eval($);return $},newLineRe:/\r\n|\r|\n/g,aposRe:/[']/g,intRe:/^\s*(\d+)\s*$/,tagRe:/^([\w-\.\#\$]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?(\s?[\+\-\*\/]\s?[\d\.\+\-\*\/\(\)]+)?$/},function(){var a=this.prototype;a.fnArgs="out,values,parent,xindex,xcount,xkey";a.callFn=".call(this,"+a.fnArgs+")"});Ext.define("Ext.XTemplate",{extend:Ext.Template,isXTemplate:true,emptyObj:{},fn:null,strict:false,apply:function(a,b,c,d){return this.applyOut(a,[],b,c,d).join("")},applyOut:function(a,b,d,h,j){var g=this,c;if(!g.fn){c=new Ext.util.XTemplateCompiler({useFormat:g.disableFormats!==true,definitions:g.definitions,strict:g.strict});g.fn=c.compile(g.html)}h=h||1;j=j||1;if(g.strict){g.fn(b,a,d||g.emptyObj,h,j)}else{try{g.fn(b,a,d||g.emptyObj,h,j)}catch(i){}}return b},compile:function(){return this},statics:{getTpl:function(b,d){var c=b[d],a;if(c&&!c.isTemplate){c=Ext.ClassManager.dynInstantiate("Ext.XTemplate",c);if(b.hasOwnProperty(d)){a=b}else{for(a=b.self.prototype;a&&!a.hasOwnProperty(d);a=a.superclass){}}a[d]=c;c.owner=a}return c||null}}});Ext.define("Ext.util.CSS",function(){var c,e=null,d=document,b=/(-[a-z])/gi,a=function(g,h){return h.charAt(1).toUpperCase()};return{singleton:true,rules:e,initialized:false,constructor:function(){c=this},createStyleSheet:function(i,k){var h,g=d.getElementsByTagName("head")[0],j=d.createElement("style");j.setAttribute("type","text/css");if(k){j.setAttribute("id",k)}h=j.styleSheet;if(h){g.appendChild(j);h.cssText=i}else{j.appendChild(d.createTextNode(i));g.appendChild(j);h=j.sheet}c.cacheStyleSheet(h);return h},removeStyleSheet:function(g){var h=(typeof g==="string")?d.getElementById(g):g.ownerNode;if(h){h.parentNode.removeChild(h)}},swapStyleSheet:function(i,g){var h;c.removeStyleSheet(i);h=d.createElement("link");h.setAttribute("rel","stylesheet");h.setAttribute("type","text/css");h.setAttribute("id",i);h.setAttribute("href",g);d.getElementsByTagName("head")[0].appendChild(h)},cacheStyleSheet:function(m){if(!e){e=c.rules={}}try{var p=m.cssRules||m.rules,l=p.length-1,h=m.imports,g=h?h.length:0,o,k;for(k=0;k<g;++k){c.cacheStyleSheet(h[k])}for(;l>=0;--l){o=p[l];if(o.styleSheet){c.cacheStyleSheet(o.styleSheet)}c.cacheRule(o,m)}}catch(n){}},cacheRule:function(h,l){if(h.styleSheet){return c.cacheStyleSheet(h.styleSheet)}var k=h.selectorText,i,g;if(k){k=k.split(",");i=k.length;for(g=0;g<i;g++){e[Ext.String.trim(k[g]).toLowerCase()]={parentStyleSheet:l,cssRule:h}}}},getRules:function(i){var h={},g;if(e===null||i){c.refreshCache()}for(g in e){h[g]=e[g].cssRule}return h},refreshCache:function(){var j=d.styleSheets,h=0,g=j.length;e=c.rules={};for(;h<g;h++){try{if(!j[h].disabled){c.cacheStyleSheet(j[h])}}catch(k){}}},getRule:function(h,k,j){var l,g;if(!e||k){c.refreshCache()}if(!Ext.isArray(h)){g=e[h.toLowerCase()];if(g&&!j){g=g.cssRule}return g||null}for(l=0;l<h.length;l++){if(e[h[l]]){return j?e[h[l].toLowerCase()]:e[h[l].toLowerCase()].cssRule}}return null},createRule:function(l,h,j){var g,k=l.cssRules||l.rules,i=k.length;if(l.insertRule){l.insertRule(h+" {"+j+"}",i)}else{l.addRule(h,j||" ")}c.cacheRule(g=k[i],l);return g},updateRule:function(g,l,k){var m,h,j;if(!Ext.isArray(g)){m=c.getRule(g);if(m){if(arguments.length===2){j=Ext.Element.parseStyles(l);for(l in j){m.style[l.replace(b,a)]=j[l]}}else{m.style[l.replace(b,a)]=k}return true}}else{for(h=0;h<g.length;h++){if(c.updateRule(g[h],l,k)){return true}}}return false},deleteRule:function(g){var i=c.getRule(g,false,true),j,h;if(i){j=i.parentStyleSheet;h=Ext.Array.indexOf(j.cssRules||j.rules,i.cssRule);if(j.deleteRule){j.deleteRule(h)}else{j.removeRule(h)}delete e[g]}}}});Ext.define("Ext.scroll.Scroller",{extend:Ext.Evented,alias:"scroller.scroller",mixins:[Ext.mixin.Factoryable],factoryConfig:{defaultType:"scroller"},isScroller:true,config:{direction:undefined,element:undefined,scrollbars:null,snapSelector:null,snapOffset:null,msSnapInterval:null,x:true,y:true,scrollElement:null,size:null,spacerXY:null},snappableCls:Ext.baseCSSPrefix+"scroller-snappable",elementCls:Ext.baseCSSPrefix+"scroller",spacerCls:Ext.baseCSSPrefix+"scroller-spacer",noScrollbarsCls:Ext.baseCSSPrefix+"no-scrollbars",statics:{create:function(a,b){return Ext.Factory.scroller(a,b)},getScrollingElement:function(){var e=document,a=this.$standardScrollElement,d=e.scrollingElement,c,b;if(d){return d}if(a===undefined){c=document.createElement("iframe");c.style.height="1px";document.body.appendChild(c);b=c.contentWindow.document;b.write('<!DOCTYPE html><div style="height:9999em">x</div>');b.close();a=b.documentElement.scrollHeight>b.body.scrollHeight;c.parentNode.removeChild(c);this.$standardScrollElement=a}return a?e.documentElement:e.body}},constructor:function(a){var b=this;b.position={x:0,y:0};b.callParent([a]);b.onDomScrollEnd=Ext.Function.createBuffered(b.onDomScrollEnd,100,b)},destroy:function(){var a=this;a.setX(Ext.emptyString);a.setY(Ext.emptyString);a.setElement(null);a.setScrollElement(null);a.onDomScrollEnd=a._partners=a.component=null;if(a._translatable){a._translatable.destroy();a._translatable=null}a.removeSnapStylesheet();a.callParent()},addPartner:function(d,b){var c=this,e=c._partners||(c._partners={}),a=d._partners||(d._partners={});e[d.getId()]={scroller:d,axis:b};a[c.getId()]={scroller:c,axis:b}},applyElement:function(b,a){var d=this,c,e,g;if(a){d.scrollListener.destroy()}if(b){if(b.isElement){c=b}else{c=Ext.get(b)}if(c.dom===document.documentElement||c.dom===document.body){e=Ext.getWin();g=Ext.scroll.Scroller.getScrollingElement()}else{g=e=c}d.setScrollElement(Ext.get(g));d.scrollListener=e.on({scroll:d.onDomScroll,scope:d,destroyable:true});return c}},applySize:function(b,c){var a,d;if(b===null||typeof b==="number"){a=d=b}else{if(b){a=b.x;d=b.y}}if(a===null){a=0}else{if(a===undefined){a=(c?c.x:0)}}if(d===null){d=0}else{if(d===undefined){d=(c?c.y:0)}}return{x:a,y:d}},getClientSize:function(){var a=this.getElement().dom;return{x:a.clientWidth,y:a.clientHeight}},getScrollbarSize:function(){var g=this,b=0,k=0,e=g.getElement(),d,j,i,h,c,a;if(e&&!e.destroyed){j=g.getX();i=g.getY();d=e.dom;if(j||i){a=Ext.getScrollbarSize()}if(j==="scroll"){h=true}else{if(j){h=d.scrollWidth>d.clientWidth}}if(i==="scroll"){c=true}else{if(i){c=d.scrollHeight>d.clientHeight}}if(h){k=a.height}if(c){b=a.width}}return{width:b,height:k}},getPosition:function(){var a=this;if(a.positionDirty){a.updateDomScrollPosition()}return a.position},getSize:function(){var b=this.getElement(),a,c;if(b&&!b.destroyed){c=b.dom;a={x:c.scrollWidth,y:c.scrollHeight}}else{a={x:0,y:0}}return a},getMaxPosition:function(){var b=this.getElement(),a=0,d=0,c;if(b&&!b.destroyed){c=b.dom;a=c.scrollWidth-c.clientWidth;d=c.scrollHeight-c.clientHeight}return{x:a,y:d}},getMaxUserPosition:function(){var c=this,b=c.getElement(),a=0,e=0,d;if(b&&!b.destroyed){d=b.dom;if(c.getX()){a=d.scrollWidth-d.clientWidth}if(c.getY()){e=d.scrollHeight-d.clientHeight}}return{x:a,y:e}},refresh:function(){this.positionDirty=true;this.fireEvent("refresh",this);return this},removePartner:function(b){var c=this._partners,a=b._partners;if(c){delete c[b.getId()]}if(a){delete (a[this.getId()])}},scrollBy:function(c,b,d){var a=this.getPosition();if(c){if(c.length){d=b;b=c[1];c=c[0]}else{if(typeof c!=="number"){d=b;b=c.y;c=c.x}}}c=(typeof c==="number")?c+a.x:null;b=(typeof b==="number")?b+a.y:null;return this.doScrollTo(c,b,d)},scrollIntoView:function(d,e,b,h){var j=this,i=j.getPosition(),g,a,k,c=j.getElement();if(d){g=Ext.fly(d).getScrollIntoViewXY(c,i.x,i.y);a=(e===false)?i.x:g.x;k=g.y;if(k!==i.y||a!==i.x){if(h){j.on({scrollend:"doHighlight",scope:j,single:true,args:[d,h]})}j.doScrollTo(a,k,b)}else{if(h){j.doHighlight(d,h)}}}},isInView:function(a){return this.doIsInView(a)},scrollTo:function(a,d,b){var c;if(a){if(a.length){b=d;d=a[1];a=a[0]}else{if(typeof a!=="number"){b=d;d=a.y;a=a.x}}}if(a<0||d<0){c=this.getMaxPosition();if(a<0){a+=c.x}if(d<0){d+=c.y}}this.doScrollTo(a,d,b)},updateDirection:function(c){var b=this,a,d;if(!c){a=b.getX();d=b.getY();if(a&&d){c=(d==="scroll"&&a==="scroll")?"both":"auto"}else{if(d){c="vertical"}else{if(a){c="horizontal"}}}b._direction=c}else{if(c==="auto"){a=true;d=true}else{if(c==="vertical"){a=false;d=true}else{if(c==="horizontal"){a=true;d=false}else{if(c==="both"){a="scroll";d="scroll"}}}}b.setX(a);b.setY(d)}},updateScrollbars:function(a,b){this.syncScrollbarCls()},updateSize:function(d){var e=this,c=e.getElement(),a=d.x,g=d.y,b;if(c){e.positionDirty=true;b=e.getSpacer();if(!a&&!g){b.hide()}else{if(a>0){a-=1}if(g>0){g-=1}e.setSpacerXY({x:a,y:g});b.show()}}},updateMsSnapInterval:function(){this.initMsSnapInterval()},updateSnapSelector:function(){this.initSnap()},updateSnapOffset:function(){this.initSnap()},updateElement:function(a){var b=this;b.initXStyle();b.initYStyle();a.addCls(b.elementCls);b.initSnap();b.initMsSnapInterval();b.syncScrollbarCls()},updateX:function(a){this.initXStyle()},updateY:function(a){this.initYStyle()},deprecated:{"5":{methods:{getScroller:function(){return this}}},"5.1.0":{methods:{scrollToTop:function(a){return this.scrollTo(0,0,a)},scrollToEnd:function(a){return this.scrollTo(Infinity,Infinity,a)}}}},privates:{getSpacer:function(){var c=this,a=c._spacer,b;if(!a){b=c.getElement();a=c._spacer=b.createChild({cls:c.spacerCls,role:"presentation"},b.dom.firstChild);a.setVisibilityMode(2);a.hide();b.position()}return a},applySpacerXY:function(b,a){if(a&&b.x===a.x&&b.y===a.y){b=undefined}return b},updateSpacerXY:function(g){var c=this,a=c.getSpacer(),e=a.dom.style,b=g.y,d;e.marginTop="";c.translateSpacer(g.x,c.constrainScrollRange(b));e.lineHeight=Number(!parseInt(e.lineHeight,10))+"px";d=b-c.getElement().dom.scrollHeight;if(d>0){e.marginTop=Math.min(d,c.maxSpacerMargin||0)+"px"}},translateSpacer:function(a,b){this.getSpacer().translate(a,b)},doIsInView:function(d,g){var e=this,j=e.component,a={x:false,y:false},h,i=e.getElement(),b;if(d&&(g||(i.contains(d)||(j&&j.owns(d))))){b=i.getRegion();h=Ext.fly(d).getRegion();a.x=h.right>b.left&&h.left<b.right;a.y=h.bottom>b.top&&h.top<b.bottom}return a},constrainScrollRange:function(c){if(c<1000000){return c}if(!this.maxSpacerTranslate){var b=Math.pow(2,32),h=b,e=500,a=Ext.getBody().createChild({style:{position:"absolute",left:"-10000px",top:"0",width:"500px",height:"500px"},cn:{cls:this.spacerCls}},null,true),d=Ext.get(a.firstChild),g=d.dom.style;d.translate(0,b-1);g.lineHeight=Number(!parseInt(g.lineHeight,10))+"px";while(h!==e+1){d.translate(0,(b=e+Math.floor((h-e)/2)));g.lineHeight=Number(!parseInt(g.lineHeight,10))+"px";if(a.scrollHeight<b){h=b}else{e=b}}d.translate(0,Ext.scroll.Scroller.prototype.maxSpacerTranslate=e);h=e*2;while(h!==e+1){d.dom.style.marginTop=((b=e+Math.floor((h-e)/2)))+"px";g.lineHeight=Number(!parseInt(g.lineHeight,10))+"px";if(a.scrollHeight<b){h=b}else{e=b}}Ext.fly(a).destroy();Ext.scroll.Scroller.prototype.maxSpacerMargin=e-Ext.scroll.Scroller.prototype.maxSpacerTranslate}return Math.min(c,this.maxSpacerTranslate)},convertX:function(a){return a},doHighlight:function(b,a){if(a!==true){Ext.fly(b).highlight(a)}else{Ext.fly(b).highlight()}},doScrollTo:function(k,j,a){var h=this,d=h.getScrollElement(),e,b,l,g,c;if(d&&!d.destroyed){b=d.dom;l=(k===Infinity);g=(j===Infinity);if(l||g){e=h.getMaxPosition();if(l){k=e.x}if(g){j=e.y}}k=h.convertX(k);if(a){if(!this._translatable){this._translatable=new Ext.util.translatable.ScrollPosition({element:d})}this._translatable.translate(k,j,a)}else{if(j!=null){b.scrollTop=j}if(k!=null){b.scrollLeft=k;if(Ext.isIE8){c=b.scrollLeft;b.scrollLeft=k}}}h.positionDirty=true}},fireScrollStart:function(a,d){var c=this,b=c.component;c.invokePartners("onPartnerScrollStart",a,d);if(c.hasListeners.scrollstart){c.fireEvent("scrollstart",c,a,d)}if(b&&b.onScrollStart){b.onScrollStart(a,d)}Ext.GlobalEvents.fireEvent("scrollstart",c,a,d)},fireScroll:function(a,d){var c=this,b=c.component;c.invokePartners("onPartnerScroll",a,d);if(c.hasListeners.scroll){c.fireEvent("scroll",c,a,d)}if(b&&b.onScrollMove){b.onScrollMove(a,d)}Ext.GlobalEvents.fireEvent("scroll",c,a,d)},fireScrollEnd:function(a,d){var c=this,b=c.component;c.invokePartners("onPartnerScrollEnd",a,d);if(c.hasListeners.scrollend){c.fireEvent("scrollend",c,a,d)}if(b&&b.onScrollEnd){b.onScrollEnd(a,d)}Ext.GlobalEvents.fireEvent("scrollend",c,a,d)},getElementScroll:function(a){return a.getScroll()},initSnap:function(){var d=this,h=d.getSnapOffset(),e=d.getSnapSelector(),c=d.getElement(),a,g,b;if(c&&e){c.addCls(d.snappableCls);d.removeSnapStylesheet();if(h){a=h.x||0;g=h.y||0;if(a){a=-a+"px"}if(g){g=-g+"px"}}b=a+" "+g+";";d.snapStylesheet=Ext.util.CSS.createStyleSheet("#"+c.id+" "+e+"{-webkit-scroll-snap-coordinate:"+b+"scroll-snap-coordinate:"+b+"}")}},initMsSnapInterval:function(){var c=this.getElement(),b,a,e,d;if(c){b=this.getMsSnapInterval();if(b){a=b.x;e=b.y;d=c.dom.style;if(a){d["-ms-scroll-snap-points-x"]="snapInterval(0px, "+a+"px)"}if(e){d["-ms-scroll-snap-points-y"]="snapInterval(0px, "+e+"px)"}}}},initXStyle:function(){var b=this.getElement(),a=this.getX();if(b&&b.dom){if(!a){a="hidden"}else{if(a===true){a="auto"}}b.setStyle("overflow-x",a)}},initYStyle:function(){var a=this.getElement(),b=this.getY();if(a&&a.dom){if(!b){b="hidden"}else{if(b===true){b="auto"}}a.setStyle("overflow-y",b)}},invokePartners:function(i,a,h){var c=this,e=c._partners,b,g,d=i==="onPartnerScrollEnd";if(!c.suspendSync&!c.isReflecting){for(g in e){b=e[g].scroller;b.isReflecting=true;b[i](c,a,h);if(d){b.isReflecting=false}}}},clearReflecting:function(){this.isReflecting=false},suspendPartnerSync:function(){this.suspendSync=(this.suspendSync||0)+1},resumePartnerSync:function(c){var b=this,a;if(b.suspendSync){b.suspendSync--}if(!b.suspendSync&&c){a=b.getPosition();b.invokePartners("onPartnerScroll",a.x,a.y);b.invokePartners("onPartnerScrollEnd",a.x,a.y)}},updateDomScrollPosition:function(){var d=this,c=d.getScrollElement(),b,a=d.position;if(c&&!c.destroyed){b=d.getElementScroll(c);a.x=b.left;a.y=b.top}d.positionDirty=false;return a},syncWithPartners:function(){var c=this,d=c._partners,e,b,a;c.isReflecting=true;for(e in d){b=d[e].scroller;a=b.getPosition();c.onPartnerScroll(b,a.x,a.y)}c.isReflecting=false},syncScrollbarCls:function(){var a=this.getElement();if(a){a.toggleCls(this.noScrollbarsCls,this.getScrollbars()===false)}},onDomScroll:function(){var c=this,b,a,d;b=c.updateDomScrollPosition();if(c.restoring){return}a=b.x;d=b.y;if(!c.isScrolling){c.isScrolling=Ext.isScrolling=true;c.fireScrollStart(a,d)}c.fireScroll(a,d);c.onDomScrollEnd()},onDomScrollEnd:function(){var c=this,b,a,d;if(c.destroying||c.destroyed){return}b=c.getPosition();a=b.x;d=b.y;c.isScrolling=Ext.isScrolling=false;c.trackingScrollLeft=a;c.trackingScrollTop=d;c.fireScrollEnd(a,d)},onPartnerScroll:function(c,a,d){var b=c._partners[this.getId()].axis;if(b){if(b==="x"){d=null}else{if(b==="y"){a=null}}}this.doScrollTo(a,d,false,true)},onPartnerScrollStart:Ext.privateFn,onPartnerScrollEnd:Ext.privateFn,removeSnapStylesheet:function(){var a=this.snapStylesheet;if(a){Ext.util.CSS.removeStyleSheet(a);this.snapStylesheet=null}},restoreState:function(){var b=this,a=b.getScrollElement();if(a){if(b.trackingScrollTop!==undefined){b.restoring=true;Ext.defer(function(){b.restoring=false},50);b.doScrollTo(b.trackingScrollLeft,b.trackingScrollTop,false)}}}}},function(a){Ext.getViewportScroller=function(){return a.viewport||(a.viewport=new a())};Ext.setViewportScroller=function(b){if(a.viewport!==b){Ext.destroy(a.viewport);a.viewport=b.isScroller?b:new a(b)}};Ext.onReady(function(){Ext.defer(function(){var b=Ext.getViewportScroller();if(!b.getElement()){b.setElement(Ext.getBody())}},100)})});Ext.define("Ext.Component",{extend:Ext.Widget,alternateClassName:["Ext.lib.Component","Ext.Gadget"],mixins:[Ext.mixin.Keyboard],xtype:"component",cachedConfig:{margin:null,padding:null,styleHtmlCls:Ext.baseCSSPrefix+"html",styleHtmlContent:null},eventedConfig:{left:null,top:null,right:null,bottom:null,minWidth:null,minHeight:null,maxWidth:null,maxHeight:null,scrollable:null,docked:null,centered:null,disabled:null},config:{html:null,draggable:null,renderTo:null,zIndex:null,tpl:null,enterAnimation:null,exitAnimation:null,showAnimation:null,hideAnimation:null,tplWriteMode:"overwrite",data:null,contentEl:null,record:null,useBodyElement:null,tooltip:null,axisLock:null,modal:null,hideOnMaskTap:null},defaultBindProperty:"html",isComponent:true,positioned:false,rendered:false,activeAnimation:null,dockPositions:{top:true,right:true,bottom:true,left:true},innerElement:null,element:{reference:"element",classList:[Ext.baseCSSPrefix+"unsized"]},classCls:Ext.baseCSSPrefix+"component",floatingCls:Ext.baseCSSPrefix+"floating",hiddenCls:Ext.baseCSSPrefix+"hidden",disabledCls:Ext.baseCSSPrefix+"disabled",heightedCls:Ext.baseCSSPrefix+"heighted",widthedCls:Ext.baseCSSPrefix+"widthed",widthed:false,heighted:false,widthLayoutSized:false,heightLayoutSized:false,layoutStretched:false,sizeState:false,sizeFlags:0,LAYOUT_WIDTH:1,LAYOUT_HEIGHT:2,LAYOUT_BOTH:3,LAYOUT_STRETCHED:4,_scrollableCfg:{x:{x:true,y:false},y:{x:false,y:true},horizontal:{x:true,y:false},vertical:{x:false,y:true},both:{x:true,y:true},"true":{x:true,y:true}},statics:{fromElement:function(c,b,a){return Ext.ComponentManager.fromElement(c,b,a)}},initialConfig:null,$initParent:null,constructor:function(a){var b=this;b.onInitializedListeners=[];if(a){b.initialConfig=a;b.$initParent=a.$initParent;if(b.activatePlugin("responsive")){a=b.initialConfig}}b.callParent([a]);b.refreshSizeState=b.doRefreshSizeState;b.refreshPositioned=b.doRefreshPositioned;if(b.refreshSizeStateOnInitialized){b.refreshSizeState()}if(b.refreshPositionedOnInitialized){b.refreshPositioned()}b.initialize();b.triggerInitialized();if(b.fullscreen){b.fireEvent("fullscreen",b)}b.fireEvent("initialize",b);b.initKeyMap()},center:function(){var c=this,b,a,d;if(c.el.isVisible()){a=c.getParent();a=a?a.element:Ext.getBody();b=a.getConstrainRegion();d=[(b.getWidth()-c.el.getWidth())/2,(b.getHeight()-c.el.getHeight())/2];c.setX(d[0]);c.setY(d[1])}else{c.needsCenter=true}return c},getFloatedStack:function(a){var h=this,d,k=[],b=h.floatParentNode,j,g,c,e;if(b){j=Ext.Component.fromElement(b);d=Ext.supports.Selectors2?b.query(":scope>"+h.floatedSelector+",:scope>."+h.floatWrapCls):Ext.getBody().query("#"+b.id+">"+h.floatedSelector+",#"+b.id+">."+h.floatWrapCls);for(c=0,g=d.length;c<g;c++){e=Ext.Component.fromElement(d[c]);if(e!==j&&(!a||(typeof a==="string"?e.is(a):e(a)))){k.unshift(e)}}}return k},beforeInitConfig:function(a){this.beforeInitialize.apply(this,arguments)},beforeInitialize:Ext.emptyFn,initialize:Ext.emptyFn,triggerInitialized:function(){var e=this.onInitializedListeners,g=e.length,h,d,c,a,b;if(!this.initialized){this.initialized=true;if(g>0){for(b=0;b<g;b++){h=e[b];d=h.fn;c=h.scope;a=h.args;if(typeof d=="string"){c[d].apply(c,a)}else{d.apply(c,a)}}e.length=0}}},onInitialized:function(d,c,a){var b=this.onInitializedListeners;if(!c){c=this}if(this.initialized){if(typeof d=="string"){c[d].apply(c,a)}else{d.apply(c,a)}}else{b.push({fn:d,scope:c,args:a})}},initElement:function(){var a=this;a.callParent();if(!a.innerElement){a.innerElement=a.element}if(!a.bodyElement){a.bodyElement=a.innerElement}},applyScrollable:function(b,c){var a=this,d;if(b){if(b===true||typeof b==="string"){d=a._scrollableCfg[b];b=d}if(c){c.setConfig(b);b=c}else{b=new Ext.scroll.Scroller(b);b.component=a;a.setUseBodyElement(true);b.setElement(a.bodyElement)}}return b},updateRenderTo:function(a){this.renderTo(a)},updatePadding:function(a){this.innerElement.setPadding(a)},updateMargin:function(a){this.element.setMargin(a)},addCls:function(a,h,j){var d=this.getCls(),g=(d)?d.slice():[],e,c,b;h=h||"";j=j||"";if(typeof a=="string"){a=[a]}e=a.length;if(!g.length&&h===""&&j===""){g=a}else{for(c=0;c<e;c++){b=h+a[c]+j;if(g.indexOf(b)==-1){g.push(b)}}}this.setCls(g)},removeCls:function(a,g,h){var c=this.getCls(),e=(c)?c.slice():[],d,b;g=g||"";h=h||"";if(typeof a=="string"){e=Ext.Array.remove(e,g+a+h)}else{d=a.length;for(b=0;b<d;b++){e=Ext.Array.remove(e,g+a[b]+h)}}this.setCls(e)},replaceCls:function(d,j,c,h){var k=this.getCls(),e=(k)?k.slice():[],g,b,a;c=c||"";h=h||"";if(typeof d=="string"){e=Ext.Array.remove(e,c+d+h)}else{if(d){g=d.length;for(b=0;b<g;b++){e=Ext.Array.remove(e,c+d[b]+h)}}}if(typeof j=="string"){e.push(c+j+h)}else{if(j){g=j.length;if(!e.length&&c===""&&h===""){e=j}else{for(b=0;b<g;b++){a=c+j[b]+h;if(e.indexOf(a)==-1){e.push(a)}}}}}this.setCls(e)},toggleCls:function(b,d){var a=this.getCls(),c=a?a.slice():[];if(typeof d!=="boolean"){d=c.indexOf(b)===-1}if(d){Ext.Array.include(c,b)}else{Ext.Array.remove(c,b)}this.setCls(c);return this},updateStyleHtmlCls:function(c,a){var d=this.innerHtmlElement,b=this.innerElement;if(this.getStyleHtmlContent()&&a){if(d){d.replaceCls(a,c)}else{b.replaceCls(a,c)}}},applyStyleHtmlContent:function(a){return Boolean(a)},updateStyleHtmlContent:function(c){var a=this.getStyleHtmlCls(),b=this.innerElement,d=this.innerHtmlElement;if(c){if(d){d.addCls(a)}else{b.addCls(a)}}else{if(d){d.removeCls(a)}else{b.addCls(a)}}},applyContentEl:function(a){if(a){return Ext.get(a)}},updateContentEl:function(a,b){if(b){b.hide();Ext.getBody().append(b)}if(a){this.setHtml(a.dom);a.show()}},updateUseBodyElement:function(a){var c=this,b;if(a){b=c.link("bodyElement",c.innerElement.wrap({cls:Ext.baseCSSPrefix+"body"}));b.toggleCls(c.widthedCls,c.widthed);b.toggleCls(c.heightedCls,c.heighted)}},isCentered:function(){return Boolean(this.getCentered())},isPositioned:function(){return this.positioned},isDocked:function(){return Boolean(this.getDocked())},applyTop:function(a){return this.filterLengthValue(a)},applyRight:function(a){return this.filterLengthValue(a)},applyBottom:function(a){return this.filterLengthValue(a)},applyLeft:function(a){return this.filterLengthValue(a)},applyMinWidth:function(a){return this.filterLengthValue(a)},applyMinHeight:function(a){return this.filterLengthValue(a)},applyMaxWidth:function(a){return this.filterLengthValue(a)},applyMaxHeight:function(a){return this.filterLengthValue(a)},updateTop:function(a){this.element.setTop(a);this.refreshPositioned()},updateRight:function(a){this.element.setRight(a);this.refreshPositioned()},updateBottom:function(a){this.element.setBottom(a);this.refreshPositioned()},updateLeft:function(a){this.element.setLeft(a);this.refreshPositioned()},updateWidth:function(a){this.element.setWidth(a);this.refreshSizeState()},updateHeight:function(a){this.element.setHeight(a);this.refreshSizeState()},updateFlex:Ext.emptyFn,refreshSizeState:function(){this.refreshSizeStateOnInitialized=true},doRefreshSizeState:function(){var b=this.getWidth()!==null||this.widthLayoutSized||(this.getLeft()!==null&&this.getRight()!==null),c=this.getHeight()!==null||this.heightLayoutSized||(this.getTop()!==null&&this.getBottom()!==null),e=this.layoutStretched||this.hasCSSMinHeight||(!c&&this.getMinHeight()!==null),d=b&&c,a=(b&&this.LAYOUT_WIDTH)|(c&&this.LAYOUT_HEIGHT)|(e&&this.LAYOUT_STRETCHED);if(!d&&e){d=null}this.setSizeState(d);this.setSizeFlags(a);this.callParent()},setLayoutSizeFlags:function(a){this.layoutStretched=!!(a&this.LAYOUT_STRETCHED);this.widthLayoutSized=!!(a&this.LAYOUT_WIDTH);this.heightLayoutSized=!!(a&this.LAYOUT_HEIGHT);this.refreshSizeState()},setSizeFlags:function(b){var g=this,a=g.element,h=g.innerElement,d=g.heightedCls,e=g.widthedCls,k,c,j,i;if(b!==this.sizeFlags){g.sizeFlags=b;g.widthed=c=!!(b&this.LAYOUT_WIDTH);g.heighted=j=!!(b&this.LAYOUT_HEIGHT);i=!!(b&this.LAYOUT_STRETCHED);a.toggleCls(Ext.baseCSSPrefix+"has-width",c&&!i&&!j);a.toggleCls(Ext.baseCSSPrefix+"has-height",j&&!i&&!c);a.toggleCls(e,c);a.toggleCls(d,j);h.toggleCls(e,c);h.toggleCls(d,j);if(g.getUseBodyElement()){k=g.bodyElement;k.toggleCls(e,c);k.toggleCls(d,j)}if(g.initialized){g.fireEvent("sizeflagschange",g,b)}}},getSizeFlags:function(){if(!this.initialized){this.doRefreshSizeState()}return this.sizeFlags},setSizeState:function(a){if(a!==this.sizeState){this.sizeState=a;this.element.setSizeState(a);if(this.initialized){this.fireEvent("sizestatechange",this,a)}}},getSizeState:function(){if(!this.initialized){this.doRefreshSizeState()}return this.sizeState},updateMinWidth:function(a){this.element.setMinWidth(a)},updateMinHeight:function(a){this.element.setMinHeight(a);this.refreshSizeState()},updateMaxWidth:function(a){this.element.setMaxWidth(a)},updateMaxHeight:function(a){this.element.setMaxHeight(a)},applyCentered:function(a){var b=this,c=b.getLeft()===null&&b.getRight()===null&&b.getTop()===null&&b.getBottom()===null;if(c){return !!a}},updateCentered:function(a){var b=this;if(b.isFloated()){if(a){b.center();if(!b.centerResizeListener){b.centerResizeListener=b.floatParentNode.on({resize:b.center,scope:b,destroyable:true})}}else{b.centerResizeListener=Ext.destroy(b.centerResizeListener)}}else{b.el.toggleCls(b.floatingCls,a);if(a){b.refreshInnerState=Ext.emptyFn;if(b.isPositioned()){b.resetPositioned()}if(b.isDocked()){b.setDocked(false)}b.setIsInner(false);delete b.refreshInnerState}else{b.refreshInnerState()}}},applyDocked:function(a){if(!a){return null}this.refreshInnerState=Ext.emptyFn;if(this.isPositioned()){this.resetPositioned()}if(this.isCentered()){this.setCentered(false)}this.setIsInner(false);delete this.refreshInnerState;return a},updateDocked:function(c,b){var a=this;if(!a.isConfiguring){a.fireEvent("afterdockedchange",a,c,b);if(!c){a.refreshInnerState()}}},resetPositioned:function(){this.setTop(null);this.setRight(null);this.setBottom(null);this.setLeft(null)},refreshPositioned:function(){this.refreshPositionedOnInitialized=true},doRefreshPositioned:function(){var b=this,a=true,c=this.floatingCls;if(b.isFloated()||(b.getTop()===null&&b.getBottom()===null&&b.getRight()===null&&b.getLeft()===null)){a=false}else{b.refreshSizeState()}if(a!==this.positioned){b.positioned=a;if(a){b.refreshInnerState=Ext.emptyFn;if(b.isCentered()){b.setCentered(false)}if(b.isDocked()){b.setDocked(false)}b.setIsInner(false);delete b.refreshInnerState}b.element.toggleCls(c,a);if(b.initialized){b.fireEvent("floatingchange",b,a);b.fireEvent("positionedchange",b,a)}if(!a){b.refreshInnerState()}}},applyDisabled:function(a){return Boolean(a)},updateDisabled:function(a){this.element.toggleCls(this.disabledCls,a)},disable:function(){this.setDisabled(true)},enable:function(){this.setDisabled(false)},isDisabled:function(){return this.getDisabled()},applyZIndex:function(a){if(!a&&a!==0){a=null}if(a!==null){a=Number(a);if(isNaN(a)){a=null}}return a},updateZIndex:function(d){var b=this.element,c=!this.isFloated()&&this.getModal(),a;if(b&&!b.destroyed){a=b.dom.style;if(d!==null){a.setProperty("z-index",d,"important")}else{a.removeProperty("z-index")}}if(c){c.setZIndex(d-1)}},getInnerHtmlElement:function(){var a=this.innerHtmlElement,b;if(!a||!a.dom||!a.dom.parentNode){this.innerHtmlElement=a=Ext.Element.create({cls:Ext.baseCSSPrefix+"innerhtml"});if(this.getStyleHtmlContent()){b=this.getStyleHtmlCls();this.innerHtmlElement.addCls(b);this.innerElement.removeCls(b)}this.innerElement.appendChild(a)}return a},updateHtml:function(a){if(!this.destroyed){var b=this.getInnerHtmlElement();if(Ext.isElement(a)){b.setHtml("");b.append(a)}else{b.setHtml(a)}}},updateHidden:function(e,d){var c=this,a=c.renderElement,b=c.getModal();if(b){if(c.isFloated()){if(e){b=c.getFloatedStack("{getModal()}{isVisible()}")[0];if(b){b.showModalMask()}else{c.hideModalMask()}}else{c.showModalMask()}}else{b.setZIndex(c.getZIndex()-1);if(b.getHidden()!==e){b.setHidden(e)}}}c.callParent([e,d]);if(a&&!a.destroyed){a.toggleCls(c.hiddenCls,e);if(!c.isConfiguring){c.fireEvent(e?"hide":"show",c);c[e?"afterHide":"afterShow"](c)}}},hide:function(c){var b=this,d=b.activeAnimation,a;if(b.hasListeners.beforehide&&b.fireEvent("beforehide",b)===false){return}b.setCurrentAlignmentInfo(null);if(d){d.on({animationend:function(){b.hide(c)},single:true});return b}if(!b.getHidden()){if(c===undefined||(c&&c.isComponent)){c=b.getHideAnimation()}if(c){if(c===true){c="fadeOut"}b.on({beforehiddenchange:"animateFn",scope:this,single:true,args:[c]})}b.setHidden(true)}if(!b.isFloated()){a=b.getModal();if(a){a.setHidden(true)}}return b},show:function(e){var b=this,d=b.getHidden(),c=b.isFloated(),a;if(b.hasListeners.beforeshow&&b.fireEvent("beforeshow",b)===false){return}b.beforeShow();if(b.activeAnimation){b.activeAnimation.on({animationend:function(){b.show(e)},scope:b,single:true});return b}if(d||d===null){if(e===true){e="fadeIn"}else{if(e===undefined||(e&&e.isComponent)){e=b.getShowAnimation()}}if(e){b.beforeShowAnimation();b.on({beforehiddenchange:"animateFn",scope:b,single:true,args:[e]})}b.setHidden(false);if(!e&&b.isFloated()&&b.isCentered()){b.renderElement.show();b.center()}}if(!c){a=b.getModal();if(a){a.setHidden(false)}}return b},beforeShowAnimation:function(){var b=this,a=b.element;if(a){b.renderElement.show();a.removeCls(b.hiddenCls);if(b.isFloated()&&b.isCentered()){b.center()}}},onAnimationStart:function(e,d){var b=this,a=d.from.transform,c=d.to.transform;if(b.isFloated()&&a&&c&&!(a.translateX|c.translateX|a.translateY|c.translateY)){a.translateX=c.translateX=b.getX();a.translateY=c.translateY=b.getY()}},animateFn:function(e,c,g,b,a){var d=this;if(e&&(!g||(g&&d.isPainted()))){e=d.activeAnimation=new Ext.fx.Animation(e);e.setElement(c.element);e.on({animationstart:d.onAnimationStart,scope:d,single:true});if(!Ext.isEmpty(g)){e.setOnEnd(function(){d.activeAnimation=null;a.resume();if(!d.destroyed&&d.isFloated()){d.syncXYPosition()}});a.pause()}Ext.Animator.run(e)}},setVisibility:function(a){this.renderElement.setVisible(a)},isRendered:function(){return this.rendered},isPainted:function(){return this.renderElement.isPainted()},applyTpl:function(a){if(a&&!a.isTemplate){a=new Ext.XTemplate(a)}return a},applyData:function(a){if(Ext.isObject(a)){return Ext.apply({},a)}else{if(!a){a={}}}return a},updateData:function(c){var d=this;if(c){var b=d.getTpl(),a=d.getTplWriteMode();if(b){b[a](d.getInnerHtmlElement(),c)}this.fireEvent("updatedata",d,c)}},applyRecord:function(a){if(a&&Ext.isObject(a)&&a.isModel){return a}return null},updateRecord:function(b,a){var c=this;if(a){a.unjoin(c)}if(!b){c.updateData("")}else{b.join(c);c.updateData(b.getData(true))}},afterEdit:function(){this.updateRecord(this.getRecord())},afterErase:function(){this.setRecord(null)},getXTypes:function(){return this.xtypesChain.join("/")},getDraggableBehavior:function(){var a=this.draggableBehavior;if(!a){a=this.draggableBehavior=new Ext.behavior.Draggable(this)}return a},applyDraggable:function(a){if(a){this.getDraggableBehavior().setConfig(a)}},getDraggable:function(){return this.getDraggableBehavior().getDraggable()},translateAxis:function(b,d,c){var a,e;if(b==="x"){a=d}else{e=d}return this.translate(a,e,c)},showBy:function(c,e,b){var d=this,a=Ext.Viewport;if(!d.isVisible()){d.setVisibility(false);if(a){if(d.getParent()!==a){a.add(d)}d.on({hide:"onShowByErased",destroy:"onShowByErased",single:true,scope:d});a.on("resize","onViewportResize",d,{args:[c,e,b]})}d.show();d.setVisibility(true)}d.alignTo(c,e,b)},onAdded:function(b,a){var d=this,c;d.callParent([b,a]);if(!d.isFloated()){c=d.getModal();if(c){b.insertBefore(c,d);c.setZIndex(d.getZIndex()-1)}}},onViewportResize:function(b,c,a){this.alignTo(b,c,a)},onShowByErased:function(){Ext.Viewport.un("resize","onViewportResize",this)},applyTooltip:function(a){if(a){if(typeof a==="string"){a={html:a}}else{a=Ext.apply({},a)}if(a.autoCreate||a.autoHide===false){delete a.autoCreate;a.target=this;a.xtype=a.xtype||"tooltip";a=Ext.create(a)}else{delete a.xtype}}return a},updateTooltip:function(c,a){var b,d;if(a){if(a.isInstance){Ext.destroy(a)}else{d=Ext.fly(a.target);b=d&&d.getData(true);if(b){delete b.qtip}}}if(c&&!c.isInstance){Ext.fly(this.el).getData().qtip=c}},applyModal:function(c,b){if(this.isFloated()){return !!c}var a=true;if(c===false){c=true;a=false}b=Ext.factory(c,Ext.Mask,typeof b==="boolean"?null:b);if(b){b.setVisibility(a)}return b},updateModal:function(c){var b=this,a=b.getParent(),e=(b.floatWrap||b.element).dom,d;if(b.isFloated()){if(c){if(b.isVisible()&&!e.nextSibling){b.showModalMask()}}else{d=b.getFloatedStack("{getModal()}{isVisible()}")[0];if(d){d.showModalMask()}else{b.hideModalMask()}}}else{if(a){if(c){a.insertBefore(c,b);c.setZIndex(b.getZIndex()-1)}else{a.remove(c)}}}},updateHideOnMaskTap:function(b){if(!this.isFloated()){var a=this.getModal();if(a){a[b?"on":"un"].call(a,"tap","hide",this)}}},applyHideAnimation:function(a){if(a===true){a={type:"fadeOut"}}if(Ext.isString(a)){a={type:a}}return a?Ext.factory(a,Ext.fx.Animation):null},applyShowAnimation:function(a){if(a===true){a={type:"fadeIn"}}if(Ext.isString(a)){a={type:a}}return a?Ext.factory(a,Ext.fx.Animation):null},doDestroy:function(){var a=this;if(a.isVisible()){a.hide()}if(a.hasListeners.destroy){a.fireEvent("destroy",a)}Ext.destroy(a.getModal(),a.innerHtmlElement,a.scrollerElement,a.getScrollable(),a.getShowAnimation(),a.getHideAnimation());a.setPlugins(null);a.setRecord(null);a.setTooltip(null);a.callParent()},privates:{doAddListener:function(d,h,g,c,a,b,e){if(d=="painted"||d=="resize"){this.element.doAddListener(d,h,g||this,c,a)}this.callParent([d,h,g,c,a,b,e])},doRemoveListener:function(a,c,b){if(a=="painted"||a=="resize"){this.element.doRemoveListener(a,c,b)}this.callParent([a,c,b])}},deprecated:{"6.2.0":{methods:{resetFloating:"resetPositioned"}}}},function(){});Ext.define("Ext.ProgressBase",{mixinId:"progressbase",config:{value:0,textTpl:null},applyTextTpl:function(a){if(!a.isTemplate){a=new Ext.XTemplate(a)}return a},applyValue:function(a){return a||0}});Ext.define("Ext.Progress",{extend:Ext.Gadget,xtype:["progress","progressbarwidget"],alternateClassName:"Ext.ProgressBarWidget",mixins:[Ext.ProgressBase],config:{text:null,animate:false},cachedConfig:{baseCls:Ext.baseCSSPrefix+"progress",textCls:Ext.baseCSSPrefix+"progress-text",cls:null},template:[{reference:"backgroundEl"},{reference:"barEl",children:[{reference:"textEl"}]}],defaultBindProperty:"value",updateCls:function(a,c){var b=this.element;if(c){b.removeCls(c)}if(a){b.addCls(a)}},updateUi:function(e,d){var c=this.element,a=this.barEl,b=this.getBaseCls()+"-";if(d){c.removeCls(b+d);a.removeCls(b+"bar-"+d)}c.addCls(b+e);a.addCls(b+"bar-"+e)},updateBaseCls:function(b,a){this.element.addCls(b);this.barEl.addCls(b+"-bar")},updateTextCls:function(a){this.backgroundEl.addCls(a+" "+a+"-back");this.textEl.addCls(a)},updateValue:function(e,b){var d=this,a=d.barEl,c=d.getTextTpl();if(c){d.setText(c.apply({value:e,percent:Math.round(e*100)}))}if(d.getAnimate()){a.stopAnimation();a.animate(Ext.apply({from:{width:(b*100)+"%"},to:{width:(e*100)+"%"}},d.animate))}else{a.setStyle("width",(e*100)+"%")}},updateText:function(a){this.backgroundEl.setHtml(a);this.textEl.setHtml(a)}});Ext.define("Ext.overrides.Progress",{override:"Ext.Progress",initialize:function(){this.callParent();this.on("painted","onPainted");this.on("resize","onResize")},onPainted:function(){this.syncWidth()},onResize:function(a,b){this.syncWidth(b.contentWidth)},syncWidth:function(a){var b=this;if(a==null){a=b.element.getWidth()}b.backgroundEl.setWidth(a);b.textEl.setWidth(a)}});Ext.define("Ext.app.EventDomain",{statics:{instances:{}},isEventDomain:true,isInstance:false,constructor:function(){var a=this;if(!a.isInstance){Ext.app.EventDomain.instances[a.type]=a}a.bus={};a.monitoredClasses=[]},dispatch:function(j,n,l){n=Ext.canonicalEventName(n);var m=this,k=m.bus,o=k[n],e,c,b,d,p,h,g,a;if(!o){return true}for(e in o){if(o.hasOwnProperty(e)&&m.match(j,e,m.controller)){c=o[e];for(b in c){if(c.hasOwnProperty(b)){d=c[b];if(d.controller.isActive()){p=d.list;h=p.length;for(g=0;g<h;g++){a=p[g];if(a.fire.apply(a,l)===false){return false}}}}}}}return true},listen:function(d,n){var w=this,m=w.bus,h=w.idProperty,j=w.monitoredClasses,e=j.length,l=n.getId(),v=(w.type==="component"),q=v?n.getRefMap():null,s,k,t,r,b,c,a,p,o,u,g;for(r in d){o=d[r];if(v){r=q[r]||r}if(o){if(h){r=r==="*"?r:r.substring(1)}for(u in o){b=null;c=o[u];a=n;u=Ext.canonicalEventName(u);p=new Ext.util.Event(n,u);if(Ext.isObject(c)){b=c;c=b.fn;a=b.scope||n;delete b.fn;delete b.scope}if(typeof c==="string"){c=a[c]}p.addListener(c,a,b);for(s=0;s<e;++s){g=j[s].hasListeners;if(g){g._incr_(u)}}k=m[u]||(m[u]={});k=k[r]||(k[r]={});t=k[l]||(k[l]={controller:n,list:[]});t.list.push(p)}}}},match:function(c,a){var b=this.idProperty;if(b){return a==="*"||c[b]===a}return false},monitor:function(c){var b=this,a=c.isInstance?c:c.prototype,d=a.doFireEvent;b.monitoredClasses.push(c);a.doFireEvent=function(i,g){var h=this,e;e=d.apply(h,arguments);if(e!==false&&!h.destroyed&&!h.isSuspended(i)){e=b.dispatch(h,i,g)}return e}},unlisten:function(d){var n=this.bus,a=d,r=this.monitoredClasses,l=r.length,b,o,s,m,q,e,p,k,h,c,g;if(d.isController){a=d.getId()}for(o in n){o=Ext.canonicalEventName(o);if(n.hasOwnProperty(o)&&(p=n[o])){for(e in p){b=p[e];c=b[a];if(c){s=c.list;if(s){for(k=0,m=s.length;k<m;++k){q=s[k];q.clearListeners();for(h=0;h<l;++h){g=r[h].hasListeners;if(g){g._decr_(q.name)}}}delete b[a]}}}}}},destroy:function(){this.monitoredClasses=this.bus=null;this.callParent()}});Ext.define("Ext.app.domain.Component",{extend:Ext.app.EventDomain,singleton:true,type:"component",constructor:function(){this.callParent();this.monitor(Ext.Widget)},dispatch:function(g,d,c){var b=g.lookupController(false),e,a;while(b){e=b.compDomain;if(e){if(e.dispatch(g,d,c)===false){return false}}a=b.getView();b=a?a.lookupController(true):null}return this.callParent(arguments)},match:function(b,a){return b.is(a)}});Ext.define("Ext.app.EventBus",{singleton:true,constructor:function(){var b=this,a=Ext.app.EventDomain.instances;b.callParent();b.domains=a;b.bus=a.component.bus},control:function(b,a){return this.domains.component.listen(b,a)},listen:function(d,b){var a=this.domains,c;for(c in d){if(d.hasOwnProperty(c)){a[c].listen(d[c],b)}}},unlisten:function(c){var a=Ext.app.EventDomain.instances,b;for(b in a){a[b].unlisten(c)}}});Ext.define("Ext.app.domain.Global",{extend:Ext.app.EventDomain,singleton:true,type:"global",constructor:function(){var a=this;a.callParent();a.monitor(Ext.GlobalEvents)},listen:function(b,a){this.callParent([{global:b},a])},match:Ext.returnTrue});Ext.define("Ext.app.BaseController",{mixins:[Ext.mixin.Observable],isController:true,config:{id:undefined,control:null,listen:null,routes:null,before:null},constructor:function(a){var b=this;Ext.apply(b,a);delete b.control;delete b.listen;b.eventbus=Ext.app.EventBus;b.mixins.observable.constructor.call(b,a)},updateId:function(a){this.id=a},applyListen:function(a){if(Ext.isObject(a)){a=Ext.clone(a)}return a},applyControl:function(a){if(Ext.isObject(a)){a=Ext.clone(a)}return a},updateControl:function(a){this.getId();if(a){this.control(a)}},updateListen:function(a){this.getId();if(a){this.listen(a)}},updateRoutes:function(b){if(b){var e=this,g=e.getBefore()||{},a=Ext.app.route.Router,d,c,h;for(d in b){c=b[d];if(Ext.isString(c)){c={action:c}}h=c.action;if(!c.before){c.before=g[h]}a.connect(d,c,e)}}},isActive:function(){return true},control:function(b,c,a){var d=this,e=a,g;if(Ext.isString(b)){g={};g[b]=c}else{g=b;e=c}d.eventbus.control(g,e||d)},listen:function(b,a){this.eventbus.listen(b,a||this)},destroy:function(){var b=this,a=b.eventbus;Ext.app.route.Router.disconnectAll(b);if(a){a.unlisten(b);b.eventbus=null}b.callParent()},redirectTo:function(c,d){if(c.isModel){c=c.toUrl()}var a=Ext.util.History.getToken()===c,b=false;if(!a){b=true;Ext.util.History.add(c)}else{if(d){b=true;Ext.app.route.Router.onStateChange(c)}}return b}});Ext.define("Ext.app.Util",{},function(){Ext.apply(Ext.app,{namespaces:{Ext:{}},addNamespaces:function(c){var d=Ext.app.namespaces,b,a;if(!Ext.isArray(c)){c=[c]}for(b=0,a=c.length;b<a;b++){d[c[b]]=true}},clearNamespaces:function(){Ext.app.namespaces={}},getNamespace:function(b){var d=Ext.apply({},Ext.ClassManager.paths,Ext.app.namespaces),a="",c;for(c in d){if(d.hasOwnProperty(c)&&c.length>a.length&&(c+"."===b.substring(0,c.length+1))){a=c}}return a===""?undefined:a},setupPaths:function(a,b,e){var d=Ext.manifest,c;if(a&&b!==null){d=d&&d.paths;if(!d||b!==undefined){Ext.Loader.setPath(a,(b===undefined)?"app":b)}}if(e){for(c in e){if(e.hasOwnProperty(c)){Ext.Loader.setPath(c,e[c])}}}}});Ext.getNamespace=Ext.app.getNamespace});Ext.define("Ext.util.Filter",{isFilter:true,config:{property:null,value:null,filterFn:null,id:null,anyMatch:false,exactMatch:false,caseSensitive:false,disabled:false,disableOnEmpty:false,operator:null,root:null,serializer:null,convert:null},scope:null,$configStrict:false,statics:{createFilterFn:function(a){if(!a){return Ext.returnTrue}return function(g){var b=a.isCollection?a.items:a,h=b.length,c=true,d,e;for(d=0;c&&d<h;d++){e=b[d];if(!e.getDisabled()){c=e.filter(g)}}return c}},isEqual:function(b,a){if(b.getProperty()!==a.getProperty()){return false}if(b.getOperator()!==a.getOperator()){return false}if(b.getValue()===a.getValue()){return true}else{if(Ext.isArray(b)&&Ext.isArray(a)&&Ext.Array.equals(b,a)){return true}}return false},isInvalid:function(a){if(!a.filterFn){if(!a.property){return"A Filter requires either a property or a filterFn to be set"}if(!a.hasOwnProperty("value")&&!a.operator){return"A Filter requires either a property and value, or a filterFn to be set"}}return false}},constructor:function(a){this.initConfig(a)},preventConvert:{"in":1,notin:1},filter:function(b){var a=this,e=a._filterFn||a.getFilterFn(),d=a.getConvert(),c=a._value;a._filterValue=c;a.isDateValue=Ext.isDate(c);if(a.isDateValue){a.dateValue=c.getTime()}if(d&&!a.preventConvert[a.getOperator()]){a._filterValue=d.call(a.scope||a,c)}return e.call(a.scope||a,b)},getId:function(){var a=this._id;if(!a){a=this.getProperty();if(!a){a=Ext.id(null,"ext-filter-")}this._id=a}return a},getFilterFn:function(){var b=this,c=b._filterFn,a;if(!c){a=b.getOperator();if(a){c=b.operatorFns[a]}else{c=b.createRegexFilter()}b._filterFn=c;b.generatedFilterFn=true}return c},createRegexFilter:function(){var b=this,e=!!b.getAnyMatch(),a=!!b.getExactMatch(),c=b.getValue(),d=Ext.String.createRegex(c,!e,!e&&a,!b.getCaseSensitive());return function(g){var h=b.getPropertyValue(g);return d?d.test(h):(h==null)}},getPropertyValue:function(b){var a=this._root,c=(a==null)?b:b[a];return c[this._property]},getState:function(){var c=this.getInitialConfig(),a={},b;for(b in c){if(c.hasOwnProperty(b)){a[b]=c[b]}}delete a.root;a.value=this.getValue();return a},getScope:function(){return this.scope},serialize:function(){var a=this.getState(),b=this.getSerializer(),c;delete a.id;delete a.serializer;if(b){c=b.call(this,a);if(c){a=c}}return a},updateOperator:function(){if(this.generatedFilterFn){this._filterFn=null}},updateValue:function(a){if(this.generatedFilterFn){this._filterFn=null}if(this.getDisableOnEmpty()){this.setDisabled(Ext.isEmpty(a))}},updateFilterFn:function(a){delete this.generatedFilterFn},updateDisableOnEmpty:function(a){if(a){this.setDisabled(Ext.isEmpty(this.getValue()))}},privates:{getCandidateValue:function(c,b,e){var d=this,g=d._convert,a=d.getPropertyValue(c);if(g){a=g.call(d.scope||d,a)}else{if(!e){a=Ext.coerce(a,b)}}return a}}},function(){var a=this.prototype,b=(a.operatorFns={"<":function(d){var c=this._filterValue;return this.getCandidateValue(d,c)<c},"<=":function(d){var c=this._filterValue;return this.getCandidateValue(d,c)<=c},"=":function(d){var e=this,c=e._filterValue;d=e.getCandidateValue(d,c);if(e.isDateValue&&d instanceof Date){d=d.getTime();c=e.dateValue}return d==c},"===":function(d){var e=this,c=e._filterValue;d=e.getCandidateValue(d,c,true);if(e.isDateValue&&d instanceof Date){d=d.getTime();c=e.dateValue}return d===c},">=":function(d){var c=this._filterValue;return this.getCandidateValue(d,c)>=c},">":function(d){var c=this._filterValue;return this.getCandidateValue(d,c)>c},"!=":function(d){var e=this,c=e._filterValue;d=e.getCandidateValue(d,c);if(e.isDateValue&&d instanceof Date){d=d.getTime();c=e.dateValue}return d!=c},"!==":function(d){var e=this,c=e._filterValue;d=e.getCandidateValue(d,c,true);if(e.isDateValue&&d instanceof Date){d=d.getTime();c=e.dateValue}return d!==c},"in":function(d){var c=this._filterValue;return Ext.Array.contains(c,this.getCandidateValue(d,c))},notin:function(d){var c=this._filterValue;return !Ext.Array.contains(c,this.getCandidateValue(d,c))},like:function(d){var c=this._filterValue;return c&&this.getCandidateValue(d,c).toLowerCase().indexOf(c.toLowerCase())>-1},"/=":function(d){var g=this,c=g._filterValue;d=g.getCandidateValue(d,c);if(c!==g.lastRegExpSource){g.lastRegExpSource=c;try{g.regex=new RegExp(c,"i")}catch(h){g.regex=null}}return g.regex?g.regex.test(d):false}});b["=="]=b["="];b.gt=b[">"];b.ge=b[">="];b.lt=b["<"];b.le=b["<="];b.eq=b["="];b.ne=b["!="]});Ext.define("Ext.util.Observable",{extend:Ext.mixin.Observable,$applyConfigs:true},function(a){var b=Ext.mixin.Observable;a.releaseCapture=b.releaseCapture;a.capture=b.capture;a.captureArgs=b.captureArgs;a.observe=a.observeClass=b.observe});Ext.define("Ext.util.AbstractMixedCollection",{mixins:{observable:Ext.util.Observable},isMixedCollection:true,generation:0,indexGeneration:0,constructor:function(b,a){var c=this;if(arguments.length===1&&Ext.isObject(b)){c.initialConfig=b;Ext.apply(c,b)}else{c.allowFunctions=b===true;if(a){c.getKey=a}c.initialConfig={allowFunctions:c.allowFunctions,getKey:c.getKey}}c.items=[];c.map={};c.keys=[];c.indexMap={};c.length=0;c.mixins.observable.constructor.call(c)},destroy:function(){var a=this;a.items=a.map=a.keys=a.indexMap=null;a.callParent()},allowFunctions:false,add:function(c,d){var a=this.length,b;if(arguments.length===1){b=this.insert(a,c)}else{b=this.insert(a,c,d)}return b},getKey:function(a){return a.id},replace:function(c,e){var d=this,a,b;if(arguments.length==1){e=arguments[0];c=d.getKey(e)}a=d.map[c];if(typeof c=="undefined"||c===null||typeof a=="undefined"){return d.add(c,e)}d.generation++;b=d.indexOfKey(c);d.items[b]=e;d.map[c]=e;if(d.hasListeners.replace){d.fireEvent("replace",c,a,e)}return e},reorder:function(d){var h=this,b=h.items,c=0,g=b.length,a=[],e=[],i;h.suspendEvents();for(i in d){a[d[i]]=b[i]}for(c=0;c<g;c++){if(d[c]==undefined){e.push(b[c])}}for(c=0;c<g;c++){if(a[c]==undefined){a[c]=e.shift()}}h.clear();h.addAll(a);h.resumeEvents()},updateKey:function(g,h){var d=this,e=d.map,a=d.indexOfKey(g),c=d.indexMap,b;if(a>-1){b=e[g];delete e[g];delete c[g];e[h]=b;c[h]=a;d.keys[a]=h;d.indexGeneration=++d.generation}},addAll:function(c){var b=this,a;if(arguments.length>1||Ext.isArray(c)){b.insert(b.length,arguments.length>1?arguments:c)}else{for(a in c){if(c.hasOwnProperty(a)){if(b.allowFunctions||typeof c[a]!="function"){b.add(a,c[a])}}}}},each:function(e,d){var b=Ext.Array.push([],this.items),c=0,a=b.length,g;for(;c<a;c++){g=b[c];if(e.call(d||g,g,c,a)===false){break}}},eachKey:function(e,d){var g=this.keys,b=this.items,c=0,a=g.length;for(;c<a;c++){e.call(d||window,g[c],b[c],c,a)}},findBy:function(e,d){var g=this.keys,b=this.items,c=0,a=b.length;for(;c<a;c++){if(e.call(d||window,b[c],g[c])){return b[c]}}return null},insert:function(b,c,d){var a;if(Ext.isIterable(c)){a=this.doInsert(b,c,d)}else{if(arguments.length>2){a=this.doInsert(b,[c],[d])}else{a=this.doInsert(b,[c])}a=a[0]}return a},doInsert:function(j,o,n){var l=this,b,c,g,k=o.length,a=k,e=l.hasListeners.add,d,h={},m,q,p;if(n!=null){l.useLinearSearch=true}else{n=o;o=new Array(k);for(g=0;g<k;g++){o[g]=this.getKey(n[g])}}l.suspendEvents();for(g=0;g<k;g++){b=o[g];c=l.indexOfKey(b);if(c!==-1){if(c<j){j--}l.removeAt(c)}if(b!=null){if(h[b]!=null){m=true;a--}h[b]=g}}l.resumeEvents();if(m){q=o;p=n;o=new Array(a);n=new Array(a);g=0;for(b in h){o[g]=q[h[b]];n[g]=p[h[b]];g++}k=a}d=j===l.length&&l.indexGeneration===l.generation;Ext.Array.insert(l.items,j,n);Ext.Array.insert(l.keys,j,o);l.length+=k;l.generation++;if(d){l.indexGeneration=l.generation}for(g=0;g<k;g++,j++){b=o[g];if(b!=null){l.map[b]=n[g];if(d){l.indexMap[b]=j}}if(e){l.fireEvent("add",j,n[g],b)}}return n},remove:function(d){var c=this,b,a;if(!c.useLinearSearch&&(b=c.getKey(d))){a=c.indexOfKey(b)}else{a=Ext.Array.indexOf(c.items,d)}return(a===-1)?false:c.removeAt(a)},removeAll:function(a){var c=this,b;if(a||c.hasListeners.remove){if(a){for(b=a.length-1;b>=0;--b){c.remove(a[b])}}else{while(c.length){c.removeAt(0)}}}else{c.length=c.items.length=c.keys.length=0;c.map={};c.indexMap={};c.generation++;c.indexGeneration=c.generation}},removeAt:function(a){var c=this,d,b;if(a<c.length&&a>=0){c.length--;d=c.items[a];Ext.Array.erase(c.items,a,1);b=c.keys[a];if(typeof b!="undefined"){delete c.map[b]}Ext.Array.erase(c.keys,a,1);if(c.hasListeners.remove){c.fireEvent("remove",d,b)}c.generation++;return d}return false},removeRange:function(h,a){var j=this,b,k,g,e,c,d;if(h<j.length&&h>=0){if(!a){a=1}e=Math.min(h+a,j.length);a=e-h;d=e===j.length;c=d&&j.indexGeneration===j.generation;for(g=h;g<e;g++){k=j.keys[g];if(k!=null){delete j.map[k];if(c){delete j.indexMap[k]}}}b=j.items[g-1];j.length-=a;j.generation++;if(c){j.indexGeneration=j.generation}if(d){j.items.length=j.keys.length=j.length}else{j.items.splice(h,a);j.keys.splice(h,a)}return b}return false},removeAtKey:function(b){var d=this,c=d.keys,a;if(b==null){for(a=c.length-1;a>=0;a--){if(c[a]==null){d.removeAt(a)}}}else{return d.removeAt(d.indexOfKey(b))}},getCount:function(){return this.length},indexOf:function(c){var b=this,a;if(c!=null){if(!b.useLinearSearch&&(a=b.getKey(c))){return this.indexOfKey(a)}return Ext.Array.indexOf(b.items,c)}return -1},indexOfKey:function(a){if(!this.map.hasOwnProperty(a)){return -1}if(this.indexGeneration!==this.generation){this.rebuildIndexMap()}return this.indexMap[a]},rebuildIndexMap:function(){var e=this,d=e.indexMap={},c=e.keys,a=c.length,b;for(b=0;b<a;b++){d[c[b]]=b}e.indexGeneration=e.generation},get:function(b){var d=this,a=d.map[b],c=a!==undefined?a:(typeof b=="number")?d.items[b]:undefined;return typeof c!="function"||d.allowFunctions?c:null},getAt:function(a){return this.items[a]},getByKey:function(a){return this.map[a]},contains:function(c){var b=this,a;if(c!=null){if(!b.useLinearSearch&&(a=b.getKey(c))){return this.map[a]!=null}return Ext.Array.indexOf(this.items,c)!==-1}return false},containsKey:function(a){return this.map.hasOwnProperty(a)},clear:function(){var a=this;if(a.generation){a.length=0;a.items=[];a.keys=[];a.map={};a.indexMap={};a.generation++;a.indexGeneration=a.generation}if(a.hasListeners.clear){a.fireEvent("clear")}},first:function(){return this.items[0]},last:function(){return this.items[this.length-1]},sum:function(h,b,j,a){var c=this.extractValues(h,b),g=c.length,e=0,d;j=j||0;a=(a||a===0)?a:g-1;for(d=j;d<=a;d++){e+=c[d]}return e},collect:function(k,e,h){var l=this.extractValues(k,e),a=l.length,b={},c=[],j,g,d;for(d=0;d<a;d++){j=l[d];g=String(j);if((h||!Ext.isEmpty(j))&&!b[g]){b[g]=true;c.push(j)}}return c},extractValues:function(c,a){var b=this.items;if(a){b=Ext.Array.pluck(b,a)}return Ext.Array.pluck(b,c)},hasRange:function(b,a){return(a<this.length)},getRange:function(i,b){var h=this,d=h.items,c=[],a=d.length,g,e;if(a<1){return c}if(i>b){e=true;g=i;i=b;b=g}if(i<0){i=0}if(b==null||b>=a){b=a-1}c=d.slice(i,b+1);if(e&&c.length){c.reverse()}return c},filter:function(d,c,e,a){var b=[];if(Ext.isString(d)){b.push(new Ext.util.Filter({property:d,value:c,anyMatch:e,caseSensitive:a}))}else{if(Ext.isArray(d)||d instanceof Ext.util.Filter){b=b.concat(d)}}return this.filterBy(Ext.util.Filter.createFilterFn(b))},filterBy:function(e,d){var j=this,a=new j.self(j.initialConfig),h=j.keys,b=j.items,g=b.length,c;a.getKey=j.getKey;for(c=0;c<g;c++){if(e.call(d||j,b[c],h[c])){a.add(h[c],b[c])}}a.useLinearSearch=j.useLinearSearch;return a},findIndex:function(c,b,e,d,a){if(Ext.isEmpty(b,false)){return -1}b=this.createValueMatcher(b,d,a);return this.findIndexBy(function(g){return g&&b.test(g[c])},null,e)},findIndexBy:function(e,d,j){var h=this,g=h.keys,b=h.items,c=j||0,a=b.length;for(;c<a;c++){if(e.call(d||h,b[c],g[c])){return c}}return -1},createValueMatcher:function(c,e,a,b){if(!c.exec){var d=Ext.String.escapeRegex;c=String(c);if(e===true){c=d(c)}else{c="^"+d(c);if(b===true){c+="$"}}c=new RegExp(c,a?"":"i")}return c},clone:function(){var a=this,b=new a.self(a.initialConfig);b.add(a.keys,a.items);b.useLinearSearch=a.useLinearSearch;return b}});Ext.define("Ext.util.Sorter",{isSorter:true,config:{property:null,sorterFn:null,root:null,transform:null,direction:"ASC",id:undefined},statics:{createComparator:function(b,a){a=a||0;return function(c,j){var e=b.isCollection?b.items:b,h=e.length,d,g;for(g=0;g<h;++g){d=e[g].sort(c,j);if(d){return d}}return a&&a(c,j)}}},multiplier:1,constructor:function(a){this.initConfig(a)},getId:function(){var a=this._id;if(!a){a=this.getProperty();if(!a){a=Ext.id(null,"ext-sorter-")}this._id=a}return a},sort:function(a,b){return this.multiplier*this.sortFn(a,b)},sortFn:function(d,c){var g=this,e=g._transform,b=g._root,h=g._property,a,i;if(b){d=d[b];c=c[b]}a=d[h];i=c[h];if(e){a=e(a);i=e(i)}return(a>i)?1:(a<i?-1:0)},applyDirection:function(a){return a?a:"ASC"},updateDirection:function(a){this.multiplier=(a.toUpperCase()==="DESC")?-1:1},updateProperty:function(a){if(a){delete this.sortFn}},updateSorterFn:function(a){this.sortFn=a},toggle:function(){this.setDirection(Ext.String.toggle(this.getDirection(),"ASC","DESC"))},getState:function(){var b=this,a={root:b.getRoot(),property:b.getProperty(),direction:b.getDirection()};if(b._id){a.id=b._id}return a},serialize:function(){return{property:this.getProperty(),direction:this.getDirection()}}});Ext.define("Ext.util.Sortable",{isSortable:true,$configPrefixed:false,$configStrict:false,config:{sorters:null},defaultSortDirection:"ASC",multiSortLimit:3,statics:{createComparator:function(a){return a&&a.length?function(d,c){var b=a[0].sort(d,c),g=a.length,e=1;for(;!b&&e<g;e++){b=a[e].sort.call(a[e],d,c)}return b}:function(){return 0}}},applySorters:function(c){var b=this,a=b.getSorters()||new Ext.util.MixedCollection(false,Ext.returnId);if(c){a.addAll(b.decodeSorters(c))}return a},sort:function(h,g,a,e){var b=this,i,d,c=b.getSorters();if(!c){b.setSorters(null);c=b.getSorters()}if(Ext.isArray(h)){e=a;a=g}else{if(Ext.isObject(h)){h=[h];e=a;a=g}else{if(Ext.isString(h)){i=c.get(h);if(!i){i={property:h,direction:g}}else{if(g==null){i.toggle()}else{i.setDirection(g)}}h=[i]}}}if(h&&h.length){h=b.decodeSorters(h);switch(a){case"multi":c.insert(0,h[0]);d=c.getCount()-b.multiSortLimit;if(d>0){c.removeRange(b.multiSortLimit,d)}break;case"prepend":c.insert(0,h);break;case"append":c.addAll(h);break;case undefined:case null:case"replace":c.clear();c.addAll(h);break;default:}}if(e!==false){b.fireEvent("beforesort",b,h);b.onBeforeSort(h);if(b.getSorterCount()){b.doSort(b.generateComparator())}}return h},getSorterCount:function(){return this.getSorters().items.length},generateComparator:function(){var a=this.getSorters().getRange();return a.length?this.createComparator(a):this.emptyComparator},emptyComparator:function(){return 0},onBeforeSort:Ext.emptyFn,decodeSorters:function(g){if(!Ext.isArray(g)){if(g===undefined){g=[]}else{g=[g]}}var d=g.length,h=Ext.util.Sorter,b=this.getModel?this.getModel():this.model,e,a,c;for(c=0;c<d;c++){a=g[c];if(!(a instanceof h)){if(Ext.isString(a)){a={property:a}}Ext.applyIf(a,{root:this.sortRoot,direction:"ASC"});if(a.fn){a.sorterFn=a.fn}if(typeof a=="function"){a={sorterFn:a}}if(b&&!a.transform){e=b.getField(a.property);a.transform=e&&e.sortType!==Ext.identityFn?e.sortType:undefined}g[c]=new Ext.util.Sorter(a)}}return g},getFirstSorter:function(){var c=this.getSorters().items,a=c.length,b=0,d;for(;b<a;++b){d=c[b];if(!d.isGrouper){return d}}return null}},function(){this.prototype.createComparator=this.createComparator});Ext.define("Ext.util.MixedCollection",{extend:Ext.util.AbstractMixedCollection,mixins:{sortable:Ext.util.Sortable},constructor:function(){this.initConfig();this.callParent(arguments)},doSort:function(a){this.sortBy(a)},_sort:function(m,b,l){var k=this,e,g,d=String(b).toUpperCase()=="DESC"?-1:1,j=[],n=k.keys,h=k.items,a;l=l||function(i,c){return i-c};for(e=0,g=h.length;e<g;e++){j[j.length]={key:n[e],value:h[e],index:e}}Ext.Array.sort(j,function(i,c){return l(i[m],c[m])*d||(i.index<c.index?-1:1)});for(e=0,g=j.length;e<g;e++){a=j[e];h[e]=a.value;n[e]=a.key;k.indexMap[a.key]=e}k.generation++;k.indexGeneration=k.generation;k.fireEvent("sort",k)},sortBy:function(b){var j=this,a=j.items,h,g=j.keys,d,e=a.length,c;for(c=0;c<e;c++){a[c].$extCollectionIndex=c}Ext.Array.sort(a,function(k,i){return b(k,i)||(k.$extCollectionIndex<i.$extCollectionIndex?-1:1)});for(c=0;c<e;c++){h=a[c];d=j.getKey(h);g[c]=d;j.indexMap[d]=c;delete h.$extCollectionIndex}j.generation++;j.indexGeneration=j.generation;j.fireEvent("sort",j,a,g)},findInsertionIndex:function(e,d){var g=this,b=g.items,i=0,a=b.length-1,c,h;if(!d){d=g.generateComparator()}while(i<=a){c=(i+a)>>1;h=d(e,b[c]);if(h>=0){i=c+1}else{if(h<0){a=c-1}}}return i},reorder:function(a){this.callParent([a]);this.fireEvent("sort",this)},sortByKey:function(a,b){this._sort("key",a,b||function(d,c){var g=String(d).toUpperCase(),e=String(c).toUpperCase();return g>e?1:(g<e?-1:0)})}});Ext.define("Ext.util.CollectionKey",{mixins:[Ext.mixin.Identifiable],isCollectionKey:true,observerPriority:-200,config:{collection:null,keyFn:null,property:null,rootProperty:null,unique:true},generation:0,map:null,mapRebuilds:0,constructor:function(a){this.initConfig(a)},get:function(a){var b=this.map||this.getMap();return b[a]||null},clear:function(){this.map=null},getRootProperty:function(){var b=this,a=this.callParent();return a!==null?a:b.getCollection().getRootProperty()},indexOf:function(k,e){var a=this.map||this.getMap(),l=a[k],g=this.getCollection(),b=g.length,d,h,j,c;if(!l){return -1}if(e===undefined){e=-1}if(l instanceof Array){j=l;h=b;for(c=j.length;c-->0;){d=g.indexOf(j[c]);if(d<h&&d>e){h=d}}if(h===b){return -1}}else{h=g.indexOf(l)}return(h>e)?h:-1},updateKey:function(c,e){var b=this,d=b.map,g,a;if(d){g=d[e];if(g instanceof Array){a=Ext.Array.indexOf(g,c);if(a>=0){if(g.length>2){g.splice(a,1)}else{d[e]=g[1-a]}}}else{if(g){delete d[e]}}b.add([c])}},onCollectionAdd:function(b,a){if(this.map){this.add(a.items)}},onCollectionItemChange:function(b,a){this.map=null},onCollectionRefresh:function(){this.map=null},onCollectionRemove:function(e,d){var h=this,a=h.map,g=d.items,b=g.length,c,k,j;if(a){if(h.getUnique()&&b<e.length/2){for(c=0;c<b;++c){j=h.getKey(k=g[c]);delete a[j]}}else{h.map=null}}},add:function(g){var h=this,a=h.map,b,e,k,j,c,d;c=g.length;d=h.getUnique();for(e=0;e<c;++e){j=h.getKey(k=g[e]);if(d||!(j in a)){a[j]=k}else{if(!((b=a[j]) instanceof Array)){a[j]=b=[b]}b.push(k)}}},applyKeyFn:function(a){if(Ext.isString(a)){this.getKey=function(b){return b[a]()}}else{this.getKey=a}},updateProperty:function(b){var a=this.getRootProperty();this.getKey=function(c){return(a?c[a]:c)[b]}},getMap:function(){var a=this,b=a.map;if(!b){a.map=b={};a.keysByItemKey={};++a.mapRebuilds;a.add(a.getCollection().items)}return b},updateCollection:function(a){a.addObserver(this)},clone:function(){return new Ext.util.CollectionKey(this.getCurrentConfig())}});Ext.define("Ext.util.Grouper",{extend:Ext.util.Sorter,isGrouper:true,config:{groupFn:null,sortProperty:null},constructor:function(a){this.callParent(arguments)},getGroupString:function(a){var b=this._groupFn(a);return(b!=null)?String(b):""},sortFn:function(d,c){var g=this,b=g._groupFn(d),e=g._groupFn(c),j=g._sortProperty,i=g._root,h=g._sorterFn,a=g._transform;if(b===e){return 0}if(j||h){if(h){return h.call(this,d,c)}if(i){d=d[i];c=c[i]}b=d[j];e=c[j];if(a){b=a(b);e=a(e)}}return(b>e)?1:(b<e?-1:0)},standardGroupFn:function(b){var a=this._root;return(a?b[a]:b)[this._property]},updateSorterFn:function(){},updateProperty:function(){if(!this.getGroupFn()){this.setGroupFn(this.standardGroupFn)}}});Ext.define("Ext.util.Collection",{mixins:[Ext.mixin.Observable],isCollection:true,config:{autoFilter:true,autoSort:true,autoGroup:true,decoder:null,extraKeys:null,filters:null,grouper:null,groups:null,rootProperty:null,sorters:null,multiSortLimit:3,defaultSortDirection:"ASC",source:null,trackGroups:true},generation:0,indices:null,indexRebuilds:0,updating:0,grouped:false,sorted:false,filtered:false,$endUpdatePriority:1001,manageSorters:true,constructor:function(a){var b=this;b.items=[];b.map={};b.length=0;if(a&&a.keyFn){b.getKey=a.keyFn}b.mixins.observable.constructor.call(b,a)},destroy:function(){var c=this,b=c._filters,d=c._sorters,a=c._groups;if(b){b.destroy();c._filters=null}if(d){c.grouped=c.sorted=false;c.setSorters(null);if(c.manageSorters){d.destroy()}}if(a){a.destroy();c._groups=null}c.setSource(null);c.observers=c.items=c.map=null;c.callParent()},add:function(d){var c=this,a=c.decodeItems(arguments,0),b=a;if(a.length){c.splice(c.length,0,a);b=(a.length===1)?a[0]:a}return b},replaceAll:function(){var c=this,b,a;a=c.decodeItems(arguments,0);b=a;if(a.length){c.splice(0,c.length,a);b=(a.length===1)?a[0]:a}else{c.removeAll()}return b},aggregate:function(h,b,e,a,d){var g=this,c=Ext.Array.slice(arguments);c.unshift(g.items);return g.aggregateItems.apply(g,c)},aggregateByGroup:function(d,b,c){var a=this.getGroups();return this.aggregateGroups(a,d,b,c)},aggregateItems:function(l,r,d,a,e,s){var m=this,k=Ext.Number.clipIndices(l.length,[a,e]),b=(a!==0&&e!==l.length),h,g,c,n,p,q,o;a=k[0];e=k[1];if(!Ext.isFunction(d)){d=m._aggregators[d];return d.call(m,l,a,e,r,m.getRootProperty())}n=m.getRootProperty();q=new Array(c);o=b?new Array(c):l;for(h=a,g=0;h<e;++h,g++){if(b){o[g]=p=l[h]}q[g]=(n?p[n]:p)[r]}return d.call(s||m,l,q,0)},aggregateGroups:function(a,k,c,l){var h=a.items,g=h.length,b=!Ext.isFunction(c),d={},e,j,m;for(e=0;e<g;++e){j=h[e];if(!b){m=this.aggregateItems(j.items,k,c,null,null,l)}else{m=j[c](k)}d[j.getGroupKey()]=m}return d},beginUpdate:function(){if(!this.updating++){this.notify("beginupdate")}},clear:function(){var c=this,d=c.generation,a=d?c.items:[],b,e;if(d){c.items=[];c.length=0;c.map={};c.indices={};c.generation++;b=c.getExtraKeys();if(b){for(e in b){b[e].clear()}}}return a},clone:function(){var a=this,b=new a.self(a.initialConfig);b.add(a.items);return b},collect:function(l,g,j){var e=this.items,b=e.length,a={},d=[],c,h,k;for(c=0;c<b;++c){k=e[c];k=(g?k[g]:k)[l];h=String(k);if((j||!Ext.isEmpty(k))&&!a[h]){a[h]=1;d.push(k)}}return d},contains:function(c){var a=false,b;if(c!=null){b=this.getKey(c);a=this.map[b]===c}return a},containsKey:function(a){return a in this.map},createFiltered:function(o,n,e,k,d){var j=this,g=new j.self(j.initialConfig),m=j.getRootProperty(),h=j.items,b,c,a,l,p;if(Ext.isFunction(o)){l=o;p=n}else{if(Ext.isString(o)){a=[new Ext.util.Filter({property:o,value:n,root:m,anyMatch:e,caseSensitive:k,exactMatch:d})]}else{if(o instanceof Ext.util.Filter){a=[o];o.setRoot(m)}else{if(Ext.isArray(o)){a=o.slice(0);for(c=0,b=a.length;c<b;++c){a[c].setRoot(m)}}}}l=Ext.util.Filter.createFilterFn(a)}p=p||j;for(c=0,b=h.length;c<b;c++){if(l.call(p,h[c])){g.add(h[c])}}return g},filterBy:function(b,a){return this.createFiltered(b,a)},each:function(g,e){var b=this.items,a=b.length,d,c;if(a){e=e||this;b=b.slice(0);for(d=0;d<a;d++){c=g.call(e,b[d],d,a);if(c===false){break}}}return c},eachKey:function(g,k){var e=this,d=e.items,b=d.length,a,j,h,c;if(b){k=k||e;d=d.slice(0);for(a=0;a<b;a++){h=e.getKey(j=d[a]);c=g.call(k,h,j,a,b);if(c===false){break}}}return c},endUpdate:function(){if(!--this.updating){this.notify("endupdate")}},find:function(h,g,i,d,c,b){if(Ext.isEmpty(g,false)){return null}var e=Ext.String.createRegex(g,d,c,b),a=this.getRootProperty();return this.findBy(function(j){return j&&e.test((a?j[a]:j)[h])},null,i)},findBy:function(g,k,a){var e=this,d=e.items,c=d.length,b,j,h;k=k||e;for(b=a||0;b<c;b++){h=e.getKey(j=d[b]);if(g.call(k,j,h)){return d[b]}}return null},findIndex:function(g,e,h,c,b,a){var d=this.find(g,e,h,c,b,a);return d?this.indexOf(d):-1},findIndexBy:function(b,a,d){var c=this.findBy(b,a,d);return c?this.indexOf(c):-1},first:function(b){var a=b?this.getGroups():undefined;return a?this.aggregateGroups(a,null,"first"):this.items[0]},last:function(b){var a=b?this.getGroups():undefined;return a?this.aggregateGroups(a,null,"last"):this.items[this.length-1]},get:function(a){return this.map[a]},getAt:function(a){return this.items[a]},getByKey:function(a){return this.map[a]},getCount:function(){return this.length},getKey:function(a){var b=a.id;return(b===0||b)?b:((b=a._id)===0||b)?b:a.getId()},getRange:function(d,a){var c=this.items,e=c.length,b;if(!e){b=[]}else{b=Ext.Number.clipIndices(e,[d,a]);b=c.slice(b[0],b[1])}return b},getValues:function(k,h,a,b){var g=this.items,d=Ext.Number.clipIndices(g.length,[a,b]),e=[],c,j;for(c=d[0],b=d[1];c<b;++c){j=g[c];j=(h?j[h]:j)[k];e.push(j)}return e},indexOf:function(b){if(!b){return -1}var a=this.getKey(b);return this.indexOfKey(a)},indexOfKey:function(a){var b=this,c=b.indices;if(a in b.map){if(!c){c=b.getIndices()}return c[a]}return -1},insert:function(c,e){var d=this,a=d.decodeItems(arguments,1),b=a;if(a.length){d.splice(c,0,a);b=(a.length===1)?a[0]:a}return b},itemChanged:function(u,i,m,n){var v=this,c=m===0||!!m,j=v.filtered&&v.getAutoFilter(),e=false,d=0,p=v.items,l=v.length-1,a=v.sorted&&l>0&&v.getAutoSort(),r=v.getSource(),q=0,k=false,o=false,t,s,g,w,h,b;if(r&&!r.updating){r.itemChanged(u,i,m,n)}else{s=v.getKey(u);if(j){h=v.indexOfKey(c?m:s);o=(h<0);k=v.isItemFiltered(u);e=(o!==k)}if(e){if(k){q=[u];b=-1}else{w=[u];b=v.length}}else{if(a&&!k){if(!j){h=v.indexOfKey(c?m:s)}g=v.getSortFn();if(h!==-1){if(h&&g(p[h-1],p[h])>0){d=-1;b=Ext.Array.binarySearch(p,u,0,h,g)}else{if(h<l&&g(p[h],p[h+1])>0){d=1;b=Ext.Array.binarySearch(p,u,h+1,g)}}if(d){w=[u]}}}}t={item:u,key:s,index:b,filterChanged:e,keyChanged:c,indexChanged:!!d,filtered:k,oldIndex:h,newIndex:b,wasFiltered:o,meta:n};if(c){t.oldKey=m}if(i){t.modified=i}v.beginUpdate();v.notify("beforeitemchange",[t]);if(c){v.updateKey(u,m)}if(w||q){v.splice(b,q,w)}if(d>0){t.newIndex--}else{if(d<0){t.oldIndex++}}v.notify(k?"filtereditemchange":"itemchange",[t]);v.endUpdate()}},remove:function(d){var c=this,a=c.decodeRemoveItems(arguments,0),b=c.length;c.splice(0,a);return b-c.length},removeAll:function(){var b=this,a=b.length;if(b.generation&&a){b.splice(0,a)}return b},removeAt:function(i,h){var j=this,b=j.length,e=Ext.Number,d=e.clipIndices(b,[i,(h===undefined)?1:h],e.Clip.COUNT),c=d[0],a=d[1]-c,k=(a===1)&&j.getAt(c),g;j.splice(c,a);g=j.length-b;return(k&&g)?k:g},removeByKey:function(a){var b=this.getByKey(a);if(!b||!this.remove(b)){return false}return b},replace:function(b){var a=this.indexOf(b);if(a===-1){this.add(b)}else{this.insert(a,b)}},splice:function(E,o,C){var m=this,d=m.sorted&&m.getAutoSort(),A=m.map,s=m.items,q=m.length,w=(o instanceof Array)?m.decodeRemoveItems(o):null,x=!w,F=Ext.Number,e=F.clipIndices(q,[E,x?o:0],F.Clip.COUNT),h=e[0],l=e[1],L=l-h,u=m.decodeItems(arguments,2),K=u?u.length:0,D,y,v,c=h,b=m.indices||((K||w)?m.getIndices():null),r=null,j=L?[h]:null,g=null,t=m.getSource(),a,H,I,N,B,G,M,p,z,J,P,O;if(t&&!t.updating){if(x){w=[];for(N=0;N<L;++N){w.push(s[h+N])}}if(h<q){N=t.indexOf(s[h])}else{N=t.length}m.requestedIndex=E;t.splice(N,w,u);delete m.requestedIndex;return m}if(K){D=u;g=[];y={};if(d){O=m.getSorters();if(K>1){if(!D.$cloned){u=D=D.slice(0)}m.sortData(D)}}for(N=0;N<K;++N){p=m.getKey(B=u[N]);if((M=y[p])!==undefined){(P||(P={}))[M]=1}else{G=b[p];if(G<h||l<=G){(j||(j=[])).push(G)}}y[p]=N;g.push(p)}if(P){z=g;D=[];g=[];D.$cloned=true;for(N=0;N<K;++N){if(!P[N]){B=u[N];D.push(B);g.push(z[N])}}K=D.length}r={items:D,keys:g}}for(N=w?w.length:0;N-->0;){p=m.getKey(w[N]);if((G=b[p])!==undefined){(j||(j=[])).push(G)}}if(!r&&!j){return m}m.beginUpdate();if(j){a=null;I=[];v={};if(j.length>1){j.sort(Ext.Array.numericSortFn)}for(N=0,J=j.length;N<J;++N){p=m.getKey(B=s[G=j[N]]);if(!(p in A)){continue}delete A[p];if(!a||G>(a.at+H.length)){I.push(a={at:G,items:(H=[]),keys:(z=[]),map:v,next:a,replacement:r});if(r){r.replaced=a}}H.push(v[p]=B);z.push(p);if(G<c-1){--c}if(L>1&&G===h){--L;j[N--]=++h}}if(r){r.at=c}for(M=I.length;M-->0;){a=I[M];N=a.at;J=a.items.length;if(N+J<q){m.indices=b=null}m.length=q-=J;s.splice(N,J);if(b){z=a.keys;for(N=0;N<J;++N){delete b[z[N]]}}++m.generation;m.notify("remove",[a])}}if(r){if(d&&K>1&&q){m.spliceMerge(D,g)}else{if(d){if(K>1){c=0;m.indices=b=null}else{c=O.findInsertionIndex(r.items[0],s,m.getSortFn(),E)}}if(c===q){l=c;for(N=D.length-1;N>=0;--N){s[l+N]=D[N]}b=m.indices;if(b){for(N=0;N<K;++N){b[g[N]]=c+N}}}else{m.indices=null;Ext.Array.insert(s,c,D)}for(N=0;N<K;++N){A[g[N]]=D[N]}m.length+=K;r.at=c;r.atItem=c===0?null:s[c-1];++m.generation;m.notify("add",[r])}}m.endUpdate();return m},update:function(b,a){var c=this;c.beginUpdate();try{return b.call(a||c,c)}catch(d){throw d}finally{c.endUpdate()}},updateKey:function(b,e){var a=this,d=a.map,h=a.indices,c=a.getSource(),g;if(c&&!c.updating){c.updateKey(b,e)}else{if((g=a.getKey(b))!==e){if(d[e]===b&&!(g in d)){delete d[e];a.updating++;a.generation++;d[g]=b;if(h){h[g]=h[e];delete h[e]}a.notify("updatekey",[{item:b,newKey:g,oldKey:e}]);a.updating--}}}},findInsertIndex:function(d){var e=this.getSource(),g=e.items,b=e.indexOf(d)-1,c,a;while(b>-1){c=g[b];a=this.indexOf(c);if(a>-1){return a+1}--b}return 0},onCollectionAdd:function(a,b){var l=this,o=b.atItem,k=b.items,g=l.requestedIndex,j,h,c,e,m,d;if(!l.sorted){if(g!==undefined){h=g}else{if(o){h=l.indexOf(o);if(h===-1){h=l.findInsertIndex(k[0])}else{++h}}else{h=0}}}if(l.getAutoFilter()&&l.filtered){for(e=0,d=k.length;e<d;++e){m=k[e];if(l.isItemFiltered(m)){if(!c){c=k.slice(0,e)}if(!j){j=[]}j.push(m)}else{if(c){c.push(m)}}}}l.splice((h<0)?l.length:h,0,c||k);if(j){l.notify("filteradd",[j])}},onCollectionBeforeItemChange:function(b,a){this.onCollectionUpdateKey=null},onCollectionBeginUpdate:function(){this.beginUpdate()},onCollectionEndUpdate:function(){this.endUpdate()},onCollectionItemChange:function(b,a){delete this.onCollectionUpdateKey;this.itemChanged(a.item,a.modified,a.oldKey,a.meta)},onCollectionFilteredItemChange:null,onCollectionRefresh:function(a){var g=this,b={},j={},d,k,e,h,c;e=a.items;e=g.filtered&&g.getAutoFilter()?Ext.Array.filter(e,g.getFilterFn()):e.slice(0);if(g.sorted){g.sortData(e)}g.items=e;g.length=c=e.length;g.map=b;g.indices=j;for(d=0;d<c;++d){h=g.getKey(k=e[d]);b[h]=k;j[h]=d}g.notify("refresh")},onCollectionRemove:function(b,a){this.splice(0,a.items)},onCollectionUpdateKey:function(b,a){this.updateKey(a.item,a.oldKey)},_aggregators:{average:function(c,d,b,e,a){var g=b-d;return g&&this._aggregators.sum.call(this,c,d,b,e,a)/g},bounds:function(e,a,b,k,g){for(var j,h,c,d=a;d<b;++d){j=e[d];j=(g?j[g]:j)[k];if(!(j<h)){h=j}if(!(j>c)){c=j}}return[c,h]},count:function(a){return a.length},extremes:function(g,a,c,m,k){var h=null,b=null,e,n,j,d,l;for(e=a;e<c;++e){n=g[e];l=(k?n[k]:n)[m];if(!(l<j)){j=l;h=n}if(!(l>d)){d=l;b=n}}return[b,h]},max:function(e,g,d,h,c){var a=this._aggregators.bounds.call(this,e,g,d,h,c);return a[1]},maxItem:function(e,g,d,h,c){var a=this._aggregators.extremes.call(this,e,g,d,h,c);return a[1]},min:function(e,g,d,h,c){var a=this._aggregators.bounds.call(this,e,g,d,h,c);return a[0]},minItem:function(e,g,d,h,c){var a=this._aggregators.extremes.call(this,e,g,d,h,c);return a[0]},sum:function(c,g,b,j,a){for(var h,e=0,d=g;d<b;++d){h=c[d];h=(a?h[a]:h)[j];e+=h}return e}},_eventToMethodMap:{add:"onCollectionAdd",beforeitemchange:"onCollectionBeforeItemChange",beginupdate:"onCollectionBeginUpdate",endupdate:"onCollectionEndUpdate",itemchange:"onCollectionItemChange",filtereditemchange:"onCollectionFilteredItemChange",refresh:"onCollectionRefresh",remove:"onCollectionRemove",beforesort:"beforeCollectionSort",sort:"onCollectionSort",filter:"onCollectionFilter",filteradd:"onCollectionFilterAdd",updatekey:"onCollectionUpdateKey"},addObserver:function(a){var b=this,c=b.observers;if(!c){b.observers=c=[]}if(b.notifying){b.observers=c=c.slice(0)}c.push(a);if(c.length>1){Ext.Array.sort(c,b.prioritySortFn)}},prioritySortFn:function(g,e){var d=g.observerPriority||0,c=e.observerPriority||0;return d-c},applyExtraKeys:function(e,a){var g=this,d=a||{},c,b,h;for(b in e){h=e[b];if(!h.isCollectionKey){c={collection:g};if(Ext.isString(h)){c.property=h}else{c=Ext.apply(c,h)}h=new Ext.util.CollectionKey(c)}else{h.setCollection(g)}d[b]=g[b]=h;h.name=b}return d},applyGrouper:function(a){if(a){a=this.getSorters().decodeSorter(a,"Ext.util.Grouper")}return a},decodeItems:function(d,c){var g=this,b=(c===undefined)?d:d[c],a,h,e;if(!b||!b.$cloned){a=d.length>c+1||!Ext.isIterable(b);if(a){b=Ext.Array.slice(d,c);if(b.length===1&&b[0]===undefined){b.length=0}}h=g.getDecoder();if(h){if(!a){b=b.slice(0);a=true}for(e=b.length;e-->0;){if((b[e]=h.call(g,b[e]))===false){b.splice(e,1)}}}if(a){b.$cloned=true}}return b},getIndices:function(){var d=this,e=d.indices,a=d.items,g=a.length,c,b;if(!e){d.indices=e={};++d.indexRebuilds;for(c=0;c<g;++c){b=d.getKey(a[c]);e[b]=c}}return e},notify:function(d,h){var i=this,c=i.observers,k=i._eventToMethodMap[d],j=0,e,b,a,g;h=h||[];if(c&&k){i.notifying=true;for(e=0,b=c.length;e<b;++e){a=(g=c[e])[k];if(a){if(!j++){h.unshift(i)}a.apply(g,h)}}i.notifying=false}if(!i.hasListeners){return}if(i.hasListeners[d]){if(!j){h.unshift(i)}i.fireEventArgs(d,h)}},getFilterFn:function(){return this.getFilters().getFilterFn()},getFilters:function(b){var a=this._filters;if(!a&&b!==false){a=new Ext.util.FilterCollection();this.setFilters(a)}return a},isItemFiltered:function(a){return !this.getFilters().filterFn(a)},onFilterChange:function(e){var d=this,g=d.getSource(),c,b,a;if(!g){c=d.getExtraKeys();if(c){b={};for(a in c){b[a]=c[a].clone(d)}}g=new Ext.util.Collection({keyFn:d.getKey,extraKeys:b,rootProperty:d.getRootProperty()});if(d.length){g.add(d.items)}d.setSource(g);d.autoSource=g}else{if(g.length||d.length){d.onCollectionRefresh(g)}}d.notify("filter")},applyFilters:function(a,b){if(!a||a.isFilterCollection){return a}if(a){if(!b){b=this.getFilters()}b.splice(0,b.length,a)}return b},updateFilters:function(a,b){var c=this;if(b){b.un("endupdate","onEndUpdateFilters",c)}if(a){a.on({endupdate:"onEndUpdateFilters",scope:c,priority:c.$endUpdatePriority});a.$filterable=c}c.onEndUpdateFilters(a)},onEndUpdateFilters:function(c){var b=this,d=b.filtered,a=!!c&&(c.length>0);if(d||a){b.filtered=a;b.onFilterChange(c)}},getSortFn:function(){return this._sortFn||this.createSortFn()},getSorters:function(b){var a=this._sorters;if(!a&&b!==false){a=new Ext.util.SorterCollection();this.setSorters(a)}return a},onSortChange:function(){if(this.sorted){this.sortItems()}},sort:function(a,c,d){var b=this.getSorters();b.addSort.apply(b,arguments);return this},sortData:function(a){Ext.Array.sort(a,this.getSortFn());return a},sortItems:function(b){var a=this;if(a.sorted){b=a.getSortFn()}a.indices=null;a.notify("beforesort",[a.getSorters(false)]);if(a.length){Ext.Array.sort(a.items,b)}a.notify("sort")},sortBy:function(a){return this.sortItems(a)},findInsertionIndex:function(g,b,e,d){var h,c,a;b=b||this.items;e=e||this.getSortFn();a=b.length;if(d<a){h=d>0?e(b[d-1],g):0;c=d<a-1?e(g,b[d]):0;if(h<1&&c<1){return d}}return Ext.Array.binarySearch(b,g,e)},applySorters:function(a,b){if(!a||a.isSorterCollection){return a}if(a){if(!b){b=this.getSorters()}b.splice(0,b.length,a)}return b},createSortFn:function(){var c=this,a=c.getGrouper(),d=c.getSorters(false),b=d?d.getSortFn():null;if(!a){return b}return function(e,h){var g=a.sort(e,h);if(!g&&b){g=b(e,h)}return g}},updateGrouper:function(b){var c=this,a=c.getGroups(),e=c.getSorters(),d;c.onSorterChange();c.grouped=!!b;if(b){if(c.getTrackGroups()){if(!a){a=new Ext.util.GroupCollection({itemRoot:c.getRootProperty()});a.$groupable=c;c.setGroups(a)}a.setGrouper(b);d=true}}else{if(a){c.removeObserver(a);a.destroy()}c.setGroups(null)}if(!e.updating){c.onEndUpdateSorters(e)}if(d){a.onCollectionRefresh(c)}},updateSorters:function(a,b){var c=this;if(b&&!b.destroyed){b.un("endupdate","onEndUpdateSorters",c)}if(a){a.on({endupdate:"onEndUpdateSorters",scope:c,priority:c.$endUpdatePriority});a.$sortable=c}c.onSorterChange();c.onEndUpdateSorters(a)},onSorterChange:function(){this._sortFn=null},onEndUpdateSorters:function(c){var b=this,d=b.sorted,a=(b.grouped&&b.getAutoGroup())||(c&&c.length>0);if(d||a){b.sorted=!!a;b.onSortChange(c)}},removeObserver:function(a){var b=this.observers;if(b){Ext.Array.remove(b,a)}},spliceMerge:function(k,s){var r=this,q=r.map,g=k.length,c=0,l=r.items,t=l.length,j=[],h=0,n=[],d=r.getSortFn(),m,b,o,e,p,a;r.items=n;for(a=0;a<g;a=b){e=k[a];for(;c<t;++c){if(d(e,p=l[c])<0){break}n.push(p)}if(c===t){j[h++]={at:n.length,itemAt:n[n.length-1],items:(m=[])};if(h>1){j[h-2].next=j[h-1]}for(;a<g;++a){m.push(e=k[a]);n.push(e)}break}j[h++]={at:n.length,itemAt:n[n.length-1],items:(m=[e])};if(h>1){j[h-2].next=j[h-1]}n.push(e);for(b=a+1;b<g;++b){if(d(e=k[b],p)>=0){break}n.push(e);m.push(e)}}for(;c<t;++c){n.push(l[c])}for(o=0;o<g;++o){q[s[o]]=k[o]}r.length=n.length;++r.generation;r.indices=null;for(o=0;o<h;++o){r.notify("add",[j[o]])}},getGroups:function(){return this.callParent()||null},updateAutoGroup:function(b){var a=this.getGroups();if(a){a.setAutoGroup(b)}this.onEndUpdateSorters(this._sorters)},updateGroups:function(a,b){if(b){this.removeObserver(b)}if(a){this.addObserver(a)}},updateSource:function(b,a){var c=this.autoSource;if(a){if(!a.destroyed){a.removeObserver(this)}if(a===c){c.destroy();this.autoSource=null}}if(b){b.addObserver(this);if(b.length||this.length){this.onCollectionRefresh(b)}}}},function(){var a=this.prototype;a.removeAtKey=a.removeByKey;a.decodeRemoveItems=a.decodeItems;Ext.Object.each(a._aggregators,function(b){a[b]=function(e,d,c){return this.aggregate(e,b,d,c)};a[b+"ByGroup"]=function(c){return this.aggregateByGroup(c,b)}})});Ext.define("Ext.util.ObjectTemplate",{isObjectTemplate:true,excludeProperties:{},valueRe:/^[{][a-z\.]+[}]$/i,statics:{create:function(b,a){return b.isObjectTemplate?b:new Ext.util.ObjectTemplate(b,a)}},constructor:function(b,a){Ext.apply(this,a);this.template=b},apply:function(a){var b=this;delete b.apply;b.apply=b.compile(b.template);return b.apply(a)},privates:{compile:function(e){var g=this,b=g.excludeProperties,h,c,a,d;if(Ext.isString(e)){if(e.indexOf("{")<0){d=function(){return e}}else{if(g.valueRe.test(e)){e=e.substring(1,e.length-1).split(".");d=function(l){for(var j=l,k=0;j&&k<e.length;++k){j=j[e[k]]}return j}}else{e=new Ext.XTemplate(e);d=function(i){return e.apply(i)}}}}else{if(!e||Ext.isPrimitive(e)||Ext.isFunction(e)){d=function(){return e}}else{if(e instanceof Array){h=[];for(c=0,a=e.length;c<a;++c){h[c]=g.compile(e[c])}d=function(l){var j=[],k;for(k=0;k<a;++k){j[k]=h[k](l)}return j}}else{h={};for(c in e){if(!b[c]){h[c]=g.compile(e[c])}}d=function(m){var k={},l,j;for(l in e){j=b[l]?e[l]:h[l](m);if(j!==undefined){k[l]=j}}return k}}}}return d}}});Ext.define("Ext.data.schema.Role",{isRole:true,left:true,owner:false,side:"left",isMany:false,defaultReaderType:"json",_internalReadOptions:{recordsOnly:true,asRoot:true},constructor:function(b,c){var d=this,a=c.extra;Ext.apply(d,c);if(a){a=Ext.apply({},a);delete a.type;Ext.apply(d,a);delete d.extra}d.association=b;if(b.owner===d.side){b.owner=d;d.owner=true}},processUpdate:function(){Ext.raise('Only the "many" for an association may be processed. "'+this.role+'" is not valid.')},processLoad:function(b,c,a,d){return a},checkMembership:Ext.emptyFn,adoptAssociated:function(b,c){var a=this.getAssociatedItem(b);if(a){c.adopt(a)}},$roleFilterId:"$associationRoleFilter",createAssociationStore:function(g,l,e,m){var i=this,d=i.association,h=d.getFieldName(),j=d.isManyToMany,b=i.storeConfig,a=l.getId(),c={asynchronousLoad:false,model:i.cls,role:i,session:g,associatedEntity:l,disableMetaChangeEvent:true,pageSize:null,remoteFilter:true,trackRemoved:!g},k;if(j){c.filters=[{id:i.$roleFilterId,property:i.inverse.field,value:a,exactMatch:true}]}else{if(h){c.filters=[{id:i.$roleFilterId,property:h,value:a,exactMatch:true}];c.foreignKeyName=h}}if(b){Ext.apply(c,b)}k=Ext.Factory.store(c);i.onStoreCreate(k,g,a);if(h||(j&&g)){k.on({scope:i,add:"onAddToMany",remove:"onRemoveFromMany",clear:"onRemoveFromMany"})}if(e){k.loadData(e)}k.complete=!!m;return k},onStoreCreate:Ext.emptyFn,getAssociatedStore:function(q,e,b,s,u){var w=this,o=w.getStoreName(),g=q[o],a=q.session,l=e&&e.reload,p=q.$source,h=false,m=false,k,c,r,t,n,j,d,v;if(!g){if(a){if(p){m=p.phantom}if(!s&&p){d=p[o];if(d&&!d.isLoading()){s=[];n=d.getData().items;for(r=0,t=n.length;r<t;++r){j=n[r];s.push(a.getRecord(j.self,j.id))}h=!!d.complete;k=true}}if(!k){v=!!s;s=w.findRecords(a,q,s,u);if(!v&&(!s||!s.length)){s=null}h=m||v}}else{h=!!s}g=w.createAssociationStore(a,q,s,h||q.phantom);g.$source=d;if(!s&&(w.autoLoad||e)){l=true}q[o]=g}if(e){if(l||g.isLoading()){g.on("load",function(y,x,z,i){c=[y,i];b=b||e.scope||q;if(z){Ext.callback(e.success,b,c)}else{Ext.callback(e.failure,b,c)}c.push(z);Ext.callback(e,b,c);Ext.callback(e.callback,b,c)},null,{single:true})}else{c=[g,null];b=b||e.scope||q;Ext.callback(e.success,b,c);c.push(true);Ext.callback(e,b,c);Ext.callback(e.callback,b,c)}}if(l&&!g.isLoading()){g.load()}return g},getAssociatedItem:function(b){var a=this.isMany?this.getStoreName():this.getInstanceName();return b[a]||null},onDrop:Ext.emptyFn,onIdChanged:Ext.emptyFn,getReaderRoot:function(){var a=this;return a.associationKey||(a.associationKey=a.association.schema.getNamer().readerRoot(a.role))},getReader:function(){var c=this,a=c.reader,d=c.cls,e=!c.associationKey,b=this.getReaderRoot();if(a&&!a.isReader){if(Ext.isString(a)){a={type:a}}Ext.applyIf(a,{model:d,rootProperty:b,useSimpleAccessors:e,type:c.defaultReaderType});a=c.reader=Ext.createByAlias("reader."+a.type,a)}return a},getInstanceName:function(){var a=this;return a.instanceName||(a.instanceName=a.association.schema.getNamer().instanceName(a.role))},getOldInstanceName:function(){return this.oldInstanceName||(this.oldInstanceName="$old"+this.getInstanceName())},getStoreName:function(){var a=this;return a.storeName||(a.storeName=a.association.schema.getNamer().storeName(a.role))},constructReader:function(e){var g=this,a=g.getReader(),h=g.cls,i=!g.associationKey,b=g.getReaderRoot(),c,d;if(!a){d=h.getProxy();if(d){c=d.getReader();a=new c.self();a.copyFrom(c);a.setRootProperty(b)}else{a=new e.self({model:h,useSimpleAccessors:i,rootProperty:b})}g.reader=a}return a},read:function(c,g,d,e){var a=this.constructReader(d),b=a.getRoot(g);if(b){return a.readRecords(b,e,this._internalReadOptions)}},getCallbackOptions:function(a,b,c){if(typeof a==="function"){a={callback:a,scope:b||c}}else{if(a){a=Ext.apply({},a);a.scope=b||a.scope||c}}return a},doGetFK:function(b,n,l){var i=this,m=i.cls,e=i.association.getFieldName(),k=i.getInstanceName(),j=b[k],a=n&&n.reload,d=j!==undefined&&!a,h=b.session,c,g;if(!d){if(h){c=b.get(e);if(c||c===0){d=h.peekRecord(m,c,true)&&!a;j=h.getRecord(m,c,false)}else{d=true;b[k]=j=null}}else{if(e){c=b.get(e);if(!c&&c!==0){d=true;b[k]=j=null}else{if(!j){j=m.createWithId(c)}}}else{d=true;j=null}}}else{if(j){d=!j.isLoading()}}if(d){if(n){g=[j,null];l=l||n.scope||b;Ext.callback(n.success,l,g);g.push(true);Ext.callback(n,l,g);Ext.callback(n.callback,l,g)}}else{b[k]=j;n=i.getCallbackOptions(n,l,b);j.load(n)}return j},doSetFK:function(a,j,n,m){var i=this,g=i.association.getFieldName(),k=i.getInstanceName(),e=a[k],c=i.inverse,d=c.setterName,h=a.session,l,b;if(j&&j.isEntity){if(e!==j){b=i.getOldInstanceName();a[b]=e;a[k]=j;if(e&&e.isEntity){e[c.getInstanceName()]=undefined}if(g){a.set(g,j.getId())}delete a[b];a.onAssociatedRecordSet(j,i);if(d){j[d](a)}}}else{l=(a.changingKey&&!c.isMany)||a.set(g,j);if(l&&e&&e.isEntity&&!e.isEqual(e.getId(),j)){a[k]=undefined;if(!c.isMany){e[c.getInstanceName()]=undefined}}}if(n){if(Ext.isFunction(n)){n={callback:n,scope:m||a}}return a.save(n)}}});Ext.define("Ext.data.schema.Association",{isOneToOne:false,isManyToOne:false,isManyToMany:false,owner:null,field:null,constructor:function(a){var c=this,d,b;Ext.apply(c,a);c.left=d=new c.Left(c,c.left);c.right=b=new c.Right(c,c.right);d.inverse=b;b.inverse=d},hasField:function(){return !!this.field},getFieldName:function(){var a=this.field;return a?a.name:""}});Ext.define("Ext.data.schema.OneToOne",{extend:Ext.data.schema.Association,isOneToOne:true,isToOne:true,kind:"one-to-one",Left:Ext.define(null,{extend:"Ext.data.schema.Role",onDrop:function(a,b){var c=this.getAssociatedItem(a);a[this.getInstanceName()]=null;if(c){c[this.inverse.getInstanceName()]=null}},onIdChanged:function(a,c,b){var e=this.getAssociatedItem(a),d=this.association.getFieldName();if(!a.session&&e&&d){e.set(d,b)}},createGetter:function(){var a=this;return function(){return a.doGet(this)}},createSetter:function(){var a=this;return function(b){return a.doSet(this,b)}},doGet:function(a){var b=this.getInstanceName(),c=a[b],d=a.session;if(!c&&d){}return c||null},doSet:function(a,e){var b=this.getInstanceName(),d=a[b],c=this.inverse.setterName;if(d!==e){a[b]=e;if(c){e[c](a)}a.onAssociatedRecordSet(e,this)}return d},read:function(a,d,b,e){var c=this,g=c.callParent([a,d,b,e]),h;if(g){h=g[0];if(h){h[c.inverse.getInstanceName()]=a;a[c.getInstanceName()]=h;delete a.data[c.role]}}}}),Right:Ext.define(null,{extend:"Ext.data.schema.Role",left:false,side:"right",createGetter:function(){var a=this;return function(b,c){return a.doGetFK(this,b,c)}},createSetter:function(){var a=this;return function(d,b,c){return a.doSetFK(this,d,b,c)}},onDrop:function(g,d){var b=this,c=b.association.field,a=b.getAssociatedItem(g),e;if(b.inverse.owner){if(d&&c){e=g.get(c.name);if(e||e===0){a=d.getEntry(b.cls,e).record;if(a){a.drop()}}}else{if(a){a.drop()}}}if(c){g.set(c.name,null)}g[b.getInstanceName()]=null;if(a){a[b.inverse.getInstanceName()]=null}},onValueChange:function(i,h,g){var e=this,a=i[e.getOldInstanceName()]||e.getAssociatedItem(i),d=g||g===0,c=e.getInstanceName(),b=e.cls;i.changingKey=true;e.doSetFK(i,g);if(!d){i[c]=null}else{if(h&&b){i[c]=h.peekRecord(b,g)||undefined}}if(e.inverse.owner&&a){e.association.schema.queueKeyCheck(a,e)}i.changingKey=false},checkKeyForDrop:function(a){var b=this.inverse.getAssociatedItem(a);if(!b){a.drop()}},read:function(d,e,p,g){var j=this,n=j.callParent([d,e,p,g]),k,m,o,i,l,b,c,a,h;if(n){k=n[0];m=j.association.field;if(m){o=m.name}i=d.session;h=d.data;if(k){if(i){l=i.getRefs(k,this.inverse,true);a=(l&&l[d.id])||(h[o]===undefined)}else{a=true}if(a){if(m){c=h[o];b=k.id;if(c!==b){h[o]=b;if(i){i.updateReference(d,m,b,c)}}}k[j.inverse.getInstanceName()]=d;d[j.getInstanceName()]=k}delete h[j.role]}}}})});Ext.define("Ext.data.schema.ManyToOne",{extend:Ext.data.schema.Association,isManyToOne:true,isToOne:true,kind:"many-to-one",Left:Ext.define(null,{extend:"Ext.data.schema.Role",isMany:true,onDrop:function(h,e){var g=this,k=g.getAssociatedItem(h),b,d,c,j,a;if(k){b=k.removeAll();if(b&&g.inverse.owner){for(c=0,d=b.length;c<d;++c){b[c].drop()}}k.destroy();h[g.getStoreName()]=null}else{if(e){b=e.getRefs(h,g);if(b){for(a in b){b[a].drop()}}}}},onIdChanged:function(h,b,c){var k=this.association.getFieldName(),j=this.getAssociatedItem(h),d,e,g,a;if(j){a=j.getFilters().get(this.$roleFilterId);if(a){a.setValue(c)}if(!h.session&&k){d=j.getDataSource().items;for(e=0,g=d.length;e<g;++e){d[e].set(k,c)}}}},processUpdate:function(g,b){var h=this,d=h.inverse.cls,e=b.R,a,i,j,c;if(e){for(a in e){i=g.peekRecord(d,a);if(i){c=g.getEntityList(h.cls,e[a]);j=h.getAssociatedItem(i);if(j){j.loadData(c);j.complete=true}else{i[h.getterName](null,null,c)}}else{g.onInvalidAssociationEntity(d,a)}}}},findRecords:function(j,k,d,o){var h=d,l=j.getRefs(k,this,true),m=this.association.field,n,c,b,e,g,a;if(m&&(l||o)){n=m.name;h=[];if(d){a={};for(e=0,g=d.length;e<g;++e){c=d[e];b=c.id;if(l&&l[b]){h.push(c)}else{if(o&&c.data[n]===undefined){h.push(c);c.data[n]=k.id;j.updateReference(c,m,k.id,undefined)}}a[b]=true}}if(l){for(b in l){if(!a||!a[b]){h.push(l[b])}}}}return h},processLoad:function(b,a,e,d){var c=e;if(d){c=this.findRecords(d,a,e,true)}this.onLoadMany(a,c,d);return c},adoptAssociated:function(b,g){var c=this.getAssociatedItem(b),e,d,a;if(c){c.setSession(g);e=c.getData().items;for(d=0,a=e.length;d<a;++d){g.adopt(e[d])}}},createGetter:function(){var a=this;return function(b,c,d){return a.getAssociatedStore(this,b,c,d,true)}},createSetter:null,onAddToMany:function(a,b){this.syncFK(b,a.getAssociatedEntity(),false)},onLoadMany:function(l,e,k){var n=this.inverse.getInstanceName(),b=l.getId(),m=this.association.field,h,j,d,c,g,a;if(m){for(h=0,j=e.length;h<j;++h){d=e[h];d[n]=l;if(m){a=m.name;g=d.data;c=g[a];if(c!==b){g[a]=b;if(k){k.updateReference(d,m,b,c)}}}}}},onRemoveFromMany:function(a,b){this.syncFK(b,a.getAssociatedEntity(),true)},read:function(h,a,l,c){var g=this,k=g.inverse.getInstanceName(),b=g.callParent([h,a,l,c]),j,e,d;if(b){j=h[g.getterName](null,null,b);delete h.data[g.role];b=j.getData().items;for(d=0,e=b.length;d<e;++d){b[d][k]=h}}},syncFK:function(e,l,m){var k=this.association.getFieldName(),h=this.inverse,g=h.setterName,n=h.getInstanceName(),j=e.length,b=l.getId(),a,d,c;while(j-->0){d=e[j];a=!d.isEqual(b,d.get(k));c=m?null:l;if(a!==m){d.changingKey=true;d[g](c);d.changingKey=false}else{d[n]=c}}}}),Right:Ext.define(null,{extend:"Ext.data.schema.Role",left:false,side:"right",onDrop:function(c,b){var a=this.association.field;if(a){c.set(a.name,null)}c[this.getInstanceName()]=null},createGetter:function(){var a=this;return function(b,c){return a.doGetFK(this,b,c)}},createSetter:function(){var a=this;return function(b,c,d){return a.doSetFK(this,b,c,d)}},checkMembership:function(c,d){var b=this.association.field,a;if(b){a=this.getSessionStore(c,d.get(b.name));if(a&&!a.contains(d)){a.add(d)}}},onValueChange:function(d,h,b,a){var j=this,m=j.getInstanceName(),o=j.cls,c,n,l,e,k,g;if(!d.changingKey){c=b||b===0;if(!c){d[m]=null}if(h){l=j.getSessionStore(h,a);if(l){l.remove(d)}if(c){l=j.getSessionStore(h,b);if(l&&!l.isLoading()){l.add(d)}if(o){g=h.peekRecord(o,b)}d[m]=g||undefined}}else{n=d.joined;if(n){for(e=n.length-1;e>=0;e--){l=n[e];if(l.isStore){k=l.getAssociatedEntity();if(k&&k.self===j.cls&&k.getId()===a){l.remove(d)}}}}}}if(j.owner&&b===null){j.association.schema.queueKeyCheck(d,j)}},checkKeyForDrop:function(b){var a=this.association.field;if(b.get(a.name)===null){b.drop()}},getSessionStore:function(c,b){var a=this.cls,d;if(a){d=c.peekRecord(a,b);if(d){return this.inverse.getAssociatedItem(d)}}},read:function(g,c,b,e){var d=this.callParent([g,c,b,e]),a;if(d){a=d[0];if(a){g[this.getInstanceName()]=a;delete g.data[this.role]}}}})});Ext.define("Ext.data.schema.ManyToMany",{extend:Ext.data.schema.Association,isManyToMany:true,isToMany:true,kind:"many-to-many",Left:Ext.define(null,{extend:"Ext.data.schema.Role",isMany:true,digitRe:/^\d+$/,findRecords:function(l,m,d){var n=l.getMatrixSlice(this.inverse,m.id),e=n.members,k=[],o=this.cls,a,h,j,b,g,c;if(d){a={};for(h=0,j=d.length;h<j;++h){c=d[h];b=c.id;g=e[b];if(!(g&&g[2]===-1)){k.push(c)}a[b]=true}}for(b in e){g=e[b];if(!a||!a[b]&&(g&&g[2]!==-1)){c=l.peekRecord(o,b);if(c){k.push(c)}}}return k},onIdChanged:function(a,d,c){var b=this.getAssociatedItem(a);if(b){b.getFilters().get(this.$roleFilterId).setValue(c)}},processLoad:function(b,a,e,d){var c=e;if(d){c=this.findRecords(d,a,e);this.onAddToMany(b,c,true)}return c},processUpdate:function(g,b){var h=this,d=h.inverse.cls,e=b.R,a,i,j,c;if(e){for(a in e){i=g.peekRecord(d,a);if(i){c=g.getEntityList(h.cls,e[a]);j=h.getAssociatedItem(i);if(j){j.loadData(c);j.complete=true}else{i[h.getterName](null,null,c)}}else{g.onInvalidAssociationEntity(d,a)}}}h.processMatrixBlock(g,b.C,1);h.processMatrixBlock(g,b.D,-1)},checkMembership:function(i,j){var k=i.getMatrix(this.association,true),h,d,e,m,n,a,c,g,b,l;if(!k){return}h=this.left?k.right:k.left;d=h.inverse.role.cls;e=this.inverse;n=h.slices;if(n){m=n[j.id];if(m){c=m.members;for(a in c){g=c[a];if(g[2]!==-1){b=i.peekRecord(d,a);if(b){l=e.getAssociatedItem(b);if(l){l.matrixUpdate=1;l.add(j);l.matrixUpdate=0}}}}}}},onStoreCreate:function(b,d,e){var c=this,a;if(d){a=d.getMatrixSlice(c.inverse,e);a.attach(b);a.notify=c.onMatrixUpdate;a.scope=c}},processMatrixBlock:function(e,d,c){var a=this.inverse,b=this.digitRe,g,h;if(d){for(h in d){if(b.test(h)){h=parseInt(h,10)}g=e.getMatrixSlice(a,h);g.update(d[h],c)}}},createGetter:function(){var a=this;return function(b,c,d){return a.getAssociatedStore(this,b,c,d,false)}},onAddToMany:function(a,c,b){if(!a.matrixUpdate){a.matrixUpdate=1;a.matrix.update(c,b===true?0:1);a.matrixUpdate=0}},onRemoveFromMany:function(b,a){if(!b.matrixUpdate){b.matrixUpdate=1;b.matrix.update(a,-1);b.matrixUpdate=0}},read:function(a,d,b,e){var c=this,g=c.callParent([a,d,b,e]);if(g){a[c.getterName](null,null,g);delete a.data[c.role]}},onMatrixUpdate:function(e,h,d){var a=e.store,b,g,c;if(a&&!a.loading&&!a.matrixUpdate){a.matrixUpdate=1;b=a.indexOfId(h);if(d<0){if(b>=0){a.remove([b])}}else{if(b<0){c=a.getSession().getEntry(this.type,h);g=c&&c.record;if(g){a.add(g)}}}a.matrixUpdate=0}},adoptAssociated:function(b,g){var d=this.getAssociatedItem(b),c,e,a;if(d){d.setSession(g);this.onStoreCreate(d,g,b.getId());c=d.getData().items;for(e=0,a=c.length;e<a;++e){g.adopt(c[e])}}}},function(){var a=this;Ext.ClassManager.onCreated(function(){Ext.data.schema.ManyToMany.prototype.Right=Ext.define(null,{extend:a,left:false,side:"right"})},null,"Ext.data.schema.ManyToMany")})});Ext.define("Ext.util.Inflector",{singleton:true,plurals:[[(/(quiz)$/i),"$1zes"],[(/^(ox)$/i),"$1en"],[(/([m|l])ouse$/i),"$1ice"],[(/(matr|vert|ind)ix|ex$/i),"$1ices"],[(/(x|ch|ss|sh)$/i),"$1es"],[(/([^aeiouy]|qu)y$/i),"$1ies"],[(/(hive)$/i),"$1s"],[(/(?:([^f])fe|([lr])f)$/i),"$1$2ves"],[(/sis$/i),"ses"],[(/([ti])um$/i),"$1a"],[(/(buffal|tomat|potat)o$/i),"$1oes"],[(/(bu)s$/i),"$1ses"],[(/(alias|status|sex)$/i),"$1es"],[(/(octop|vir)us$/i),"$1i"],[(/(ax|test)is$/i),"$1es"],[(/^(p)erson$/i),"$1eople"],[(/^(m)an$/i),"$1en"],[(/(.*)(child)(ren)?$/i),"$1$2ren"],[(/s$/i),"s"],[(/$/),"s"]],singulars:[[(/(address)$/i),"$1"],[(/(quiz)zes$/i),"$1"],[(/(matr)ices$/i),"$1ix"],[(/(vert|ind)ices$/i),"$1ex"],[(/^(ox)en/i),"$1"],[(/(alias|status)es$/i),"$1"],[(/(octop|vir)i$/i),"$1us"],[(/(cris|ax|test)es$/i),"$1is"],[(/(shoe)s$/i),"$1"],[(/(o)es$/i),"$1"],[(/(bus)es$/i),"$1"],[(/([m|l])ice$/i),"$1ouse"],[(/(x|ch|ss|sh)es$/i),"$1"],[(/(m)ovies$/i),"$1ovie"],[(/(s)eries$/i),"$1eries"],[(/([^aeiouy]|qu)ies$/i),"$1y"],[(/([lr])ves$/i),"$1f"],[(/(tive)s$/i),"$1"],[(/(hive)s$/i),"$1"],[(/([^f])ves$/i),"$1fe"],[(/(^analy)ses$/i),"$1sis"],[(/((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)ses$/i),"$1$2sis"],[(/([ti])a$/i),"$1um"],[(/(n)ews$/i),"$1ews"],[(/(p)eople$/i),"$1erson"],[(/s$/i),""]],uncountable:["sheep","fish","series","species","money","rice","information","equipment","grass","mud","offspring","deer","means"],singular:function(b,a){this.singulars.unshift([b,a])},plural:function(b,a){this.plurals.unshift([b,a])},clearSingulars:function(){this.singulars=[]},clearPlurals:function(){this.plurals=[]},isTransnumeral:function(a){return Ext.Array.indexOf(this.uncountable,a)!=-1},pluralize:function(g){if(this.isTransnumeral(g)){return g}var e=this.plurals,d=e.length,a,c,b;for(b=0;b<d;b++){a=e[b];c=a[0];if(c==g||(c.test&&c.test(g))){return g.replace(c,a[1])}}return g},singularize:function(g){if(this.isTransnumeral(g)){return g}var e=this.singulars,d=e.length,a,c,b;for(b=0;b<d;b++){a=e[b];c=a[0];if(c==g||(c.test&&c.test(g))){return g.replace(c,a[1])}}return g},classify:function(a){return Ext.String.capitalize(this.singularize(a))},ordinalize:function(d){var b=parseInt(d,10),c=b%10,a=b%100;if(11<=a&&a<=13){return d+"th"}else{switch(c){case 1:return d+"st";case 2:return d+"nd";case 3:return d+"rd";default:return d+"th"}}}},function(){var b={alumnus:"alumni",cactus:"cacti",focus:"foci",nucleus:"nuclei",radius:"radii",stimulus:"stimuli",ellipsis:"ellipses",paralysis:"paralyses",oasis:"oases",appendix:"appendices",index:"indexes",beau:"beaux",bureau:"bureaux",tableau:"tableaux",woman:"women",child:"children",man:"men",corpus:"corpora",criterion:"criteria",curriculum:"curricula",genus:"genera",memorandum:"memoranda",phenomenon:"phenomena",foot:"feet",goose:"geese",tooth:"teeth",antenna:"antennae",formula:"formulae",nebula:"nebulae",vertebra:"vertebrae",vita:"vitae"},a;for(a in b){if(b.hasOwnProperty(a)){this.plural(a,b[a]);this.singular(b[a],a)}}});Ext.define("Ext.data.schema.Namer",{mixins:[Ext.mixin.Factoryable],alias:"namer.default",isNamer:true,capitalize:function(a){return Ext.String.capitalize(a)},fieldRole:function(b){var a=b.match(this.endsWithIdRe,"");if(a){b=b.substr(0,b.length-(a[1]||a[2]).length)}return this.apply("uncapitalize",b)},idField:function(a){return this.apply("uncapitalize,singularize",a)+"Id"},instanceName:function(a){return this.apply("underscore",a)},multiRole:function(a){return this.apply("undotted,uncapitalize,pluralize",a)},pluralize:function(a){return Ext.util.Inflector.pluralize(a)},readerRoot:function(a){return this.apply("uncapitalize",a)},singularize:function(a){return Ext.util.Inflector.singularize(a)},storeName:function(a){return this.apply("underscore",a)},uncapitalize:function(a){return Ext.String.uncapitalize(a)},underscore:function(a){return"_"+a},uniRole:function(a){return this.apply("undotted,uncapitalize,singularize",a)},undotted:function(b){if(b.indexOf(".")<0){return b}var c=b.split("."),a=c.length;while(a-->1){c[a]=this.apply("capitalize",c[a])}return c.join("")},getterName:function(b){var a=b.role;if(b&&b.isMany){return a}return"get"+this.apply("capitalize",a)},inverseFieldRole:function(h,i,e,b){var g=this,a=g.apply(i?"uniRole":"multiRole",h),d=g.apply("pluralize",e),c=g.apply("undotted,pluralize",b);if(d.toLowerCase()!==c.toLowerCase()){a=e+g.apply("capitalize",a)}return a},manyToMany:function(e,d,a){var c=this,b=c.apply("undotted,capitalize,singularize",d)+c.apply("undotted,capitalize,pluralize",a);if(e){b=c.apply("capitalize",e+b)}return b},manyToOne:function(d,b,a,c){return this.apply("capitalize,singularize",a)+this.apply("capitalize",b)},matrixRole:function(c,b){var a=this.apply(c?"multiRole,capitalize":"multiRole",b);return c?c+a:a},oneToOne:function(d,b,a,c){return this.apply("undotted,capitalize,singularize",a)+this.apply("capitalize",b)},setterName:function(a){return"set"+this.apply("capitalize",a.role)},endsWithIdRe:/(?:(_id)|[^A-Z](Id))$/,cache:{},apply:function(e,c){var j=this,b=j.cache,k=b[c]||(b[c]={}),h=k[e],g,d,a;if(!h){if(e.indexOf(",")<0){h=j[e](c)}else{d=(a=e.split(",")).length;h=c;for(g=0;g<d;++g){h=j.apply(a[g],h)}}k[e]=h}return h}});Ext.define("Ext.data.schema.Schema",{mixins:[Ext.mixin.Factoryable],alias:"schema.default",aliasPrefix:"schema.",isSchema:true,type:"default",statics:{instances:{},get:function(d){var g=this,c=g.instances,h="default",b=d&&Ext.isString(d),a,e;if(d){if(d.isSchema){return d}h=b?d:(d.id||h)}if(!(a=c[h])){c[h]=a=g.create(d);a.id=h}else{if(d&&!b){e=Ext.merge({},a.config);Ext.merge(e,d);a.setConfig(e);a.config=e}}return a},lookupEntity:function(a){var d=null,g=this.instances,c,b,e;if(a){if(a.isEntity){d=a.self}else{if(Ext.isFunction(a)){d=a}else{if(Ext.isString(a)){d=Ext.ClassManager.get(a);if(d&&(!d.prototype||!d.prototype.isEntity)){d=null}if(!d){for(b in g){e=g[b];c=e.getEntity(a);if(c){if(d){Ext.raise('Ambiguous entity name "'+a+'". Defined by schema "'+d.schema.type+'" and "'+b+'"')}d=c}}}if(!d){Ext.raise('No such Entity "'+a+'".')}}}}}return d}},assocCount:0,entityCount:0,config:{defaultIdentifier:null,keyCheckDelay:10,namer:"default",namespace:null,proxy:{type:"ajax",url:"{prefix}/{entityName}"},urlPrefix:""},onClassExtended:function(a,c){var b=c.alias;if(b&&!c.type){if(!Ext.isString(b)){b=b[0]}a.prototype.type=b.substring(this.prototype.aliasPrefix.length)}},constructor:function(a){this.initConfig(a);this.clear()},applyDefaultIdentifier:function(a){return a&&Ext.Factory.dataIdentifier(a)},applyNamer:function(b){var a=Ext.data.schema.Namer.create(b);a.schema=this;return a},applyNamespace:function(b){if(b){var a=b.length-1;if(b.charAt(a)!=="."){b+="."}}return b},applyProxy:function(a){return Ext.util.ObjectTemplate.create(a)},eachAssociation:function(d,c){var b=this.associations,a;for(a in b){if(b.hasOwnProperty(a)){if(d.call(c,a,b[a])===false){break}}}},eachEntity:function(c,b){var d=this.entities,a;for(a in d){if(d.hasOwnProperty(a)){if(c.call(b,a,d[a].cls)===false){break}}}},getAssociation:function(a){var b=this.associations[a];return b||null},getEntity:function(a){var b=this.entityClasses[a]||this.entities[a];return(b&&b.cls)||null},getEntityName:function(a){var d=this.getNamespace(),c,b;if(typeof a==="string"){b=a}else{b=a.$className||null}if(b){if(d){c=d.length;if(b.substring(0,c)!==d){return b}}if(c){b=b.substring(c)}}return b},hasAssociations:function(a){a=a.entityName||a;return !!this.associationEntityMap[a]},hasEntity:function(a){var b=this.getEntityName(a);return !!(this.entities[b]||this.entityClasses[b])},addMatrix:function(n,h,d,c,r){var s=this,l=s.getNamer(),p=s.associations,a=s.entities,g=c.type,q=r.type,e=c.field||l.apply("idField",g),j=r.field||l.apply("idField",q),b=c.role||l.matrixRole(d,g),m=r.role||l.matrixRole(d,q),o,i,k;i=a[g]||(a[g]={cls:null,name:g,associations:{}});k=a[q]||(a[q]={cls:null,name:q,associations:{}});++s.assocCount;p[h]=o=new Ext.data.schema.ManyToMany({name:h,schema:s,definedBy:n,left:{cls:i.cls,type:g,role:b,field:e,associationKey:c.associationKey},right:{cls:k.cls,type:q,role:m,field:j,associationKey:r.associationKey}});i.associations[o.right.role]=o.right;k.associations[o.left.role]=o.left;if(i.cls){s.associationEntityMap[i.cls.entityName]=true}if(k.cls){s.associationEntityMap[k.cls.entityName]=true}s.decorateModel(o)},addReference:function(q,a,p,b,r){var u=this,n=u.getNamer(),d=u.entities,s=u.associations,m=q.entityName,e=p.association,j=p.child,l=p.parent,o=p.role,t=p.type||l||j,k=p.inverse,i=Ext.isString(k)?{role:k}:k,h=i&&i.role,c,g;if(!o){if(!a||p.legacy){o=n.apply("uncapitalize",t)}else{o=n.apply("fieldRole",a.name)}}if(!h){h=n.inverseFieldRole(m,b,o,t)}if(!e){if(b){e=n.oneToOne(q,h,t,o)}else{e=n.manyToOne(q,h,t,o)}}if(r&&e in s){if(r(s[e],e,h,o)!==false){return}}c=d[t]||(d[t]={cls:null,name:t,associations:{}});g=b?Ext.data.schema.OneToOne:Ext.data.schema.ManyToOne;e=new g({name:e,owner:j?"left":(l?"right":null),definedBy:q,schema:u,field:a,nullable:a?!!a.allowBlank:true,left:{cls:q,type:m,role:h,extra:i},right:{cls:c.cls,type:t,role:o,extra:p},meta:p});q.associations[o]=e.right;c.associations[h]=e.left;if(a){a.reference=e.right;q.references.push(a)}++u.assocCount;u.associationEntityMap[m]=true;if(c.cls){u.associationEntityMap[c.cls.entityName]=true}s[e.name]=e;if(e.right.cls){u.decorateModel(e)}},privates:{addEntity:function(d){var j=this,h=j.entities,l=d.entityName,m=h[l],g=d.fields,c,k,e,b,a;if(!m){h[l]=m={name:l,associations:{}}}else{c=m.associations;for(a in c){c[a].inverse.cls=d;j.associationEntityMap[l]=true;j.decorateModel(c[a].association)}}m.cls=d;d.prototype.associations=d.associations=m.associations;j.entityClasses[d.$className]=m;++j.entityCount;for(e=0,b=g.length;e<b;++e){k=g[e];if(k.reference){j.addReferenceDescr(d,k)}}},addMatrices:function(g,a){var e=this,b,d,c;if(Ext.isString(a)){e.addMatrixDescr(g,null,a)}else{if(a[0]){for(b=0,d=a.length;b<d;++b){e.addMatrixDescr(g,null,a[b])}}else{for(c in a){e.addMatrixDescr(g,c,a[c])}}}},addMatrixDescr:function(e,a,g){var h=this,j=e.entityName,d=h.associations,i=h.getNamer(),c=g.left,l=g.right,k,b;if(Ext.isString(g)){if(g.charAt(0)==="#"){c={type:j};l={type:g.substring(1)}}else{if(g.charAt(k=g.length-1)==="#"){c={type:g.substring(0,k)};l={type:j}}else{if(i.apply("multiRole",j)<i.apply("multiRole",g)){c={type:j};l={type:g}}else{c={type:g};l={type:j}}}}}else{b=g.relation;if(c||(!l&&i.apply("multiRole",j)<i.apply("multiRole",g.type))){if(!c||c===true){c={type:j}}else{c=Ext.apply({type:j},c)}l=g}else{if(!l||l===true){l={type:j}}else{l=Ext.apply({type:j},l)}c=g}}if(!a){a=i.manyToMany(b,c.type,l.type)}if(!(a in d)){h.addMatrix(e,a,b,c,l)}},addReferenceDescr:function(b,d){var a=this,c=d.$reference;if(Ext.isString(c)){c={type:c}}else{c=Ext.apply({},c)}a.addReference(b,d,c,d.unique)},addBelongsTo:function(a,b){this.addKeylessSingle(a,b,false)},addHasOne:function(a,b){this.addKeylessSingle(a,b,true)},addKeylessSingle:function(b,e,d){var a,c;e=Ext.apply({},this.checkLegacyAssociation(b,e));e.type=this.getEntityName(e.child||e.parent||e.type);a=e.foreignKey||(e.type.toLowerCase()+"_id");c=b.getField(a);e.fromSingle=true;if(c){c.$reference=e;c.unique=true;e.legacy=true}this.addReference(b,c,e,d)},addHasMany:function(e,k){var l=this,h=l.entities,b=l.pending,n,a,m,j,i,g,c,d;k=Ext.apply({},this.checkLegacyAssociation(e,k));k.type=this.getEntityName(k.child||k.parent||k.type);a=k.type;j=h[a];n=j&&j.cls;if(n){a=e.entityName;i=k.foreignKey||(a.toLowerCase()+"_id");delete k.foreignKey;d=Ext.apply({},k.inverse);delete k.inverse;g=Ext.apply({},k);delete g.type;k=Ext.apply({type:a,inverse:g},d);c=g.child;if(c){delete g.child;k.parent=a}m=n.getField(i);if(m){m.$reference=k;k.legacy=true}l.addReference(n,m,k,false)}else{if(!b[a]){b[a]=[]}b[a].push([e,k])}},checkLegacyAssociation:function(b,c){if(Ext.isString(c)){c={type:c}}else{c=Ext.apply({},c)}if(c.model){c.type=c.model;delete c.model}var a=c.associatedName||c.name;if(a){delete c.associatedName;delete c.name;c.role=a}return c},afterKeylessAssociations:function(b){var g=this.pending,c=b.entityName,e=g[c],d,a;if(e){for(d=0,a=e.length;d<a;++d){this.addHasMany.apply(this,e[d])}delete g[c]}},clear:function(b){var a=this,c=a.timer;delete a.setConfig;if(c){window.clearTimeout(c);a.timer=null}a.associations={};a.associationEntityMap={};a.entities={};a.entityClasses={};a.pending={};a.assocCount=a.entityCount=0;if(b){a.setNamespace(null)}},constructProxy:function(d){var b=this,c=Ext.Object.chain(d),a=b.getProxy();c.schema=b;c.prefix=b.getUrlPrefix();return a.apply(c)},applyDecoration:function(h){var e=this,a=h.inverse.cls,g=e.getNamer(),c,b,d;if(a&&!h.decorated){h.decorated=true;d=a.prototype;if(!(c=h.getterName)){h.getterName=c=g.getterName(h)}d[c]=h.createGetter();if(h.createSetter){if(!(b=h.setterName)){h.setterName=b=g.setterName(h)}d[b]=h.createSetter()}}},decorateModel:function(a){this.applyDecoration(a.left);this.applyDecoration(a.right)},processKeyChecks:function(d){var g=this,b=g.keyCheckQueue,h=g.timer,a,c,e;if(h){window.clearTimeout(h);g.timer=null}if(!b){return}do{b=g.keyCheckQueue;g.keyCheckQueue=[];for(c=0,a=b.length;c<a;++c){e=b[c];e.role.checkKeyForDrop(e.record)}}while(d&&g.keyCheckQueue.length)},queueKeyCheck:function(a,e){var c=this,b=c.keyCheckQueue,d=c.timer;if(!b){c.keyCheckQueue=b=[]}b.push({record:a,role:e});if(!d){c.timer=d=Ext.Function.defer(c.processKeyChecks,c.getKeyCheckDelay(),c)}},rankEntities:function(){var e=this,g=e.entities,a=Ext.Object.getKeys(g),d=a.length,c,b;e.nextRank=1;a.sort();for(b=0;b<d;++b){c=g[a[b]].cls;if(!c.rank){e.rankEntity(c)}}},rankEntity:function(c){var b=c.associations,e,d,a;for(a in b){d=b[a];if(!d.left&&d.association.field){e=d.cls;if(!e.rank){this.rankEntity(e)}}}c.rank=this.nextRank++}}});Ext.define("Ext.data.AbstractStore",{mixins:[Ext.mixin.Observable,Ext.mixin.Factoryable],factoryConfig:{defaultType:"store",type:"store"},$configPrefixed:false,$configStrict:false,config:{filters:null,autoDestroy:undefined,storeId:null,statefulFilters:false,sorters:null,remoteSort:{lazy:true,$value:false},remoteFilter:{lazy:true,$value:false},groupField:undefined,groupDir:"ASC",grouper:null,pageSize:25,autoSort:null},currentPage:1,loading:false,isStore:true,updating:0,constructor:function(b){var c=this,a;c.isInitializing=true;c.mixins.observable.constructor.call(c,b);c.isInitializing=false;a=c.getStoreId();if(!a&&(b&&b.id)){c.setStoreId(a=b.id)}if(a){Ext.data.StoreManager.register(c)}},getCount:function(){var a=this.getData();return a?a.getCount():0},rangeCached:function(b,a){return this.getData().getCount()>=Math.max(b,a)},find:function(g,e,h,i,a,d){var c=!i,b=!!(c&&d);return this.getData().findIndex(g,e,h,c,b,!a)},findRecord:function(){var b=this,a=b.find.apply(b,arguments);return a!==-1?b.getAt(a):null},findExact:function(c,a,b){return this.getData().findIndexBy(function(d){return d.isEqual(d.get(c),a)},this,b)},findBy:function(b,a,c){return this.getData().findIndexBy(b,a,c)},getAt:function(a){return this.getData().getAt(a)||null},getRange:function(d,b,c){var a=this.getData().getRange(d,Ext.isNumber(b)?b+1:b);if(c&&c.callback){c.callback.call(c.scope||this,a,d,b,c)}return a},getFilters:function(b){var a=this.callParent();if(!a&&b!==false){this.setFilters([]);a=this.callParent()}return a},applyFilters:function(b,a){var c;if(!a){a=this.createFiltersCollection();c=true}a.add(b);if(c){this.onRemoteFilterSet(a,this.getRemoteFilter())}return a},getSorters:function(b){var a=this.callParent();if(!a&&b!==false){this.setSorters([]);a=this.callParent()}return a},applySorters:function(b,a){var c;if(!a){a=this.createSortersCollection();c=true}a.add(b);if(c){this.onRemoteSortSet(a,this.getRemoteSort())}return a},filter:function(b,c,a){if(Ext.isString(b)){b={property:b,value:c}}this.suppressNextFilter=!!a;this.getFilters().add(b);this.suppressNextFilter=false},removeFilter:function(b,a){var d=this,c=d.getFilters();d.suppressNextFilter=!!a;if(b instanceof Ext.util.Filter){c.remove(b)}else{c.removeByKey(b)}d.suppressNextFilter=false},updateAutoSort:function(a){this.getData().setAutoSort(a)},updateRemoteSort:function(a){this.onRemoteSortSet(this.getSorters(false),a)},updateRemoteFilter:function(a){this.onRemoteFilterSet(this.getFilters(false),a)},addFilter:function(b,a){this.suppressNextFilter=!!a;this.getFilters().add(b);this.suppressNextFilter=false},filterBy:function(b,a){this.getFilters().add({filterFn:b,scope:a||this})},clearFilter:function(a){var c=this,b=c.getFilters(false);if(!b||b.getCount()===0){return}c.suppressNextFilter=!!a;b.removeAll();c.suppressNextFilter=false},isFiltered:function(){return this.getFilters().getCount()>0},isSorted:function(){var a=this.getSorters(false);return !!(a&&a.length>0)||this.isGrouped()},addFieldTransform:function(e){if(e.getTransform()){return}var d=e.getProperty(),c=this.getModel(),a,b;if(c){a=c.getField(d);b=a?a.getSortType():null}if(b&&b!==Ext.identityFn){e.setTransform(b)}},beginUpdate:function(){if(!this.updating++){this.fireEvent("beginupdate")}},endUpdate:function(){if(this.updating&&!--this.updating){this.fireEvent("endupdate");this.onEndUpdate()}},getState:function(){var e=this,g=[],d=e.getFilters(),b=e.getGrouper(),h,c,a;e.getSorters().each(function(i){g[g.length]=i.getState();c=true});if(e.statefulFilters&&e.saveStatefulFilters){c=true;h=[];d.each(function(i){h[h.length]=i.getState()})}if(b){c=true}if(c){a={};if(g.length){a.sorters=g}if(h){a.filters=h}if(b){a.grouper=b.getState()}}return a},applyState:function(e){var c=this,b=e.sorters,a=e.filters,d=e.grouper;if(b){c.getSorters().replaceAll(b)}if(a){c.saveStatefulFilters=true;c.getFilters().replaceAll(a)}if(d){c.setGrouper(d)}},hasPendingLoad:Ext.emptyFn,isLoaded:Ext.emptyFn,isLoading:Ext.emptyFn,destroy:function(){var a=this;if(a.hasListeners.beforedestroy){a.fireEvent("beforedestroy",a)}a.destroying=true;if(a.getStoreId()){Ext.data.StoreManager.unregister(a)}a.doDestroy();if(a.hasListeners.destroy){a.fireEvent("destroy",a)}a.destroying=false;a.callParent()},doDestroy:Ext.emptyFn,sort:function(c,b,d){var a=this;if(arguments.length===0){if(a.getRemoteSort()){a.load()}else{a.forceLocalSort()}}else{a.getSorters().addSort(c,b,d)}},onBeforeCollectionSort:function(a,b){if(b){this.fireEvent("beforesort",this,b.getRange())}},onSorterEndUpdate:function(){var a=this,b;b=a.getSorters(false);if(a.settingGroups||!b){return}b=b.getRange();if(b.length){if(a.getRemoteSort()){a.load({callback:function(){a.fireEvent("sort",a,b)}})}else{a.fireEvent("datachanged",a);a.fireEvent("refresh",a);a.fireEvent("sort",a,b)}}else{a.fireEvent("sort",a,b)}},onFilterEndUpdate:function(){var c=this,b=c.suppressNextFilter,a=c.getFilters(false);if(!a){return}if(c.getRemoteFilter()){c.currentPage=1;if(!b){c.load()}}else{if(!b){c.fireEvent("datachanged",c);c.fireEvent("refresh",c)}}if(c.trackStateChanges){c.saveStatefulFilters=true}c.fireEvent("filterchange",c,c.getFilters().getRange())},updateGroupField:function(a){if(a){this.setGrouper({property:a,direction:this.getGroupDir()})}else{this.setGrouper(null)}},getGrouper:function(){return this.getData().getGrouper()},group:function(a,d){var b=this,c=b.getSorters(false),e=a||(c&&c.length);if(a&&typeof a==="string"){a={property:a,direction:d||b.getGroupDir()}}b.settingGroups=true;b.getData().setGrouper(a);delete b.settingGroups;if(e){if(b.getRemoteSort()){b.load({scope:b,callback:b.fireGroupChange})}else{b.fireEvent("datachanged",b);b.fireEvent("refresh",b);b.fireGroupChange()}}else{b.fireGroupChange()}},fireGroupChange:function(){if(!this.destroyed){this.fireEvent("groupchange",this,this.getGrouper())}},clearGrouping:function(){this.group(null)},getGroupField:function(){var a=this.getGrouper(),b="";if(a){b=a.getProperty()}return b},isGrouped:function(){return !!this.getGrouper()},applyGrouper:function(a){this.group(a);return this.getData().getGrouper()},getGroups:function(){return this.getData().getGroups()},onEndUpdate:Ext.emptyFn,privates:{loadsSynchronously:Ext.privateFn,onRemoteFilterSet:function(a,b){if(a){a[b?"on":"un"]("endupdate",this.onFilterEndUpdate,this)}},onRemoteSortSet:function(b,c){var a=this;if(b){b[c?"on":"un"]("endupdate",a.onSorterEndUpdate,a);a.getData()[c?"un":"on"]("beforesort",a.onBeforeCollectionSort,a)}}},deprecated:{5:{methods:{destroyStore:function(){this.destroy()}}}}});Ext.define("Ext.data.Error",{isError:true,$configPrefixed:false,config:{field:null,message:""},constructor:function(a){this.initConfig(a);this.msg=this.message}});Ext.define("Ext.data.ErrorCollection",{extend:Ext.util.MixedCollection,alternateClassName:"Ext.data.Errors",init:function(g){var k=this,h=g.fields,d=g.data,m,l,n,e,j,c,b,a;for(e=0,j=h.length;e<j;++e){l=h[e];a=l.name;b=d[a];if(l.validate&&!l.validate.$nullFn){m=k.length;c=l.validate(b,null,k,g);if(m===k.length&&c!==true){k.add(a,c)}}}return k},add:function(b,d){var c=this,a=Ext.data.field.Field.defaultInvalidMessage,g=b,e;if(Ext.isString(b)){g=new Ext.data.Error({field:b,message:d||a})}else{if(!(g.isError)){g=new Ext.data.Error({field:g.field||g.name,message:g.error||g.message||g.msg||a})}b=g.field}e=c.get(b);if(e){if(Ext.isArray(e)){e.push(g);return e}c.removeAtKey(b);g=[e,g];g.field=b;g=[g]}return c.callParent([g])},getKey:function(a){return a.field},isValid:function(){return this.length===0},getByField:function(b){var a=this.get(b);if(a&&!Ext.isArray(a)){a=[a]}return a||[]}});Ext.define("Ext.data.operation.Operation",{alternateClassName:"Ext.data.Operation",isOperation:true,config:{synchronous:false,url:"",params:undefined,callback:undefined,scope:undefined,resultSet:null,response:null,request:null,records:null,id:undefined,proxy:null,batch:null,recordCreator:null,internalCallback:null,internalScope:null},order:0,foreignKeyDirection:1,started:false,running:false,complete:false,success:undefined,exception:false,error:undefined,idPrefix:"ext-operation-",constructor:function(a){var b=a&&a.scope;this.initConfig(a);if(a){a.scope=b}if(b){this.setScope(b);this.initialConfig.scope=b}this._internalId=Ext.id(this,this.idPrefix)},getAction:function(){return this.action},execute:function(){var b=this,a;delete b.error;delete b.success;b.complete=b.exception=false;b.setStarted();b.request=a=b.doExecute();if(a){a.setOperation(b)}return a},doExecute:Ext.emptyFn,abort:function(){var b=this,a=b.request;if(b.running&&a){b.getProxy().abort(a);b.request=null}},process:function(b,d,a,e){var c=this;e=e!==false;c.setResponse(a);c.setResultSet(b);if(b.getSuccess()){c.doProcess(b,d,a);c.setSuccessful(e)}else{if(e){c.setException(b.getMessage())}}},_commitSetOptions:{convert:true,commit:true},doProcess:function(n,g,e){var l=this,d=l._commitSetOptions,a=l.getRecords(),c=a.length,o=a[0].clientIdProperty,p=n.getRecords(),k=p?p.length:0,m,j,b,h;if(k&&o){m=Ext.Array.toValueMap(a,"id");for(h=0;h<k;++h){j=p[h];b=m[j[o]];if(b){delete m[b.id];delete j[o];b.set(j,d)}}for(h in m){m[h].commit()}}else{for(h=0;h<c;++h){b=a[h];if(k===0||!(j=p[h])){b.commit()}else{b.set(j,d)}}}},setStarted:function(){this.started=this.running=true},setCompleted:function(){var b=this,a=b.getProxy();b.complete=true;b.running=false;b.triggerCallbacks();if(a){a.completeOperation(b)}},setSuccessful:function(a){this.success=true;if(a){this.setCompleted()}},setException:function(a){var b=this;b.exception=true;b.success=b.running=false;b.error=a;b.setCompleted()},triggerCallbacks:function(){var a=this,b=a.getInternalCallback();if(b){b.call(a.getInternalScope()||a,a);a.setInternalCallback(null);a.setInternalScope(null)}if(b=a.getCallback()){b.call(a.getScope()||a,a.getRecords(),a,a.wasSuccessful());a.setCallback(null);a.setScope(null)}},hasException:function(){return this.exception},getError:function(){return this.error},getRecords:function(){var a;return this._records||((a=this.getResultSet())?a.getRecords():null)},isStarted:function(){return this.started},isRunning:function(){return this.running},isComplete:function(){return this.complete},wasSuccessful:function(){return this.isComplete()&&this.success===true},allowWrite:function(){return true}});Ext.define("Ext.data.operation.Create",{extend:Ext.data.operation.Operation,alias:"data.operation.create",action:"create",isCreateOperation:true,order:10,config:{recordCreator:Ext.identityFn},doExecute:function(){return this.getProxy().create(this)}});Ext.define("Ext.data.operation.Destroy",{extend:Ext.data.operation.Operation,alias:"data.operation.destroy",action:"destroy",isDestroyOperation:true,order:30,foreignKeyDirection:-1,doProcess:function(){var c=this.getRecords(),a=c.length,b;for(b=0;b<a;++b){c[b].setErased()}},doExecute:function(){return this.getProxy().erase(this)},getRecordData:function(a,c){var e={},d=a.idField,b=this.getNameProperty()||"name";e[d[b]]=a.id;return e}});Ext.define("Ext.data.operation.Read",{extend:Ext.data.operation.Operation,alias:"data.operation.read",action:"read",isReadOperation:true,config:{filters:undefined,sorters:undefined,grouper:undefined,start:undefined,limit:undefined,page:undefined,addRecords:false},doExecute:function(){return this.getProxy().read(this)},doProcess:Ext.emptyFn,allowWrite:function(){return false}});Ext.define("Ext.data.operation.Update",{extend:Ext.data.operation.Operation,alias:"data.operation.update",action:"update",isUpdateOperation:true,order:20,config:{recordCreator:Ext.identityFn},doExecute:function(){return this.getProxy().update(this)}});Ext.define("Ext.data.SortTypes",{singleton:true,none:Ext.identityFn,stripCommasRe:/,/g,stripTagsRE:/<\/?[^>]+>/gi,asText:function(a){return(a!=null)?String(a).replace(this.stripTagsRe,""):"\x00"},asUCText:function(a){return(a!=null)?String(a).toUpperCase().replace(this.stripTagsRe,""):"\x00"},asUCString:function(a){return(a!=null)?String(a).toUpperCase():"\x00"},asDate:function(a){if(!a){return 0}if(Ext.isDate(a)){return a.getTime()}return Date.parse(String(a))},asFloat:function(a){var b=parseFloat(String(a).replace(this.stripCommasRe,""));return isNaN(b)?0:b},asInt:function(a){var b=parseInt(String(a).replace(this.stripCommasRe,""),10);return isNaN(b)?0:b}});Ext.define("Ext.data.validator.Validator",{mixins:[Ext.mixin.Factoryable],alias:"data.validator.base",isValidator:true,type:"base",statics:{all:{},register:function(b,a){var c=this.all;c[b.toUpperCase()]=c[b.toLowerCase()]=c[b]=a.prototype}},onClassExtended:function(a,b){if(b.type){Ext.data.validator.Validator.register(b.type,a)}},constructor:function(a){if(typeof a==="function"){this.fnOnly=true;this.validate=a}else{this.initConfig(a)}},validate:function(){return true},clone:function(){var a=this;if(a.fnOnly){return new Ext.data.validator.Validator(a.validate)}return new a.self(a.getCurrentConfig())}},function(){this.register(this.prototype.type,this)});Ext.define("Ext.data.field.Field",{mixins:[Ext.mixin.Factoryable],alternateClassName:"Ext.data.Field",alias:"data.field.auto",aliasPrefix:"data.field.",type:"auto",factoryConfig:{defaultProperty:"name"},isDataField:true,isField:true,allowBlank:true,allowNull:false,critical:false,defaultInvalidMessage:"This field is invalid",defaultValue:undefined,definedBy:null,depends:null,dependents:null,mapping:null,name:null,ordinal:undefined,persist:null,reference:null,unique:false,rank:null,stripRe:/[\$,%]/g,calculated:false,evil:false,identifier:false,onClassExtended:function(c,e){var g=e.sortType,d=c.prototype,a=d.validators,b=e.validators;if(g&&Ext.isString(g)){d.sortType=Ext.data.SortTypes[g]}if(b){if(!Ext.isArray(b)){b=[b]}delete e.validators;if(a){b=a.concat(b)}d.validators=b}},argumentNamesRe:/^function\s*\(\s*([^,\)\s]+)/,calculateRe:/[^\.a-z0-9_]([a-z_][a-z_0-9]*)\.([a-z_][a-z_0-9]*)/gi,constructor:function(d){var l=this,n=l.calculateRe,h,o,m,i,c,a,j,b,k,e,g;if(d){if(Ext.isString(d)){l.name=d}else{g=d.validators;if(g){delete d.validators;l.instanceValidators=g}Ext.apply(l,d)}}if(!l.allowNull){l.allowNull=!!l.reference}h=l.calculate;c=l.depends;if(h){l.convert=l.doCalculate;if(!c){if(!(c=h.$depends)){a={};k=h.toString();h.$depends=c=[];j=l.argumentNamesRe.exec(k);b=j?j[1]:"data";while((j=n.exec(k))){if(b===j[1]&&!a[e=j[2]]){a[e]=1;c.push(e)}}}l.depends=c}}m=l.defaultValue;if(l.convert){l.calculated=o=l.convert.length>1;l.evil=o&&!c}if(l.persist===null){l.persist=!h}i=l.sortType;if(!l.sortType){l.sortType=Ext.data.SortTypes.none}else{if(Ext.isString(i)){l.sortType=Ext.data.SortTypes[i]}}if(c&&typeof c==="string"){l.depends=[c]}l.cloneDefaultValue=m!==undefined&&(Ext.isDate(m)||Ext.isArray(m)||Ext.isObject(m))},setModelValidators:function(a){this._validators=null;this.modelValidators=a},compileValidators:function(){var a=this;a._validators=[];a.constructValidators(a.validators);a.constructValidators(a.modelValidators);a.constructValidators(a.instanceValidators)},constructValidators:function(a){if(a){if(!(a instanceof Array)){a=[a]}var e=a.length,c=this._validators,b,d;for(b=0;b<e;++b){d=a[b];if(d.fn){d=d.fn}c.push(Ext.Factory.dataValidator(d))}}},collate:function(c,b){var d=this,a=c,e=b;if(d.sortType){a=d.sortType(a);e=d.sortType(e)}return(a===e)?0:((a<e)?-1:1)},compare:function(b,a){return(b===a)?0:((b<a)?-1:1)},isEqual:function(b,a){return this.compare(b,a)===0},convert:null,serialize:null,validate:function(l,e,k,g){var j=this,h="",m,a,c,b,d;if(!j._validators){j.compileValidators()}c=j._validators;for(d=0,b=c.length;d<b;++d){a=c[d];m=a.validate(l,g);if(m!==true){m=m||j.defaultInvalidMessage;if(k){k.add(j.name,m);h=h||m}else{if(e){if(h){h+=e}h+=m}else{h=m;break}}}}return h||true},doCalculate:function(a,b){return b?this.calculate(b.data):a},getName:function(){return this.name},getAllowBlank:function(){return this.allowBlank},getAllowNull:function(){return this.allowNull},getConvert:function(){return this.convert},getDefaultValue:function(){return this.defaultValue},getDepends:function(){return this.depends},getMapping:function(){return this.mapping},hasMapping:function(){var a=this.mapping;return !!(a||a===0)},getPersist:function(){return this.persist},getSortType:function(){return this.sortType},getType:function(){return"auto"},deprecated:{5.1:{methods:{getSortDir:function(){return this.sortDir}}}}});Ext.define("Ext.data.field.Boolean",{extend:Ext.data.field.Field,alias:["data.field.bool","data.field.boolean"],isBooleanField:true,trueRe:/^\s*(?:true|yes|on|1)\s*$/i,convert:function(a){if(typeof a==="boolean"){return a}if(this.allowNull&&(a===undefined||a===null||a==="")){return null}return this.trueRe.test(String(a))},getType:function(){return"bool"}});Ext.define("Ext.data.field.Date",{extend:Ext.data.field.Field,alias:"data.field.date",sortType:"asDate",isDateField:true,dateFormat:null,dateReadFormat:null,dateWriteFormat:null,compare:function(b,e){var d=b instanceof Date,c=e instanceof Date,a;if(c&&d){a=b.getTime()-e.getTime();if(a===0){a=0}else{a=a<0?-1:1}}else{if(d===c){a=0}else{a=d?1:-1}}return a},convert:function(c){if(!c){return null}if(c instanceof Date){return c}var a=this.dateReadFormat||this.dateFormat,b;if(a){return Ext.Date.parse(c,a,this.useStrict)}b=Date.parse(c);return b?new Date(b):null},serialize:function(b){var a=null,c;if(Ext.isDate(b)){c=this.getDateWriteFormat();a=c?Ext.Date.format(b,c):b}return a},getDateFormat:function(){return this.dateFormat},getDateReadFormat:function(){return this.dateReadFormat},getDateWriteFormat:function(){var a=this;if(a.hasOwnProperty("dateWriteFormat")){return a.dateWriteFormat}if(a.hasOwnProperty("dateFormat")){return a.dateFormat}return a.dateWriteFormat||a.dateFormat||"timestamp"},getType:function(){return"date"}});Ext.define("Ext.data.field.Integer",{extend:Ext.data.field.Field,alias:["data.field.int","data.field.integer"],isNumeric:true,isIntegerField:true,numericType:"int",convert:function(b){if(typeof b==="number"){return this.getNumber(b)}var d=b===undefined||b===null||b==="",a=this.allowNull,c;if(d){c=a?null:0}else{c=this.parse(b);if(a&&isNaN(c)){c=null}}return c},getNumber:function(a){return parseInt(a,10)},getType:function(){return this.numericType},parse:function(a){return parseInt(String(a).replace(this.stripRe,""),10)},sortType:function(a){if(a==null){a=Infinity}return a}});Ext.define("Ext.data.field.Number",{extend:Ext.data.field.Integer,alias:["data.field.float","data.field.number"],isIntegerField:false,isNumberField:true,numericType:"float",getNumber:Ext.identityFn,parse:function(a){return parseFloat(String(a).replace(this.stripRe,""))}});Ext.define("Ext.data.field.String",{extend:Ext.data.field.Field,alias:"data.field.string",sortType:"asUCString",isStringField:true,convert:function(b){var a=this.allowNull?null:"";return(b===undefined||b===null)?a:String(b)},getType:function(){return"string"}});Ext.define("Ext.data.identifier.Generator",{"abstract":true,mixins:[Ext.mixin.Factoryable],alias:"data.identifier.default",factoryConfig:{defaultType:"sequential"},isGenerator:true,config:{id:null},constructor:function(a){var b=this,c;b.initConfig(a);c=b.getId();if(c){Ext.data.identifier.Generator.all[c]=b}},privates:{clone:function(b){var a=this.getInitialConfig();a=b?Ext.apply({},b,a):a;return new this.self(a)},statics:{all:{}}}},function(){var c=this,a=Ext.Factory,b=a.dataIdentifier;a.dataIdentifier=function(d){var g=Ext.isString(d)?d:(d&&d.id),e=g&&c.all[g];return e||b(d)}});Ext.define("Ext.data.identifier.Sequential",{extend:Ext.data.identifier.Generator,alias:"data.identifier.sequential",config:{increment:1,prefix:null,seed:1},generate:function(){var b=this,a=b._seed,c=b._prefix;b._seed+=b._increment;return(c!==null)?c+a:a}});Ext.define("Ext.data.Model",{alternateClassName:"Ext.data.Record",isEntity:true,isModel:true,validIdRe:null,erasing:false,observableType:"record",crudState:"R",crudStateWas:null,constructor:function(e,m){var n=this,q=n.self,l=q.identifier,c=Ext.data.Model,o=c.identifier,p=n.idField.name,k,a,b,j,h,d,g;n.data=n.data=e||(e={});n.session=m||null;n.internalId=j=o.generate();if((k=e) instanceof Array){n.data=e={};g=n.getFields();h=Math.min(g.length,k.length);for(d=0;d<h;++d){e[g[d].name]=k[d]}}if(!(b=q.initializeFn)){q.initializeFn=b=c.makeInitializeFn(q)}if(!b.$nullFn){q.initializeFn(n)}if(!(n.id=a=e[p])&&a!==0){if(m){l=m.getIdentifier(q);a=l.generate()}else{if(o===l){a=j}else{a=l.generate()}}e[p]=n.id=a;n.phantom=true;n.crudState="C"}if(m){m.add(n)}if(n.init&&Ext.isFunction(n.init)){n.init()}},editing:false,dirty:false,session:null,dropped:false,erased:false,clientIdProperty:null,evented:false,phantom:false,idProperty:"id",manyToMany:null,identifier:null,previousValues:undefined,proxy:undefined,schema:"default",versionProperty:null,generation:1,validationSeparator:null,convertOnSet:true,beginEdit:function(){var c=this,b=c.modified,a=c.previousValues;if(!c.editing){c.editing=true;c.editMemento={dirty:c.dirty,data:Ext.apply({},c.data),generation:c.generation,modified:b&&Ext.apply({},b),previousValues:a&&Ext.apply({},a)}}},cancelEdit:function(){var b=this,a=b.editMemento;if(a){b.editing=false;Ext.apply(b,a);b.editMemento=null}},endEdit:function(b,d){var c=this,a=c.editMemento;if(a){c.editing=false;c.editMemento=null;c.previousValues=a.previousValues;if(!b){if(!d){d=c.getModifiedFieldNames(a.data)}if(c.dirty||(d&&d.length)){c.callJoined("afterEdit",[d])}}}},getField:function(a){return this.self.getField(a)},getFields:function(){return this.self.getFields()},getFieldsMap:function(){return this.fieldsMap},getIdProperty:function(){return this.idProperty},getId:function(){return this.id},getObservableId:function(){return this.internalId},setId:function(b,a){this.set(this.idProperty,b,a)},getPrevious:function(b){var a=this.previousValues;return a&&a[b]},isModified:function(b){var a=this.modified;return !!(a&&a.hasOwnProperty(b))},getModified:function(b){var a;if(this.isModified(b)){a=this.modified[b]}return a},get:function(a){return this.data[a]},_singleProp:{},_rejectOptions:{convert:false,silent:true},set:function(u,H,w){var n=this,c=n.self,L=n.data,q=n.modified,y=n.previousValues,A=n.session,z=Ext.isString(u),r=(z?w:H),C=r?r.convert!==false:n.convertOnSet,D=n.fieldsMap,e=r&&r.silent,m=r&&r.commit,E=!(r&&r.refs===false)&&A,s=!(r&&r.dirty===false&&!m),p=null,j=0,d=n.associations,h,g,b,o,l,x,v,k,J,K,G,B,I,a,F,M,t;if(z){M=n._singleProp;M[u]=H}else{M=u}if(!(I=c.rankedFields)){I=c.rankFields()}G=I.length;do{for(l in M){F=M[l];h=L[l];v=n;g=D[l];if(g){if(C&&g.convert){F=g.convert(F,n)}v=g;a=g.reference}else{a=null}if(v.isEqual(h,F)){continue}L[l]=F;(p||(p=[])).push(l);(y||(n.previousValues=y={}))[l]=h;if(a&&a.cls){if(E){A.updateReference(n,g,F,h)}a.onValueChange(n,A,F,h)}K=(J=g&&g.dependents)&&J.length;while(K-->0){(k=J[K]).dirty=true;j=j?Math.min(j,k.rank):k.rank}if(!g||g.persist){if(q&&q.hasOwnProperty(l)){if(!s||v.isEqual(q[l],F)){delete q[l];n.dirty=-1}}else{if(s){if(!q){n.modified=q={}}n.dirty=true;q[l]=h}}}if(l===n.idField.name){b=true;x=h;B=F}}if(!j){break}g=I[j-1];g.dirty=false;if(z){delete M[u]}else{M=n._singleProp;z=true}u=g.name;M[u]=L[u];C=true;for(;j<G;++j){if(I[j].dirty){break}}if(j<G){++j}else{j=0}}while(1);if(n.dirty<0){n.dirty=false;for(o in q){if(q.hasOwnProperty(o)){n.dirty=true;break}}}if(z){delete M[u]}++n.generation;if(b){n.id=B;n.onIdChanged(B,x);n.callJoined("onIdChanged",[x,B]);if(d){for(t in d){d[t].onIdChanged(n,x,B)}}}if(m){n.commit(e,p)}else{if(!e&&!n.editing&&p){n.callJoined("afterEdit",[p])}}return p},reject:function(a){var c=this,b=c.modified;if(b){c.set(b,c._rejectOptions)}c.dropped=false;c.clearState();if(!a){c.callJoined("afterReject")}},commit:function(b,d){var c=this,g=c.versionProperty,e=c.data,a;c.clearState();if(g&&!c.phantom&&!isNaN(e[g])){++e[g]}c.phantom=false;if(c.dropped){c.erased=a=true}if(!b){if(a){c.callJoined("afterErase")}else{c.callJoined("afterCommit",[d])}}},clearState:function(){var a=this;a.dirty=a.editing=false;a.editMemento=a.modified=null},drop:function(b){var d=this,c=d.associations,e=d.session,a;if(d.erased||d.dropped){return}d.dropped=true;if(c&&b!==false){for(a in c){c[a].onDrop(d,e)}}d.callJoined("afterDrop");if(d.phantom){d.setErased()}},join:function(b){var a=this,c=a.joined;if(!c){c=a.joined=[b]}else{if(!c.length){c[0]=b}else{Ext.Array.include(c,b)}}if(b.isStore&&!a.store){a.store=b}},unjoin:function(e){var d=this,g=d.joined,a=g&&g.length,b=d.store,c;if(e===d.session){d.session=null}else{if(a===1&&g[0]===e){g.length=0}else{if(a){Ext.Array.remove(g,e)}}if(b===e){b=null;if(g){for(c=0,a=g.length;c<a;++c){e=g[c];if(e.isStore){b=e;break}}}d.store=b}}},clone:function(d){var c=this,b=c.modified,a=c.copy(c.id,d);if(b){a.modified=Ext.apply({},b)}a.dirty=c.dirty;a.dropped=c.dropped;a.phantom=c.phantom;return a},copy:function(c,g){var d=this,e=Ext.apply({},d.data),b=d.idProperty,a=d.self;if(c||c===0){e[b]=c}else{if(c===null){delete e[b]}}return new a(e,g)},getProxy:function(){return this.self.getProxy()},getValidation:function(b){var c=this,a=c.validation;if(!a){c.validation=a=new Ext.data.Validation();a.attach(c)}if(b===true||(b!==false&&a.syncGeneration!==c.generation)){a.refresh(b)}return a},validate:function(){return new Ext.data.ErrorCollection().init(this)},isValid:function(){return this.getValidation().isValid()},toUrl:function(){var b=this.$className.split("."),a=b[b.length-1].toLowerCase();return a+"/"+this.getId()},erase:function(a){var b=this;b.erasing=true;b.drop();b.erasing=false;return b.save(a)},setErased:function(){this.erased=true;this.callJoined("afterErase")},getChanges:function(){return this.getData(this._getChangesOptions)},getCriticalFields:function(){var a=this.self,b=a.criticalFields;if(!b){a.rankFields();b=a.criticalFields}return b},getAssociatedData:function(r,q){var m=this,c=m.associations,o,h,p,l,d,b,k,g,e,a,j,n;r=r||{};m.$gathering=1;if(q){q=Ext.Object.chain(q)}for(e in c){g=c[e];p=g.getAssociatedItem(m);if(!p||p.$gathering){continue}if(p.isStore){p.$gathering=1;l=p.getData().items;b=l.length;d=[];for(h=0;h<b;++h){k=l[h];o=!k.$gathering;k.$gathering=1;if(q){n=q.associated;if(n===undefined){q.associated=o;j=true}else{if(!o){q.associated=false;j=true}}a=q}else{a=o?m._getAssociatedOptions:m._getNotAssociatedOptions}d.push(k.getData(a));if(j){q.associated=n;j=false}delete k.$gathering}delete p.$gathering}else{a=q||m._getAssociatedOptions;if(q&&q.associated===undefined){a.associated=true}d=p.getData(a)}r[e]=d}delete m.$gathering;return r},getData:function(s){var k=this,j={},a=(s===true)?k._getAssociatedOptions:(s||j),e=k.data,l=a.associated,p=a.changes,o=p&&a.critical,i=p?k.modified:e,h=k.fieldsMap,g=a.persist,r=a.serialize,c,m,d,b,q;if(i){for(b in i){q=e[b];m=h[b];if(m){if(g&&!m.persist){continue}if(r&&m.serialize){q=m.serialize(q,k)}}j[b]=q}}if(o){c=k.self.criticalFields||k.getCriticalFields();for(d=c.length;d-->0;){b=(m=c[d]).name;if(!(b in j)){q=e[b];if(r&&m.serialize){q=m.serialize(q,k)}j[b]=q}}}if(l){k.getAssociatedData(j,a)}return j},getTransientFields:function(){var a=this.self,b=a.transientFields;if(!b){a.rankFields();b=a.transientFields}return b},isLoading:function(){return !!this.loadOperation},abort:function(){var a=this.loadOperation;if(a){a.abort()}},load:function(b){b=Ext.apply({},b);var g=this,e=b.scope||g,c=g.getProxy(),i=b.callback,a=g.loadOperation,h=g.getId(),d;if(a){d=a.extraCalls;if(!d){d=a.extraCalls=[]}d.push(b);return a}b.id=h;b.recordCreator=function(l,j,k){var m=g.session;if(k){k.recordCreator=m?m.recordCreator:null}g.set(l,g._commitOptions);return g};b.internalCallback=function(l){var p=l.wasSuccessful()&&l.getRecords().length>0,q=g.loadOperation,n=q.extraCalls,k=[g,l],o=[g,l,p],m,j;g.loadOperation=null;if(p){Ext.callback(b.success,e,k)}else{Ext.callback(b.failure,e,k)}Ext.callback(i,e,o);if(n){for(m=0,j=n.length;m<j;++m){b=n[m];if(p){Ext.callback(b.success,e,k)}else{Ext.callback(b.failure,e,k)}Ext.callback(b.callback,e,o)}}g.callJoined("afterLoad")};delete b.callback;g.loadOperation=a=c.createOperation("read",b);a.execute();return a},save:function(j){j=Ext.apply({},j);var g=this,d=g.phantom,a=g.dropped,c=a?"destroy":(d?"create":"update"),i=j.scope||g,h=j.callback,e=g.getProxy(),b;j.records=[g];j.internalCallback=function(k){var l=[g,k],m=k.wasSuccessful();if(m){Ext.callback(j.success,i,l)}else{Ext.callback(j.failure,i,l)}l.push(m);Ext.callback(h,i,l)};delete j.callback;b=e.createOperation(c,j);if(a&&d){b.setResultSet(Ext.data.reader.Reader.prototype.nullResultSet);g.setErased();b.setSuccessful(true)}else{b.execute()}return b},inheritableStatics:{addFields:function(a){this.replaceFields(a)},replaceFields:function(n,k){var o=this,e=o.prototype,j=Ext.data.field.Field,g=o.fields,m=o.fieldsMap,c=o.fieldOrdinals,p,d,b,h,a,l;if(k===true){g.length=0;o.fieldsMap=m={};o.fieldOrdinals=c={}}else{if(k){for(d=k.length;d-->0;){a=k[d];if(a in c){delete c[a];delete m[a]}}for(d=0,h=g.length;d<h;++d){a=(p=g[d]).name;if(a in c){c[a]=d}else{g.splice(d,1);--d;--h}}}}for(d=0,h=n?n.length:0;d<h;d++){a=(p=n[d]).name;if(!(a in c)){c[a]=l=g.length;g.push(p=j.create(p));m[a]=p;p.ordinal=l;p.definedBy=p.owner=this}}o.idField=e.idField=b=m[e.idProperty];b.allowNull=b.critical=b.identifier=true;b.defaultValue=null;o.initializeFn=o.rankedFields=o.transientFields=o.criticalFields=null},removeFields:function(a){this.replaceFields(null,a)},getIdFromData:function(c){var b=this,a=b.idField,d=a.calculated?(new b(c)).id:c[a.name];return d},createWithId:function(g,b,c){var e=b,a=this;if(g||g===0){e={};if(b){Ext.apply(e,b)}e[a.idField.name]=g}return new a(e,c)},getFields:function(){return this.fields},getFieldsMap:function(){return this.fieldsMap},getField:function(a){return this.fieldsMap[a]||null},getProxy:function(){var b=this,a=b.proxy,d=b.defaultProxy,c;if(!a){a=b.proxyConfig;if(!a&&d){a=d}if(!a||!a.isProxy){if(typeof a==="string"){a={type:a}}c=b.schema.constructProxy(b);a=a?Ext.merge(c,a):c}a=b.setProxy(a)}return a},setProxy:function(b){var c=this,a;if(b){if(!b.isProxy){b=Ext.Factory.proxy(b)}else{a=b.getModel();if(a&&a!==c){b=b.clone()}}b.setModel(c)}return(c.prototype.proxy=c.proxy=b)},load:function(e,a,c){var b={},d;b[this.prototype.idProperty]=e;d=new this(b,c);d.load(a);return d}},deprecated:{5:{methods:{hasId:null,markDirty:null,setDirty:null,eachStore:function(g,d){var e=this,b=e.stores,a=b.length,c;for(c=0;c<a;++c){g.call(d,b[c])}},join:function(c){var b=this,a=b.stores,d=b.joined;if(!d){d=b.joined=[c]}else{d.push(c)}if(c.isStore){b.store=b.store||c;if(!a){a=b.stores=[]}a.push(c)}},unjoin:function(c){var b=this,a=b.stores,d=b.joined;if(d.length===1){d.length=0}else{Ext.Array.remove(d,c)}if(c.isStore){Ext.Array.remove(a,c);b.store=a[0]||null}}},properties:{persistenceProperty:null},inheritableStatics:{methods:{setFields:null}}}},privates:{_commitOptions:{commit:true},_getChangesOptions:{changes:true},_getAssociatedOptions:{associated:true},_getNotAssociatedOptions:{associated:false},copyFrom:function(j){var h=this,e=h.fields,m=e.length,b=[],k,c=0,g,d,n=h.idProperty,a,l;if(j){g=h.data;d=j.data;for(;c<m;c++){k=e[c];a=k.name;if(a!==n){l=d[a];if(l!==undefined&&!h.isEqual(g[a],l)){g[a]=l;b.push(a)}}}if(h.phantom&&!j.phantom){h.beginEdit();h.setId(j.getId());h.endEdit(true);h.commit(true)}}return b},callJoined:function(e,d){var h=this,k=h.joined,g=h.session,a=h.dropped?"D":(h.phantom?"C":(h.dirty?"U":"R")),b,c,j,l;h.crudState=a;if(k||g){if(d){d.unshift(h)}else{d=[h]}if(k){for(b=0,c=k.length;b<c;++b){l=k[b];if(l&&(j=l[e])){j.apply(l,d)}}}j=g&&g[e];if(j){j.apply(g,d)}}h.crudStateWas=a},onAssociatedRecordSet:function(a,b){this.callJoined("afterAssociatedRecordSet",[a,b])},onIdChanged:Ext.privateFn,setSession:function(a){this.session=a;if(a){a.add(this)}},getModifiedFieldNames:function(a){var d=this,e=d.data,b=[],g=a||d.editMemento.data,c;for(c in e){if(e.hasOwnProperty(c)){if(!d.isEqual(e[c],g[c],c)){b.push(c)}}}return b},isEqual:function(a,d,c){var b;if(c){b=c.isField?c:this.fieldsMap[c];if(b){return b.isEqual(a,d)}}if(a instanceof Date&&d instanceof Date){return a.getTime()===d.getTime()}return a===d},statics:{EDIT:"edit",REJECT:"reject",COMMIT:"commit",defaultProxy:"memory",rankFields:function(){var k=this,j=k.prototype,d=k.fields,b=d.length,g=[],a=[],e=[],l,h,c;k.rankedFields=j.rankedFields=g;k.criticalFields=j.criticalFields=a;k.transientFields=j.transientFields=e;for(c=0;c<b;++c){h=d[c];if(h.critical){a.push(h)}if(!h.persist){e.push(h)}if(h.evil){(l||(l=[])).push(h)}else{if(!h.depends){g.push(h);h.rank=g.length}}}for(c=0;c<b;++c){if(!(h=d[c]).rank&&!h.evil){k.topoAdd(h)}}if(l){for(c=0,b=l.length;c<b;++c){g.push(h=l[c]);h.rank=g.length}}return g},topoAdd:function(h){var b=this,g=h.depends,a=g?g.length:0,d=b.rankedFields,c,e;for(c=0;c<a;++c){e=b.fieldsMap[g[c]];(e.dependents||(e.dependents=[])).push(h);if(!e.rank){b.topoAdd(e)}}d.push(h);h.rank=d.length},initFields:function(w,b,p){var k=Ext.data.field.Field,d=w.fields,q=[],l={},g={},a=[],v=p.fields,m=w.versionProperty||p.versionProperty,n=b.idProperty,h,c,t,e,x,s,j,u,r,o;b.fields=p.fields=q;b.fieldOrdinals=p.fieldOrdinals=l;b.fieldsMap=p.fieldsMap=g;b.references=p.references=a;if(v){for(t=0,e=v.length;t<e;++t){q[t]=c=Ext.Object.chain(v[t]);c.dependents=null;c.owner=b;l[x=c.name]=t;g[x]=c;c.rank=null;if(c.generated){u=c;r=c.name}}}if(d){delete w.fields;for(t=0,e=d.length;t<e;++t){c=d[t];j=c.reference;if(j&&typeof j!=="string"){j=Ext.merge({},j)}c.$reference=j;c=k.create(d[t]);x=c.name;s=l[x];if(s===undefined){l[x]=s=q.length}g[x]=c;q[s]=c;c.definedBy=c.owner=b;c.ordinal=s;if(x===n){o=c}}}h=g[n];if(!h){if(u&&u.generated){s=u.ordinal}else{s=q.length}delete g[r];delete l[r];h=new k(n);q[s]=h;l[n]=s;g[n]=h;h.definedBy=b;h.ordinal=s;h.generated=true}else{if(o&&u&&u.generated){Ext.Array.remove(q,u);delete g[r];delete l[r];g[n]=o;for(t=0,e=q.length;t<e;++t){c=q[t];q.ordinal=t;l[c.name]=t}}}h.allowNull=h.critical=h.identifier=true;h.defaultValue=null;b.idField=p.idField=h;if(m){c=g[m];if(!c){s=q.length;c=new k({name:m,type:"int"});q[s]=c;l[m]=s;g[m]=c;c.definedBy=b;c.ordinal=s;c.generated=true}c.defaultValue=1;c.critical=true}},initValidators:function(h,p,k){var n=k.validators,e,m,c,l,g,d,j,b,a,o;if(n){e={};for(m in n){e[m]=Ext.Array.clone(n[m])}}l=h.validators||h.validations;if(l){delete h.validators;e=e||{};if(Ext.isArray(l)){c={};for(g=0,d=l.length;g<d;++g){o=l[g];b=o.field;if(!c[b]){c[b]=[]}o=o.fn||o;c[b].push(o)}l=c}for(b in l){j=l[b];if(!Ext.isArray(j)){j=[j]}a=e[b];if(e[b]){Ext.Array.push(a,j)}else{e[b]=j}}}if(e){for(b in e){m=p.getField(b);if(m){m.setModelValidators(e[b])}}}p.validators=k.validators=e},initAssociations:function(d,h,m){var c=h.associations,e=h.belongsTo,k=h.hasMany,n=h.hasOne,l=h.manyToMany,g,b,j,a;delete h.associations;delete h.belongsTo;delete h.hasMany;delete h.hasOne;delete h.manyToMany;if(l){d.addMatrices(m,l)}if(c){c=Ext.isArray(c)?c:[c];for(g=0,b=c.length;g<b;++g){j=c[g];a=Ext.apply({},j);delete a.type;switch(j.type){case"belongsTo":d.addBelongsTo(m,a);break;case"hasMany":d.addHasMany(m,a);break;case"hasOne":d.addHasOne(m,a);break}}}if(e){e=Ext.isArray(e)?e:[e];for(g=0,b=e.length;g<b;++g){d.addBelongsTo(m,e[g])}}if(k){k=Ext.isArray(k)?k:[k];for(g=0,b=k.length;g<b;++g){d.addHasMany(m,k[g])}}if(n){n=Ext.isArray(n)?n:[n];for(g=0,b=n.length;g<b;++g){d.addHasOne(m,n[g])}}d.afterKeylessAssociations(m)},initIdentifier:function(g,a,e){var b=g.identifier||g.idgen,d=e.identifier||a.schema._defaultIdentifier,c;if(b){delete g.identifier;delete g.idgen;b=Ext.Factory.dataIdentifier(b)}else{if(d){if(d.clone&&!d.getId()){b=d.clone()}else{if(d.isGenerator){b=d}else{b=Ext.Factory.dataIdentifier(d)}}}}a.identifier=e.identifier=b;if(!b){c=a.entityName;if(!c){c=Ext.id(null,"extModel")}a.identifier=Ext.Factory.dataIdentifier({type:"sequential",prefix:c+"-"})}},findValidator:function(c,d,b){var g=b.type||b,j=c[d],a,e,h;if(j){for(e=0,a=j.length;e<a;++e){h=j[e];if(h.type===g){return h}}}return null},makeInitializeFn:function(q){var a=["var "],h=["\nreturn function (e) {\n    var data = e.data, v;\n"],n=0,k,j,l,p,d,m,g,e,o,c,b;if(!(g=q.rankedFields)){g=q.rankFields()}for(c=0,b=g.length;c<b;++c){m=g[c];e="f"+c;l=m.convert;if(c){a.push(",  \n    ")}a.push(e," = $fields["+c+"]");if((o=(m.defaultValue!==undefined))||l){p='data["'+m.name+'"]';++n;k=j="";if(m.cloneDefaultValue){k="Ext.clone(";j=")"}h.push("\n");if(l&&o){h.push("    v = ",p,";\n    if (v !== undefined) {\n        v = ",e,".convert(v, e);\n    }\n    if (v === undefined) {\n        v = ",k,e,".defaultValue",j,";\n    }\n    ",p," = v;")}else{if(l){h.push("    v = ",e,".convert(",p,",e);\n    if (v !== undefined) {\n        ",p," = v;\n    }\n")}else{if(o){h.push("    if (",p," === undefined) {\n        ",p," = ",k,e,".defaultValue",j,";\n    }\n")}}}}}if(!n){return Ext.emptyFn}a.push(";\n");a.push.apply(a,h);a.push("}");a=a.join("");d=new Function("$fields","Ext",a);return d(g,Ext)}}}},function(){var d=this,c=d.prototype,b=Ext.data.schema.Schema,a;d.proxyConfig=c.proxy;delete c.proxy;d.fields=[];d.fieldsMap=c.fieldsMap={};d.schema=c.schema=b.get(c.schema);c.idField=new Ext.data.field.Field(c.idProperty);d.identifier=new Ext.data.identifier.Sequential();d.onExtended(function(e,k){var j=e.prototype,m=k.schema,l=j.superclass.self,i,h,g;e.idProperty=k.idProperty||j.idProperty;if(m){delete k.schema;i=b.get(m)}else{if(!(i=j.schema)){i=a||(a=b.get("default"))}}e.rankFields=d.rankFields;e.topoAdd=d.topoAdd;j.schema=e.schema=i;if(!(h=k.entityName)){j.entityName=h=i.getEntityName(e)}e.entityName=h;e.fieldExtractors={};d.initIdentifier(k,e,j);d.initFields(k,e,j);d.initValidators(k,e,j);e.fields.items=e.fields;if(h){i.addEntity(e);d.initAssociations(i,k,e)}g=k.proxy;if(g){delete k.proxy}else{if(l!==d){g=l.proxyConfig||l.proxy}}e.proxyConfig=g})});Ext.define("Ext.data.ResultSet",{isResultSet:true,$configPrefixed:false,config:{loaded:true,count:null,total:null,success:false,records:null,message:null,metadata:null},constructor:function(a){this.initConfig(a)},getCount:function(){var b=this.callParent(),a;if(!b){a=this.getRecords();if(a){b=a.length}}return b}});Ext.define("Ext.data.reader.Reader",{alternateClassName:["Ext.data.Reader","Ext.data.DataReader"],mixins:[Ext.mixin.Observable,Ext.mixin.Factoryable],alias:"reader.base",factoryConfig:{defaultType:null},config:{totalProperty:"total",successProperty:"success",rootProperty:"",messageProperty:"",typeProperty:"",implicitIncludes:true,readRecordsOnFailure:true,model:null,proxy:null,transform:null,keepRawData:null},isReader:true,constructor:function(a){if(a&&a.hasOwnProperty("root")){a=Ext.apply({},a);a.rootProperty=a.root;delete a.root}var b=this;b.duringInit=1;b.mixins.observable.constructor.call(b,a);--b.duringInit;b.buildExtractors()},applyModel:function(a){return Ext.data.schema.Schema.lookupEntity(a)},applyTransform:function(a){if(a){if(Ext.isFunction(a)){a={fn:a}}else{if(a.charAt){a={fn:this[a]}}}return a.fn.bind(a.scope||this)}return a},forceBuildExtractors:function(){if(!this.duringInit){this.buildExtractors(true)}},updateTotalProperty:function(){this.forceBuildExtractors()},updateMessageProperty:function(){this.forceBuildExtractors()},updateSuccessProperty:function(){this.forceBuildExtractors()},read:function(b,e){var d,a,c;if(b){c=b.responseText;if(c){a=this.getResponseData(b);if(a&&a.__$isError){return new Ext.data.ResultSet({total:0,count:0,records:[],success:false,message:a.msg})}else{d=this.readRecords(a,e)}}else{if(c!==""){d=this.readRecords(b,e)}}}return d||this.nullResultSet},getNullResultSet:function(){return this.nullResultSet},createReadError:function(a){return{__$isError:true,msg:a}},readRecords:function(e,c,h){var i=this,g=h&&h.recordsOnly,m=h&&h.asRoot,n,d,b,k,j,l,p,a,o;o=i.getMeta?i.getMeta(e):e.metaData;if(o){i.onMetaChange(o)}a=i.getTransform();if(a){e=a(e)}i.buildExtractors();if(i.getKeepRawData()){i.rawData=e}if(i.hasListeners.rawdata){i.fireEventArgs("rawdata",[e])}e=i.getData(e);n=true;d=0;b=[];if(i.getSuccessProperty()){l=i.getSuccess(e);if(l===false||l==="false"){n=false}}if(i.getMessageProperty()){p=i.getMessage(e)}if(n||i.getReadRecordsOnFailure()){k=(m||Ext.isArray(e))?e:i.getRoot(e);if(k){j=k.length}if(i.getTotalProperty()){l=parseInt(i.getTotal(e),10);if(!isNaN(l)){j=l}}if(k){b=i.extractData(k,c);d=b.length}}return g?b:new Ext.data.ResultSet({total:j||d,metadata:o,count:d,records:b,success:n,message:p})},extractData:function(p,g){var n=this,h=g&&g.model?Ext.data.schema.Schema.lookupEntity(g.model):n.getModel(),d=h.schema,q=d.hasAssociations(h)&&n.getImplicitIncludes(),o=n.getFieldExtractorInfo(h.fieldExtractors),a=p.length,c=new Array(a),l=n.getTypeProperty(),m,b,e,k,j;if(!a&&Ext.isObject(p)){p=[p];a=1}for(j=0;j<a;j++){k=p[j];if(!k.isModel){b=k;if(l&&(e=n.getChildType(d,b,l))){m=e.getProxy().getReader();k=m.extractRecord(b,g,e,d.hasAssociations(e)&&m.getImplicitIncludes(),m.getFieldExtractorInfo(e.fieldExtractors))}else{k=n.extractRecord(b,g,h,q,o)}if(k.isModel&&k.isNode){k.raw=b}}if(k.onLoad){k.onLoad()}c[j]=k}return c},getChildType:function(b,c,d){var a;switch(typeof d){case"string":return b.getEntity(c[d]);case"object":a=d.namespace;return b.getEntity((a?a+".":"")+c[d.name]);case"function":return b.getEntity(d(c))}},extractRecordData:function(c,d){var b=d&&d.model?Ext.data.schema.Schema.lookupEntity(d.model):this.getModel(),a=this.getFieldExtractorInfo(b.fieldExtractors);return this.extractRecord(c,d,b,false,a)},extractRecord:function(a,b,c,j,h){var g=this,e=(b&&b.recordCreator)||g.defaultRecordCreator,i,d;i=g.extractModelData(a,h);d=e.call(g,i,c||g.getModel(),b);if(j&&d.isModel){g.readAssociated(d,a,b)}return d},getFieldExtractorInfo:function(c){if(!c){return}var a=this.$className,b=c[a];if(b===undefined){c[a]=b=this.buildFieldExtractors()}return b},buildFieldExtractors:function(){var h=this.getFields(),j=h.length,e=[],l=[],d=null,b=0,k,a,g,c;for(g=0;g<j;++g){k=h[g];c=this.createFieldAccessor(k);if(c){a=k.name;e.push("val = extractors["+b+"](raw); if (val !== undefined) { data['"+a+"'] = val; }");l.push(c);++b}}if(e.length){d={extractors:l,fn:new Function("raw","data","extractors","var val;"+e.join(""))}}return d},defaultRecordCreator:function(b,c){var a=new c(b);a.phantom=false;return a},getModelData:function(a){return{}},extractModelData:function(b,a){var d=this.getModelData(b),c;if(a){c=a.fn;c(b,d,a.extractors)}return d},readAssociated:function(a,e,d){var c=a.associations,b,g;for(b in c){if(c.hasOwnProperty(b)){g=c[b];if(g.cls){g.read(a,e,this,d)}}}},getFields:function(){return this.getModel().fields},getData:Ext.identityFn,getRoot:Ext.identityFn,getResponseData:function(a){},onMetaChange:function(h){var g=this,b=h.fields,c,e,a,d;g.metaData=h;if(h.root){g.setRootProperty(h.root)}if(h.totalProperty){g.setTotalProperty(h.totalProperty)}if(h.successProperty){g.setSuccessProperty(h.successProperty)}if(h.messageProperty){g.setMessageProperty(h.messageProperty)}a=h.clientIdProperty;if(b){e=Ext.define(null,{extend:"Ext.data.Model",fields:b,clientIdProperty:a});g.setModel(e);d=g.getProxy();if(d){d.setModel(e)}}else{if(a){c=g.getModel();if(c){c.self.prototype.clientIdProperty=a}}}},buildExtractors:function(d){var b=this,c,a,e;if(d||!b.hasExtractors){c=b.getTotalProperty();a=b.getSuccessProperty();e=b.getMessageProperty();if(c){b.getTotal=b.getAccessor(c)}if(a){b.getSuccess=b.getAccessor(a)}if(e){b.getMessage=b.getAccessor(e)}b.hasExtractors=true;return true}},getAccessor:function(e){var d=this,a=d.extractorCache,b,c;if(typeof e==="string"){c=d.getAccessorKey(e);b=a.get(c);if(!b){b=d.createAccessor(e);a.add(c,b)}}else{b=d.createAccessor(e)}return b},getAccessorKey:function(a){return this.$className+a},createAccessor:Ext.emptyFn,createFieldAccessor:Ext.emptyFn,destroy:function(){var a=this;a.model=a.getTotal=a.getSuccess=a.getMessage=a.rawData=null;a.onMetaChange=null;a.transform=null;a.callParent()},privates:{copyFrom:function(a){var b=this;a.buildExtractors();b.getTotal=a.getTotal;b.getSuccess=a.getSuccess;b.getMessage=a.getMessage;++b.duringInit;b.setConfig(a.getConfig());--b.duringInit;b.hasExtractors=true}}},function(b){var a=b.prototype;Ext.apply(a,{nullResultSet:new Ext.data.ResultSet({total:0,count:0,records:[],success:true,message:""})});a.extractorCache=new Ext.util.LruCache()});Ext.define("Ext.data.writer.Writer",{mixins:[Ext.mixin.Factoryable],alias:"writer.base",factoryConfig:{defaultType:null},alternateClassName:["Ext.data.DataWriter","Ext.data.Writer"],config:{clientIdProperty:null,allDataOptions:{persist:true},partialDataOptions:{changes:true,critical:true},writeAllFields:false,dateFormat:null,nameProperty:"name",writeRecordId:true,transform:null},isWriter:true,constructor:function(a){this.initConfig(a)},applyTransform:function(a){if(a){if(Ext.isFunction(a)){a={fn:a}}return a.fn.bind(a.scope||this)}return a},write:function(e){var c=e.getOperation(),b=c.getRecords()||[],a=b.length,g=[],d;for(d=0;d<a;d++){g.push(this.getRecordData(b[d],c))}return this.writeRecords(e,g)},writeRecords:Ext.emptyFn,getRecordData:function(j,h){var m=this,e=m.getNameProperty(),a=e!=="name",c=j.self.idField,q=c[e]||c.name,p=j.id,d=m.getWriteAllFields(),l,b,g,r,o,k,i,n;if(c.serialize){p=c.serialize(p)}if(!d&&h&&h.isDestroyOperation){l={};l[q]=p}else{b=m.getDateFormat();g=j.phantom;r=(g||d)?m.getAllDataOptions():m.getPartialDataOptions();o=g&&m.getClientIdProperty();k=j.getFieldsMap();r.serialize=false;i=j.getData(r);l=a?{}:i;if(o){l[o]=p;delete i[q]}else{if(!m.getWriteRecordId()){delete i[q]}}for(q in i){p=i[q];if(!(n=k[q])){if(a){l[q]=p}}else{if(n.isDateField&&b&&Ext.isDate(p)){p=Ext.Date.format(p,b)}else{if(n.serialize){p=n.serialize(p,j)}}if(a){q=n[e]||q}l[q]=p}}}return l}});Ext.define("Ext.data.proxy.Proxy",{mixins:[Ext.mixin.Factoryable,Ext.mixin.Observable],$configPrefixed:false,alias:"proxy.proxy",alternateClassName:["Ext.data.DataProxy","Ext.data.Proxy"],config:{batchOrder:"create,update,destroy",batchActions:true,model:undefined,reader:{type:"json"},writer:{type:"json"}},isProxy:true,isSynchronous:false,constructor:function(a){this.mixins.observable.constructor.call(this,a);this.pendingOperations={}},applyModel:function(a){return Ext.data.schema.Schema.lookupEntity(a)},updateModel:function(b){if(b){var a=this.getReader();if(a&&!a.getModel()){a.setModel(b)}}},applyReader:function(a){if(this.isSynchronous){a=a||{};a.keepRawData=true}return Ext.Factory.reader(a)},updateReader:function(a){if(a){var c=this,b=c.getModel();if(!b){b=a.getModel();if(b){c.setModel(b)}}else{a.setModel(b)}}},applyWriter:function(b){var a=this.getReader();b=Ext.Factory.writer(b);if(b.getRecord&&!b.getRecord()&&a&&a.getRecord){a=a.getRecord();if(a){b.setRecord(a)}}return b},abort:Ext.emptyFn,onMetaChange:function(a){this.fireEvent("metachange",this,a)},create:Ext.emptyFn,read:Ext.emptyFn,update:Ext.emptyFn,erase:Ext.emptyFn,batch:function(o,l){var k=this,j=k.getBatchActions(),h,c,g,d,e,m,b,n,i;if(o.operations===undefined){o={operations:o,listeners:l}}if(o.batch){if(Ext.isDefined(o.batch.runOperation)){h=Ext.applyIf(o.batch,{proxy:k,listeners:{}})}}else{o.batch={proxy:k,listeners:o.listeners||{}}}if(!h){h=new Ext.data.Batch(o.batch)}h.on("complete",Ext.bind(k.onBatchComplete,k,[o],0));g=k.getBatchOrder().split(",");d=g.length;for(m=0;m<d;m++){e=g[m];c=o.operations[e];if(c){if(j){h.add(k.createOperation(e,{records:c,params:o.params}))}else{n=c.length;for(b=0;b<n;b++){i=c[b];h.add(k.createOperation(e,{records:[i],params:o.params}))}}}}h.start();return h},onBatchComplete:function(a,b){var c=a.scope||this;if(b.hasException()){if(Ext.isFunction(a.failure)){Ext.callback(a.failure,c,[b,a])}}else{if(Ext.isFunction(a.success)){Ext.callback(a.success,c,[b,a])}}if(Ext.isFunction(a.callback)){Ext.callback(a.callback,c,[b,a])}},createOperation:function(c,b){var a=Ext.createByAlias("data.operation."+c,b);a.setProxy(this);this.pendingOperations[a._internalId]=a;return a},completeOperation:function(a){delete this.pendingOperations[a._internalId]},clone:function(){return new this.self(this.getInitialConfig())},destroy:function(){var b=this.pendingOperations,a,c;for(a in b){c=b[a];if(c&&c.isRunning()){c.abort()}}this.pendingOperations=null;this.callParent()}});Ext.define("Ext.data.proxy.Client",{extend:Ext.data.proxy.Proxy,alternateClassName:"Ext.data.ClientProxy",isSynchronous:true,clear:function(){}});Ext.define("Ext.data.proxy.Memory",{extend:Ext.data.proxy.Client,alias:"proxy.memory",alternateClassName:"Ext.data.MemoryProxy",isMemoryProxy:true,config:{enablePaging:false,data:{$value:null,merge:function(d,a,c,b){if(Ext.isArray(d)){return Ext.Array.clone(d)}else{return Ext.clone(d)}}}},finishOperation:function(b){var c=0,d=b.getRecords(),a=d.length;for(c;c<a;c++){d[c].dropped=!!b.isDestroyOperation;d[c].commit()}b.setSuccessful(true)},create:function(a){this.finishOperation(a)},update:function(a){this.finishOperation(a)},erase:function(a){this.finishOperation(a)},read:function(g){var i=this,j=i.getReader().read(i.getData()),d=j.getRecords(),h=g.getSorters(),a=g.getGrouper(),c=g.getFilters(),b=g.getStart(),e=g.getLimit(),k;if(g.process(j,null,null,false)!==false){if(c&&c.length){j.setRecords(d=Ext.Array.filter(d,Ext.util.Filter.createFilterFn(c)));j.setTotal(d.length)}if(a){h=h?h.concat(a):h}if(h&&h.length){j.setRecords(d=Ext.Array.sort(d,Ext.util.Sortable.createComparator(h)))}if(i.getEnablePaging()&&b!==undefined&&e!==undefined){if(b>=j.getTotal()){j.setConfig({success:false,records:[],total:0})}else{j.setRecords(Ext.Array.slice(d,b,b+e))}}g.setCompleted();if(k=j.getMetadata()){i.onMetaChange(k)}}},clear:Ext.emptyFn});Ext.define("Ext.data.ProxyStore",{extend:Ext.data.AbstractStore,config:{model:undefined,fields:null,proxy:undefined,autoLoad:undefined,autoSync:false,batchUpdateMode:"operation",sortOnLoad:true,trackRemoved:true,asynchronousLoad:undefined},onClassExtended:function(b,d,a){var c=d.model,e;if(typeof c==="string"){e=a.onBeforeCreated;a.onBeforeCreated=function(){var h=this,g=arguments;Ext.require(c,function(){e.apply(h,g)})}}},implicitModel:"Ext.data.Model",autoSyncSuspended:0,constructor:function(a){var b=this;b.removed=[];b.callParent(arguments);if(b.getAsynchronousLoad()===false){b.flushLoad()}},applyAsynchronousLoad:function(a){if(a==null){a=!this.loadsSynchronously()}return a},updateAutoLoad:function(a){this.getData();if(a){this.load(Ext.isObject(a)?a:undefined)}},getTotalCount:function(){return this.totalCount||0},applyFields:function(a){if(a){this.createImplicitModel(a)}},applyModel:function(a){if(a){a=Ext.data.schema.Schema.lookupEntity(a)}else{if(!this.destroying){this.getFields();a=this.getModel()||this.createImplicitModel()}}return a},applyProxy:function(b){var a=this.getModel();if(b!==null){if(b){if(b.isProxy){b.setModel(a)}else{if(Ext.isString(b)){b={type:b,model:a}}else{if(!b.model){b=Ext.apply({model:a},b)}}b=Ext.createByAlias("proxy."+b.type,b);b.autoCreated=true}}else{if(a){b=a.getProxy();this.useModelProxy=true}}if(!b){b=Ext.createByAlias("proxy.memory");b.autoCreated=true}}return b},applyState:function(b){var a=this;a.callParent([b]);if(a.getAutoLoad()||a.isLoaded()){a.load()}},updateProxy:function(b,a){this.proxyListeners=Ext.destroy(this.proxyListeners)},updateTrackRemoved:function(a){this.cleanRemoved();this.removed=a?[]:null},onMetaChange:function(a,b){this.fireEvent("metachange",this,b)},create:function(e,c){var d=this,g=d.getModel(),a=new g(e),b;c=Ext.apply({},c);if(!c.records){c.records=[a]}c.internalScope=d;c.internalCallback=d.onProxyWrite;b=d.createOperation("create",c);return b.execute()},read:function(){return this.load.apply(this,arguments)},update:function(b){var c=this,a;b=Ext.apply({},b);if(!b.records){b.records=c.getUpdatedRecords()}b.internalScope=c;b.internalCallback=c.onProxyWrite;a=c.createOperation("update",b);return a.execute()},onProxyWrite:function(b){var c=this,d=b.wasSuccessful(),a=b.getRecords();switch(b.getAction()){case"create":c.onCreateRecords(a,b,d);break;case"update":c.onUpdateRecords(a,b,d);break;case"destroy":c.onDestroyRecords(a,b,d);break}if(d){c.fireEvent("write",c,b);c.fireEvent("datachanged",c)}},onCreateRecords:Ext.emptyFn,onUpdateRecords:Ext.emptyFn,onDestroyRecords:function(b,a,c){if(c){this.cleanRemoved()}},erase:function(b){var c=this,a;b=Ext.apply({},b);if(!b.records){b.records=c.getRemovedRecords()}b.internalScope=c;b.internalCallback=c.onProxyWrite;a=c.createOperation("destroy",b);return a.execute()},onBatchOperationComplete:function(b,a){return this.onProxyWrite(a)},onBatchComplete:function(c,a){var g=this,b=c.operations,e=b.length,d;if(g.batchUpdateMode!=="operation"){g.suspendEvents();for(d=0;d<e;d++){g.onProxyWrite(b[d])}g.resumeEvents()}g.isSyncing=false;g.fireEvent("datachanged",g)},onBatchException:function(b,a){},filterNew:function(a){return a.phantom===true&&a.isValid()},getNewRecords:function(){return[]},getUpdatedRecords:function(){return[]},getModifiedRecords:function(){return[].concat(this.getNewRecords(),this.getUpdatedRecords())},filterUpdated:function(a){return a.dirty===true&&a.phantom!==true&&a.isValid()},getRemovedRecords:function(){var a=this.getRawRemovedRecords();return a?Ext.Array.clone(a):[]},sync:function(c){var e=this,b={},g=e.getNewRecords(),d=e.getUpdatedRecords(),a=e.getRemovedRecords(),h=false;e.needsSync=false;if(g.length>0){b.create=g;h=true}if(d.length>0){b.update=d;h=true}if(a.length>0){b.destroy=a;h=true}if(h&&e.fireEvent("beforesync",b)!==false){e.isSyncing=true;c=c||{};e.proxy.batch(Ext.apply(c,{operations:b,listeners:e.getBatchListeners()}))}return e},getBatchListeners:function(){var b=this,a={scope:b,exception:b.onBatchException,complete:b.onBatchComplete};if(b.batchUpdateMode==="operation"){a.operationcomplete=b.onBatchOperationComplete}return a},save:function(){return this.sync.apply(this,arguments)},load:function(a){var b=this;if(typeof a==="function"){a={callback:a}}else{a=a?Ext.Object.chain(a):{}}b.pendingLoadOptions=a;if(b.getAsynchronousLoad()){if(!b.loadTimer){b.loadTimer=Ext.asap(b.flushLoad,b)}}else{b.flushLoad()}return b},flushLoad:function(){var c=this,b=c.pendingLoadOptions,a;c.clearLoadTask();if(!b){return}c.setLoadOptions(b);if(c.getRemoteSort()&&b.sorters){c.fireEvent("beforesort",c,b.sorters)}a=Ext.apply({internalScope:c,internalCallback:c.onProxyLoad,scope:c},b);c.lastOptions=a;a=c.createOperation("read",a);if(c.fireEvent("beforeload",c,a)!==false){c.onBeforeLoad(a);c.loading=true;a.execute()}},reload:function(a){return this.load(Ext.apply({},a,this.lastOptions))},onEndUpdate:function(){var a=this;if(a.needsSync&&a.autoSync&&!a.autoSyncSuspended){a.sync()}},afterReject:function(a){var b=this;if(b.contains(a)){b.onUpdate(a,Ext.data.Model.REJECT,null);b.fireEvent("update",b,a,Ext.data.Model.REJECT,null)}},afterCommit:function(a,c){var b=this;if(!c){c=null}if(b.contains(a)){b.onUpdate(a,Ext.data.Model.COMMIT,c);b.fireEvent("update",b,a,Ext.data.Model.COMMIT,c)}},afterErase:function(a){this.onErase(a)},onErase:Ext.emptyFn,onUpdate:Ext.emptyFn,doDestroy:function(){var b=this,a=b.getProxy();b.clearLoadTask();b.getData().destroy();b.data=null;b.setProxy(null);if(a.autoCreated){a.destroy()}b.setModel(null);b.callParent()},hasPendingLoad:function(){return !!this.pendingLoadOptions||this.isLoading()},isLoading:function(){return !!this.loading},isLoaded:function(){return this.loadCount>0},suspendAutoSync:function(){++this.autoSyncSuspended},resumeAutoSync:function(b){var a=this;if(a.autoSyncSuspended&&!--a.autoSyncSuspended){if(b){a.sync()}}},removeAll:Ext.emptyFn,clearData:Ext.emptyFn,privates:{getRawRemovedRecords:function(){return this.removed},onExtraParamsChanged:function(){},clearLoadTask:function(){if(this.loadTimer){Ext.asapCancel(this.loadTimer)}this.pendingLoadOptions=this.loadTimer=null},cleanRemoved:function(){var c=this.getRawRemovedRecords(),a,b;if(c){for(b=0,a=c.length;b<a;++b){c[b].unjoin(this)}c.length=0}},createOperation:function(d,a){var e=this,b=e.getProxy(),c;if(!e.proxyListeners){c={scope:e,destroyable:true,beginprocessresponse:e.beginUpdate,endprocessresponse:e.endUpdate};if(!e.disableMetaChangeEvent){c.metachange=e.onMetaChange}e.proxyListeners=b.on(c)}return b.createOperation(d,a)},createImplicitModel:function(a){var e=this,b={extend:e.implicitModel,statics:{defaultProxy:"memory"}},d,c;if(a){b.fields=a}c=Ext.define(null,b);e.setModel(c);d=e.getProxy();if(d){c.setProxy(d)}else{e.setProxy(c.getProxy())}},loadsSynchronously:function(){return this.getProxy().isSynchronous},onBeforeLoad:Ext.privateFn,removeFromRemoved:function(a){var b=this.getRawRemovedRecords();if(b){Ext.Array.remove(b,a);a.unjoin(this)}},setLoadOptions:function(a){var c=this,b,d;if(c.getRemoteFilter()){b=c.getFilters(false);if(b&&b.getCount()){a.filters=b.getRange()}}if(c.getRemoteSort()){d=c.getSorters(false);if(d&&d.getCount()){a.sorters=d.getRange()}}}}});Ext.define("Ext.data.LocalStore",{extend:Ext.Mixin,mixinConfig:{id:"localstore"},config:{extraKeys:null},applyExtraKeys:function(a){var c,b=this.getData();b.setExtraKeys(a);a=b.getExtraKeys();for(c in a){this[c]=a[c]}},add:function(a){return this.insert(this.getCount(),arguments.length===1?a:arguments)},constructDataCollection:function(){var a=new Ext.util.Collection({rootProperty:"data"});a.addObserver(this);return a},createModel:function(a){var b=this.getSession(),c;if(!a.isModel){c=this.getModel();a=new c(a,b)}return a},createFiltersCollection:function(){return this.getData().getFilters()},createSortersCollection:function(){var a=this.getData().getSorters();a.setSorterConfigure(this.addFieldTransform,this);return a},onCollectionBeginUpdate:function(){this.beginUpdate()},onCollectionEndUpdate:function(){this.endUpdate()},onCollectionSort:function(){this.onSorterEndUpdate()},onCollectionFilter:function(){this.onFilterEndUpdate()},notifySorterChange:function(){this.getData().onSorterChange()},forceLocalSort:function(){this.getData().onSortChange()},contains:function(a){return this.indexOf(a)>-1},each:function(e,d,h){var g=this.getData(),a,b,c;if(typeof h==="object"){h=h.filtered}if(h===true&&g.filtered){g=g.getSource()}g=g.items.slice(0);a=g.length;for(c=0;c<a;++c){b=g[c];if(e.call(d||b,b,c,a)===false){break}}},collect:function(b,a,e){var c=this,d=c.getData();if(typeof a==="object"){e=a.filtered;a=a.allowNull}if(e===true&&d.filtered){d=d.getSource()}return d.collect(b,"data",a)},getById:function(b){var a=this.getData();if(a.filtered){a=a.getSource()}return a.get(b)||null},getByInternalId:function(a){var c=this.getData(),b;if(c.filtered){if(!c.$hasExtraKeys){b=this.makeInternalKeyCfg();c.setExtraKeys(b);c.$hasExtraKeys=true}c=c.getSource()}if(!c.$hasExtraKeys){c.setExtraKeys(b||this.makeInternalKeyCfg());c.$hasExtraKeys=true}return c.byInternalId.get(a)||null},getDataSource:function(){var a=this.getData();return a.getSource()||a},indexOf:function(a){return this.getData().indexOf(a)},indexOfId:function(a){return this.indexOf(this.getById(a))},insert:function(c,b){var e=this,a,d;if(b){if(!Ext.isIterable(b)){b=[b]}else{b=Ext.Array.clone(b)}a=b.length}if(!a){return[]}for(d=0;d<a;++d){b[d]=e.createModel(b[d])}e.getData().insert(c,b);return b},queryBy:function(b,a){var c=this.getData();return(c.getSource()||c).createFiltered(b,a)},query:function(e,d,g,a,b){var c=this.getData();return(c.getSource()||c).createFiltered(e,d,g,a,b)},first:function(a){return this.getData().first(a)||null},last:function(a){return this.getData().last(a)||null},sum:function(c,a){var b=this.getData();return(a&&this.isGrouped())?b.sumByGroup(c):b.sum(c)},count:function(a){var b=this.getData();return(a&&this.isGrouped())?b.countByGroup():b.count()},min:function(c,a){var b=this.getData();return(a&&this.isGrouped())?b.minByGroup(c):b.min(c)},max:function(c,a){var b=this.getData();return(a&&this.isGrouped())?b.maxByGroup(c):b.max(c)},average:function(c,a){var b=this.getData();return(a&&this.isGrouped())?b.averageByGroup(c):b.average(c)},aggregate:function(h,l,e,j){var g=this,a,d,b,k,c;if(e&&g.isGrouped()){a=g.getGroups().items;d=a.length;b={};for(c=0;c<d;++c){k=a[c];b[k.getGroupKey()]=g.getAggregate(h,l||g,k.items,j)}return b}else{return g.getAggregate(h,l,g.getData().items,j)}},getAggregate:function(g,e,c,h){var b=[],a=c.length,d;for(d=0;d<a;++d){b[d]=c[d].get(h)}return g.call(e||this,c,b)},addObserver:function(a){var b=this.observers;if(!b){this.observers=b=new Ext.util.Collection()}b.add(a)},removeObserver:function(a){var b=this.observers;if(b){b.remove(a)}},callObservers:function(h,d){var j=this.observers,a,c,e,b,g;if(j){c=j.items;if(d){d.unshift(this)}else{d=[this]}for(e=0,a=c.length;e<a;++e){g=c[e];b="onSource"+h;if(g[b]){g[b].apply(g,d)}}}},queryRecordsBy:function(e,d){var h=this.getData(),g=[],a,c,b;h=(h.getSource()||h).items;d=d||this;for(c=0,a=h.length;c<a;++c){b=h[c];if(e.call(d,b)===true){g.push(b)}}return g},queryRecords:function(h,g){var e=this.getData(),d=[],a,c,b;e=(e.getSource()||e).items;for(c=0,a=e.length;c<a;++c){b=e[c];if(b.get(h)===g){d.push(b)}}return d},privates:{isLast:function(a){return a===this.last()},makeInternalKeyCfg:function(){return{byInternalId:{property:"internalId",rootProperty:""}}}}});Ext.define("Ext.data.proxy.Server",{extend:Ext.data.proxy.Proxy,alias:"proxy.server",alternateClassName:"Ext.data.ServerProxy",isRemote:true,config:{url:"",pageParam:"page",startParam:"start",limitParam:"limit",groupParam:"group",groupDirectionParam:"groupDir",sortParam:"sort",filterParam:"filter",directionParam:"dir",idParam:"id",simpleSortMode:false,simpleGroupMode:false,noCache:true,cacheString:"_dc",timeout:30000,api:{create:undefined,read:undefined,update:undefined,destroy:undefined},extraParams:{}},create:function(){return this.doRequest.apply(this,arguments)},read:function(){return this.doRequest.apply(this,arguments)},update:function(){return this.doRequest.apply(this,arguments)},erase:function(){return this.doRequest.apply(this,arguments)},setExtraParam:function(a,b){var c=this.getExtraParams();c[a]=b;this.fireEvent("extraparamschanged",c)},updateExtraParams:function(b,a){this.fireEvent("extraparamschanged",b)},buildRequest:function(a){var g=this,b=Ext.apply({},a.getParams()),h=Ext.applyIf(b,g.getExtraParams()||{}),e,d,c;Ext.applyIf(h,g.getParams(a));d=a.getId();c=g.getIdParam();if(d!==undefined&&h[c]===undefined){h[c]=d}e=new Ext.data.Request({params:h,action:a.getAction(),records:a.getRecords(),url:a.getUrl(),operation:a,proxy:g});e.setUrl(g.buildUrl(e));a.setRequest(e);return e},processResponse:function(i,b,d,c){var g=this,a,e,h,j;if(g.destroying||g.destroyed){return}g.fireEvent("beginprocessresponse",g,c,b);if(i===true){e=g.getReader();if(c.status===204){h=e.getNullResultSet()}else{h=e.read(g.extractResponseData(c),{recordCreator:b.getRecordCreator()})}b.process(h,d,c);a=!b.wasSuccessful()}else{g.setException(b,c);a=true}if(a){g.fireEvent("exception",g,c,b)}else{j=h.getMetadata();if(j){g.onMetaChange(j)}}g.afterRequest(d,i);g.fireEvent("endprocessresponse",g,c,b)},setException:function(b,a){b.setException({status:a.status,statusText:a.statusText,response:a})},extractResponseData:Ext.identityFn,applyEncoding:function(a){return Ext.encode(a)},encodeSorters:function(e,c){var a=[],d=e.length,b;for(b=0;b<d;b++){a[b]=e[b].serialize()}return this.applyEncoding(c?a[0]:a)},encodeFilters:function(e){var a=[],d=e.length,b,c;for(b=0;b<d;b++){c=e[b];c.getFilterFn();if(c.generatedFilterFn){a.push(c.serialize())}}return this.applyEncoding(a)},getParams:function(p){if(!p.isReadOperation){return{}}var v=this,u={},s=p.getGrouper(),a=p.getSorters(),n=p.getFilters(),i=p.getPage(),h=p.getStart(),t=p.getLimit(),l=v.getSimpleSortMode(),d=v.getSimpleGroupMode(),r=v.getPageParam(),e=v.getStartParam(),b=v.getLimitParam(),c=v.getGroupParam(),m=v.getGroupDirectionParam(),g=v.getSortParam(),q=v.getFilterParam(),o=v.getDirectionParam(),k,j;if(r&&i){u[r]=i}if(e&&(h||h===0)){u[e]=h}if(b&&t){u[b]=t}k=c&&s;if(k){if(d){u[c]=s.getProperty();u[m]=s.getDirection()}else{u[c]=v.encodeSorters([s],true)}}if(g&&a&&a.length>0){if(l){j=0;if(a.length>1&&k){j=1}u[g]=a[j].getProperty();u[o]=a[j].getDirection()}else{u[g]=v.encodeSorters(a)}}if(q&&n&&n.length>0){u[q]=v.encodeFilters(n)}return u},buildUrl:function(c){var b=this,a=b.getUrl(c);if(b.getNoCache()){a=Ext.urlAppend(a,Ext.String.format("{0}={1}",b.getCacheString(),Ext.Date.now()))}return a},getUrl:function(b){var a;if(b){a=b.getUrl()||this.getApi()[b.getAction()]}return a?a:this.callParent()},doRequest:function(a){},afterRequest:Ext.emptyFn,destroy:function(){var a=this;a.destroying=true;a.reader=a.writer=Ext.destroy(a.reader,a.writer);a.callParent();a.destroying=false;a.destroyed=true}});Ext.define("Ext.data.proxy.Ajax",{extend:Ext.data.proxy.Server,alias:"proxy.ajax",alternateClassName:["Ext.data.HttpProxy","Ext.data.AjaxProxy"],isAjaxProxy:true,defaultActionMethods:{create:"POST",read:"GET",update:"POST",destroy:"POST"},config:{binary:false,headers:undefined,paramsAsJson:false,withCredentials:false,useDefaultXhrHeader:true,username:null,password:null,actionMethods:{create:"POST",read:"GET",update:"POST",destroy:"POST"}},doRequest:function(a){var d=this,e=d.getWriter(),c=d.buildRequest(a),h=d.getMethod(c),b,g;if(e&&a.allowWrite()){c=e.write(c)}c.setConfig({binary:d.getBinary(),headers:d.getHeaders(),timeout:d.getTimeout(),scope:d,callback:d.createRequestCallback(c,a),method:h,useDefaultXhrHeader:d.getUseDefaultXhrHeader(),disableCaching:false});if(h.toUpperCase()!=="GET"&&d.getParamsAsJson()){g=c.getParams();if(g){b=c.getJsonData();if(b){b=Ext.Object.merge({},b,g)}else{b=g}c.setJsonData(b);c.setParams(undefined)}}if(d.getWithCredentials()){c.setWithCredentials(true);c.setUsername(d.getUsername());c.setPassword(d.getPassword())}return d.sendRequest(c)},sendRequest:function(a){a.setRawRequest(Ext.Ajax.request(a.getCurrentConfig()));this.lastRequest=a;return a},abort:function(a){a=a||this.lastRequest;if(a){Ext.Ajax.abort(a.getRawRequest())}},getMethod:function(a){var c=this.getActionMethods(),b=a.getAction(),d;if(c){d=c[b]}return d||this.defaultActionMethods[b]},createRequestCallback:function(c,a){var b=this;return function(e,g,d){if(c===b.lastRequest){b.lastRequest=null}b.processResponse(g,a,c,d)}},destroy:function(){this.lastRequest=null;this.callParent()}});Ext.define("Ext.data.reader.Json",{extend:Ext.data.reader.Reader,alternateClassName:"Ext.data.JsonReader",alias:"reader.json",config:{record:null,metaProperty:"metaData",useSimpleAccessors:false,preserveRawData:false},updateRootProperty:function(){this.forceBuildExtractors()},updateMetaProperty:function(){this.forceBuildExtractors()},getResponseData:function(a){var b;try{return Ext.decode(a.responseText)}catch(c){b=this.createReadError(c.message);Ext.Logger.warn("Unable to parse the JSON returned by the server");this.fireEvent("exception",this,a,b);return b}},buildExtractors:function(){var c=this,a,b;if(c.callParent(arguments)){a=c.getMetaProperty();b=c.getRootProperty();if(b){c.getRoot=c.getAccessor(b)}else{c.getRoot=Ext.identityFn}if(a){c.getMeta=c.getAccessor(a)}}},extractData:function(a,e){var g=this.getRecord(),d=[],c,b;if(g){c=a.length;if(!c&&Ext.isObject(a)){c=1;a=[a]}for(b=0;b<c;b++){d[b]=a[b][g]}}else{d=a}return this.callParent([d,e])},getModelData:function(a){return this.getPreserveRawData()?Ext.apply({},a):a},createAccessor:(function(){var a=/[\[\.]/;return function(r){var n=this,b=n.getUseSimpleAccessors(),e,u,k,g,d,q,t,p,o,l,m,h,s,j;if(!(r||r===0)){return}if(typeof r==="function"){return r}if(!b){e=String(r).search(a)}if(b===true||e<0){u=function(c){return c[r]}}else{k="raw";g=[];d="";q=0;j=r.length;for(h=0;h<=j;++h){m=r[h];t=m===".";p=m==="[";o=m==="]";l=t||p||o||!m;if(!l||q>1||(q&&!o)){d+=m}else{if(l){s=false;if(p){++q}else{if(o){--q;s=true}}if(d){if(s){d="["+d+"]"}else{d="."+d}k+=d;g.push(""+k);d=""}}}}u=g.join(" && ");u=Ext.functionFactory("raw","return "+u)}return u}}()),createFieldAccessor:function(e){var b=this,a=e.mapping,c=a||a===0,d=c?a:e.name;if(c){if(typeof d==="function"){return function(g){return e.mapping(g,b)}}else{return b.createAccessor(d)}}},getAccessorKey:function(b){var a=this.getUseSimpleAccessors()?"simple":"";return this.$className+a+b},privates:{copyFrom:function(a){this.callParent([a]);this.getRoot=a.getRoot}}});Ext.define("Ext.data.writer.Json",{extend:Ext.data.writer.Writer,alternateClassName:"Ext.data.JsonWriter",alias:"writer.json",config:{rootProperty:undefined,encode:false,allowSingle:true,expandData:false},getExpandedData:function(d){var b=d.length,e=0,k,a,g,c,h,l=function(i,j){var m={};m[i]=j;return m};for(;e<b;e++){k=d[e];for(a in k){if(k.hasOwnProperty(a)){g=a.split(".");c=g.length-1;if(c>0){h=k[a];for(;c>0;c--){h=l(g[c],h)}k[g[0]]=k[g[0]]||{};Ext.Object.merge(k[g[0]],h);delete k[a]}}}}return d},writeRecords:function(e,g){var d=this,a=d.getRootProperty(),c,h,b;if(d.getExpandData()){g=d.getExpandedData(g)}if(d.getAllowSingle()&&g.length===1){g=g[0];h=true}b=this.getTransform();if(b){g=b(g,e)}if(d.getEncode()){if(a){e.setParam(a,Ext.encode(g))}else{}}else{if(h||(g&&g.length)){c=e.getJsonData()||{};if(a){c[a]=g}else{c=g}e.setJsonData(c)}}return e}});Ext.define("Ext.util.Group",{extend:Ext.util.Collection,config:{groupKey:null},$endUpdatePriority:2001,manageSorters:false});Ext.define("Ext.util.SorterCollection",{extend:Ext.util.Collection,isSorterCollection:true,$sortable:null,sortFn:null,config:{sorterOptionsFn:null,sorterOptionsScope:null},constructor:function(a){var b=this;b.sortFn=Ext.util.Sorter.createComparator(b);b.callParent([a]);b.setDecoder(b.decodeSorter)},addSort:function(j,i,c){var h=this,d,e,b,l,a,k,g;if(!j){h.beginUpdate();h.endUpdate()}else{l=h.getOptions();if(j instanceof Array){g=j;c=i;i=null}else{if(Ext.isString(j)){if(!(k=h.get(j))){g=[{property:j,direction:i||l.getDefaultSortDirection()}]}else{g=[k]}}else{if(Ext.isFunction(j)){g=[{sorterFn:j,direction:i||l.getDefaultSortDirection()}]}else{g=[j];c=i;i=null}}}c=h._sortModes[c||"replace"];a=h.getAt(0);d=h.length;e=c.append?d:0;h.beginUpdate();h.splice(e,c.replace?d:0,g);if(c.multi){d=h.length;b=l.getMultiSortLimit();if(d>b){h.removeAt(b,d)}}if(k&&i){k.setDirection(i)}else{if(e===0&&a&&a===h.getAt(0)){a.toggle()}}h.endUpdate()}},clear:function(){this.beginUpdate();this.callParent();this.endUpdate(this.items)},getSortFn:function(){return this.sortFn},getByProperty:function(e){var b=this.items,a=b.length,c,d;for(c=0;c<a;++c){d=b[c];if(d.getProperty()===e){return d}}return null},_sortModes:{append:{append:1},multi:{multi:1},prepend:{prepend:1},replace:{replace:1}},decodeSorter:function(i,a){var g=this,j=g.getOptions(),h=j.getRootProperty(),b=g.getSorterOptionsFn(),c,e,d;if(i.isSorter){if(!i.getRoot()){i.setRoot(h)}}else{e={direction:j.getDefaultSortDirection(),root:h};d=typeof i;if(d==="string"){c=g.get(i);if(c){return c}e.property=i}else{if(d==="function"){e.sorterFn=i}else{e=Ext.apply(e,i);if(e.fn){e.sorterFn=e.fn;delete e.fn}}}i=Ext.create(a||"Ext.util.Sorter",e)}if(b){b.call(g.getSorterOptionsScope()||g,i)}return i},setSorterConfigure:function(b,a){this.setSorterOptionsFn(b);this.setSorterOptionsScope(a)},decodeRemoveItems:function(h,d){var k=this,e=(d===undefined)?h:h[d];if(!e||!e.$cloned){if(h.length>d+1||!Ext.isIterable(e)){e=Ext.Array.slice(h,d)}var l=k.items,g=e.length,c=[],b,m,a,o,j;for(b=0;b<g;b++){o=e[b];if(o&&o.isSorter){c.push(o)}else{j=typeof o;if(j==="string"){o=k.get(o);if(o){c.push(o)}}else{if(j==="function"){for(a=l.length;a-->0;){m=l[a];if(m.getSorterFn()===o){c.push(m)}}}}}}e=c;e.$cloned=true}return e},getOptions:function(){return this.$sortable||this}});Ext.define("Ext.util.FilterCollection",{extend:Ext.util.Collection,isFilterCollection:true,$filterable:null,filterFn:null,constructor:function(a){var b=this;b.filterFn=Ext.util.Filter.createFilterFn(b);b.callParent([a]);b.setDecoder(b.decodeFilter)},filterData:function(a){return this.filtered?Ext.Array.filter(a,this.filterFn):a},getFilterFn:function(){return this.filterFn},isItemFiltered:function(a){return !this.filterFn(a)},decodeFilter:function(c){var b=this.getOptions(),a=b.getRootProperty(),d;if(c.isFilter){if(!c.getRoot()){c.setRoot(a)}}else{d={root:a};if(Ext.isFunction(c)){d.filterFn=c}else{d=Ext.apply(d,c);if(d.fn){d.filterFn=d.fn;delete d.fn}if(Ext.util.Filter.isInvalid(d)){return false}}c=new Ext.util.Filter(d)}return c},decodeRemoveItems:function(p,k){var r=this,l=(k===undefined)?p:p[k];if(!l.$cloned){if(p.length>k+1||!Ext.isIterable(l)){l=Ext.Array.slice(p,k)}var e=r.items,o=l.length,h=[],b,g,c,m,a,s,j,d,q;for(g=0;g<o;g++){b=l[g];if(b&&b.isFilter){h.push(b)}else{q=typeof b;c=q==="function";m=b.property!==undefined&&b.value!==undefined;a=q==="string";for(d=e.length;d-->0;){s=e[d];j=false;if(a){j=s.getProperty()===b}else{if(c){j=s.getFilterFn()===b}else{if(m){j=s.getProperty()===b.property&&s.getValue()===b.value}}}if(j){h.push(s)}}}}l=h;l.$cloned=true}return l},getOptions:function(){return this.$filterable||this}});Ext.define("Ext.util.GroupCollection",{extend:Ext.util.Collection,isGroupCollection:true,config:{grouper:null,itemRoot:null},observerPriority:-100,constructor:function(a){this.callParent([a]);this.on("remove","onGroupRemove",this)},onCollectionAdd:function(b,a){this.addItemsToGroups(b,a.items,a.at)},onCollectionBeforeItemChange:function(b,a){this.changeDetails=a},onCollectionBeginUpdate:function(){this.beginUpdate()},onCollectionEndUpdate:function(){this.endUpdate()},onCollectionItemChange:function(c,a){var b=a.item;if(!a.indexChanged){this.syncItemGrouping(c,b,c.getKey(b),a.oldKey,a.oldIndex)}this.changeDetails=null},onCollectionRefresh:function(a){this.removeAll();this.addItemsToGroups(a,a.items)},onCollectionRemove:function(a,b){var h=this,l=h.changeDetails,g,j,k,e,c,d,m;if(l){m=l.item;k=h.findGroupForItem(m);g=[];if(k){g.push({group:k,items:[m]})}}else{g=h.groupItems(a,b.items,false)}for(e=0,c=g.length;e<c;++e){k=(j=g[e]).group;if(k){k.remove(j.items);if(!k.length){(d||(d=[])).push(k)}}}if(d){h.remove(d)}},onCollectionSort:function(e){var d=this,h=e.getSorters(false),a,c,b,g;if(h){a=d.items;c=d.length;for(b=0;b<c;++b){g=a[b];if(g.getSorters()!==h){g.setSorters(h)}}}},onCollectionUpdateKey:function(d,b){var a=b.index,c=b.item;if(!b.indexChanged){a=d.indexOf(c);this.syncItemGrouping(d,c,b.newKey,b.oldKey,a)}},addItemsToGroups:function(c,b,a){this.groupItems(c,b,true,a)},groupItems:function(k,h,n,g){var s=this,l={},e=[],j=k.getGrouper(),a=s.itemGroupKeys,c,b,d,p,m,r,q,o,t;for(m=0,o=h.length;m<o;++m){p=j.getGroupString(r=h[m]);q=k.getKey(r);if(n){(a||(s.itemGroupKeys=a={}))[q]=p}else{if(a){delete a[q]}}if(!(b=l[p])){if(!(d=s.getByKey(p))&&n){(t||(t=[])).push(d=s.createGroup(k,p))}e.push(l[p]=b={group:d,items:[]})}b.items.push(r)}if(n&&s.length>1&&g){c=k.indexOf(e[0].group.getAt(0));g=Math.max(g-c,0)}for(m=0,o=e.length;m<o;++m){b=e[m];b.group.insert(g!=null?g:d.items.length,b.items)}if(t){s.add(t)}return e},syncItemGrouping:function(a,q,g,j,b){var n=this,k=n.itemGroupKeys||(n.itemGroupKeys={}),c=a.getGrouper(),r=c.getGroupString(q),h=0,m=-1,o=g,l,p,e,i,d;if(j||j===0){i=k[j];delete k[j];o=j}else{i=k[g]}k[g]=r;if(!(p=n.get(r))){p=n.createGroup(a,r);l=[p]}if(p.get(o)!==q){if(p.getCount()>0&&a.getSorters().getCount()===0){d=a.indexOf(p.items[0]);if(b<d){m=0}else{m=b-d}}if(m===-1){p.add(q)}else{p.insert(m,q)}}else{p.itemChanged(q,null,j)}if(r!==i&&(i===0||i)){e=n.get(i);if(e){e.remove(q);if(!e.length){h=[e]}}}if(l){n.splice(0,h,l)}else{if(h){n.splice(0,h)}}},createGroup:function(b,a){var c=new Ext.util.Group({groupKey:a,rootProperty:this.getItemRoot(),sorters:b.getSorters()});return c},getKey:function(a){return a.getGroupKey()},createSortFn:function(){var c=this,a=c.getGrouper(),b=c.getSorters().getSortFn();if(!a){return b}return function(d,e){return a.sort(d.items[0],e.items[0])||b(d,e)}},updateGrouper:function(a){var b=this;b.grouped=!!(a&&b.$groupable.getAutoGroup());b.onSorterChange();b.onEndUpdateSorters(b.getSorters())},destroy:function(){this.$groupable=null;this.destroyGroups(this.items);this.callParent()},privates:{destroyGroups:function(b){var a=b.length,c;for(c=0;c<a;++c){b[c].destroy()}},findGroupForItem:function(d){var b=this.items,a=b.length,c,e;for(c=0;c<a;++c){e=b[c];if(e.contains(d)){return e}}},onGroupRemove:function(b,a){this.destroyGroups(a.items)}}});Ext.define("Ext.data.Store",{extend:Ext.data.ProxyStore,alias:"store.store",mixins:[Ext.data.LocalStore],config:{data:0,clearRemovedOnLoad:true,clearOnPageLoad:true,associatedEntity:null,role:null,session:null},addRecordsOptions:{addRecords:true},loadCount:0,complete:false,moveMapCount:0,constructor:function(a){var b=this,c;if(a){if(a.buffered){return new Ext.data.BufferedStore(a)}}b.callParent([a]);c=b.inlineData;if(c){delete b.inlineData;b.loadInlineData(c)}},applyData:function(c,a){var b=this;b.getFields();b.getModel();if(c&&c.isCollection){a=c}else{if(!a){a=b.constructDataCollection()}if(c){if(b.isInitializing){b.inlineData=c}else{b.loadData(c)}}}return a},loadInlineData:function(c){var b=this,a=b.getProxy();if(a&&a.isMemoryProxy){a.setData(c);b.suspendEvents();b.read();b.resumeEvents()}else{b.removeAll(true);b.suspendEvents();b.loadData(c);b.resumeEvents()}},onCollectionAdd:function(b,a){this.onCollectionAddItems(b,a.items,a)},onCollectionFilterAdd:function(b,a){this.onCollectionAddItems(b,a)},onCollectionAddItems:function(g,b,a){var l=this,j=b.length,n=a?!a.next:false,h=l.removed,e=l.ignoreCollectionAdd,k=l.getSession(),p=a&&a.replaced,c,m,d,o;for(c=0;c<j;++c){d=b[c];if(k){k.adopt(d)}if(!e){d.join(l);if(h&&h.length){Ext.Array.remove(h,d)}m=m||d.phantom||d.dirty}}if(e){return}if(p){o=[];do{Ext.Array.push(o,p.items);p=p.next}while(p);l.setMoving(o,true)}if(a){if(a.replaced){if(n){l.fireEvent("refresh",l)}}else{l.fireEvent("add",l,b,a.at);if(n){l.fireEvent("datachanged",l)}}}if(o){l.setMoving(o,false)}l.needsSync=l.needsSync||m},onCollectionBeforeItemChange:function(e,d){var a=d.item,c=d.modified||null,b=d.meta;this.fireEvent("beforeupdate",this,a,b,c,d)},onCollectionFilteredItemChange:function(){this.onCollectionItemChange.apply(this,arguments)},onCollectionItemChange:function(g,e){var d=this,a=e.item,c=e.modified||null,b=e.meta;if(d.fireChangeEvent(a)){d.onUpdate(a,b,c,e);d.fireEvent("update",d,a,b,c,e)}},afterChange:function(a,c,b){this.getData().itemChanged(a,c||null,undefined,b)},afterCommit:function(a,b){this.afterChange(a,b,Ext.data.Model.COMMIT)},afterEdit:function(a,b){this.needsSync=this.needsSync||a.dirty;this.afterChange(a,b,Ext.data.Model.EDIT)},afterReject:function(a){this.afterChange(a,null,Ext.data.Model.REJECT)},afterDrop:function(a){this.getData().remove(a)},afterErase:function(a){this.removeFromRemoved(a)},addSorted:function(a){var c=this,e=c.getRemoteSort(),d=c.getData(),b;if(e){d.setSorters(c.getSorters())}b=d.findInsertionIndex(a);if(e){d.setSorters(null)}return c.insert(b,a)},remove:function(b,k,h){var j=this,c=j.getDataSource(),g,d,a,e;if(b){if(b.isModel){if(c.indexOf(b)>-1){a=[b];g=1}else{g=0}}else{a=[];for(d=0,g=b.length;d<g;++d){e=b[d];if(e&&e.isEntity){if(!c.contains(e)){continue}}else{if(!(e=c.getAt(e))){continue}}a.push(e)}g=a.length}}if(!g){return[]}j.removeIsMove=k===true;j.removeIsSilent=h;c.remove(a);j.removeIsSilent=false;return a},onCollectionRemove:function(h,a){var n=this,j=n.removed,c=a.items,l=c.length,k=a.at,b=a.replacement,p=n.removeIsMove||(b&&Ext.Array.equals(c,b.items)),m=n.removeIsSilent,o=!a.next,e=n.getDataSource(),d,g;if(n.ignoreCollectionRemove){return}if(b){n.setMoving(b.items,true)}for(d=0;d<l;++d){g=c[d];if(!e.contains(g)){if(j&&!p&&!g.phantom&&!g.erasing){g.removedFrom=k+d;j.push(g);n.needsSync=true}else{g.unjoin(n)}}}if(!m){if(!b||!b.items.length){n.fireEvent("remove",n,c,k,p);if(o){n.fireEvent("datachanged",n)}}}if(b){n.setMoving(b.items,false)}},onFilterEndUpdate:function(){var a=this;if(a.destroying||a.destroyed){return}a.callParent(arguments);a.callObservers("Filter")},removeAt:function(a,b){var c=this.getData();a=Math.max(a,0);if(a<c.length){if(arguments.length===1){b=1}else{if(!b){return}}c.removeAt(a,b)}},removeAll:function(b){var c=this,d=c.getData(),e=c.hasListeners.clear,a=d.getRange();if(d.length){c.removeIsSilent=true;c.callObservers("BeforeRemoveAll");d.removeAll();c.removeIsSilent=false;if(!b){c.fireEvent("clear",c,a);c.fireEvent("datachanged",c)}c.callObservers("AfterRemoveAll",[!!b])}return a},setRecords:function(a){var b=this.getCount();++this.loadCount;if(b){this.getData().splice(0,b,a)}else{this.add(a)}},splice:function(a,c,b){return this.getData().splice(a,c,b)},onProxyLoad:function(b){var d=this,c=b.getResultSet(),a=b.getRecords(),e=b.wasSuccessful();if(d.destroyed){return}if(c){d.totalCount=c.getTotal()}if(e){a=d.processAssociation(a);d.loadRecords(a,b.getAddRecords()?{addRecords:true}:undefined)}else{d.loading=false}if(d.hasListeners.load){d.fireEvent("load",d,a,e,b)}d.callObservers("AfterLoad",[a,e,b])},filterDataSource:function(e){var g=this.getDataSource(),b=g.items,a=b.length,c=[],d;for(d=0;d<a;d++){if(e.call(g,b[d])){c.push(b[d])}}return c},getNewRecords:function(){return this.filterDataSource(this.filterNew)},getRejectRecords:function(){return this.filterDataSource(this.filterRejects)},getUpdatedRecords:function(){return this.filterDataSource(this.filterUpdated)},loadData:function(g,a){var e=this,d=g.length,c=[],b;for(b=0;b<d;b++){c.push(e.createModel(g[b]))}c=e.processAssociation(c);e.loadRecords(c,a?e.addRecordsOptions:undefined)},loadRawData:function(e,b){var d=this,g=d.getSession(),a=d.getProxy().getReader().read(e,g?{recordCreator:g.recordCreator}:undefined),c=a.getRecords(),h=a.getSuccess();if(h){d.totalCount=a.getTotal();d.loadRecords(c,b?d.addRecordsOptions:undefined)}return h},loadRecords:function(a,c){var h=this,g=a.length,j=h.getData(),e,d,b;if(c){e=c.addRecords}if(!h.getRemoteSort()&&!h.getSortOnLoad()){b=true;j.setAutoSort(false)}if(!e){h.clearData(true)}h.loading=false;h.ignoreCollectionAdd=true;h.callObservers("BeforePopulate");j.add(a);h.ignoreCollectionAdd=false;if(b){j.setAutoSort(true)}for(d=0;d<g;d++){a[d].join(h)}++h.loadCount;h.complete=true;if(h.hasListeners.datachanged){h.fireEvent("datachanged",h)}if(h.hasListeners.refresh){h.fireEvent("refresh",h)}h.callObservers("AfterPopulate")},loadPage:function(d,a){var c=this,b=c.getPageSize();c.currentPage=d;a=Ext.apply({page:d,start:(d-1)*b,limit:b,addRecords:!c.getClearOnPageLoad()},a);c.read(a)},nextPage:function(a){this.loadPage(this.currentPage+1,a)},previousPage:function(a){this.loadPage(this.currentPage-1,a)},clearData:function(c){var k=this,h=k.removed,d=k.getDataSource(),j=k.getClearRemovedOnLoad(),l=h&&c&&!j,a,e,b,g;if(d){a=d.items;for(b=0,g=a.length;b<g;++b){e=a[b];if(l&&Ext.Array.contains(h,e)){continue}e.unjoin(k)}k.ignoreCollectionRemove=true;k.callObservers("BeforeClear");d.removeAll();k.ignoreCollectionRemove=false;k.callObservers("AfterClear")}if(h&&(!c||j)){h.length=0}},onIdChanged:function(c,b,a){this.getData().updateKey(c,b);this.fireEvent("idchanged",this,c,b,a)},commitChanges:function(){var c=this,d=c.getModifiedRecords(),a=d.length,b=0;Ext.suspendLayouts();c.beginUpdate();for(;b<a;b++){d[b].commit()}c.cleanRemoved();c.endUpdate();Ext.resumeLayouts(true)},filterNewOnly:function(a){return a.phantom===true},filterRejects:function(a){return a.phantom||a.dirty},rejectChanges:function(){var j=this,k=j.getRejectRecords(),g=k.length,d,b,a,h,c,e;Ext.suspendLayouts();j.beginUpdate();for(d=0;d<g;d++){b=k[d];if(b.phantom){a=a||[];a.push(b)}else{b.reject()}}if(a){j.remove(a);for(d=0,g=a.length;d<g;++d){a[d].reject()}}k=j.getRawRemovedRecords();if(k){g=k.length;h=!j.getRemoteSort()&&j.isSorted();if(h){c=j.getData();e=c.getAutoSort();c.setAutoSort(false)}for(d=g-1;d>=0;d--){b=k[d];b.reject();if(!h){j.insert(b.removedFrom||0,b)}}if(h){c.setAutoSort(e);j.add(k)}k.length=0}j.endUpdate();Ext.resumeLayouts(true)},doDestroy:function(){var b=this,a=b.loadTask,d=b.getData(),c=d.getSource();b.clearData();b.setSession(null);b.observers=null;if(a){a.cancel();b.loadTask=null}if(c){c.destroy()}b.callParent()},privates:{fetch:function(b){b=Ext.apply({},b);this.setLoadOptions(b);var a=this.createOperation("read",b);a.execute()},fireChangeEvent:function(a){return this.getDataSource().contains(a)},onBeforeLoad:function(a){this.callObservers("BeforeLoad",[a])},onRemoteFilterSet:function(a,b){if(a){this.getData().setFilters(b?null:a)}this.callParent([a,b])},onRemoteSortSet:function(b,c){var a=this.getData();if(b){a.setSorters(c?null:b)}a.setAutoGroup(!c);this.callParent([b,c])},isMoving:function(c,e){var g=this.moveMap,b=0,a,d;if(g){if(c){if(Ext.isArray(c)){for(d=0,a=c.length;d<a;++d){b+=g[c[d].id]?1:0}}else{if(g[c.id]){++b}}}else{b=e?g:this.moveMapCount}}return b},setLoadOptions:function(c){var d=this,a=d.getPageSize(),e,b;if(d.getRemoteSort()&&!c.grouper){b=d.getGrouper();if(b){c.grouper=b}}if(a||"start" in c||"limit" in c||"page" in c){c.page=c.page!=null?c.page:d.currentPage;c.start=(c.start!==undefined)?c.start:(c.page-1)*a;c.limit=c.limit!=null?c.limit:a;d.currentPage=c.page}c.addRecords=c.addRecords||false;if(!c.recordCreator){e=d.getSession();if(e){c.recordCreator=e.recordCreator}}d.callParent([c])},setMoving:function(b,g){var d=this,e=d.moveMap||(d.moveMap={}),a=b.length,c,h;for(c=0;c<a;++c){h=b[c].id;if(g){if(e[h]){++e[h]}else{e[h]=1;++d.moveMapCount}}else{if(--e[h]===0){delete e[h];--d.moveMapCount}}}if(d.moveMapCount===0){d.moveMap=null}},processAssociation:function(a){var c=this,b=c.getAssociatedEntity();if(b){a=c.getRole().processLoad(c,b,a,c.getSession())}return a}}});Ext.define("Ext.data.reader.Array",{extend:Ext.data.reader.Json,alternateClassName:"Ext.data.ArrayReader",alias:"reader.array",config:{totalProperty:undefined,successProperty:undefined},createFieldAccessor:function(d){var b=d.mapping,c=d.hasMapping()?b:d.ordinal,a;d.mapping=c;a=this.callParent(arguments);d.mapping=b;return a},getModelData:function(a){return{}}});Ext.define("Ext.data.ArrayStore",{extend:Ext.data.Store,alias:"store.array",alternateClassName:["Ext.data.SimpleStore"],config:{proxy:{type:"memory",reader:"array"}},loadData:function(e,a){if(this.expandData){var d=[],b=0,c=e.length;for(;b<c;b++){d[d.length]=[e[b]]}e=d}this.callParent([e,a])}});Ext.define("Ext.data.StoreManager",{extend:Ext.util.MixedCollection,alternateClassName:["Ext.StoreMgr","Ext.data.StoreMgr","Ext.StoreManager"],singleton:true,register:function(){for(var a=0,b;(b=arguments[a]);a++){this.add(b)}},unregister:function(){for(var a=0,b;(b=arguments[a]);a++){this.remove(this.lookup(b))}},lookup:function(c,h){if(Ext.isArray(c)){var b=["field1"],e=!Ext.isArray(c[0]),g=c,d,a;if(e){g=[];for(d=0,a=c.length;d<a;++d){g.push([c[d]])}}else{for(d=2,a=c[0].length;d<=a;++d){b.push("field"+d)}}return new Ext.data.ArrayStore({data:g,fields:b,autoDestroy:true,autoCreated:true,expanded:e})}if(Ext.isString(c)){return this.get(c)}else{return Ext.Factory.store(c,h)}},getKey:function(a){return a.storeId},addEmptyStore:function(){var a=Ext.regStore("ext-empty-store",{proxy:"memory",useModelWarning:false});a.isEmptyStore=true;this.add(a)},clear:function(){this.callParent();this.addEmptyStore()}},function(){Ext.regStore=function(c,b){var a;if(Ext.isObject(c)){b=c}else{if(Ext.data.StoreManager.containsKey(c)){return Ext.data.StoreManager.lookup(c)}b.storeId=c}if(b instanceof Ext.data.Store){a=b}else{a=new Ext.data.Store(b)}Ext.data.StoreManager.register(a);return a};Ext.getStore=function(a){return Ext.data.StoreManager.lookup(a)};Ext.data.StoreManager.addEmptyStore()});Ext.define("Ext.app.domain.Store",{extend:Ext.app.EventDomain,singleton:true,type:"store",prefix:"store.",idMatchRe:/^\#/,constructor:function(){var a=this;a.callParent();a.monitor(Ext.data.AbstractStore)},match:function(d,b){var a=false,c=d.alias;if(b==="*"){a=true}else{if(this.idMatchRe.test(b)){a=d.getStoreId()===b.substring(1)}else{if(c){a=Ext.Array.indexOf(c,this.prefix+b)>-1}}}return a}});Ext.define("Ext.app.route.Queue",{queue:null,token:null,constructor:function(a){Ext.apply(this,a);this.queue=new Ext.util.MixedCollection()},queueAction:function(a,b){this.queue.add({route:a,args:b})},clearQueue:function(){this.queue.removeAll()},runQueue:function(){var a=this.queue,c=a.removeAt(0),b;if(c){b=c&&c.route;b.execute(this.token,c.args,this.onActionExecute,this)}},onActionExecute:function(a){if(a){this.clearQueue()}else{this.runQueue()}}});Ext.define("Ext.app.route.Route",{action:null,conditions:null,controller:null,allowInactive:false,url:null,before:null,caseInsensitive:false,matcherRegex:null,paramMatchingRegex:null,paramsInMatchString:null,constructor:function(b){var c=this,a;Ext.apply(c,b,{conditions:{}});a=c.url;c.paramMatchingRegex=new RegExp(/:([0-9A-Za-z\_]*)/g);c.paramsInMatchString=a.match(c.paramMatchingRegex)||[];c.matcherRegex=c.createMatcherRegex(a)},recognize:function(c){var d=this,a=d.controller,e,b;if((d.allowInactive||a.isActive())&&d.recognizes(c)){e=d.matchesFor(c);b=c.match(d.matcherRegex);b.shift();return Ext.applyIf(e,{controller:a,action:d.action,historyUrl:c,args:b})}return false},recognizes:function(a){return this.matcherRegex.test(a)},execute:function(c,h,i,d){var b=h.args||[],g=this.before,a=this.controller,e=this.createCallback(h,i,d);if(g){b.push(e);if(Ext.isString(g)){g=this.before=a[g]}if(g){g.apply(a,b)}}else{e.resume()}},matchesFor:function(c){var g={},e=this.paramsInMatchString,b=c.match(this.matcherRegex),d=0,a=e.length;b.shift();for(;d<a;d++){g[e[d].replace(":","")]=b[d]}return g},createMatcherRegex:function(a){var c=this.paramsInMatchString,j=this.conditions,d=0,g=c.length,k=Ext.util.Format.format,l=this.caseInsensitive?"i":"",b,h,e;for(;d<g;d++){b=c[d];h=j[b];e=k("{0}",h||"([%a-zA-Z0-9\\-\\_\\s,]+)");a=a.replace(new RegExp(b),e)}return new RegExp("^"+a+"$",l)},createCallback:function(a,d,b){var c=this;b=b||c;return{resume:function(){var e=c.controller,h=c.action,g;if(Ext.isString(h)){h=e[h]}a=a&&a.args?a.args:[];g=a.pop();if(g&&!Ext.isObject(g)){a.push(g)}if(h){c.action=h;h.apply(e,a)}if(d){d.call(b)}},stop:function(e){if(d){d.call(b,e)}}}}});Ext.define("Ext.util.History",{singleton:true,alternateClassName:"Ext.History",mixins:{observable:Ext.util.Observable},useTopWindow:false,constructor:function(){var a=this;a.hiddenField=null;a.ready=false;a.currentToken=null;a.mixins.observable.constructor.call(a)},getHash:function(){return this.win.location.hash.substr(1)},setHash:function(b){try{this.win.location.hash=b;this.currentToken=b}catch(a){}},handleStateChange:function(a){this.currentToken=a;this.fireEvent("change",a)},startUp:function(){var a=this;a.currentToken=a.getHash();if(Ext.supports.Hashchange){Ext.get(a.win).on("hashchange",a.onHashChange,a)}else{Ext.TaskManager.start({fireIdleEvent:false,run:a.onHashChange,interval:50,scope:a})}a.ready=true;a.fireEvent("ready",a)},onHashChange:function(){var b=this,a=b.getHash();if(a!==b.hash){b.hash=a;b.handleStateChange(a)}},init:function(c,a){var b=this;if(b.ready){Ext.callback(c,a,[b]);return}if(!Ext.isReady){Ext.onInternalReady(function(){b.init(c,a)});return}b.win=b.useTopWindow?window.top:window;b.hash=b.getHash();if(c){b.on("ready",c,a,{single:true})}b.startUp()},add:function(a,b){var c=this,d=false;if(b===false||c.getToken()!==a){c.setHash(a);d=true}return d},back:function(){var a=this.useTopWindow?window.top:window;a.history.go(-1)},forward:function(){var a=this.useTopWindow?window.top:window;a.history.go(1)},getToken:function(){return this.ready?this.currentToken:this.getHash()}});Ext.define("Ext.app.route.Router",{singleton:true,multipleToken:"|",queueRoutes:true,constructor:function(){var a=Ext.util.History;if(!a.ready){a.init()}a.on("change",this.onStateChange,this);this.clear()},onStateChange:function(d){var l=this,c=l.application,n=l.routes,h=n.length,p=l.queueRoutes,k=d.split(l.multipleToken),o=0,b=k.length,e,g,m,j,a;for(;o<b;o++){d=k[o];a=false;if(p){g=new Ext.app.route.Queue({token:d})}for(e=0;e<h;e++){m=n[e];j=m.recognize(d);if(j){a=true;if(p){g.queueAction(m,j)}else{m.execute(d,j)}}}if(p){g.runQueue()}if(!a&&c){c.fireEvent("unmatchedroute",d)}}},connect:function(c,d,a){var b={url:c,action:d,controller:a};if(Ext.isObject(d)){Ext.merge(b,d)}this.routes.push(new Ext.app.route.Route(b))},disconnectAll:function(c){var b=this.routes,a=b.length,e=[],g,d;for(g=0;g<a;++g){d=b[g];if(d.controller!==c){e.push(d)}}this.routes=e},recognize:function(e){var b=this.routes||[],g=0,a=b.length,c,d;for(;g<a;g++){c=b[g];d=c.recognize(e);if(d){return{route:c,args:d}}}return false},draw:function(a){a.call(this,this)},clear:function(){this.routes=[]}});Ext.define("Ext.app.Controller",{extend:Ext.app.BaseController,statics:{strings:{model:{getter:"getModel",upper:"Model"},view:{getter:"getView",upper:"View"},controller:{getter:"getController",upper:"Controller"},store:{getter:"getStore",upper:"Store"},profile:{getter:"getProfile",upper:"Profiles"}},controllerRegex:/^(.*)\.controller\./,profileRegex:/^(.*)\.profile\./,createGetter:function(a,b){return function(){return this[a](b)}},getGetterName:function(c,a){var d="get",e=c.split("."),g=e.length,b;for(b=0;b<g;b++){d+=Ext.String.capitalize(e[b])}d+=a;return d},resolveNamespace:function(a,g){var h=Ext.app.Controller,e=a.prototype.isProfile?h.profileRegex:h.controllerRegex,d,c,b;d=Ext.getClassName(a);c=g.$namespace||g.namespace||Ext.app.getNamespace(d)||((b=e.exec(d))&&b[1]);return c},processDependencies:function(r,s,d,e,k,b){if(!k||!k.length){return}var l=this,q=l.strings[e],c,p,n,a,g,h,m,i;if(!Ext.isArray(k)){k=[k]}for(g=0,h=k.length;g<h;g++){a=k[g];c=l.getFullName(a,e,d,b);k[g]=p=c.absoluteName;n=c.shortName;s.push(p);m=l.getGetterName(n,q.upper);if(!r[m]){r[m]=i=l.createGetter(q.getter,a)}if(i&&e!=="controller"){i["Ext.app.getter"]=true}}},getFullName:function(c,g,e,d){var a=c,b,h;if((b=c.indexOf("@"))>0){a=c.substring(0,b);h=c.substring(b+1)+"."+a}else{if(c.indexOf(".")>0&&(Ext.ClassManager.isCreated(c)||this.hasRegisteredPrefix(c))){h=c;a=c.replace(e+"."+g+".","")}else{if(e){h=e+"."+g+"."+(d?d+"."+c:c);a=c}else{h=c}}}return{absoluteName:h,shortName:a}},hasRegisteredPrefix:function(a){var c=Ext.ClassManager,b=c.getPrefix(a);return b&&b!==a}},models:null,views:null,stores:null,controllers:null,config:{application:null,refs:null,active:true,moduleClassName:null},onClassExtended:function(b,c,a){var d=a.onBeforeCreated;a.onBeforeCreated=function(e,j){var k=Ext.app.Controller,h=[],g,i;i=e.prototype;g=k.resolveNamespace(e,j);if(g){i.$namespace=g}k.processDependencies(i,h,g,"model",j.models);k.processDependencies(i,h,g,"view",j.views);k.processDependencies(i,h,g,"store",j.stores);k.processDependencies(i,h,g,"controller",j.controllers);Ext.require(h,Ext.Function.pass(d,arguments,this))}},constructor:function(a){this.initAutoGetters();this.callParent([a])},normalizeRefs:function(b){var c=this,a=[];if(b){if(Ext.isObject(b)){Ext.Object.each(b,function(d,e){if(Ext.isString(e)){e={selector:e}}e.ref=d;a.push(e)})}else{if(Ext.isArray(b)){a=Ext.Array.merge(a,b)}}}b=c.refs;if(b){c.refs=null;b=c.normalizeRefs(b);if(b){a=Ext.Array.merge(a,b)}}return a},getRefMap:function(){var g=this,c=g._refMap,a,e,d,b;if(!c){a=g.getRefs();c=g._refMap={};if(a){for(b=0,d=a.length;b<d;b++){e=a[b];c[e.ref]=e.selector}}}return c},applyId:function(a){return a||Ext.app.Controller.getFullName(this.$className,"controller",this.$namespace).shortName},applyRefs:function(a){return this.normalizeRefs(Ext.clone(a))},updateRefs:function(a){if(a){this.ref(a)}},initAutoGetters:function(){var b=this.self.prototype,c,a;for(c in b){a=b[c];if(a&&a["Ext.app.getter"]){a.call(this)}}},doInit:function(b){var a=this;if(!a._initialized){a.init(b);a._initialized=true}},finishInit:function(g){var d=this,e=d.controllers,b,c,a;if(d._initialized&&e&&e.length){for(c=0,a=e.length;c<a;c++){b=d.getController(e[c]);b.finishInit(g)}}},init:Ext.emptyFn,onLaunch:Ext.emptyFn,activate:function(){this.setActive(true)},deactivate:function(){this.setActive(false)},isActive:function(){return this.getActive()},ref:function(a){var g=this,b=0,e=a.length,h,d,c;a=Ext.Array.from(a);g.references=g.references||[];for(;b<e;b++){h=a[b];d=h.ref;c="get"+Ext.String.capitalize(d);if(!g[c]){g[c]=Ext.Function.pass(g.getRef,[d,h],g)}g.references.push(d.toLowerCase())}},addRef:function(a){this.ref(a)},getRef:function(d,g,a){var c=this,e=c.refCache||(c.refCache={}),b=e[d];g=g||{};a=a||{};Ext.apply(g,a);if(g.forceCreate){return Ext.ComponentManager.create(g,"component")}if(!b){if(g.selector){e[d]=b=Ext.ComponentQuery.query(g.selector)[0]}if(!b&&g.autoCreate){e[d]=b=Ext.ComponentManager.create(g,"component")}if(b){b.on("destroy",function(){e[d]=null})}}return b},hasRef:function(b){var a=this.references;return a&&Ext.Array.indexOf(a,b.toLowerCase())!==-1},getController:function(b){var a=this.getApplication();if(b===this.getId()){return this}return a&&a.getController(b)},getStore:function(c){var a,b;a=(c.indexOf("@")===-1)?c:c.split("@")[0];b=Ext.StoreManager.get(a);if(!b){c=Ext.app.Controller.getFullName(c,"store",this.$namespace);if(c){b=Ext.create(c.absoluteName,{id:a})}}return b},getModel:function(c){var b=Ext.app.Controller.getFullName(c,"model",this.$namespace),a=Ext.ClassManager.get(b.absoluteName);if(!a){a=Ext.data.schema.Schema.lookupEntity(c)}return a},getProfile:function(a){a=Ext.app.Controller.getFullName(a,"profile",this.$namespace);return a},getView:function(a){var b=Ext.app.Controller.getFullName(a,"view",this.$namespace);return b&&Ext.ClassManager.get(b.absoluteName)},destroy:function(a,b){var d=this,g=d.application,e,c;if(!b&&g){g.unregister(d)}d.application=null;if(a){e=d.refCache;for(c in e){if(e.hasOwnProperty(c)){Ext.destroy(e[c])}}}d.callParent()}});Ext.define("Ext.app.Application",{extend:Ext.app.Controller,isApplication:true,scope:undefined,namespaces:[],paths:null,config:{name:"",appProperty:"app",profiles:[],currentProfile:null,mainView:{$value:null,lazy:true},defaultToken:null,glyphFontFamily:null,quickTips:true},onClassExtended:function(i,c,h){var b=Ext.app.Controller,d=i.prototype,k=[],e,j,a,g;a=c.name||i.superclass.name;if(a){c.$namespace=a;Ext.app.addNamespaces(a)}if(c.namespaces){Ext.app.addNamespaces(c.namespaces)}if(c["paths processed"]){delete c["paths processed"]}else{Ext.app.setupPaths(a,("appFolder" in c)?c.appFolder:i.superclass.appFolder,c.paths)}b.processDependencies(d,k,a,"profile",c.profiles);d.getDependencies(i,c,k);if(k.length){e=h.onBeforeCreated;h.onBeforeCreated=function(l,n){var m=Ext.Array.clone(arguments);Ext.require(k,function(){return e.apply(this,m)})}}},getDependencies:Ext.emptyFn,constructor:function(a){var b=this;Ext.app.route.Router.application=b;b.callParent([a]);b.doInit(b);b.initNamespace();Ext.on("appupdate",b.onAppUpdate,b,{single:true});this.onProfilesReady()},applyId:function(a){return a||this.$className},onAppUpdate:Ext.emptyFn,onProfilesReady:function(){var e=this,b=e.getProfiles(),d=b.length,g,c,a;for(c=0;c<d;c++){a=Ext.create(b[c],{application:e});if(a.isActive()&&!g){g=a;e.setCurrentProfile(g)}}if(g){g.init()}e.initControllers();e.onBeforeLaunch();e.finishInitControllers()},initNamespace:function(){var c=this,a=c.getAppProperty(),b;b=Ext.namespace(c.getName());if(b){b.getApplication=function(){return c};if(a){if(!b[a]){b[a]=c}}}},initControllers:function(){var d=this,e=Ext.Array.from(d.controllers),b=d.getCurrentProfile(),a,c;d.controllers=new Ext.util.MixedCollection();for(a=0,c=e.length;a<c;a++){d.getController(e[a])}if(b){e=b.getControllers();for(a=0,c=e.length;a<c;a++){d.getController(e[a])}}},finishInitControllers:function(){var c=this,d,b,a;d=c.controllers.getRange();for(b=0,a=d.length;b<a;b++){d[b].finishInit(c)}},launch:Ext.emptyFn,onBeforeLaunch:function(){var j=this,e=Ext.util.History,a=j.getDefaultToken(),h=j.getCurrentProfile(),b,i,k,g,d;j.initMainView();if(h){h.launch()}j.launch.call(j.scope||j);j.launched=true;j.fireEvent("launch",j);b=j.controllers.items;k=b.length;for(i=0;i<k;i++){g=b[i];g.onLaunch(j)}if(!e.ready){e.init()}d=e.getToken();if(d||d===a){Ext.app.route.Router.onStateChange(d)}else{if(a){e.add(a)}}if(Ext.Microloader&&Ext.Microloader.appUpdate&&Ext.Microloader.appUpdate.updated){Ext.Microloader.fireAppUpdate()}Ext.defer(Ext.ClassManager.clearNamespaceCache,2000,Ext.ClassManager)},getModuleClassName:function(a,b){return Ext.app.Controller.getFullName(a,b,this.getName()).absoluteName},initMainView:function(){var c=this,b=c.getCurrentProfile(),a;if(b){a=b.getMainView()}if(a){c.setMainView(a)}else{c.getMainView()}},applyMainView:function(b){var a=this.getView(b);return a.create({$initParent:this.viewport})},createController:function(a){return this.getController(a)},destroyController:function(a){if(typeof a==="string"){a=this.getController(a,true)}Ext.destroy(a)},getController:function(b,a){var l=this,d=l.controllers,j,g,h,e,k,m;g=d.get(b);if(!g){m=d.items;for(e=0,h=m.length;e<h;++e){k=m[e];j=k.getModuleClassName();if(j&&j===b){g=k;break}}}if(!g&&!a){j=l.getModuleClassName(b,"controller");g=Ext.create(j,{application:l,moduleClassName:j});d.add(g);if(l._initialized){g.doInit(l)}}return g},unregister:function(a){this.controllers.remove(a)},getApplication:function(){return this},destroy:function(a){var c=this,e=c.controllers,b=Ext.namespace(c.getName()),d=c.getAppProperty();Ext.un("appupdate",c.onAppUpdate,c);Ext.destroy(c.viewport);if(e){e.each(function(g){g.destroy(a,true)})}c.controllers=null;c.callParent([a,true]);if(b&&b[d]===c){delete b[d]}if(Ext.app.route.Router.application===c){Ext.app.route.Router.application=null}if(Ext.app.Application.instance===c){Ext.app.Application.instance=null}},updateGlyphFontFamily:function(a){Ext.setGlyphFontFamily(a)},applyProfiles:function(a){var b=this;return Ext.Array.map(a,function(c){return b.getModuleClassName(c,"profile")})}});Ext.application=function(a){var b=function(c){Ext.onReady(function(){var d=Ext.viewport;d=d&&d.Viewport;if(d&&d.setup){d.setup(c.prototype.config.viewport)}Ext.app.Application.instance=new c()})};if(typeof a==="string"){Ext.require(a,function(){b(Ext.ClassManager.get(a))})}else{a=Ext.apply({extend:"Ext.app.Application"},a);Ext.app.setupPaths(a.name,a.appFolder,a.paths);a["paths processed"]=true;Ext.define(a.name+".$application",a,function(){b(this)})}};Ext.define("Ext.util.ItemCollection",{extend:Ext.util.MixedCollection,alternateClassName:"Ext.ItemCollection",getKey:function(a){return a.getItemId&&a.getItemId()},has:function(a){return this.map.hasOwnProperty(a.getId())}});Ext.define("Ext.mixin.Queryable",{mixinId:"queryable",isQueryable:true,query:function(a){a=a||"*";return Ext.ComponentQuery.query(a,this.getQueryRoot())},queryBy:function(g,e){var c=[],b=this.getQueryRoot().getRefItems(true),d=0,a=b.length,h;for(;d<a;++d){h=b[d];if(g.call(e||h,h)!==false){c.push(h)}}return c},queryById:function(a){return this.down(Ext.makeIdSelector(a))},child:function(a){var b=this.getQueryRoot().getRefItems();if(a&&a.isComponent){return this.matchById(b,a.getItemId())}if(a){b=Ext.ComponentQuery.query(a,b)}if(b.length){return b[0]}return null},down:function(a){if(a&&a.isComponent){return this.matchById(this.getRefItems(true),a.getItemId())}a=a||"";return this.query(a)[0]||null},visitPreOrder:function(a,d,c,b){Ext.ComponentQuery._visit(true,a,this.getQueryRoot(),d,c,b)},visitPostOrder:function(a,d,c,b){Ext.ComponentQuery._visit(false,a,this.getQueryRoot(),d,c,b)},getRefItems:function(){return[]},getQueryRoot:function(){return this},privates:{matchById:function(b,e){var a=b.length,c,d;for(c=0;c<a;++c){d=b[c];if(d.getItemId()===e){return d}}return null}}});Ext.define("Ext.mixin.Container",{extend:Ext.Mixin,mixinConfig:{id:"container"},isContainer:true,config:{referenceHolder:false},getReferences:function(){Ext.ComponentManager.fixReferences();return this.refs||null},lookup:function(b){var a=this.getReferences();return(a&&a[b])||null},lookupReference:function(a){return this.lookup(a)},privates:{attachReference:function(b){var d=this,c,a;if(d.destroying||d.destroyed){return}a=d.refs||(d.refs={});c=b.referenceKey;a[c]=b},clearReference:function(b){var a=this.refs,c=b.referenceKey;if(a&&c){b.viewModelKey=b.referenceKey=a[c]=null}},containerOnAdded:function(b,a){if(a){Ext.ComponentManager.markReferencesDirty()}},containerOnRemoved:function(a){var b;if(!a){b=this.lookupReferenceHolder();if(b){Ext.ComponentManager.markReferencesDirty();b.clearReferences()}}},clearReferences:function(){this.refs=null},initContainerInheritedState:function(e,c){var h=this,b=h.getController(),i=h.getSession(),d=h.getConfig("viewModel",true),a=h.getReference(),g=h.getReferenceHolder();if(b){e.referenceHolder=b;g=true}else{if(g){e.referenceHolder=h}}if(g){e.referencePath=""}else{if(a&&h.isParentReference){e.referencePath=h.referenceKey+"."}}if(i){e.session=i}if(d){e.viewModelPath=""}else{if(a&&h.isParentReference){e.viewModelPath=h.viewModelKey+"."}}},setupReference:function(b){var a;if(b&&b.charAt(a=b.length-1)===">"){this.isParentReference=true;b=b.substring(0,a)}return b}}});Ext.define("Ext.Container",{extend:Ext.Component,alternateClassName:["Ext.lib.Container","Ext.container.Container"],xtype:"container",mixins:[Ext.mixin.Queryable,Ext.mixin.Container],eventedConfig:{activeItem:0},config:{layout:"default",control:null,defaults:null,items:null,autoDestroy:true,defaultType:null,masked:null},manageBorders:false,classCls:Ext.baseCSSPrefix+"container",constructor:function(a){var b=this;b._items=b.items=new Ext.util.ItemCollection();b.innerItems=[];b.getReferences=b.getFirstReferences;b.onItemAdd=b.onFirstItemAdd;b.callParent(arguments);delete b.getReferences;if(b.manageBorders){b.element.addCls("x-managed-borders")}},initialize:function(){var d=this,c=d.classClsList,a,b;d.callParent();d.getLayout();if(c){for(a=0,b=c.length;a<b;a++){d.innerElement.addCls(c[a],null,"inner")}}},getElementConfig:function(){return{reference:"element",cls:"x-unsized",children:[{reference:"innerElement",className:"x-inner"}]}},applyMasked:function(b){var a=true,c;if(b===false){b=true;a=false}c=Ext.factory(b,Ext.Mask,this.getMasked());if(c){this.add(c);c.setHidden(!a)}return c},mask:function(a){this.setMasked(a||true)},unmask:function(){this.setMasked(false)},initInheritedState:function(b,a){this.callParent([b,a]);this.initContainerInheritedState(b,a)},onAdded:function(b,a){this.callParent([b,a]);this.containerOnAdded(b,a)},onRemoved:function(a){this.containerOnRemoved(a);this.callParent([a])},afterItemShow:function(b){var a;if(b.getDocked()){a=this.getLayout();this.items.generation++;a.handleDockedItemBorders()}},afterItemHide:function(b){var a;if(b.getDocked()){a=this.getLayout();this.items.generation++;a.handleDockedItemBorders()}},updateBaseCls:function(a,b){var c=this,d=c.innerElement;c.callParent([a,b]);if(b){d.removeCls(b,null,"inner")}if(a){d.addCls(a,null,"inner")}},applyItems:function(a,d){if(a){var b=this,c;b.getDefaultType();b.getDefaults();if(b.initialized&&d.length>0){b.removeAll()}b.add(a);if(b.initialized){c=b.initialConfig.activeItem||b.config.activeItem||0;b.setActiveItem(c)}}},applyControl:function(c){var a,b,e,d;for(a in c){d=c[a];for(b in d){e=d[b];if(Ext.isObject(e)){e.delegate=a}}d.delegate=a;this.addListener(d)}return c},onFirstItemAdd:function(){var a=this;delete a.onItemAdd;if(a.innerHtmlElement&&!a.getHtml()){a.innerHtmlElement.destroy();delete a.innerHtmlElement}a.on({innerstatechange:"onItemInnerStateChange",floatedchange:"onItemFloatedChange",scope:a,delegate:"> component"});return a.onItemAdd.apply(a,arguments)},getLayout:function(){var a=this.layout;if(!(a&&a.isLayout)){a=this.link("_layout",this.link("layout",Ext.factory(this._layout||"default",Ext.layout.Default,null,"layout")));a.setContainer(this)}return a},updateDefaultType:function(a){this.defaultItemClass=Ext.ClassManager.getByAlias("widget."+a)},factoryItem:function(c){var b=this,d=b.getDefaults(),a;if(c.isComponent){a=c;if(d&&c.isInnerItem()&&!b.has(a)){a.setConfig(d,true)}}else{if(d&&!c.ignoreDefaults){if(!(c.hasOwnProperty("left")&&c.hasOwnProperty("right")&&c.hasOwnProperty("top")&&c.hasOwnProperty("bottom")&&c.hasOwnProperty("docked")&&c.hasOwnProperty("centered"))){c=Ext.mergeIf({},c,d)}}if(!b.$hasCachedDefaultItemClass){b.getDefaultType();b.$hasCachedDefaultItemClass=true}a=Ext.factory(c,b.defaultItemClass)}return a},add:function(k){var g=this,h=true,a=[],c,d,j,b,e;if(!Ext.isArray(k)){k=[k];h=false}for(c=0,d=k.length;c<d;c++){j=k[c];if(j){e=j.isWidget;if(!e){j.$initParent=g}j=g.factoryItem(j);g.doAdd(j,e);delete j.$initParent;if(!b&&!g.getActiveItem()&&g.innerItems.length>0&&j.isInnerItem()){b=j}a.push(j)}}if(b){g.setActiveItem(b)}return h?a:a[0]},doAdd:function(e,a){var d=this,b=d.getItems(),c;if(!b.has(e)){c=b.length;b.add(e);if(e.isInnerItem()){d.insertInner(e)}e.onAdded(d,!!a);d.onItemAdd(e,c)}},remove:function(b,c){var d=this,a,e;b=d.getComponent(b);a=d.indexOf(b);e=d.getInnerItems();if(c===undefined){c=d.getAutoDestroy()}if(a!==-1){if(!d.removingAll&&e.length>1&&b===d.getActiveItem()){d.on({activeitemchange:"doRemove",scope:d,single:true,order:"after",args:[b,a,c]});d.doResetActiveItem(e.indexOf(b))}else{d.doRemove(b,a,c);if(e.length===0){d.setActiveItem(null)}}}return b},doResetActiveItem:function(a){if(a===0){this.setActiveItem(1)}else{this.setActiveItem(0)}},doRemove:function(d,a,b){var c=this;c.items.remove(d);if(d.isInnerItem()){c.removeInner(d)}c.onItemRemove(d,a,b);d.onRemoved(d.destroying||b);if(b){d.destroy()}},removeAll:function(c,g){var a=this.items,h=[],e=a.length,b=0,d;if(typeof c!="boolean"){c=this.getAutoDestroy()}g=Boolean(g);this.removingAll=true;for(;b<e;b++){d=a.getAt(b);if(d&&(g||d.isInnerItem())){this.doRemove(d,b,c);b--;e--}h.push(d)}this.setActiveItem(null);this.removingAll=false;return h},getAt:function(a){return this.items.getAt(a)},getInnerAt:function(a){return this.innerItems[a]},removeAt:function(a){var b=this.getAt(a);if(b){this.remove(b)}return b},removeInnerAt:function(a){var b=this.getInnerItems()[a];if(b){this.remove(b)}return b},has:function(a){return this.getItems().indexOf(a)!=-1},hasInnerItem:function(a){return this.innerItems.indexOf(a)!=-1},indexOf:function(a){return this.getItems().indexOf(a)},innerIndexOf:function(a){return this.innerItems.indexOf(a)},insertInner:function(d,b){var a=this.getItems().items,g=this.innerItems,h=g.indexOf(d),c=-1,e;if(h!==-1){g.splice(h,1)}if(typeof b=="number"){do{e=a[++b]}while(e&&!e.isInnerItem());if(e){c=g.indexOf(e);g.splice(c,0,d)}}if(c===-1){g.push(d);c=g.length-1}if(h!==-1){this.onInnerItemMove(d,c,h)}return this},onInnerItemMove:Ext.emptyFn,removeInner:function(a){Ext.Array.remove(this.innerItems,a);return this},insert:function(b,e){var d=this,a,c;if(Ext.isArray(e)){for(c=e.length-1;c>=0;c--){d.insert(b,e[c])}return d}a=e.isWidget;if(!a){e.$initParent=d}e=d.factoryItem(e);d.doInsert(b,e,a);delete e.$initParent;return e},doInsert:function(e,h,b){var g=this,c=g.items,d=c.length,a,i;i=h.isInnerItem();if(e>d){e=d}if(c[e-1]===h){return g}a=g.indexOf(h);if(a!==-1){c.removeAt(a)}c.insert(e,h);if(a===-1){h.onAdded(g,!!b)}if(i){g.insertInner(h,e)}if(a!==-1){g.onItemMove(h,e,a)}else{g.onItemAdd(h,e)}},insertFirst:function(a){return this.insert(0,a)},insertLast:function(a){return this.insert(this.getItems().length,a)},insertBefore:function(c,a){var b=this.indexOf(a);if(b!==-1){this.insert(b,c)}return this},insertAfter:function(c,a){var b=this.indexOf(a);if(b!==-1){this.insert(b+1,c)}return this},onItemAdd:function(c,a){var b=this;b.doItemLayoutAdd(c,a);if(b.initialized){if(c.hasListeners.added){c.fireEvent("added",c,b,a)}if(b.hasListeners.add){b.fireEvent("add",b,c,a)}}},doItemLayoutAdd:function(c,a){var b=this.getLayout();if(this.isRendered()&&c.setRendered(true)){c.fireAction("renderedchange",[this,c,true],"onItemAdd",b,{args:[c,a]})}else{b.onItemAdd(c,a)}},onItemRemove:function(c,a,d){var b=this;b.doItemLayoutRemove(c,a,d);if(c.hasListeners.removed){c.fireEvent("removed",c,b,a)}if(b.hasListeners.remove){b.fireEvent("remove",b,c,a)}},doItemLayoutRemove:function(c,a,d){var b=this.getLayout();if(this.isRendered()&&c.setRendered(false)){c.fireAction("renderedchange",[this,c,false],"onItemRemove",b,{args:[c,a,d]})}else{b.onItemRemove(c,a,d)}},onItemMove:function(c,d,a){var b=this;if(c.isDocked()){c.setDocked(null)}b.doItemLayoutMove(c,d,a);if(c.hasListeners.moved){c.fireEvent("moved",c,b,d,a)}if(b.hasListeners.move){b.fireEvent("move",b,c,d,a)}},doItemLayoutMove:function(b,c,a){this.getLayout().onItemMove(b,c,a)},onItemInnerStateChange:function(c,a){var b=this.getLayout();if(a){this.insertInner(c,this.items.indexOf(c))}else{this.removeInner(c)}b.onItemInnerStateChange.apply(b,arguments)},onItemFloatedChange:function(b,c){var a=this.getLayout();a.onItemFloatedChange(b,c)},getInnerItems:function(){return this.innerItems},getDockedItems:function(){var a=this.getItems().items,c=[],e=a.length,d,b;for(b=0;b<e;b++){d=a[b];if(d.isDocked()){c.push(d)}}return c},applyActiveItem:function(e,a){var c=this,d=c.getInnerItems();c.getItems();if(!e&&d.length===0){return 0}else{if(typeof e=="number"){e=Math.max(0,Math.min(e,d.length-1));e=d[e];if(e){return e}else{if(a){return null}}}else{if(e){var b;if(typeof e=="string"){b=c.child(e);e={xtype:e}}if(!b||!b.isComponent){e.$initParent=c;b=c.factoryItem(e)}c.pendingActiveItem=b;if(!c.has(b)){c.add(b)}delete b.$initParent;return b}}}},animateActiveItem:function(d,c){var b=this.getLayout(),a;if(this.activeItemAnimation){this.activeItemAnimation.destroy()}this.activeItemAnimation=c=new Ext.fx.layout.Card(c);if(c&&b.isCard){c.setLayout(b);a=b.getAnimation();if(a){a.disable()}c.on("animationend",function(){if(a){a.enable()}c.destroy()},this)}return this.setActiveItem(d)},updateActiveItem:function(b,a){delete this.pendingActiveItem;if(a){a.fireEvent("deactivate",a,this,b)}if(b){b.fireEvent("activate",b,this,a)}},setRendered:function(d){if(this.callParent(arguments)){var a=this.items.items,b,c;for(b=0,c=a.length;b<c;b++){a[b].setRendered(d)}return true}return false},getRefItems:function(a){var b=this.getItems().items,e=b&&b.length,c,d;if(b&&a){b=b.slice();for(c=0;c<e;c++){d=b[c];if(d.getRefItems){b=b.concat(d.getRefItems(true))}}}return b},getComponent:function(a){if(typeof a==="number"){return this.getItems().getAt(a)}if(Ext.isObject(a)){a=a.getItemId()}return this.getItems().get(a)},getDockedComponent:function(a){if(Ext.isObject(a)){a=a.getItemId()}var c=this.getDockedItems(),e=c.length,d,b;if(Ext.isNumber(a)){return c[a]}for(b=0;b<e;b++){d=c[b];if(d.id==a){return d}}return false},doDestroy:function(){var a=this;a.removeAll(true,true);a.items=Ext.destroy(a.items);a.callParent()},privates:{applyReference:function(a){return this.setupReference(a)},getFirstReferences:function(){var a=this;delete a.getReferences;a.getItems();return a.getReferences.apply(a,arguments)},syncUiCls:function(){var m=this,n=m.getUi(),b=m.currentInnerUiCls,h=m.innerElement,g=m.getBaseCls(),o=m.classClsList,e=[],a,d,k,c,l;if(b){h.removeCls(b)}if(n){n=n.split(" ");for(d=0,k=n.length;d<k;d++){a="-inner-"+n[d];if(g&&(g!==m.classCls)){e.push(g+a)}if(o){for(c=0,l=o.length;c<l;c++){e.push(o[c]+a)}}}h.addCls(e);m.currentInnerUiCls=e}m.callParent()}}},function(){this.prototype.defaultItemClass=this});Ext.define("Ext.util.InputBlocker",{singleton:true,blockInputs:function(){if(Ext.browser.is.ie){Ext.select(".x-field-text .x-input:not(.x-item-disabled) .x-input-el, .x-field-textarea .x-input:not(.x-item-disabled) .x-input-el, .x-field-search .x-input:not(.x-item-disabled) .x-input-el").each(function(a){if(a.dom.offsetWidth>0){a.dom.setAttribute("disabled",true);a.dom.setAttribute("overlayfix",true)}})}},unblockInputs:function(){if(Ext.browser.is.ie){Ext.select("[overlayfix]").each(function(a){a.dom.removeAttribute("disabled");a.dom.removeAttribute("overlayfix")})}}});Ext.define("Ext.Mask",{extend:Ext.Component,xtype:"mask",config:{baseCls:Ext.baseCSSPrefix+"mask",transparent:false,top:0,left:0,right:0,bottom:0},initialize:function(){var a=this;a.callParent();a.element.on("tap","onTap",a);a.on("hide","onHide",a)},onHide:function(){Ext.util.InputBlocker.unblockInputs();if(Ext.browser.is.AndroidStock4&&Ext.os.version.getMinor()===0){var a=this.element.getFirstChild();if(a){a.redraw()}}},onTap:function(a){this.fireEvent("tap",this,a)},updateTransparent:function(a){this.toggleCls(this.getBaseCls()+"-transparent",a)}});Ext.define("Ext.LoadMask",{extend:Ext.Mask,xtype:"loadmask",config:{message:"Loading...",cls:Ext.baseCSSPrefix+"loading-mask",messageCls:Ext.baseCSSPrefix+"mask-message",indicator:true},getTemplate:function(){var a=Ext.baseCSSPrefix;return[{reference:"innerElement",cls:a+"mask-inner",children:[{reference:"indicatorElement",cls:a+"loading-spinner-outer",children:[{cls:a+"loading-spinner",children:[{tag:"span",cls:a+"loading-top"},{tag:"span",cls:a+"loading-right"},{tag:"span",cls:a+"loading-bottom"},{tag:"span",cls:a+"loading-left"}]}]},{reference:"messageElement"}]}]},updateMessage:function(b){var a=Ext.baseCSSPrefix+"has-message";if(b){this.addCls(a)}else{this.removeCls(a)}this.messageElement.setHtml(b)},updateMessageCls:function(b,a){this.messageElement.replaceCls(a,b)},updateIndicator:function(a){this[a?"removeCls":"addCls"](Ext.baseCSSPrefix+"indicator-hidden")}});Ext.define("Ext.layout.Abstract",{mixins:[Ext.mixin.Observable],isLayout:true,constructor:function(a){this.initialConfig=a},setContainer:function(a){var b=this;b.container=a;b.mixins.observable.constructor.call(b,b.initialConfig);return b},onItemAdd:Ext.emptyFn,onItemRemove:Ext.emptyFn,onItemMove:Ext.emptyFn,onItemCenteredChange:Ext.emptyFn,onItemPositionedChange:Ext.emptyFn,onItemDockedChange:Ext.emptyFn,onItemInnerStateChange:Ext.emptyFn});Ext.define("Ext.mixin.Hookable",{extend:Ext.Mixin,mixinConfig:{id:"hookable"},bindHook:function(a,d,i,c,b){if(!i){i=d}var g=a[d],e,h;if(g&&g.hasOwnProperty("$binding")){h=g.$binding;if(h.bindingMethod===i&&h.bindingScope===this){return this}}a[d]=e=function(){var l=e.$binding,k=l.bindingScope,j=Array.prototype.slice.call(arguments);j.push(arguments);if(b){j.push.apply(j,b)}if(!l.preventDefault&&k[l.bindingMethod].apply(k,j)!==false){return l.boundFn.apply(this,arguments)}};e.$binding={preventDefault:!!c,boundFn:g,bindingMethod:i,bindingScope:this};return this},unbindHook:function(a,b,h){if(!h){h=b}var d=a[b],e=d.$binding,c,g;while(e){c=e.boundFn;if(e.bindingMethod===h&&e.bindingScope===this){if(g){g.boundFn=c}else{a[b]=c}return this}g=e;e=c.$binding}return this}});Ext.define("Ext.util.Wrapper",{mixins:[Ext.mixin.Hookable],constructor:function(c,b){var a=this.link("element",Ext.Element.create(c));if(b){a.insertBefore(b);this.wrap(b)}},bindSize:function(b){var c=this.wrappedElement,a;this.boundSizeName=b;this.boundMethodName=a=b==="width"?"setWidth":"setHeight";this.bindHook(c,a,"onBoundSizeChange");c[a].call(c,c.getStyleValue(b))},onBoundSizeChange:function(c,a){var b=this.element;if(typeof c==="string"&&c.substr(-1)==="%"){a[0]="100%"}else{c=""}b[this.boundMethodName].call(b,c)},wrap:function(c){var b=this.element,a;this.wrappedElement=c;a=b.dom;while(a.firstElementChild!==null){a=a.firstElementChild}a.appendChild(c.dom)},destroy:function(){var g=this,d=g.element,h=d.dom,e=g.wrappedElement,b=g.boundMethodName,a=h.parentNode,c;if(b){g.unbindHook(e,b,"onBoundSizeChange");c=d.getStyle(g.boundSizeName);if(c){e[b].call(e,c)}}if(a){if(!e.destroyed){a.replaceChild(h.firstElementChild,h)}delete g.wrappedElement}g.callParent()}});Ext.define("Ext.layout.wrapper.BoxDock",{config:{direction:"horizontal",element:{className:Ext.baseCSSPrefix+"dock"},bodyElement:{className:Ext.baseCSSPrefix+"dock-body"},innerWrapper:null,sizeState:false,container:null},positionMap:{top:"start",left:"start",bottom:"end",right:"end"},constructor:function(a){this.items={start:[],end:[]};this.itemsCount=0;this.initConfig(a)},addItems:function(a){var b,d,c;for(b=0,d=a.length;b<d;b++){c=a[b];this.addItem(c)}},addItem:function(o){var p=o.getDocked(),h=this.positionMap[p],a=o.$dockWrapper,b=this.getContainer(),j=b.indexOf(o),g=o.element,m=this.items,l=m[h],e,k,n,d,c;if(a){a.removeItem(o)}o.$dockWrapper=this;o.addCls(Ext.baseCSSPrefix+"dock-item");o.addCls(Ext.baseCSSPrefix+"docked-"+p);for(e=0,k=l.length;e<k;e++){n=l[e];c=b.indexOf(n);if(c>j){d=n.element;l.splice(e,0,o);break}}if(!d){l.push(o);d=this.getBodyElement()}this.itemsCount++;if(h==="start"){g.insertBefore(d)}else{g.insertAfter(d)}},removeItem:function(d,e){var c=this,a=e||d.getDocked(),b=c.items[c.positionMap[a]];Ext.Array.remove(b,d);d.element.detach();delete d.$dockWrapper;d.removeCls(Ext.baseCSSPrefix+"dock-item");d.removeCls(Ext.baseCSSPrefix+"docked-"+a);if(--c.itemsCount===0){c.destroy()}},getItemsSlice:function(c){var a=this.getContainer(),b=this.items,j=[],h,d,g,e;for(h=b.start,d=0,g=h.length;d<g;d++){e=h[d];if(a.indexOf(e)>c){j.push(e)}}for(h=b.end,d=0,g=h.length;d<g;d++){e=h[d];if(a.indexOf(e)>c){j.push(e)}}return j},applyElement:function(a){return Ext.Element.create(a)},updateElement:function(a){a.addCls(Ext.baseCSSPrefix+"dock-"+this.getDirection())},applyBodyElement:function(a){return Ext.Element.create(a)},updateBodyElement:function(a){this.getElement().append(a)},updateInnerWrapper:function(a,c){var b=this.getBodyElement();if(c&&c.$outerWrapper===this){c.getElement().detach();delete c.$outerWrapper}if(a){a.setSizeState(this.getSizeState());a.$outerWrapper=this;b.append(a.getElement())}},updateSizeState:function(b){var a=this.getInnerWrapper();this.getElement().setSizeState(b);if(a){a.setSizeState(b)}},destroy:function(){var d=this,c=d.getInnerWrapper(),b=d.$outerWrapper,a;if(c){if(b){b.setInnerWrapper(c)}else{a=c.getElement();if(!a.destroyed){a.replace(d.getElement())}delete c.$outerWrapper}}delete d.$outerWrapper;d.setInnerWrapper(null);d.unlink(["_bodyElement","_element"]);d.callParent()}});Ext.define("Ext.layout.wrapper.Inner",{config:{sizeState:null,container:null},constructor:function(a){this.initConfig(a)},getElement:function(){return this.getContainer().bodyElement},setInnerWrapper:Ext.emptyFn,getInnerWrapper:Ext.emptyFn});Ext.define("Ext.layout.Default",{extend:Ext.layout.Abstract,isAuto:true,alias:["layout.default","layout.auto"],config:{animation:null},centerWrapperClass:Ext.baseCSSPrefix+"center",dockWrapperClass:Ext.baseCSSPrefix+"dock",cls:Ext.baseCSSPrefix+"layout-auto",itemCls:Ext.baseCSSPrefix+"layout-auto-item",positionMap:{top:"start",left:"start",middle:"center",bottom:"end",right:"end"},positionDirectionMap:{top:"vertical",bottom:"vertical",left:"horizontal",right:"horizontal"},setContainer:function(a){var b=this;b.dockedItems=[];b.callParent([a]);a.innerElement.addCls(b.cls);if(a.initialized){b.onContainerInitialized()}else{a.onInitialized("onContainerInitialized",b)}},onContainerInitialized:function(){var a=this;a.handleDockedItemBorders();a.container.on({delegate:"> component",beforecenteredchange:"onItemCenteredChange",positionedchange:"onItemPositionedChange",afterdockedchange:"onAfterItemDockedChange",scope:a})},monitorSizeStateChange:function(){this.monitorSizeStateChange=Ext.emptyFn;this.container.on("sizestatechange","onContainerSizeStateChange",this)},monitorSizeFlagsChange:function(){this.monitorSizeFlagsChange=Ext.emptyFn;this.container.on("sizeflagschange","onContainerSizeFlagsChange",this)},onItemAdd:function(a){if(a.getDocked()!=null){this.dockItem(a)}else{if(a.isCentered()){this.onItemCenteredChange(a,true)}else{if(a.isPositioned()){this.onItemPositionedChange(a,true)}else{if(a.isFloated()){this.onItemFloatedChange(a,true)}else{this.onItemInnerStateChange(a,true)}}}}},onItemInnerStateChange:function(b,a,d){var c=this.itemCls;if(a){this.insertInnerItem(b,this.container.innerIndexOf(b));b.addCls(c)}else{this.removeInnerItem(b);b.removeCls(c)}},insertInnerItem:function(g,d){var b=this.container,i=b.innerElement.dom,e=g.element.dom,h=d!==-1?b.getInnerAt(d+1):null,c=null,a;if(h){a=h.getTranslatable();if(a&&a.getUseWrapper()){c=a.getWrapper().dom}else{c=h?h.element.dom:null}}i.insertBefore(e,c);return this},insertBodyItem:function(c){var a=this.container.setUseBodyElement(true),b=a.bodyElement.dom;if(c.getZIndex()===null){c.setZIndex((a.indexOf(c)+1)*2)}b.insertBefore(c.element.dom,b.firstChild);return this},removeInnerItem:function(a){a.element.detach()},removeBodyItem:function(a){a.setZIndex(null);a.element.detach()},onItemRemove:function(b,a,c){if(b.getDocked()){this.undockItem(b)}else{if(b.isCentered()){this.onItemCenteredChange(b,false)}else{if(b.isPositioned()){this.onItemPositionedChange(b,false)}else{if(b.isFloated()){this.unfloatItem(b,c)}else{this.onItemInnerStateChange(b,false,c)}}}}},onItemMove:function(b,c,a){if(b.isCentered()||b.isPositioned()){b.setZIndex((c+1)*2)}else{if(b.isInnerItem()){this.insertInnerItem(b,this.container.innerIndexOf(b))}else{this.undockItem(b);this.dockItem(b)}}},onItemCenteredChange:function(c,a){var b="$centerWrapper";if(c.isFloated()){c.center()}else{if(a){this.insertBodyItem(c);c.link(b,new Ext.util.Wrapper({className:this.centerWrapperClass},c.element))}else{c.unlink([b]);this.removeBodyItem(c)}}},onItemPositionedChange:function(b,a){if(a){this.insertBodyItem(b)}else{this.removeBodyItem(b)}},onItemFloatedChange:function(a,b){if(a.isFloated()!==b){if(b){this.floatItem(a)}else{this.unfloatItem(a)}}},onAfterItemDockedChange:function(a,c,b){if(a.initialized){if(b){this.undockItem(a,b)}if(c){this.dockItem(a)}}},onContainerSizeStateChange:function(){var a=this.getDockWrapper();if(a){a.setSizeState(this.container.getSizeState())}},onContainerSizeFlagsChange:function(){var a=this.dockedItems,b,d,c;for(b=0,d=a.length;b<d;b++){c=a[b];this.refreshDockedItemLayoutSizeFlags(c)}},refreshDockedItemLayoutSizeFlags:function(d){var b=this.container,e=this.positionDirectionMap[d.getDocked()],c=(e==="horizontal")?b.LAYOUT_HEIGHT:b.LAYOUT_WIDTH,a=(b.getSizeFlags()&c);d.setLayoutSizeFlags(a)},floatItem:function(a){this.onItemInnerStateChange(a,false)},unfloatItem:function(a,b){if(!b){this.onItemInnerStateChange(a,true)}},dockItem:function(t){var w=this,b=Ext.layout.wrapper.BoxDock,q=w.dockedItems,h=q.length,j=w.container,u=j.indexOf(t),g=w.positionDirectionMap,v=g[t.getDocked()],s=w.dockInnerWrapper,m,n,x,e,r,l,o,a,d,p,c,k;w.monitorSizeStateChange();w.monitorSizeFlagsChange();if(!s){s=w.link("dockInnerWrapper",new Ext.layout.wrapper.Inner({container:j}))}if(h===0){q.push(t);p=new b({container:j,direction:v});p.addItem(t);p.getElement().replace(s.getElement(),false);p.setInnerWrapper(s);j.onInitialized("onContainerSizeStateChange",w)}else{for(n=0;n<h;n++){x=q[n];e=j.indexOf(x);if(e>u){o=r||q[0];q.splice(n,0,t);break}r=x}if(!o){o=q[h-1];q.push(t)}a=o.getDocked();d=o.$dockWrapper;m=g[a];if(v===m){d.addItem(t)}else{l=d.getItemsSlice(u);p=new b({container:j,direction:v});if(l.length>0){if(l.length===d.itemsCount){c=d;p.setSizeState(c.getSizeState());p.getElement().replace(c.getElement(),false)}else{c=new b({container:j,direction:m});c.setInnerWrapper(d.getInnerWrapper());c.addItems(l);d.setInnerWrapper(p)}p.setInnerWrapper(c)}else{k=d.getInnerWrapper();d.setInnerWrapper(null);p.setInnerWrapper(k);d.setInnerWrapper(p)}p.addItem(t)}}if(j.initialized){w.handleDockedItemBorders()}j.onInitialized("refreshDockedItemLayoutSizeFlags",w,[t])},getDockWrapper:function(){var a=this.dockedItems;if(a.length>0){return a[0].$dockWrapper}return null},undockItem:function(g,h){var e=this,b=e.dockedItems,d,a,c=g.$dockWrapper;if(c){c.removeItem(g,h)}if(e.container.initialized){d=g.lastBorderMask;a=g.lastBorderCollapse;if(d){g.lastBorderMask=0;g.removeCls(e.noBorderClassTable[d])}if(a){g.lastBorderCollapse=0;g.removeCls(e.getBorderCollapseTable()[a])}e.handleDockedItemBorders()}Ext.Array.remove(b,g);g.setLayoutSizeFlags(0)},destroy:function(){this.dockedItems=null;this.callParent()},noBorderClassTable:[0,Ext.baseCSSPrefix+"noborder-l",Ext.baseCSSPrefix+"noborder-b",Ext.baseCSSPrefix+"noborder-bl",Ext.baseCSSPrefix+"noborder-r",Ext.baseCSSPrefix+"noborder-rl",Ext.baseCSSPrefix+"noborder-rb",Ext.baseCSSPrefix+"noborder-rbl",Ext.baseCSSPrefix+"noborder-t",Ext.baseCSSPrefix+"noborder-tl",Ext.baseCSSPrefix+"noborder-tb",Ext.baseCSSPrefix+"noborder-tbl",Ext.baseCSSPrefix+"noborder-tr",Ext.baseCSSPrefix+"noborder-trl",Ext.baseCSSPrefix+"noborder-trb",Ext.baseCSSPrefix+"noborder-trbl"],edgeMasks:{top:8,right:4,bottom:2,left:1},handleDockedItemBorders:function(){var z=this,e=0,A=8,B=4,m=2,d=1,o=z.container,t=o.getBoodyBorder&&o.getBodyBorder(),k=o.getBorder(),j=z.collapsed,q=z.edgeMasks,l=z.noBorderClassTable,y=o.items.generation,x,c,w,h,s,n,v,p,g,r,u,a;if(z.initializedBorders===y||!o.manageBorders){return}u=[];a=[];c=z.getBorderCollapseTable();l=z.getBorderClassTable?z.getBorderClassTable():l;z.initializedBorders=y;z.collapsed=false;w=o.getDockedItems();z.collapsed=j;for(s=0,n=w.length;s<n;s++){v=w[s];if(v.getHidden()){continue}p=v.getDocked();r=h=0;u.length=0;a.length=0;if(p!=="bottom"){if(e&A){x=v.border}else{x=k;if(x!==false){h+=A}}if(x===false){r+=A}}if(p!=="left"){if(e&B){x=v.border}else{x=k;if(x!==false){h+=B}}if(x===false){r+=B}}if(p!=="top"){if(e&m){x=v.border}else{x=k;if(x!==false){h+=m}}if(x===false){r+=m}}if(p!=="right"){if(e&d){x=v.border}else{x=k;if(x!==false){h+=d}}if(x===false){r+=d}}if((g=v.lastBorderMask)!==r){v.lastBorderMask=r;if(g){a[0]=l[g]}if(r){u[0]=l[r]}}if((g=v.lastBorderCollapse)!==h){v.lastBorderCollapse=h;if(g){a[a.length]=c[g]}if(h){u[u.length]=c[h]}}if(a.length){v.removeCls(a)}if(u.length){v.addCls(u)}e|=q[p]}r=h=0;u.length=0;a.length=0;if(e&A){x=t}else{x=k;if(x!==false){h+=A}}if(x===false){r+=A}if(e&B){x=t}else{x=k;if(x!==false){h+=B}}if(x===false){r+=B}if(e&m){x=t}else{x=k;if(x!==false){h+=m}}if(x===false){r+=m}if(e&d){x=t}else{x=k;if(x!==false){h+=d}}if(x===false){r+=d}if((g=z.lastBodyBorderMask)!==r){z.lastBodyBorderMask=r;if(g){a[0]=l[g]}if(r){u[0]=l[r]}}if((g=z.lastBodyBorderCollapse)!==h){z.lastBodyBorderCollapse=h;if(g){a[a.length]=c[g]}if(h){u[u.length]=c[h]}}if(a.length&&o.removeBodyCls){o.removeBodyCls(a)}if(u.length&&o.addBodyCls){o.addBodyCls(u)}},borderCollapseMap:{},getBorderCollapseTable:function(){var d=this,g=d.borderCollapseMap,a=d.container,b=a.getBaseCls(),e=a.getUi(),h=(e?("-"+e):""),c;e=e||"default";g=g[b]||(g[b]={});c=g[e];if(!c){b+=h+"-outer-border-";g[e]=c=[0,b+"l",b+"b",b+"bl",b+"r",b+"rl",b+"rb",b+"rbl",b+"t",b+"tl",b+"tb",b+"tbl",b+"tr",b+"trl",b+"trb",b+"trbl"]}return c}});Ext.define("Ext.fx.layout.card.Abstract",{extend:Ext.Evented,isAnimation:true,config:{direction:"left",duration:null,reverse:null,layout:null},updateLayout:function(a){if(a){this.enable()}},enable:function(){var a=this.getLayout();if(a){a.on("beforeactiveitemchange","onActiveItemChange",this)}},disable:function(){var a=this.getLayout();if(this.isAnimating){this.stopAnimation()}if(a){a.un("beforeactiveitemchange","onActiveItemChange",this)}},onActiveItemChange:Ext.emptyFn,destroy:function(){var b=this,a=b.getLayout();if(b.isAnimating){b.stopAnimation()}if(a){a.un("beforeactiveitemchange","onActiveItemChange",this)}b.setLayout(null);if(b.observableId){b.fireEvent("destroy",this)}b.callParent()}});Ext.define("Ext.fx.State",{isAnimatable:{"background-color":true,"background-image":true,"background-position":true,"border-bottom-color":true,"border-bottom-width":true,"border-color":true,"border-left-color":true,"border-left-width":true,"border-right-color":true,"border-right-width":true,"border-spacing":true,"border-top-color":true,"border-top-width":true,"border-width":true,bottom:true,color:true,crop:true,"font-size":true,"font-weight":true,height:true,left:true,"letter-spacing":true,"line-height":true,"margin-bottom":true,"margin-left":true,"margin-right":true,"margin-top":true,"max-height":true,"max-width":true,"min-height":true,"min-width":true,opacity:true,"outline-color":true,"outline-offset":true,"outline-width":true,"padding-bottom":true,"padding-left":true,"padding-right":true,"padding-top":true,right:true,"text-indent":true,"text-shadow":true,top:true,"vertical-align":true,visibility:true,width:true,"word-spacing":true,"z-index":true,zoom:true,transform:true},constructor:function(a){this.data={};this.set(a)},setConfig:function(a){this.set(a);return this},setRaw:function(a){this.data=a;return this},clear:function(){return this.setRaw({})},setTransform:function(c,h){var g=this.data,a=Ext.isArray(h),b=g.transform,e,d;if(!b){b=g.transform={translateX:0,translateY:0,translateZ:0,scaleX:1,scaleY:1,scaleZ:1,rotate:0,rotateX:0,rotateY:0,rotateZ:0,skewX:0,skewY:0}}if(typeof c=="string"){switch(c){case"translate":if(a){e=h.length;if(e==0){break}b.translateX=h[0];if(e==1){break}b.translateY=h[1];if(e==2){break}b.translateZ=h[2]}else{b.translateX=h}break;case"rotate":if(a){e=h.length;if(e==0){break}b.rotateX=h[0];if(e==1){break}b.rotateY=h[1];if(e==2){break}b.rotateZ=h[2]}else{b.rotate=h}break;case"scale":if(a){e=h.length;if(e==0){break}b.scaleX=h[0];if(e==1){break}b.scaleY=h[1];if(e==2){break}b.scaleZ=h[2]}else{b.scaleX=h;b.scaleY=h}break;case"skew":if(a){e=h.length;if(e==0){break}b.skewX=h[0];if(e==1){break}b.skewY=h[1]}else{b.skewX=h}break;default:b[c]=h}}else{for(d in c){if(c.hasOwnProperty(d)){h=c[d];this.setTransform(d,h)}}}},set:function(a,d){var c=this.data,b;if(typeof a!="string"){for(b in a){d=a[b];if(b==="transform"){this.setTransform(d)}else{c[b]=d}}}else{if(a==="transform"){this.setTransform(d)}else{c[a]=d}}return this},unset:function(a){var b=this.data;if(b.hasOwnProperty(a)){delete b[a]}return this},getData:function(){return this.data}});Ext.define("Ext.fx.animation.Abstract",{extend:Ext.Evented,isAnimation:true,config:{name:"",element:null,before:null,from:{},to:{},after:null,states:{},duration:300,easing:"linear",iteration:1,direction:"normal",delay:0,onBeforeStart:null,callback:null,onEnd:null,onBeforeEnd:null,scope:null,reverse:null,preserveEndState:false,replacePrevious:true},STATE_FROM:"0%",STATE_TO:"100%",DIRECTION_UP:"up",DIRECTION_DOWN:"down",DIRECTION_LEFT:"left",DIRECTION_RIGHT:"right",stateNameRegex:/^(?:[\d\.]+)%$/,constructor:function(){this.states={};this.callParent(arguments);return this},applyElement:function(a){return Ext.get(a)},applyBefore:function(a,b){if(a){return Ext.factory(a,Ext.fx.State,b)}},applyAfter:function(b,a){if(b){return Ext.factory(b,Ext.fx.State,a)}},setFrom:function(a){return this.setState(this.STATE_FROM,a)},setTo:function(a){return this.setState(this.STATE_TO,a)},getFrom:function(){return this.getState(this.STATE_FROM)},getTo:function(){return this.getState(this.STATE_TO)},setStates:function(a){var c=this.stateNameRegex,b;for(b in a){if(c.test(b)){this.setState(b,a[b])}}return this},getStates:function(){return this.states},updateCallback:function(a){if(a){this.setOnEnd(a)}},end:function(){this.stop()},stop:function(){this.fireEvent("stop",this)},destroy:function(){this.stop();this.callParent()},setState:function(b,d){var a=this.getStates(),c;c=Ext.factory(d,Ext.fx.State,a[b]);if(c){a[b]=c}return this},getState:function(a){return this.getStates()[a]},getData:function(){var h=this,m=h.getStates(),e={},i=h.getBefore(),c=h.getAfter(),j=m[h.STATE_FROM],k=m[h.STATE_TO],l=j.getData(),g=k.getData(),d,b,a;for(b in m){if(m.hasOwnProperty(b)){a=m[b];d=a.getData();e[b]=d}}return{before:i?i.getData():{},after:c?c.getData():{},states:e,from:l,to:g,duration:h.getDuration(),iteration:h.getIteration(),direction:h.getDirection(),easing:h.getEasing(),delay:h.getDelay(),onEnd:h.getOnEnd(),onBeforeEnd:h.getOnBeforeEnd(),onBeforeStart:h.getOnBeforeStart(),scope:h.getScope(),preserveEndState:h.getPreserveEndState(),replacePrevious:h.getReplacePrevious()}}});Ext.define("Ext.fx.animation.Slide",{extend:Ext.fx.animation.Abstract,alternateClassName:"Ext.fx.animation.SlideIn",alias:["animation.slide","animation.slideIn"],config:{direction:"left",out:false,offset:0,easing:"auto",containerBox:"auto",elementBox:"auto",isElementBoxFit:true,useCssTransform:true},reverseDirectionMap:{up:"down",down:"up",left:"right",right:"left"},applyEasing:function(a){if(a==="auto"){return"ease-"+((this.getOut())?"in":"out")}return a},getContainerBox:function(){var a=this._containerBox;if(a==="auto"){a=this.getElement().getParent().getBox()}return a},getElementBox:function(){var a=this._elementBox;if(this.getIsElementBoxFit()){return this.getContainerBox()}if(a==="auto"){a=this.getElement().getBox()}return a},getData:function(){var q=this.getElementBox(),c=this.getContainerBox(),h=q?q:c,o=this.getFrom(),p=this.getTo(),g=this.getOut(),e=this.getOffset(),n=this.getDirection(),b=this.getUseCssTransform(),i=this.getReverse(),d=0,a=0,m,k,l,j;if(i){n=this.reverseDirectionMap[n]}switch(n){case this.DIRECTION_UP:if(g){a=c.top-h.top-h.height-e}else{a=c.bottom-h.bottom+h.height+e}break;case this.DIRECTION_DOWN:if(g){a=c.bottom-h.bottom+h.height+e}else{a=c.top-h.height-h.top-e}break;case this.DIRECTION_RIGHT:if(g){d=c.right-h.right+h.width+e}else{d=c.left-h.left-h.width-e}break;case this.DIRECTION_LEFT:if(g){d=c.left-h.left-h.width-e}else{d=c.right-h.right+h.width+e}break}m=(g)?0:d;k=(g)?0:a;if(b){o.setTransform({translateX:m,translateY:k})}else{o.set("left",m);o.set("top",k)}l=(g)?d:0;j=(g)?a:0;if(b){p.setTransform({translateX:l,translateY:j})}else{p.set("left",l);p.set("top",j)}return this.callParent(arguments)}});Ext.define("Ext.fx.animation.SlideOut",{extend:Ext.fx.animation.Slide,alias:["animation.slideOut"],config:{out:true}});Ext.define("Ext.fx.animation.Fade",{extend:Ext.fx.animation.Abstract,alternateClassName:"Ext.fx.animation.FadeIn",alias:["animation.fade","animation.fadeIn"],config:{out:false,before:{display:null,opacity:0},after:{opacity:null},reverse:null},updateOut:function(a){var c=this.getTo(),b=this.getFrom();if(a){b.set("opacity",1);c.set("opacity",0)}else{b.set("opacity",0);c.set("opacity",1)}}});Ext.define("Ext.fx.animation.FadeOut",{extend:Ext.fx.animation.Fade,alias:"animation.fadeOut",config:{out:true,before:{}}});Ext.define("Ext.fx.animation.Flip",{extend:Ext.fx.animation.Abstract,alias:"animation.flip",config:{easing:"ease-in",direction:"right",half:false,out:null},getData:function(){var h=this,j=h.getFrom(),k=h.getTo(),i=h.getDirection(),b=h.getOut(),n=h.getHalf(),c=n?90:180,e=1,a=1,m=0,l=0,g=0,d=0;if(b){a=0.8}else{e=0.8}switch(i){case this.DIRECTION_UP:if(b){g=c}else{m=-c}break;case this.DIRECTION_DOWN:if(b){g=-c}else{m=c}break;case this.DIRECTION_RIGHT:if(b){d=c}else{l=-c}break;case this.DIRECTION_LEFT:if(b){d=-c}else{l=c}break}j.setTransform({rotateX:m,rotateY:l,scale:e});k.setTransform({rotateX:g,rotateY:d,scale:a});return this.callParent()}});Ext.define("Ext.fx.animation.Pop",{extend:Ext.fx.animation.Abstract,alias:["animation.pop","animation.popIn"],alternateClassName:"Ext.fx.animation.PopIn",config:{out:false,before:{display:null,opacity:0},after:{opacity:null}},getData:function(){var c=this.getTo(),b=this.getFrom(),a=this.getOut();if(a){b.set("opacity",1);b.setTransform({scale:1});c.set("opacity",0);c.setTransform({scale:0})}else{b.set("opacity",0);b.setTransform({scale:0});c.set("opacity",1);c.setTransform({scale:1})}return this.callParent(arguments)}});Ext.define("Ext.fx.animation.PopOut",{extend:Ext.fx.animation.Pop,alias:"animation.popOut",config:{out:true,before:{}}});Ext.define("Ext.fx.Animation",{constructor:function(b){var a=Ext.fx.animation.Abstract,c;if(typeof b=="string"){c=b;b={}}else{if(b&&b.type){c=b.type}}if(c){a=Ext.ClassManager.getByAlias("animation."+c)}return Ext.factory(b,a)}});Ext.define("Ext.fx.layout.card.Style",{extend:Ext.fx.layout.card.Abstract,config:{inAnimation:{before:{visibility:null},preserveEndState:false,replacePrevious:true},outAnimation:{preserveEndState:false,replacePrevious:true}},constructor:function(b){var c,a;this.callParent([b]);this.endAnimationCounter=0;c=this.getInAnimation();a=this.getOutAnimation();c.on("animationend","incrementEnd",this);a.on("animationend","incrementEnd",this)},updateDirection:function(a){this.getInAnimation().setDirection(a);this.getOutAnimation().setDirection(a)},updateDuration:function(a){this.getInAnimation().setDuration(a);this.getOutAnimation().setDuration(a)},updateReverse:function(a){this.getInAnimation().setReverse(a);this.getOutAnimation().setReverse(a)},incrementEnd:function(){this.endAnimationCounter++;if(this.endAnimationCounter>1){this.endAnimationCounter=0;this.fireEvent("animationend",this)}},applyInAnimation:function(b,a){return Ext.factory(b,Ext.fx.Animation,a)},applyOutAnimation:function(b,a){return Ext.factory(b,Ext.fx.Animation,a)},updateInAnimation:function(a){a.setScope(this)},updateOutAnimation:function(a){a.setScope(this)},onActiveItemChange:function(g,d,i,b){var h,a,e,c;if(d&&i&&i.isPainted()){e=this.getInAnimation();c=this.getOutAnimation();h=d.renderElement;a=i.renderElement;e.setElement(h);c.setElement(a);c.setOnEnd(function(){b.resume()});h.dom.style.setProperty("visibility","hidden","important");d.show();Ext.Animator.run([c,e]);b.pause()}},destroy:function(){Ext.destroy(this.getInAnimation(),this.getOutAnimation());this.callParent()}});Ext.define("Ext.fx.layout.card.Slide",{extend:Ext.fx.layout.card.Style,alias:"fx.layout.card.slide",config:{inAnimation:{type:"slide",easing:"ease-out"},outAnimation:{type:"slide",easing:"ease-out",out:true}},updateReverse:function(a){this.getInAnimation().setReverse(a);this.getOutAnimation().setReverse(a)}});Ext.define("Ext.fx.layout.card.Cover",{extend:Ext.fx.layout.card.Style,alias:"fx.layout.card.cover",config:{reverse:null,inAnimation:{before:{"z-index":100},after:{"z-index":0},type:"slide",easing:"ease-out"},outAnimation:{easing:"ease-out",from:{opacity:0.99},to:{opacity:1},out:true}},updateReverse:function(a){this.getInAnimation().setReverse(a);this.getOutAnimation().setReverse(a)}});Ext.define("Ext.fx.layout.card.Reveal",{extend:Ext.fx.layout.card.Style,alias:"fx.layout.card.reveal",config:{inAnimation:{easing:"ease-out",from:{opacity:0.99},to:{opacity:1}},outAnimation:{before:{"z-index":100},after:{"z-index":0},type:"slide",easing:"ease-out",out:true}},updateReverse:function(a){this.getInAnimation().setReverse(a);this.getOutAnimation().setReverse(a)}});Ext.define("Ext.fx.layout.card.Fade",{extend:Ext.fx.layout.card.Style,alias:"fx.layout.card.fade",config:{reverse:null,inAnimation:{type:"fade",easing:"ease-out"},outAnimation:{type:"fade",easing:"ease-out",out:true}}});Ext.define("Ext.fx.layout.card.Flip",{extend:Ext.fx.layout.card.Style,alias:"fx.layout.card.flip",config:{duration:500,inAnimation:{type:"flip",half:true,easing:"ease-out",before:{"backface-visibility":"hidden"},after:{"backface-visibility":null}},outAnimation:{type:"flip",half:true,easing:"ease-in",before:{"backface-visibility":"hidden"},after:{"backface-visibility":null},out:true}},onActiveItemChange:function(d,b,e,a){var c=b.element.getParent();c.addCls(Ext.baseCSSPrefix+"layout-card-perspective");this.on("animationend",function(){c.removeCls(Ext.baseCSSPrefix+"layout-card-perspective")},this,{single:true});this.callParent(arguments)},updateDuration:function(d){var c=d/2,b=this.getInAnimation(),a=this.getOutAnimation();b.setDelay(c);b.setDuration(c);a.setDuration(c)}});Ext.define("Ext.fx.layout.card.Pop",{extend:Ext.fx.layout.card.Style,alias:"fx.layout.card.pop",config:{duration:500,inAnimation:{type:"pop",easing:"ease-out"},outAnimation:{type:"pop",easing:"ease-in",out:true}},updateDuration:function(d){var c=d/2,b=this.getInAnimation(),a=this.getOutAnimation();b.setDelay(c);b.setDuration(c);a.setDuration(c)}});Ext.define("Ext.fx.layout.card.Scroll",{extend:Ext.fx.layout.card.Abstract,alias:"fx.layout.card.scroll",config:{duration:150},constructor:function(a){this.initConfig(a)},getEasing:function(){var a=this.easing;if(!a){this.easing=a=new Ext.fx.easing.Linear()}return a},updateDuration:function(a){this.getEasing().setDuration(a)},onActiveItemChange:function(a,d,m,c){var j=this.getDirection(),h=this.getEasing(),l,e,b,i,k,g;if(d&&m){if(this.isAnimating){this.stopAnimation()}d.setWidth("100%");d.setHeight("100%");l=this.getLayout().container.innerElement;i=l.getWidth();k=l.getHeight();e=d.renderElement;b=m.renderElement;this.oldItem=m;this.newItem=d;this.containerElement=l;this.currentEventController=c;this.isReverse=g=this.getReverse();d.show();if(j=="right"){j="left";this.isReverse=g=!g}else{if(j=="down"){j="up";this.isReverse=g=!g}}if(j=="left"){if(g){h.setConfig({startValue:i,endValue:0});l.dom.scrollLeft=i;b.setLeft(i)}else{h.setConfig({startValue:0,endValue:i});e.setLeft(i)}}else{if(g){h.setConfig({startValue:k,endValue:0});l.dom.scrollTop=k;b.setTop(k)}else{h.setConfig({startValue:0,endValue:k});e.setTop(k)}}this.startAnimation();c.pause()}},startAnimation:function(){this.isAnimating=true;this.getEasing().setStartTime(Date.now());Ext.AnimationQueue.start(this.doAnimationFrame,this)},doAnimationFrame:function(){var d=this.getEasing(),c=this.getDirection(),a="scrollTop",b;if(c=="left"||c=="right"){a="scrollLeft"}if(d.isEnded){this.stopAnimation()}else{b=d.getValue();this.containerElement.dom[a]=b}},stopAnimation:function(){var c=this,e=c.getDirection(),a="setTop",d=c.oldItem,b=c.newItem;if(e=="left"||e=="right"){a="setLeft"}c.currentEventController.resume();if(c.isReverse&&d&&d.renderElement&&d.renderElement.dom){d.renderElement[a](null)}else{if(b&&b.renderElement&&b.renderElement.dom){b.renderElement[a](null)}}Ext.AnimationQueue.stop(this.doAnimationFrame,this);c.isAnimating=false;c.fireEvent("animationend",c)}});Ext.define("Ext.fx.layout.Card",{constructor:function(b){var a=Ext.fx.layout.card.Abstract,c;if(!b){return null}if(typeof b=="string"){c=b;b={}}else{if(b.type){c=b.type}}b.elementBox=false;if(c){a=Ext.ClassManager.getByAlias("fx.layout.card."+c)}return Ext.factory(b,a)}});Ext.define("Ext.layout.Card",{extend:Ext.layout.Default,alias:"layout.card",type:"card",isCard:true,cls:Ext.baseCSSPrefix+"layout-card",itemCls:Ext.baseCSSPrefix+"layout-card-item",applyAnimation:function(a){return new Ext.fx.layout.Card(a)},updateAnimation:function(b,a){if(b&&b.isAnimation){b.setLayout(this)}if(a){a.destroy()}},setContainer:function(a){this.callParent(arguments);a.onInitialized("onContainerInitialized",this)},onContainerInitialized:function(){var b=this,a=b.container,c=a.getInnerAt(0),d=a.getActiveItem();b.callParent();if(d){d.show();if(c&&c!==d){c.hide()}}a.on("activeitemchange","onContainerActiveItemChange",b)},onContainerActiveItemChange:function(a,b,c){this.fireEventedAction("activeitemchange",[this,b,c],"doActiveItemChange",this)},onItemInnerStateChange:function(c,b,d){this.callParent(arguments);var a=this.container,e=a.getActiveItem();c.setLayoutSizeFlags(b?a.LAYOUT_BOTH:0);if(b){if(e!==a.innerIndexOf(c)&&e!==c&&c!==a.pendingActiveItem){c.hide()}}else{if(!d&&!c.destroyed&&c.destroying!==true){c.show()}}},doActiveItemChange:function(b,c,a){if(a){a.hide()}if(c){c.show()}},destroy:function(){Ext.destroy(this.getAnimation());this.callParent()}});Ext.define("Ext.viewport.Default",new function(){var d=1,b=2,h=4,a=8,c={top:d,right:b,bottom:h,left:a},g={"1":h,"2":a,"4":d,"8":b},e=/"/g;return{extend:Ext.Container,xtype:"viewport",PORTRAIT:"portrait",LANDSCAPE:"landscape",config:{autoMaximize:false,autoBlurInput:true,preventZooming:false,autoRender:true,layout:"card",width:"100%",height:"100%",useBodyElement:true,menus:{},orientation:null},getElementConfig:function(){var i=this.callParent(arguments);if(!Ext.feature.has.MatchMedia){i.children.unshift({reference:"orientationElement",className:"x-orientation-inspector"})}return i},isReady:false,isViewport:true,isMaximizing:false,id:"ext-viewport",isInputRegex:/^(input|textarea|select|a)$/i,isInteractiveWebComponentRegEx:/^(audio|video)$/i,focusedElement:null,fullscreenItemCls:Ext.baseCSSPrefix+"fullscreen",constructor:function(j){var k=this,i=Ext.Component;k.doPreventPanning=k.doPreventPanning.bind(k);k.doPreventZooming=k.doPreventZooming.bind(k);k.doBlurInput=k.doBlurInput.bind(k);k.maximizeOnEvents=["ready","orientationchange"];window.devicePixelRatio=window.devicePixelRatio||1;k.callParent([j]);k.windowWidth=k.getWindowWidth();k.windowHeight=k.getWindowHeight();k.windowOuterHeight=k.getWindowOuterHeight();Ext.setViewportScroller(k.getScrollable()||{x:false,y:false,element:Ext.getBody()});Ext.getBody().setStyle("overflow","hidden");k.stretchHeights=k.stretchHeights||{};if(Ext.feature.has.OrientationChange){k.addWindowListener("orientationchange",k.onOrientationChange.bind(k))}Ext.onReady(function(){k.addWindowListener("resize",k.onResize.bind(k))});document.addEventListener("focus",k.onElementFocus.bind(k),true);document.addEventListener("blur",k.onElementBlur.bind(k),true);Ext.onDocumentReady(k.onDomReady,k);if(!i.on){Ext.util.Observable.observe(i)}i.on("fullscreen","onItemFullscreenChange",k);return k},initialize:function(){var i=this;i.addMeta("apple-mobile-web-app-capable","yes");i.addMeta("apple-touch-fullscreen","yes");i.callParent()},initInheritedState:function(k,j){var l=this,i=Ext.rootInheritedState;if(k!==i){l.initInheritedState(l.inheritedState=i,l.inheritedStateInner=Ext.Object.chain(i))}else{l.callParent([k,j])}},onAppLaunch:function(){var i=this;if(!i.isReady){i.onDomReady()}},onDomReady:function(){var i=this;if(i.isReady){return}i.isReady=true;i.updateSize();i.onReady();i.fireEvent("ready",i);Ext.GlobalEvents.fireEvent("viewportready",i)},onReady:function(){if(this.getAutoRender()){this.render()}if(Ext.browser.name==="ChromeiOS"){this.setHeight("-webkit-calc(100% - "+((window.outerHeight-window.innerHeight)/2)+"px)")}},onElementFocus:function(i){this.focusedElement=i.target},onElementBlur:function(){this.focusedElement=null},render:function(){if(!this.rendered){var i=Ext.getBody(),j=Ext.baseCSSPrefix,p=[],k=Ext.os,o=k.name.toLowerCase(),n=Ext.browser.name.toLowerCase(),l=k.version.getMajor(),m;this.renderTo(i);p.push(j+k.deviceType.toLowerCase());if(k.is.iPad){p.push(j+"ipad")}p.push(j+o);p.push(j+n);if(Ext.browser.is.Safari&&Ext.browser.version.isLessThan(9)){p.push(j+"safari8m")}if(Ext.toolkit){p.push(j+Ext.toolkit)}if(l){p.push(j+o+"-"+l)}if(k.is.BlackBerry){p.push(j+"bb");if(Ext.browser.userAgent.match(/Kbd/gi)){p.push(j+"bb-keyboard")}}if(Ext.browser.is.WebKit){p.push(j+"webkit")}if(Ext.browser.is.WebView){p.push(j+"webview")}if(Ext.browser.is.Standalone){p.push(j+"standalone")}if(Ext.browser.is.AndroidStock){p.push(j+"android-stock")}if(Ext.browser.is.GoogleGlass){p.push(j+"google-glass")}this.setOrientation(this.determineOrientation());p.push(j+this.getOrientation());if(Ext.os.is.iOS&&Ext.browser.is.WebView&&!Ext.browser.is.Standalone){p.push(j+"ios-native")}i.addCls(p);m=Ext.theme;if(m&&m.getDocCls){Ext.fly(document.documentElement).addCls(m.getDocCls())}}},updateAutoBlurInput:function(i){var j=Ext.feature.has.TouchEvents?"touchstart":"mousedown";this.toggleWindowListener(i,j,this.doBlurInput,false)},applyAutoMaximize:function(i){return Ext.browser.is.WebView?false:i},updateAutoMaximize:function(i){var j=this;if(i){j.on("ready","doAutoMaximizeOnReady",j,{single:true});j.on("orientationchange","doAutoMaximizeOnOrientationChange",j)}else{j.un("ready","doAutoMaximizeOnReady",j);j.un("orientationchange","doAutoMaximizeOnOrientationChange",j)}},updatePreventPanning:function(i){this.toggleWindowListener(i,"touchmove",this.doPreventPanning,false)},updatePreventZooming:function(i){var j=Ext.feature.has.TouchEvents?"touchstart":"mousedown";this.toggleWindowListener(i,j,this.doPreventZooming,false)},doAutoMaximizeOnReady:function(){var i=this;i.isMaximizing=true;i.on("maximize",function(){i.isMaximizing=false;i.updateSize();i.fireEvent("ready",i)},i,{single:true});i.maximize()},doAutoMaximizeOnOrientationChange:function(){var i=this;i.isMaximizing=true;i.on("maximize",function(){i.isMaximizing=false;i.updateSize()},i,{single:true});i.maximize()},doBlurInput:function(j){var i=j.target,k=this.focusedElement;if(k&&k.blur&&k.nodeName.toUpperCase()!="BODY"&&!this.isInputRegex.test(i.tagName)){delete this.focusedElement;Ext.fly(k).blur()}},doPreventPanning:function(j){var i=j.target,k;if(this.isInteractiveWebComponentRegEx.test(i.tagName)&&j.touches&&j.touches.length>0){k=j.touches[0];if(k&&k.target&&this.isInputRegex.test(k.target.tagName)){return}}if(i&&i.nodeType===1&&!this.isInputRegex.test(i.tagName)){j.preventDefault()}},doPreventZooming:function(k){if("button" in k&&k.button!==0){return}var j=k.target,i=this.isInputRegex,l;if(this.isInteractiveWebComponentRegEx.test(j.tagName)&&k.touches&&k.touches.length>0){l=k.touches[0];if(l&&l.target&&i.test(l.target.tagName)){return}}if(j&&j.nodeType===1&&!i.test(j.tagName)){k.preventDefault()}},addWindowListener:function(j,k,i){window.addEventListener(j,k,Boolean(i))},removeWindowListener:function(j,k,i){window.removeEventListener(j,k,Boolean(i))},supportsOrientation:function(){return Ext.feature.has.Orientation},supportsMatchMedia:function(){return Ext.feature.has.MatchMedia},onOrientationChange:function(){this.setOrientation(this.determineOrientation())},determineOrientation:function(){var i=this,j;if(i.supportsOrientation()){j=i.getWindowOrientation();if(Math.abs(j)===90||j===270){return i.LANDSCAPE}else{return i.PORTRAIT}}else{if(i.supportsMatchMedia()){return window.matchMedia("(orientation : landscape)").matches?i.LANDSCAPE:i.PORTRAIT}else{if(i.orientationElement){return i.orientationElement.getStyle("content").replace(e,"")}}}return null},updateOrientation:function(j,i){if(i){this.fireOrientationChangeEvent(j,i)}},fireOrientationChangeEvent:function(k,l){var m=this,i=Ext.getBody(),j=Ext.baseCSSPrefix;i.replaceCls(j+l,j+k);m.updateSize();m.fireEvent("orientationchange",m,k,m.windowWidth,m.windowHeight)},onResize:function(){var i=this;i.updateSize();i.setOrientation(i.determineOrientation())},updateSize:function(j,i){var k=this;k.windowWidth=j!==undefined?j:k.getWindowWidth();k.windowHeight=i!==undefined?i:k.getWindowHeight();return k},waitUntil:function(p,m,o,i,n){if(!i){i=50}if(!n){n=2000}var k=this,j=0;Ext.defer(function l(){j+=i;if(p.call(k)===true){if(m){m.call(k)}}else{if(j>=n){if(o){o.call(k)}}else{Ext.defer(l,i)}}},i)},maximize:function(){this.fireMaximizeEvent()},fireMaximizeEvent:function(){this.updateSize();this.fireEvent("maximize",this)},updateHeight:function(i,j){Ext.getBody().setHeight(i);this.callParent([i,j])},updateWidth:function(j,i){Ext.getBody().setWidth(j);this.callParent([j,i])},scrollToTop:function(){window.scrollTo(0,-1)},getWindowWidth:function(){return window.innerWidth},getWindowHeight:function(){return window.innerHeight},getWindowOuterHeight:function(){return window.outerHeight},getWindowOrientation:function(){return window.orientation},getSize:function(){return{width:this.windowWidth,height:this.windowHeight}},onItemFullscreenChange:function(i){i.addCls(this.fullscreenItemCls);this.add(i)},setMenu:function(n,j){j=j||{};var l=this,k=j.side,i=c[k],m;if(Ext.os.is.iOS&&!l.hasiOSOrientationFix){l.hasiOSOrientationFix=true;l.on("orientationchange",function(){window.scrollTo(0,0)},l)}m=l.getMenus();if(!m){m={}}if(!l.addedSwipeListener){l.attachSwipeListeners();l.addedSwipeListener=true}if(!n.isComponent){if(!n.xclass&&!n.xtype){n=l.getMenuCfg(n,j)}n=Ext.create(n)}m[k]=n;n.$reveal=Boolean(j.reveal);n.$cover=j.cover!==false&&!n.$reveal;n.setFloated(n.$cover);n.$side=k;n.addCls(Ext.baseCSSPrefix+(n.$cover?"menu-cover":"menu-reveal"));l.fixMenuSize(n,k);if(i===a){n.setLeft(0);n.setRight(null);n.setTop(0);n.setBottom(0)}else{if(i===b){n.setLeft(null);n.setRight(0);n.setTop(0);n.setBottom(0)}else{if(i===d){n.setLeft(0);n.setRight(0);n.setTop(0);n.setBottom(null)}else{if(i===h){n.setLeft(0);n.setRight(0);n.setTop(null);n.setBottom(0)}}}}l.setMenus(m);return n},attachSwipeListeners:function(){var i=this;i.element.on({tap:i.onTap,swipestart:i.onSwipeStart,edgeswipestart:i.onEdgeSwipeStart,edgeswipe:i.onEdgeSwipe,edgeswipeend:i.onEdgeSwipeEnd,scope:i})},getMenuCfg:function(j,i){return Ext.apply({xtype:"menu",floated:i.cover!==false&&!i.$reveal},j)},removeMenu:function(i){var j=this.getMenus()||{},k=j[i];if(k){this.hideMenu(i)}delete j[i];this.setMenus(j)},fixMenuSize:function(k,j){var i=c[j];if(i&(d|h)){k.setWidth("100%")}else{k.setHeight("100%")}},showMenu:function(n){var o=this,q=c[n],l=o.getMenus(),j=l[n],p,i,k,m,r;if(!j||j.isAnimating){return}o.hideOtherMenus(n);p={translateX:0,translateY:0};i={translateX:0,translateY:0};k={translateX:0,translateY:0};m={translateX:0,translateY:0};if(j.$reveal){Ext.getBody().insertFirst(j.element)}else{Ext.Viewport.add(j)}j.show();j.addCls("x-"+n);r=q&(a|b)?j.element.getWidth():j.element.getHeight();if(q===a){p.translateX=-r;m.translateX=r}else{if(q===b){p.translateX=r;m.translateX=-r}else{if(q===d){p.translateY=-r;m.translateY=r}else{if(q===h){p.translateY=r;m.translateY=-r}}}}if(j.$reveal){if(Ext.browser.getPreferredTranslationMethod()!=="scrollposition"){j.translate(0,0)}}else{j.translate(p.translateX,p.translateY)}if(j.$cover){j.getTranslatable().on("animationend",function(){j.isAnimating=false},o,{single:true});j.translate(i.translateX,i.translateY,{preserveEndState:true,duration:200})}else{o.translate(k.translateX,k.translateY);o.getTranslatable().on("animationend",function(){j.isAnimating=false},o,{single:true});o.translate(m.translateX,m.translateY,{preserveEndState:true,duration:200})}j.isAnimating=true},hideMenu:function(n,j){var o=this,p=c[n],l=o.getMenus(),k=l[n],i,m,q;j=j!==false;if(!k||(k.isHidden()||k.isAnimating)){return}i={translateX:0,translateY:0};m={translateX:0,translateY:0};q=p&(a|b)?k.element.getWidth():k.element.getHeight();if(p===a){i.translateX=-q}else{if(p===b){i.translateX=q}else{if(p===d){i.translateY=-q}else{if(p===h){i.translateY=q}}}}if(k.$cover){if(j){k.getTranslatable().on("animationend",function(){k.isAnimating=false;k.hide()},o,{single:true});k.translate(i.translateX,i.translateY,{preserveEndState:true,duration:200})}else{k.translate(i.translateX,i.translateY);k.hide()}}else{if(j){o.getTranslatable().on("animationend",function(){k.isAnimating=false;k.hide()},o,{single:true});o.translate(m.translateX,m.translateY,{preserveEndState:true,duration:200})}else{o.translate(m.translateX,m.translateY);k.hide()}}},hideAllMenus:function(k){var j=this.getMenus(),i;for(i in j){this.hideMenu(i,k)}},hideOtherMenus:function(i,k){var j=this.getMenus(),l;for(l in j){if(i!==l){this.hideMenu(l,k)}}},toggleMenu:function(i){var j=this.getMenus(),k;if(j[i]){k=j[i];if(k.isHidden()){this.showMenu(i)}else{this.hideMenu(i)}}},sideForDirection:function(i){return g[c[i]]},sideForSwipeDirection:function(i){if(i==="up"){return"top"}else{if(i==="down"){return"bottom"}}return i},onTap:function(i){},onSwipeStart:function(j){var i=this.sideForSwipeDirection(j.direction);this.hideMenu(i)},onEdgeSwipeStart:function(o){var r=this,q=r.sideForDirection(o.direction),l=r.getMenus(),j=l[q],s,p,t,i,n,k,m;if(!j||!j.isHidden()){return}for(s in l){p=l[s];if(p.isHidden()!==false){return}}r.$swiping=true;r.hideAllMenus(false);if(j.$reveal){Ext.getBody().insertFirst(j.element)}else{Ext.Viewport.add(j)}j.show();t=q&(a|b)?j.element.getWidth():j.element.getHeight();i={translateX:0,translateY:0};n={translateX:0,translateY:0};if(q===a){i.translateX=-t}else{if(q===b){i.translateX=t}else{if(q===d){i.translateY=-t}else{if(q==="BOTTOM"){i.translateY=t}}}}k="webkitTransform" in document.createElement("div").style?"webkitTransform":"transform";m=j.element.dom.style[k];if(m){j.element.dom.style[k]=""}if(j.$reveal){if(Ext.browser.getPreferredTranslationMethod()!="scrollposition"){j.translate(0,0)}}else{j.translate(i.translateX,i.translateY)}if(!j.$cover){if(m){r.innerElement.dom.style[k]=""}r.translate(n.translateX,n.translateY)}},onEdgeSwipe:function(n){var p=this,o=p.sideForDirection(n.direction),j=p.getMenus()[o],q,i,m,k,l;if(!j||!p.$swiping){return}q=o&(a|b)?j.element.getWidth():j.element.getHeight();k=Math.min(n.distance-q,0);l=Math.min(n.distance,q);i={translateX:0,translateY:0};m={translateX:0,translateY:0};if(o===a){i.translateX=k;m.translateX=l}else{if(o===b){i.translateX=-k;m.translateX=-l}else{if(o===d){i.translateY=k;m.translateY=l}else{if(o===h){i.translateY=-k;m.translateY=-l}}}}if(j.$cover){j.translate(i.translateX,i.translateY)}else{p.translate(m.translateX,m.translateY)}},onEdgeSwipeEnd:function(p){var r=this,q=r.sideForDirection(p.direction),j=r.getMenus()[q],o=false,s,m,k,l,i,n;if(!j){return}s=q&(a|b)?j.element.getWidth():j.element.getHeight();m=(p.flick)?p.flick.velocity:0;if(q===b){if(m.x>0){o=true}}else{if(q===a){if(m.x<0){o=true}}else{if(q===d){if(m.y<0){o=true}}else{if(q===h){if(m.y>0){o=true}}}}}k=o?s:0;l=o?0:-s;i={translateX:0,translateY:0};n={translateX:0,translateY:0};if(q===a){i.translateX=-k;n.translateX=-l}else{if(q===b){i.translateX=k;n.translateX=l}else{if(q===d){i.translateY=-k;n.translateY=-l}else{if(q===h){i.translateY=k;n.translateY=l}}}}if(j.$cover){j.getTranslatable().on("animationend",function(){if(o){j.hide()}},r,{single:true});j.translate(i.translateX,i.translateY,{preserveEndState:true,duration:200})}else{r.getTranslatable().on("animationend",function(){if(o){j.hide()}},r,{single:true});r.translate(n.translateX,n.translateY,{preserveEndState:true,duration:200})}r.$swiping=false},doDestroy:function(){if(Ext.floatRoot){document.body.appendChild(Ext.floatRoot.dom);delete this.floatWrap;Ext.floatRoot.getData().component=null}this.callParent()},privates:{addMeta:function(i,j){var k=document.createElement("meta");k.setAttribute("name",i);k.setAttribute("content",j);Ext.getHead().append(k)},doAddListener:function(j,o,n,l,i,k,m){var p=this;if(j==="ready"&&p.isReady&&!p.isMaximizing){o.call(n);return p}p.callParent([j,o,n,l,i,k,m])},toggleWindowListener:function(j,k,l,i){if(j){this.addWindowListener(k,l,i)}else{this.removeWindowListener(k,l,i)}}}}}());Ext.define("Ext.viewport.Ios",{extend:Ext.viewport.Default,isFullscreen:function(){return this.isHomeScreen()},isHomeScreen:function(){return window.navigator.standalone===true},constructor:function(){this.callParent(arguments);if(this.getAutoMaximize()&&!this.isFullscreen()){this.addWindowListener("touchstart",this.onTouchStart.bind(this))}document.documentElement.style.overflow="hidden"},maximize:function(){if(this.isFullscreen()){return this.callParent()}var c=this.stretchHeights,b=this.getOrientation(),d=this.getWindowHeight(),a=c[b];if(window.scrollY>0){this.scrollToTop();if(!a){c[b]=a=this.getWindowHeight()}this.setHeight(a);this.fireMaximizeEvent()}else{if(!a){a=this.getScreenHeight()}this.setHeight(a);this.waitUntil(function(){this.scrollToTop();return d!==this.getWindowHeight()},function(){if(!c[b]){a=c[b]=this.getWindowHeight();this.setHeight(a)}this.fireMaximizeEvent()},function(){a=c[b]=this.getWindowHeight();this.setHeight(a);this.fireMaximizeEvent()},50,1000)}},getScreenHeight:function(){return window.screen[this.getOrientation()===this.PORTRAIT?"height":"width"]},onElementFocus:function(){if(this.getAutoMaximize()&&!this.isFullscreen()){clearTimeout(this.scrollToTopTimer)}this.callParent(arguments)},onElementBlur:function(){if(this.getAutoMaximize()&&!this.isFullscreen()){this.scrollToTopTimer=Ext.defer(this.scrollToTop,500)}this.callParent(arguments)},onTouchStart:function(){if(this.focusedElement===null){this.scrollToTop()}},scrollToTop:function(){window.scrollTo(0,0)}},function(){if(!Ext.os.is.iOS){return}if(Ext.os.version.lt("3.2")){this.override({constructor:function(){var a=this.stretchHeights={};a[this.PORTRAIT]=416;a[this.LANDSCAPE]=268;return this.callOverridden(arguments)}})}if(Ext.os.version.lt("5")){this.override({fieldMaskClsTest:"-field-mask",doPreventZooming:function(b){var a=b.target;if(a&&a.nodeType===1&&!this.isInputRegex.test(a.tagName)&&a.className.indexOf(this.fieldMaskClsTest)==-1){b.preventDefault()}}})}if(Ext.os.is.iPad){this.override({isFullscreen:function(){return true}})}if(Ext.os.version.gtEq("7")&&Ext.os.version.lt("8")){if(Ext.os.deviceType==="Tablet"||!Ext.browser.is.Safari||window.navigator.standalone){this.override({constructor:function(){var d={},b={},a=this.determineOrientation(),g=window.screen.height,c=window.screen.width,e=a===this.PORTRAIT?g-window.innerHeight:c-window.innerHeight;d[this.PORTRAIT]=g-e;d[this.LANDSCAPE]=c-e;b[this.PORTRAIT]=c;b[this.LANDSCAPE]=g;this.stretchHeights=d;this.stretchWidths=b;this.callOverridden(arguments);this.on("ready",this.setViewportSizeToAbsolute,this);this.on("orientationchange",this.setViewportSizeToAbsolute,this)},getWindowHeight:function(){return this.stretchHeights[this.getOrientation()]},getWindowWidth:function(){return this.stretchWidths[this.getOrientation()]},setViewportSizeToAbsolute:function(){this.setWidth(this.getWindowWidth());this.setHeight(this.getWindowHeight())}})}if(Ext.os.deviceType==="Tablet"){this.override({constructor:function(){this.callOverridden(arguments);window.addEventListener("scroll",function(){if(window.scrollX!==0){window.scrollTo(0,window.scrollY)}},false)},setViewportSizeToAbsolute:function(){window.scrollTo(0,0);this.callOverridden(arguments)},onElementBlur:function(){this.callOverridden(arguments);if(window.scrollY!==0){window.scrollTo(0,0)}}})}}});Ext.define("Ext.viewport.Android",{extend:Ext.viewport.Default,config:{translatable:{translationMethod:"csstransform"}},constructor:function(){this.callParent(arguments);this.on({orientationchange:"hideKeyboardIfNeeded",scope:this,priority:1001})},getWindowWidth:function(){return this.element.getWidth()},getWindowHeight:function(){return this.element.getHeight()},getDummyInput:function(){var a=this.dummyInput,c=this.focusedElement,b=Ext.fly(c).getBox();if(!a){this.dummyInput=a=document.createElement("input");a.style.position="absolute";a.style.opacity="0";a.style.pointerEvents="none";document.body.appendChild(a)}a.style.left=b.left+"px";a.style.top=b.top+"px";a.style.display="";return a},doBlurInput:function(c){var b=c.target,d=this.focusedElement,a;if(d&&!this.isInputRegex.test(b.tagName)){a=this.getDummyInput();delete this.focusedElement;a.focus();Ext.defer(function(){a.style.display="none"},100)}},hideKeyboardIfNeeded:function(){var a=this.focusedElement;if(a){delete this.focusedElement;if(Ext.os.version.lt("4")){a.style.display="none"}else{a.blur()}Ext.defer(function(){a.style.display=""},1000)}},doFireOrientationChangeEvent:function(){this.orientationChanging=true;this.waitUntil(function(){return this.getWindowOuterHeight()!==this.windowOuterHeight},function(){this.windowOuterHeight=this.getWindowOuterHeight();this.updateSize();this.orientationChanging=false},function(){});return this},getActualWindowOuterHeight:function(){return Math.round(this.getWindowOuterHeight()/window.devicePixelRatio)},maximize:function(){var c=this.stretchHeights,b=this.orientation,a;a=c[b];if(!a){c[b]=a=this.getActualWindowOuterHeight()}if(!this.addressBarHeight){this.addressBarHeight=a-this.getWindowHeight()}this.setHeight(a);var d=Ext.Function.bind(this.isHeightMaximized,this,[a]);this.scrollToTop();this.waitUntil(d,this.fireMaximizeEvent,this.fireMaximizeEvent)},isHeightMaximized:function(a){this.scrollToTop();return this.getWindowHeight()===a},doPreventZooming:function(b){if("button" in b&&b.button!==0){return}var a=b.target;if(a&&a.nodeType===1&&!this.isInputRegex.test(a.tagName)&&!this.focusedElement){b.preventDefault()}}},function(){if(!Ext.os.is.Android){return}var a=Ext.os.version,b=Ext.browser.userAgent,c=/(htc|desire|incredible|ADR6300)/i.test(b)&&a.lt("2.3");if(c){this.override({constructor:function(d){if(!d){d={}}d.autoMaximize=false;this.watchDogTick=Ext.Function.bind(this.watchDogTick,this);Ext.interval(this.watchDogTick,1000);return this.callParent([d])},watchDogTick:function(){this.watchDogLastTick=Ext.Date.now()},doPreventPanning:function(){var e=Ext.Date.now(),g=this.watchDogLastTick,d=e-g;if(d>=2000){return}return this.callParent(arguments)},doPreventZooming:function(){var e=Ext.Date.now(),g=this.watchDogLastTick,d=e-g;if(d>=2000){return}return this.callParent(arguments)}})}if(a.match("2")){this.override({onReady:function(){this.addWindowListener("resize",Ext.Function.bind(this.onWindowResize,this));this.callParent(arguments)},scrollToTop:function(){document.body.scrollTop=100},onWindowResize:function(){var e=this.windowWidth,h=this.windowHeight,g=this.getWindowWidth(),d=this.getWindowHeight();if(this.getAutoMaximize()&&!this.isMaximizing&&!this.orientationChanging&&window.scrollY===0&&e===g&&d<h&&((d>=h-this.addressBarHeight)||!this.focusedElement)){this.scrollToTop()}}})}else{if(a.gtEq("3.1")){this.override({isHeightMaximized:function(d){this.scrollToTop();return this.getWindowHeight()===d-1}})}else{if(a.match("3")){this.override({isHeightMaximized:function(){this.scrollToTop();return true}})}}}if(a.gtEq("4")){this.override({doBlurInput:Ext.emptyFn})}});Ext.define("Ext.viewport.WindowsPhone",{requires:[],alternateClassName:"Ext.viewport.WP",extend:Ext.viewport.Default,config:{translatable:{translationMethod:"csstransform"}},initialize:function(){var a=function(d){var c=d.srcElement.nodeName.toUpperCase(),b=["INPUT","TEXTAREA"];if(b.indexOf(c)==-1){return false}};document.body.addEventListener("onselectstart",a);this.addMeta("msapplication-tap-highlight","no");this.callParent()},supportsOrientation:function(){return false},onResize:function(){this.waitUntil(function(){var c=this.windowWidth,g=this.windowHeight,e=this.getWindowWidth(),a=this.getWindowHeight(),d=this.getOrientation(),b=this.determineOrientation();return((c!==e&&g!==a)&&d!==b)},function(){var b=this.getOrientation(),a=this.determineOrientation();this.fireOrientationChangeEvent(a,b)},Ext.emptyFn,250)}});Ext.define("Ext.viewport.Viewport",{singleton:true,setup:function(b){var c=Ext.os.name,d,a;switch(c){case"Android":d=(Ext.browser.name==="ChromeMobile")?"Default":"Android";break;case"iOS":d="Ios";break;case"Windows":d=(Ext.browser.name==="IE")?"WindowsPhone":"Default";break;case"WindowsPhone":d="WindowsPhone";break;default:d="Default";break}Ext.Viewport=a=Ext.create("Ext.viewport."+d,b);if(Ext.floatRoot){a.floatWrap=Ext.floatRoot;a.element.dom.appendChild(Ext.floatRoot.dom);Ext.floatRoot.getData().component=a}return a}});Ext.define("Ext.overrides.app.Application",{override:"Ext.app.Application",quickTips:false,initMainView:function(){var c=this,a,b;c.viewport=a=Ext.Viewport;c.callParent();b=c.getMainView();a.onAppLaunch();if(b){a.add(b)}},applyQuickTips:function(a){a=a||null;if(a){if(a===true){a={}}a=new Ext.tip.Manager(a)}return a},updateQuickTips:function(a,b){if(b){b.destroy()}}});Ext.define("Ext.app.Profile",{mixins:[Ext.mixin.Observable],isProfile:true,config:{mainView:{$value:null,lazy:true},application:null,controllers:[],models:[],views:[],stores:[]},constructor:function(a){this.initConfig(a);this.mixins.observable.constructor.apply(this,arguments)},isActive:function(){return false},init:function(){var a=this.getViews(),b;if(a&&!(a instanceof Array)){for(b in a){Ext.ClassManager.setXType(a[b],b)}}},launch:Ext.emptyFn,onClassExtended:function(b,c,a){var d=a.onBeforeCreated;a.onBeforeCreated=function(m,i){var h=Ext.app.Controller,k=m.$className,n=[],j=m.prototype,l=i.views,e,g;e=i.name;if(e){delete i.name}else{e=k.split(".");e=e[e.length-1]}m._name=e;m._namespace=e=(i.namespace||e).toLowerCase();delete i.namespace;g=h.resolveNamespace(m,i);h.processDependencies(j,n,g,"model",i.models,e);h.processDependencies(j,n,g,"store",i.stores,e);h.processDependencies(j,n,g,"controller",i.controllers,e);if(l){if(l instanceof Array){h.processDependencies(j,n,g,"view",l,e)}else{Ext.app.Profile.processViews(k,l,n)}}Ext.require(n,Ext.Function.pass(d,arguments,this))}},getName:function(){return this.self._name},getNamespace:function(){return this.self._namespace},privates:{statics:{processViews:function(g,c,e){var a,b,d,h;for(h in c){b=c[h];if(typeof b!=="string"){d=b.xclass;a=Ext.apply({extend:d},b);delete a.xclass;Ext.define(c[h]=g+"$"+h,a);b=d}e.push(b)}}}}});Ext.define("Ext.app.domain.View",{extend:Ext.app.EventDomain,isInstance:true,constructor:function(a){this.callParent([a]);this.controller=a;this.monitoredClasses=[Ext.Widget]},match:function(d,a,b){var c=false;if(a==="#"){c=b===d.getController()}else{c=d.is(a)}return c},destroy:function(){this.controller=null;this.callParent()}});Ext.define("Ext.app.ViewController",{extend:Ext.app.BaseController,alias:"controller.controller",mixins:[Ext.mixin.Factoryable],isViewController:true,factoryConfig:{type:"controller"},config:{closeViewAction:"destroy"},view:null,constructor:function(){this.compDomain=new Ext.app.domain.View(this);this.callParent(arguments)},beforeInit:Ext.emptyFn,init:Ext.emptyFn,initViewModel:Ext.emptyFn,destroy:function(){var a=this,b=a.compDomain;if(b){b.unlisten(a);b.destroy()}a.compDomain=a.view=null;a.callParent()},closeView:function(){var a=this.getView(),b;if(a){b=this.getCloseViewAction();a[b]()}},control:function(a,b){var c=a;if(Ext.isString(a)){c={};c[a]=b}this.compDomain.listen(c,this)},listen:function(c,a){var b=c.component;if(b){c=Ext.apply({},c);delete c.component;this.control(b)}this.callParent([c,a])},applyId:function(a){if(!a){a=Ext.id(null,"controller-")}return a},getReferences:function(){var a=this.view;return a&&a.getReferences()},getView:function(){return this.view},lookup:function(b){var a=this.view;return a&&a.lookup(b)},lookupReference:function(a){return this.lookup(a)},getSession:function(){var a=this.view;return a&&a.lookupSession()},getViewModel:function(){var a=this.view;return a&&a.lookupViewModel()},getStore:function(b){var a=this.getViewModel();return a?a.getStore(b):null},fireViewEvent:function(d,b){var c=this.view,a=false,e=arguments;if(c){if(c!==b){e=Ext.Array.slice(e);e.splice(1,0,c)}a=c.fireEvent.apply(c,e)}return a},privates:{view:null,attachReference:function(b){var a=this.view;if(a){a.attachReference(b)}},clearReference:function(b){var a=this.view;if(a){a.clearReference(b)}},clearReferences:function(){var a=this.view;if(a){a.clearReferences()}},setView:function(a){this.view=a;if(!this.beforeInit.$nullFn){this.beforeInit(a)}}}});Ext.define("Ext.util.Bag",{isBag:true,constructor:function(){this.items=[];this.map={}},generation:0,length:0,beginUpdate:Ext.emptyFn,endUpdate:Ext.emptyFn,add:function(o){var l=this,k=l.items,a=l.map,d=1,e,h,m,c,g,j,b;if(Ext.isArray(o)){e=j=[];d=o.length}for(h=0;h<d;h++){c=l.getKey(g=e?o[h]:o);m=a[c];if(m===undefined){k.push(g);a[c]=l.length++;if(e){e.push(g)}else{j=g}}else{b=k[m];if(e){e.push(b)}else{j=b}k[m]=g}}++l.generation;return j},clear:function(){var c=this,b=c.generation||c.length,a=b?c.items:[];if(b){c.items=[];c.length=0;c.map={};++c.generation}return a},clone:function(){var c=this,b=new c.self(),a=c.length;if(a){Ext.apply(b.map,c.map);b.items=c.items.slice();b.length=c.length}return b},contains:function(c){var a=false,d=this.map,b;if(c!=null){b=this.getKey(c);if(b in d){a=this.items[d[b]]===c}}return a},containsKey:function(a){return a in this.map},destroy:function(){this.items=this.map=null;this.callParent()},each:function(g,e){var b=this.items,a=b.length,d,c;if(a){e=e||this;b=b.slice(0);for(d=0;d<a;d++){c=g.call(e,b[d],d,a);if(c===false){break}}}return c},getAt:function(b){var a=null;if(b<this.length){a=this.items[b]}return a},get:function(a){return this.getByKey(a)},getByKey:function(b){var c=this.map,a=(b in c)?this.items[c[b]]:null;return a},indexOfKey:function(b){var c=this.map,a=(b in c)?c[b]:-1;return a},last:function(){return this.items[this.length-1]},updateKey:function(b,d){var a=this,c=a.map,e;if(!b||!d){return}if((e=a.getKey(b))!==d){if(a.getAt(c[d])===b&&!(e in c)){a.generation++;c[e]=c[d];delete c[d]}}},getCount:function(){return this.length},getKey:function(a){return a.id||a.getId()},getRange:function(d,a){var c=this.items,e=c.length,b;if(!e){b=[]}else{b=Ext.Number.clipIndices(e,[d,a]);b=c.slice(b[0],b[1])}return b},remove:function(p){var l=this,a=l.map,k=l.items,j=null,d=1,h,e,g,m,c,o,b;if(Ext.isArray(p)){d=p.length;e=j=[]}if(l.length){for(g=0;g<d;g++){m=a[c=l.getKey(e?p[g]:p)];if(m!==undefined){delete a[c];b=k[m];if(e){e.push(b)}else{j=b}o=k.pop();if(m<--l.length){k[m]=o;a[l.getKey(o)]=m}h=true}}if(h){++l.generation}}return j},removeByKey:function(a){var b=this.getByKey(a);if(b){this.remove(b)}return b||null},replace:function(a){this.add(a);return a},sort:function(b){var d=this,a=d.items,e=a.length,c;if(e){Ext.Array.sort(a,b);d.map={};while(e-->0){c=a[e];d.map[d.getKey(c)]=e}++d.generation}}});Ext.define("Ext.util.Scheduler",{mixins:[Ext.mixin.Observable],busyCounter:0,lastBusyCounter:0,destroyed:false,firing:null,notifyIndex:-1,nextId:0,orderedItems:null,passes:0,scheduledCount:0,validIdRe:null,config:{cycleLimit:5,preSort:null,tickDelay:5},suspendOnNotify:true,constructor:function(a){this.mixins.observable.constructor.call(this,a);this.items=new Ext.util.Bag()},destroy:function(){var a=this,b=a.timer;if(b){window.clearTimeout(b);a.timer=null}a.items.destroy();a.items=a.orderedItems=null;a.callParent()},add:function(c){var b=this,a=b.items;if(a===b.firing){b.items=a=a.clone()}c.id=c.id||++b.nextId;c.scheduler=b;a.add(c);if(!b.sortMap){b.orderedItems=null}},remove:function(c){var b=this,a=b.items;if(b.destroyed){return}if(a===b.firing){b.items=a=a.clone()}if(c.scheduled){b.unscheduleItem(c);c.scheduled=false}a.remove(c);b.orderedItems=null},sort:function(){var d=this,a=d.items,e={},g=d.getPreSort(),b,c;d.orderedItems=[];d.sortMap=e;if(g){a.sort(g)}a=a.items;for(b=0;b<a.length;++b){c=a[b];if(!e[c.id]){d.sortItem(c)}}d.sortMap=null},sortItem:function(c){var b=this,d=b.sortMap,a=b.orderedItems,e;if(!c.scheduler){b.add(c)}e=c.id;if(!(e in d)){d[e]=0;if(!c.sort.$nullFn){c.sort()}d[e]=1;c.order=b.orderedItems.length;a.push(c)}return b},sortItems:function(a){var b=this,c=b.sortItem;if(a){if(a instanceof Array){Ext.each(a,c,b)}else{Ext.Object.eachValue(a,c,b)}}return b},applyPreSort:function(h){if(typeof h==="function"){return h}var g=h.split(","),e=[],d=g.length,j,a,b;for(a=0;a<d;++a){e[a]=1;b=g[a];if((j=b.charAt(0))==="-"){e[a]=-1}else{if(j!=="+"){j=0}}if(j){g[a]=b.substring(1)}}return function(c,p){var k=0,l,o,n,m;for(l=0;!k&&l<d;++l){o=g[l];n=c[o];m=p[o];k=e[l]*((n<m)?-1:((m<n)?1:0))}return k}},notify:function(){var k=this,b=k.timer,d=k.getCycleLimit(),c=Ext.GlobalEvents,h=k.suspendOnNotify,m,e,l,j,g,a;if(b){window.clearTimeout(b);k.timer=null}if(!k.firing&&k.scheduledCount){if(h){Ext.suspendLayouts()}while(k.scheduledCount){if(d){--d}else{k.firing=null;break}if(!a){a=true;if(c.hasListeners.beforebindnotify){c.fireEvent("beforebindnotify",k)}}++k.passes;if(!(g=k.orderedItems)){k.sort();g=k.orderedItems}j=g.length;if(j){k.firing=k.items;for(e=0;e<j;++e){l=g[e];if(l.scheduled){l.scheduled=false;--k.scheduledCount;k.notifyIndex=e;l.react();if(!k.scheduledCount){break}}}}}k.firing=null;k.notifyIndex=-1;if(h){Ext.resumeLayouts(true)}}if((m=k.busyCounter)!==k.lastBusyCounter){if(!(k.lastBusyCounter=m)){k.fireEvent("idle",k)}}},onTick:function(){this.timer=null;this.notify()},scheduleItem:function(b){var a=this;++a.scheduledCount;if(!a.timer&&!a.firing){a.scheduleTick()}},scheduleTick:function(){var a=this;if(!a.destroyed&&!a.timer){a.timer=Ext.Function.defer(a.onTick,a.getTickDelay(),a)}},unscheduleItem:function(a){if(this.scheduledCount){--this.scheduledCount}},adjustBusy:function(a){var b=this,c=b.busyCounter+a;b.busyCounter=c;if(c){if(!b.lastBusyCounter){b.lastBusyCounter=c;b.fireEvent("busy",b)}}else{if(b.lastBusyCounter&&!b.timer){b.scheduleTick()}}},isBusy:function(){return !this.isIdle()},isIdle:function(){return !(this.busyCounter+this.lastBusyCounter)},debugHooks:{$enabled:false,onCycleLimitExceeded:function(){Ext.raise("Exceeded cycleLimit "+this.getCycleLimit())},scheduleItem:function(a){if(!a){Ext.raise("scheduleItem: Invalid argument")}Ext.log("Schedule item: "+a.getFullName()+" - "+(this.scheduledCount+1));if(a.order<=this.notifyIndex){Ext.log.warn("Suboptimal order: "+a.order+" < "+this.notifyIndex)}this.callParent([a])},unscheduleItem:function(a){if(!this.scheduledCount){Ext.raise("Invalid scheduleCount")}this.callParent([a]);Ext.log("Unschedule item: "+a.getFullName()+" - "+this.scheduledCount)}}});Ext.define("Ext.data.Batch",{mixins:{observable:Ext.mixin.Observable},config:{pauseOnException:false},current:-1,total:0,running:false,complete:false,exception:false,constructor:function(a){var b=this;b.mixins.observable.constructor.call(b,a);b.operations=[];b.exceptions=[]},add:function(b){var d=this,c,a;if(Ext.isArray(b)){for(c=0,a=b.length;c<a;++c){d.add(b[c])}}else{d.total++;b.setBatch(d);d.operations.push(b)}return d},sort:function(){this.operations.sort(this.sortFn)},sortFn:function(c,a){var b=c.order-a.order;if(b){return b}var g=c.entityType,d=a.entityType,e;if(!g||!d){return 0}if(!(e=g.rank)){g.schema.rankEntities();e=g.rank}return(e-d.rank)*c.foreignKeyDirection},start:function(a){var b=this;if(!b.operations.length||b.running){return b}b.exceptions.length=0;b.exception=false;b.running=true;return b.runOperation(Ext.isDefined(a)?a:b.current+1)},retry:function(){return this.start(this.current)},runNextOperation:function(){var a=this;if(a.running){a.runOperation(a.current+1)}return a},pause:function(){this.running=false;return this},getOperations:function(){return this.operations},getExceptions:function(){return this.exceptions},getCurrent:function(){var a=null,b=this.current;if(!(b===-1||this.complete)){a=this.operations[b]}return a},getTotal:function(){return this.total},isRunning:function(){return this.running},isComplete:function(){return this.complete},hasException:function(){return this.exception},runOperation:function(c){var d=this,b=d.operations,a=b[c];if(a===undefined){d.running=false;d.complete=true;d.fireEvent("complete",d,b[b.length-1])}else{d.current=c;a.setInternalCallback(d.onOperationComplete);a.setInternalScope(d);a.execute()}return d},onOperationComplete:function(a){var c=this,b=a.hasException();if(b){c.exception=true;c.exceptions.push(a);c.fireEvent("exception",c,a)}if(b&&c.getPauseOnException()){c.pause()}else{c.fireEvent("operationcomplete",c,a);c.runNextOperation()}}});Ext.define("Ext.data.matrix.Slice",{constructor:function(a,b){this.id=b;this.side=a;this.members={}},attach:function(a){var b=this;b.store=a;a.matrix=b;a.on("load",b.onStoreLoad,b,{single:true})},commit:function(){var a=this.members,b;for(b in a){a[b][2]=0}},onStoreLoad:function(a){this.update(a.getData().items,0)},update:function(n,g){var t=this,j=Ext.data.matrix.Slice,c=t.side,k=c.index,e=n.length,m=t.id,s=t.members,b=c.inverse,r=b.slices,h,p,o,q,a,l,d;for(o=0;o<e;++o){p=d=null;q=n[o];a=q.isEntity?(d=q).id:q;h=s[a];if(g<0&&h&&h[2]===1){delete s[a];l=r[a];if(l){delete l.members[m]}p=1}else{if(!h){h=[a,a,g];h[k]=m;s[a]=h;l=r[a];if(!l){r[a]=l=new j(b,a)}l.members[m]=h;p=1}else{if(g!==h[2]&&g!==0){h[2]=g;l=r[a];p=1}}}if(p){if(t.notify){t.notify.call(t.scope,t,a,g)}if(l&&l.notify){l.notify.call(l.scope,l,m,g)}}}},updateId:function(b){var j=this,a=j.id,i=j.side,m=i.slices,l=m[a],c=l.members,g=i.index,d=i.inverse.slices,h,e,k;j.id=b;m[b]=l;delete m[a];for(e in c){h=c[e];h[g]=b;k=d[e].members;k[b]=k[a];delete k[a]}},destroy:function(){var b=this,a=b.store;if(a){a.matrix=null;a.un("load",b.onStoreLoad,b)}b.notify=b.scope=b.store=b.side=b.members=null;b.callParent()}});Ext.define("Ext.data.matrix.Side",{constructor:function(a,b,d){var c=this;c.matrix=a;c.index=b;c.role=d;c.slices={}},commit:function(){var a=this.slices,b;for(b in a){a[b].commit()}},get:function(b,a){var c=this,e=c.slices,d=e[b]||(e[b]=new Ext.data.matrix.Slice(c,b));return(a||a===0)?d.members[a]:d},update:function(b,a,c){var d=this.get(b);return d.update(a,c)},updateId:function(c,a){var b=this.get(c);if(b){b.updateId(a)}},destroy:function(){var a=this,b=a.slices,c;for(c in b){b[c].destroy()}a.inverse=a.matrix=a.role=a.slices=null;a.callParent()}});Ext.define("Ext.data.matrix.Matrix",{constructor:function(h,c){var e=this,b=c.isManyToMany?c:h.getSchema().getAssociation(c),a=Ext.data.matrix.Side,g=new a(e,0,b.left),d=new a(e,1,b.right);e.association=b;e.session=h;e.left=g;e.right=d;g.inverse=d;d.inverse=g},commit:function(){this.left.commit();this.right.commit()},update:function(b,a,c){return this.left.update(b,a,c)},updateId:function(a,h,c){var b=a.self,g=this.left,d=this.right,e;if(b===g.role.cls){e=g}if(b===d.role.cls){e=d}if(e){e.updateId(h,c)}},destroy:function(){var a=this;a.left.destroy();a.right.destroy();a.association=a.session=a.left=a.right=null;a.callParent()}});Ext.define("Ext.data.session.ChangesVisitor",{constructor:function(c){var a=this,b;a.session=c;b=c.getCrudProperties();a.result=null;a.writerOptions={};a.createKey=b.create;a.readKey=b.read;a.updateKey=b.update;a.dropKey=b.drop},onDirtyRecord:function(g){var j=this,m=j.crud,e=g.phantom,c=g.dropped,h=!e&&!c,k=g.$className,b=(e||c)?"allDataOptions":"partialDataOptions",i=j.writerOptions,a=g.entityName,o,d,l,n;if(e&&c){return false}m=e?j.createKey:(c?j.dropKey:j.updateKey);i=i[k]||(i[k]={});if(c){if(!(o=i.drop)){i.drop=o={all:g.getProxy().getWriter().getWriteAllFields()}}if(!o.all){l=g.id}}if(!l){if(!(o=i[b])){o=g.getProxy().getWriter().getConfig(b);i[b]=o=Ext.Object.chain(o);j.setupOptions(o)}l=g.getData(o)}n=j.result||(j.result={});d=n[a]||(n[a]={});d=d[m]||(d[m]=[]);d.push(l)},setupOptions:function(a){a.serialize=true},onMatrixChange:function(d,j,i,a){var h=this,b=d.left.type,g=d.right.role,e=a<0?h.dropKey:h.createKey,c,k;k=h.result||(h.result={});c=k[b]||(k[b]={});c=c[g]||(c[g]={});c=c[e]||(c[e]={});c=c[j]||(c[j]=[]);c.push(i)}});Ext.define("Ext.data.session.ChildChangesVisitor",{extend:Ext.data.session.ChangesVisitor,constructor:function(){this.seen={};this.callParent(arguments)},setupOptions:function(a){this.callParent([a]);a.serialize=false},onDirtyRecord:function(a){if(this.callParent(arguments)!==false){if(!a.$source&&(a.dropped||!a.phantom)){this.readEntity(a)}}},readEntity:function(g){var h=this,e=h.readKey,b=g.entityName,c=g.id,a=h.seen,i=b+c,j,d;if(a[i]){return}a[i]=true;j=h.result||(h.result={});d=j[b]||(j[b]={});d=d[e]||(d[e]=[]);d.push(Ext.apply({},g.modified,g.data))}});Ext.define("Ext.data.session.BatchVisitor",{map:null,constructor:function(a){this.batch=a},getBatch:function(g){var h=this.map,d=this.batch,i,b,c,a,e;if(h){if(!d){d=new Ext.data.Batch()}for(c in h){i=h[c];b=i.entity;e=b.getProxy();delete i.entity;for(a in i){a=e.createOperation(a,{records:i[a]});a.entityType=b;d.add(a)}}}if(d&&g!==false){d.sort()}return d},onDirtyRecord:function(a){var d=this,b=a.phantom?"create":(a.dropped?"destroy":"update"),c=a.$className,e=(d.map||(d.map={})),g=(e[c]||(e[c]={entity:a.self}));g=g[b]||(g[b]=[]);g.push(a)}});Ext.define("Ext.mixin.Dirty",{mixinId:"dirty",config:{dirty:null},dirty:false,_dirtyRecordCount:0,ignoreDirty:false,recordStateIsDirtyState:true,isDirty:function(){return this.getDirty()},applyDirty:function(a){return this.ignoreDirty?false:a},updateDirty:function(b,a){var c=this;c.dirty=b;if(!c.ignoreDirty&&c.fireEvent){c.fireEvent("dirtychange",c,b)}},clearRecordStates:function(){var b=this,a=b._crudCounters;if(a){a.C=a.U=a.D=0}b._dirtyRecordCount=0;if(b.recordStateIsDirtyState){b.setDirty(false)}},trackRecordState:function(a,b){var e=this,d=e._crudCounters||(e._crudCounters={C:0,R:0,U:0,D:0}),i=e._dirtyRecordCount,h,c,g;if(!b&&(g=a.crudStateWas)!==null){--d[g]}++d[a.crudState];e._dirtyRecordCount=c=d.C+d.U+d.D;h=!c!==!i;if(h&&e.recordStateIsDirtyState){e.setDirty(c>0)}return h},untrackRecordState:function(a){var d=this,c=d._crudCounters,g=d._dirtyRecordCount,e,b;if(c){--c[a.crudState];d._dirtyRecordCount=b=c.C+c.U+c.D;e=!b!==!g;if(e&&d.recordStateIsDirtyState){d.setDirty(b>0)}}return e}});Ext.define("Ext.data.Session",{mixins:[Ext.mixin.Dirty,Ext.mixin.Observable],isSession:true,config:{schema:"default",parent:null,autoDestroy:true,crudProperties:{create:"C",read:"R",update:"U",drop:"D"}},crudOperations:[{type:"R",entityMethod:"readEntities"},{type:"C",entityMethod:"createEntities"},{type:"U",entityMethod:"updateEntities"},{type:"D",entityMethod:"dropEntities"}],crudKeys:{C:1,R:1,U:1,D:1},statics:{nextId:1},constructor:function(a){var b=this;b.data={};b.matrices={};b.id=Ext.data.Session.nextId++;b.identifierCache={};b.recordCreator=b.recordCreator.bind(b);b.mixins.observable.constructor.call(b,a)},destroy:function(){var d=this,b=d.matrices,e=d.data,c,g,a,h;for(h in b){b[h].destroy()}for(c in e){g=e[c];for(h in g){a=g[h].record;if(a){a.$source=null;a.unjoin(d)}}}d.identifierCache=d.recordCreator=d.matrices=d.data=null;d.setSchema(null);d.callParent()},adopt:function(b){var d=this,c=b.associations,a;if(b.session!==d){b.session=d;d.add(b);if(c){for(a in c){c[a].adoptAssociated(b,d)}}}},commit:function(){var d=this,e=d.data,b=d.matrices,c,g,h,a;for(c in e){g=e[c];for(h in g){a=g[h].record;if(a){a.commit()}}}for(h in b){b[h].commit()}d.clearRecordStates()},createRecord:function(b,c){var d=b.$isClass?b:this.getSchema().getEntity(b),a=this.getParent(),e;if(c&&a){e=d.getIdFromData(c);if(a.peekRecord(d,e)){Ext.raise("A parent session already contains an entry for "+d.entityName+": "+e)}}return new d(c,this)},getChanges:function(){var a=new Ext.data.session.ChangesVisitor(this);this.visitData(a);return a.result},getChangesForParent:function(){var a=new Ext.data.session.ChildChangesVisitor(this);this.visitData(a);return a.result},getRecord:function(i,a,c){var h=this,b=i.isModel,g,d,j,e;if(b){b=i;a=i.id;i=i.self}g=h.peekRecord(i,a);if(!g){d=i.$isClass?i:h.getSchema().getEntity(i);j=h.getParent();if(j){e=j.peekRecord(d,a)}if(e){if(e.isLoading()){b=false}else{g=e.copy(undefined,h);g.$source=e}}if(!g){if(b){g=b;h.adopt(g)}else{g=d.createWithId(a,null,h);if(c!==false){g.load(Ext.isObject(c)?c:undefined)}}}}return g},getSaveBatch:function(a){var b=new Ext.data.session.BatchVisitor();this.visitData(b);return b.getBatch(a)},onInvalidAssociationEntity:function(a,b){Ext.raise("Unable to read association entity: "+this.getModelIdentifier(a,b))},onInvalidEntityCreate:function(a,b){Ext.raise("Cannot create, record already not exists: "+this.getModelIdentifier(a,b))},onInvalidEntityDrop:function(a,b){Ext.raise("Cannot drop, record does not exist: "+this.getModelIdentifier(a,b))},onInvalidEntityRead:function(a,b){Ext.raise("Cannot read, record already not exists: "+this.getModelIdentifier(a,b))},onInvalidEntityUpdate:function(a,c,b){if(b){Ext.raise("Cannot update, record dropped: "+this.getModelIdentifier(a,c))}else{Ext.raise("Cannot update, record does not exist: "+this.getModelIdentifier(a,c))}},peekRecord:function(e,i,a){var h=e.$isClass?e:this.getSchema().getEntity(e),c=h.entityName,g=this.data[c],b,d;g=g&&g[i];b=g&&g.record;if(!b&&a){d=this.getParent();b=d&&d.peekRecord(e,i,a)}return b||null},save:function(){var b=this,a=b.getParent(),c;if(a){c=new Ext.data.session.ChildChangesVisitor(b);b.visitData(c);a.update(c.result);b.commit()}},spawn:function(){return new this.self({schema:this.getSchema(),parent:this})},update:function(k){var m=this,e=m.getSchema(),a=m.crudOperations,l=a.length,n=m.crudKeys,o,g,q,j,d,r,c,p,h,b;m.getSchema().processKeyChecks(true);for(o in k){g=e.getEntity(o);q=k[o];for(j=0;j<l;++j){d=a[j];r=q[d.type];if(r){m[d.entityMethod](g,r)}}}for(o in k){g=e.getEntity(o);c=g.associations;q=k[o];for(p in q){if(n[p]){continue}h=c[p];b=q[h.role];h.processUpdate(m,b)}}},privates:{add:function(b){var e=this,g=b.id,d=e.getEntry(b.self,g),c,a;d.record=b;e.trackRecordState(b,true);e.registerReferences(b);c=b.associations;for(a in c){c[a].checkMembership(e,b)}},afterCommit:function(a){this.trackRecordState(a)},afterDrop:function(a){this.trackRecordState(a)},afterEdit:function(a){this.trackRecordState(a)},afterErase:function(a){this.evict(a)},applySchema:function(a){return Ext.data.schema.Schema.get(a)},createEntities:function(d,b){var a=b.length,c,e,g,h;for(c=0;c<a;++c){e=b[c];h=d.getIdFromData(e);g=this.peekRecord(d,h);if(!g){g=this.createRecord(d,e)}else{this.onInvalidEntityCreate(d,h)}g.phantom=true}},dropEntities:function(e,d){var b=d.length,c,g,h,a;if(b){a=Ext.isObject(d[0])}for(c=0;c<b;++c){h=d[c];if(a){h=e.getIdFromData(h)}g=this.peekRecord(e,h);if(g){g.drop()}else{this.onInvalidEntityDrop(e,h)}}},evict:function(a){var c=this,b=a.entityName,d=c.data[b],e=a.id;if(d&&d[e]){c.untrackRecordState(a);a.unjoin(c);delete d[e]}},getEntityList:function(d,c){var a=c.length,b,h,g,e;for(b=0;b<a;++b){h=c[b];g=this.peekRecord(d,h);if(g){c[b]=g}else{e=true;c[b]=null;this.onInvalidAssociationEntity(d,h)}}if(e){c=Ext.Array.clean(c)}return c},getEntry:function(b,g){if(b.isModel){g=b.getId();b=b.self}var d=b.$isClass?b:this.getSchema().getEntity(b),a=d.entityName,e=this.data,c;c=e[a]||(e[a]={});c=c[g]||(c[g]={});return c},getRefs:function(d,c,i){var g=this.getEntry(d),e=g&&g.refs&&g.refs[c.role],h=i&&this.getParent(),j,a,b;if(h){j=h.getRefs(d,c);if(j){for(a in j){b=j[a];if((!e||!e[a])){this.getRecord(b.self,b.id)}}e=g&&g.refs&&g.refs[c.role]}}return e||null},getIdentifier:function(g){var e=this.getParent(),a,c,d,b;if(e){b=e.getIdentifier(g)}else{a=this.identifierCache;c=g.identifier;d=c.getId()||g.entityName;b=a[d];if(!b){if(c.clone){b=c.clone({id:null})}else{b=c}a[d]=b}}return b},getMatrix:function(a,e){var d=a.isManyToMany?a.name:a,c=this.matrices,b;b=c[d];if(!b&&!e){b=c[d]=new Ext.data.matrix.Matrix(this,a)}return b||null},getMatrixSlice:function(d,c){var a=this.getMatrix(d.association),b=a[d.side];return b.get(c)},getModelIdentifier:function(a,b){return b+"@"+a.entityName},onIdChanged:function(g,m,i){var r=this,b=r.matrices,j=g.entityName,n=g.id,u=r.data[j],c=u[m],q=g.associations,d=c.refs,a=r._setNoRefs,h,e,p,k,t,l,o,s;delete u[m];u[i]=c;for(s in b){b[s].updateId(g,m,i)}if(d){for(l in d){o=d[l];t=q[l];h=t.association;if(!h.isManyToMany){e=h.field.name;for(k in o){o[k].set(e,n,a)}}}}r.registerReferences(g,m)},processManyBlock:function(d,e,h,b){var i=this,a,g,c,j;if(h){for(a in h){g=i.peekRecord(d,a);if(g){c=i.getEntityList(e.cls,h[a]);j=e.getAssociatedItem(g);i[b](e,j,g,c)}else{i.onInvalidAssociationEntity(d,a)}}}},processManyCreate:function(d,c,a,b){if(c){c.add(b)}else{a[d.getterName](null,null,b)}},processManyDrop:function(d,c,a,b){if(c){c.remove(b)}},processManyRead:function(d,c,a,b){if(c){c.setRecords(b)}else{a[d.getterName](null,null,b)}},readEntities:function(d,b){var a=b.length,c,e,g,h;for(c=0;c<a;++c){e=b[c];h=d.getIdFromData(e);g=this.peekRecord(d,h);if(!g){g=this.createRecord(d,e)}else{this.onInvalidEntityRead(d,h)}g.phantom=false}},recordCreator:function(c,d){var b=this,e=d.getIdFromData(c),a=b.peekRecord(d,e,true);if(!a){a=new d(c,b)}else{a=b.getRecord(d,e)}return a},registerReferences:function(j,c){var m=j.entityName,b=j.id,a=j.data,h=c||c===0,n,g,p,k,d,o,l,e;k=(o=j.references).length;for(g=0;g<k;++g){d=o[g];p=a[d.name];if(p||p===0){d=d.reference;m=d.type;e=d.inverse.role;n=this.getEntry(d.cls,p);l=n.refs||(n.refs={});l=l[e]||(l[e]={});l[b]=j;if(h){delete l[c]}}}},updateEntities:function(e,b){var a=b.length,d,g,h,j,c;if(Ext.isArray(b)){for(d=0;d<a;++d){g=b[d];j=e.getIdFromData(g);h=this.peekRecord(e,j);if(h){h.set(g)}else{this.onInvalidEntityUpdate(e,j)}}}else{for(j in b){g=b[j];h=this.peekRecord(e,j);if(h&&!h.dropped){c=h.set(g)}else{this.onInvalidEntityUpdate(e,j,!!h)}}}},updateReference:function(g,i,c,a){var d=i.reference,j=d.type,e=d.inverse.role,b=g.id,k,h;if(a||a===0){h=this.getEntry(j,a).refs[e];delete h[b]}if(c||c===0){k=this.getEntry(j,c);h=k.refs||(k.refs={});h=h[e]||(h[e]={});h[b]=g}},visitData:function(h){var j=this,e=j.data,n=j.matrices,m,i,c,p,k,d,b,g,l,o,a;j.getSchema().processKeyChecks(true);for(b in e){m=e[b];for(c in m){g=m[c].record;if(g){if(g.phantom||g.dirty||g.dropped){if(h.onDirtyRecord){h.onDirtyRecord(g)}}else{if(h.onCleanRecord){h.onCleanRecord(g)}}}}}if(h.onMatrixChange){for(b in n){k=n[b].left;o=k.slices;i=k.role.association;for(c in o){l=o[c];d=l.members;for(p in d){a=(g=d[p])[2];if(a){h.onMatrixChange(i,g[0],g[1],a)}}}}}return h},_setNoRefs:{refs:false}}});Ext.define("Ext.util.Schedulable",{"abstract":true,isSchedulable:true,scheduled:false,constructor:function(){this.getScheduler().add(this)},destroy:function(){var b=this,a=b.getScheduler();if(a){a.remove(b)}b.scheduler=null;b.schedule=b.react=Ext.emptyFn;b.callParent()},getFullName:function(){return this.name||this.id},privates:{getScheduler:function(){return this.scheduler},schedule:function(){var b=this,a;if(!b.scheduled){a=b.getScheduler();if(a){b.scheduled=true;if(b.onSchedule){b.onSchedule()}a.scheduleItem(b)}}},unschedule:function(){var b=this,a;if(b.scheduled){a=b.getScheduler();if(a){a.unscheduleItem(b)}b.scheduled=false}},sort:function(){}}});Ext.define("Ext.app.bind.BaseBinding",{extend:Ext.util.Schedulable,calls:0,kind:20,defaultOptions:{},lastValue:undefined,constructor:function(a,e,c,b){var d=this;d.options=b;d.owner=a;d.scope=c;d.callback=e;d.lateBound=Ext.isString(e);if(b&&b.deep){d.deep=true}d.callParent()},destroy:function(){var b=this,a=b.owner;if(a){a.onBindDestroy(b)}b.callParent();b.scope=b.callback=b.owner=null},isReadOnly:function(){return true},privates:{getScheduler:function(){var a=this.owner;return a&&a.getScheduler()},getSession:function(){var a=this.owner;return a.isSession?a:a.getSession()},notify:function(d){var c=this,a=c.options||c.defaultOptions,b=c.lastValue;if(!c.calls||c.deep||c.valueChanged(d,b)){++c.calls;c.lastValue=d;if(c.lateBound){c.scope[c.callback](d,b,c)}else{c.callback.call(c.scope,d,b,c)}if(a.single){c.destroy()}}},valueChanged:function(c,b){var a=true;if(b!==c){if(c&&b&&c instanceof Date&&b instanceof Date){a=c.getTime()!==b.getTime()}}else{a=Ext.isArray(c)}return a}}});Ext.define("Ext.app.bind.Binding",{extend:Ext.app.bind.BaseBinding,constructor:function(d,e,b,a){var c=this;c.callParent([d.owner,e,b,a]);c.stub=d;c.depth=d.depth;if(!d.isLoading()&&!d.scheduled){c.schedule()}},destroy:function(c){var a=this,b=a.stub;if(b&&!c){b.unbind(a);a.stub=null}a.callParent()},bindValidation:function(c,a){var b=this.stub;return b&&b.bindValidation(c,a)},bindValidationField:function(c,a){var b=this.stub;return b&&b.bindValidationField(c,a)},getFullName:function(){return this.fullName||(this.fullName="@("+this.stub.getFullName()+")")},getValue:function(){var a=this,b=a.stub;return b&&b.getValue()},isLoading:function(){var a=this.stub;return a&&a.isLoading()},isReadOnly:function(){var c=this.stub,b=this.options,a=true;if(!(b&&b.twoWay===false)){if(c){a=c.isReadOnly()}}return a},refresh:function(){},setValue:function(a){this.stub.set(a)},privates:{getDataObject:function(){var a=this.stub;return a&&a.getDataObject()},getRawValue:function(){var a=this,b=a.stub;return b&&b.getRawValue()},isDescendantOf:function(a){var b=this.stub;return b?(a===b)||b.isDescendantOf(a):false},react:function(){this.notify(this.getValue())},schedule:function(){if(!this.stub.scheduled){this.callParent()}},sort:function(){var a=this.stub;a.scheduler.sortItem(a)}}});Ext.define("Ext.app.bind.AbstractStub",{extend:Ext.util.Schedulable,children:null,depth:0,generation:1,kind:10,parent:null,constructor:function(a,b){var c=this;c.owner=a;c.name=b;c.callParent()},destroy:function(){var e=this,d=e.children,g=e.bindings,a,c,b;if(g){for(c=0,a=g.length;c<a;++c){g[c].destroy(true)}}for(b in d){d[b].destroy()}if(e.scheduled){e.unschedule()}e.callParent()},add:function(b){var a=this;(a.children||(a.children={}))[b.name]=b;b.depth=a.depth+1;b.parent=a},getChild:function(b){var a=Ext.isString(b)?b.split("."):b;if(a&&a.length){return this.descend(a,0)}return this},getFullName:function(){var d=this,a=d.fullName,c=d.parent,b;if(!a){a=d.name||d.id;if(c&&(b=c.getFullName())){a=((b.charAt(b.length-1)!==":")?b+".":b)+a}d.fullName=a}return a},getSession:function(){var a=this.owner;return a.isSession?a:a.getSession()},bind:function(g,b,a){var c=this,d=new Ext.app.bind.Binding(c,g,b,a),e=(c.bindings||(c.bindings=[]));d.depth=c.depth;e.push(d);return d},getValue:function(){return this.isLoading()?null:this.getRawValue()},graft:function(c){var d=this,e=d.bindings,a=d.name,b;d.parent=d.bindings=null;d.destroy();c.depth=d.depth;c.bindings=e;c.generation=d.generation+1;c.name=a;c.id=d.id;c.path=d.path;if(e){for(b=e.length;b-->0;){e[b].stub=c}}return c},isDescendantOf:function(b){for(var a=this;a=a.parent;){if(a===b){return true}}return false},onSchedule:function(){for(var b,a,d,e,c=this.parent;c;c=c.parent){e=c.bindings;if(e){for(b=0,a=e.length;b<a;++b){d=e[b];if(d.deep&&!d.scheduled){d.schedule()}}}}},react:function(){var d=this.bindings,c,b,a;if(d){for(b=0,a=d.length;b<a;++b){c=d[b];if(!c.scheduled){c.schedule()}}}},unbind:function(a){var b=this.bindings;if(b&&b.length){Ext.Array.remove(b,a)}},privates:{collect:function(){var c=this.children,g=this.bindings,a=0,d=0,e,b;if(c){for(b in c){e=c[b];d=e.collect();if(d===0){e.destroy();delete c[b]}a+=d}}if(g){a+=g.length}return a},getScheduler:function(){var a=this.owner;return a&&a.getScheduler()},sort:function(){var a=this.parent;if(a){this.scheduler.sortItem(a)}}}});Ext.define("Ext.app.bind.Stub",{extend:Ext.app.bind.AbstractStub,isStub:true,dirty:true,formula:null,validationKey:"validation",constructor:function(a,b,c){var d=this,e=b;d.callParent([a,b]);d.boundValue=null;if(c){c.add(d);if(!c.isRootStub){e=c.path+"."+b}d.checkHadValue()}d.path=e},destroy:function(){var b=this,c=b.formula,a=b.storeBinding;if(c){c.destroy()}if(a){a.destroy()}b.detachBound();b.callParent()},bindValidation:function(c,b){var a=this.parent;return a&&a.descend([this.validationKey,this.name]).bind(c,b)},bindValidationField:function(g,d){var c=this.parent,b=this.name,e=typeof g==="string",a;if(c){a=c.bind(function(h){var i=null;if(h&&h.isModel){i=h.getField(b)}if(e){d[g](i,h,this)}else{g.call(d,i,h,this)}})}return a||null},descend:function(g,c){var e=this,d=e.children||(e.children={}),h=c||0,b=g[h++],a;if(!(a=d[b])){a=new Ext.app.bind.Stub(e.owner,b,e)}if(h<g.length){a=a.descend(g,h)}return a},getChildValue:function(a){var d=this,c=d.name,b;if(!a&&!Ext.isString(a)){b=d.hadValue?null:undefined}else{b=d.inspectValue(a);if(!b){if(a.isEntity){b=a.data[c]}else{b=a[c]}}}return b},getDataObject:function(){var e=this,a=e.parent.getDataObject(),c=e.name,b=a?a[c]:null,d;if(!b&&a&&a.isEntity){d=a.associations;if(d&&c in d){b=a[d[c].getterName]()}}if(!b||!(b.$className||Ext.isObject(b))){a[c]=b={};e.hadValue=true;e.invalidate(true,true)}return b},getRawValue:function(){return this.getChildValue(this.getParentValue())},graft:function(e){var g=this,d=g.parent,c=g.children,a=g.name,b;e.parent=d;e.children=c;if(d){d.children[a]=e}if(c){for(b in c){c[b].parent=e}}g.children=null;e.checkHadValue();return g.callParent([e])},isLoading:function(){var d=this,c=d.parent,h=false,b,g,e,a;if(c&&!(h=c.isLoading())){g=d.getParentValue();e=d.inspectValue(g);if(e){h=e.isLoading()}else{if(g&&g.isModel){b=g.associations;if(!(b&&d.name in b)){h=false;a=true}}if(!a){h=!d.hadValue&&d.getRawValue()===undefined}}}return h},invalidate:function(b,a){var e=this,d=e.children,c;e.checkHadValue();e.dirty=true;if(!a&&!e.isLoading()){if(!e.scheduled){e.schedule()}}if(b&&d){for(c in d){d[c].invalidate(b,a)}}},isReadOnly:function(){var a=this.formula;return !!(a&&!a.set)},set:function(j){var i=this,k=i.parent,a=i.name,g=i.formula,h,c,b,d,e;if(g&&!g.settingValue&&g.set){g.setValue(j);return}else{if(i.isLinkStub){d=i.getLinkFormulaStub();g=d?d.formula:null;if(g){g.setValue(j);return}}}h=k.getDataObject();if(h.isEntity){c=h.associations;if(c&&(a in c)){b=c[a];e=b.setterName;if(e){h[e](j)}i.invalidate(true)}else{h.set(a,j)}}else{if((j&&j.constructor===Object)||j!==h[a]){if(!i.setByLink(j)){if(j===undefined){delete h[a]}else{h[a]=j}i.inspectValue(h);i.invalidate(true)}}}},onStoreLoad:function(){this.invalidate(true)},afterLoad:function(a){this.invalidate(true)},afterCommit:function(a){this.afterEdit(a,null)},afterEdit:function(b,h){var g=this.children,a=h&&h.length,e=b.associations,d,c,j;if(g){if(a){for(c=0;c<a;++c){j=g[h[c]];if(j){j.invalidate()}}}else{for(d in g){if(!(e&&d in e)){g[d].invalidate()}}}}this.invalidate()},afterReject:function(a){this.afterEdit(a,null)},afterAssociatedRecordSet:function(a,d,e){var c=this.children,b=e.role;if(c&&b in c){c[b].invalidate(true)}},setByLink:function(d){var c=this,h=0,a,b,g,e;for(e=c;e;e=e.parent){if(e.isLinkStub){b=e;if(h){for(g=[],a=0,e=c;e!==b;e=e.parent){++a;g[h-a]=e.name}}break}++h}if(!b||!(e=b.getTargetStub())){return false}if(g){e=e.descend(g)}e.set(d);return true},setFormula:function(c){var a=this,b=a.formula;if(b){b.destroy()}a.formula=new Ext.app.bind.Formula(a,c)},react:function(){var c=this,b=this.boundValue,a=c.children,d;if(b){if(b.isValidation){b.refresh();d=b.generation;if(c.lastValidationGeneration===d){return}c.lastValidationGeneration=d}else{if(b.isModel){if(a&&a[c.validationKey]){b.isValid()}}else{if(b.isStore){if(b.isLoading()&&!b.loadCount){return}}}}}this.callParent()},privates:{checkHadValue:function(){if(!this.hadValue){this.hadValue=this.getRawValue()!==undefined}},collect:function(){var c=this,a=c.callParent(),b=c.storeBinding?1:0,d=c.formula?1:0;return a+b+d},getLinkFormulaStub:function(){var a=this;while(a.isLinkStub){a=a.binding.stub}return a.formula?a:null},getParentValue:function(){var a=this;if(a.dirty){a.parentValue=a.parent.getValue();a.dirty=false}return a.parentValue},setStore:function(a){this.storeBinding=a},inspectValue:function(h){var i=this,a=i.name,e=i.boundValue,b=null,c,j,d,g;if(h&&h.isEntity){c=h.associations;if(c&&(a in c)){b=h[c[a].getterName]();if(b&&b.isStore){b.$associatedStore=true}}else{if(a===i.validationKey){b=h.getValidation();i.lastValidationGeneration=null}}}else{if(h){j=h[a];if(j&&(j.isModel||j.isStore)){b=j}}}d=e!==b;if(d){if(e){i.detachBound()}if(b){if(b.isModel){b.join(i)}else{g=b.associatedEntity;if(g&&b.autoLoad!==false&&!b.complete&&!b.hasPendingLoad()){b.load()}b.on({scope:i,load:{fn:"onStoreLoad",single:true},destroy:"onDestroyBound"})}}i.boundValue=b}return b},detachBound:function(){var a=this,b=a.boundValue;if(b){if(b.isModel){b.unjoin(a)}else{b.un({scope:a,load:"onStoreLoad",destroy:"onDestroyBound"})}}},onDestroyBound:function(){if(!this.owner.destroying){this.set(null)}},sort:function(){var c=this,d=c.formula,a=c.scheduler,b=c.storeBinding;c.callParent();if(b){a.sortItem(b)}if(d){a.sortItem(d)}}}});Ext.define("Ext.app.bind.LinkStub",{extend:Ext.app.bind.Stub,isLinkStub:true,binding:null,destroy:function(){var b=this,c=b.binding,a=b.owner;if(c){b.binding=null;c.destroy();if(a){delete a.linkData[b.name]}}b.target=null;b.callParent()},getFullName:function(){var a=this;return a.fullName||(a.fullName="("+a.callParent()+" -> "+a.binding.getFullName()+")")},getDataObject:function(){var a=this.binding;return a&&a.getDataObject()},getRawValue:function(){var a=this.binding;return a&&a.getRawValue()},getValue:function(){var a=this.binding;return a&&a.getValue()},getTargetStub:function(){var a=this.binding;return a&&a.stub},isLoading:function(){var a=this.binding;return a?a.isLoading():false},link:function(d,b){var a=this,c=a.binding;if(c){c.destroy()}b=a.target=b||a.owner;a.linkDescriptor=d;a.binding=b.bind(d,a.onChange,a);a.binding.deep=true},onChange:function(){this.invalidate(true)},react:function(){var b=this,a=b.owner.linkData;a[b.name]=b.getValue();b.callParent()},privates:{collect:function(){var b=this,a=b.callParent(),c=b.binding?1:0;return a+c},sort:function(){var a=this.binding;if(a){this.scheduler.sortItem(a)}}}});Ext.define("Ext.app.bind.RootStub",{extend:Ext.app.bind.AbstractStub,isRootStub:true,depth:0,createRootChild:function(a,e){var j=this,b=j.owner,g=b.getData(),c=j.children,i=c&&c[a],h=i?null:j,k,d;if(e||g.hasOwnProperty(a)||!(k=b.getParent())){d=new Ext.app.bind.Stub(b,a,h)}else{d=new Ext.app.bind.LinkStub(b,a,i?null:h);d.link("{"+a+"}",k)}if(i){i.graft(d)}return d},createStubChild:function(a){return this.createRootChild(a,true)},descend:function(g,c){var e=this,d=e.children,h=c||0,b=g[h++],a=(d&&d[b])||e.createRootChild(b);if(h<g.length){a=a.descend(g,h)}return a},getFullName:function(){return this.fullName||(this.fullName=this.owner.id+":")},getDataObject:function(){return this.owner.data},getRawValue:function(){return this.owner.data},getValue:function(){return this.owner.data},isDescendantOf:function(){return false},isLoading:function(){return false},set:function(h){var g=this,b=g.children||(g.children={}),a=g.owner,d=a.data,k=a.getParent(),e,c,j,i;for(i in h){if((j=h[i])!==undefined){if(!(c=b[i])){c=new Ext.app.bind.Stub(a,i,g)}else{if(c.isLinkStub){if(!c.getLinkFormulaStub()){e=c;c=new Ext.app.bind.Stub(a,i);e.graft(c)}}}c.set(j)}else{if(d.hasOwnProperty(i)){delete d[i];c=b[i];if(c){if(!c.isLinkStub&&k){c=g.createRootChild(i)}c.invalidate(true)}}}}},schedule:Ext.emptyFn,unschedule:Ext.emptyFn});Ext.define("Ext.app.bind.Multi",{extend:Ext.app.bind.BaseBinding,isMultiBinding:true,missing:1,deep:true,constructor:function(e,a,h,c,b){var d=this,g=b&&b.trackStatics;d.callParent([a,h,c,b]);d.bindings=[];d.literal=e.$literal;if(e.constructor===Object){if(g){d.staticKeys=[]}d.addObject(e,d.lastValue={},d.staticKeys)}else{d.addArray(e,d.lastValue=[])}if(!--d.missing&&!d.scheduled){d.schedule()}},destroy:function(){var a=this;a.bindings=Ext.destroy(a.bindings);a.callParent()},add:function(b,g,j){var i=this,d=i.owner,c=i.bindings,a=i.literal?(b.reference?"bindEntity":"bindExpression"):"bind",h,e;++i.missing;h=d[a](b,function(k){g[j]=k;if(h.calls===1){--i.missing}if(!i.missing&&!i.scheduled){i.schedule()}},i,null);e=h.depth;if(!c.length||e<i.depth){i.depth=e}c.push(h);return !this.isBindingStatic(h)},addArray:function(c,k){var g=this,j=c.length,d=false,h,a,e;for(e=0;e<j;++e){a=c[e];if(a&&(a.reference||Ext.isString(a))){h=g.add(a,k,e)}else{if(Ext.isArray(a)){h=g.addArray(a,k[e]=[])}else{if(a&&a.constructor===Object){h=g.addObject(a,k[e]={})}else{k[e]=a;h=false}}}d=d||h}return d},addObject:function(c,g,i){var h=this,e=false,j,a,d;for(d in c){a=c[d];if(a&&(a.reference||Ext.isString(a))){j=h.add(a,g,d)}else{if(Ext.isArray(a)){j=h.addArray(a,g[d]=[])}else{if(a&&a.constructor===Object){j=h.addObject(a,g[d]={})}else{g[d]=a;j=false}}}if(i&&!j){i.push(d)}e=e||j}return e},getFullName:function(){var c=this,d=c.fullName,e=c.bindings,b=e.length,a;if(!d){d="@[";for(a=0;a<b;++a){if(a){d+=","}d+=e[a].getFullName()}d+="]";c.fullName=d}return d},getRawValue:function(){return this.lastValue},isDescendantOf:function(){return false},isLoading:function(){for(var b=this.bindings,a=b.length;a-->0;){if(b[a].isLoading()){return true}}return false},isBindingStatic:function(a){return a.isTemplateBinding&&a.isStatic},isStatic:function(){var d=this.bindings,a=d.length,b,c;for(b=0;b<a;++b){c=d[b];if(!this.isBindingStatic(c)){return false}}return true},pruneStaticKeys:function(){var d=Ext.apply({},this.lastValue),c=this.staticKeys,a=c.length,b;for(b=0;b<a;++b){delete d[c[b]]}return d},react:function(){this.notify(this.lastValue)},refresh:function(){},privates:{sort:function(){this.scheduler.sortItems(this.bindings)}}});Ext.define("Ext.app.bind.Formula",{extend:Ext.util.Schedulable,statics:{getFormulaParser:function(b){var a=this.formulaCache,d,c;if(!a){a=this.formulaCache=new Ext.util.LruCache({maxSize:20})}d=a.get(b);if(!d){c="[^\\.a-z0-9_]"+b+"\\(\\s*(['\"])(.*?)\\1\\s*\\)";d=new RegExp(c,"gi");a.add(b,d)}return d}},isFormula:true,calculation:null,explicit:false,set:null,single:false,argumentNamesRe:/^function\s*\(\s*([^,\)\s]+)/,constructor:function(h,i){var g=this,b=h.owner,d,e,a,c;g.owner=b;g.stub=h;g.callParent();if(i instanceof Function){g.get=a=i}else{g.get=a=i.get;g.set=i.set;e=i.bind;if(i.single){g.single=i.single}if(e){d=e.bindTo;if(d){c=Ext.apply({},e);delete c.bindTo;e=d}}}if(e){g.explicit=true}else{e=a.$expressions||g.parseFormula(a)}g.binding=b.bind(e,g.onChange,g,c)},destroy:function(){var a=this,c=a.binding,b=a.stub;if(c){c.destroy();a.binding=null}if(b){b.formula=null}a.callParent();a.getterFn=a.owner=null},getFullName:function(){return this.fullName||(this.fullName=this.stub.getFullName()+"="+this.callParent()+")")},getRawValue:function(){return this.calculation},onChange:function(){if(!this.scheduled){this.schedule()}},parseFormula:function(h){var g=h.toString(),d={$literal:true},c,b,a,e;c=this.argumentNamesRe.exec(g);b=c?c[1]:"get";a=Ext.app.bind.Formula.getFormulaParser(b);while((c=a.exec(g))){e=c[2];d[e]=e}d.$literal=true;h.$expressions=d;return d},react:function(){var c=this,b=c.owner,d=c.binding.lastValue,e=c.getterFn,a;if(c.explicit){a=d}else{a=b.getFormulaFn(d)}c.settingValue=true;c.stub.set(c.calculation=c.get.call(b,a));c.settingValue=false;if(c.single){c.destroy()}},setValue:function(a){this.set.call(this.stub.owner,a)},privates:{getScheduler:function(){var a=this.owner;return a&&a.getScheduler()},sort:function(){var a=this,b=a.binding;if(!b.destroyed){a.scheduler.sortItem(b)}}}});Ext.define("Ext.util.Fly",{inheritableStatics:{flyPoolSize:2,fly:function(){var c=this,b=c.flyweights||(c.flyweights=[]),a=b.length?b.pop():new c();a.reset.apply(a,arguments);return a}},release:function(){var c=this,b=c.self,a=b.flyweights||(b.flyweights=[]);c.reset();if(a.length<b.flyPoolSize){a.push(c)}},reset:Ext.emptyFn});Ext.define("Ext.parse.Tokenizer",function(j){var i=(j.flyweights=[]),d={literal:true,"boolean":true},g={error:true},a={ident:true},b={literal:true},e={literal:true,nil:true},c={literal:true,number:true},h={literal:true,string:true};return{extend:Ext.util.Fly,isTokenizer:true,statics:{BOOLEAN:d,ERROR:g,IDENT:a,LITERAL:b,NULL:e,NUMBER:c,STRING:h},config:{keywords:{"null":{type:"literal",is:e,value:null},"false":{type:"literal",is:d,value:false},"true":{type:"literal",is:d,value:true}},operators:{"+":"plus","-":"minus","*":"multiply","/":"divide","!":"bang",",":"comma",":":"colon","[":"arrayOpen","]":"arrayClose","{":"curlyOpen","}":"curlyClose","(":"parenOpen",")":"parenClose"}},error:null,index:-1,constructor:function(k){this.operators={};this.initConfig(k)},next:function(){var k=this.peek();this.head=undefined;return k},peek:function(){var m=this,k=m.error,l=m.head;if(k){return k}if(l===undefined){m.head=l=m.advance()}return l},release:function(){this.reset();if(i.length<j.flyPoolSize){i.push(this)}},reset:function(m,n,k){var l=this;l.error=null;l.head=undefined;l.index=-1;l.text=m||null;l.pos=n||0;l.end=(m&&k==null)?m.length:k;return l},privates:{digitRe:/[0-9]/,identFirstRe:/[a-z_$]/i,identRe:/[0-9a-z_$]/i,spaceRe:/[ \t]/,end:0,head:undefined,pos:0,text:null,applyOperators:function(m){var o=this.operators,n,s,l,p,r,k,q;for(q in m){n=o;k=m[q];r=q.length;for(p=0;p<r;++p){s=q.charAt(p);n=n[s]||(n[s]={})}if(k){n.token=l={type:"operator",value:q,is:{operator:true}};l.is[k]=true}else{n.token=null}}},advance:function(){var m=this,k=m.spaceRe,n=m.text,l=m.end,o;while(m.pos<l){o=n.charAt(m.pos);if(k.test(o)){++m.pos;continue}m.index=m.pos;return m.parse(o)}return null},parse:function(p){var n=this,l=n.digitRe,o=n.text,m=n.end,k;if(p==="."&&n.pos+1<m){if(l.test(o.charAt(n.pos+1))){k=n.parseNumber()}}if(!k&&n.operators[p]){k=n.parseOperator(p)}if(!k){if(p==='"'||p==="'"){k=n.parseString()}else{if(l.test(p)){k=n.parseNumber()}else{if(n.identFirstRe.test(p)){k=n.parseIdent()}else{k=n.syntaxError("Unexpected character")}}}}return k},parseIdent:function(){var s=this,o=s.identRe,p=s.getKeywords(),q=!s.operators["."],u=s.text,k=s.pos,n=k,l=s.end,m=0,r,t;while(n<l){r=u.charAt(n);if(q&&r==="."){if(m==="."){return s.syntaxError(n,"Unexpected dot operator")}++n}else{if(o.test(r)){++n}else{break}}m=r}if(m==="."){return s.syntaxError(n-1,"Unexpected dot operator")}t=u.substring(k,s.pos=n);return(p&&p[t])||{type:"ident",is:a,value:t}},parseNumber:function(){var r=this,o=r.digitRe,s=r.text,k=r.pos,l=r.end,q,p,n,m;while(r.pos<l){q=s.charAt(r.pos);if(q==="-"||q==="+"){if(r.pos!==k){return r.syntaxError(k,"Invalid number")}++r.pos}else{if(q==="."){if(p){break}p=true;++r.pos}else{if(q==="e"||q==="E"){if(n){break}p=n=true;q=s.charAt(++r.pos);if(q==="-"||q==="+"){++r.pos}}else{if(o.test(q)){++r.pos}else{break}}}}}m={type:"literal",is:c,value:+s.substring(k,r.pos)};if(!isFinite(m.value)){m=r.syntaxError(k,"Invalid number")}return m},parseOperator:function(q){var r=this,m=r.operators,s=r.text,k=r.end,n=r.pos,p,o,l;while(m[q]){m=m[q];l=m.token;++n;if(l){p=l;o=n}if(n<k){q=s.charAt(n)}else{break}}if(p){r.pos=o}return p},parseString:function(){var q=this,s=q.text,r=q.pos,l=r,m=q.end,p="",o,n,k;k=s.charAt(r++);while(r<m){o=s.charAt(r++);if(o===k){n=true;break}if(o==="\\"&&r<m){o=s.charAt(r++)}p+=o}q.pos=r;if(!n){return q.syntaxError(l,"Unterminated string")}return{type:"literal",is:h,value:p}},syntaxError:function(k,m){if(typeof k==="string"){m=k;k=this.pos}var n=(k==null)?"":(" (at index "+k+")"),l=new Error(m+n);l.type="error";l.is=g;if(n){l.at=k}return this.error=l}}}});Ext.define("Ext.parse.Symbol",{priority:0,constructor:function(d,a){var b=this,c=b.defaultProperty;if(a&&typeof a==="object"){Ext.apply(b,a)}else{if(a!==undefined&&c){b[c]=a}}b.id=d},led:function(){this.parser.syntaxError(this.at,"Missing operator")},nud:function(){this.parser.syntaxError(this.at,"Undefined")},update:function(b){if(b&&typeof b==="object"){var d=this,c=b.priority,e=b.led,a=b.nud;if(d.priority<=c){d.priority=c}if(e){d.led=e}if(a){d.nud=a}}}});Ext.define("Ext.parse.symbol.Constant",{extend:Ext.parse.Symbol,arity:"literal",isLiteral:true,defaultProperty:"value",constructor:function(b,a){this.callParent([b,a]);this._value=this.value},nud:function(){var a=this;a.value=a._value;a.arity="literal";a.isLiteral=true;return a}});Ext.define("Ext.parse.symbol.Infix",{extend:Ext.parse.Symbol,arity:"binary",isBinary:true,defaultProperty:"priority",led:function(b){var a=this;a.lhs=b;a.rhs=a.parser.parseExpression(a.priority);a.arity="binary";a.isBinary=true;return a}});Ext.define("Ext.parse.symbol.InfixRight",{extend:Ext.parse.symbol.Infix,led:function(b){var a=this;a.lhs=b;a.rhs=a.parser.parseExpression(a.priority-1);a.arity="binary";a.isBinary=true;return a}});Ext.define("Ext.parse.symbol.Paren",{extend:Ext.parse.Symbol,arity:"binary",isBinary:true,priority:80,led:function(d){var c=this,a=[],g=c.parser,e=d.id,b=d.arity;if(e!=="."&&e!=="["){if((b!=="unary"||e!=="function")&&b!=="ident"&&e!=="("&&e!=="&&"&&e!=="||"&&e!=="?"){g.syntaxError(d.at,"Expected a variable name.")}}c.arity="invoke";c.isInvoke=true;c.operand=d;c.args=a;while(g.token.id!==")"){if(a.length){g.advance(",")}a.push(g.parseExpression())}g.advance(")");return c},nud:function(){var b=this.parser,a=b.parseExpression();b.advance(")");return a}});Ext.define("Ext.parse.symbol.Prefix",{extend:Ext.parse.Symbol,arity:"unary",isUnary:true,priority:70,nud:function(){var a=this;a.operand=a.parser.parseExpression(a.priority);a.arity="unary";a.isUnary=true;return a}});Ext.define("Ext.parse.Parser",function(){var a=function(){return this};return{extend:Ext.util.Fly,isParser:true,config:{constants:{"null":null,"false":false,"true":true},infix:{"+":50,"-":50,"*":60,"/":60},infixRight:{"&&":30,"||":30},prefix:{"!":0,"-":0,"+":0},symbols:{":":0,",":0,")":0,"[":0,"]":0,"{":0,"}":0,"(end)":0,"(ident)":{arity:"ident",isIdent:true,nud:a},"(literal)":{arity:"literal",isLiteral:true,nud:a},"(":{xclass:"Ext.parse.symbol.Paren"}},tokenizer:{keywords:null}},token:null,constructor:function(b){this.symbols={};this.initConfig(b)},advance:function(g){var i=this,k=i.tokenizer,d=k.peek(),b=i.symbols,h=k.index,e,c,j;if(i.error){throw i.error}if(g){i.expect(g)}if(!d){return i.token=b["(end)"]}k.next();e=d.is;j=d.value;if(e.ident){c=b[j]||b["(ident)"]}else{if(e.operator){if(!(c=b[j])){i.syntaxError(d.at,'Unknown operator "'+j+'"')}}else{if(e.literal){c=b["(literal)"]}else{i.syntaxError(d.at,"Unexpected token")}}}i.token=c=Ext.Object.chain(c);c.at=h;c.value=j;if(!c.arity){c.arity=d.type}return c},expect:function(c){var b=this.token;if(c!==b.id){this.syntaxError(b.at,'Expected "'+c+'"')}return this},parseExpression:function(b){var d=this,c=d.token,e;b=b||0;d.advance();e=c.nud();while(b<(c=d.token).priority){d.advance();e=c.led(e)}return e},reset:function(d,e,b){var c=this;c.error=c.token=null;c.tokenizer.reset(d,e,b);c.advance();return c},syntaxError:function(b,d){if(typeof b==="string"){d=b;b=this.pos}var e=(b==null)?"":(" (at index "+b+")"),c=new Error(d+e);c.type="error";if(e){c.at=b}throw this.error=c},privates:{error:null,addSymbol:function(b,e,l,h){var c=this.symbols,g=c[b],k,d,j;if(g){if(typeof e==="object"){k=e}else{if(h&&l){h=Ext.Array.from(h);d=h.length;k={};for(j=0;j<d;j++){k[h[j]]=l.prototype[h[j]]}}else{return g}}g.update(k)}else{if(e&&e.xclass){l=Ext.ClassManager.get(e.xclass)}else{l=l||Ext.parse.Symbol}c[b]=g=new l(b,e);g.parser=this}return g},addSymbols:function(b,c,e){for(var d in b){this.addSymbol(d,b[d],c,e)}},applyConstants:function(b){this.addSymbols(b,Ext.parse.symbol.Constant,"nud")},applyInfix:function(b){this.addSymbols(b,Ext.parse.symbol.Infix,"led")},applyInfixRight:function(b){this.addSymbols(b,Ext.parse.symbol.InfixRight,"led")},applyPrefix:function(b){this.addSymbols(b,Ext.parse.symbol.Prefix,"nud")},applySymbols:function(b){this.addSymbols(b)},applyTokenizer:function(c){var b=c;if(c&&!c.isTokenizer){b=new Ext.parse.Tokenizer(c)}this.tokenizer=b}}}});Ext.define("Ext.app.bind.Parser",{extend:Ext.parse.Parser,infix:{":":{priority:70,led:function(b){var a=this;a.arity="formatter";a.operand=b;a.fmt=a.parser.parseFmt();return a}},"?":{priority:20,led:function(d){var b=this,e=b.parser,c=e.symbols[":"],a;b.condition=d;a=c.priority;c.priority=0;b.tv=e.parseExpression(0);b.parser.advance(":");c.priority=a;b.fv=e.parseExpression(0);b.arity="ternary";return b}},"===":40,"!==":40,"==":40,"!=":40,"<":40,"<=":40,">":40,">=":40},symbols:{"(":{nud:function(){var d=this.parser,c=d.symbols[":"],b,a;a=c.priority;c.priority=70;b=d.parseExpression();d.advance(")");c.priority=a;return b}}},prefix:{"@":0},tokenizer:{operators:{"@":"at","?":"qmark","===":"feq","!==":"fneq","==":"eq","!=":"neq","<":"lt","<=":"lte",">":"gt",">=":"gte","&&":"and","||":"or"}},compileExpression:function(e,d){var c=this,a,b;c.tokens=e;c.tokensMap=d;b=c.parseSlot(c.parseExpression(),a);c.tokens=c.tokensMap=null;return b},compileFormat:function(){var a;a=this.parseSlot({arity:"formatter",fmt:this.parseFmt(),operand:{arity:"ident",value:"dummy"}});this.expect("(end)");return a},privates:{useEval:Ext.isGecko,escapeRe:/("|'|\\)/g,parseFmt:function(){var c=this,a=[],b=c.symbols[":"].priority,d;do{if(a.length){c.advance()}d=c.parseExpression(b);if(d.isIdent||d.isInvoke){a.push(d)}else{c.syntaxError(d.at,"Expected formatter name")}}while(c.token.id===":");return a},parseSlot:function(l,a){var j=this,d=[],g=[],h=j.tokens||[],k,b,e,c,m;j.definitions=d;j.body=g;g.push("return "+j.compile(l)+";");c=h.length;b="var fm = Ext.util.Format,\nme,";m="var a = Ext.Array.from(values);\nme = scope;\n";if(h.length){for(e=0;e<c;e++){b+="v"+e+((e==c-1)?";":",");m+="v"+e+" = a["+e+"]; "}}else{b+="v0;";m+="v0 = a[0];"}d=Ext.Array.insert(d,0,[b]);g=Ext.Array.insert(g,0,[m]);g=g.join("\n");d.push((j.useEval?"$=":"return")+" function (values, scope) {",g,"}");b=d.join("\n");k=j.useEval?j.evalFn(b):(new Function("Ext",b))(Ext);j.definitions=j.body=null;return k},compile:function(c){var b=this,a;switch(c.arity){case"ident":return b.addToken(c.value);case"literal":a=c.value;return(typeof a==="string")?'"'+String(a).replace(b.escapeRe,"\\$1")+'"':a;case"unary":return b.compileUnary(c);case"binary":return b.compileBinary(c);case"ternary":return b.compileTernary(c);case"formatter":return b.compileFormatter(c)}return this.syntaxError(c.at,"Compile error! Unknown symbol")},compileUnary:function(b){var a=b.value,c=b.operand;if(a==="!"||a==="-"||a==="+"){return a+"("+this.compile(c)+")"}else{if(a==="@"){if(!c.isIdent){return this.syntaxError(b.at,"Compile error! Unexpected symbol")}return c.value}}return""},compileBinary:function(a){return"("+this.compile(a.lhs)+" "+a.value+" "+this.compile(a.rhs)+")"},compileTernary:function(a){return"("+this.compile(a.condition)+" ? "+this.compile(a.tv)+" : "+this.compile(a.fv)+")"},compileFormatter:function(g){var e=this,b=g.fmt,d=b.length,a=["var ret;"],c;if(b.length){a.push("ret = "+e.compileFormatFn(b[0],e.compile(g.operand))+";");for(c=1;c<d;c++){a.push("ret = "+e.compileFormatFn(b[c],"ret")+";")}}a.push("return ret;");return e.addFn(a.join("\n"))},compileFormatFn:function(h,g){var a,b=[],e="",d,c;if(h.isIdent){a=h.value}else{if(h.isInvoke){a=h.operand.value;b=h.args}}if(a.substring(0,5)==="this."){a="me."+a.substring(5)}else{if(!(a in Ext.util.Format)){return this.syntaxError(h.at,'Compile error! Invalid format specified "'+a+'"')}a="fm."+a}e+=g;d=b.length;for(c=0;c<d;c++){e+=", "+this.compile(b[c])}return a+"("+e+")"},addFn:function(b){var a=this.definitions,c="f"+a.length;a.push("function "+c+"() {",b,"}");return c+"()"},evalFn:function($){eval($);return $},addToken:function(a){var b=this.tokensMap,c=this.tokens,d=0;if(b&&c){if(a in b){d=b[a]}else{b[a]=d=c.length;c.push(a)}}return"v"+d}}});Ext.define("Ext.app.bind.Template",{buffer:null,slots:null,tokens:null,constructor:function(d){var c=this,b=c._initters,a;c.text=d;for(a in b){c[a]=b[a]}},_initters:{apply:function(a,b){return this.parse().apply(a,b)},getTokens:function(){return this.parse().getTokens()}},apply:function(b,e){var h=this,d=h.slots,a=h.buffer,g=d.length,c,j;for(c=0;c<g;++c){j=d[c];if(j){a[c]=j(b,e)}}if(j&&h.single){return a[0]}return a.join("")},getTokens:function(){return this.tokens},isStatic:function(){var b=this.getTokens(),a=this.slots;return(b.length===0&&a.length===0)},privates:{parse:function(){var g=this,k=g.text,a=Ext.app.bind.Parser.fly(),c=(g.buffer=[]),e=(g.slots=[]),j=0,b=k.length,h=0,d;for(d in g._initters){delete g[d]}g.tokens=[];g.tokensMap={};for(d=0;d<b;){j=d;if((d=k.indexOf("{",j))<0){c[h++]=k.substring(j);break}if(j<d){c[h++]=k.substring(j,d)}a.reset(k,d+1);e[h++]=a.compileExpression(g.tokens,g.tokensMap);d=a.token.at+1;a.expect("}")}a.release();g.single=c.length===0&&e.length===1;return g}}});Ext.define("Ext.app.bind.TemplateBinding",{extend:Ext.app.bind.BaseBinding,isTemplateBinding:true,lastValue:undefined,value:undefined,constructor:function(e,a,i,d,c){var g=this,b=new Ext.app.bind.Template(e),h=b.getTokens();g.callParent([a,i,d,c]);g.tpl=b;g.tokens=h;h.$literal=true;if(!b.isStatic()){g.multiBinding=new Ext.app.bind.Multi(h,a,g.onBindData,g)}else{g.isStatic=true;g.onData(b.text)}},destroy:function(){var a=this;Ext.destroy(a.multiBinding);a.tpl=a.multiBinding=null;a.callParent()},getFullName:function(){var a=this.multiBinding;return this.fullName||(this.fullName="$"+(a?a.getFullName():this.callParent()))},getRawValue:function(){return this.value},getTemplateScope:function(){return null},isDescendantOf:function(){return false},isLoading:function(){var a=this.multiBinding;return a?a.isLoading():false},onBindData:function(a){this.onData(this.tpl.apply(a,this.getTemplateScope()))},onData:function(c){var b=this,a=b.value;if(a!==(b.value=c)){b.lastValue=a;b.schedule()}},react:function(){this.notify(this.value)},refresh:function(){var a=this.multiBinding;if(a){a.refresh()}},privates:{sort:function(){var a=this.multiBinding;if(a){this.scheduler.sortItem(a)}}}});Ext.define("Ext.data.ChainedStore",{extend:Ext.data.AbstractStore,alias:"store.chained",config:{source:null,remoteFilter:false,remoteSort:false},mixins:[Ext.data.LocalStore],remove:function(){var a=this.getSource();return a.remove.apply(a,arguments)},removeAll:function(){var a=this.getSource();return a.removeAll()},getData:function(){var a=this,b=a.data;if(!b){a.data=b=a.constructDataCollection()}return b},getTotalCount:function(){return this.getCount()},getSession:function(){return this.getSource().getSession()},applySource:function(a){if(a){a=Ext.data.StoreManager.lookup(a)}return a},updateSource:function(d,b){var a=this,c;if(b&&!b.destroyed){b.removeObserver(a)}if(d){c=a.getData();c.setSource(d.getData());if(!a.isInitializing){a.fireEvent("refresh",a);a.fireEvent("datachanged",a)}d.addObserver(a)}},getModel:function(){return this.getSource().getModel()},getProxy:function(){return null},onCollectionAdd:function(d,c){var b=this,a=c.items,e=!c.next;if(b.ignoreCollectionAdd){return}b.fireEvent("add",b,a,c.at);if(e){b.fireEvent("datachanged",b)}},onCollectionItemChange:function(g,e){var d=this,a=e.item,c=e.modified||null,b=e.meta;d.onUpdate(a,b,c,e);d.fireEvent("update",d,a,b,c,e)},onCollectionUpdateKey:function(b,a){this.fireEvent("idchanged",this,a.item,a.oldKey,a.newKey)},onUpdate:Ext.emptyFn,onCollectionRemove:function(d,c){var b=this,a=c.items,e=!c.next;if(b.ignoreCollectionRemove){return}b.fireEvent("remove",b,a,c.at,false);if(e){b.fireEvent("datachanged",b)}},onSourceBeforeLoad:function(b,a){this.fireEvent("beforeload",this,a)},onSourceAfterLoad:function(c,b,d,a){this.fireEvent("load",this,b,d,a)},onFilterEndUpdate:function(){this.callParent(arguments);this.callObservers("Filter")},onSourceBeforePopulate:function(){this.ignoreCollectionAdd=true;this.callObservers("BeforePopulate")},onSourceAfterPopulate:function(){var a=this;a.ignoreCollectionAdd=false;a.fireEvent("datachanged",a);a.fireEvent("refresh",a);this.callObservers("AfterPopulate")},onSourceBeforeClear:function(){this.ignoreCollectionRemove=true;this.callObservers("BeforeClear")},onSourceAfterClear:function(){this.ignoreCollectionRemove=false;this.callObservers("AfterClear")},onSourceBeforeRemoveAll:function(){this.ignoreCollectionRemove=true;this.callObservers("BeforeRemoveAll")},onSourceAfterRemoveAll:function(c,a){var b=this;b.ignoreCollectionRemove=false;if(!a){b.fireEvent("clear",b);b.fireEvent("datachanged",b)}this.callObservers("AfterRemoveAll",[a])},onSourceFilter:function(){var a=this;a.fireEvent("refresh",a);a.fireEvent("datachanged",a)},hasPendingLoad:function(){return this.getSource().hasPendingLoad()},isLoaded:function(){return this.getSource().isLoaded()},isLoading:function(){return this.getSource().isLoading()},doDestroy:function(){var a=this;a.observers=null;a.setSource(null);a.getData().destroy(true);a.data=null;a.callParent()},privates:{isMoving:function(){var a=this.getSource();return a.isMoving?a.isMoving.apply(a,arguments):false},loadsSynchronously:function(){return this.getSource().loadsSynchronously()}}});Ext.define("Ext.app.ViewModel",{mixins:[Ext.mixin.Factoryable,Ext.mixin.Identifiable],alias:"viewmodel.default",isViewModel:true,factoryConfig:{name:"viewModel"},collectTimeout:100,expressionRe:/^(?:\{(?:(\d+)|([a-z_][\w\-\.]*))\})$/i,$configStrict:false,config:{data:true,formulas:{$value:null,merge:function(d,a,c,b){return this.mergeNew(d,a,c,b)}},links:null,parent:null,root:true,scheduler:null,schema:"default",session:null,stores:null,view:null},constructor:function(a){this.bindings={};this.initConfig(a)},destroy:function(){var g=this,d=g._scheduler,k=g.storeInfo,i=g.getParent(),c=g.collectTask,b=g.children,a=g.bindings,j,h,e;g.destroying=true;if(c){c.cancel();g.collectTask=null}if(b){for(j in b){b[j].destroy()}}if(k){for(j in k){h=k[j];e=h.autoDestroy;if(e||(!h.$wasInstance&&e!==false)){h.destroy()}Ext.destroy(h.$binding)}}if(i){i.unregisterChild(g)}g.getRoot().destroy();for(j in a){a[j].destroy()}if(d&&d.$owner===g){d.$owner=null;d.destroy()}g.children=g.storeInfo=g._session=g._view=g._scheduler=g.bindings=g._root=g._parent=g.formulaFn=g.$formulaData=null;g.destroying=false;g.callParent()},bind:function(e,h,c,b){var d=this,a=true,g;c=c||d;if(!b&&e.bindTo!==undefined&&!Ext.isString(e)){b=e;e=b.bindTo}if(!Ext.isString(e)){g=new Ext.app.bind.Multi(e,d,h,c,b)}else{if(d.expressionRe.test(e)){e=e.substring(1,e.length-1);g=d.bindExpression(e,h,c,b);a=false}else{g=new Ext.app.bind.TemplateBinding(e,d,h,c,b)}}if(a){d.bindings[g.id]=g}return g},getSession:function(){var b=this,c=b._session,a;if(!c&&(a=b.getParent())){b.setSession(c=a.getSession())}return c||null},getStore:function(b){var c=this.storeInfo,a;if(c){a=c[b]}return a||null},linkTo:function(j,d){var i=this,c,g,a,b,h,e;if(d.isModel){d={type:d.entityName,id:d.id}}b=d.type||d.reference;g=d.create;if(b){a=d.id;if(g){a=undefined}e=i.getRecord(b,a);if(Ext.isObject(g)){e.set(g);e.commit();e.phantom=true}c=i.getRoot().createStubChild(j);c.set(e)}else{c=i.getStub(j);if(!c.isLinkStub){h=new Ext.app.bind.LinkStub(i,c.name);c.graft(h);c=h}c.link(d)}},notify:function(){var a=this.getScheduler();if(!a.firing){a.notify()}},get:function(a){return this.getStub(a).getValue()},set:function(e,b){var a=this,d,c;a.getData();if(b===undefined&&e&&e.constructor===Object){c=a.getRoot();b=e}else{if(e&&e.indexOf(".")<0){d={};d[e]=b;b=d;c=a.getRoot()}else{c=a.getStub(e)}}c.set(b)},privates:{registerChild:function(b){var a=this.children;if(!a){this.children=a={}}a[b.getId()]=b},unregisterChild:function(b){var a=this.children;if(!this.destroying&&a){delete a[b.getId()]}},getRecord:function(b,g){var d=this.getSession(),e=b,c=g!==undefined,a;if(d){if(c){a=d.getRecord(b,g)}else{a=d.createRecord(b)}}else{if(!e.$isClass){e=this.getSchema().getEntity(e)}if(c){a=e.createWithId(g);a.load()}else{a=new e()}}return a},bindExpression:function(d,e,b,a){var c=this.getStub(d);return c.bind(e,b,a)},applyScheduler:function(a){if(a&&!a.isInstance){a=new Ext.util.Scheduler(a);a.$owner=this}return a},getScheduler:function(){var c=this,a=c._scheduler,b;if(!a){if(!(b=c.getParent())){a=new Ext.util.Scheduler({preSort:"kind,-depth"});a.$owner=c}else{a=b.getScheduler()}c.setScheduler(a)}return a},getStub:function(b){var a=this.getRoot();return b?a.getChild(b):a},collect:function(){var c=this,b=c.getParent(),a=c.collectTask;if(b){b.collect();return}if(!a){a=c.collectTask=new Ext.util.DelayedTask(c.doCollect,c)}if(c.collectTimeout===0){c.doCollect()}else{a.delay(c.collectTimeout)}},doCollect:function(){var b=this.children,a;if(b){for(a in b){b[a].doCollect()}}this.getRoot().collect()},onBindDestroy:function(d,a){var c=this,b;if(c.destroying){return}if(!a){delete c.bindings[d.id]}b=c.getParent();if(b){b.onBindDestroy(d,true)}else{c.collect()}},applyData:function(c,e){var d=this,a,b;d.getSession();if(!e){b=d.getParent();d.linkData=a=b?Ext.Object.chain(b.getData()):{};d.data=d._data=Ext.Object.chain(a)}if(c&&c.constructor===Object){d.getRoot().set(c)}},applyParent:function(a){if(a){a.registerChild(this)}return a},applyStores:function(c){var g=this,b=g.getRoot(),d,a,i,h,e;g.storeInfo={};g.listenerScopeFn=function(){return g.getView().getInheritedConfig("defaultListenerScope")};for(d in c){a=c[d];if(a.isStore){a.$wasInstance=true;g.setupStore(a,d);continue}else{if(Ext.isString(a)){a={source:a}}else{a=Ext.apply({},a)}}e=a.listeners;delete a.listeners;i=g.bind(a,g.onStoreBind,g,{trackStatics:true});if(i.isStatic()){i.destroy();g.createStore(d,a,e)}else{i.$storeKey=d;i.$listeners=e;h=b.createStubChild(d);h.setStore(i)}}},onStoreBind:function(a,c,h){var g=this.storeInfo,e=h.$storeKey,b=g[e],d;if(!b){this.createStore(e,a,h.$listeners,h)}else{a=Ext.merge({},h.pruneStaticKeys());d=a.proxy;delete a.type;delete a.model;delete a.fields;delete a.proxy;delete a.listeners;if(d){delete d.reader;delete d.writer;b.getProxy().setConfig(d)}b.setConfig(a)}},createStore:function(c,a,d,g){var e=this.getSession(),b;a=Ext.apply({},a);if(a.session){a.session=e}if(a.source){a.type=a.type||"chained"}a.listeners=d;a.resolveListenerScope=this.listenerScopeFn;b=Ext.Factory.store(a);b.$binding=g;this.setupStore(b,c)},setupStore:function(a,b){a.resolveListenerScope=this.listenerScopeFn;this.storeInfo[b]=a;this.set(b,a)},applyFormulas:function(c){var d=this,a=d.getRoot(),b,e;d.getData();for(b in c){a.createStubChild(b);e=d.getStub(b);e.setFormula(c[b])}return c},applyLinks:function(a){for(var b in a){this.linkTo(b,a[b])}},applySchema:function(a){return Ext.data.schema.Schema.get(a)},applyRoot:function(){var a=new Ext.app.bind.RootStub(this),b=this.getParent();if(b){a.depth=b.getRoot().depth-1000}return a},getFormulaFn:function(c){var b=this,a=b.formulaFn;if(!a){a=b.formulaFn=function(d){return b.$formulaData[d]}}b.$formulaData=c;return a}}});Ext.define("Ext.app.domain.Controller",{extend:Ext.app.EventDomain,singleton:true,type:"controller",prefix:"controller.",idMatchRe:/^\#/,constructor:function(){var a=this;a.callParent();a.monitor(Ext.app.BaseController)},match:function(d,b){var a=false,c=d.alias;if(b==="*"){a=true}else{if(b==="#"){a=!!d.isApplication}else{if(this.idMatchRe.test(b)){a=d.getId()===b.substring(1)}else{if(c){a=Ext.Array.indexOf(c,this.prefix+b)>-1}}}}return a}});Ext.define("Ext.direct.Manager",{singleton:true,mixins:[Ext.mixin.Observable],exceptions:{TRANSPORT:"xhr",PARSE:"parse",DATA:"data",LOGIN:"login",SERVER:"exception"},providerClasses:{},remotingMethods:{},config:{varName:"Ext.REMOTING_API"},apiNotFoundError:"Ext Direct API was not found at {0}",constructor:function(){var a=this;a.mixins.observable.constructor.call(a);a.transactions=new Ext.util.MixedCollection();a.providers=new Ext.util.MixedCollection()},addProvider:function(g){var d=this,b=arguments,e=d.relayers||(d.relayers={}),c,a;if(b.length>1){for(c=0,a=b.length;c<a;++c){d.addProvider(b[c])}return}if(!g.isProvider){g=Ext.create("direct."+g.type+"provider",g)}d.providers.add(g);g.on("data",d.onProviderData,d);if(g.relayedEvents){e[g.id]=d.relayEvents(g,g.relayedEvents)}if(!g.isConnected()){g.connect()}return g},loadProvider:function(b,l,m){var h=this,c=h.providerClasses,j,a,d,k,e,g;if(Ext.isArray(b)){for(e=0,g=b.length;e<g;e++){h.loadProvider(b[e],l,m)}return}j=b.type;a=b.url;if(c[j]&&c[j].checkConfig(b)){k=h.addProvider(b);h.fireEventArgs("providerload",[a,k]);Ext.callback(l,m,[a,k]);return}d=b.varName||h.getVarName();delete b.varName;delete b.url;Ext.Loader.loadScript({url:a,scope:h,onLoad:function(){this.onApiLoadSuccess({url:a,varName:d,config:b,callback:l,scope:m})},onError:function(){this.onApiLoadFailure({url:a,callback:l,scope:m})}})},getProvider:function(a){return a.isProvider?a:this.providers.get(a)},removeProvider:function(d){var b=this,a=b.providers,c=b.relayers,e;d=d.isProvider?d:a.get(d);if(d){d.un("data",b.onProviderData,b);e=d.id;if(c[e]){c[e].destroy();delete c[e]}a.remove(d);return d}return null},addTransaction:function(a){this.transactions.add(a);return a},removeTransaction:function(b){var a=this;b=a.getTransaction(b);a.transactions.remove(b);return b},getTransaction:function(a){return typeof a==="object"?a:this.transactions.get(a)},onProviderData:function(e,d){var c=this,b,a;if(Ext.isArray(d)){for(b=0,a=d.length;b<a;++b){c.onProviderData(e,d[b])}return}if(d.name&&d.name!=="event"&&d.name!=="exception"){c.fireEvent(d.name,d)}else{if(d.status===false){c.fireEvent("exception",d)}}c.fireEvent("event",d,e)},parseMethod:function(d){var g=Ext.global,c=0,b,e,a;if(Ext.isFunction(d)){b=d}else{if(Ext.isString(d)){b=this.remotingMethods[d];if(!b){e=d.split(".");a=e.length;while(g&&c<a){g=g[e[c]];++c}b=Ext.isFunction(g)?g:null}}}return b||null},resolveApi:function(c,a){var e,d,h,g,b;e=c&&c.prefix;if(e&&e.substr(e.length-1)!=="."){e+="."}for(d in c){h=c[d];if(d!=="prefix"&&typeof h!=="function"){g=(e||"")+h;b=this.parseMethod(g);if(typeof b==="function"){c[d]=b}}}return c},privates:{addProviderClass:function(b,a){this.providerClasses[b]=a},onApiLoadSuccess:function(options){var me=this,url=options.url,varName=options.varName,api,provider,error;try{api=Ext.apply(options.config,eval(varName));provider=me.addProvider(api)}catch(e){error=e+""}if(error){me.fireEventArgs("providerloaderror",[url,error]);Ext.callback(options.callback,options.scope,[url,error])}else{me.fireEventArgs("providerload",[url,provider]);Ext.callback(options.callback,options.scope,[url,provider])}},onApiLoadFailure:function(c){var b=c.url,a;a=Ext.String.format(this.apiNotFoundError,b);this.fireEventArgs("providerloaderror",[b,a]);Ext.callback(c.callback,c.scope,[b,a])},registerMethod:function(a,b){this.remotingMethods[a]=b},clearAllMethods:function(){this.remotingMethods={}}}},function(){Ext.Direct=Ext.direct.Manager});Ext.define("Ext.direct.Provider",{alias:"direct.provider",mixins:[Ext.mixin.Observable],isProvider:true,$configPrefixed:false,$configStrict:false,config:{headers:undefined},subscribers:0,constructor:function(a){var b=this;b.mixins.observable.constructor.call(b,a);b.requests={};Ext.applyIf(b,{id:Ext.id(null,"provider-")})},destroy:function(){var a=this;a.disconnect(true);a.callParent()},isConnected:function(){return this.subscribers>0},connect:function(){var a=this;if(a.subscribers===0){a.doConnect();a.fireEventArgs("connect",[a])}a.subscribers++},doConnect:Ext.emptyFn,disconnect:function(b){var a=this;if(a.subscribers>0||b){if(b){a.subscribers=0}else{a.subscribers--}if(a.subscribers===0){a.doDisconnect();a.fireEventArgs("disconnect",[a])}}},doDisconnect:function(){var c=this.requests,a,b;for(b in c){a=c[b];a.abort()}this.requests={}},sendAjaxRequest:function(b){var a=Ext.Ajax.request(b);if(a&&a.id){this.requests[a.id]=a}return a},onData:function(b,c,a){if(a&&a.request){delete this.requests[a.request.id]}},inheritableStatics:{checkConfig:Ext.returnFalse},onClassExtended:function(b,c,a){if(c.type){Ext.direct.Manager.addProviderClass(c.type,b)}}});Ext.define("Ext.app.domain.Direct",{extend:Ext.app.EventDomain,singleton:true,type:"direct",idProperty:"id",constructor:function(){var a=this;a.callParent();a.monitor(Ext.direct.Provider)}});Ext.define("Ext.data.PageMap",{extend:Ext.util.LruCache,config:{store:null,pageSize:0,rootProperty:""},clear:function(a){var b=this;b.pageMapGeneration=(b.pageMapGeneration||0)+1;b.indexMap={};b.callParent([a])},forEach:function(l,n){var h=this,d=Ext.Object.getKeys(h.map),a=d.length,k=h.getPageSize(),c,b,m,g,e;for(c=0;c<a;c++){d[c]=+d[c]}Ext.Array.sort(d,Ext.Array.numericSortFn);n=n||h;for(c=0;c<a;c++){m=d[c];g=h.getPage(m);e=g.length;for(b=0;b<e;b++){if(l.call(n,g[b],(m-1)*k+b)===false){return}}}},findBy:function(c,b){var d=this,a=null;b=b||d;d.forEach(function(g,e){if(c.call(b,g,e)){a=g;return false}});return a},findIndexBy:function(c,b){var d=this,a=-1;b=b||d;d.forEach(function(g,e){if(c.call(b,g)){a=e;return false}});return a},find:function(h,g,i,d,c,b){if(Ext.isEmpty(g,false)){return null}var e=Ext.String.createRegex(g,d,c,b),a=this.getRootProperty();return this.findBy(function(j){return j&&e.test((a?j[a]:j)[h])},null,i)},findIndex:function(h,g,i,d,c,b){if(Ext.isEmpty(g,false)){return null}var e=Ext.String.createRegex(g,d,c,b),a=this.getRootProperty();return this.findIndexBy(function(j){return j&&e.test((a?j[a]:j)[h])},null,i)},getPageFromRecordIndex:function(a){return Math.floor(a/this.getPageSize())+1},addAll:function(a){this.addPage(1,a)},addPage:function(m,a){var k=this,l=k.getPageSize(),c=m+Math.floor((a.length-1)/l),j=(m-1)*l,g=k.indexMap,e,b,d,h;for(h=0;m<=c;m++,h+=l){e=Ext.Array.slice(a,h,h+l);for(b=0,d=e.length;b<d;b++){g[e[b].internalId]=j++}k.add(m,e);k.fireEvent("pageadd",k,m,e)}},getCount:function(){var a=this.callParent();if(a){a=(a-1)*this.getPageSize()+this.last.value.length}return a},getByInternalId:function(a){var b=this.indexMap[a];if(b!=null){return this.getAt(b)}},indexOf:function(b){var a=-1;if(b){a=this.indexMap[b.internalId];if(a==null){a=-1}}return a},insert:function(){},remove:function(){},removeAt:function(){},removeAtKey:function(g){var e=this,c=e.getPage(g),b,d,a;if(c){if(e.fireEvent("beforepageremove",e,g,c)!==false){b=c.length;for(d=0;d<b;d++){delete e.indexMap[c[d].internalId]}a=e.callParent(arguments);e.fireEvent("pageremove",e,g,c);c.length=0}}return a},getPage:function(a){return this.get(a)},hasRange:function(e,b){var c=this,a=c.getPageFromRecordIndex(e),d=c.getPageFromRecordIndex(b);for(;a<=d;a++){if(!c.hasPage(a)){return false}}return(d-1)*c._pageSize+c.getPage(d).length>b},hasPage:function(a){return !!this.get(a)},peekPage:function(a){return this.map[a]},getAt:function(a){return this.getRange(a,a+1)[0]},getRange:function(a,b){b--;if(!this.hasRange(a,b)){Ext.raise("PageMap asked for range which it does not have")}var h=this,d=Ext.Array,i=h.getPageSize(),l=h.getPageFromRecordIndex(a),e=h.getPageFromRecordIndex(b),c=(l-1)*i,n=(e*i)-1,j=l,o=[],m,g,k;for(;j<=e;j++){if(j===l){m=a-c;k=m>0}else{m=0;k=false}if(j===e){g=i-(n-b);k=k||g<i}if(k){d.push(o,d.slice(h.getPage(j),m,g))}else{d.push(o,h.getPage(j))}}return o}});Ext.define("Ext.data.BufferedStore",{extend:Ext.data.ProxyStore,alias:"store.buffered",isBufferedStore:true,buffered:true,config:{data:0,pageSize:25,remoteSort:true,remoteFilter:true,sortOnLoad:false,purgePageCount:5,trailingBufferZone:25,leadingBufferZone:200,defaultViewSize:100,viewSize:0,trackRemoved:false},applyData:function(b){var a=this.data||(this.data=this.createDataCollection());return a},applyProxy:function(a){a=this.callParent([a]);if(a&&a.setEnablePaging){a.setEnablePaging(true)}return a},applyAutoSort:function(){},createFiltersCollection:function(){return new Ext.util.FilterCollection()},createSortersCollection:function(){return new Ext.util.SorterCollection()},updateGroupField:function(a){this.group(a)},getGrouper:function(){return this.grouper},isGrouped:function(){return !!this.grouper},createDataCollection:function(){var b=this,a=new Ext.data.PageMap({store:b,rootProperty:"data",pageSize:b.getPageSize(),maxSize:b.getPurgePageCount(),listeners:{clear:b.onPageMapClear,scope:b}});b.relayEvents(a,["beforepageremove","pageadd","pageremove"]);b.pageRequests={};return a},removeAll:function(a){var b=this,c=b.getData();if(c){if(a){b.suspendEvent("clear")}c.clear();if(a){b.resumeEvent("clear")}}},flushLoad:function(){var b=this,a=b.pendingLoadOptions;b.clearLoadTask();if(!a){return}b.getData().clear();a.page=1;a.start=0;a.limit=b.getViewSize()||b.getDefaultViewSize();a.loadCallback=a.callback;a.callback=null;return b.loadToPrefetch(a)},reload:function(n){var h=this,e=h.getData(),k=Number.MAX_VALUE,j,b,g,m,d,a,l,c;if(!n){n={}}if(h.loading||h.fireEvent("beforeload",h,n)===false){return}a=function(){var o=h.totalCount,i=b-j;if(b>=o){b=o-1;j=Math.max(b-i,0)}if(h.rangeCached(j,b,false)){h.loadCount=(h.loadCount||0)+1;h.loading=false;e.un("pageadd",a);c=e.getRange(j,b);h.fireEvent("load",h,c,true);h.fireEvent("refresh",h)}};l=Math.ceil((h.getLeadingBufferZone()+h.getTrailingBufferZone())/2);if(h.lastRequestStart&&h.preserveScrollOnReload){j=h.lastRequestStart;b=h.lastRequestEnd;k=h.getTotalCount()}else{j=n.start||0;b=j+(n.count||h.getPageSize())-1}e.clear(true);delete h.totalCount;j=Math.max(j-l,0);b=Math.min(b+l,k);j=j===0?0:j-1;b=b===k?b:b+1;g=h.getPageFromRecordIndex(j);m=h.getPageFromRecordIndex(b);h.loading=true;n.waitForReload=a;e.on("pageadd",a);for(d=g;d<=m;d++){h.prefetchPage(d,n)}},filter:function(){this.callParent(arguments)},filterBy:function(b,a){},loadData:function(b,a){},loadPage:function(c,a){var b=this;a=a||{};a.page=b.currentPage=c;a.start=(c-1)*b.getPageSize();a.limit=b.getViewSize()||b.getDefaultViewSize();a.loadCallback=a.callback;a.callback=null;return b.loadToPrefetch(a)},clearData:function(c){var a=this,b=a.getData();if(b){b.clear()}},getCount:function(){return this.totalCount||0},getRange:function(d,h,m){var l=this,e=l.totalCount-1,g=l.lastRequestStart,n=[],i=l.getData(),c,k,b,a,j;m=Ext.apply({prefetchStart:d,prefetchEnd:h},m);h=(h>=l.totalCount)?e:h;if(m.forRender!==false){k=d===0?0:d-1;b=h===e?h:h+1}else{k=d;b=h}l.lastRequestStart=d;l.lastRequestEnd=h;if(l.rangeCached(d,h,m.forRender)){l.onRangeAvailable(m);n=i.getRange(d,h+1)}else{l.fireEvent("cachemiss",l,d,h);a=l.getPageFromRecordIndex(k);j=l.getPageFromRecordIndex(b);c=function(o,q,p){if(q>=a&&q<=j&&l.rangeCached(d,h)){l.fireEvent("cachefilled",l,d,h);i.un("pageadd",c);l.onRangeAvailable(m)}};i.on("pageadd",c);l.prefetchRange(d,h)}l.primeCache(d,h,d<g?-1:1);return n},getById:function(b){var a=this.data.findBy(function(c){return c.getId()===b});return a},getAt:function(a){var b=this.getData();if(b.hasRange(a,a)){return b.getAt(a)}},getByInternalId:function(a){return this.data.getByInternalId(a)},contains:function(a){return this.indexOf(a)>-1},indexOf:function(a){return this.getData().indexOf(a)},indexOfId:function(a){return this.indexOf(this.getById(a))},group:function(b,d){var c=this,a;if(b&&typeof b==="string"){a=c.grouper;if(a&&d!==undefined){a.setDirection(d)}else{c.grouper=new Ext.util.Grouper({property:b,direction:d||"ASC",root:"data"})}}else{c.grouper=b?c.getSorters().decodeSorter(b,"Ext.util.Grouper"):null}c.getData().clear();c.loadPage(1,{callback:function(){c.fireEvent("groupchange",c,c.getGrouper())}})},getPageFromRecordIndex:function(a){return Math.floor(a/this.getPageSize())+1},calculatePageCacheSize:function(a){var c=this,b=c.getPurgePageCount();return b?Math.max(c.getData().getMaxSize()||0,Math.ceil((a+c.getTrailingBufferZone()+c.getLeadingBufferZone())/c.getPageSize())*2+b):0},loadToPrefetch:function(s){var m=this,c=s,h,b,o,n=s.start,a=s.start+s.limit-1,r=(m.getViewSize()||s.limit),j=Math.min(a,s.start+r-1),k=m.getPageFromRecordIndex(Math.max(n-m.getTrailingBufferZone(),0)),q=m.getPageFromRecordIndex(a+m.getLeadingBufferZone()),g=m.getData(),l=function(){b=b||[];if(s.loadCallback){s.loadCallback.call(s.scope||m,b,e,true)}if(s.callback){s.callback.call(s.scope||m,b,n||0,a||0,s)}},p=function(){m.loadCount=(m.loadCount||0)+1;m.fireEvent("datachanged",m);m.fireEvent("refresh",m);m.fireEvent("load",m,b,true)},d=function(){if(m.rangeCached(n,j)){m.loading=false;b=g.getRange(n,j+1);g.un("pageadd",d);if(m.hasListeners.guaranteedrange){m.guaranteeRange(n,j,s.callback,s.scope)}l();p()}},e;g.setMaxSize(m.calculatePageCacheSize(r));if(m.fireEvent("beforeload",m,s)!==false){delete m.totalCount;m.loading=true;if(s.callback){c=Ext.apply({},s);delete c.callback}m.on("prefetch",function(t,i,v,u){e=u;if(v){if((o=m.getTotalCount())){g.on("pageadd",d);j=Math.min(j,o-1);q=m.getPageFromRecordIndex(Math.min(j+m.getLeadingBufferZone(),o-1));for(h=k+1;h<=q;++h){m.prefetchPage(h,c)}}else{l();p()}}else{m.loading=false;l();m.fireEvent("load",m,i,false)}},null,{single:true});m.prefetchPage(k,c)}},prefetch:function(d){var e=this,b=e.getPageSize(),g=e.getData(),c,a;if(b){if(e.lastPageSize&&b!=e.lastPageSize){Ext.raise("pageSize cannot be dynamically altered")}if(!g.getPageSize()){g.setPageSize(b)}}else{e.pageSize=g.setPageSize(b=d.limit)}e.lastPageSize=b;if(!d.page){d.page=e.getPageFromRecordIndex(d.start);d.start=(d.page-1)*b;d.limit=Math.ceil(d.limit/b)*b}a=e.pageRequests[d.page];if(!a||a.getOperation().pageMapGeneration!==g.pageMapGeneration){d=Ext.apply({action:"read",filters:e.getFilters().items,sorters:e.getSorters().items,grouper:e.getGrouper(),internalCallback:e.onProxyPrefetch,internalScope:e},d);c=e.createOperation("read",d);c.pageMapGeneration=g.pageMapGeneration;if(e.fireEvent("beforeprefetch",e,c)!==false){e.pageRequests[d.page]=c.execute();if(e.getProxy().isSynchronous){delete e.pageRequests[d.page]}}}return e},onPageMapClear:function(){var c=this,b=c.wasLoading,a=c.pageRequests,e=c.getData(),d;e.clearListeners();e.on("clear",c.onPageMapClear,c);c.relayEvents(e,["beforepageremove","pageadd","pageremove"]);c.loading=true;c.totalCount=0;for(d in a){if(a.hasOwnProperty(d)){a[d].getOperation().abort()}}c.fireEvent("clear",c);c.loading=b},prefetchPage:function(e,b){var d=this,a=d.getPageSize(),g=(e-1)*a,c=d.totalCount;if(c!==undefined&&d.data.getCount()===c){return}d.prefetch(Ext.applyIf({page:e,start:g,limit:a},b))},onProxyPrefetch:function(d){if(this.destroying||this.destroyed){return}var i=this,j=d.getResultSet(),c=d.getRecords(),g=d.wasSuccessful(),h=d.getPage(),b=d.waitForReload,l=i.totalCount,a=i.pageRequests,k,e;if(d.pageMapGeneration===i.getData().pageMapGeneration){if(j){i.totalCount=j.getTotal();if(i.totalCount!==l){i.fireEvent("totalcountchange",i.totalCount)}}if(h!==undefined){delete i.pageRequests[h]}i.loading=false;i.fireEvent("prefetch",i,c,g,d);if(g){if(i.totalCount===0){if(b){for(k in a){e=a[k].getOperation();if(e.waitForReload===b){delete e.waitForReload}}i.getData().un("pageadd",b);i.fireEvent("load",i,[],true);i.fireEvent("refresh",i)}}else{i.cachePage(c,d.getPage())}}Ext.callback(d.getCallback(),d.getScope()||i,[c,d,g])}},cachePage:function(b,e){var d=this,a=b.length,c;if(!Ext.isDefined(d.totalCount)){d.totalCount=b.length;d.fireEvent("totalcountchange",d.totalCount)}for(c=0;c<a;c++){b[c].join(d)}d.getData().addPage(e,b)},rangeCached:function(e,a,d){var c=e,b=a;if(d!==false){c=e===0?0:e-1,b=a===this.totalCount-1?a:a+1}return this.getData().hasRange(c,b)},pageCached:function(a){return this.getData().hasPage(a)},pagePending:function(a){return !!this.pageRequests[a]},rangeSatisfied:function(b,a){return this.rangeCached(b,a)},onRangeAvailable:function(d){var e=this,b=e.getTotalCount(),g=d.prefetchStart,a=(d.prefetchEnd>b-1)?b-1:d.prefetchEnd,c;a=Math.max(0,a);c=e.getData().getRange(g,a+1);if(d.fireEvent!==false){e.fireEvent("guaranteedrange",c,g,a,d)}if(d.callback){d.callback.call(d.scope||e,c,g,a,d)}},guaranteeRange:function(e,a,d,c,b){b=Ext.apply({callback:d,scope:c},b);this.getRange(e,a+1,b)},prefetchRange:function(h,b){var d=this,c,a,g,e=d.getData();if(!d.rangeCached(h,b)){c=d.getPageFromRecordIndex(h);a=d.getPageFromRecordIndex(b);e.setMaxSize(d.calculatePageCacheSize(b-h+1));for(g=c;g<=a;g++){if(!d.pageCached(g)){d.prefetchPage(g)}}}},primeCache:function(i,c,h){var g=this,e=g.getLeadingBufferZone(),d=g.getTrailingBufferZone(),b=g.getPageSize(),a=g.totalCount;if(h===-1){i=Math.max(i-e,0);c=Math.min(c+d,a-1)}else{if(h===1){i=Math.max(Math.min(i-d,a-b),0);c=Math.min(c+e,a-1)}else{i=Math.min(Math.max(Math.floor(i-((e+d)/2)),0),a-g.pageSize);c=Math.min(Math.max(Math.ceil(c+((e+d)/2)),0),a-1)}}g.prefetchRange(i,c)},sort:function(b,a,c){if(arguments.length===0){this.clearAndLoad()}else{this.getSorters().addSort(b,a,c)}},onSorterEndUpdate:function(){var a=this,b=a.getSorters().getRange();if(b.length){a.fireEvent("beforesort",a,b);a.clearAndLoad({callback:function(){a.fireEvent("sort",a,b)}})}else{a.fireEvent("sort",a,b)}},clearAndLoad:function(a){var b=this;b.clearing=true;b.getData().clear();b.clearing=false;b.loadPage(1,a)},privates:{isLast:function(a){return this.indexOf(a)===this.getTotalCount()-1},isMoving:function(){return false}}});Ext.define("Ext.data.proxy.Direct",{extend:Ext.data.proxy.Server,alternateClassName:"Ext.data.DirectProxy",alias:"proxy.direct",config:{paramOrder:undefined,paramsAsHash:true,directFn:undefined,api:undefined,metadata:undefined},paramOrderRe:/[\s,|]/,constructor:function(a){this.callParent([a]);this.canceledOperations={}},applyParamOrder:function(a){if(Ext.isString(a)){a=a.split(this.paramOrderRe)}return a},updateApi:function(){this.methodsResolved=false},updateDirectFn:function(){this.methodsResolved=false},resolveMethods:function(){var c=this,b=c.getDirectFn(),a=c.getApi(),d;if(b){c.setDirectFn(d=Ext.direct.Manager.parseMethod(b));if(!Ext.isFunction(d)){Ext.raise("Cannot resolve directFn "+b)}}if(a){a=Ext.direct.Manager.resolveApi(a,c);c.setApi(a)}c.methodsResolved=true},doRequest:function(d){var i=this,a,e,c,b,h,g,j,k;if(!i.methodsResolved){i.resolveMethods()}e=i.buildRequest(d);c=e.getAction();g=i.getApi();if(g){j=g[c]}j=j||i.getDirectFn();a=i.getWriter();if(a&&d.allowWrite()){e=a.write(e)}if(c==="read"){b=e.getParams()}else{b=e.getJsonData()}h=j.directCfg.method.getArgs({params:b,allowSingle:a.getAllowSingle(),paramOrder:i.getParamOrder(),paramsAsHash:i.getParamsAsHash(),paramsAsArray:true,metadata:i.getMetadata(),callback:i.createRequestCallback(e,d),scope:i});e.setConfig({args:h,directFn:j});j.apply(window,h);return e},abort:function(a){var b;if(a&&a.isDataRequest){a=a.getOperation()}if(a&&a.isOperation){b=a.id}if(b!=null){this.canceledOperations[b]=true}},applyEncoding:Ext.identityFn,createRequestCallback:function(c,a){var b=this;return function(e,d){if(!b.canceledOperations[a.id]){b.processResponse(d.status,a,c,d)}delete b.canceledOperations[a.id]}},extractResponseData:function(a){return Ext.isDefined(a.result)?a.result:a.data},setException:function(b,a){b.setException(a.message)},buildUrl:function(){return""}});Ext.define("Ext.data.DirectStore",{extend:Ext.data.Store,alias:"store.direct",constructor:function(a){a=Ext.apply({},a);if(!a.proxy){var b={type:"direct",reader:{type:"json"}};Ext.copyTo(b,a,"paramOrder,paramsAsHash,directFn,api,simpleSortMode,extraParams");Ext.copyTo(b.reader,a,"totalProperty,root,rootProperty,idProperty");a.proxy=b}this.callParent([a])}});Ext.define("Ext.data.JsonP",{singleton:true,requestCount:0,requests:{},timeout:30000,disableCaching:true,disableCachingParam:"_dc",callbackKey:"callback",request:function(n){n=Ext.apply({},n);var j=this,d=Ext.isDefined(n.disableCaching)?n.disableCaching:j.disableCaching,h=n.disableCachingParam||j.disableCachingParam,c=++j.requestCount,l=n.callbackName||"callback"+c,i=n.callbackKey||j.callbackKey,m=Ext.isDefined(n.timeout)?n.timeout:j.timeout,e=Ext.apply({},n.params),b=n.url,a=Ext.name,g,k;if(d&&!e[h]){e[h]=Ext.Date.now()}n.params=e;e[i]=a+".data.JsonP."+l;k=j.createScript(b,e,n);j.requests[c]=g={url:b,params:e,script:k,id:c,scope:n.scope,success:n.success,failure:n.failure,callback:n.callback,callbackKey:i,callbackName:l};if(m>0){g.timeout=Ext.defer(j.handleTimeout,m,j,[g])}j.setupErrorHandling(g);j[l]=Ext.bind(j.handleResponse,j,[g],true);j.loadScript(g);return g},abort:function(c){var b=this,d=b.requests,a;if(c){if(!c.id){c=d[c]}b.handleAbort(c)}else{for(a in d){if(d.hasOwnProperty(a)){b.abort(d[a])}}}},setupErrorHandling:function(a){a.script.onerror=Ext.bind(this.handleError,this,[a])},handleAbort:function(a){a.errorType="abort";this.handleResponse(null,a)},handleError:function(a){a.errorType="error";this.handleResponse(null,a)},cleanupErrorHandling:function(a){a.script.onerror=null},handleTimeout:function(a){a.errorType="timeout";this.handleResponse(null,a)},handleResponse:function(b,c){var d=true,a=Ext.GlobalEvents;if(c.timeout){clearTimeout(c.timeout)}delete this[c.callbackName];delete this.requests[c.id];this.cleanupErrorHandling(c);Ext.fly(c.script).destroy();if(c.errorType){d=false;Ext.callback(c.failure,c.scope,[c.errorType])}else{Ext.callback(c.success,c.scope,[b])}Ext.callback(c.callback,c.scope,[d,b,c.errorType]);if(a.hasListeners.idle){a.fireEvent("idle")}},createScript:function(c,d,b){var a=document.createElement("script");a.setAttribute("src",Ext.urlAppend(c,Ext.Object.toQueryString(d)));a.setAttribute("async",true);a.setAttribute("type","text/javascript");return a},loadScript:function(a){Ext.getHead().appendChild(a.script)}});Ext.define("Ext.data.proxy.JsonP",{extend:Ext.data.proxy.Server,alternateClassName:"Ext.data.ScriptTagProxy",alias:["proxy.jsonp","proxy.scripttag"],config:{callbackKey:"callback",recordParam:"records",autoAppendParams:true},doRequest:function(a){var c=this,b=c.buildRequest(a),d=b.getParams();b.setConfig({callbackKey:c.callbackKey,timeout:c.timeout,scope:c,disableCaching:false,callback:c.createRequestCallback(b,a)});if(c.getAutoAppendParams()){b.setParams({})}b.setRawRequest(Ext.data.JsonP.request(b.getCurrentConfig()));b.setParams(d);c.lastRequest=b;return b},createRequestCallback:function(c,a){var b=this;return function(g,d,e){if(c===b.lastRequest){b.lastRequest=null}b.processResponse(g,a,c,d)}},setException:function(b,a){b.setException(b.getRequest().getRawRequest().errorType)},buildUrl:function(h){var k=this,a=k.callParent(arguments),d=h.getRecords(),e=k.getWriter(),g,c,b,j,l;if(e&&h.getOperation().allowWrite()){h=e.write(h)}g=h.getParams();c=g.filters;delete g.filters;if(c&&c.length){for(j=0;j<c.length;j++){b=c[j];l=b.getValue();if(l){g[b.getProperty()]=l}}}if(Ext.isArray(d)&&d.length>0&&(!e||!e.getEncode())){g[k.getRecordParam()]=k.encodeRecords(d)}if(k.getAutoAppendParams()){a=Ext.urlAppend(a,Ext.Object.toQueryString(g))}return a},abort:function(a){a=a||this.lastRequest;if(a){Ext.data.JsonP.abort(a.getRawRequest())}},encodeRecords:function(b){var d=[],c=0,a=b.length;for(;c<a;c++){d.push(Ext.encode(b[c].getData()))}return d}});Ext.define("Ext.data.JsonPStore",{extend:Ext.data.Store,alias:"store.jsonp",constructor:function(a){a=Ext.apply({proxy:{type:"jsonp",reader:"json"}},a);this.callParent([a])}});Ext.define("Ext.data.JsonStore",{extend:Ext.data.Store,alias:"store.json",constructor:function(a){a=Ext.apply({proxy:{type:"ajax",reader:"json",writer:"json"}},a);this.callParent([a])}});Ext.define("Ext.data.ModelManager",{alternateClassName:"Ext.ModelMgr",singleton:true,deprecated:{5:{methods:{clear:null,create:function(c,b,d){var a=b;if(!a.isEntity){a=this.getModel(b||c.name)}return a.createWithId(d,c)},each:function(b,a){Ext.data.Model.schema.eachEntity(b,a)},get:function(a){return this.getModel(a)},getCount:function(){return Ext.data.Model.schema.entityCount},getModel:function(a){return Ext.data.schema.Schema.lookupEntity(a)},isRegistered:function(a){return !!this.getModel(a)}}}}});Ext.define("Ext.data.NodeInterface",{statics:{decorate:function(b){var d=Ext.data.schema.Schema.lookupEntity(b),g=d.prototype,a,c,e;if(!d.prototype.isObservable){d.mixin(Ext.mixin.Observable.prototype.mixinId,Ext.mixin.Observable)}if(g.isNode){return}a=g.idProperty;c=d.getField(a);e=c.type;d.override(this.getPrototypeBody());d.addFields([{name:"parentId",type:e,defaultValue:null,allowNull:c.allowNull},{name:"index",type:"int",defaultValue:-1,persist:false,convert:null},{name:"depth",type:"int",defaultValue:0,persist:false,convert:null},{name:"expanded",type:"bool",defaultValue:false,persist:false,convert:null},{name:"expandable",type:"bool",defaultValue:true,persist:false,convert:null},{name:"checked",type:"auto",defaultValue:null,persist:false,convert:null},{name:"leaf",type:"bool",defaultValue:false},{name:"cls",type:"string",defaultValue:"",persist:false,convert:null},{name:"iconCls",type:"string",defaultValue:"",persist:false,convert:null},{name:"icon",type:"string",defaultValue:"",persist:false,convert:null},{name:"glyph",type:"string",defaultValue:"",persist:false,convert:null},{name:"root",type:"boolean",defaultValue:false,persist:false,convert:null},{name:"isLast",type:"boolean",defaultValue:false,persist:false,convert:null},{name:"isFirst",type:"boolean",defaultValue:false,persist:false,convert:null},{name:"allowDrop",type:"boolean",defaultValue:true,persist:false,convert:null},{name:"allowDrag",type:"boolean",defaultValue:true,persist:false,convert:null},{name:"loaded",type:"boolean",defaultValue:false,persist:false,convert:null},{name:"loading",type:"boolean",defaultValue:false,persist:false,convert:null},{name:"href",type:"string",defaultValue:"",persist:false,convert:null},{name:"hrefTarget",type:"string",defaultValue:"",persist:false,convert:null},{name:"qtip",type:"string",defaultValue:"",persist:false,convert:null},{name:"qtitle",type:"string",defaultValue:"",persist:false,convert:null},{name:"qshowDelay",type:"int",defaultValue:0,persist:false,convert:null},{name:"children",type:"auto",defaultValue:null,persist:false,convert:null},{name:"visible",type:"boolean",defaultValue:true,persist:false},{name:"text",type:"string",persist:false}])},getPrototypeBody:function(){var a={idchanged:true,append:true,remove:true,move:true,insert:true,beforeappend:true,beforeremove:true,beforemove:true,beforeinsert:true,expand:true,collapse:true,beforeexpand:true,beforecollapse:true,sort:true},b={silent:true};return{isNode:true,firstChild:null,lastChild:null,parentNode:null,previousSibling:null,nextSibling:null,constructor:function(){var c=this;c.mixins.observable.constructor.call(c);c.callParent(arguments);c.childNodes=[];return c},createNode:function(c){var j=this,h=j.childType,m,k,e,l,i,g,d=j.self;if(!c.isModel){if(h){d=j.schema.getEntity(h)}else{m=j.getTreeStore();k=m&&m.getProxy().getReader();e=j.getProxy();l=e?e.getReader():null;i=!k||(l&&l.initialConfig.typeProperty)?l:k;if(i){g=i.getTypeProperty();if(g){d=i.getChildType(j.schema,c,g)}}}c=new d(c)}if(!c.childNodes){c.firstChild=c.lastChild=c.parentNode=c.previousSibling=c.nextSibling=null;c.childNodes=[]}return c},isLeaf:function(){return this.get("leaf")===true},setFirstChild:function(c){this.firstChild=c},setLastChild:function(c){this.lastChild=c},updateInfo:function(j,d){var k=this,e=k.phantom,m;j={silent:true,commit:j};if(d.depth!==k.data.depth){var l={depth:k.data.depth+1},c=k.childNodes,g=c.length,h;for(h=0;h<g;h++){c[h].set(l)}}m=k.set(d,j);k.phantom=e;return m},isLast:function(){return this.get("isLast")},isFirst:function(){return this.get("isFirst")},hasChildNodes:function(){return !this.isLeaf()&&this.childNodes.length>0},isExpandable:function(){var c=this;if(c.get("expandable")){return !(c.isLeaf()||(c.isLoaded()&&!c.phantom&&!c.hasChildNodes()))}return false},triggerUIUpdate:function(){this.callJoined("afterEdit",[])},appendChild:function(h,s,k){var p=this,l,o,n,r,c,u={isLast:true,parentId:p.getId(),depth:(p.data.depth||0)+1},t,g=p.getTreeStore(),e=g&&g.triStateCheckbox?1:false,d=g&&g.bulkUpdate,m,j,q;Ext.suspendLayouts();if(Ext.isArray(h)){o=h.length;t=new Array(o);p.callTreeStore("beginFill");for(l=0;l<o;l++){t[l]=p.appendChild(h[l],s,k)}p.callTreeStore("endFill",[t])}else{h=p.createNode(h);if(s!==true&&p.fireBubbledEvent("beforeappend",[p,h])===false){Ext.resumeLayouts(true);return false}n=p.childNodes.length;r=h.parentNode;if(r){if(s!==true&&h.fireBubbledEvent("beforemove",[h,r,p,n])===false){Ext.resumeLayouts(true);return false}if(r.removeChild(h,false,s,r.getTreeStore()===g)===false){Ext.resumeLayouts(true);return false}}g&&g.beginUpdate();n=p.childNodes.length;if(n===0){p.setFirstChild(h)}p.childNodes[n]=h;h.parentNode=p;h.nextSibling=null;p.setLastChild(h);c=p.childNodes[n-1];if(c){h.previousSibling=c;c.nextSibling=h;c.updateInfo(k,{isLast:false});if(!d){c.triggerUIUpdate()}}else{h.previousSibling=null}u.isFirst=n===0;u.index=n;q=h.updateInfo(k,u);if(p.isLeaf()){p.set("leaf",false)}if(!p.isLoaded()){if(d){p.data.loaded=true}else{p.set("loaded",true)}}else{if(p.childNodes.length===1&&!d){p.triggerUIUpdate()}}if(n&&p.childNodes[n-1].isExpanded()&&!d){p.childNodes[n-1].cascade(p.triggerUIUpdate)}if(g){g.registerNode(p,!d);if(d){g.registerNode(h)}}if(s!==true){p.fireBubbledEvent("append",[p,h,n]);if(r){h.fireBubbledEvent("move",[h,r,p,n])}}p.callTreeStore("onNodeAppend",[h,n]);if(q){h.callJoined("afterEdit",[q])}t=h;if(g){g.endUpdate()}}Ext.resumeLayouts(true);return t},getOwnerTree:function(){var c=this.getTreeStore();if(c){return c.ownerTree}},getTreeStore:function(){var c=this;while(c&&!c.treeStore){c=c.parentNode}return c&&c.treeStore},removeChild:function(j,g,q,p){var o=this,n=o.indexOf(j),l,k,d,h=o.getTreeStore(),e=h&&h.bulkUpdate,m,c=[];if(n===-1||(q!==true&&o.fireBubbledEvent("beforeremove",[o,j,!!p])===false)){return false}Ext.suspendLayouts();h&&h.beginUpdate();Ext.Array.erase(o.childNodes,n,1);if(o.firstChild===j){o.setFirstChild(j.nextSibling)}if(o.lastChild===j){o.setLastChild(j.previousSibling)}d=j.previousSibling;if(d){j.previousSibling.nextSibling=j.nextSibling}if(j.nextSibling){j.nextSibling.previousSibling=j.previousSibling;if(n===0){j.nextSibling.updateInfo(false,{isFirst:true})}for(l=n,k=o.childNodes.length;l<k;l++){o.childNodes[l].updateInfo(false,{index:l})}}else{if(d){d.updateInfo(false,{isLast:true});if(!e){if(d.isExpanded()){d.cascade(o.triggerUIUpdate)}else{d.triggerUIUpdate()}}}}if(!o.childNodes.length&&!e){o.triggerUIUpdate()}Ext.resumeLayouts(true);if(q!==true){m={parentNode:j.parentNode,previousSibling:j.previousSibling,nextSibling:j.nextSibling};o.callTreeStore("beforeNodeRemove",[[j],!!p,c]);j.previousSibling=j.nextSibling=j.parentNode=null;o.fireBubbledEvent("remove",[o,j,!!p,m]);o.callTreeStore("onNodeRemove",[[j],!!p,c])}if(g){j.erase(true)}else{j.clear()}if(!p){j.set({parentId:null,lastParentId:o.getId()},b)}if(h){h.endUpdate()}return j},copy:function(h,l,e){var k=this,d,g=[h],c=k.childNodes?k.childNodes.length:0,j;if(l&&l.isSession){g.push(l)}else{if(arguments.length<3){e=l}}d=k.callParent(g);if(e){for(j=0;j<c;j++){d.appendChild(k.childNodes[j].copy(undefined,true))}}return d},clear:function(d,c){var e=this,g;e.parentNode=e.previousSibling=e.nextSibling=null;if(d){e.firstChild=e.lastChild=e.childNodes=null}if(c){e.firstChild=e.lastChild=null;e.childNodes.length=0;if(e.data){e.data.children=null}}},drop:function(){var h=this,k=h.childNodes,d=h.parentNode,c,e,g,j=h.getTreeStore();h.callParent();if(d){d.removeChild(h)}else{if(h.get("root")){j.setRoot(null)}}j&&j.beginUpdate();for(e=0,c=k?k.length:0;e<c;e++){g=k[e];g.clear();g.drop()}j&&j.endUpdate()},erase:function(d){var h=this,j=h.childNodes,c=j&&j.length,e,g;h.remove();h.clear(true);h.callParent([d]);for(e=0;e<c;e++){g=j[e];g.parentNode=null;g.erase(d)}},insertBefore:function(h,m,s){var n=this,l=n.indexOf(m),p=h.parentNode,r=l,j,c,k,g=n.getTreeStore(),d=g&&g.bulkUpdate,o,q,e;if(!m){return n.appendChild(h)}if(h===m){return false}h=n.createNode(h);if(s!==true&&n.fireBubbledEvent("beforeinsert",[n,h,m])===false){return false}if(p===n&&n.indexOf(h)<l){r--}if(p){if(s!==true&&h.fireBubbledEvent("beforemove",[h,p,n,l,m])===false){return false}if(p.removeChild(h,false,s,p.getTreeStore()===g)===false){return false}}g&&g.beginUpdate();if(r===0){n.setFirstChild(h)}Ext.Array.splice(n.childNodes,r,0,h);h.parentNode=n;h.nextSibling=m;m.previousSibling=h;c=n.childNodes[r-1];if(c){h.previousSibling=c;c.nextSibling=h}else{h.previousSibling=null}o=h.updateInfo(false,{parentId:n.getId(),index:r,isFirst:r===0,isLast:false,depth:(n.data.depth||0)+1});for(k=r+1,j=n.childNodes.length;k<j;k++){q=n.childNodes[k];e=q.updateInfo(false,{index:k});if(e){q.callJoined("afterEdit",[e])}}if(!n.isLoaded()){if(d){n.data.loaded=true}else{n.set("loaded",true)}}else{if(n.childNodes.length===1&&!d){n.triggerUIUpdate()}}if(g){g.registerNode(n,!d)}if(s!==true){n.fireBubbledEvent("insert",[n,h,m]);if(p){h.fireBubbledEvent("move",[h,p,n,r,m])}}n.callTreeStore("onNodeInsert",[h,r]);if(o){h.callJoined("afterEdit",[o])}if(g){g.endUpdate()}return h},insertChild:function(c,e){var d=this.childNodes[c];if(d){return this.insertBefore(e,d)}else{return this.appendChild(e)}},isLastVisible:function(){var e=this,c=e.data.isLast,d=e.nextSibling;if(!c&&e.getTreeStore().isFiltered()){while(d){if(d.data.visible){return false}d=d.nextSibling}return true}return c},remove:function(d,e){var g=this,c=g.parentNode;if(c){c.removeChild(g,d,e)}else{if(d){g.erase(true)}}return g},removeAll:function(d,n,h){var l=this,m=l.childNodes,k=m.length,g,e,j,c=[];if(!k){return}if(!h){e=l.getTreeStore();if(e){e.beginUpdate();e.suspendEvent("remove");l.callTreeStore("beforeNodeRemove",[m,false,c])}}for(j=0;j<k;++j){g=m[j];g.previousSibling=g.nextSibling=g.parentNode=null;l.fireBubbledEvent("remove",[l,g,false]);if(d){g.erase(true)}else{g.removeAll(false,n,true)}}if(!h&&e){e.resumeEvent("remove");l.callTreeStore("onNodeRemove",[m,false,c]);e.endUpdate()}l.firstChild=l.lastChild=null;m.length=0;if(!h){l.triggerUIUpdate()}return l},getChildAt:function(c){return this.childNodes[c]},replaceChild:function(c,g,e){var d=g?g.nextSibling:null;this.removeChild(g,false,e);this.insertBefore(c,d,e);return g},indexOf:function(c){return Ext.Array.indexOf(this.childNodes,c)},indexOfId:function(g){var e=this.childNodes,c=e.length,d=0;for(;d<c;++d){if(e[d].getId()===g){return d}}return -1},getPath:function(g,e){g=g||this.idProperty;e=e||"/";var d=[this.get(g)],c=this.parentNode;while(c){d.unshift(c.get(g));c=c.parentNode}return e+d.join(e)},getDepth:function(){return this.get("depth")},bubble:function(e,d,c){var g=this;while(g){if(e.apply(d||g,c||[g])===false){break}g=g.parentNode}},cascade:function(j,e,c,l){var h=this;if(arguments.length===1&&!Ext.isFunction(j)){l=j.after;e=j.scope;c=j.args;j=j.before}if(!j||j.apply(e||h,c||[h])!==false){var k=h.childNodes,g=k.length,d;for(d=0;d<g;d++){k[d].cascade.call(k[d],j,e,c,l)}if(l){l.apply(e||h,c||[h])}}},cascadeBy:function(){return this.cascade.apply(this,arguments)},eachChild:function(g,e,c){var j=this.childNodes,h=j.length,d;for(d=0;d<h;d++){if(g.apply(e||this,c||[j[d]])===false){break}}},findChild:function(d,e,c){return this.findChildBy(function(){return this.get(d)==e},null,c)},findChildBy:function(k,j,d){var h=this.childNodes,c=h.length,g=0,l,e;for(;g<c;g++){l=h[g];if(k.call(j||l,l)===true){return l}else{if(d){e=l.findChildBy(k,j,d);if(e!==null){return e}}}}return null},contains:function(c){return c.isAncestor(this)},isAncestor:function(c){var d=this.parentNode;while(d){if(d===c){return true}d=d.parentNode}return false},sort:function(m,e,l){var j=this,k=j.childNodes,h=k.length,g,d,c={isFirst:true};if(h>0){if(!m){m=j.getTreeStore().getSortFn()}Ext.Array.sort(k,m);j.setFirstChild(k[0]);j.setLastChild(k[h-1]);for(g=0;g<h;g++){d=k[g];d.previousSibling=k[g-1];d.nextSibling=k[g+1];c.isLast=(g===h-1);c.index=g;d.updateInfo(false,c);c.isFirst=false;if(e&&!d.isLeaf()){d.sort(m,true,true)}}if(l!==true){j.fireBubbledEvent("sort",[j,k]);j.callTreeStore("onNodeSort",[k])}}},isExpanded:function(){return this.get("expanded")},isLoaded:function(){return this.get("loaded")},isBranchLoaded:function(){var c=!this.isLeaf()&&this.isLoaded();if(c){this.cascade(function(d){if(!d.isLeaf()){c=c||d.isBranchLoaded()}return c})}return c},isLoading:function(){return this.get("loading")},isRoot:function(){return !this.parentNode},isVisible:function(){var c=this.parentNode;while(c){if(!c.isExpanded()){return false}c=c.parentNode}return true},expand:function(c,i,d){var e=this,g,h;if(!e.isLeaf()){if(e.isLoading()){e.on("expand",function(){e.expand(c,i,d)},e,{single:true})}else{if(!e.isExpanded()){if(e.fireBubbledEvent("beforeexpand",[e])!==false){if(c){if(e.parentNode&&e.parentNode.isSynchronousRecursiveExpand){e.isSynchronousRecursiveExpand=true}else{g=e.getTreeStore();if(g.getProxy().isSynchronous||e.isBranchLoaded()){e.isSynchronousRecursiveExpand=true;g.suspendEvent("add","datachanged");h=true}}}e.callTreeStore("onBeforeNodeExpand",[e.onChildNodesAvailable,e,[c,i,d]]);if(h){g.resumeEvent("add","datachanged");g.fireEvent("datachanged",g);g.fireEvent("refresh",g)}e.isSynchronousRecursiveExpand=false}}else{if(c){e.expandChildren(true,i,d)}else{Ext.callback(i,d||e,[e.childNodes])}}}}else{Ext.callback(i,d||e)}},onChildNodesAvailable:function(g,e,m,n){var k=this,d=k.getTreeStore(),c=d&&d.bulkUpdate,j,h,l;Ext.suspendLayouts();for(j=k.parentNode;j;j=j.parentNode){if(!j.isExpanded()){(l||(l=[])).unshift(j)}}if(c||!d.isVisible(k)){k.data.expanded=true}else{k.set("expanded",true)}if(l){for(h=1;h<l.length;h++){j=l[h];if(c||!d.isVisible(j)){j.data.expanded=true}else{j.set("expanded",true)}}l[0].expand();for(h=1;h<l.length;h++){j=l[h];j.fireBubbledEvent("expand",[j,j.childNodes])}}else{k.callTreeStore("onNodeExpand",[g,false])}k.fireBubbledEvent("expand",[k,g]);if(e){k.expandChildren(true,m,n)}else{Ext.callback(m,n||k,[k.childNodes])}Ext.resumeLayouts(true)},expandChildren:function(h,o,p,j){var m=this,n,k,d,c,l,g,e;if(Ext.isBoolean(o)){n=o;o=p;p=j;j=n}if(j===undefined){e=m.getTreeStore();j=e&&e.singleExpand}d=m.childNodes;c=[];l=j?Math.min(d.length,1):d.length;for(k=0;k<l;++k){g=d[k];if(!g.isLeaf()){c[c.length]=g}}l=c.length;for(k=0;k<l;++k){c[k].expand(h)}if(o){Ext.callback(o,p||m,[m.childNodes])}},collapse:function(e,m,n){var l=this,j=l.isExpanded(),d=l.getTreeStore(),c=d&&d.bulkUpdate,k=l.childNodes.length,g,h;if(!l.isLeaf()&&((!j&&e)||l.fireBubbledEvent("beforecollapse",[l])!==false)){Ext.suspendLayouts();if(l.isExpanded()){if(e){h=function(){for(g=0;g<k;g++){l.childNodes[g].setCollapsed(true)}};if(m){m=Ext.Function.createSequence(h,Ext.Function.bind(m,n,[l.childNodes]))}else{m=h}}else{if(m){m=Ext.Function.bind(m,n,[l.childNodes])}}if(c||!d.contains(l)){l.data.expanded=false}else{l.set("expanded",false)}l.callTreeStore("onNodeCollapse",[l.childNodes,m,n]);l.fireBubbledEvent("collapse",[l,l.childNodes]);m=null}else{if(e){for(g=0;g<k;g++){l.childNodes[g].setCollapsed(true)}}}Ext.resumeLayouts(true)}Ext.callback(m,n||l,[l.childNodes])},setCollapsed:function(d){var g=this,c=g.childNodes.length,e;if(!g.isLeaf()&&g.fireBubbledEvent("beforecollapse",[g])!==false){g.data.expanded=false;g.fireBubbledEvent("collapse",[g,g.childNodes]);if(d){for(e=0;e<c;e++){g.childNodes[e].setCollapsed(true)}}}},collapseChildren:function(e,l,m){var k=this,h,c=k.childNodes,j=c.length,g=[],d;for(h=0;h<j;++h){d=c[h];if(!d.isLeaf()&&d.isLoaded()&&d.isExpanded()){g.push(d)}}j=g.length;if(j){for(h=0;h<j;++h){d=g[h];if(h===j-1){d.collapse(e,l,m)}else{d.collapse(e)}}}else{Ext.callback(l,m)}},fireEvent:function(c){return this.fireBubbledEvent(c,Ext.Array.slice(arguments,1))},fireBubbledEvent:function(d,g){var c,h,e;if(a[d]){for(h=this;c!==false&&h;h=(e=h).parentNode){c=h.fireEventArgs.call(h,d,g)}if(c!==false){h=e.getTreeStore();if(h&&h.hasListeners&&h.hasListeners[d="node"+d]){c=h.fireEventArgs(d,g)}}return c}else{return this.fireEventArgs.apply(this,arguments)}},serialize:function(e){var j=e||new Ext.data.writer.Json({writeAllFields:true}),d=j.getRecordData(this),k=this.childNodes,c=k.length,h,g;if(c>0){d.children=h=[];for(g=0;g<c;g++){h.push(k[g].serialize(j))}}return d},callTreeStore:function(h,c){var e=this,g=e.getTreeStore(),d=g&&g[h];if(g&&d){c=c||[];if(c[0]!==e){c.unshift(e)}d.apply(g,c)}},addCls:function(c){this.replaceCls(null,c)},removeCls:function(c){this.replaceCls(c)},replaceCls:function(c,e){var d=this._parseCls(this.data.cls),g=this._parseCls(c);if(g.length){d=Ext.Array.difference(d,g)}g=this._parseCls(e);if(g.length){d=Ext.Array.unique(d.concat(g))}this.set("cls",d.join(" "))},toggleCls:function(d,h){if(h===undefined){var g=this._parseCls(this.data.cls),k=this._parseCls(d),c=k.length,e,j;for(e=0;e<c;++e){j=k[e];if(Ext.Array.contains(g,j)){Ext.Array.remove(g,j)}else{g.push(j)}}this.set("cls",g.join(" "))}else{if(h){this.addCls(d)}else{this.removeCls(d)}}},privates:{_noCls:[],spacesRe:/\s+/,join:function(c){if(c.isTreeStore){if(this.isRoot()){this.treeStore=this.store=c}}else{this.callParent([c])}},callJoined:function(d,c){this.callParent([d,c]);this.callTreeStore(d,c)},_parseCls:function(c){if(!c){return this._noCls}if(typeof c==="string"){return c.split(this.spacesRe)}return c}}}}}});Ext.define("Ext.data.TreeModel",{extend:Ext.data.Model,mixins:[Ext.mixin.Queryable],getRefItems:function(){return this.childNodes},getRefOwner:function(){return this.parentNode},statics:{defaultProxy:"memory"}},function(){Ext.data.NodeInterface.decorate(this)});Ext.define("Ext.data.NodeStore",{extend:Ext.data.Store,alias:"store.node",isNodeStore:true,config:{node:null,recursive:false,rootVisible:false,folderSort:false},implicitModel:"Ext.data.TreeModel",getTotalCount:function(){return this.getCount()},updateFolderSort:function(b){var a=this.getData();a.setTrackGroups(false);if(b){a.setGrouper({groupFn:this.folderSortFn})}else{a.setGrouper(null)}},folderSortFn:function(a){return a.data.leaf?1:0},afterReject:function(a){var b=this;if(b.contains(a)){b.onUpdate(a,Ext.data.Model.REJECT,null);b.fireEvent("update",b,a,Ext.data.Model.REJECT,null)}},afterCommit:function(a,c){var b=this;if(!c){c=null}if(b.contains(a)){b.onUpdate(a,Ext.data.Model.COMMIT,c);b.fireEvent("update",b,a,Ext.data.Model.COMMIT,c)}},onNodeAppend:function(a,b){if(a===this.getNode()){this.add([b].concat(this.retrieveChildNodes(b)))}},onNodeInsert:function(c,e,b){var d=this,a;if(c===d.getNode()){a=d.indexOf(b)||0;d.insert(0,[e].concat(d.retrieveChildNodes(e)))}},onNodeRemove:function(a,b){if(a===this.getNode()){this.remove([b].concat(this.retrieveChildNodes(b)))}},onNodeExpand:function(b,a){if(b===this.getNode()){this.loadRecords(a)}},applyNode:function(a){if(a){if(!a.isModel){a=new (this.getModel())(a)}if(!a.isNode){Ext.data.NodeInterface.decorate(a)}}return a},updateNode:function(b,d){var a=this,c;if(d&&!d.destroyed){d.un({append:"onNodeAppend",insert:"onNodeInsert",remove:"onNodeRemove",scope:a});d.unjoin(a)}if(b){b.on({scope:a,append:"onNodeAppend",insert:"onNodeInsert",remove:"onNodeRemove"});b.join(a);c=[];if(b.childNodes.length){c=c.concat(a.retrieveChildNodes(b))}if(a.getRootVisible()){c.push(b)}else{if(b.isLoaded()||b.isLoading()){b.set("expanded",true)}}a.getData().clear();a.fireEvent("clear",a);a.suspendEvents();if(a.isInitializing){a.inlineData=c}else{a.add(c)}a.resumeEvents();if(c.length===0){a.loaded=b.loaded=true}a.fireEvent("refresh",a,a.data)}},isVisible:function(b){var a=b.parentNode;if(!this.getRecursive()&&a!==this.getNode()){return false}while(a){if(!a.isExpanded()){return false}if(a===this.getNode()){break}a=a.parentNode}return true},privates:{retrieveChildNodes:function(a){var d=this.getNode(),b=this.getRecursive(),c=[],e=a;if(!a.childNodes.length||(!b&&a!==d)){return c}if(!b){return a.childNodes}while(e){if(e._added){delete e._added;if(e===a){break}else{e=e.nextSibling||e.parentNode}}else{if(e!==a){c.push(e)}if(e.firstChild){e._added=true;e=e.firstChild}else{e=e.nextSibling||e.parentNode}}}return c}}});Ext.define("Ext.data.Request",{isDataRequest:true,config:{action:undefined,params:undefined,method:"GET",url:null,operation:null,proxy:null,disableCaching:false,headers:{},callbackKey:null,rawRequest:null,jsonData:undefined,xmlData:undefined,withCredentials:false,username:null,password:null,binary:false,callback:null,scope:null,timeout:30000,records:null,directFn:null,args:null,useDefaultXhrHeader:null},constructor:function(a){this.initConfig(a)},getParam:function(a){var c=this.getParams(),b;if(c){return c[a]}return b},setParam:function(a,b){var c=this.getParams()||{};c[a]=b;this.setParams(c)}});Ext.define("Ext.data.TreeStore",{extend:Ext.data.Store,alias:"store.tree",isTreeStore:true,config:{root:null,rootVisible:false,defaultRootProperty:"children",parentIdProperty:null,clearOnLoad:true,clearRemovedOnLoad:true,nodeParam:"node",defaultRootId:"root",defaultRootText:"Root",folderSort:false,pageSize:null},filterer:"topdown",lazyFill:false,fillCount:0,bulkUpdate:0,nodesToUnregister:0,_silentOptions:{silent:true},implicitModel:"Ext.data.TreeModel",constructor:function(a){var b=this;b.byIdMap={};b.callParent([a])},applyFields:function(a,c){var b=this;if(a){if(b.defaultRootProperty!==b.self.prototype.config.defaultRootProperty){a=a.concat({name:b.defaultRootProperty,type:"auto",defaultValue:null,persist:false})}}b.callParent([a,c])},onSorterEndUpdate:function(){var c=this,a=c.getSorters(),d=a.getRange(),b=c.getRoot(),e=c.getFolderSort();c.fireEvent("beforesort",c,d);if(b&&(e||d.length)){if(c.getRemoteSort()){if(d.length){c.load({callback:function(){c.fireEvent("sort",c,d)}})}}else{b.sort(this.getSortFn(),true);c.fireEvent("datachanged",c);c.fireEvent("refresh",c);c.fireEvent("sort",c,d)}}else{c.fireEvent("sort",c,d)}},updateFolderSort:function(a){this.needsFolderSort=a;this.onSorterEndUpdate()},getSortFn:function(){return this._sortFn||(this._sortFn=this.createSortFn())},createSortFn:function(){var a=this,b=this.sorters.getSortFn();return function(e,d){var g,h,c=0;if(a.needsFolderSort){g=e.data.leaf?1:0;h=d.data.leaf?1:0;c=g-h}if(a.needsIndexSort&&c===0){c=e.data.index-d.data.index}return c||b(e,d)}},getTotalCount:function(){return this.getCount()},afterEdit:function(a,b){var i=this,c=a.parentNode,j=i.getRootVisible(),e=!c&&!j,g,d=a.get("visible"),k,h;if(!e&&d!==i.contains(a)){if(d){if(!c||i.isVisible(a)){k=[a];if(a.isExpanded()){i.handleNodeExpand(a,a.childNodes,k)}g=a.previousSibling?i.indexOfPreviousVisibleNode(a.previousSibling):(c?i.indexOf(c):-1);i.insert(g+1,k)}}else{h=i.indexOf(a);i.removeAt(h,i.indexOfNextVisibleNode(a)-h)}}else{if(i.getRoot()&&i.needsLocalFilter()){i.onFilterEndUpdate(i.getFilters())}}i.callParent([a,b])},afterReject:function(a){var b=this;if(b.contains(a)){b.onUpdate(a,Ext.data.Model.REJECT,null);b.fireEvent("update",b,a,Ext.data.Model.REJECT,null)}},afterCommit:function(a,c){var b=this;if(!c){c=null}if(b.contains(a)){b.onUpdate(a,Ext.data.Model.COMMIT,c);b.fireEvent("update",b,a,Ext.data.Model.COMMIT,c)}},updateRootVisible:function(b){var a=this.getRoot(),c;if(a){c=this.getData();if(b){c.insert(0,a)}else{c.remove(a)}}},updateTrackRemoved:function(a){this.callParent(arguments);this.removedNodes=this.removed;this.removed=null},onDestroyRecords:function(b,a,c){if(c){this.removedNodes.length=0}},updateProxy:function(b){var a;if(b){if(b.setIdParam){b.setIdParam(this.getNodeParam())}a=b.getReader();if(Ext.isEmpty(a.getRootProperty())){a.setRootProperty(this.getDefaultRootProperty())}}},setProxy:function(a){this.changingProxy=true;this.callParent([a]);this.changingProxy=false},updateModel:function(a){if(a){var b=a.prototype.isNode;Ext.data.NodeInterface.decorate(a);if(!b&&!this.changingProxy){this.getProxy().getReader().buildExtractors(true)}}},onCollectionFilter:Ext.emptyFn,onFilterEndUpdate:function(g){var e=this,d=g.length,a=e.getRoot(),j,c,h,b;if(!e.getRemoteFilter()){if(d){e.doFilter(a)}else{a.cascade({after:function(i){i.set("visible",true,e._silentOptions)}})}if(d){h=[];j=a.childNodes;for(b=0,d=j.length;b<d;b++){c=j[b];if(c.get("visible")){h.push(c)}}}else{h=a.childNodes}e.onNodeFilter(a,h);a.fireEvent("filterchange",a,h);e.suppressNextFilter=true;e.callParent([g]);e.suppressNextFilter=false}else{e.callParent([g])}},onNodeFilter:function(a,e){var c=this,d=c.getData(),b=[];if(c.getRootVisible()&&a.get("visible")){b.push(a)}c.handleNodeExpand(a,e,b);c.suspendEvents();d.splice(0,d.getCount(),b);c.resumeEvents();if(!c.suppressNextFilter){c.fireEvent("datachanged",c);c.fireEvent("refresh",c)}},onBeforeNodeExpand:function(b,k,l,g){var h=this,i,d,j,e,a,c;if(b.isLoaded()){c=[b.childNodes];if(g){c.push.apply(c,g)}Ext.callback(k,l||b,c)}else{if(b.isLoading()){h.on("load",function(){c=[b.childNodes];if(g){c.push.apply(c,g)}Ext.callback(k,l||b,c)},h,{single:true,priority:1001})}else{i=h.getProxy().getReader();d=b.getProxy();j=d?d.getReader():null;e=j&&j.initialConfig.rootProperty?j:i;a=e.getRoot(b.raw||b.data);if(a||(b.phantom&&!b.isRoot())){if(a){h.fillNode(b,e.extractData(a,{model:b.childType,recordCreator:h.recordCreator}))}c=[b.childNodes];if(g){c.push.apply(c,g)}Ext.callback(k,l||b,c)}else{h.read({node:b,onChildNodesAvailable:function(){delete h.lastOptions.onChildNodesAvailable;c=[b.childNodes];if(g){c.push.apply(c,g)}Ext.callback(k,l||b,c)}});h.flushLoad()}}}},onNodeExpand:function(d,b){var e=this,a=e.indexOf(d)+1,c=[];e.handleNodeExpand(d,b,c);if(!e.refreshCounter&&d.isRoot()&&!d.get("visible")){e.loadRecords(c)}else{e.insert(a,c)}},handleNodeExpand:function(e,b,d){var h=this,g=b?b.length:0,c,a;if(e!==this.getRoot()&&!h.isVisible(e)){return}if(g){for(c=0;c<g;c++){a=b[c];if(a.get("visible")){d.push(a);if(a.isExpanded()){if(a.isLoaded()){h.handleNodeExpand(a,a.childNodes,d)}else{a.set("expanded",false);a.expand()}}}}}},onNodeCollapse:function(d,a,h,c){var e=this,b=e.indexOf(d)+1,g;if(e.needsLocalFilter()){a=Ext.Array.filter(a,e.filterVisible)}if(a.length&&e.isVisible(d)){g=e.indexOfNextVisibleNode(d);e.removeAt(b,g-b)}Ext.callback(h,c)},indexOfNextVisibleNode:function(b){var a;while(b.parentNode){for(a=b.nextSibling;a&&!a.get("visible");a=a.nextSibling){}if(a){return this.indexOf(a)}b=b.parentNode}return this.getCount()},indexOfPreviousVisibleNode:function(b){var a;for(a=b;a&&!a.get("visible");a=a.previousSibling){}if(a){if(a.isExpanded()&&a.lastChild){return this.indexOfPreviousVisibleNode(a.lastChild)}}else{a=b.parentNode}return this.indexOf(a)},filterNew:function(a){return !a.get("root")&&this.callParent([a])},filterRejects:function(a){return !a.get("root")&&this.callParent([a])},getNewRecords:function(){return Ext.Array.filter(Ext.Object.getValues(this.byIdMap),this.filterNew,this)},getRejectRecords:function(){return Ext.Array.filter(Ext.Object.getValues(this.byIdMap),this.filterRejects,this)},getUpdatedRecords:function(){return Ext.Array.filter(Ext.Object.getValues(this.byIdMap),this.filterUpdated)},beforeNodeRemove:function(d,k,j,a){if(!Ext.isArray(k)){k=[k]}var h=this,g=k.length,e=h.removedNodes,c,b;for(c=0;!b&&c<g;c++){if(k[c].get("visible")){b=k[c]}}if(b){a[0]=h.indexOf(k[0]);a[1]=h.indexOfNextVisibleNode(k[k.length-1])-a[0]}else{a[0]=-1;a[1]=0}for(c=0;c<g;c++){k[c].cascade(function(i){h.unregisterNode(i,true);if(e&&!j){if(!i.phantom&&!i.erasing&&!h.loading){i.removedFrom=h.indexOf(i);e.push(i);h.needsSync=true}}})}},afterDrop:Ext.emptyFn,onNodeRemove:function(a,e,b,c){var d=this;d.suspendAutoSync();if(c[0]!==-1){d.removeIsMove=b;d.removeAt.apply(d,c);d.removeIsMove=false}d.resumeAutoSync()},onNodeAppend:function(b,c,a){this.onNodeInsert(b,c,a)},onNodeInsert:function(m,a,g){var h=this,c=a.raw||a.data,e=h.removedNodes,i,b,j,d,l,k;if(m&&h.needsLocalFilter()){h.doFilter(m)}h.beginUpdate();if(h.isVisible(a)){if(g===0||!a.previousSibling){k=h.indexOf(m)}else{k=h.indexOfPreviousVisibleNode(a.previousSibling)}h.insert(k+1,a);if(!a.isLeaf()&&a.isExpanded()){if(a.isLoaded()){h.onNodeExpand(a,a.childNodes)}else{if(!h.fillCount){a.set("expanded",false);a.expand()}}}}Ext.Array.remove(e,a);h.needsSync=h.needsSync||a.phantom||a.dirty;if(!a.isLeaf()&&!a.isLoaded()&&!h.lazyFill){i=h.getProxy().getReader();b=a.getProxy();j=b?b.getReader():null;d=j&&j.initialConfig.rootProperty?j:i;l=d.getRoot(c);if(l){h.fillNode(a,d.extractData(l,{model:a.childType,recordCreator:h.recordCreator}))}}h.endUpdate()},registerNode:function(g,a){var e=this,h=e.byIdMap[g.id],c,d,b;e.byIdMap[g.id]=g;if(g.onRegisterTreeNode&&g!==h){g.onRegisterTreeNode(e)}if(g.onUnregisterTreeNode){e.nodesToUnregister++}if(a===true){c=g.childNodes;d=c.length;for(b=0;b<d;b++){e.registerNode(c[b],true)}}},unregisterNode:function(g,a){var e=this,h=e.byIdMap[g.id],c,d,b;delete e.byIdMap[g.id];if(a===true){c=g.childNodes;d=c.length;for(b=0;b<d;b++){e.unregisterNode(c[b],true)}}if(g.onUnregisterTreeNode&&g===h){g.onUnregisterTreeNode(e);e.nodesToUnregister--}},onNodeSort:function(b,c){var a=this;a.suspendAutoSync();if((a.indexOf(b)!==-1&&b.isExpanded())||(b===a.getRoot()&&!a.getRootVisible())){Ext.suspendLayouts();a.onNodeCollapse(b,c);a.onNodeExpand(b,c);Ext.resumeLayouts(true)}a.resumeAutoSync(a.autoSync)},applyRoot:function(e){var b=this,d=b.getModel(),a=d.prototype.idProperty,c=b.getDefaultRootId();if(e&&!e.isNode){e=Ext.apply({text:b.getDefaultRootText(),root:true,isFirst:true,isLast:true,depth:0,index:0,parentId:null,allowDrag:false},e);if(c&&e[a]===undefined){e[a]=c}e=new d(e)}return e},updateRoot:function(h,b){var e=this,g,a=!b,d,c=[];e.getTrackRemoved();e.suspendEvent("add","remove");if(b&&b.isModel){if(e.getRootVisible()){d=[b]}else{d=b.childNodes}e.beforeNodeRemove(null,d,false,c);b.set("root",false);e.onNodeRemove(null,d,false,c);b.fireEvent("remove",null,b,false);b.fireEvent("rootchange",null);b.clearListeners();b.store=b.treeStore=null;e.unregisterNode(b)}e.getData().clear();if(h){if(h.fireEventArgs("beforeappend",[null,h])===false){h=null}else{g=h.parentNode;if(g){if(!g.removeChild(h,false,false,g.getTreeStore()===e)){return}}else{if((g=h.getTreeStore())&&g!==e&&h===g.getRoot()){g.setRoot(null)}}h.store=h.treeStore=e;h.set("root",true);h.updateInfo(true,{isFirst:true,isLast:true,depth:0,index:0,parentId:null});e.registerNode(h,true);h.fireEvent("append",null,h,false);h.fireEvent("rootchange",h);e.onNodeAppend(null,h,0);h.phantom=true}}e.fireEvent("rootchange",h,b);if(h&&(e.getAutoLoad()||h.isExpanded())){if(h.isLoaded()){e.onNodeExpand(h,h.childNodes);e.fireEvent("datachanged",e);e.fireEvent("refresh",e)}else{h.data.expanded=false;h.expand(false);if(h.isLoaded&&!e.getProxy().isSynchronous){e.fireEvent("datachanged",e);e.fireEvent("refresh",e)}}}else{if(!a){e.fireEvent("datachanged",e);e.fireEvent("refresh",e)}}e.resumeEvent("add","remove")},doDestroy:function(){var b=this,a=b.getRoot();if(a&&b.nodesToUnregister){a.cascade(function(c){if(c.onUnregisterTreeNode){c.onUnregisterTreeNode(b)}})}b.callParent()},each:function(d,c,e){var a,b=0;if(e&&typeof e==="object"){a=e.collapsed;e=e.filtered}if(a){this.getRoot().cascade(function(g){if(e===true||g.get("visible")){return d.call(c||g,g,b++)}})}else{return this.callParent([d,c,e])}},collect:function(d,b,g){var c,h={},a=[],i,e;if(b&&typeof b==="object"){c=b.collapsed;g=b.filtered;b=b.allowNull}if(c||g){this.getRoot().cascade(function(j){if(g===true||j.get("visible")){e=j.get(d);i=String(e);if((b||!Ext.isEmpty(e))&&!h[i]){h[i]=1;a.push(e)}}if(!c&&!j.isExpanded()){return false}})}else{a=this.callParent([d,b,g])}return a},getNodeById:function(a){return this.byIdMap[a]||null},findNode:function(h,g,d,c,b){if(Ext.isEmpty(g,false)){return null}if(h===this.model.idProperty&&arguments.length<3){return this.byIdMap[g]}var e=Ext.String.createRegex(g,d,c,b),a=null;Ext.Object.eachValue(this.byIdMap,function(i){if(i&&e.test(i.get(h))){a=i;return false}});return a},load:function(a){var b=a&&a.node;if(!b&!(b=this.getRoot())){b=this.setRoot({expanded:true});return}if(b.isLoading()){return}return this.callParent([a])},reload:function(a){var b=Ext.apply({},a,this.lastOptions);b.node=this.getRoot();return this.load(b)},flushLoad:function(){var g=this,j=g.pendingLoadOptions,a,h,i,d=g.getClearOnLoad(),e,b,c;g.clearLoadTask();if(!j){return}a=j.node||g.getRoot();e=a&&a.isRoot();h=j.callback;i=j.scope;j.params=j.params||{};if(a.data.expanded&&!e){a.data.loaded=false;if(d){a.data.expanded=false}j.callback=function(l,k,m){if(!d){a.collapse()}a.expand();Ext.callback(h,i,[l,k,m])}}j.id=a.getId();g.setLoadOptions(j);if(g.getRemoteSort()&&j.sorters){g.fireEvent("beforesort",g,j.sorters)}j=Ext.apply({node:j.node||a,internalScope:g,internalCallback:g.onProxyLoad},j);g.lastOptions=Ext.apply({},j);j.isRootLoad=e;b=g.createOperation("read",j);if(g.fireEvent("beforeload",g,b)!==false){g.loading=true;if(e){if(g.getClearRemovedOnLoad()){g.removedNodes.length=0}if(d){g.unregisterNode(a,true);a.clear(false,true);g.registerNode(a);c=true}}else{if(g.getTrackRemoved()&&g.getClearRemovedOnLoad()){g.clearRemoved(a)}if(d){a.removeAll(false)}}if(g.loading&&a){a.set("loading",true)}if(c){g.clearData(true);if(g.getRootVisible()){g.suspendEvents();g.add(a);g.resumeEvents()}}b.execute()}return g},onProxyLoad:function(c){var h=this,j=c.initialConfig,d=c.wasSuccessful(),b=c.getRecords(),a=j.node,e=j.isRootLoad,i=c.getScope()||h,g=[b,c,d];if(h.destroyed){return}h.loading=false;a.set("loading",false);if(d){++h.loadCount;if(!h.getClearOnLoad()){b=h.cleanRecords(a,b)}if(h.getParentIdProperty()){b=h.treeify(a,b)}if(e){h.suspendEvent("add","update")}b=h.fillNode(a,b)}Ext.callback(j.onChildNodesAvailable,i,g);if(e){h.resumeEvent("add","update");h.callObservers("BeforePopulate");h.fireEvent("datachanged",h);h.fireEvent("refresh",h);h.callObservers("AfterPopulate")}h.fireEvent("load",h,b,d,c,a)},clearRemoved:function(b){var k=this,e=k.removedNodes,a=b.getId(),d=e.length,c=d,n={},h=[],m={},j,g,l;if(b===k.getRoot()){k.removedNodes.length=0;return}for(;c--;){j=e[c];m[j.getId()]=j}for(c=d;c--;){j=e[c];g=j;while(g&&g.getId()!==a){l=g.get("parentId")||g.get("lastParentId");g=g.parentNode||k.getNodeById(l)||m[l]}if(g){n[j.getId()]=j}}for(c=0;c<d;c++){j=e[c];if(!n[j.getId()]){h.push(j)}}k.removedNodes=h},fillNode:function(c,a){var b=this,d=a?a.length:0;if(++b.bulkUpdate===1){b.suspendEvent("datachanged")}if(d){b.setupNodes(a)}if(b.bulkUpdate===1){c.set("loaded",true)}else{c.data.loaded=true}if(a.length){c.appendChild(a,undefined,true)}if(!--b.bulkUpdate){b.resumeEvent("datachanged")}return a},setupNodes:function(d){var h=this,g=h.getSorters(),j=false,b=d.length,a=h.sortOnLoad&&b>1&&!h.getRemoteSort()&&h.getFolderSort()||g.length,c=h.needsLocalFilter(),l,k,e;if(c){h.doFilter(d[0])}for(e=1;e<b;e++){l=d[e];k=d[e-1];if(c){h.doFilter(l)}j=l.data.index!==k.data.index}if(a){h.needsIndexSort=true;Ext.Array.sort(d,h.getSortFn());h.needsIndexSort=false}else{if(j){Ext.Array.sort(d,h.sortByIndex)}}},beginFill:function(){var a=this;if(!a.fillCount++){a.beginUpdate();a.suspendEvent("add","update");a.suspendAutoSync();a.fillArray=[]}},endFill:function(e,b){var g=this,h=g.fillArray,d,a,c;h.push(b);if(!--g.fillCount){g.resumeAutoSync();g.resumeEvent("add","update");for(d=0,a=h.length;d<a;d++){c=g.indexOf(h[d][0]);if(c!==-1){g.fireEvent("add",g,h[d],c)}}g.fillArray=null;g.endUpdate()}},sortByIndex:function(b,a){return b.data.index-a.data.index},onIdChanged:function(d,g,b){var e=d.childNodes,a=e&&e.length,c;this.callParent(arguments);delete this.byIdMap[g];this.byIdMap[b]=d;for(c=0;c<a;c++){e[c].set("parentId",b)}},treeify:function(j,e){var m=this,o=j.getId(),c=m.getParentIdProperty(),k=e.length,p=[],l={},g,d,h,n,a,b;for(g=0;g<k;g++){d=e[g];d.data.depth=1;l[d.id]=d}for(g=0;g<k;g++){d=e[g];h=d.data[c];if(!(h||h===0)||h===o){p.push(d)}else{n=l[h];n.$children=n.$children||[];n.$children.push(d);d.data.depth=n.data.depth+1}}for(a in l){d=l[a];b=d.$children;if(b){delete d.$children;m.setupNodes(b);d.appendChild(b)}m.registerNode(d)}m.setupNodes(p);return p},cleanRecords:function(g,b){var e={},j=g.childNodes,d=0,a=j.length,c=[],h;for(;d<a;++d){e[j[d].getId()]=true}for(d=0,a=b.length;d<a;++d){h=b[d];if(!e[h.getId()]){c.push(h)}}return c},removeAll:function(){this.suspendEvents();this.setRoot(null);this.resumeEvents();this.callParent()},doSort:function(a){var b=this;if(b.getRemoteSort()){b.load()}else{b.tree.sort(a,true);b.fireEvent("datachanged",b);b.fireEvent("refresh",b)}b.fireEvent("sort",b,b.sorters.getRange())},filterVisible:function(a){return a.get("visible")},isVisible:function(c){var a=c.parentNode,d=c.data.visible,b=this.getRoot();while(d&&a){d=a.data.expanded&&a.data.visible;a=a.parentNode}return d&&!(c===b&&!this.getRootVisible())},commitChanges:function(){var a=this.removedNodes;if(a){a.length=0}this.callParent()},getRootNode:function(){return this.getRoot()},setRootNode:function(a){this.setRoot(a);return this.getRoot()},privates:{fireChangeEvent:function(a){return !!this.byIdMap[a.id]},getRawRemovedRecords:function(){return this.removedNodes},createOperation:function(c,a){var e=this,d=a.node,b;if(e.useModelProxy&&d&&d!==e.getRootNode()){b=d.getProxy()}if(b&&b!==e.getProxy()){return b.createOperation(c,a)}else{return e.callParent([c,a])}},recordCreator:function(a,b){return new b(a)},doFilter:function(a){this.filterNodes(a,this.getFilters().getFilterFn(),true)},filterNodes:function(b,l,g){var h=this,a=h.filterer==="bottomup",d=l(b)&&g||(b.isRoot()&&!h.getRootVisible()),k=b.childNodes,e=k&&k.length,c,j;if(e){for(c=0;c<e;++c){j=h.filterNodes(k[c],l,d||a)||j}if(a){d=j||d}}b.set("visible",d,h._silentOptions);return d},needsLocalFilter:function(){return !this.getRemoteFilter()&&this.getFilters().length},onRemoteFilterSet:function(a,c){var b=this.getData();b.setFilters(null);if(a){a.on("endupdate",this.onFilterEndUpdate,this)}},onRemoteSortSet:function(b,c){var a=this.getData();a.setSorters(null);if(b){b.on("endupdate",this.onSorterEndUpdate,this)}}},deprecated:{5:{properties:{tree:null}}}});Ext.define("Ext.data.Types",{singleton:true},function(b){var a=Ext.data.SortTypes;Ext.apply(b,{stripRe:/[\$,%]/g,AUTO:{sortType:a.none,type:"auto"},STRING:{convert:function(d){var c=this.getAllowNull()?null:"";return(d===undefined||d===null)?c:String(d)},sortType:a.asUCString,type:"string"},INT:{convert:function(c){if(typeof c==="number"){return parseInt(c,10)}return c!==undefined&&c!==null&&c!==""?parseInt(String(c).replace(b.stripRe,""),10):(this.getAllowNull()?null:0)},sortType:a.none,type:"int"},FLOAT:{convert:function(c){if(typeof c==="number"){return c}return c!==undefined&&c!==null&&c!==""?parseFloat(String(c).replace(b.stripRe,""),10):(this.getAllowNull()?null:0)},sortType:a.none,type:"float"},BOOL:{convert:function(c){if(typeof c==="boolean"){return c}if(this.getAllowNull()&&(c===undefined||c===null||c==="")){return null}return c==="true"||c==1},sortType:a.none,type:"bool"},DATE:{convert:function(d){var e=this.getDateReadFormat()||this.getDateFormat(),c;if(!d){return null}if(d instanceof Date){return d}if(e){return Ext.Date.parse(d,e)}c=Date.parse(d);return c?new Date(c):null},sortType:a.asDate,type:"date"}});b.BOOLEAN=b.BOOL;b.INTEGER=b.INT;b.NUMBER=b.FLOAT});Ext.define("Ext.data.Validation",{extend:Ext.data.Model,isValidation:true,syncGeneration:0,attach:function(a){this.record=a;this.isBase=a.self===Ext.data.Model;delete this.data.id},getValidation:function(){return null},isValid:function(){var a=this;if(a.syncGeneration!==a.record.generation){a.refresh()}return !a.dirty},refresh:function(b){if(this.isBase){return}var u=this,v=u.data,d=u.record,l=d.fields,o=d.generation,t=d.data,k=d.validationSeparator,c=null,e,h,m,a,r,p,n,s,q,g,x,w;if(b||u.syncGeneration!==o){u.syncGeneration=o;for(p=0,q=l.length;p<q;++p){a=l[p];w=a.name;x=t[w];e=a.defaultInvalidMessage;m=0;if(!(w in v)){v[w]=h=true}else{h=v[w]}if(a.validate!==Ext.emptyFn){g=a.validate(x,k,null,d);if(g!==true){m=g||e}}if(!m){m=true}if(m!==h){(c||(c={}))[w]=m}}if(c){u.set(c)}}}});Ext.define("Ext.dom.Helper",function(){var a="afterbegin",g="afterend",h="beforebegin",d="beforeend",i=["BeforeBegin","previousSibling"],e=["AfterEnd","nextSibling"],c={beforebegin:i,afterend:e},b={beforebegin:i,afterend:e,afterbegin:["AfterBegin","firstChild"],beforeend:["BeforeEnd","lastChild"]};return{singleton:true,alternateClassName:["Ext.DomHelper","Ext.core.DomHelper"],emptyTags:/^(?:br|frame|hr|img|input|link|meta|range|spacer|wbr|area|param|col)$/i,confRe:/^(?:tag|children|cn|html|tpl|tplData)$/i,endRe:/end/i,attributeTransform:{cls:"class",htmlFor:"for"},closeTags:{},detachedDiv:document.createElement("div"),decamelizeName:function(){var l=/([a-z])([A-Z])/g,k={};function j(m,o,n){return o+"-"+n.toLowerCase()}return function(m){return k[m]||(k[m]=m.replace(l,j))}}(),generateMarkup:function(q,k){var p=this,o=typeof q,n,j,r,m,l;if(o==="string"||o==="number"){k.push(q)}else{if(Ext.isArray(q)){for(m=0;m<q.length;m++){if(q[m]){p.generateMarkup(q[m],k)}}}else{r=q.tag||"div";k.push("<",r);for(n in q){if(q.hasOwnProperty(n)){j=q[n];if(j!==undefined&&!p.confRe.test(n)){if(j&&j.join){j=j.join(" ")}if(typeof j==="object"){k.push(" ",n,'="');p.generateStyles(j,k,true).push('"')}else{k.push(" ",p.attributeTransform[n]||n,'="',j,'"')}}}}if(p.emptyTags.test(r)){k.push("/>")}else{k.push(">");if((j=q.tpl)){j.applyOut(q.tplData,k)}if((j=q.html)){k.push(j)}if((j=q.cn||q.children)){p.generateMarkup(j,k)}l=p.closeTags;k.push(l[r]||(l[r]="</"+r+">"))}}}return k},generateStyles:function(n,k,m){var j=k||[],l,o;for(l in n){if(n.hasOwnProperty(l)){o=n[l];l=this.decamelizeName(l);if(m&&Ext.String.hasHtmlCharacters(o)){o=Ext.String.htmlEncode(o)}j.push(l,":",o,";")}}return k||j.join("")},markup:function(j){if(typeof j==="string"){return j}var k=this.generateMarkup(j,[]);return k.join("")},applyStyles:function(j,k){Ext.fly(j).applyStyles(k)},createContextualFragment:function(k){var n=this.detachedDiv,j=document.createDocumentFragment(),l,m;n.innerHTML=k;m=n.childNodes;l=m.length;while(l--){j.appendChild(m[0])}return j},createDom:function(m,j){var l=this,k=l.markup(m),p=l.detachedDiv,n;p.innerHTML=k;n=p.firstChild;return Ext.supports.ChildContentClearedWhenSettingInnerHTML?n.cloneNode(true):n},insertHtml:function(m,j,n){var r=this,k,o,l,q,s;m=m.toLowerCase();if(j.insertAdjacentHTML){if(r.ieInsertHtml){s=r.ieInsertHtml(m,j,n);if(s){return s}}k=b[m];if(k){j.insertAdjacentHTML(k[0],n);return j[k[1]]}}else{if(j.nodeType===3){m=m===a?h:m;m=m===d?g:m}o=Ext.supports.CreateContextualFragment?j.ownerDocument.createRange():undefined;q="setStart"+(this.endRe.test(m)?"After":"Before");if(c[m]){if(o){o[q](j);s=o.createContextualFragment(n)}else{s=this.createContextualFragment(n)}j.parentNode.insertBefore(s,m===h?j:j.nextSibling);return j[(m===h?"previous":"next")+"Sibling"]}else{l=(m===a?"first":"last")+"Child";if(j.firstChild){if(o){try{o[q](j[l]);s=o.createContextualFragment(n)}catch(p){s=this.createContextualFragment(n)}}else{s=this.createContextualFragment(n)}if(m===a){j.insertBefore(s,j.firstChild)}else{j.appendChild(s)}}else{j.innerHTML=n}return j[l]}}},insertBefore:function(j,l,k){return this.doInsert(j,l,k,h)},insertAfter:function(j,l,k){return this.doInsert(j,l,k,g)},insertFirst:function(j,l,k){return this.doInsert(j,l,k,a)},append:function(j,l,k){return this.doInsert(j,l,k,d)},overwrite:function(l,k,n){var m=this,j;l=Ext.getDom(l);k=m.markup(k);if(m.ieOverwrite){j=m.ieOverwrite(l,k)}if(!j){l.innerHTML=k;j=l.firstChild}return n?Ext.get(j):j},doInsert:function(l,p,n,j){var m=this,k;l=l.dom||Ext.getDom(l);if("innerHTML" in l){k=m.insertHtml(j,l,m.markup(p))}else{k=m.createDom(p,null);if(l.nodeType===3){j=j===a?h:j;j=j===d?g:j}if(c[j]){l.parentNode.insertBefore(k,j===h?l:l.nextSibling)}else{if(l.firstChild&&j===a){l.insertBefore(k,l.firstChild)}else{l.appendChild(k)}}}return n?Ext.get(k):k},createTemplate:function(k){var j=this.markup(k);return new Ext.Template(j)},createHtml:function(j){return this.markup(j)}}});Ext.define("Ext.dom.Query",function(){var DQ,doc=document,cache,simpleCache,valueCache,useClassList=!!doc.documentElement.classList,useElementPointer=!!doc.documentElement.firstElementChild,useChildrenCollection=(function(){var d=doc.createElement("div");d.innerHTML="<!-- -->text<!-- -->";return d.children&&(d.children.length===0)})(),nonSpace=/\S/,trimRe=/^\s+|\s+$/g,tplRe=/\{(\d+)\}/g,modeRe=/^(\s?[\/>+~]\s?|\s|$)/,tagTokenRe=/^(#)?([\w\-\*\|\\]+)/,nthRe=/(\d*)n\+?(\d*)/,nthRe2=/\D/,startIdRe=/^\s*#/,isIE=window.ActiveXObject?true:false,key=30803,longHex=/\\([0-9a-fA-F]{6})/g,shortHex=/\\([0-9a-fA-F]{1,6})\s{0,1}/g,nonHex=/\\([^0-9a-fA-F]{1})/g,escapes=/\\/g,num,hasEscapes,supportsColonNsSeparator=(function(){var xmlDoc,xmlString='<r><a:b xmlns:a="n"></a:b></r>';if(window.DOMParser){xmlDoc=(new DOMParser()).parseFromString(xmlString,"application/xml")}else{xmlDoc=new ActiveXObject("Microsoft.XMLDOM");xmlDoc.loadXML(xmlString)}return !!xmlDoc.getElementsByTagName("a:b").length})(),longHexToChar=function($0,$1){return String.fromCharCode(parseInt($1,16))},shortToLongHex=function($0,$1){while($1.length<6){$1="0"+$1}return"\\"+$1},charToLongHex=function($0,$1){num=$1.charCodeAt(0).toString(16);if(num.length===1){num="0"+num}return"\\0000"+num},unescapeCssSelector=function(selector){return(hasEscapes)?selector.replace(longHex,longHexToChar):selector},setupEscapes=function(path){hasEscapes=(path.indexOf("\\")>-1);if(hasEscapes){path=path.replace(shortHex,shortToLongHex).replace(nonHex,charToLongHex).replace(escapes,"\\\\")}return path};eval("var batch = 30803, child, next, prev, byClassName;");child=useChildrenCollection?function child(parent,index){return parent.children[index]}:function child(parent,index){var i=0,n=parent.firstChild;while(n){if(n.nodeType==1){if(++i==index){return n}}n=n.nextSibling}return null};next=useElementPointer?function(n){return n.nextElementSibling}:function(n){while((n=n.nextSibling)&&n.nodeType!=1){}return n};prev=useElementPointer?function(n){return n.previousElementSibling}:function(n){while((n=n.previousSibling)&&n.nodeType!=1){}return n};function children(parent){var n=parent.firstChild,nodeIndex=-1,nextNode;while(n){nextNode=n.nextSibling;if(n.nodeType==3&&!nonSpace.test(n.nodeValue)){parent.removeChild(n)}else{n.nodeIndex=++nodeIndex}n=nextNode}return this}byClassName=useClassList?function(nodeSet,cls){cls=unescapeCssSelector(cls);if(!cls){return nodeSet}var result=[],ri=-1,i,ci,classList;for(i=0;ci=nodeSet[i];i++){classList=ci.classList;if(classList){if(classList.contains(cls)){result[++ri]=ci}}else{if((" "+ci.className+" ").indexOf(cls)!==-1){result[++ri]=ci}}}return result}:function(nodeSet,cls){cls=unescapeCssSelector(cls);if(!cls){return nodeSet}var result=[],ri=-1,i,ci;for(i=0;ci=nodeSet[i];i++){if((" "+ci.className+" ").indexOf(cls)!==-1){result[++ri]=ci}}return result};function attrValue(n,attr){if(!n.tagName&&typeof n.length!="undefined"){n=n[0]}if(!n){return null}if(attr=="for"){return n.htmlFor}if(attr=="class"||attr=="className"){return n.className}return n.getAttribute(attr)||n[attr]}function getNodes(ns,mode,tagName){var result=[],ri=-1,cs,i,ni,j,ci,cn,utag,n,cj;if(!ns){return result}tagName=tagName.replace("|",":")||"*";if(typeof ns.getElementsByTagName!="undefined"){ns=[ns]}if(!mode){tagName=unescapeCssSelector(tagName);if(!supportsColonNsSeparator&&DQ.isXml(ns[0])&&tagName.indexOf(":")!==-1){for(i=0;ni=ns[i];i++){cs=ni.getElementsByTagName(tagName.split(":").pop());for(j=0;ci=cs[j];j++){if(ci.tagName===tagName){result[++ri]=ci}}}}else{for(i=0;ni=ns[i];i++){cs=ni.getElementsByTagName(tagName);for(j=0;ci=cs[j];j++){result[++ri]=ci}}}}else{if(mode=="/"||mode==">"){utag=tagName.toUpperCase();for(i=0;ni=ns[i];i++){cn=ni.childNodes;for(j=0;cj=cn[j];j++){if(cj.nodeName==utag||cj.nodeName==tagName||tagName=="*"){result[++ri]=cj}}}}else{if(mode=="+"){utag=tagName.toUpperCase();for(i=0;n=ns[i];i++){while((n=n.nextSibling)&&n.nodeType!=1){}if(n&&(n.nodeName==utag||n.nodeName==tagName||tagName=="*")){result[++ri]=n}}}else{if(mode=="~"){utag=tagName.toUpperCase();for(i=0;n=ns[i];i++){while((n=n.nextSibling)){if(n.nodeName==utag||n.nodeName==tagName||tagName=="*"){result[++ri]=n}}}}}}}return result}function concat(a,b){a.push.apply(a,b);return a}function byTag(cs,tagName){if(cs.tagName||cs===doc){cs=[cs]}if(!tagName){return cs}var result=[],ri=-1,i,ci;tagName=tagName.toLowerCase();for(i=0;ci=cs[i];i++){if(ci.nodeType==1&&ci.tagName.toLowerCase()==tagName){result[++ri]=ci}}return result}function byId(cs,id){id=unescapeCssSelector(id);if(cs.tagName||cs===doc){cs=[cs]}if(!id){return cs}var result=[],ri=-1,i,ci;for(i=0;ci=cs[i];i++){if(ci&&ci.id==id){result[++ri]=ci;return result}}return result}function byAttribute(cs,attr,value,op,custom){var result=[],ri=-1,useGetStyle=custom=="{",fn=DQ.operators[op],a,xml,hasXml,i,ci;value=unescapeCssSelector(value);for(i=0;ci=cs[i];i++){if(ci.nodeType===1){if(!hasXml){xml=DQ.isXml(ci);hasXml=true}if(!xml){if(useGetStyle){a=DQ.getStyle(ci,attr)}else{if(attr=="class"||attr=="className"){a=ci.className}else{if(attr=="for"){a=ci.htmlFor}else{if(attr=="href"){a=ci.getAttribute("href",2)}else{a=ci.getAttribute(attr)}}}}}else{a=ci.getAttribute(attr)}if((fn&&fn(a,value))||(!fn&&a)){result[++ri]=ci}}}return result}function byPseudo(cs,name,value){value=unescapeCssSelector(value);return DQ.pseudos[name](cs,value)}function nodupIEXml(cs){var d=++key,r,i,len,c;cs[0].setAttribute("_nodup",d);r=[cs[0]];for(i=1,len=cs.length;i<len;i++){c=cs[i];if(!c.getAttribute("_nodup")!=d){c.setAttribute("_nodup",d);r[r.length]=c}}for(i=0,len=cs.length;i<len;i++){cs[i].removeAttribute("_nodup")}return r}function nodup(cs){if(!cs){return[]}var len=cs.length,c,i,r=cs,cj,ri=-1,d,j;if(!len||typeof cs.nodeType!="undefined"||len==1){return cs}if(isIE&&typeof cs[0].selectSingleNode!="undefined"){return nodupIEXml(cs)}d=++key;cs[0]._nodup=d;for(i=1;c=cs[i];i++){if(c._nodup!=d){c._nodup=d}else{r=[];for(j=0;j<i;j++){r[++ri]=cs[j]}for(j=i+1;cj=cs[j];j++){if(cj._nodup!=d){cj._nodup=d;r[++ri]=cj}}return r}}return r}function quickDiffIEXml(c1,c2){var d=++key,r=[],i,len;for(i=0,len=c1.length;i<len;i++){c1[i].setAttribute("_qdiff",d)}for(i=0,len=c2.length;i<len;i++){if(c2[i].getAttribute("_qdiff")!=d){r[r.length]=c2[i]}}for(i=0,len=c1.length;i<len;i++){c1[i].removeAttribute("_qdiff")}return r}function quickDiff(c1,c2){var len1=c1.length,d=++key,r=[],i,len;if(!len1){return c2}if(isIE&&typeof c1[0].selectSingleNode!="undefined"){return quickDiffIEXml(c1,c2)}for(i=0;i<len1;i++){c1[i]._qdiff=d}for(i=0,len=c2.length;i<len;i++){if(c2[i]._qdiff!=d){r[r.length]=c2[i]}}return r}function quickId(ns,mode,root,id){if(ns==root){id=unescapeCssSelector(id);var d=root.ownerDocument||root;return d.getElementById(id)}ns=getNodes(ns,mode,"*");return byId(ns,id)}return{singleton:true,alternateClassName:["Ext.core.DomQuery","Ext.DomQuery"],_init:function(){DQ=this;DQ.operators=Ext.Object.chain(Ext.util.Operators);DQ._cache=cache=new Ext.util.LruCache({maxSize:200});DQ._valueCache=valueCache=new Ext.util.LruCache({maxSize:200});DQ._simpleCache=simpleCache=new Ext.util.LruCache({maxSize:200})},clearCache:function(){cache.clear();valueCache.clear();simpleCache.clear()},getStyle:function(el,name){return Ext.fly(el,"_DomQuery").getStyle(name)},compile:function(path,type){type=type||"select";var fn=["var f = function(root) {\n var mode; ++batch; var n = root || document;\n"],lastPath,matchers=DQ.matchers,matchersLn=matchers.length,modeMatch,lmode=path.match(modeRe),tokenMatch,matched,j,t,m;path=setupEscapes(path);if(lmode&&lmode[1]){fn[fn.length]='mode="'+lmode[1].replace(trimRe,"")+'";';path=path.replace(lmode[1],"")}while(path.substr(0,1)=="/"){path=path.substr(1)}while(path&&lastPath!=path){lastPath=path;tokenMatch=path.match(tagTokenRe);if(type=="select"){if(tokenMatch){if(tokenMatch[1]=="#"){fn[fn.length]='n = quickId(n, mode, root, "'+tokenMatch[2]+'");'}else{fn[fn.length]='n = getNodes(n, mode, "'+tokenMatch[2]+'");'}path=path.replace(tokenMatch[0],"")}else{if(path.substr(0,1)!="@"){fn[fn.length]='n = getNodes(n, mode, "*");'}}}else{if(tokenMatch){if(tokenMatch[1]=="#"){fn[fn.length]='n = byId(n, "'+tokenMatch[2]+'");'}else{fn[fn.length]='n = byTag(n, "'+tokenMatch[2]+'");'}path=path.replace(tokenMatch[0],"")}}while(!(modeMatch=path.match(modeRe))){matched=false;for(j=0;j<matchersLn;j++){t=matchers[j];m=path.match(t.re);if(m){fn[fn.length]=t.select.replace(tplRe,function(x,i){return m[i]});path=path.replace(m[0],"");matched=true;break}}if(!matched){Ext.raise({sourceClass:"Ext.DomQuery",sourceMethod:"compile",msg:'Error parsing selector. Parsing failed at "'+path+'"'})}}if(modeMatch[1]){fn[fn.length]='mode="'+modeMatch[1].replace(trimRe,"")+'";';path=path.replace(modeMatch[1],"")}}fn[fn.length]="return nodup(n);\n}";eval(fn.join(""));return f},jsSelect:function(path,root,type){root=root||doc;if(typeof root=="string"){root=doc.getElementById(root)}var paths=Ext.splitAndUnescape(path,","),results=[],query,i,len,subPath,result;for(i=0,len=paths.length;i<len;i++){subPath=paths[i].replace(trimRe,"");query=cache.get(subPath);if(!query){query=DQ.compile(subPath,type);if(!query){Ext.raise({sourceClass:"Ext.DomQuery",sourceMethod:"jsSelect",msg:subPath+" is not a valid selector"})}cache.add(subPath,query)}else{setupEscapes(subPath)}result=query(root);if(result&&result!==doc){results=results.concat(result)}}if(paths.length>1){return nodup(results)}return results},isXml:function(el){var docEl=(el?el.ownerDocument||el:0).documentElement;return docEl?docEl.nodeName!=="HTML":false},select:doc.querySelectorAll?function(path,root,type,single){root=root||doc;if(!DQ.isXml(root)){try{if(root.parentNode&&(root.nodeType!==9)&&path.indexOf(",")===-1&&!startIdRe.test(path)){path=Ext.makeIdSelector(Ext.id(root))+" "+path;root=root.parentNode}return single?[root.querySelector(path)]:Ext.Array.toArray(root.querySelectorAll(path))}catch(e){}}return DQ.jsSelect.call(this,path,root,type)}:function(path,root,type){return DQ.jsSelect.call(this,path,root,type)},selectNode:function(path,root){return Ext.DomQuery.select(path,root,null,true)[0]},selectValue:function(path,root,defaultValue){path=path.replace(trimRe,"");var query=valueCache.get(path),n,v;if(!query){query=DQ.compile(path,"select");valueCache.add(path,query)}else{setupEscapes(path)}n=query(root);return DQ.getNodeValue(n[0]||n,defaultValue)},getNodeValue:function(node,defaultValue){if(typeof node.normalize=="function"){node.normalize()}var firstChild=node&&node.firstChild,v=firstChild?firstChild.nodeValue:null;if(defaultValue!==undefined&&(v==null||v==="")){v=defaultValue}return v},selectNumber:function(path,root,defaultValue){var v=DQ.selectValue(path,root,defaultValue||0);return parseFloat(v)},is:function(el,ss){if(typeof el=="string"){el=doc.getElementById(el)}var isArray=Ext.isArray(el),result=DQ.filter(isArray?el:[el],ss);return isArray?(result.length==el.length):(result.length>0)},filter:function(els,ss,nonMatches){ss=ss.replace(trimRe,"");var query=simpleCache.get(ss),result;if(!query){query=DQ.compile(ss,"simple");simpleCache.add(ss,query)}else{setupEscapes(ss)}result=query(els);return nonMatches?quickDiff(result,els):result},matchers:[{re:/^\.([\w\-\\]+)/,select:useClassList?'n = byClassName(n, "{1}");':'n = byClassName(n, " {1} ");'},{re:/^\:([\w\-]+)(?:\(((?:[^\s>\/]*|.*?))\))?/,select:'n = byPseudo(n, "{1}", "{2}");'},{re:/^(?:([\[\{])(?:@)?([\w\-]+)\s?(?:(=|.=)\s?['"]?(.*?)["']?)?[\]\}])/,select:'n = byAttribute(n, "{2}", "{4}", "{3}", "{1}");'},{re:/^#([\w\-\\]+)/,select:'n = byId(n, "{1}");'},{re:/^@([\w\-\.]+)/,select:'return {firstChild:{nodeValue:attrValue(n, "{1}")}};'}],pseudos:{"first-child":function(c){var r=[],ri=-1,n,i,ci;for(i=0;(ci=n=c[i]);i++){while((n=n.previousSibling)&&n.nodeType!=1){}if(!n){r[++ri]=ci}}return r},"last-child":function(c){var r=[],ri=-1,n,i,ci;for(i=0;(ci=n=c[i]);i++){while((n=n.nextSibling)&&n.nodeType!=1){}if(!n){r[++ri]=ci}}return r},"nth-child":function(c,a){var r=[],ri=-1,m=nthRe.exec(a=="even"&&"2n"||a=="odd"&&"2n+1"||!nthRe2.test(a)&&"n+"+a||a),f=(m[1]||1)-0,l=m[2]-0,i,n,j,cn,pn;for(i=0;n=c[i];i++){pn=n.parentNode;if(batch!=pn._batch){j=0;for(cn=pn.firstChild;cn;cn=cn.nextSibling){if(cn.nodeType==1){cn.nodeIndex=++j}}pn._batch=batch}if(f==1){if(l===0||n.nodeIndex==l){r[++ri]=n}}else{if((n.nodeIndex+l)%f===0){r[++ri]=n}}}return r},"only-child":function(c){var r=[],ri=-1,i,ci;for(i=0;ci=c[i];i++){if(!prev(ci)&&!next(ci)){r[++ri]=ci}}return r},empty:function(c){var r=[],ri=-1,i,ci,cns,j,cn,empty;for(i=0;ci=c[i];i++){cns=ci.childNodes;j=0;empty=true;while(cn=cns[j]){++j;if(cn.nodeType==1||cn.nodeType==3){empty=false;break}}if(empty){r[++ri]=ci}}return r},contains:function(c,v){var r=[],ri=-1,i,ci;for(i=0;ci=c[i];i++){if((ci.textContent||ci.innerText||ci.text||"").indexOf(v)!=-1){r[++ri]=ci}}return r},nodeValue:function(c,v){var r=[],ri=-1,i,ci;for(i=0;ci=c[i];i++){if(ci.firstChild&&ci.firstChild.nodeValue==v){r[++ri]=ci}}return r},checked:function(c){var r=[],ri=-1,i,ci;for(i=0;ci=c[i];i++){if(ci.checked===true){r[++ri]=ci}}return r},not:function(c,ss){return DQ.filter(c,ss,true)},any:function(c,selectors){var ss=selectors.split("|"),r=[],ri=-1,s,i,ci,j;for(i=0;ci=c[i];i++){for(j=0;s=ss[j];j++){if(DQ.is(ci,s)){r[++ri]=ci;break}}}return r},odd:function(c){return this["nth-child"](c,"odd")},even:function(c){return this["nth-child"](c,"even")},nth:function(c,a){return c[a-1]||[]},first:function(c){return c[0]||[]},last:function(c){return c[c.length-1]||[]},has:function(c,ss){var s=DQ.select,r=[],ri=-1,i,ci;for(i=0;ci=c[i];i++){if(s(ss,ci).length>0){r[++ri]=ci}}return r},next:function(c,ss){var is=DQ.is,r=[],ri=-1,i,ci,n;for(i=0;ci=c[i];i++){n=next(ci);if(n&&is(n,ss)){r[++ri]=ci}}return r},prev:function(c,ss){var is=DQ.is,r=[],ri=-1,i,ci,n;for(i=0;ci=c[i];i++){n=prev(ci);if(n&&is(n,ss)){r[++ri]=ci}}return r},focusable:function(candidates){var len=candidates.length,results=[],i=0,c;for(;i<len;i++){c=candidates[i];if(Ext.fly(c,"_DomQuery").isFocusable()){results.push(c)}}return results},visible:function(candidates,deep){var len=candidates.length,results=[],i=0,c;for(;i<len;i++){c=candidates[i];if(Ext.fly(c,"_DomQuery").isVisible(deep)){results.push(c)}}return results},isScrolled:function(c){var r=[],ri=-1,i,ci,s;for(i=0;ci=c[i];i++){s=Ext.fly(ci,"_DomQuery").getScroll();if(s.top>0||s.left>0){r[++ri]=ci}}return r}}}},function(){this._init()});Ext.define("Ext.data.reader.Xml",{extend:Ext.data.reader.Reader,alternateClassName:"Ext.data.XmlReader",alias:"reader.xml",config:{record:"",namespace:""},createAccessor:function(a){if(Ext.isEmpty(a)){return Ext.emptyFn}if(Ext.isFunction(a)){return a}return function(b){return this.getNodeValue(Ext.DomQuery.selectNode(a,b))}},getNodeValue:function(a){if(a){if(typeof a.normalize==="function"){a.normalize()}a=a.firstChild;if(a){return a.nodeValue}}return undefined},getResponseData:function(a){var c=a.responseXML,b="XML data not found in the response";if(!c){Ext.Logger.warn(b);return this.createReadError(b)}return c},getData:function(a){return a.documentElement||a},getRoot:function(b){var c=b.nodeName,a=this.getRootProperty();if(!a||(c&&c==a)){return b}else{if(Ext.DomQuery.isXml(b)){return Ext.DomQuery.selectNode(a,b)}}},extractData:function(a,b){var c=this.getRecord();if(c!==a.nodeName){a=Ext.DomQuery.select(c,a)}else{a=[a]}return this.callParent([a,b])},readRecords:function(c,b,a){if(Ext.isArray(c)){c=c[0]}return this.callParent([c,b,a])},createFieldAccessor:function(e){var d=this,c=d.getNamespace(),b,a;b=e.mapping||((c?c+"|":"")+e.name);if(typeof b==="function"){a=function(g){return e.mapping(g,d)}}else{a=function(g){return d.getNodeValue(Ext.DomQuery.selectNode(b,g))}}return a},deprecated:{"5.1.1":{properties:{xmlData:null}}}});Ext.define("Ext.data.writer.Xml",{extend:Ext.data.writer.Writer,alternateClassName:"Ext.data.XmlWriter",alias:"writer.xml",config:{documentRoot:"xmlData",defaultDocumentRoot:"xmlData",header:"",record:"record"},selectorRe:/[^>\s]+/g,writeRecords:function(b,c){var j=this,g=[],d=0,h=c.length,l=j.getDocumentRoot(),k=j.getRecord(),e=k.match(this.selectorRe),m=e.length,n=c.length!==1&&m===1,a;a=this.getTransform();if(a){c=a(c,b)}g.push(j.getHeader()||"");if(!l&&n){l=j.getDefaultDocumentRoot()}if(l){g.push("<",l,">")}for(d=0;d<m-1;d++){g.push("<",e[d],">")}k=e[d];for(d=0;d<h;++d){this.objectToElement(k,c[d],g)}for(d=m-2;d>-1;d--){g.push("</",e[d],">")}if(l){g.push("</",l,">")}b.setXmlData(g.join(""));return b},objectToElement:function(b,e,g){var p,m,h=[],d,c,k,j,l,a,n;if(!g){g=[]}g.push("<",b);for(p in e){m=e[p];if(p[0]==="@"){g.push(" ",p.substr(1),'="',m,'"')}else{if(typeof m==="object"){this.objectToElement(p,m,h)}else{d=p.match(this.selectorRe);if((c=d.length)>1){l=l||{};for(j=l,k=0;k<c;k++){a=j;n=d[k];j=j[n]||(j[n]={})}a[n]=m}else{h.push("<",p,">",m,"</",p,">")}}}}g.push(">");g.push.apply(g,h);if(l){for(p in l){m=l[p];this.objectToElement(p,m,g)}}g.push("</",b,">");return g}});Ext.define("Ext.data.XmlStore",{extend:Ext.data.Store,alias:"store.xml",constructor:function(a){a=Ext.apply({proxy:{type:"ajax",reader:"xml",writer:"xml"}},a);this.callParent([a])}});Ext.define("Ext.data.identifier.Negative",{extend:Ext.data.identifier.Sequential,alias:"data.identifier.negative",config:{increment:-1,seed:-1}});Ext.define("Ext.data.identifier.Uuid",{extend:Ext.data.identifier.Generator,alias:"data.identifier.uuid",isUnique:true,config:{id:null},constructor:function(a){this.callParent([a]);this.reconfigure(a)},reconfigure:function(b){var a=this.self;this.generate=(b&&b.version===1)?a.createSequential(b.salt,b.timestamp,b.clockSeq):a.createRandom()},clone:null,statics:{createRandom:function(){var c="xxxxxxxx-xxxx-4xxx-Rxxx-xMxxxxxxxxxx".split(""),b="0123456789abcdef".split(""),a=c.length,d=[];return function(){for(var g,h,e=0;e<a;++e){h=c[e];if(h!=="-"&&h!=="4"){g=Math.random()*16;g=(h==="R")?(g&3|8):(g|((h==="M")?1:0));h=b[g]}d[e]=h}return d.join("")}},createSequential:function(h,b,e){var g=[],k=Math.pow(2,32),i=h.lo,c=h.hi,j=b.lo,d=b.hi,a=function(n,m){var l=n.toString(16).toLowerCase();if(l.length>m){l=l.substring(l.length-m)}else{if(l.length<m){l=Ext.String.leftPad(l,m,"0")}}return l};if(typeof h==="number"){c=Math.floor(h/k);i=Math.floor(h-c*k)}if(typeof b==="number"){d=Math.floor(b/k);j=Math.floor(b-d*k)}c|=256;g[3]=a(128|((e>>>8)&63),2)+a(e&255,2);g[4]=a(c,4)+a(i,8);return function(){g[0]=a(j,8);g[1]=a(d&65535,4);g[2]=a(((d>>>16)&4095)|(1<<12),4);++j;if(j>=k){j=0;++d}return g.join("-")}}}},function(){this.Global=new this({id:"uuid"})});Ext.define("Ext.data.proxy.WebStorage",{extend:Ext.data.proxy.Client,alternateClassName:"Ext.data.WebStorageProxy",config:{id:undefined},constructor:function(a){this.callParent(arguments);this.cache={};this.initialize()},create:function(e){var k=this,d=e.getRecords(),c=d.length,a=k.getIds(),b,h,g,j;if(k.isHierarchical===undefined){k.isHierarchical=!!d[0].isNode;if(k.isHierarchical){k.getStorageObject().setItem(k.getTreeKey(),true)}}for(g=0;g<c;g++){h=d[g];if(h.phantom){h.phantom=false;j=h.identifier;if(j&&j.isUnique){b=h.getId()}else{b=k.getNextId()}}else{b=h.getId()}k.setRecord(h,b);h.commit();a.push(b)}k.setIds(a);e.setSuccessful(true)},read:function(k){var v=this,u,r=[],d=true,h=v.getModel(),e=0,t=k.getRecordCreator(),g,a,s,n,m,b,o,c,w,l,q,p;if(v.isHierarchical){r=v.getTreeData()}else{o=v.getIds();c=o.length;l=k.getId();if(l){w=v.getRecord(l);if(w!==null){b=t?t(w,h):new h(w)}if(b){r.push(b)}else{d=false}}else{a=k.getSorters();g=k.getFilters();s=k.getLimit();u=[];for(q=0;q<c;q++){w=v.getRecord(o[q]);b=t?t(w,h):new h(w);u.push(b)}if(a){Ext.Array.sort(u,Ext.util.Sorter.createComparator(a))}for(q=k.getStart()||0;q<c;q++){b=u[q];m=true;if(g){for(p=0,n=g.length;p<n;p++){m=g[p].filter(b)}}if(m){r.push(b);e++}if(s&&e===s){break}}}}if(d){k.setResultSet(new Ext.data.ResultSet({records:r,total:r.length,loaded:true}));k.setSuccessful(true)}else{k.setException("Unable to load records")}},update:function(c){var b=c.getRecords(),g=b.length,e=this.getIds(),a,h,d;for(d=0;d<g;d++){a=b[d];this.setRecord(a);a.commit();h=a.getId();if(h!==undefined&&Ext.Array.indexOf(e,h)===-1){e.push(h)}}this.setIds(e);c.setSuccessful(true)},erase:function(d){var g=this,c=d.getRecords(),a=g.getIds(),h=a.length,k=[],j={},e=c.length,b;for(;e--;){Ext.apply(j,g.removeRecord(c[e]))}for(e=0;e<h;e++){b=a[e];if(!j[b]){k.push(b)}}g.setIds(k);d.setSuccessful(true)},getRecord:function(d){var b=this,a=b.cache,c=!a[d]?Ext.decode(b.getStorageObject().getItem(b.getRecordKey(d))):a[d];if(!c){return null}a[d]=c;c[b.getModel().prototype.idProperty]=d;return Ext.merge({},c)},setRecord:function(k,c){if(c){k.set("id",c,{commit:true})}else{c=k.getId()}var m=this,a=k.getData(),h={},j=m.getModel(),l=j.getFields(),d=l.length,g=0,n,b,e,p,o;for(;g<d;g++){n=l[g];b=n.name;if(n.persist){o=a[b];if(n.isDateField&&n.dateFormat&&Ext.isDate(o)){o=Ext.Date.format(o,n.dateFormat)}else{if(n.serialize){o=n.serialize(o,k)}}h[b]=o}}delete h[j.prototype.idProperty];if(k.isNode&&k.get("depth")===1){delete h.parentId}e=m.getStorageObject();p=m.getRecordKey(c);m.cache[c]=h;e.removeItem(p);e.setItem(p,Ext.encode(h))},removeRecord:function(a){var d=this,g=a.getId(),b={},c,e;b[g]=a;d.getStorageObject().removeItem(d.getRecordKey(g));delete d.cache[g];if(a.childNodes){e=a.childNodes;for(c=e.length;c--;){Ext.apply(b,d.removeRecord(e[c]))}}return b},getRecordKey:function(a){if(a.isModel){a=a.getId()}return Ext.String.format("{0}-{1}",this.getId(),a)},getRecordCounterKey:function(){return Ext.String.format("{0}-counter",this.getId())},getTreeKey:function(){return Ext.String.format("{0}-tree",this.getId())},getIds:function(){var e=this,c=(e.getStorageObject().getItem(e.getId())||"").split(","),d=c.length,a=this.getIdField().isStringField,b;if(d===1&&c[0]===""){c=[]}else{for(b=0;b<d;b++){c[b]=a?c[b]:+c[b]}}return c},getIdField:function(){return this.getModel().prototype.idField},setIds:function(a){var b=this.getStorageObject(),c=a.join(","),d=this.getId();b.removeItem(d);if(!Ext.isEmpty(c)){b.setItem(d,c)}},getNextId:function(){var c=this,d=c.getStorageObject(),b=c.getRecordCounterKey(),a=c.getIdField().isStringField,e;e=c.idGenerator.generate();d.setItem(b,e);if(a){e=e+""}return e},getTreeData:function(){var n=this,a=n.getIds(),e=a.length,j=[],b={},o=[],k=0,h=n.getModel(),q=h.prototype.idProperty,g,m,p,l,d,c;for(;k<e;k++){c=a[k];m=n.getRecord(c);j.push(m);b[c]=m;if(!m.parentId){o.push(m)}}g=o.length;Ext.Array.sort(j,n.sortByParentId);for(k=g;k<e;k++){m=j[k];l=m.parentId;if(!p||p[q]!==l){p=b[l];p.children=d=[]}d.push(m)}for(k=e;k--;){m=j[k];if(!m.children&&!m.leaf){m.loaded=true}}for(k=g;k--;){m=o[k];o[k]=new h(m)}return o},sortByParentId:function(b,a){return(b.parentId||0)-(a.parentId||0)},initialize:function(){var b=this,a=b.getStorageObject(),c=+a.getItem(b.getRecordCounterKey()),d=b.getId();a.setItem(d,a.getItem(d)||"");if(a.getItem(b.getTreeKey())){b.isHierarchical=true}b.idGenerator=new Ext.data.identifier.Sequential({seed:c?c+1:1})},clear:function(){var d=this,e=d.getStorageObject(),c=d.getIds(),a=c.length,b;for(b=0;b<a;b++){e.removeItem(d.getRecordKey(c[b]))}e.removeItem(d.getRecordCounterKey());e.removeItem(d.getTreeKey());e.removeItem(d.getId());d.cache={}},getStorageObject:function(){}});Ext.define("Ext.data.proxy.LocalStorage",{extend:Ext.data.proxy.WebStorage,alias:"proxy.localstorage",alternateClassName:"Ext.data.LocalStorageProxy",getStorageObject:function(){return window.localStorage}});Ext.define("Ext.data.proxy.Rest",{extend:Ext.data.proxy.Ajax,alternateClassName:"Ext.data.RestProxy",alias:"proxy.rest",defaultActionMethods:{create:"POST",read:"GET",update:"PUT",destroy:"DELETE"},slashRe:/\/$/,periodRe:/\.$/,config:{appendId:true,format:null,batchActions:false,actionMethods:{create:"POST",read:"GET",update:"PUT",destroy:"DELETE"}},buildUrl:function(g){var i=this,e=g.getOperation(),c=e.getRecords(),h=c?c[0]:null,j=i.getFormat(),a=i.getUrl(g),b,d;if(h&&!h.phantom){b=h.getId()}else{b=e.getId()}if(i.getAppendId()&&i.isValidId(b)){if(!a.match(i.slashRe)){a+="/"}a+=encodeURIComponent(b);d=g.getParams();if(d){delete d[i.getIdParam()]}}if(j){if(!a.match(i.periodRe)){a+="."}a+=j}g.setUrl(a);return i.callParent([g])},isValidId:function(a){return a||a===0}});Ext.define("Ext.data.proxy.SessionStorage",{extend:Ext.data.proxy.WebStorage,alias:"proxy.sessionstorage",alternateClassName:"Ext.data.SessionStorageProxy",getStorageObject:function(){return window.sessionStorage}});Ext.define("Ext.data.validator.Bound",{extend:Ext.data.validator.Validator,alias:"data.validator.bound",type:"bound",config:{min:undefined,max:undefined,emptyMessage:"Must be present",minOnlyMessage:null,maxOnlyMessage:null,bothOnlyMessage:null},constructor:function(){var a=this;a.preventConfigure=true;a.callParent(arguments);delete a.preventConfigure;a.configure()},setConfig:function(){var a=this;a.preventConfigure=true;a.callParent(arguments);delete a.preventConfigure;a.configure()},configure:function(){var d=this,b,e,c,a;if(d.preventConfigure){return}c=d.getMin();a=d.getMax();b=d.hasMin=c!==undefined;e=d.hasMax=a!==undefined;if(b&&e){d._bothMsg=Ext.String.format(d.getBothMessage(),c,a)}else{if(b){d._minMsg=Ext.String.format(d.getMinOnlyMessage(),c)}else{if(e){d._maxMsg=Ext.String.format(d.getMaxOnlyMessage(),a)}}}},updateMin:function(){this.configure()},updateMax:function(){this.configure()},updateMinOnlyMessage:function(a){this.configure()},updateMaxOnlyMessage:function(){this.configure()},updateBothMessage:function(){this.configure()},validate:function(g){var e=this,c=e.hasMin,i=e.hasMax,d=e.getMin(),b=e.getMax(),h=this.validateValue(g),a;if(h!==true){return h}g=e.getValue(g);if(c&&i){if(g<d||g>b){h=e._bothMsg}}else{if(c){if(g<d){h=e._minMsg}}else{if(i){if(g>b){h=e._maxMsg}}}}return h},validateValue:function(a){if(a===undefined||a===null){return this.getEmptyMessage()}return true},getValue:Ext.identityFn});Ext.define("Ext.data.validator.Format",{extend:Ext.data.validator.Validator,alias:"data.validator.format",type:"format",config:{message:"Is in the wrong format",matcher:undefined},validate:function(b){var c=this.getMatcher(),a=c&&c.test(b);return a?a:this.getMessage()}});Ext.define("Ext.data.validator.Email",{extend:Ext.data.validator.Format,alias:"data.validator.email",type:"email",config:{message:"Is not a valid email address",matcher:/^(")?(?:[^\."])(?:(?:[\.])?(?:[\w\-!#$%&'*+\/=?\^_`{|}~]))*\1@(\w[\-\w]*\.){1,5}([A-Za-z]){2,6}$/}});Ext.define("Ext.data.validator.List",{extend:Ext.data.validator.Validator,alias:"data.validator.list",type:"list",config:{list:null},inclusion:null,validate:function(c){var b=Ext.Array.contains(this.getList(),c),e=this.inclusion,d=!e,a;a=(e&&b)||(d&&!b);return a||this.getMessage()}});Ext.define("Ext.data.validator.Exclusion",{extend:Ext.data.validator.List,alias:"data.validator.exclusion",type:"exclusion",config:{message:"Is a value that has been excluded"},inclusion:false});Ext.define("Ext.data.validator.Inclusion",{extend:Ext.data.validator.List,alias:"data.validator.inclusion",type:"inclusion",config:{message:"Is not in the list of acceptable values"},inclusion:true});Ext.define("Ext.data.validator.Length",{extend:Ext.data.validator.Bound,alias:"data.validator.length",type:"length",config:{minOnlyMessage:"Length must be at least {0}",maxOnlyMessage:"Length must be no more than {0}",bothMessage:"Length must be between {0} and {1}"},getValue:function(a){return String(a).length}});Ext.define("Ext.data.validator.Presence",{extend:Ext.data.validator.Validator,alias:"data.validator.presence",type:"presence",config:{message:"Must be present",allowEmpty:false},validate:function(b){var a=!(b===undefined||b===null);if(a&&!this.getAllowEmpty()){a=!(b==="")}return a?true:this.getMessage()}});Ext.define("Ext.data.validator.Range",{extend:Ext.data.validator.Bound,alias:"data.validator.range",type:"range",config:{minOnlyMessage:"Must be must be at least {0}",maxOnlyMessage:"Must be no more than than {0}",bothMessage:"Must be between {0} and {1}",nanMessage:"Must be numeric"},validateValue:function(a){var b=this.callParent([a]);if(b===true&&isNaN(a)){b=this.getNanMessage()}return b}});Ext.define("Ext.direct.Event",{alias:"direct.event",status:true,constructor:function(a){Ext.apply(this,a)},getName:function(){return this.name},getData:function(){return this.data}});Ext.define("Ext.direct.RemotingEvent",{extend:Ext.direct.Event,alias:"direct.rpc",getTransaction:function(){var a=this;return a.transaction||Ext.direct.Manager.getTransaction(a.tid)}});Ext.define("Ext.direct.ExceptionEvent",{extend:Ext.direct.RemotingEvent,alias:"direct.exception",status:false});Ext.define("Ext.direct.JsonProvider",{extend:Ext.direct.Provider,alias:"direct.jsonprovider",parseResponse:function(a){var b=a&&a.responseText;if(b!=null){if(Ext.isObject(b)||Ext.isArray(b)){return b}return Ext.decode(b)}return null},createEvents:function(b){var h=this,j=null,d=[],g,c,a;try{j=h.parseResponse(b)}catch(k){g=new Ext.direct.ExceptionEvent({parsingError:true,data:k,xhr:b,code:Ext.direct.Manager.exceptions.PARSE,message:"Error parsing json response: \n\n "+k});return[g]}if(Ext.isArray(j)){for(c=0,a=j.length;c<a;++c){d.push(h.createEvent(j[c]))}}else{if(Ext.isObject(j)){d.push(h.createEvent(j))}}return d},createEvent:function(a){if(typeof a!=="object"||!("type" in a)){return new Ext.direct.ExceptionEvent({data:a,code:Ext.direct.Manager.exceptions.DATA,message:"Invalid data: event type is not specified"})}return Ext.create("direct."+a.type,a)}});Ext.define("Ext.util.TaskRunner",{interval:10,timerId:null,constructor:function(a){var b=this;if(typeof a=="number"){b.interval=a}else{if(a){Ext.apply(b,a)}}b.tasks=[];b.timerFn=Ext.Function.bind(b.onTick,b)},newTask:function(b){var a=new Ext.util.TaskRunner.Task(b);a.manager=this;return a},start:function(a){var c=this,b=Ext.Date.now();if(!a.pending){c.tasks.push(a);a.pending=true}a.stopped=false;a.taskStartTime=b;a.taskRunTime=a.fireOnStart!==false?0:a.taskStartTime;a.taskRunCount=0;if(!c.firing){if(a.fireOnStart!==false){c.startTimer(0,b)}else{c.startTimer(a.interval,b)}}return a},stop:function(a){if(!a.stopped){a.stopped=true;if(a.onStop){a.onStop.call(a.scope||a,a)}}return a},stopAll:function(){Ext.each(this.tasks,this.stop,this)},firing:false,nextExpires:1e+99,onTick:function(){var p=this,g=p.tasks,r=p.fireIdleEvent,a=Ext.Date.now(),q=1e+99,l=g.length,d=Ext.GlobalEvents,c,o,j,b,e,h,n;p.timerId=null;p.firing=true;for(j=0;j<l||j<(l=g.length);++j){b=g[j];if(!(h=b.stopped)){c=b.taskRunTime+b.interval;if(c<=a){e=1;if(b.hasOwnProperty("fireIdleEvent")){r=b.fireIdleEvent}else{r=p.fireIdleEvent}b.taskRunCount++;if(b.args){n=b.addCountToArgs?b.args.concat([b.taskRunCount]):b.args}else{n=[b.taskRunCount]}try{e=b.run.apply(b.scope||b,n)}catch(k){try{if(b.onError){e=b.onError.call(b.scope||b,b,k)}}catch(m){}}b.taskRunTime=a;if(e===false||b.taskRunCount===b.repeat){p.stop(b);h=true}else{h=b.stopped;c=a+b.interval}}if(!h&&b.duration&&b.duration<=(a-b.taskStartTime)){p.stop(b);h=true}}if(h){b.pending=false;if(!o){o=g.slice(0,j)}}else{if(o){o.push(b)}if(q>c){q=c}}}if(o){p.tasks=o}p.firing=false;if(p.tasks.length){p.startTimer(q-a,Ext.Date.now())}if(r!==false&&d.hasListeners.idle){d.fireEvent("idle")}},startTimer:function(e,c){var d=this,b=c+e,a=d.timerId;if(a&&d.nextExpires-b>d.interval){clearTimeout(a);a=null}if(!a){if(e<d.interval){e=d.interval}d.timerId=Ext.defer(d.timerFn,e);d.nextExpires=b}}},function(){var b=this,a=b.prototype;a.destroy=a.stopAll;b.Task=new Ext.Class({isTask:true,stopped:true,fireOnStart:false,constructor:function(c){Ext.apply(this,c)},restart:function(c){if(c!==undefined){this.interval=c}this.manager.start(this)},start:function(c){if(this.stopped){this.restart(c)}},stop:function(){this.manager.stop(this)}});a=b.Task.prototype;a.destroy=a.stop});Ext.define("Ext.direct.PollingProvider",{extend:Ext.direct.JsonProvider,alias:"direct.pollingprovider",type:"polling",interval:3000,constructor:function(a){var b=this;b.callParent([a]);b.pollTask=Ext.TaskManager.newTask({run:b.runPoll,interval:b.interval,scope:b})},destroy:function(){this.pollTask=null;this.callParent()},doConnect:function(){var c=this,a=c.url,b=c.pollFn;if(b&&Ext.isString(b)){c.pollFn=b=Ext.direct.Manager.parseMethod(b)}else{if(Ext.isFunction(a)){c.pollFn=b=a;c.url=a=null}}if(a||b){c.setInterval(c.interval);c.pollTask.start()}},doDisconnect:function(){if(this.pollTask){this.pollTask.stop()}},getInterval:function(){return this.pollTask&&this.pollTask.interval},setInterval:function(a){var b=this,c=b.pollTask;b.interval=c.interval=a;if(b.isConnected()){c.restart(a)}},runPoll:function(){var e=this,b=e.url,c=e.pollFn,g=e.baseParams,a,d;if(e.fireEvent("beforepoll",e)!==false){if(c){a=c.directCfg.method.getArgs({params:g!==undefined?g:{},callback:e.onPollFn,scope:e});c.apply(window,a)}else{d={url:b,callback:e.onData,scope:e,params:g,headers:e.getHeaders()};if(e.timeout!=null){d.timeout=e.timeout}e.sendAjaxRequest(d)}e.fireEvent("poll",e)}},onData:function(e,j,b){var h=this,d,a,c,g;if(j){c=h.createEvents(b);for(d=0,a=c.length;d<a;++d){g=c[d];h.fireEvent("data",h,g);if(!g.status){h.fireEvent("exception",h,g)}}}else{g=new Ext.direct.ExceptionEvent({data:null,code:Ext.direct.Manager.exceptions.TRANSPORT,message:"Unable to connect to the server.",xhr:b});h.fireEvent("data",h,g);h.fireEvent("exception",h,g)}h.callParent([e,j,b])},onPollFn:function(a,c,d,b){this.onData(null,d,{responseText:a})},inheritableStatics:{checkConfig:function(a){return a&&a.type==="polling"&&(a.url||a.pollFn)}}});Ext.define("Ext.direct.RemotingMethod",{constructor:function(c){var i=this,e=c.params,h=c.len,k=c.metadata,j={},a,g,b,d;i.name=c.name;i.disableBatching=c.batched!=null?!c.batched:false;if(c.formHandler){i.formHandler=c.formHandler}else{if(Ext.isNumeric(h)){i.len=h;i.ordered=true}else{i.named=true;i.strict=c.strict!==undefined?c.strict:true;i.params={};g=e&&e.length;for(b=0;b<g;b++){d=e[b];a=Ext.isObject(d)?d.name:d;i.params[a]=true}}}if(k){e=k.params;h=k.len;if(Ext.isNumeric(h)){j.ordered=true;j.len=h}else{if(Ext.isArray(e)){j.named=true;j.params={};for(b=0,g=e.length;b<g;b++){d=e[b];j.params[d]=true}j.strict=k.strict!==undefined?k.strict:true}}i.metadata=j}},getArgs:function(b){var h=this,c=b.params,j=b.paramOrder,l=b.paramsAsArray,k=b.metadata,m=b.options,g=[],a,d,e;if(h.ordered){if(h.len>0){if(j){a=b.paramsAsArray&&h.len===1&&(j.length>1||Ext.isArray(c));if(a){if(Ext.isArray(c)){for(d=0,e=c.length;d<e;d++){g.push(h.convertParams(c[d],j,j.length,true))}}else{g=h.convertParams(c,j,j.length,true)}if(!c.allowSingle||g.length>1){g=[g]}}else{g=h.convertParams(c,j,h.len,false)}}else{g.push(c)}}}else{g.push(c)}g.push(b.callback,b.scope||window);if(m||k){m=Ext.apply({},m);if(k){m.metadata=k}g.push(m)}return g},convertParams:function(h,b,e,j){var c=[],g,d,a;for(d=0,a=e;d<a;d++){g=b[d];c.push(h[g])}if(j){return c.length===0?undefined:c.length===1?c[0]:c}else{return c}},getCallData:function(g){var h=this,d=null,e=h.len,c=h.params,j=h.strict,b,k,l,a,m,i;if(h.ordered){k=g[e];l=g[e+1];m=g[e+2];if(e!==0){d=g.slice(0,e)}}else{if(h.formHandler){b=g[0];k=g[1];l=g[2];m=g[3]}else{d=Ext.apply({},g[0]);k=g[1];l=g[2];m=g[3];if(j){for(a in d){if(d.hasOwnProperty(a)&&!c[a]){delete d[a]}}}}}if(h.metadata&&m&&m.metadata){if(h.metadata.ordered){i=m.metadata.slice(0,h.metadata.len)}else{i=Ext.apply({},m.metadata);if(h.metadata.strict){for(a in i){if(i.hasOwnProperty(a)&&!h.metadata.params[a]){delete i[a]}}}}delete m.metadata}return{form:b,data:d,metadata:i,callback:k,scope:l,options:m}}});Ext.define("Ext.direct.Transaction",{alias:"direct.transaction",statics:{TRANSACTION_ID:0},constructor:function(a){var b=this;Ext.apply(b,a);b.id=b.tid=++b.self.TRANSACTION_ID;b.retryCount=0},send:function(){var a=this;a.provider.queueTransaction(a)},retry:function(){var a=this;a.retryCount++;a.send()},getProvider:function(){return this.provider}});Ext.define("Ext.direct.RemotingProvider",{extend:Ext.direct.JsonProvider,alias:"direct.remotingprovider",type:"remoting",enableBuffer:10,bufferLimit:Number.MAX_VALUE,maxRetries:1,constructor:function(a){var b=this;b.callParent([a]);b.namespace=(Ext.isString(b.namespace))?Ext.ns(b.namespace):b.namespace||Ext.global;b.callBuffer=[]},connect:function(){var a=this;a.callParent()},doConnect:function(){if(!this.apiCreated){this.initAPI();this.apiCreated=true}},getNamespace:function(b,e){var g,d,c,a;b=b||Ext.global;g=e.toString().split(".");for(c=0,a=g.length;c<a;c++){d=g[c];b=b[d];if(typeof b==="undefined"){return b}}return b},createNamespaces:function(b,e){var g,d,c,a;b=b||Ext.global;g=e.toString().split(".");for(c=0,a=g.length;c<a;c++){d=g[c];b[d]=b[d]||{};b=b[d]}return b},initAPI:function(){var k=this,g=k.actions,d=k.namespace,b=Ext.direct.Manager,e,m,c,h,j,a,l;for(e in g){if(g.hasOwnProperty(e)){if(k.disableNestedActions){m=d[e];if(!m){m=d[e]={}}}else{m=k.getNamespace(d,e);if(!m){m=k.createNamespaces(d,e)}}c=g[e];for(h=0,j=c.length;h<j;++h){a=new Ext.direct.RemotingMethod(c[h]);m[a.name]=l=k.createHandler(e,a);b.registerMethod(l.$name,l)}}}},createHandler:function(c,d){var b=this,a;a=function(){b.invokeFunction(c,d,Array.prototype.slice.call(arguments,0))};a.name=a.$name=c+"."+d.name;a.$directFn=true;a.directCfg=a.$directCfg={action:c,method:d};return a},invokeFunction:function(e,i,b){var d=this,g,c,a,h;g=d.configureTransaction(e,i,b);if(d.fireEvent("beforecall",d,g,i)!==false){Ext.direct.Manager.addTransaction(g);if(g.isForm){c=g.form;a=String(c.getAttribute("enctype")).toLowerCase()==="multipart/form-data";h={extTID:g.id,extAction:e,extMethod:i.name,extType:"rpc",extUpload:String(a)};if(g.metadata){h.extMetadata=Ext.JSON.encode(g.metadata)}Ext.apply(g,{form:c,isUpload:a,params:h})}d.queueTransaction(g);d.fireEvent("call",d,g,i)}},configureTransaction:function(g,i,c){var e,a,d,b,h;e=i.getCallData(c);a=e.callback;d=e.scope;b=e.options;a=a&&d?Ext.Function.bind(a,d):a;h=Ext.apply({},{provider:this,args:c,action:g,method:i.name,form:e.form,data:e.data,metadata:e.metadata,callbackOptions:b,callback:a,isForm:!!i.formHandler,disableBatching:i.disableBatching});if(b&&b.timeout!=null){h.timeout=b.timeout}return new Ext.direct.Transaction(h)},queueTransaction:function(d){var c=this,b=c.callBuffer,a=c.enableBuffer;if(d.isForm||a===false||d.disableBatching||d.timeout!=null){c.sendTransaction(d);return}b.push(d);if(a&&b.length<c.bufferLimit){if(!c.callTask){c.callTask=new Ext.util.DelayedTask(c.combineAndSend,c)}c.callTask.delay(Ext.isNumber(a)?a:10)}else{c.combineAndSend()}},combineAndSend:function(){var c=this,b=c.callBuffer,a=b.length;if(a>0){c.sendTransaction(a===1?b[0]:b);c.callBuffer=[]}},sendTransaction:function(a){var h=this,d,b,c,k=h.enableUrlEncode,j,e,g;d={url:h.url,callback:h.onData,scope:h,transaction:a,headers:h.getHeaders()};if(a.timeout!=null){d.timeout=a.timeout}else{if(h.timeout!=null){d.timeout=h.timeout}}if(a.isForm){Ext.apply(d,{params:a.params,form:a.form,isUpload:a.isUpload})}else{if(Ext.isArray(a)){b=[];for(e=0,g=a.length;e<g;++e){j=h.getPayload(a[e]);b.push(j)}}else{b=h.getPayload(a)}if(k){c={};c[Ext.isString(k)?k:"data"]=Ext.encode(b);d.params=c}else{d.jsonData=b}}return h.sendAjaxRequest(d)},getPayload:function(b){var a={action:b.action,method:b.method,data:b.data,type:"rpc",tid:b.id};if(b.metadata){a.metadata=b.metadata}return a},onData:function(l,j,c){var g=this,d,e,k,a,b,h;k=j&&g.createEvents(c);j=k&&k.length&&!k[0].parsingError;if(j){for(d=0,e=k.length;d<e;++d){a=k[d];g.fireEvent("data",g,a);b=g.getTransaction(a);if(b){if(g.fireEvent("beforecallback",g,a,b)!==false){g.runCallback(b,a,true)}Ext.direct.Manager.removeTransaction(b)}}}else{h=[].concat(l.transaction);a=k[0]||new Ext.direct.ExceptionEvent({data:null,transaction:b,code:Ext.direct.Manager.exceptions.TRANSPORT,message:"Unable to connect to the server.",xhr:c});for(d=0,e=h.length;d<e;++d){b=g.getTransaction(h[d]);if(b&&b.retryCount<g.maxRetries){b.retry()}else{g.fireEvent("data",g,a);g.fireEvent("exception",g,a);if(b&&g.fireEvent("beforecallback",g,a,b)!==false){g.runCallback(b,a,false)}Ext.direct.Manager.removeTransaction(b)}}}g.callParent([l,j,c])},getTransaction:function(a){return a&&a.tid?Ext.direct.Manager.getTransaction(a.tid):null},runCallback:function(g,c){var e=!!c.status,d=e?"success":"failure",h,b,a;if(g&&g.callback){h=g.callback;b=g.callbackOptions;a=typeof c.result!=="undefined"?c.result:c.data;if(Ext.isFunction(h)){h(a,c,e,b)}else{Ext.callback(h[d],h.scope,[a,c,e,b]);Ext.callback(h.callback,h.scope,[a,c,e,b])}}},inheritableStatics:{checkConfig:function(a){return a&&a.type==="remoting"&&a.url&&Ext.isArray(a.actions)}}});Ext.define("Ext.dom.Fly",{extend:Ext.dom.Element,alternateClassName:"Ext.dom.Element.Fly",validNodeTypes:{1:1,9:1,11:1},isFly:true,constructor:function(a){this.dom=a;this.el=this},attach:function(b){var a=this;if(!b){return a.detach()}a.dom=b;if(!Ext.cache[b.id]){a.getData().isSynchronized=false}return a},detach:function(){this.dom=null},addListener:null,removeListener:null},function(a){var b={},c;a.cache=b;Ext.fly=function(j,e){var h=null,g=Ext.fly,d,i;e=e||(g.caller&&g.caller.$name)||"_global";j=Ext.getDom(j);if(j){d=j.nodeType;if(a.prototype.validNodeTypes[d]||(!d&&(j.window==j))){h=Ext.cache[j.id];if(!h||h.dom!==j){h=b[e]||(b[e]=new a());h.dom=j;i=h.getData(true);if(i){i.isSynchronized=false}}}}return h};Ext.getDetachedBody=function(){if(!c){Ext.detachedBodyEl=c=new a(document.createElement("div"));c.isDetachedBody=true}return c}});Ext.define("Ext.dom.CompositeElementLite",{alternateClassName:["Ext.CompositeElementLite"],isComposite:true,isLite:true,statics:{importElementMethods:function(){var a=Ext.dom.Element,b=this.prototype;Ext.Object.each(a.prototype,function(c,d){if(typeof d==="function"&&!b[c]){b[c]=function(){return this.invoke(c,arguments)}}})}},constructor:function(b,a){if(a){this.elements=b||[]}else{this.elements=[];this.add(b)}},getElement:function(b){var a=this._fly||(this._fly=new Ext.dom.Fly());return a.attach(b)},transformElement:function(a){return Ext.getDom(a)},getCount:function(){return this.elements.length},add:function(c,a){var e=this.elements,b,d;if(!c){return this}if(typeof c=="string"){c=Ext.fly(a||document).query(c)}else{if(c.isComposite){c=c.elements}else{if(!Ext.isIterable(c)){c=[c]}}}for(b=0,d=c.length;b<d;++b){e.push(this.transformElement(c[b]))}return this},invoke:function(e,b){var h=this,j=h.elements,g=j.length,a,d,c;if(c!==0){a=(h.isLite?Ext.dom.Fly:Ext.dom.Element).prototype;for(c=0;c<g;c++){d=j[c];if(d){a[e].apply(h.getElement(d),b)}}}return h},item:function(b){var c=this.elements[b],a=null;if(c){a=this.getElement(c)}return a},slice:function(b,a){return Ext.Array.slice(this.elements,b,a)},each:function(g,d){var h=this,c=h.elements,a=c.length,b,j;for(b=0;b<a;b++){j=c[b];if(j){j=this.getElement(j);if(g.call(d||j,j,h,b)===false){break}}}return h},fill:function(a){var b=this;b.elements=[];b.add(a);return b},insert:function(b,a){Ext.Array.insert(this.elements,b,a)},filter:function(b){var h=this,c=h.elements,g=c.length,d=[],e=0,j=typeof b=="function",k,a;for(;e<g;e++){a=c[e];k=false;if(a){a=h.getElement(a);if(j){k=b.call(a,a,h,e)!==false}else{k=a.is(b)}if(k){d.push(h.transformElement(a))}}}h.elements=d;return h},indexOf:function(a){return Ext.Array.indexOf(this.elements,this.transformElement(a))},replaceElement:function(e,c,a){var b=!isNaN(e)?e:this.indexOf(e),g;if(b>-1){c=Ext.getDom(c);if(a){g=this.elements[b];g.parentNode.insertBefore(c,g);Ext.removeNode(g)}Ext.Array.splice(this.elements,b,1,c)}return this},clear:function(d){var c=this,b=c.elements,a=b.length-1;if(d){for(;a>=0;a--){Ext.removeNode(b[a])}}this.elements=[]},addElements:function(d,b){if(!d){return this}if(typeof d==="string"){d=Ext.dom.Element.selectorFunction(d,b)}var c=this.elements,a=d.length,g;for(g=0;g<a;g++){c.push(Ext.get(d[g]))}return this},first:function(){return this.item(0)},last:function(){return this.item(this.getCount()-1)},contains:function(a){return this.indexOf(a)!=-1},removeElement:function(e,i){e=[].concat(e);var d=this,g=d.elements,c=e.length,h,b,a;for(a=0;a<c;a++){h=e[a];if((b=(g[h]||g[h=d.indexOf(h)]))){if(i){if(b.dom){b.destroy()}else{Ext.removeNode(b)}}Ext.Array.erase(g,h,1)}}return d},destroy:function(){return this.invoke("destroy",arguments);this.callParent()}},function(b){var a=b.prototype;b.importElementMethods();a.on=a.addListener});Ext.define("Ext.dom.CompositeElement",{alternateClassName:"Ext.CompositeElement",extend:Ext.dom.CompositeElementLite,isLite:false,getElement:function(a){return a},transformElement:function(a){return Ext.get(a)}});Ext.define("Ext.dom.GarbageCollector",{singleton:true,interval:30000,constructor:function(){var a=this;a.lastTime=Ext.now();a.onTick=a.onTick.bind(a);a.resume()},collect:function(){var j=this,a=Ext.cache,b,g,c,k,h,d;for(b in a){if(!a.hasOwnProperty(b)){continue}c=a[b];if(c.skipGarbageCollection){continue}g=c.dom;try{h=Ext.isGarbage(g)}catch(i){delete a[b];continue}if(h){if(c&&c.dom){c.collect()}}}if(Ext.isIE9m){k={};for(b in a){if(a.hasOwnProperty(b)){k[b]=a[b]}}Ext.cache=Ext.dom.Element.cache=k}j.lastTime=Ext.now()},onTick:function(){this.timerId=null;if(Ext.enableGarbageCollector){this.collect()}this.resume()},pause:function(){var a=this.timerId;if(a){this.timerId=null;clearTimeout(a)}},resume:function(){var a=this,b=a.lastTime;if(Ext.enableGarbageCollector&&(Ext.now()-b)>a.interval){a.collect()}if(!a.timerId){a.timerId=Ext.defer(a.onTick,a.interval)}}});Ext.define("Ext.dom.TouchAction",{singleton:true,lastTouchStartTime:0,minMoveDistance:8,spaceRe:/\s+/,preventSingle:null,preventMulti:null,disabledOverflowDom:null,panXCls:Ext.baseCSSPrefix+"touch-action-pan-x",panYCls:Ext.baseCSSPrefix+"touch-action-pan-y",cssValues:["none","pan-x","pan-y","pan-x pan-y","pinch-zoom","pan-x pinch-zoom","pan-y pinch-zoom","manipulation","double-tap-zoom","pan-x double-tap-zoom","pan-y double-tap-zoom","pan-x pan-y double-tap-zoom","pinch-zoom double-tap-zoom","pan-x pinch-zoom double-tap-zoom","pan-y pinch-zoom double-tap-zoom",""],objectValues:[{panX:false,panY:false,pinchZoom:false,doubleTapZoom:false},{panX:true,panY:false,pinchZoom:false,doubleTapZoom:false},{panX:false,panY:true,pinchZoom:false,doubleTapZoom:false},{panX:true,panY:true,pinchZoom:false,doubleTapZoom:false},{panX:false,panY:false,pinchZoom:true,doubleTapZoom:false},{panX:true,panY:false,pinchZoom:true,doubleTapZoom:false},{panX:false,panY:true,pinchZoom:true,doubleTapZoom:false},{panX:true,panY:true,pinchZoom:true,doubleTapZoom:false},{panX:false,panY:false,pinchZoom:false,doubleTapZoom:true},{panX:true,panY:false,pinchZoom:false,doubleTapZoom:true},{panX:false,panY:true,pinchZoom:false,doubleTapZoom:true},{panX:true,panY:true,pinchZoom:false,doubleTapZoom:true},{panX:false,panY:false,pinchZoom:true,doubleTapZoom:true},{panX:true,panY:false,pinchZoom:true,doubleTapZoom:true},{panX:false,panY:true,pinchZoom:true,doubleTapZoom:true},{panX:true,panY:true,pinchZoom:true,doubleTapZoom:true}],attributeName:"data-extTouchAction",constructor:function(){var b=this,a=Ext.supports;if(a.PointerEvents){b.cssProp="touch-action"}else{if(a.MSPointerEvents){b.cssProp="-ms-touch-action"}else{if(a.TouchEvents){Ext.getWin().on({touchstart:"onTouchStart",touchmove:"onTouchMove",touchend:"onTouchEnd",scope:b,translate:false,capture:true,priority:5000});Ext.on({scroll:"onScroll",scope:b,destroyable:true})}}}},containsTargets:function(h,g){var b=true,d=g.type==="touchend"?g.changedTouches:g.touches,a,c;for(a=0,c=d.length;a<c;a++){if(!h.contains(d[a].target)){b=false;break}}return b},disableOverflow:function(e,c){var d=this,g=c?"overflow-y":"overflow-x",a,b;if(!d.disabledOverflowDom&&!Ext.isiOS&&!Ext.getScrollbarSize().width){d.disabledOverflowDom=e;b=c?d.panXCls:d.panYCls;while(e){a=Ext.fly(e).getStyle(g);if(a==="auto"||a==="scroll"){Ext.fly(e).addCls(b)}e=e.parentNode}}},get:function(c){var a=c.getAttribute(this.attributeName),b=null;if(a!=null){b=this.objectValues[a]}return b},getFlags:function(b){var a;if(typeof b==="number"){a=b}else{a=0;if(b.panX!==false){a|=1}if(b.panY!==false){a|=2}if(b.pinchZoom!==false){a|=4}if(b.doubleTapZoom!==false){a|=8}}return a},lookupFlags:function(a){return a.getAttribute&&a.getAttribute(this.attributeName)},onScroll:function(){this.scrollOccurred=true;this.isDoubleTap=false},onTouchEnd:function(g){var d=this,h=g.target,a,b,c;a=g.touches.length;if(a===0){if(d.isDoubleTap){while(h){b=d.lookupFlags(h);if(b!=null){c=b&8;if(!c){g.preventDefault()}}h=h.parentNode}}d.isDoubleTap=false;d.preventSingle=null;d.preventMulti=null;d.resetOverflow()}},onTouchMove:function(l){var m=this,o=null,j=l.target,c,n,q,p,r,b,g,a,i,h,k,d;k=m.preventSingle;d=m.preventMulti;n=l.touches.length;if((n===1&&(k===false))||(d===false)){return}if((n>1&&(d===true))||(n===1&&(k===true))){o=true}else{while(j){c=m.lookupFlags(j);if(c!=null){if(!c){o=true}else{if(n===1){q=!!(c&1);p=!!(c&2);if(q&&p){o=false}else{if(!q&&!p){o=true}else{r=l.getPoint();b=m.startPoint;g=Ext.Element.getViewportScale();a=Math.abs(r.getDistanceTo(m.startPoint)*g);if(a>=m.minMoveDistance){i=Math.abs(r.x-b.x);h=Math.abs(r.y-b.y);o=!!((q&&(h>i))||(p&&(i>h)))}}}}else{if(m.containsTargets(j,l)){o=!(c&4)}else{o=false}}}if(o){break}}j=j.parentNode}}if(n===1){m.preventSingle=o}else{if(n>1){m.preventMulti=o}}if(o){l.preventDefault()}},onTouchStart:function(h){var d=this,g,c,i,b,a;if(h.touches.length===1){g=h.time;if(!d.scrollOccurred&&((g-d.lastTouchStartTime)<=500)){d.isDoubleTap=true}d.lastTouchStartTime=g;d.scrollOccurred=false;d.startPoint=h.getPoint();i=h.target;while(i){c=d.lookupFlags(i);if(c!=null){b=!!(c&1);a=!!(c&2);if(b!==a){d.disableOverflow(i,b);break}}i=i.parentNode}}else{d.isDoubleTap=false}},resetOverflow:function(){var a=this,b=a.disabledOverflowDom;while(b){Ext.fly(b).removeCls([a.panXCls,a.panYCls]);b=b.parentNode}a.disabledOverflowDom=null},set:function(g,e){var d=this,c=d.cssProp,a=d.getFlags(e),b=d.attributeName;if(c){Ext.fly(g).setStyle(c,d.cssValues[a])}if(a===15){g.removeAttribute(b)}else{g.setAttribute(b,a)}}});Ext.define("Ext.drag.Constraint",{alias:"drag.constraint.base",mixins:[Ext.mixin.Factoryable],factoryConfig:{defaultType:"base",type:"drag.constraint"},config:{element:null,horizontal:false,region:null,snap:null,source:null,vertical:false,x:null,y:null},constructor:function(a){this.initConfig(a)},applyElement:function(a){if(a){if(typeof a==="boolean"){a=this.getSource().getElement().parent()}else{a=Ext.get(a)}}return a||null},applySnap:function(a){if(typeof a==="number"){a={x:a,y:a}}return a},constrain:function(m,a){var h=this,k=m[0],j=m[1],l=h.constrainInfo,g=l.initial,d=l.x,c=l.y,b=l.snap,e,i;if(!l.vertical){if(b&&b.x){if(b.xFn){k=b.x.call(h,a,k)}else{k=h.doSnap(k,g.x,b.x)}}if(d){e=d[0];i=d[1];if(e!==null&&k<e){k=e}if(i!==null&&k>i){k=i}}}else{k=g.x}if(!l.horizontal){if(b&&b.y){if(b.yFn){j=b.y.call(h,a,j)}else{j=h.doSnap(j,g.y,b.y)}}if(c){e=c[0];i=c[1];if(e!==null&&j<e){j=e}if(i!==null&&j>i){j=i}}}else{j=g.y}return[k,j]},destroy:function(){this.setSource(null);this.setElement(null);this.callParent()},privates:{constrainValue:function(d,c,i){var h=null,g=d===null,e=c===null;if(!(g&&e)){if(g){h=c}else{if(e){h=d}else{h=i(d,c)}}}return h},doSnap:function(b,c,a){if(!a){return b}var d=(b-c)/a,e=Math.floor(d);if(d-e<=0.5){d=e}else{d=e+1}return c+(a*d)},onDragStart:function(n){var t=this,l=t.getSnap(),a=t.getVertical(),q=t.getHorizontal(),b=t.getElement(),d=t.getRegion(),m=n.proxy,i=m.element,k=t.getX(),j=t.getY(),s=null,r=null,p=null,o=null,h=null,g=null,e=null,c=null;if(b){d=b.getRegion(true)}if(d){if(!a){h=d.left;g=d.right-(i?m.width:0)}if(!q){e=d.top;c=d.bottom-(i?m.height:0)}}if(!a&&(d||k)){if(k){s=k[0];r=k[1]}if(s!==null||r!==null||h!==null||g!==null){s=t.constrainValue(s,h,Math.max);r=t.constrainValue(r,g,Math.min);k=[s,r]}}if(!q&&(d||j)){if(j){p=j[0];o=j[1]}if(p!==null||o!==null||e!==null||c!==null){p=t.constrainValue(p,e,Math.max);o=t.constrainValue(o,c,Math.min);j=[p,o]}}if(l){l={x:l.x,xFn:typeof l.x==="function",y:l.y,yFn:typeof l.y==="function"}}t.constrainInfo={initial:n.element.initial,vertical:t.getVertical(),horizontal:t.getHorizontal(),x:k,y:j,snap:l}}}});Ext.define("Ext.drag.Info",{constructor:function(a,h){if(!a){return}var j=this,m=h.getXY(),g=m[0],d=m[1],b,l,k,c,i;j.source=a;b=a.getElement();m=b.getXY();l=m[0];k=m[1];j.eventTarget=h.target;j.cursor={current:{x:g,y:d},delta:{x:0,y:0},initial:{x:g,y:d},offset:{x:g-l,y:d-k}};j.element={current:{x:l,y:k},delta:{x:0,y:0},initial:{x:l,y:k}};j.proxy={current:{x:l,y:k},delta:{x:0,y:0},initial:{x:l,y:k},element:b,isUnderCursor:false,isElement:true};j.types=[];j.data={};a.describe(j);c=a.getProxy().getElement(j);i=j.proxy;i.isElement=c===a.getElement();i.element=c;if(c){i.width=c.getWidth();i.height=c.getHeight()}if(i.isElement){b=j.element;b.current=i.current;b.delta=i.delta}j.needsCursorCheck=i.element&&a.manager&&a.manager.pointerBug},cursor:null,element:null,eventTarget:null,files:null,isNative:false,proxy:null,source:null,target:null,types:null,valid:false,clearData:function(a){Ext.Array.remove(this.types,a);delete this.data[a]},clone:function(){var b=this,a=new Ext.drag.Info();a.cursor=Ext.merge({},b.cursor);a.data=Ext.apply({},b.data);a.element=Ext.merge({},b.element);a.eventTarget=b.eventTarget;a.proxy=Ext.merge({},b.proxy);a.source=b.source;a.target=b.target;a.types=Ext.Array.clone(b.types);a.valid=b.valid;return a},getData:function(b){var d=this,e=d.data,c=d.dataTransfer,a;if(c){a=c.getData(b)}else{a=e[b];if(typeof a==="function"){e[b]=a=a.call(d.source,d)}if(!a&&a!==0){a=""}}return Ext.Promise.resolve(a)},setData:function(a,b){Ext.Array.include(this.types,a);this.data[a]=b},destroy:function(){var a=this;a.eventTarget=a.data=a.proxy=a.targetMap=a.targetMap=a.types=a.elementMap=a.possibleTargets=a.target=null;a.callParent()},privates:{data:null,dataTransfer:null,elementMap:null,possibleTargets:null,targetMap:null,copyNativeData:function(c,b){var a=b.browserEvent.dataTransfer;this.target=c;this.dataTransfer=a;this.files=a.files},finalize:function(){var b=this,d=b.target,c=b.source,a;b.finalized=true;if(d){d.info=null;d.handleDrop(b)}},getAlignXY:function(i,g){var e=this,a=e.source,b=e.cursor.offset,d=a.getProxy(),c=e.proxy.element,h=a.getConstrain(),j=[i,g];if(c){if(e.proxy.isElement){j[0]-=b.x;j[1]-=b.y}else{j=d.adjustCursorOffset(e,j)}if(h){j=h.constrain(j,e)}}return j},onNativeDragEnter:function(c,b){var a=this;a.valid=c.accepts(a);c.info=a;a.copyNativeData(c,b)},onNativeDragLeave:function(c,b){var a=this;if(a.target===c){c.info=null;a.valid=false;a.target=a.dataTransfer=a.files=null}},onNativeDragMove:function(b,a){this.copyNativeData(b,a)},onNativeDrop:function(b,a){this.copyNativeData(b,a);b.info=null},setActive:function(d){var a=this,b=a.source,c=a.target,e=c!==d;if(c&&e){c.handleDragLeave(a);c.info=null}a.target=d;if(d){if(e){a.valid=!!a.possibleTargets[d.getId()]&&d.accepts(a)!==false;d.handleDragEnter(a);d.info=a}d.handleDragMove(a)}else{a.valid=false}if(e){b.getProxy().update(a)}},update:function(i,m){var k=this,q=i.getXY(),n=q[0],l=q[1],a=k.getAlignXY(n,l),d=a[0],b=a[1],j=k.proxy,p=k.cursor,h=p.current,o=p.delta,g=p.initial,c=j.element;h.x=n;h.y=l;o.x=n-g.x;o.y=l-g.y;h=j.current;o=j.delta;g=j.initial;h.x=d;h.y=b;o.x=d-g.x;o.y=b-g.y;if(k.needsCursorCheck){j.isUnderCursor=!(n<d||l<b||n>j.width+d||l>j.height+b)}if(!m&&c){c.setXY(a)}}}});Ext.define("Ext.drag.Item",{mixins:[Ext.mixin.Observable,Ext.mixin.Identifiable],config:{autoDestroy:true,element:null,groups:null},constructor:function(a){this.mixins.observable.constructor.call(this,a)},isDisabled:function(){return this.disabled},disable:function(){this.disabled=true},enable:function(){this.disabled=false},applyElement:function(a){return a?Ext.get(a):null},updateElement:function(a){this.setupListeners()},applyGroups:function(a){if(typeof a==="string"){a=[a]}return a},destroy:function(){var b=this,a=b.getElement();b.destroying=true;b.setElement(null);if(a&&b.getAutoDestroy()){a.destroy()}b.callParent();b.destroying=false},privates:{disabled:false,getElListeners:Ext.privateFn,setupListeners:function(a){var b=this,c=b.elListeners;a=a||b.getElement();if(c){c.destroy();b.elListeners=null}if(a){b.elListeners=a.on(Ext.apply({scope:b,destroyable:true},b.getElListeners()))}}}});Ext.define("Ext.drag.Manager",{singleton:true,dragCls:Ext.baseCSSPrefix+"drag-body",pointerBug:Ext.isTouch||(!Ext.supports.CSSPointerEvents||Ext.isIE10m||Ext.isOpera),constructor:function(){this.targets={};this.nativeTargets=[];Ext.onReady(this.init,this)},init:function(){Ext.getDoc().on({scope:this,dragenter:{capture:true,fn:"onNativeDragEnter"},dragleave:"onNativeDragLeave",dragover:"onNativeDragOver",drop:"onNativeDrop"})},destroy:function(){var c=this,a=c.targets,b;c.destroying=true;for(b in a){a[b].destroy()}c.targets=null;c.callParent();c.destroying=false},privates:{elementFromPoint:function(a,b){if(Ext.rootInheritedState.rtl){a=Ext.Element.getViewportWidth()-a}return Ext.dom.Element.fromPagePoint(a,b,true)},getAtPoint:function(h){var g=h.cursor.current,b=h.elementMap,d=h.proxy.isUnderCursor,a=this.pointerBug&&d?h.proxy.element.dom:null,e,c;if(a){a.style.visibility="hidden"}c=this.elementFromPoint(g.x,g.y);if(a){a.style.visibility="visible"}while(c){e=b[c.id];if(e){return e}c=c.parentNode}return null},getNativeDragInfo:function(b){var a=this.nativeDragInfo;if(!a){this.nativeDragInfo=a=new Ext.drag.Info();a.isNative=true}return a},onDragCancel:function(){Ext.getBody().removeCls(this.dragCls)},onDragEnd:function(b,a){b.finalize();Ext.getBody().removeCls(this.dragCls)},onDragMove:function(b,a){this.processDrag(b)},onDragStart:function(g,p){var q=this,a=g.source,n=q.targets,h=a.getGroups(),j={},c={},m={},b,o,r,d,s,l,k;m={};c={};if(h){d=Ext.Array.toMap(h)}for(b in n){o=n[b];if(!o.isDisabled()){s=false;r=o.getGroups();if(!d&&!r){s=true}else{if(d&&r){for(k=0,l=r.length;k<l;++k){if(d[r[k]]){s=true;break}}}}if(s){c[b]=o}}j[b]=o;m[o.getElement().id]=o}g.possibleTargets=c;g.targetMap=j;g.elementMap=m;Ext.getBody().addCls(q.dragCls);q.processDrag(g)},onNativeDragEnter:function(c){var a=this.nativeTargets,b=c.target;c.preventDefault();if(a[a.length-1]!==b){a.push(b)}},onNativeDragLeave:function(b){var a=this.nativeTargets;Ext.Array.remove(a,b.target);if(a.length===0){this.nativeDragInfo=null}},onNativeDragOver:function(a){a.preventDefault()},onNativeDrop:function(a){a.preventDefault();this.nativeTargets.length=0;this.nativeDragInfo=null},processDrag:function(a){a.setActive(this.getAtPoint(a))},register:function(a){this.targets[a.getId()]=a},unregister:function(a){if(this.destroying){return}delete this.targets[a.getId()]}}});Ext.define("Ext.drag.Source",{extend:Ext.drag.Item,defaultIdPrefix:"source-",config:{activateOnLongPress:false,activeCls:null,constrain:null,handle:null,proxy:"original",revert:false},dragging:false,constructor:function(a){var b=a&&a.describe;if(b){this.describe=b;a=Ext.apply({},a);delete a.describe}this.callParent([a]);this.manager=Ext.drag.Manager},describe:Ext.emptyFn,isDragging:function(){return this.dragging},beforeDragStart:Ext.emptyFn,onDragCancel:Ext.emptyFn,onDragEnd:Ext.emptyFn,onDragMove:Ext.emptyFn,onDragStart:Ext.emptyFn,applyActivateOnLongPress:function(a){if(typeof a==="string"){a=[a]}return a},updateActivateOnLongPress:function(a){if(!this.isConfiguring){this.setupListeners()}},updateActiveCls:function(a,b){if(this.dragging){if(b){this.getElement().removeCls(b)}if(a){this.getElement().addCls(a)}}},applyConstrain:function(a){if(a&&!a.$isClass){if(a.isRegion){a={region:a}}else{if(a.isElement||!Ext.isObject(a)){a={element:a}}}a=Ext.apply({source:this},a);a=Ext.Factory.dragConstraint(a)}return a},updateElement:function(b,a){if(b&&!this.getHandle()){b.setTouchAction({panX:false,panY:false})}this.callParent([b,a])},updateHandle:function(){if(!this.isConfiguring){this.setupListeners()}},applyProxy:function(a){if(a){a=Ext.Factory.dragproxy(a)}return a},updateProxy:function(b,a){if(a){a.destroy()}if(b){b.setSource(this)}},destroy:function(){var a=this;a.manager=a.initialEvent=null;a.setConstrain(null);a.setProxy(null);a.callParent()},privates:{draggingCls:Ext.baseCSSPrefix+"drag-dragging",info:null,revertCls:Ext.baseCSSPrefix+"drag-revert",canActivateOnLongPress:function(b){var a=this.getActivateOnLongPress();return !!(a&&(a===true||Ext.Array.contains(a,b.pointerType)))},dragCleanup:function(g){var e=this,b=e.getActiveCls(),c=e.getProxy(),d=e.getElement(),a=g?g.proxy.element:null;if(b){d.removeCls(b)}if(a){a.removeCls(e.draggingCls)}c.cleanup(g);e.dragging=false;e.initialEvent=e.info=null},getElListeners:function(){var b={touchstart:"handleTouchStart",dragstart:"handleDragStart",drag:"handleDragMove",dragend:"handleDragEnd",dragcancel:"handleDragCancel"},a=this.getHandle();if(a){b.delegate=a}if(this.getActivateOnLongPress()){b.longpress="handleLongPress"}return b},handleDragCancel:function(d){var b=this,c=b.info,a=b.manager;if(a){a.onDragCancel(c,d)}b.onDragCancel(c);if(b.hasListeners.dragcancel){b.fireEvent("dragcancel",b,c,d)}Ext.fireEvent("dragcancel",b,c,d);b.dragCleanup(c)},handleDragEnd:function(i){if(!this.dragging){return}var g=this,d=g.manager,b=g.getRevert(),h=g.info,c=h.proxy.initial,a=g.info.proxy.element;h.update(i);if(d){d.onDragEnd(h,i)}g.onDragEnd(h);if(g.hasListeners.dragend){g.fireEvent("dragend",g,h,i)}Ext.fireEvent("dragend",g,h,i);if(b&&a){a.addCls(g.revertCls);a.setXY([c.x,c.y],Ext.apply({callback:function(){a.removeCls(g.revertCls);g.dragCleanup(h)}},b))}else{g.dragCleanup(h)}},handleDragMove:function(d){var b=this,c=b.info,a=b.manager;if(!b.dragging){return}d.stopPropagation();d.claimGesture();c.update(d);if(a){a.onDragMove(c,d)}b.onDragMove(c);if(b.hasListeners.dragmove){b.fireEvent("dragmove",b,c,d)}},handleDragStart:function(h){var j=this,i=j.hasListeners,g=j.manager,k=j.getConstrain(),a=j.initialEvent,b,m,c,l,d;if(j.preventStart(h)){return false}j.info=c=new Ext.drag.Info(j,a);j.setup(c);if(k){k.onDragStart(c)}c.update(h,true);l=j.beforeDragStart(c)===false;if(!l&&i.beforedragstart){l=j.fireEvent("beforedragstart",j,c,h)===false}if(l){j.dragCleanup();return false}h.claimGesture();j.dragging=true;m=j.getActiveCls();b=j.getElement();if(m){b.addCls(m)}d=c.proxy.element;if(d){d.addCls(j.draggingCls)}c.update(h);if(g){g.onDragStart(c,h)}j.onDragStart(c);if(i.dragstart){j.fireEvent("dragstart",j,c,h)}Ext.fireEvent("dragstart",j,c,h)},handleLongPress:function(a){if(!this.isDisabled()&&this.canActivateOnLongPress(a)){this.initialEvent=a;a.startDrag()}},handleTouchStart:function(a){if(!this.isDisabled()){this.initialEvent=a}},preventStart:function(a){return this.isDisabled()||(!a.longpress&&this.canActivateOnLongPress(a))},setup:Ext.privateFn}});Ext.define("Ext.drag.Target",{extend:Ext.drag.Item,defaultIdPrefix:"target-",config:{invalidCls:"",validCls:""},constructor:function(a){var c=this,b=a&&a.accepts;if(b){c.accepts=b;a=Ext.apply({},a);delete a.accepts}c.callParent([a]);Ext.drag.Manager.register(c)},accepts:function(a){return true},disable:function(){this.callParent();this.setupListeners(null)},enable:function(){this.callParent();this.setupListeners()},beforeDrop:Ext.emptyFn,onDrop:Ext.emptyFn,onDragEnter:Ext.emptyFn,onDragLeave:Ext.emptyFn,onDragMove:Ext.emptyFn,updateInvalidCls:function(a,b){var c=this.info;this.doUpdateCls(c&&!c.valid,a,b)},updateValidCls:function(a,b){var c=this.info;this.doUpdateCls(c&&c.valid,a,b)},destroy:function(){Ext.drag.Manager.unregister(this);this.callParent()},privates:{doUpdateCls:function(d,a,c){var b=this.getElement();if(c){b.removeCls(c)}if(a&&d){b.addCls(a)}},getElListeners:function(){return{dragenter:"handleNativeDragEnter",dragleave:"handleNativeDragLeave",dragover:"handleNativeDragMove",drop:"handleNativeDrop"}},handleDrop:function(d){var c=this,a=c.hasListeners,b=d.valid;c.getElement().removeCls([c.getInvalidCls(),c.getValidCls()]);if(b&&c.beforeDrop(d)!==false){if(a.beforedrop&&c.fireEvent("beforedrop",c,d)===false){return false}c.onDrop(d);if(a.drop){c.fireEvent("drop",c,d)}}else{return false}},handleDragEnter:function(c){var b=this,a=c.valid?b.getValidCls():b.getInvalidCls();if(a){b.getElement().addCls(a)}b.onDragEnter(c);if(b.hasListeners.dragenter){b.fireEvent("dragenter",b,c)}},handleDragLeave:function(b){var a=this;a.getElement().removeCls([a.getInvalidCls(),a.getValidCls()]);a.onDragLeave(b);if(a.hasListeners.dragleave){a.fireEvent("dragleave",a,b)}},handleDragMove:function(b){var a=this;a.onDragMove(b);if(a.hasListeners.dragmove){a.fireEvent("dragmove",a,b)}},handleNativeDragEnter:function(c){var a=this,b=Ext.drag.Manager.getNativeDragInfo(c);b.onNativeDragEnter(a,c);if(a.hasListeners.dragenter){a.fireEvent("dragenter",a,b)}},handleNativeDragLeave:function(c){var a=this,b=Ext.drag.Manager.getNativeDragInfo(c);b.onNativeDragLeave(a,c);if(a.hasListeners.dragleave){a.fireEvent("dragleave",a,b)}},handleNativeDragMove:function(c){var a=this,b=Ext.drag.Manager.getNativeDragInfo(c);b.onNativeDragMove(a,c);if(a.hasListeners.dragmove){a.fireEvent("dragmove",a,b)}},handleNativeDrop:function(g){var c=this,a=c.hasListeners,d=Ext.drag.Manager.getNativeDragInfo(g),b=d.valid;d.onNativeDrop(c,g);if(b){if(a.beforedrop&&c.fireEvent("beforedrop",c,d)===false){return}if(a.drop){c.fireEvent("drop",c,d)}}}}});Ext.define("Ext.drag.proxy.None",{mixins:[Ext.mixin.Factoryable],alias:"drag.proxy.none",factoryConfig:{aliasPrefix:"drag.proxy.",type:"dragproxy"},config:{source:null},constructor:function(a){var b=a&&a.getElement;if(b){this.getElement=b;a=Ext.apply({},a);delete a.getElement}this.initConfig(a)},cleanup:Ext.emptyFn,getElement:function(){return null},update:Ext.emptyFn,privates:{adjustCursorOffset:function(a,b){return b}}});Ext.define("Ext.drag.proxy.Original",{extend:Ext.drag.proxy.None,alias:"drag.proxy.original",getElement:function(a){return a.source.getElement()}});Ext.define("Ext.drag.proxy.Placeholder",{extend:Ext.drag.proxy.None,alias:"drag.proxy.placeholder",config:{cls:"",cursorOffset:[12,20],html:null,invalidCls:"",validCls:""},placeholderCls:Ext.baseCSSPrefix+"drag-proxy-placeholder",cleanup:function(){var a=this.element;if(a){a.hide()}},getElement:function(c){var b=this,a=b.element;if(!a){b.element=a=Ext.getBody().createChild({cls:b.getCls(),html:b.getHtml()});a.addCls(b.placeholderCls);a.setTouchAction({panX:false,panY:false})}a.show();return a},update:function(e){var c=this.element,b=this.getInvalidCls(),a=this.getValidCls(),d=e.valid;if(e.target){c.replaceCls(d?b:a,d?a:b)}else{c.removeCls([b,a])}},updateCls:function(a,c){var b=this.element;if(b){if(c){b.removeCls(c)}if(a){b.addCls(a)}}},updateHtml:function(a){var b=this.element;if(b){b.setHtml(a||"")}},updateInvalidCls:function(a,b){this.doUpdateCls(a,b)},updateValidCls:function(a,b){this.doUpdateCls(a,b)},destroy:function(){this.element=Ext.destroy(this.element);this.callParent()},privates:{adjustCursorOffset:function(b,a){var c=this.getCursorOffset();if(c){a[0]+=(c[0]||0);a[1]+=(c[1]||0)}return a},doUpdateCls:function(b,d){var c=this.element,a;if(c){if(d){a=b&&c.hasCls(d);c.removeCls(d)}if(b&&a){c.addCls(b)}}}}});Ext.define("Ext.event.gesture.Recognizer",{mixins:[Ext.mixin.Identifiable],priority:0,handledEvents:[],isStarted:false,config:{onRecognized:Ext.emptyFn,callbackScope:null},constructor:function(a){this.initConfig(a);Ext.event.publisher.Gesture.instance.registerRecognizer(this)},onStart:Ext.emptyFn,onEnd:Ext.emptyFn,onTouchStart:Ext.emptyFn,onTouchMove:Ext.emptyFn,onTouchEnd:function(){return this.reset()},onTouchCancel:function(a){return this.cancel(a)},fire:function(a,d,c,b){this.getOnRecognized().call(this.getCallbackScope(),this,a,d,c,b)},cancel:function(a){if(this.isStarted){this.onCancel(a)}return this.reset()},onCancel:Ext.emptyFn,reset:function(){this.isStarted=false;return false}});Ext.define("Ext.event.gesture.SingleTouch",{extend:Ext.event.gesture.Recognizer,isSingleTouch:true,onTouchStart:function(a){if(a.touches.length>1){return this.cancel(a)}}});Ext.define("Ext.event.gesture.DoubleTap",{extend:Ext.event.gesture.SingleTouch,priority:300,config:{moveDistance:8,tapDistance:24,maxDuration:300},handledEvents:["singletap","doubletap"],singleTapTimer:null,startTime:0,lastTapTime:0,onTouchStart:function(d){var c=this,b=c.callParent([d]),a;if(b!==false){c.isStarted=true;a=c.lastStartPoint=d.changedTouches[0].point;c.startPoint=c.startPoint||a;c.startTime=d.time;clearTimeout(c.singleTapTimer)}return b},onTouchMove:function(c){var b=this,a=c.changedTouches[0].point,d=Ext.Element.getViewportScale(),g=Math.round(Math.abs(a.getDistanceTo(b.lastStartPoint)*d));if(g>=b.getMoveDistance()){return b.cancel(c)}},onTouchEnd:function(i){var k=this,h=k.getMaxDuration(),b=i.time,j=i.target,l=k.lastTapTime,d=k.lastTarget,m=i.changedTouches[0].point,g,c,a;k.lastTapTime=b;k.lastTarget=j;if(l){g=b-l;if(g<=h){c=Ext.Element.getViewportScale();a=Math.round(Math.abs(m.getDistanceTo(k.startPoint)*c));if(a<=k.getTapDistance()){if(j!==d){return k.cancel(i)}k.lastTarget=null;k.lastTapTime=0;k.fire("doubletap",i,{touch:i.changedTouches[0],duration:g});return k.callParent([i])}}}if(b-k.startTime>h){k.fire("singletap",i);k.reset()}else{k.setSingleTapTimer(i)}},setSingleTapTimer:function(b){var a=this;a.singleTapTimer=Ext.defer(function(){a.fire("singletap",b);a.reset()},a.getMaxDuration())},reset:function(){var a=this;clearTimeout(a.singleTapTimer);a.startTime=a.lastTapTime=0;a.lastStartPoint=a.startPoint=a.singleTapTimer=null;return a.callParent()}},function(a){var b=Ext.manifest.gestures;a.instance=new a(b&&b.doubleTap)});Ext.define("Ext.event.gesture.Drag",{extend:Ext.event.gesture.SingleTouch,priority:100,startPoint:null,previousPoint:null,lastPoint:null,handledEvents:["dragstart","drag","dragend","dragcancel"],config:{minDistance:8},constructor:function(){this.callParent(arguments);this.initInfo()},initInfo:function(){this.info={touch:null,previous:{x:0,y:0},x:0,y:0,delta:{x:0,y:0},absDelta:{x:0,y:0},flick:{velocity:{x:0,y:0}},direction:{x:0,y:0},time:0,previousTime:{x:0,y:0},longpress:false}},onTouchStart:function(c){var b=this,a=b.callParent([c]);if(a!==false){b.startTime=c.time;b.startPoint=c.changedTouches[0].point}return a},tryDragStart:function(c){var b=this,a=c.changedTouches[0].point,g=b.getMinDistance(),d=Ext.Element.getViewportScale(),h=Math.round(Math.abs(a.getDistanceTo(b.startPoint)*d));if(h>=g){b.doDragStart(c)}},doDragStart:function(h,b){var c=this,i=h.changedTouches[0],a=i.point,g=c.info,d;if(b){d=Ext.now();c.startTime=d;c.startPoint=a;g.longpress=true}else{d=h.time}c.isStarted=true;c.previousPoint=c.lastPoint=a;c.resetInfo("x",h,i);c.resetInfo("y",h,i);g.time=d;c.fire("dragstart",h,g)},onTouchMove:function(c){var b=this,d,a;if(!b.startPoint){return}if(!b.isStarted){b.tryDragStart(c)}if(!b.isStarted){return}d=c.changedTouches[0];a=d.point;if(b.lastPoint){b.previousPoint=b.lastPoint}b.lastPoint=a;b.lastMoveEvent=c;b.updateInfo("x",c,d);b.updateInfo("y",c,d);b.info.time=c.time;b.fire("drag",c,b.info)},onAxisDragEnd:function(a,c){var b=c.time-c.previousTime[a];if(b>0){c.flick.velocity[a]=(c[a]-c.previous[a])/b}},resetInfo:function(c,h,g){var i=this,j=i.lastPoint[c],a=i.startPoint[c],k=j-a,d=c.toUpperCase(),b=i.info;b.touch=g;b.delta[c]=k;b.absDelta[c]=Math.abs(k);b.previousTime[c]=i.startTime;b.previous[c]=a;b[c]=j;b.direction[c]=0;b["start"+d]=i.startPoint[c];b["previous"+d]=b.previous[c];b["page"+d]=b[c];b["delta"+d]=b.delta[c];b["absDelta"+d]=b.absDelta[c];b["previousDelta"+d]=0;b.startTime=i.startTime},updateInfo:function(d,j,i){var k=this,m=k.lastPoint[d],g=k.previousPoint[d],a=k.startPoint[d],n=m-a,c=k.info,l=c.direction,h=d.toUpperCase(),b=c.previous[d];c.touch=i;c.delta[d]=n;c.absDelta[d]=Math.abs(n);if(m!==b&&m!==c[d]){c.previous[d]=c[d];c.previousTime[d]=c.time}c[d]=m;if(m>g){l[d]=1}else{if(m<g){l[d]=-1}}c["start"+h]=a;c["previous"+h]=c.previous[d];c["page"+h]=c[d];c["delta"+h]=c.delta[d];c["absDelta"+h]=c.absDelta[d];c["previousDelta"+h]=c.previous[d]-a;c.startTime=k.startTime},onTouchEnd:function(d){var b=this,g,a,c;if(b.isStarted){g=d.changedTouches[0];a=g.point;c=b.info;b.lastPoint=a;b.updateInfo("x",d,g);b.updateInfo("y",d,g);c.time=d.time;b.onAxisDragEnd("x",c);b.onAxisDragEnd("y",c);b.fire("dragend",d,c)}return this.callParent([d])},onCancel:function(c){var a=this,d=c.changedTouches[0],b=a.info;if(!c.touches.length){a.lastPoint=d.point}a.updateInfo("x",c,d);a.updateInfo("y",c,d);b.time=c.time;a.fire("dragcancel",c,b,true)},reset:function(){var a=this;a.lastPoint=a.startPoint=a.previousPoint=a.lastPoint=a.lastMoveEvent=null;a.initInfo();return a.callParent()}},function(a){var b=Ext.manifest.gestures;a.instance=new a(b&&b.drag)});Ext.define("Ext.event.gesture.Swipe",{extend:Ext.event.gesture.SingleTouch,priority:600,handledEvents:["swipestart","swipe","swipecancel"],config:{minDistance:80,maxOffset:35,maxDuration:1000},onTouchStart:function(c){var b=this,a=b.callParent([c]),d;if(a!==false){d=c.changedTouches[0];b.startTime=c.time;b.isHorizontal=true;b.isVertical=true;b.startX=d.pageX;b.startY=d.pageY}return a},onTouchMove:function(j){var k=this,i=j.changedTouches[0],n=i.pageX,l=i.pageY,h=n-k.startX,g=l-k.startY,c=Math.abs(n-k.startX),b=Math.abs(l-k.startY),d=j.time-k.startTime,o,m,a;if((c===0&&b===0)||(d>k.getMaxDuration())){return k.cancel(j)}if(k.isHorizontal&&b>k.getMaxOffset()){k.isHorizontal=false}if(k.isVertical&&c>k.getMaxOffset()){k.isVertical=false}if(!k.isVertical||!k.isHorizontal){o=k.getMinDistance();if(k.isHorizontal&&c<o){m=(h<0)?"left":"right";a=c}else{if(k.isVertical&&b<o){m=(g<0)?"up":"down";a=b}}}if(!k.isHorizontal&&!k.isVertical){return k.cancel(j)}if(m&&!k.isStarted){k.isStarted=true;k.fire("swipestart",j,{touch:i,direction:m,distance:a,duration:d})}},onTouchEnd:function(j){var k=this,i,n,l,h,g,c,b,o,d,m,a;if(k.onTouchMove(j)!==false){i=j.changedTouches[0];n=i.pageX;l=i.pageY;h=n-k.startX;g=l-k.startY;c=Math.abs(h);b=Math.abs(g);o=k.getMinDistance();d=j.time-k.startTime;if(k.isVertical&&b<o){k.isVertical=false}if(k.isHorizontal&&c<o){k.isHorizontal=false}if(k.isHorizontal){m=(h<0)?"left":"right";a=c}else{if(k.isVertical){m=(g<0)?"up":"down";a=b}}k.fire("swipe",j,{touch:i,direction:m,distance:a,duration:d})}return this.callParent([j])},onCancel:function(a){this.fire("swipecancel",a,null,true)},reset:function(){var a=this;a.startTime=a.isHorizontal=a.isVertical=a.startX=a.startY=null;return a.callParent()}},function(a){var b=Ext.manifest.gestures;a.instance=new a(b&&b.swipe)});Ext.define("Ext.event.gesture.EdgeSwipe",{extend:Ext.event.gesture.Swipe,priority:500,handledEvents:["edgeswipe","edgeswipestart","edgeswipeend","edgeswipecancel"],config:{minDistance:60},onTouchStart:function(c){var b=this,a=b.callParent([c]),d;if(a!==false){d=c.changedTouches[0];b.direction=null;b.isHorizontal=true;b.isVertical=true;b.startX=d.pageX;b.startY=d.pageY}return a},onTouchMove:function(l){var m=this,j=l.changedTouches[0],q=j.pageX,n=j.pageY,i=q-m.startX,h=n-m.startY,b=Math.abs(n-m.startY),c=Math.abs(q-m.startX),r=m.getMinDistance(),g=m.getMaxOffset(),d=l.time-m.startTime,p=Ext.Viewport&&Ext.Element.getViewportWidth(),k=Ext.Viewport&&Ext.Element.getViewportHeight(),o,a;if(m.isVertical&&c>g){m.isVertical=false}if(m.isHorizontal&&b>g){m.isHorizontal=false}if(m.isVertical&&m.isHorizontal){if(b>c){m.isHorizontal=false}else{m.isVertical=false}}if(m.isHorizontal){o=(i<0)?"left":"right";a=i}else{if(m.isVertical){o=(h<0)?"up":"down";a=h}}o=m.direction||(m.direction=o);if(o==="up"){a=h*-1}else{if(o==="left"){a=i*-1}}m.distance=a;if(!a){return m.cancel(l)}if(!m.isStarted){if((o==="right"&&m.startX>r)||(o==="down"&&m.startY>r)||(o==="left"&&(p-m.startX)>r)||(o==="up"&&(k-m.startY)>r)){return m.cancel(l)}m.isStarted=true;m.startTime=l.time;m.fire("edgeswipestart",l,{touch:j,direction:o,distance:a,duration:d})}else{m.fire("edgeswipe",l,{touch:j,direction:o,distance:a,duration:d})}},onTouchEnd:function(c){var a=this,b;if(a.onTouchMove(c)!==false){b=c.time-a.startTime;a.fire("edgeswipeend",c,{touch:c.changedTouches[0],direction:a.direction,distance:a.distance,duration:b})}return this.reset()},onCancel:function(a){this.fire("edgeswipecancel",a,{touch:a.changedTouches[0]},true)},reset:function(){var a=this;a.direction=a.isHorizontal=a.isVertical=a.startX=a.startY=a.startTime=a.distance=null;return a.callParent()}},function(a){var b=Ext.manifest.gestures;a.instance=new a(b&&b.edgeSwipe)});Ext.define("Ext.event.gesture.LongPress",{extend:Ext.event.gesture.SingleTouch,priority:400,config:{moveDistance:8,minDuration:1000},handledEvents:["longpress","taphold"],onTouchStart:function(c){var b=this,a=b.callParent([c]);if(a!==false){b.startPoint=c.changedTouches[0].point;b.setLongPressTimer(c)}return a},setLongPressTimer:function(b){var a=this;a.timer=Ext.defer(a.fireLongPress,a.getMinDuration(),a,[b])},onTouchMove:function(c){var b=this,a=c.changedTouches[0].point,d=Ext.Element.getViewportScale(),g=Math.round(Math.abs(a.getDistanceTo(b.startPoint)*d));if(g>=b.getMoveDistance()){return b.cancel(c)}},reset:function(){var a=this;clearTimeout(a.timer);a.timer=a.startPoint=null;return a.callParent()},fireLongPress:function(c){var a=this,b={touch:c.changedTouches[0],duration:a.getMinDuration(),startDrag:a.startDrag};this.fire("taphold",c,b);this.fire("longpress",c,b);this.reset()},startDrag:function(){var b=Ext.event.gesture.Drag.instance,a=this.parentEvent;b.doDragStart(a,true);Ext.event.publisher.Gesture.instance.claimRecognizer(b,a)}},function(a){var b=Ext.manifest.gestures;a.instance=new a(b&&b.longPress)});Ext.define("Ext.event.gesture.MultiTouch",{extend:Ext.event.gesture.Recognizer,requiredTouchesCount:2,isTracking:false,isMultiTouch:true,onTouchStart:function(g){var b=this,a=b.requiredTouchesCount,d=g.touches,c=d.length;if(c===a){b.isTracking=true}else{if(c>a){return b.cancel(g)}}},reset:function(){this.isTracking=false;return this.callParent()}});Ext.define("Ext.event.gesture.Pinch",{extend:Ext.event.gesture.MultiTouch,priority:700,handledEvents:["pinchstart","pinch","pinchend","pinchcancel"],startDistance:0,lastTouches:null,onTouchMove:function(d){var b=this,c,g,a,h;if(b.isTracking){c=d.touches;g=c[0].point;a=c[1].point;h=g.getDistanceTo(a);if(h===0){return}if(!b.isStarted){b.isStarted=true;b.startDistance=h;b.fire("pinchstart",d,{touches:c,distance:h,scale:1})}else{b.fire("pinch",d,{touches:c,distance:h,scale:h/b.startDistance})}}},onTouchEnd:function(a){if(this.isStarted){this.fire("pinchend",a)}return this.callParent([a])},onCancel:function(a){this.fire("pinchcancel",a,null,true)},reset:function(){this.lastTouches=null;this.startDistance=0;return this.callParent()}},function(a){var b=Ext.manifest.gestures;a.instance=new a(b&&b.pinch)});Ext.define("Ext.event.gesture.Rotate",{extend:Ext.event.gesture.MultiTouch,priority:800,handledEvents:["rotatestart","rotate","rotateend","rotatecancel"],startAngle:0,lastTouches:null,lastAngle:null,onTouchMove:function(i){var j=this,h,b,d,g,c,a,k,l;if(j.isTracking){h=i.touches;b=j.lastAngle;d=h[0].point;g=h[1].point;c=d.getAngleTo(g);if(b!==null){l=Math.abs(b-c);a=c+360;k=c-360;if(Math.abs(a-b)<l){c=a}else{if(Math.abs(k-b)<l){c=k}}}j.lastAngle=c;if(!j.isStarted){j.isStarted=true;j.startAngle=c;j.fire("rotatestart",i,{touches:h,angle:c,rotation:0})}else{j.fire("rotate",i,{touches:h,angle:c,rotation:c-j.startAngle})}j.lastTouches=Ext.Array.clone(h)}},onTouchEnd:function(a){if(this.isStarted){this.fire("rotateend",a)}return this.callParent([a])},onCancel:function(a){this.fire("rotatecancel",a,null,true)},reset:function(){var a=this;a.lastTouches=a.lastAngle=a.startAngle=null;return this.callParent()}},function(a){var b=Ext.manifest.gestures;a.instance=new a(b&&b.rotate)});Ext.define("Ext.event.gesture.Tap",{extend:Ext.event.gesture.SingleTouch,priority:200,handledEvents:["tap","tapcancel"],config:{moveDistance:8},onTouchStart:function(c){var b=this,a=b.callParent([c]);if(a!==false){b.isStarted=true;b.startPoint=c.changedTouches[0].point}return a},onTouchMove:function(c){var b=this,a=c.changedTouches[0].point,d=Ext.Element.getViewportScale(),g=Math.round(Math.abs(a.getDistanceTo(b.startPoint)*d));if(g>=b.getMoveDistance()){return b.cancel(c)}},onTouchEnd:function(a){this.fire("tap",a,{touch:a.changedTouches[0]});return this.callParent([a])},onCancel:function(a){this.fire("tapcancel",a,{touch:a.changedTouches[0]},true)},reset:function(){this.startPoint=null;return this.callParent()}},function(b){var a=Ext.manifest.gestures;b.instance=new b(a&&a.tap)});Ext.define("Ext.event.publisher.Focus",{extend:Ext.event.publisher.Dom,type:"focus",handledEvents:["focusenter","focusleave","focusmove"],handledDomEvents:["focusin","focusout"],publishDelegatedDomEvent:function(c){var b=this,a=c.relatedTarget;if(c.type==="focusout"){if(a==null){b.processFocusIn(c,c.target,document.body)}}else{if(a==null||!a.tagName){a=document.body}b.processFocusIn(c,a,c.target)}},processFocusIn:function(j,k,c){var l=this,m,b,i=[],a,h,g,d;g=Ext.fly(k);d=Ext.fly(c);if((g&&g.isFocusSuspended())||(d&&d.isFocusSuspended())){return}for(b=k,m=Ext.dom.Element.getCommonAncestor(c,k,true);b&&b!==m;b=b.parentNode){i.push(b)}if(i.length){a=l.createSyntheticEvent("focusleave",j,k,c);l.publish(a,i);if(a.stopped){return}}i.length=0;for(b=c;b&&b!==m;b=b.parentNode){i.push(b)}h=l.createSyntheticEvent("focusenter",j,c,k);if(i.length){l.publish(h,i);if(h.stopped){return}}i=l.getPropagatingTargets(m);if(i.length){a=l.createSyntheticEvent("focusmove",j,c,k);l.publish(a,i);if(a.stopped){return}}Ext.GlobalEvents.fireEvent("focus",{event:h,toElement:c,fromElement:k})},createSyntheticEvent:function(b,e,d,a){var c=new Ext.event.Event(e);c.type=b;c.relatedTarget=a;c.target=d;return c}},function(b){var a;b.instance=new b();if(!Ext.supports.FocusinFocusoutEvents){this.override({handledDomEvents:["focus","blur"],publishDelegatedDomEvent:function(d){var c=this,g;c.callSuper([d]);g=d.target!==window&&d.target!==document;if(d.type==="blur"){if(!g){if(d.explicitOriginalTarget===b.previousActiveElement){if(d.target===window){clearTimeout(a);a=0;c.processFocusIn(d,b.previousActiveElement,document.body);b.previousActiveElement=null}}}else{a=setTimeout(function(){a=0;c.processFocusIn(d,d.target,document.body);b.previousActiveElement=null},0)}b.previousActiveElement=g?d.target:null}else{clearTimeout(a);a=0;c.processFocusIn(d,b.previousActiveElement||document.body,g?d.target:document.body)}}})}});Ext.define("Ext.fx.runner.Css",{extend:Ext.Evented,prefixedProperties:{transform:true,"transform-origin":true,perspective:true,"transform-style":true,transition:true,"transition-property":true,"transition-duration":true,"transition-timing-function":true,"transition-delay":true,animation:true,"animation-name":true,"animation-duration":true,"animation-iteration-count":true,"animation-direction":true,"animation-timing-function":true,"animation-delay":true},lengthProperties:{top:true,right:true,bottom:true,left:true,width:true,height:true,"max-height":true,"max-width":true,"min-height":true,"min-width":true,"margin-bottom":true,"margin-left":true,"margin-right":true,"margin-top":true,"padding-bottom":true,"padding-left":true,"padding-right":true,"padding-top":true,"border-bottom-width":true,"border-left-width":true,"border-right-width":true,"border-spacing":true,"border-top-width":true,"border-width":true,"outline-width":true,"letter-spacing":true,"line-height":true,"text-indent":true,"word-spacing":true,"font-size":true,translate:true,translateX:true,translateY:true,translateZ:true,translate3d:true,x:true,y:true},durationProperties:{"transition-duration":true,"transition-delay":true,"animation-duration":true,"animation-delay":true},angleProperties:{rotate:true,rotateX:true,rotateY:true,rotateZ:true,skew:true,skewX:true,skewY:true},lengthUnitRegex:/([a-z%]*)$/,DEFAULT_UNIT_LENGTH:"px",DEFAULT_UNIT_ANGLE:"deg",DEFAULT_UNIT_DURATION:"ms",customProperties:{x:true,y:true},formattedNameCache:{x:"left",y:"top"},transformMethods3d:["translateX","translateY","translateZ","rotate","rotateX","rotateY","rotateZ","skewX","skewY","scaleX","scaleY","scaleZ"],transformMethodsNo3d:["translateX","translateY","rotate","skewX","skewY","scaleX","scaleY"],constructor:function(){var a=this;a.transformMethods=Ext.feature.has.Css3dTransforms?a.transformMethods3d:a.transformMethodsNo3d;a.vendorPrefix=Ext.browser.getStyleDashPrefix();a.ruleStylesCache={};a.callParent()},getStyleSheet:function(){var c=this.styleSheet,a,b;if(!c){a=document.createElement("style");a.type="text/css";(document.head||document.getElementsByTagName("head")[0]).appendChild(a);b=document.styleSheets;this.styleSheet=c=b[b.length-1]}return c},applyRules:function(j){var h=this.getStyleSheet(),l=this.ruleStylesCache,k=h.cssRules,c,e,i,b,d,a,g;for(c in j){e=j[c];i=l[c];if(i===undefined){d=k.length;h.insertRule(c+"{}",d);i=l[c]=k.item(d).style}b=i.$cache;if(!b){b=i.$cache={}}for(a in e){g=this.formatValue(e[a],a);a=this.formatName(a);if(b[a]!==g){b[a]=g;if(g===null){i.removeProperty(a)}else{i.setProperty(a,g,"important")}}}}return this},applyStyles:function(d){var h,c,g,b,a,e;for(h in d){if(d.hasOwnProperty(h)){this.activeElement=c=document.getElementById(h);if(!c){continue}g=c.style;b=d[h];for(a in b){if(b.hasOwnProperty(a)){e=this.formatValue(b[a],a);a=this.formatName(a);if(e===null){g.removeProperty(a)}else{g.setProperty(a,e,"important")}}}}}this.activeElement=null;return this},formatName:function(b){var a=this.formattedNameCache,c=a[b];if(!c){if((Ext.os.is.Tizen||!Ext.feature.has.CssTransformNoPrefix)&&this.prefixedProperties[b]){c=this.vendorPrefix+b}else{c=b}a[b]=c}return c},formatValue:function(l,b){var h=typeof l,n=this.DEFAULT_UNIT_LENGTH,j=this.customProperties[b],e,a,d,g,c,m,k;if(l===null){return""}if(h==="string"){if(this.lengthProperties[b]){k=l.match(this.lengthUnitRegex)[1];if(k.length>0){}else{l=l+n;if(j){l=this.getCustomValue(l,b)}return l}}return l}else{if(h==="number"){if(l==0){return"0"}if(this.lengthProperties[b]){l=l+n;if(j){l=this.getCustomValue(l,b)}return l}if(this.angleProperties[b]){return l+this.DEFAULT_UNIT_ANGLE}if(this.durationProperties[b]){return l+this.DEFAULT_UNIT_DURATION}}else{if(b==="transform"){e=this.transformMethods;c=[];for(d=0,g=e.length;d<g;d++){a=e[d];c.push(a+"("+this.formatValue(l[a],a)+")")}return c.join(" ")}else{if(Ext.isArray(l)){m=[];for(d=0,g=l.length;d<g;d++){m.push(this.formatValue(l[d],b))}return(m.length>0)?m.join(", "):"none"}}}}return l},getCustomValue:function(d,a){var b=Ext.fly(this.activeElement),c=d.match(this.lengthUnitRegex)[1];if(a==="x"){d=b.translateXY(parseInt(d,10)).x}else{if(a==="y"){d=b.translateXY(null,parseInt(d,10)).y}}return d+c}});Ext.define("Ext.fx.runner.CssTransition",{extend:Ext.fx.runner.Css,alternateClassName:"Ext.Animator",singleton:true,listenersAttached:false,constructor:function(){this.runningAnimationsData={};return this.callParent(arguments)},attachListeners:function(){this.listenersAttached=true;Ext.getWin().on("transitionend","onTransitionEnd",this)},onTransitionEnd:function(b){var a=b.target,c=a.id;if(c&&this.runningAnimationsData.hasOwnProperty(c)){this.refreshRunningAnimationsData(Ext.get(a),[b.browserEvent.propertyName])}},getElementId:function(a){return a.getId?a.getId():a.id},onAnimationEnd:function(h,g,d,k,o){var c=this.getElementId(h),l=this.runningAnimationsData[c],p={},n={},b,j,e,m,a;d.un("stop","onAnimationStop",this);if(l){b=l.nameMap}p[c]=n;if(g.onBeforeEnd){g.onBeforeEnd.call(g.scope||this,h,k)}d.fireEvent("animationbeforeend",d,h,k);this.fireEvent("animationbeforeend",this,d,h,k);if(o||(!k&&!g.preserveEndState)){j=g.toPropertyNames;for(e=0,m=j.length;e<m;e++){a=j[e];if(b&&!b.hasOwnProperty(a)){n[a]=null}}}if(g.after){Ext.merge(n,g.after)}this.applyStyles(p);if(g.onEnd){g.onEnd.call(g.scope||this,h,k)}d.fireEvent("animationend",d,h,k);this.fireEvent("animationend",this,d,h,k);Ext.AnimationQueue.stop(Ext.emptyFn,d)},onAllAnimationsEnd:function(b){var c=this.getElementId(b),a={};delete this.runningAnimationsData[c];a[c]={"transition-property":null,"transition-duration":null,"transition-timing-function":null,"transition-delay":null};this.applyStyles(a);this.fireEvent("animationallend",this,b)},hasRunningAnimations:function(a){var c=this.getElementId(a),b=this.runningAnimationsData;return b.hasOwnProperty(c)&&b[c].sessions.length>0},refreshRunningAnimationsData:function(d,l,u,q){var h=this.getElementId(d),r=this.runningAnimationsData,a=r[h];if(!a){return}var n=a.nameMap,t=a.nameList,b=a.sessions,g,k,e,v,m,c,s,p,o=false;u=Boolean(u);q=Boolean(q);if(!b){return this}g=b.length;if(g===0){return this}if(q){a.nameMap={};t.length=0;for(m=0;m<g;m++){c=b[m];this.onAnimationEnd(d,c.data,c.animation,u,q)}b.length=0}else{for(m=0;m<g;m++){c=b[m];s=c.map;p=c.list;for(k=0,e=l.length;k<e;k++){v=l[k];if(s[v]){delete s[v];Ext.Array.remove(p,v);c.length--;if(--n[v]==0){delete n[v];Ext.Array.remove(t,v)}}}if(c.length==0){b.splice(m,1);m--;g--;o=true;this.onAnimationEnd(d,c.data,c.animation,u)}}}if(!q&&!u&&b.length==0&&o){this.onAllAnimationsEnd(d)}},getRunningData:function(b){var a=this.runningAnimationsData;if(!a.hasOwnProperty(b)){a[b]={nameMap:{},nameList:[],sessions:[]}}return a[b]},getTestElement:function(){var c=this,d=c.testElement,b=c.iframe,e,a;if(d){if(d.ownerDocument.defaultView!==b.contentWindow){b.contentDocument.body.appendChild(d);c.testElementComputedStyle=e.defaultView.getComputedStyle(d)}}else{b=c.iframe=document.createElement("iframe");b.setAttribute("tabIndex",-1);a=b.style;a.setProperty("visibility","hidden","important");a.setProperty("width","0px","important");a.setProperty("height","0px","important");a.setProperty("position","absolute","important");a.setProperty("border","0px","important");a.setProperty("zIndex","-1000","important");document.body.appendChild(b);e=b.contentDocument;e.open();e.writeln("</body>");e.close();c.testElement=d=e.createElement("div");d.style.setProperty("position","absolute","important");e.body.appendChild(d);c.testElementComputedStyle=e.defaultView.getComputedStyle(d)}return d},getCssStyleValue:function(b,e){var d=this.getTestElement(),a=this.testElementComputedStyle,c=d.style;c.setProperty(b,e);if(Ext.browser.is.Firefox){d.offsetHeight}e=a.getPropertyValue(b);c.removeProperty(b);return e},run:function(K){var q=this,v=Ext.Function,x=q.lengthProperties,w={},h={},I={},C={},l,a,m,L,z,J,u,p,d,c,b,G,F,y,M,H,A,t,o,g,k,r,D,s,n,e,E,B;if(!q.listenersAttached){q.attachListeners()}K=Ext.Array.from(K);for(G=0,y=K.length;G<y;G++){M=K[G];M=Ext.factory(M,Ext.fx.Animation);q.activeElement=l=M.getElement();Ext.AnimationQueue.start(Ext.emptyFn,M);t=window.getComputedStyle(l.dom);a=q.getElementId(l);I[a]=I=Ext.merge({},M.getData());if(M.onBeforeStart){M.onBeforeStart.call(M.scope||q,l)}M.fireEvent("animationstart",M,I);q.fireEvent("animationstart",q,M,I);z=I.before;m=I.from;L=I.to;I.fromPropertyNames=J=[];I.toPropertyNames=u=[];for(g in L){if(L.hasOwnProperty(g)){L[g]=k=q.formatValue(L[g],g);o=q.formatName(g);s=x.hasOwnProperty(g);if(!s){k=q.getCssStyleValue(o,k)}if(m.hasOwnProperty(g)){m[g]=D=q.formatValue(m[g],g);if(!s){D=q.getCssStyleValue(o,D)}if(k!==D){J.push(o);u.push(o)}}else{r=t.getPropertyValue(o);if(k!==r){u.push(o)}}}}H=u.length;if(H===0){q.onAnimationEnd(l,I,M);continue}c=q.getRunningData(a);E=c.sessions;if(E.length>0){q.refreshRunningAnimationsData(l,Ext.Array.merge(J,u),true,I.replacePrevious)}n=c.nameMap;e=c.nameList;A={};for(F=0;F<H;F++){g=u[F];A[g]=true;if(!n.hasOwnProperty(g)){n[g]=1;e.push(g)}else{n[g]++}}B={element:l,map:A,list:u.slice(),length:H,data:I,animation:M};E.push(B);M.on("stop","onAnimationStop",q);b=Ext.apply({},z);Ext.apply(b,m);if(e.length>0){J=Ext.Array.difference(e,J);u=Ext.Array.merge(J,u);b["transition-property"]=J}w[a]=b;h[a]=Ext.apply({},L);C[a]={"transition-property":u,"transition-duration":I.duration,"transition-timing-function":I.easing,"transition-delay":I.delay};M.startTime=Date.now()}q.activeElement=null;d=q.$className;q.applyStyles(w);p=function(i){if(i.data===d&&i.source===window){window.removeEventListener("message",p,false);q.applyStyles(h)}};v.requestAnimationFrame(function(){if(Ext.isIE){q.applyStyles(C);v.requestAnimationFrame(function(){window.addEventListener("message",p,false);window.postMessage(d,"*")})}else{Ext.merge(h,C);window.addEventListener("message",p,false);window.postMessage(d,"*")}})},onAnimationStop:function(d){var g=this.runningAnimationsData,j,a,h,b,c,e;for(j in g){if(g.hasOwnProperty(j)){a=g[j];h=a.sessions;for(b=0,c=h.length;b<c;b++){e=h[b];if(e.animation===d){this.refreshRunningAnimationsData(e.element,e.list.slice(),false)}}}}}});Ext.define("Ext.fx.Runner",{constructor:function(){return new Ext.fx.runner.CssTransition()}});Ext.define("Ext.fx.animation.Cube",{extend:Ext.fx.animation.Abstract,alias:"animation.cube",config:{before:{},after:{},direction:"right",out:false},getData:function(){var n=this.getTo(),o=this.getFrom(),l=this.getBefore(),a=this.getAfter(),e=this.getOut(),k=this.getDirection(),b=this.getElement(),h=b.getWidth(),c=b.getHeight(),m=e?"100% 100%":"0% 0%",j=1,d=1,g={rotateY:0,translateZ:0},i={rotateY:0,translateZ:0};if(k=="left"||k=="right"){if(e){d=0.5;i.translateZ=h;i.rotateY=-90}else{j=0.5;g.translateZ=h;g.rotateY=90}}l["transform-origin"]=m;a["transform-origin"]=null;n.set("transform",i);o.set("transform",g);o.set("opacity",j);n.set("opacity",d);return this.callParent(arguments)}});Ext.define("Ext.fx.animation.Wipe",{extend:Ext.fx.Animation,alternateClassName:"Ext.fx.animation.WipeIn",config:{easing:"ease-out",direction:"right",out:false},refresh:function(){var i=this,a=i.getElement(),h=a.dom.getBoundingClientRect(),o=h.width,g=h.height,m=i.getFrom(),n=i.getTo(),d=i.getOut(),k=i.getDirection(),c=0,b=0,l=0,j=0,p,e;switch(k){case"up":if(d){p="-webkit-gradient(linear, left top, left bottom, from(#000), to(transparent), color-stop(33%, #000), color-stop(66%, transparent))";b=g*3+"px";j=g+"px"}else{p="-webkit-gradient(linear, left top, left bottom, from(transparent), to(#000), color-stop(66%, #000), color-stop(33%, transparent))";b=-g*2+"px";j=0}break;case"down":if(d){p="-webkit-gradient(linear, left top, left bottom, from(transparent), to(#000), color-stop(66%, #000), color-stop(33%, transparent))";b=-g*2+"px";j=0}else{p="-webkit-gradient(linear, left top, left bottom, from(#000), to(transparent), color-stop(33%, #000), color-stop(66%, transparent))";b=g*3+"px";j=g+"px"}break;case"right":if(d){p="-webkit-gradient(linear, right top, left top, from(#000), to(transparent), color-stop(33%, #000), color-stop(66%, transparent))";c=-o*2+"px";l=0}else{p="-webkit-gradient(linear, right top, left top, from(transparent), to(#000), color-stop(66%, #000), color-stop(33%, transparent))";l=-o*2+"px"}break;case"left":if(d){p="-webkit-gradient(linear, right top, left top, from(transparent), to(#000), color-stop(66%, #000), color-stop(33%, transparent))";l=-o*2+"px"}else{p="-webkit-gradient(linear, right top, left top, from(#000), to(transparent), color-stop(33%, #000), color-stop(66%, transparent))";c=-o*2+"px";l=0}break}if(!d){e=b;b=j;j=e;e=c;c=l;l=e}m.set("mask-image",p);m.set("mask-size",o*3+"px "+g*3+"px");m.set("mask-position-x",c);m.set("mask-position-y",b);n.set("mask-position-x",l);n.set("mask-position-y",j)}});Ext.define("Ext.fx.animation.WipeOut",{extend:Ext.fx.animation.Wipe,config:{out:true}});Ext.define("Ext.fx.easing.Bounce",{extend:Ext.fx.easing.Abstract,config:{springTension:0.3,acceleration:30,startVelocity:0},getValue:function(){var b=Ext.Date.now()-this.getStartTime(),c=(b/this.getAcceleration()),a=c*Math.pow(Math.E,-this.getSpringTension()*c);return this.getStartValue()+(this.getStartVelocity()*a)}});Ext.define("Ext.fx.easing.Momentum",{extend:Ext.fx.easing.Abstract,config:{acceleration:30,friction:0,startVelocity:0},alpha:0,updateFriction:function(b){var a=Math.log(1-(b/10));this.theta=a;this.alpha=a/this.getAcceleration()},updateStartVelocity:function(a){this.velocity=a*this.getAcceleration()},updateAcceleration:function(a){this.velocity=this.getStartVelocity()*a;this.alpha=this.theta/a},getValue:function(){return this.getStartValue()-this.velocity*(1-this.getFrictionFactor())/this.theta},getFrictionFactor:function(){var a=Ext.Date.now()-this.getStartTime();return Math.exp(a*this.alpha)},getVelocity:function(){return this.getFrictionFactor()*this.velocity}});Ext.define("Ext.fx.easing.BoundMomentum",{extend:Ext.fx.easing.Abstract,config:{momentum:null,bounce:null,minMomentumValue:0,maxMomentumValue:0,minVelocity:0.01,startVelocity:0},applyMomentum:function(a,b){return Ext.factory(a,Ext.fx.easing.Momentum,b)},applyBounce:function(a,b){return Ext.factory(a,Ext.fx.easing.Bounce,b)},updateStartTime:function(a){this.getMomentum().setStartTime(a);this.callParent(arguments)},updateStartVelocity:function(a){this.getMomentum().setStartVelocity(a)},updateStartValue:function(a){this.getMomentum().setStartValue(a)},reset:function(){this.lastValue=null;this.isBouncingBack=false;this.isOutOfBound=false;return this.callParent(arguments)},getValue:function(){var a=this.getMomentum(),k=this.getBounce(),e=a.getStartVelocity(),g=e>0?1:-1,h=this.getMinMomentumValue(),d=this.getMaxMomentumValue(),c=(g==1)?d:h,i=this.lastValue,j,b;if(e===0){return this.getStartValue()}if(!this.isOutOfBound){j=a.getValue();b=a.getVelocity();if(Math.abs(b)<this.getMinVelocity()){this.isEnded=true}if(j>=h&&j<=d){return j}this.isOutOfBound=true;k.setStartTime(Ext.Date.now()).setStartVelocity(b).setStartValue(c)}j=k.getValue();if(!this.isEnded){if(!this.isBouncingBack){if(i!==null){if((g==1&&j<i)||(g==-1&&j>i)){this.isBouncingBack=true}}}else{if(Math.round(j)==c){this.isEnded=true}}}this.lastValue=j;return j}});Ext.define("Ext.fx.easing.EaseIn",{extend:Ext.fx.easing.Linear,alias:"easing.ease-in",config:{exponent:4,duration:1500},getValue:function(){var c=Ext.Date.now()-this.getStartTime(),h=this.getDuration(),b=this.getStartValue(),a=this.getEndValue(),i=this.distance,e=c/h,d=Math.pow(e,this.getExponent()),g=b+(d*i);if(c>=h){this.isEnded=true;return a}return g}});Ext.define("Ext.fx.easing.EaseOut",{extend:Ext.fx.easing.Linear,alias:"easing.ease-out",config:{exponent:4,duration:1500},getValue:function(){var g=Ext.Date.now()-this.getStartTime(),d=this.getDuration(),b=this.getStartValue(),i=this.getEndValue(),a=this.distance,c=g/d,h=1-c,e=1-Math.pow(h,this.getExponent()),j=b+(e*a);if(g>=d){this.isEnded=true;return i}return j}});Ext.define("Ext.fx.easing.Easing",{constructor:function(a){return Ext.factory(a,Ext.fx.easing.Linear,null,"easing")}});Ext.define("Ext.fx.layout.card.Cube",{extend:Ext.fx.layout.card.Style,alias:"fx.layout.card.cube",config:{reverse:null,inAnimation:{type:"cube"},outAnimation:{type:"cube",out:true}}});Ext.define("Ext.fx.layout.card.ScrollCover",{extend:Ext.fx.layout.card.Scroll,alias:"fx.layout.card.scrollcover",onActiveItemChange:function(c,h,d,e){var i,a,k,j,b,g;this.currentEventController=e;this.inItem=h;if(h&&d){i=this.getLayout().container.innerElement;a=i.getSize();k=this.calculateXY(a);j={easing:this.getEasing(),duration:this.getDuration()};h.renderElement.dom.style.setProperty("visibility","hidden","important");b=h.setTranslatable(true).getTranslatable();g=d.setTranslatable(true).getTranslatable();g.translate({x:0,y:0});b.translate({x:k.left,y:k.top});b.getWrapper().dom.style.setProperty("z-index","100","important");h.show();b.on({animationstart:"onInAnimationStart",animationend:"onInAnimationEnd",scope:this});b.translateAnimated({x:0,y:0},j);e.pause()}},onInAnimationStart:function(){this.inItem.renderElement.dom.style.removeProperty("visibility")},onInAnimationEnd:function(){this.inItem.getTranslatable().getWrapper().dom.style.removeProperty("z-index");this.currentEventController.resume()}});Ext.define("Ext.fx.layout.card.ScrollReveal",{extend:Ext.fx.layout.card.Scroll,alias:"fx.layout.card.scrollreveal",onActiveItemChange:function(c,h,d,e){var i,a,k,j,g,b;this.currentEventController=e;this.outItem=d;this.inItem=h;if(h&&d){i=this.getLayout().container.innerElement;a=i.getSize();k=this.calculateXY(a);j={easing:this.getEasing(),duration:this.getDuration()};g=d.setTranslatable(true).getTranslatable();b=h.setTranslatable(true).getTranslatable();g.getWrapper().dom.style.setProperty("z-index","100","important");g.translate({x:0,y:0});b.translate({x:0,y:0});h.show();g.on({animationend:"onOutAnimationEnd",scope:this});g.translateAnimated({x:k.x,y:k.y},j);e.pause()}},onOutAnimationEnd:function(){this.outItem.getTranslatable().getWrapper().dom.style.removeProperty("z-index");this.currentEventController.resume()}});Ext.define("Ext.fx.runner.CssAnimation",{extend:Ext.fx.runner.Css,constructor:function(){this.runningAnimationsMap={};this.elementEndStates={};this.animationElementMap={};this.keyframesRulesCache={};this.uniqueId=0;return this.callParent(arguments)},attachListeners:function(){this.listenersAttached=true;Ext.getWin().on({animationstart:"onAnimationStart",animationend:"onAnimationEnd",scope:this})},onAnimationStart:function(h){var b=h.browserEvent.animationName,a=this.animationElementMap[b],g=this.runningAnimationsMap[a][b],i=this.elementEndStates,c=i[a],d={};if(c){delete i[a];d[a]=c;this.applyStyles(d)}if(g.before){d[a]=g.before;this.applyStyles(d)}},onAnimationEnd:function(j){var c=j.target,b=j.browserEvent.animationName,d=this.animationElementMap,a=d[b],g=this.runningAnimationsMap,i=g[a],h=i[b];if(h.onBeforeEnd){h.onBeforeEnd.call(h.scope||this,c)}if(h.onEnd){h.onEnd.call(h.scope||this,c)}delete d[b];delete i[b];this.removeKeyframesRule(b)},generateAnimationId:function(){return"animation-"+(++this.uniqueId)},run:function(g){var t={},u=this.elementEndStates,p=this.animationElementMap,s=this.runningAnimationsMap,b,d,j,l,q,h,r,v,n,m,c,e,a,k,o;if(!this.listenersAttached){this.attachListeners()}g=Ext.Array.from(g);for(q=0,h=g.length;q<h;q++){r=g[q];r=Ext.factory(r,Ext.fx.Animation);j=r.getElement().getId();l=r.getName()||this.generateAnimationId();p[l]=j;r=r.getData();d=r.states;this.addKeyframesRule(l,d);b=s[j];if(!b){b=s[j]={}}b[l]=r;m=[];c=[];e=[];a=[];k=[];o=[];for(v in b){if(b.hasOwnProperty(v)){n=b[v];m.push(v);c.push(n.duration);e.push(n.easing);a.push(n.delay);k.push(n.direction);o.push(n.iteration)}}t[j]={"animation-name":m,"animation-duration":c,"animation-timing-function":e,"animation-delay":a,"animation-direction":k,"animation-iteration-count":o};if(r.preserveEndState){u[j]=d["100%"]}}this.applyStyles(t)},addKeyframesRule:function(a,c){var l,e,b,h,j,k,d,i,g;h=this.getStyleSheet();j=h.cssRules;d=j.length;h.insertRule("@"+this.vendorPrefix+"keyframes "+a+"{}",d);b=j[d];for(l in c){e=c[l];j=b.cssRules;d=j.length;k=[];for(i in e){g=this.formatValue(e[i],i);i=this.formatName(i);k.push(i+":"+g)}b.insertRule(l+"{"+k.join(";")+"}",d)}return this},removeKeyframesRule:function(a){var g=this.getStyleSheet(),e=g.cssRules,b,c,d;for(b=0,c=e.length;b<c;b++){d=e[b];if(d.name===a){g.removeRule(b);break}}return this}});Ext.define("Ext.list.AbstractTreeItem",{extend:Ext.Widget,isTreeListItem:true,cachedConfig:{expandable:false,expanded:false,iconCls:"",leaf:true,loading:false,selected:false,selectedParent:false},config:{iconClsProperty:"iconCls",indent:null,owner:null,node:null,over:null,parentItem:null,text:{lazy:true,$value:""},textProperty:"text"},updateNode:function(d){if(d){var h=this,a=h.itemMap,j,b,g,e,k,c;h.element.dom.setAttribute("data-recordId",d.internalId);if(!a){j=d.childNodes;b=h.getOwner();h.itemMap=a={};for(e=0,g=j.length;e<g;++e){c=j[e];if(c.data.visible){k=b.createItem(c,h);a[c.internalId]=k;h.insertItem(k,null)}}}h.setExpanded(d.isExpanded());h.doNodeUpdate(d)}},updateSelected:function(b){if(!this.isConfiguring){var a=this.getParentItem();while(a&&!a.isRootListItem){a.setSelectedParent(b);a=a.getParentItem()}}},collapse:function(){this.getNode().collapse()},expand:function(){this.getNode().expand()},getToolElement:Ext.emptyFn,insertItem:Ext.emptyFn,isExpanded:function(){return this.getExpanded()},isSelectionEvent:Ext.emptyFn,isToggleEvent:Ext.emptyFn,nodeCollapse:function(c,e){var b=this,a=b.getOwner(),d=b.preventAnimation?null:a.getAnimation();b.nodeCollapseBegin(d,e);if(!d){b.nodeCollapseEnd(e)}},nodeCollapseBegin:function(c,d){var b=this,a=b.getOwner();b.setExpanded(false);a.fireEvent("itemcollapse",a,b)},nodeCollapseEnd:function(a){if(!a){this.getOwner().updateLayout()}},nodeExpand:function(c){var b=this,a=b.getOwner(),e=b.getFloated(),d=!e&&a.getAnimation();b.nodeExpandBegin(d);if(!d){b.nodeExpandEnd()}},nodeExpandBegin:function(c){var b=this,a=b.getOwner();b.setExpanded(true);a.fireEvent("itemexpand",a,b)},nodeExpandEnd:function(){this.getOwner().updateLayout()},nodeInsert:function(d,g){var h=this,c=h.getOwner(),a=h.itemMap,b=d.internalId,j=c.getItem(d),e=null,i;if(j){i=j.getParentItem();i.removeItem(j);if(i!==h){i.doUpdateExpandable();j.setParentItem(h)}}else{j=h.getOwner().createItem(d,h)}a[b]=j;if(g){e=a[g.internalId]}h.insertItem(j,e);h.doUpdateExpandable();c.fireEvent("iteminsert",c,h,j,e);c.updateLayout()},nodeRemove:function(d){var c=this,e=c.itemMap,a=c.getOwner(),g=d.internalId,b=e[g];if(b){delete e[g];c.removeItem(b);b.destroy();c.doUpdateExpandable();a.fireEvent("itemremove",a,c,b);a.updateLayout()}},nodeUpdate:function(b,a){this.doNodeUpdate(b)},removeItem:Ext.emptyFn,destroy:function(){var c=this,d=c.itemMap,a=c.getOwner(),b;if(d){for(b in d){d[b].destroy()}c.itemMap=null}if(a){a.removeItem(c.getNode())}c.setNode(null);c.setParentItem(null);c.setOwner(null);c.callParent()},privates:{doNodeUpdate:function(d){var c=this,b=this.getTextProperty(),a=this.getIconClsProperty();if(b){c.setText(d.data[b])}if(a){c.setIconCls(d.data[a])}c.setLoading(d.isLoading());c.setLeaf(d.isLeaf());c.doUpdateExpandable()},doUpdateExpandable:function(){var a=this.getNode();this.setExpandable(a.isExpandable())},onClick:function(g){var c=this,a=c.getOwner(),b=c.getNode(),d={event:g,item:c,node:b,tree:a,select:b.get("selectable")!==false&&c.isSelectionEvent(g),toggle:c.isToggleEvent(g)};if(a.fireEvent("itemclick",a,d)!==false){if(d.toggle){c.toggleExpanded();g.preventDefault()}if(d.select){a.setSelection(c.getNode())}}},toggleExpanded:function(){if(this.isExpanded()){this.collapse()}else{this.expand()}},updateIndent:function(b){var a=this.itemMap,c;for(c in a){a[c].setIndent(b)}},updateOwner:function(a){this.parent=a}}});Ext.define("Ext.list.RootTreeItem",{extend:Ext.list.AbstractTreeItem,isRootListItem:true,element:{reference:"element",tag:"ul",cls:Ext.baseCSSPrefix+"treelist-root-container"},insertItem:function(b,a){if(a){b.element.insertBefore(a.element)}else{this.element.appendChild(b.element)}},isToggleEvent:function(a){return false}});Ext.define("Ext.list.TreeItem",{extend:Ext.list.AbstractTreeItem,xtype:"treelistitem",collapsedCls:Ext.baseCSSPrefix+"treelist-item-collapsed",expandedCls:Ext.baseCSSPrefix+"treelist-item-expanded",floatedCls:[Ext.Widget.prototype.floatedCls,Ext.baseCSSPrefix+"treelist-item-floated"],floatedToolCls:Ext.baseCSSPrefix+"treelist-item-tool-floated",leafCls:Ext.baseCSSPrefix+"treelist-item-leaf",expandableCls:Ext.baseCSSPrefix+"treelist-item-expandable",hideIconCls:Ext.baseCSSPrefix+"treelist-item-hide-icon",loadingCls:Ext.baseCSSPrefix+"treelist-item-loading",selectedCls:Ext.baseCSSPrefix+"treelist-item-selected",selectedParentCls:Ext.baseCSSPrefix+"treelist-item-selected-parent",withIconCls:Ext.baseCSSPrefix+"treelist-item-with-icon",hoverCls:Ext.baseCSSPrefix+"treelist-item-over",rowHoverCls:Ext.baseCSSPrefix+"treelist-row-over",isTreeListItem:true,config:{rowCls:null},rowClsProperty:"rowCls",element:{reference:"element",tag:"li",cls:Ext.baseCSSPrefix+"treelist-item",children:[{reference:"rowElement",cls:Ext.baseCSSPrefix+"treelist-row",children:[{reference:"wrapElement",cls:Ext.baseCSSPrefix+"treelist-item-wrap",children:[{reference:"iconElement",cls:Ext.baseCSSPrefix+"treelist-item-icon"},{reference:"textElement",cls:Ext.baseCSSPrefix+"treelist-item-text"},{reference:"expanderElement",cls:Ext.baseCSSPrefix+"treelist-item-expander"}]}]},{reference:"itemContainer",tag:"ul",cls:Ext.baseCSSPrefix+"treelist-container"},{reference:"toolElement",cls:Ext.baseCSSPrefix+"treelist-item-tool"}]},constructor:function(a){this.callParent([a]);var b=this.toolElement.dom;b.parentNode.removeChild(b)},getToolElement:function(){return this.toolElement},insertItem:function(b,a){if(a){b.element.insertBefore(a.element)}else{this.itemContainer.appendChild(b.element)}},isSelectionEvent:function(b){var a=this.getOwner();return(!this.isToggleEvent(b)||!a.getExpanderOnly()||a.getSelectOnExpander())},isToggleEvent:function(b){var a=false;if(this.getOwner().getExpanderOnly()){a=b.target===this.expanderElement.dom}else{a=!this.itemContainer.contains(b.target)}return a},nodeCollapseBegin:function(d,e){var c=this,b=c.itemContainer,a;if(c.expanding){c.stopAnimation(c.expanding)}a=d&&b.getHeight();c.callParent([d,e]);if(d){b.dom.style.display="block";c.collapsingForExpand=e;c.collapsing=this.runAnimation(Ext.merge({from:{height:a},to:{height:0},callback:c.nodeCollapseDone,scope:c},d))}},nodeCollapseDone:function(c){var b=this,a=b.itemContainer;b.collapsing=null;a.dom.style.display="";a.setHeight(null);b.nodeCollapseEnd(b.collapsingForExpand)},nodeExpandBegin:function(d){var c=this,b=c.itemContainer,a;if(c.collapsing){c.stopAnimation(c.collapsing)}c.callParent([d]);if(d){a=b.getHeight();b.setHeight(0);c.expanding=c.runAnimation(Ext.merge({to:{height:a},callback:c.nodeExpandDone,scope:c},d))}},nodeExpandDone:function(){this.expanding=null;this.itemContainer.setHeight(null);this.nodeExpandEnd()},removeItem:function(a){this.itemContainer.removeChild(a.element)},updateNode:function(a,b){this.syncIndent();this.callParent([a,b])},updateExpandable:function(){this.updateExpandCls()},updateExpanded:function(){this.updateExpandCls()},updateIconCls:function(b,a){var d=this,c=d.element;d.doIconCls(d.iconElement,b,a);d.doIconCls(d.toolElement,b,a);c.toggleCls(d.withIconCls,!!b);c.toggleCls(d.hideIconCls,b===null)},updateLeaf:function(a){this.element.toggleCls(this.leafCls,a)},updateLoading:function(a){this.element.toggleCls(this.loadingCls,a)},updateOver:function(b){var a=this;a.element.toggleCls(a.hoverCls,!!b);a.rowElement.toggleCls(a.rowHoverCls,b>1)},updateRowCls:function(b,a){this.rowElement.replaceCls(a,b)},updateSelected:function(c,e){var d=this,a=d.selectedCls,b=d.getToolElement();d.callParent([c,e]);d.element.toggleCls(a,c);if(b){b.toggleCls(a,c)}},updateSelectedParent:function(b){var c=this;c.element.toggleCls(c.selectedParentCls,b);var a=c.getToolElement();if(a){a.toggleCls(c.selectedCls,b)}},updateText:function(a){this.textElement.update(a)},privates:{doNodeUpdate:function(a){this.callParent([a]);this.setRowCls(a&&a.data[this.rowClsProperty])},doIconCls:function(c,b,a){if(a){c.removeCls(a)}if(b){c.addCls(b)}},syncIndent:function(){var c=this,a=c.getIndent(),b=c.getNode(),d;if(b){d=b.data.depth-1;c.wrapElement.dom.style.marginLeft=(d*a)+"px"}},updateExpandCls:function(){if(!this.updatingExpandCls){var e=this,c=e.getExpandable(),d=e.element,b=e.getExpanded(),a=e.expandedCls,g=e.collapsedCls;e.updatingExpandCls=true;d.toggleCls(e.expandableCls,c);if(c){d.toggleCls(a,b);d.toggleCls(g,!b)}else{d.removeCls([a,g])}e.updatingExpandCls=false}},updateIndent:function(b,a){this.syncIndent();this.callParent([b,a])}}});Ext.define("Ext.overrides.list.TreeItem",{override:"Ext.list.TreeItem",runAnimation:function(a){return this.itemContainer.animate(a)},stopAnimation:function(a){a.end()},privates:{applyFloated:function(b,a){this.initialized=true;this.callParent([b,a]);return b},updateFloated:function(g,c){var e=this,b,h=e.getToolElement(),d,a;if(g){e.wasExpanded=e.getExpanded();e.nextElementSibling=e.el.dom.nextSibling;e.setExpanded(true)}else{a=e.wasExpanded;d=e.getNode();e.setExpanded(e.wasExpanded);if(!a&&d.isExpanded()){e.preventAnimation=true;d.collapse();e.preventAnimation=false}}e.callParent([g,c]);if(g){b=e.getOwner();e.floatWrap=e.el.wrap({cls:b.self.prototype.element.cls+" "+b.uiPrefix+b.getUi()+" "+Ext.baseCSSPrefix+"treelist-floater",style:{width:"200px"}});e.floatWrap.alignTo(h,"tl-tr");e.floatWrap.on({click:b.onClick,mouseover:b.onMouseOver,scope:b})}else{e.getOwner().rootItem.el.dom.insertBefore(e.el.dom,e.nextElementSibling);e.floatWrap.destroy();e.floatWrap=null}h.toggleCls(e.floatedToolCls,g)}}});Ext.define("Ext.list.Tree",{extend:Ext.Widget,xtype:"treelist",expanderFirstCls:Ext.baseCSSPrefix+"treelist-expander-first",expanderOnlyCls:Ext.baseCSSPrefix+"treelist-expander-only",highlightPathCls:Ext.baseCSSPrefix+"treelist-highlight-path",microCls:Ext.baseCSSPrefix+"treelist-micro",uiPrefix:Ext.baseCSSPrefix+"treelist-",element:{reference:"element",cls:Ext.baseCSSPrefix+"treelist "+Ext.baseCSSPrefix+"unselectable",listeners:{click:"onClick",mouseenter:"onMouseEnter",mouseleave:"onMouseLeave",mouseover:"onMouseOver"},children:[{reference:"toolsElement",cls:Ext.baseCSSPrefix+"treelist-toolstrip",listeners:{click:"onToolStripClick",mouseover:"onToolStripMouseOver"}}]},cachedConfig:{animation:{duration:500,easing:"ease"},expanderFirst:true,expanderOnly:true},config:{defaults:{xtype:"treelistitem"},highlightPath:null,iconSize:null,indent:null,micro:false,overItem:null,selection:null,selectOnExpander:false,singleExpand:null,store:null,ui:null},twoWayBindable:{selection:1},publishes:{selection:1},defaultBindProperty:"store",constructor:function(a){var b=this;b.callParent([a]);b.publishState("selection",b.getSelection());if(!Ext.isIE8){b.el.on({resize:b.onElResize,buffer:300,scope:b})}},beforeLayout:function(){this.syncIconSize()},destroy:function(){var a=this;a.destroying=true;a.unfloatAll();a.activeFloater=null;a.setSelection(null);a.setStore(null);a.callParent()},updateOverItem:function(g,a){var e={},d=2,h,b;for(h=g;h;h=this.getItem(b.parentNode)){b=h.getNode();e[b.internalId]=true;h.setOver(d);d=1}if(a){for(h=a;h;h=this.getItem(b.parentNode)){b=h.getNode();if(e[b.internalId]){break}h.setOver(0)}}},applyMicro:function(a){return Boolean(a)},applySelection:function(c,a){var b=this.getStore();if(!b){c=null}if(c&&c.get("selectable")===false){c=a}return c},updateSelection:function(b,a){var d=this,c;if(!d.destroying){c=d.getItem(a);if(c){c.setSelected(false)}c=d.getItem(b);if(c){c.setSelected(true)}d.fireEvent("selectionchange",d,b)}},applyStore:function(a){return a&&Ext.StoreManager.lookup(a,"tree")},updateStore:function(b,d){var c=this,a;if(d){if(!d.destroyed){if(d.getAutoDestroy()){d.destroy()}else{c.storeListeners.destroy()}}c.removeRoot();c.storeListeners=null}if(b){c.storeListeners=b.on({destroyable:true,scope:c,filterchange:"onFilterChange",nodeappend:"onNodeAppend",nodecollapse:"onNodeCollapse",nodeexpand:"onNodeExpand",nodeinsert:"onNodeInsert",noderemove:"onNodeRemove",rootchange:"onRootChange",update:"onNodeUpdate"});a=b.getRoot();if(a){c.createRootItem(a)}}if(!c.destroying){c.updateLayout()}},updateExpanderFirst:function(a){this.element.toggleCls(this.expanderFirstCls,a)},updateExpanderOnly:function(a){this.element.toggleCls(this.expanderOnlyCls,!a)},updateHighlightPath:function(a){this.element.toggleCls(this.highlightPathCls,a)},onElResize:function(b,a){if(!this.getMicro()){this.expandedWidth=a.width}},updateMicro:function(a){var b=this;if(!a){b.unfloatAll();b.activeFloater=null}b.element.toggleCls(b.microCls,a)},updateUi:function(d,a){var c=this.element,b=this.uiPrefix;if(a){c.removeCls(b+a)}if(d){c.addCls(b+d)}delete this.iconSize;this.syncIconSize()},getItem:function(b){var c=this.itemMap,a;if(b&&c){a=c[b.internalId]}return a||null},getItemConfig:function(b,a){return Ext.apply({parentItem:a.isRootListItem?null:a,owner:this,node:b,indent:this.getIndent()},this.getDefaults())},privates:{checkForOutsideClick:function(b){var a=this.activeFloater;if(!a.element.contains(b.target)){this.unfloatAll()}},collapsingForExpand:false,createItem:function(g,b){var e=this,d=Ext.create(e.getItemConfig(g,b)),h=e.toolsElement,a,c;if(b.isRootListItem){a=d.getToolElement();if(a){c=e.findVisiblePreviousSibling(g);if(!c){h.insertFirst(a)}else{c=e.getItem(c);a.insertAfter(c.getToolElement())}a.dom.setAttribute("data-recordId",g.internalId);a.isTool=true}}e.itemMap[g.internalId]=d;return d},createRootItem:function(a){var c=this,b;c.itemMap={};c.rootItem=b=new Ext.list.RootTreeItem({indent:c.getIndent(),node:a,owner:c});c.element.appendChild(b.element);c.itemMap[a.internalId]=b},findVisiblePreviousSibling:function(b){var a=b.previousSibling;while(a){if(a.data.visible){return a}a=a.previousSibling}return null},floatItem:function(d,b){var c=this,a;if(d.getFloated()){return}if(c.toolMouseListeners){c.toolMouseListeners.destroy();c.floaterMouseListeners.destroy()}c.unfloatAll();c.activeFloater=a=d;c.floatedByHover=b;d.setFloated(true);if(b){c.toolMouseListeners=d.getToolElement().monitorMouseLeave(300,c.checkForMouseLeave,c);c.floaterMouseListeners=(d.floater||d).el.monitorMouseLeave(300,c.checkForMouseLeave,c)}else{Ext.on("mousedown","checkForOutsideClick",c)}},onClick:function(b){var a=b.getTarget("[data-recordId]"),c;if(a){c=a.getAttribute("data-recordId");a=this.itemMap[c];if(a){a.onClick(b)}}},onMouseEnter:function(a){this.onMouseOver(a)},onMouseLeave:function(){this.setOverItem(null)},onMouseOver:function(b){var a=Ext.Component.fromElement(b.getTarget());this.setOverItem(a&&a.isTreeListItem&&a)},checkForMouseLeave:function(c){var b=this.activeFloater,a=c.getRelatedTarget();if(b){if(a!==b.getToolElement().dom&&!b.element.contains(a)){this.unfloatAll()}}},onFilterChange:function(a){this.onRootChange(a.getRoot())},onNodeAppend:function(a,c){if(a){var b=this.itemMap[a.internalId];if(b){b.nodeInsert(c,null)}}},onNodeCollapse:function(b){var a=this.itemMap[b.internalId];if(a){a.nodeCollapse(b,this.collapsingForExpand)}},onNodeExpand:function(g){var e=this,d=e.itemMap[g.internalId],h,b,c,a,j;if(d){if(!d.isRootItem&&e.getSingleExpand()){e.collapsingForExpand=true;a=(d.getParentItem()||e.rootItem).getNode();h=a.childNodes;for(c=0,b=h.length;c<b;++c){j=h[c];if(j!==g){j.collapse()}}e.collapsing=false}d.nodeExpand(g)}},onNodeInsert:function(a,d,b){var c=this.itemMap[a.internalId];if(c){c.nodeInsert(d,b)}},onNodeRemove:function(a,d,b){if(a&&!b){var c=this.itemMap[a.internalId];if(c){c.nodeRemove(d)}}},onNodeUpdate:function(a,e,b,d){var c=this.itemMap[e.internalId];if(c){c.nodeUpdate(e,d)}},onRootChange:function(a){var b=this;b.removeRoot();if(a){b.createRootItem(a)}b.updateLayout();b.fireEvent("refresh",b)},removeItem:function(c){var d=this.itemMap,e=c.internalId,b,a;if(d){b=d[e];if(b.getParentItem()===null){a=b.getToolElement();if(a){this.toolsElement.removeChild(a)}}delete d[e]}},removeRoot:function(){var b=this,a=b.rootItem;if(a){b.element.removeChild(a.element);b.rootItem=b.itemMap=Ext.destroy(a)}},onToolStripClick:function(b){var a=b.getTarget("[data-recordId]"),c;if(a){c=a.getAttribute("data-recordId");a=this.itemMap[c];if(a){if(a===this.activeFloater){this.unfloatAll()}else{this.floatItem(a,false)}}}},onToolStripMouseOver:function(b){var a=b.getTarget("[data-recordId]"),c;if(a){c=a.getAttribute("data-recordId");a=this.itemMap[c];if(a){this.floatItem(a,true)}}},syncIconSize:function(){var b=this,a=b.iconSize||(b.iconSize=parseInt(b.element.getStyle("background-position"),10));b.setIconSize(a)},unfloatAll:function(){var b=this,a=b.activeFloater;if(a){a.setFloated(false);b.activeFloater=null;if(b.floatedByHover){a.getToolElement().un("mouseleave","checkForMouseLeave",b);a.element.un({scope:b,mouseleave:"checkForMouseLeave",mouseover:"onMouseOver"})}else{Ext.un("mousedown","checkForOutsideClick",b)}}},defaultIconSize:22,updateIconSize:function(a){this.setIndent(a||this.defaultIconSize)},updateIndent:function(b){var a=this.rootItem;if(a){a.setIndent(b)}}}});Ext.define("Ext.overrides.list.Tree",{override:"Ext.list.Tree",constructor:function(a){var c=this,b;c.callParent([a]);b=c.element;if(b.isPainted()){c.syncIconSize()}else{b.on({scope:c,painted:c.syncIconSize,single:true})}}});Ext.define("Ext.mixin.Accessible",{extend:Ext.Mixin,mixinConfig:{id:"accessible"},config:{ariaAttributes:{$value:null,lazy:true}},privates:{getAriaLabelEl:function(c){var e=[],h,d,b,g,a;if(c){if(Ext.isFunction(c)){return c.call(this)}else{if(!Ext.isArray(c)){c=[c]}h=this.lookupReferenceHolder();if(h){for(d=0,b=c.length;d<b;d++){g=h.lookupReference(c[d]);if(g){e.push(g.ariaEl.id)}}}}}return e.length?e.join(" "):null}}});Ext.define("Ext.mixin.ConfigState",{extend:Ext.Mixin,mixinConfig:{id:"configstate"},alternateStateConfig:"",toggleConfigState:function(a){var d=this,e=d.capturedConfigState,b=d.getConfig(d.alternateStateConfig),c;if(!b){return}if(a){e={};for(c in b){e[c]=d.getConfig(c)}d.capturedConfigState=e;d.setConfig(b)}else{if(!d.isConfiguring&&e){d.setConfig(e);delete d.capturedConfigState}}}});Ext.define("Ext.mixin.Mashup",function(a){return{extend:"Ext.Mixin",mixinConfig:{id:"mashup",extended:function(c,b){a.process(b)}},statics:{process:function(e){var c=e.prototype,g=c.requiredScripts,b=e._classHooks,d=b.onCreated;if(g){delete c.requiredScripts;b.onCreated=function(){var i=this,h=Ext.Array.slice(arguments);Ext.Loader.loadScripts({url:g,cache:true,onLoad:function(){b.onCreated=d;b.onCreated.call(i,h)}})}}}},onClassMixedIn:function(b){a.process(b)}}});Ext.define("Ext.mixin.Responsive",function(a){return{extend:Ext.Mixin,mixinConfig:{id:"responsive",after:{destroy:"destroy"}},config:{responsiveConfig:{$value:undefined,merge:function(h,c,g,e){if(!h){return c}var b=c?Ext.Object.chain(c):{},d;for(d in h){if(!e||!(d in b)){b[d]={fn:null,config:h[d]}}}return b}},responsiveFormulas:{$value:0,merge:function(e,b,d,c){return this.mergeNew(e,b,d,c)}}},destroy:function(){a.unregister(this)},privates:{statics:{active:false,all:{},context:Ext.Object.chain(Ext.platformTags),count:0,nextId:0,activate:function(){a.active=true;a.updateContext();Ext.on("resize",a.onResize,a)},deactivate:function(){a.active=false;Ext.un("resize",a.onResize,a)},notify:function(){var d=a.all,c=a.context,b=Ext.GlobalEvents,g=a.timer,e;if(g){a.timer=null;Ext.asapCancel(g)}a.updateContext();Ext.suspendLayouts();b.fireEvent("beforeresponsiveupdate",c);for(e in d){d[e].setupResponsiveContext()}b.fireEvent("beginresponsiveupdate",c);for(e in d){d[e].updateResponsiveState()}b.fireEvent("responsiveupdate",c);Ext.resumeLayouts(true)},onResize:function(){if(!a.timer){a.timer=Ext.asap(a.onTimer)}},onTimer:function(){a.timer=null;a.notify()},processConfig:function(b,i,g){var h=i&&i[g],e=b.config,c,d;if(h){d=b.self.getConfigurator();c=d.configs[g];e[g]=c.merge(h,e[g],b)}},register:function(b){var c=b.$responsiveId;if(!c){b.$responsiveId=c=++a.nextId;a.all[c]=b;if(++a.count===1){a.activate()}}},unregister:function(b){var c=b.$responsiveId;if(c in a.all){b.$responsiveId=null;delete a.all[c];if(--a.count===0){a.deactivate()}}},updateContext:function(){var e=Ext.Element,d=e.getViewportWidth(),b=e.getViewportHeight(),c=a.context;c.width=d;c.height=b;c.tall=d<b;c.wide=!c.tall;c.landscape=c.portrait=false;if(!c.platform){c.platform=Ext.platformTags}c[Ext.dom.Element.getOrientation()]=true}},afterClassMixedIn:function(g){var e=g.prototype,b=e.responsiveConfig,d=e.responsiveFormulas,c;if(b||d){c={};if(b){delete e.responsiveConfig;c.responsiveConfig=b}if(d){delete e.responsiveFormulas;c.responsiveFormulas=d}g.getConfigurator().add(c)}},applyResponsiveConfig:function(c){for(var b in c){c[b].fn=Ext.createRuleFn(b)}return c},applyResponsiveFormulas:function(d){var c={},e,b;if(d){for(b in d){if(Ext.isString(e=d[b])){e=Ext.createRuleFn(e)}c[b]=e}}return c},getResponsiveState:function(){var c=a.context,g=this.getResponsiveConfig(),b={},d,e;if(g){for(e in g){d=g[e];if(d.fn.call(this,c)){Ext.merge(b,d.config)}}}return b},setupResponsiveContext:function(){var c=this.getResponsiveFormulas(),d=a.context,b;if(c){for(b in c){d[b]=c[b].call(this,d)}}},transformInstanceConfig:function(d){var c=this,b;a.register(c);if(d){a.processConfig(c,d,"responsiveConfig");a.processConfig(c,d,"responsiveFormulas")}c.setupResponsiveContext();b=c.getResponsiveState();if(d){b=Ext.merge({},d,b);delete b.responsiveConfig;delete b.responsiveFormulas}return b},updateResponsiveState:function(){var b=this.getResponsiveState();this.setConfig(b)}}}});Ext.define("Ext.mixin.Selectable",{extend:Ext.Mixin,mixinConfig:{id:"selectable",after:{updateStore:"updateStore"}},config:{disableSelection:null,mode:"SINGLE",allowDeselect:false,lastSelected:null,lastFocused:null,deselectOnContainerClick:true,selection:null,twoWayBindable:{selection:1},publishes:{selection:1}},modes:{SINGLE:true,SIMPLE:true,MULTI:true},selectableEventHooks:{add:"onSelectionStoreAdd",remove:"onSelectionStoreRemove",update:"onSelectionStoreUpdate",clear:{fn:"onSelectionStoreClear",priority:1000},load:"refreshSelection",refresh:"refreshSelection"},constructor:function(){this.selected=new Ext.util.MixedCollection();this.callParent(arguments)},initSelectable:function(){this.publishState("selection",this.getSelection())},applyMode:function(a){a=a?a.toUpperCase():"SINGLE";return this.modes[a]?a:"SINGLE"},updateStore:function(a,c){var b=this,d=Ext.apply({},b.selectableEventHooks,{scope:b});if(c&&Ext.isObject(c)&&c.isStore){if(c.autoDestroy){c.destroy()}else{c.un(d)}}if(a){a.on(d);b.refreshSelection()}},selectAll:function(a){var c=this,b=c.getStore().getRange();c.select(b,true,a)},deselectAll:function(c){var b=this,a=b.getStore().getRange();b.deselect(a,c);b.selected.clear();b.setLastSelected(null);b.setLastFocused(null)},updateSelection:function(a){if(this.changingSelection){return}if(a){this.select(a)}else{this.deselectAll()}},selectWithEvent:function(a){var c=this,b=c.isSelected(a);switch(c.getMode()){case"MULTI":case"SIMPLE":if(b){c.deselect(a)}else{c.select(a,true)}break;case"SINGLE":if(c.getAllowDeselect()&&b){c.deselect(a)}else{c.select(a,false)}break}},selectRange:function(c,h,j){var g=this,b=g.getStore(),a=[],e,d;if(g.getDisableSelection()){return}if(c>h){e=h;h=c;c=e}for(d=c;d<=h;d++){a.push(b.getAt(d))}this.doMultiSelect(a,j)},select:function(c,e,b){var d=this,a;if(d.getDisableSelection()){return}if(typeof c==="number"){c=[d.getStore().getAt(c)]}if(!c){return}if(d.getMode()=="SINGLE"&&c){a=c.length?c[0]:c;d.doSingleSelect(a,b)}else{d.doMultiSelect(c,e,b)}},doSingleSelect:function(a,b){var d=this,c=d.selected;if(d.getDisableSelection()){return}if(d.isSelected(a)){return}if(c.getCount()>0){d.deselect(d.getLastSelected(),b)}c.add(a);d.setLastSelected(a);d.onItemSelect(a,b);d.setLastFocused(a);if(!b){d.fireSelectionChange([a])}},doMultiSelect:function(a,k,j){if(a===null||this.getDisableSelection()){return}a=!Ext.isArray(a)?[a]:a;var g=this,b=g.selected,e=a.length,h=false,c=0,d;if(!k&&b.getCount()>0){h=true;g.deselect(g.getSelections(),true)}for(;c<e;c++){d=a[c];if(k&&g.isSelected(d)){continue}h=true;g.setLastSelected(d);b.add(d);if(!j){g.setLastFocused(d)}g.onItemSelect(d,j)}if(h&&!j){this.fireSelectionChange(a)}},deselect:function(a,k){var g=this;if(g.getDisableSelection()){return}a=Ext.isArray(a)?a:[a];var b=g.selected,h=false,c=0,j=g.getStore(),e=a.length,d;for(;c<e;c++){d=a[c];if(typeof d==="number"){d=j.getAt(d)}if(b.remove(d)){if(g.getLastSelected()==d){g.setLastSelected(b.last())}h=true}if(d){g.onItemDeselect(d,k)}}if(h&&!k){g.fireSelectionChange(a)}},updateLastFocused:function(b,a){this.onLastFocusChanged(a,b)},fireSelectionChange:function(a){var b=this;b.changingSelection=true;b.setSelection(b.getLastSelected()||null);b.changingSelection=false;b.fireAction("selectionchange",[b,a],"getSelections")},getSelections:function(){return this.selected.getRange()},isSelected:function(a){a=Ext.isNumber(a)?this.getStore().getAt(a):a;return this.selected.indexOf(a)!==-1},hasSelection:function(){return this.selected.getCount()>0},refreshSelection:function(){var b=this,a=b.getSelections();b.deselectAll(true);if(a.length){b.select(a,false,true)}},onSelectionStoreRemove:function(c,b){var h=this,e=h.selected,g=b.length,j,a,d;if(h.getDisableSelection()){return}for(d=0;d<g;d++){a=b[d];if(e.remove(a)){if(h.getLastSelected()==a){h.setLastSelected(null)}if(h.getLastFocused()==a){h.setLastFocused(null)}j=j||[];j.push(a)}}if(j){h.fireSelectionChange([j])}},onSelectionStoreClear:function(b){var a=b.getData().items;this.onSelectionStoreRemove(b,a)},getSelectionCount:function(){return this.selected.getCount()},onSelectionStoreAdd:Ext.emptyFn,onSelectionStoreUpdate:Ext.emptyFn,onItemSelect:Ext.emptyFn,onItemDeselect:Ext.emptyFn,onLastFocusChanged:Ext.emptyFn,onEditorKey:Ext.emptyFn},function(){});Ext.define("Ext.mixin.StyleCacher",{extend:Ext.Mixin,mixinConfig:{id:"stylecacher"},getCachedStyle:function(c,b){var a=this.$styleCache;if(!a){a=this.$styleCache={}}if(!(b in a)){a[b]=Ext.fly(c).getStyle(b)}return a[b]}});Ext.define("Ext.perf.Accumulator",function(){var c=null,h=Ext.global.chrome,d,b=function(){b=Ext.now;var k,l;if(Ext.isChrome&&h&&h.Interval){k=new h.Interval();k.start();b=function(){return k.microseconds()/1000}}else{if(window.ActiveXObject){try{l=new ActiveXObject("SenchaToolbox.Toolbox");Ext.senchaToolbox=l;b=function(){return l.milliseconds}}catch(m){}}}Ext.perf.getTimestamp=Ext.perf.Accumulator.getTimestamp=b;return b()};function i(l,k){l.sum+=k;l.min=Math.min(l.min,k);l.max=Math.max(l.max,k)}function e(n){var l=n?n:(b()-this.time),m=this,k=m.accum;++k.count;if(!--k.depth){i(k.total,l)}i(k.pure,l-m.childTime);c=m.parent;if(c){++c.accum.childCount;c.childTime+=l}}function a(){return{min:Number.MAX_VALUE,max:0,sum:0}}function j(l,k){return function(){var n=l.enter(),m=k.apply(this,arguments);n.leave();return m}}function g(m,l,k,o){var n={avg:0,min:o.min,max:o.max,sum:0};if(m){k=k||0;n.sum=o.sum-l*k;n.avg=n.sum/m}return n}return{constructor:function(k){var l=this;l.count=l.childCount=l.depth=l.maxDepth=0;l.pure=a();l.total=a();l.name=k},statics:{getTimestamp:b},format:function(k){if(!d){d=new Ext.XTemplate(["{name} - {count} call(s)",'<tpl if="count">','<tpl if="childCount">'," ({childCount} children)","</tpl>",'<tpl if="depth - 1">'," ({depth} deep)","</tpl>",'<tpl for="times">',", {type}: {[this.time(values.sum)]} msec (","avg={[this.time(values.sum / parent.count)]}",")","</tpl>","</tpl>"].join(""),{time:function(m){return Math.round(m*100)/100}})}var l=this.getData(k);l.name=this.name;l.pure.type="Pure";l.total.type="Total";l.times=[l.pure,l.total];return d.apply(l)},getData:function(k){var l=this;return{count:l.count,childCount:l.childCount,depth:l.maxDepth,pure:g(l.count,l.childCount,k,l.pure),total:g(l.count,l.childCount,k,l.total)}},enter:function(){var k=this,l={accum:k,leave:e,childTime:0,parent:c};++k.depth;if(k.maxDepth<k.depth){k.maxDepth=k.depth}c=l;l.time=b();return l},monitor:function(m,l,k){var n=this.enter();if(k){m.apply(l,k)}else{m.call(l)}n.leave()},report:function(){Ext.log(this.format())},tap:function(s,u){var t=this,n=typeof u==="string"?[u]:u,r,v,p,o,m,l,k,q;q=function(){if(typeof s==="string"){r=Ext.global;o=s.split(".");for(p=0,m=o.length;p<m;++p){r=r[o[p]]}}else{r=s}for(p=0,m=n.length;p<m;++p){l=n[p];v=l.charAt(0)==="!";if(v){l=l.substring(1)}else{v=!(l in r.prototype)}k=v?r:r.prototype;k[l]=j(t,k[l])}};Ext.ClassManager.onCreated(q,t,s);return t}}},function(){Ext.perf.getTimestamp=this.getTimestamp});Ext.define("Ext.perf.Monitor",{singleton:true,alternateClassName:"Ext.Perf",constructor:function(){this.accumulators=[];this.accumulatorsByName={}},calibrate:function(){var b=new Ext.perf.Accumulator("$"),g=b.total,c=Ext.perf.Accumulator.getTimestamp,e=0,h,a,d;d=c();do{h=b.enter();h.leave();++e}while(g.sum<100);a=c();return(a-d)/e},get:function(b){var c=this,a=c.accumulatorsByName[b];if(!a){c.accumulatorsByName[b]=a=new Ext.perf.Accumulator(b);c.accumulators.push(a)}return a},enter:function(a){return this.get(a).enter()},monitor:function(a,c,b){this.get(a).monitor(c,b)},report:function(){var c=this,b=c.accumulators,a=c.calibrate();b.sort(function(e,d){return(e.name<d.name)?-1:((d.name<e.name)?1:0)});c.updateGC();Ext.log("Calibration: "+Math.round(a*100)/100+" msec/sample");Ext.each(b,function(d){Ext.log(d.format(a))})},getData:function(c){var b={},a=this.accumulators;Ext.each(a,function(d){if(c||d.count){b[d.name]=d.getData()}});return b},reset:function(){Ext.each(this.accumulators,function(a){var b=a;b.count=b.childCount=b.depth=b.maxDepth=0;b.pure={min:Number.MAX_VALUE,max:0,sum:0};b.total={min:Number.MAX_VALUE,max:0,sum:0}})},updateGC:function(){var a=this.accumulatorsByName.GC,b=Ext.senchaToolbox,c;if(a){a.count=b.garbageCollectionCounter||0;if(a.count){c=a.pure;a.total.sum=c.sum=b.garbageCollectionMilliseconds;c.min=c.max=c.sum/a.count;c=a.total;c.min=c.max=c.sum/a.count}}},watchGC:function(){Ext.perf.getTimestamp();var a=Ext.senchaToolbox;if(a){this.get("GC");a.watchGarbageCollector(false)}},setup:function(c){if(!c){c={render:{"Ext.Component":"render"},layout:{"Ext.layout.Context":"run"}}}this.currentConfig=c;var d,g,b,e,a;for(d in c){if(c.hasOwnProperty(d)){g=c[d];b=Ext.Perf.get(d);for(e in g){if(g.hasOwnProperty(e)){a=g[e];b.tap(e,a)}}}}this.watchGC()},setupLog:function(c){var e,a,b,g,d;for(e in c){if(c.hasOwnProperty(e)){a=Ext.ClassManager.get(e);if(a){b=c[e];d={};for(g in b){d[g]=(function(h,i){return function(){var l,m,n,k,j;l=+Date.now();j=this.callParent(arguments);m=+Date.now()-l;if(window.console&&m>0){k=i==="this"?this:typeof i==="string"?this[i]:typeof i==="number"?arguments[i]:null;if(k){n=k.id}if(n!=null){console.log(h+" for "+n+": "+m+"ms")}else{console.log(h+" for unknown: "+m+"ms")}if(console.trace){console.trace()}}return j}})(g,b[g])}Ext.override(a,d)}}}}});Ext.define("Ext.plugin.Abstract",{alternateClassName:"Ext.AbstractPlugin",isPlugin:true,constructor:function(a){if(a){this.pluginConfig=a;this.initConfig(a)}},clonePlugin:function(a){return new this.self(Ext.apply({},a,this.pluginConfig))},getCmp:function(){return this.cmp},setCmp:function(a){this.cmp=a},init:Ext.emptyFn,destroy:function(){this.cmp=this.pluginConfig=null;this.callParent()},onClassExtended:function(b,e,a){var d=e.alias,c=b.prototype;if(d&&!e.ptype){if(Ext.isArray(d)){d=d[0]}c.ptype=d.split("plugin.")[1]}},resolveListenerScope:function(d){var c=this,b=c.getCmp(),a;if(b){a=b.resolveSatelliteListenerScope(c,d)}return a||c.mixins.observable.resolveListenerScope.call(c,d)}});Ext.define("Ext.plugin.LazyItems",{extend:Ext.plugin.Abstract,alias:"plugin.lazyitems",init:function(a){this.callParent(arguments);if(this.items){if(this.eagerInstantiation){this.items=a.prepareItems(this.items)}}a.beforeRender=Ext.Function.createInterceptor(a.beforeRender,this.beforeComponentRender,this)},beforeComponentRender:function(){this.cmp.add(this.items);this.cmp.beforeComponentRender=null}});Ext.define("Ext.plugin.MouseEnter",{extend:Ext.plugin.Abstract,alias:"plugin.mouseenter",element:"el",init:function(a){var c=this,b={mouseover:c.onMouseOver,scope:c,destroyable:true};if(c.leaveHandler){b.mouseout=c.onMouseOut}if(typeof c.element==="string"){b.element=c.element;c.mouseListener=a.on(b)}else{c.mouseListener=c.element.on(b)}},onMouseOver:function(c){var b=this,a=c.getTarget(b.delegate);if(a&&a!==c.getRelatedTarget(b.delegate)){Ext.callback(b.handler,null,[c,a],0,b.cmp,b.scope)}},onMouseOut:function(c){var b=this,a=c.getRelatedTarget(b.delegate);if(a&&a!==c.getTarget(b.delegate)){Ext.callback(b.leaveHandler,null,[c,a],0,b.cmp,b.scope)}},destroy:function(){this.callParent();Ext.destroy(this.mouseListener)}});Ext.define("Ext.sparkline.Shape",{constructor:function(d,e,b,a){var c=this;c.target=d;c.id=e;c.type=b;c.args=a},append:function(){this.target.appendShape(this);return this}});Ext.define("Ext.sparkline.CanvasBase",{shapeCount:0,_pxregex:/(\d+)(px)?\s*$/i,constructor:function(a){this.owner=a;this.rtl=this.owner.getInherited().rtl},setWidth:function(a){this.pixelWidth=a},setHeight:function(a){this.pixelHeight=a},drawLine:function(c,e,b,d,g,a){return this.drawShape([[c,e],[b,d]],g,a)},drawShape:function(c,b,d,a){return this._genShape("Shape",[c,b,d,a])},drawCircle:function(c,g,b,d,e,a){return this._genShape("Circle",[c,g,b,d,e,a])},drawPieSlice:function(b,h,a,d,c,e,g){return this._genShape("PieSlice",[b,h,a,d,c,e,g])},drawRect:function(b,g,c,a,d,e){return this._genShape("Rect",[b,g,c,a,d,e])},getElement:function(){return this.el},getLastShapeId:function(){return this.lastShapeId},reset:function(){},_genShape:function(b,a){var c=this.shapeCount++;a.unshift(c);return new Ext.sparkline.Shape(this,c,b,a)},appendShape:function(a){},replaceWithShape:function(b,a){},insertAfterShape:function(b,a){},removeShapeId:function(a){},getShapeAt:function(a,b){},render:function(){}});Ext.define("Ext.sparkline.CanvasCanvas",{extend:Ext.sparkline.CanvasBase,statics:{contextOverrides:(function(){var a=window.devicePixelRatio||1;return{moveTo:function(b,c){if(this.rtl){b=this.canvas.width-b-1}this.$moveTo(b*a,c*a)},lineTo:function(b,c){if(this.rtl){b=this.canvas.width-b-1}this.$lineTo(b*a,c*a)},arc:function(c,h,b,g,d,e){if(this.rtl){c=this.canvas.width-c-1}this.$arc(c*a,h*a,b*a,g,d,e)},clearRect:function(c,e,d,b){if(this.rtl){c=this.canvas.width-c-d}this.$clearRect(c*a,e*a,d*a,b*a)}}})()},setWidth:function(a){this.callParent(arguments);this.owner.element.dom.width=a*(window.devicePixelRatio||1)},setHeight:function(a){this.callParent(arguments);this.owner.element.dom.height=a*(window.devicePixelRatio||1)},onOwnerUpdate:function(){var a=this;a.el=a.owner.element;a.interact=!a.owner.initialConfig.disableInteraction;a.shapes={};a.shapeseq=[];a.currentTargetShapeId=a.lastShapeId=null},_getContext:function(d,g,a){var c=this.el.dom.getContext("2d"),e=Ext.sparkline.CanvasCanvas.contextOverrides,b;if(!this.context){for(b in e){c["$"+b]=c[b]}Ext.apply(c,e);c.rtl=this.rtl;this.context=c}if(d!=null){c.strokeStyle=d}c.lineWidth=a||1;if(g!=null){c.fillStyle=g}return c},reset:function(){var a=this._getContext();a.clearRect(0,0,this.pixelWidth,this.pixelHeight);this.shapes={};this.shapeseq=[];this.currentTargetShapeId=this.lastShapeId=null},_drawShape:function(h,k,j,b,g){var c=this._getContext(j,b,g),a=this.rtl?-0.5:0.5,e,d;c.beginPath();c.moveTo(k[0][0]+a,k[0][1]+0.5);for(e=1,d=k.length;e<d;e++){c.lineTo(k[e][0]+a,k[e][1]+0.5)}if(j!=null){c.stroke()}if(b!=null){c.fill()}if(this.targetX!=null&&this.targetY!=null&&c.isPointInPath(this.targetX,this.targetY)){this.currentTargetShapeId=h}},_drawCircle:function(g,c,i,b,e,h,a){var d=this._getContext(e,h,a);d.beginPath();d.arc(c,i,b,0,2*Math.PI,false);if(this.targetX!=null&&this.targetY!=null&&d.isPointInPath(this.targetX,this.targetY)){this.currentTargetShapeId=g}if(e!=null){d.stroke()}if(h!=null){d.fill()}},_drawPieSlice:function(e,j,h,d,g,c,i,b){var a=this._getContext(i,b);a.beginPath();a.moveTo(j,h);a.arc(j,h,d,g,c,false);a.lineTo(j,h);a.closePath();if(i!=null){a.stroke()}if(b){a.fill()}if(this.targetX!==undefined&&this.targetY!==undefined&&a.isPointInPath(this.targetX,this.targetY)){this.currentTargetShapeId=e}},_drawRect:function(e,b,h,c,a,d,g){return this._drawShape(e,[[b,h],[b+c,h],[b+c,h+a],[b,h+a],[b,h]],d,g)},appendShape:function(a){this.shapes[a.id]=a;this.shapeseq.push(a.id);this.lastShapeId=a.id;return a.id},replaceWithShape:function(c,a){var d=this.shapeseq,b;this.shapes[a.id]=a;for(b=d.length;b--;){if(d[b]===c){d[b]=a.id}}delete this.shapes[c]},replaceWithShapes:function(c,b){var h=this.shapeseq,e={},a,d,g;for(d=c.length;d--;){e[c[d]]=true}for(d=h.length;d--;){a=h[d];if(e[a]){h.splice(d,1);delete this.shapes[a];g=d}}for(d=b.length;d--;){h.splice(g,0,b[d].id);this.shapes[b[d].id]=b[d]}},insertAfterShape:function(c,a){var d=this.shapeseq,b;for(b=d.length;b--;){if(d[b]===c){d.splice(b+1,0,a.id);this.shapes[a.id]=a;return}}},removeShapeId:function(b){var c=this.shapeseq,a;for(a=c.length;a--;){if(c[a]===b){c.splice(a,1);break}}delete this.shapes[b]},getShapeAt:function(a,b){if(this.rtl){a=this.el.dom.width-a-1}this.targetX=a;this.targetY=b;this.render();return this.currentTargetShapeId},render:function(){var h=this.shapeseq,a=this.shapes,e=h.length,d=this._getContext(),g,b,c;d.clearRect(0,0,this.pixelWidth,this.pixelHeight);for(c=0;c<e;c++){g=h[c];b=a[g];this["_draw"+b.type].apply(this,b.args)}if(!this.interact){this.shapes={};this.shapeseq=[]}}});Ext.define("Ext.sparkline.VmlCanvas",{extend:Ext.sparkline.CanvasBase,setWidth:function(a){var b=this;b.callParent(arguments);b.owner.groupEl.dom.coordsize=b.width+" "+(b.height||0);b.owner.groupEl.dom.style.width=a+"px"},setHeight:function(a){var b=this;b.callParent(arguments);b.owner.groupEl.dom.coordsize=(b.width||0)+" "+b.height;b.owner.groupEl.dom.style.height=a+"px"},onOwnerUpdate:function(){var a=this;a.group=a.owner.groupEl;a.el=a.owner.element;a.prerender=[]},_drawShape:function(g,n,j,a,d){var k=[],h,m,l,e,b,c;for(c=0,b=n.length;c<b;c++){k[c]=(n[c][0])+","+(n[c][1])}h=k.splice(0,1);d=d==null?1:d;m=j==null?' stroked="false" ':' strokeWeight="'+d+'px" strokeColor="'+j+'" ';l=a==null?' filled="false"':' fillColor="'+a+'" filled="true" ';e=k[0]===k[k.length-1]?"x ":"";return['<svml:shape coordorigin="0 0" coordsize="',this.pixelWidth," ",this.pixelHeight,'" id="jqsshape',g,'" ',m,l,' style="position:absolute;height:',this.pixelHeight,"px;width:",this.pixelWidth,'px" ',' path="m ',h," l ",k.join(", ")," ",e,'e"></svml:shape>'].join("")},_drawCircle:function(d,i,g,c,h,a,b){var e=c*2,k,j;i-=c;g-=c;k=h==null?' stroked="false" ':' strokeWeight="'+b+'px" strokeColor="'+h+'" ';j=a==null?' filled="false"':' fillColor="'+a+'" filled="true" ';return['<svml:oval id="jqsshape',d,'" ',k,j,' style="position:absolute;top:',g,"px; left:",i,"px;width:",e,"px;height:",e,'px"></svml:oval>'].join("")},_drawPieSlice:function(j,o,m,i,k,e,n,d){var l,c=this.pixelWidth,p=this.pixelHeight,b,a,h,g,r=n==null?' stroked="false" ':' strokeWeight="1px" strokeColor="'+n+'" ',q=d==null?' filled="false"':' fillColor="'+d+'" filled="true" ';if(k===e){return""}if((e-k)===(2*Math.PI)){k=0;e=(2*Math.PI)}b=o+Math.round(Math.cos(k)*i);a=m+Math.round(Math.sin(k)*i);h=o+Math.round(Math.cos(e)*i);g=m+Math.round(Math.sin(e)*i);if(b===h&&a===g){if((e-k)<Math.PI){return""}b=h=o+i;a=g=m}if(b===h&&a===g&&(e-k)<Math.PI){return""}l=[o-i,m-i,o+i,m+i,b,a,h,g];return['<svml:shape coordorigin="0 0" coordsize="',c," ",p,'" id="jqsshape',j,'" ',r,q,' style="position:absolute;height:',p,"px;width:",c,'px" path="m ',o,",",m," wa ",l.join(", "),' x e"></svml:shape>'].join("")},_drawRect:function(e,b,h,c,a,d,g){return this._drawShape(e,[[b,h],[b,h+a],[b+c,h+a],[b+c,h],[b,h]],d,g)},reset:function(){Ext.fly(this.group).empty()},appendShape:function(a){this.prerender.push(this["_draw"+a.type].apply(this,a.args));this.lastShapeId=a.id;return a.id},replaceWithShape:function(d,a){var c=this.el.getById("jqsshape"+d,true),b=this["_draw"+a.type].apply(this,a.args);c.outerHTML=b},replaceWithShapes:function(b,a){var e=this.el.getById("jqsshape"+b[0],true),d="",g=a.length,c;for(c=0;c<g;c++){d+=this["_draw"+a[c].type].apply(this,a[c].args)}e.outerHTML=d;for(c=1;c<b.length;c++){this.el.getById("jqsshape"+b[c]).destroy()}},insertAfterShape:function(d,a){var c=this.el.getById("jqsshape"+d,true),b=this["_draw"+a.type].apply(this,a.args);c.insertAdjacentHTML("afterEnd",b)},removeShapeId:function(b){var a=this.el.getById("jqsshape"+b,true);this.group.removeChild(a)},getShapeAt:function(a,c){var b=this.el.id.substr(8);return b},render:function(){this.group.dom.innerHTML=this.prerender.join("")}},function(){Ext.onInternalReady(function(){var a=document;if(a.namespaces&&!a.namespaces.svml){a.namespaces.add("svml","urn:schemas-microsoft-com:vml","#default#VML")}})});Ext.define("Ext.util.Color",{alternateClassName:"Ext.draw.Color",statics:{colorToHexRe:/(.*?)rgb\((\d+),\s*(\d+),\s*(\d+)\)/,rgbToHexRe:/\s*rgb\((\d+),\s*(\d+),\s*(\d+)\)/,rgbaToHexRe:/\s*rgba\((\d+),\s*(\d+),\s*(\d+),\s*([\.\d]+)\)/,hexRe:/\s*#([0-9a-fA-F][0-9a-fA-F]?)([0-9a-fA-F][0-9a-fA-F]?)([0-9a-fA-F][0-9a-fA-F]?)\s*/,NONE:"none",RGBA_NONE:"rgba(0, 0, 0, 0)"},isColor:true,lightnessFactor:0.2,constructor:function(d,b,a,c){this.setRGB(d,b,a,c)},clone:function(){var a=this;return new this.self(a.r,a.g,a.b,a.a)},setRGB:function(e,c,a,d){var b=this;b.r=Math.min(255,Math.max(0,e));b.g=Math.min(255,Math.max(0,c));b.b=Math.min(255,Math.max(0,a));if(d===undefined){b.a=1}else{b.a=Math.min(1,Math.max(0,d))}},getBrightness:function(){var d=this.r/255*100,c=this.g/255*100,a=this.b/255*100;return((d*299)+(c*587)+(a*114))/1000},getGrayscale:function(){return this.r*0.3+this.g*0.59+this.b*0.11},getHSL:function(){var j=this,a=j.r/255,i=j.g/255,k=j.b/255,m=Math.max(a,i,k),d=Math.min(a,i,k),n=m-d,e,o=0,c=0.5*(m+d);if(d!==m){o=(c<=0.5)?n/(m+d):n/(2-m-d);if(a===m){e=60*(i-k)/n}else{if(i===m){e=120+60*(k-a)/n}else{e=240+60*(a-i)/n}}if(e<0){e+=360}if(e>=360){e-=360}}return[e,o,c]},getHSV:function(){var j=this,a=j.r/255,i=j.g/255,k=j.b/255,l=Math.max(a,i,k),d=Math.min(a,i,k),c=l-d,e,n=0,m=l;if(d!=l){n=m?c/m:0;if(a===l){e=60*(i-k)/c}else{if(i===l){e=60*(k-a)/c+120}else{e=60*(a-i)/c+240}}if(e<0){e+=360}if(e>=360){e-=360}}return[e,n,m]},setHSL:function(i,g,e){var j=this,d=Math.abs,k,b,a;i=(i%360+360)%360;g=g>1?1:g<0?0:g;e=e>1?1:e<0?0:e;if(g===0||i===null){e*=255;j.setRGB(e,e,e)}else{i/=60;k=g*(1-d(2*e-1));b=k*(1-d(i%2-1));a=e-k/2;a*=255;k*=255;b*=255;switch(Math.floor(i)){case 0:j.setRGB(k+a,b+a,a);break;case 1:j.setRGB(b+a,k+a,a);break;case 2:j.setRGB(a,k+a,b+a);break;case 3:j.setRGB(a,b+a,k+a);break;case 4:j.setRGB(b+a,a,k+a);break;case 5:j.setRGB(k+a,a,b+a);break}}return j},setHSV:function(g,e,d){var i=this,j,b,a;g=(g%360+360)%360;e=e>1?1:e<0?0:e;d=d>1?1:d<0?0:d;if(e===0||g===null){d*=255;i.setRGB(d,d,d)}else{g/=60;j=d*e;b=j*(1-Math.abs(g%2-1));a=d-j;a*=255;j*=255;b*=255;switch(Math.floor(g)){case 0:i.setRGB(j+a,b+a,a);break;case 1:i.setRGB(b+a,j+a,a);break;case 2:i.setRGB(a,j+a,b+a);break;case 3:i.setRGB(a,b+a,j+a);break;case 4:i.setRGB(b+a,a,j+a);break;case 5:i.setRGB(j+a,a,b+a);break}}return i},createLighter:function(b){var a=this.clone();a.lighten(b);return a},lighten:function(b){if(!b&&b!==0){b=this.lightnessFactor}var a=this.getHSL();this.setHSL(a[0],a[1],Ext.Number.constrain(a[2]+b,0,1))},createDarker:function(b){var a=this.clone();a.darken(b);return a},darken:function(a){if(!a&&a!==0){a=this.lightnessFactor}return this.lighten(-a)},toString:function(){var h=this,c=Math.round;if(h.a===1){var e=c(h.r).toString(16),d=c(h.g).toString(16),a=c(h.b).toString(16);e=(e.length===1)?"0"+e:e;d=(d.length===1)?"0"+d:d;a=(a.length===1)?"0"+a:a;return["#",e,d,a].join("")}else{return"rgba("+[c(h.r),c(h.g),c(h.b),h.a===0?0:h.a.toFixed(15)].join(", ")+")"}},toHex:function(c){var h=this.r,e=this.g,a=this.b,d=a|(e<<8)|(h<<16);return"#"+("000000"+d.toString(16)).slice(-6)},setFromString:function(k){var e,i,h,c,d=1,j=parseInt;if(k===Ext.util.Color.NONE){this.r=this.g=this.b=this.a=0;return this}if((k.length===4||k.length===7)&&k.substr(0,1)==="#"){e=k.match(Ext.util.Color.hexRe);if(e){i=j(e[1],16)>>0;h=j(e[2],16)>>0;c=j(e[3],16)>>0;if(k.length===4){i+=(i*16);h+=(h*16);c+=(c*16)}}}else{if((e=k.match(Ext.util.Color.rgbToHexRe))){i=+e[1];h=+e[2];c=+e[3]}else{if((e=k.match(Ext.util.Color.rgbaToHexRe))){i=+e[1];h=+e[2];c=+e[3];d=+e[4]}else{if(Ext.util.Color.ColorList.hasOwnProperty(k.toLowerCase())){return this.setFromString(Ext.util.Color.ColorList[k.toLowerCase()])}}}}if(typeof i==="undefined"){return this}this.r=i;this.g=h;this.b=c;this.a=d;return this}},function(){var a=new this();this.addStatics({fly:function(e,c,b,d){switch(arguments.length){case 1:a.setFromString(e);break;case 3:case 4:a.setRGB(e,c,b,d);break;default:return null}return a},ColorList:{aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgrey:"#d3d3d3",lightgreen:"#90ee90",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370d8",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#d87093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},fromHSL:function(d,c,b){return(new this(0,0,0,0)).setHSL(d,c,b)},fromHSV:function(d,c,b){return(new this(0,0,0,0)).setHSL(d,c,b)},fromString:function(b){return(new this(0,0,0,0)).setFromString(b)},create:function(b){if(b instanceof this){return b}else{if(Ext.isArray(b)){return new Ext.util.Color(b[0],b[1],b[2],b[3])}else{if(Ext.isString(b)){return Ext.util.Color.fromString(b)}else{if(arguments.length>2){return new Ext.util.Color(arguments[0],arguments[1],arguments[2],arguments[3])}else{return new Ext.util.Color(0,0,0,0)}}}}}})});Ext.define("Ext.sparkline.Base",{extend:Ext.Gadget,xtype:"sparkline",cachedConfig:{baseCls:Ext.baseCSSPrefix+"sparkline",lineColor:"#157fcc",defaultPixelsPerValue:3,tagValuesAttribute:"values",enableTagOptions:false,enableHighlight:true,highlightColor:null,highlightLighten:0.1,tooltipSkipNull:true,tooltipPrefix:"",tooltipSuffix:"",disableTooltips:false,disableInteraction:false,tipTpl:null},config:{values:null},element:{tag:"canvas",reference:"element",style:{display:"inline-block",verticalAlign:"top"},listeners:{mouseenter:"onMouseEnter",mouseleave:"onMouseLeave",mousemove:"onMouseMove"},width:0,height:0},defaultBindProperty:"values",redrawQueue:{},inheritableStatics:{sparkLineTipClass:Ext.baseCSSPrefix+"sparkline-tip-target",onClassCreated:function(c){var a=c.prototype.applyConfigChange,e=c.prototype,g=c.getConfigurator().configs,d,b;for(d in g){if(d!=="tipTpl"){b=Ext.Config.get(d).names.apply;if(e[b]){e[b]=Ext.Function.createSequence(e[b],a)}else{e[b]=a}}}}},constructor:function(a){var b=this;b.canvas=Ext.supports.Canvas?new Ext.sparkline.CanvasCanvas(b):new Ext.sparkline.VmlCanvas(b);if(!b.getDisableTooltips()){b.element.cls=Ext.sparkline.Base.sparkLineTipClass}Ext.apply(b,a);b.callParent([a])},all:function(d,b,a){var c;for(c=b.length;c--;){if(a&&b[c]===null){continue}if(b[c]!==d){return false}}return true},applyConfigChange:function(b){var a=this;a.redrawQueue[a.getId()]=a;if(!a.redrawTimer){Ext.sparkline.Base.prototype.redrawTimer=Ext.Function.requestAnimationFrame(a.processRedrawQueue)}return b},applyTipTpl:function(a){if(a&&!a.isTemplate){a=new Ext.XTemplate(a)}return a},normalizeValue:function(b){var a;switch(b){case"undefined":b=undefined;break;case"null":b=null;break;case"true":b=true;break;case"false":b=false;break;default:a=parseFloat(b);if(b==a){b=a}}return b},normalizeValues:function(c){var b,a=[];for(b=c.length;b--;){a[b]=this.normalizeValue(c[b])}return a},updateWidth:function(b,a){var c=this,e=c.element.dom,d=c.measurer;c.callParent([b,a]);c.canvas.setWidth(b);c.width=b;if(c.height==null&&d){c.setHeight(parseInt(d.getCachedStyle(e.parentNode,"line-height"),10))}},updateHeight:function(a,c){var b=this;b.callParent([a,c]);b.canvas.setHeight(a);b.height=a},applyValues:function(b,a){if(b&&a&&Ext.Array.equals(b,a)){b=undefined}return b},updateValues:function(a){this.values=a},redraw:function(){var a=this;if(!a.destroyed&&a.getValues()){a.onUpdate();a.canvas.onOwnerUpdate();a.renderGraph()}},onUpdate:Ext.emptyFn,renderGraph:function(){var a=true;if(this.disabled){this.canvas.reset();a=false}return a},onMouseEnter:function(a){this.onMouseMove(a)},onMouseMove:function(a){this.currentPageXY=a.getPoint();this.redraw()},onMouseLeave:function(){var a=this;a.currentPageXY=a.targetX=a.targetY=null;a.redraw();a.hideTip()},updateDisplay:function(){var b=this,a=b.getValues(),e,c,d;if(a&&a.length&&b.currentPageXY&&b.el.getRegion().contains(b.currentPageXY)){e=b.canvas.el.getXY();d=b.getRegion(b.currentPageXY[0]-e[0],b.currentPageXY[1]-e[1]);if(d!=null&&b.isValidRegion(d,a)){if(!b.disableHighlight){b.renderHighlight(d)}c=b.getRegionTooltip(d)}b.fireEvent("sparklineregionchange",b);if(c){b.tooltip.setHtml(c);b.showTip()}}if(!c){b.hideTip()}},getRegion:Ext.emptyFn,getRegionTooltip:function(n){var m=this,e=[],p=m.getTipTpl(),g,h,d,k,b,o,l,c,a;g=m.getRegionFields(n);o=m.tooltipFormatter;if(o){return o(m,m,g)}if(!p){return""}if(!Ext.isArray(g)){g=[g]}h=m.tooltipFormatFieldlist;d=m.tooltipFormatFieldlistKey;if(h&&d){k=[];for(c=g.length;c--;){b=g[c][d];if((a=Ext.Array.indexOf(b,h))!==-1){k[a]=g[c]}}g=k}l=g.length;for(a=0;a<l;a++){if(!g[a].isNull||!m.getTooltipSkipNull()){Ext.apply(g[a],{prefix:m.getTooltipPrefix(),suffix:m.getTooltipSuffix()});e.push(p.apply(g[a]))}}if(e.length){return e.join("<br>")}return""},getRegionFields:Ext.emptyFn,calcHighlightColor:function(a){var c=this,e=c.getHighlightColor(),b=c.getHighlightLighten(),d;if(e){return e}if(b){d=Ext.util.Color.fromString(a);if(d){d.lighten(b);a=d.toHex()}}return a},destroy:function(){delete this.redrawQueue[this.getId()];this.callParent()},privates:{hideTip:Ext.privateFn,isValidRegion:function(b,a){return b<a.length},showTip:Ext.privateFn}},function(b){var a=b.prototype;Ext.onInternalReady(function(){a.tooltip=b.constructTip()});b.onClassCreated(b);a.processRedrawQueue=function(){var c=a.redrawQueue,d;for(d in c){c[d].redraw()}a.redrawQueue={};a.redrawTimer=0};if(!Ext.supports.Canvas){b.prototype.element={tag:"span",reference:"element",listeners:{mouseenter:"onMouseEnter",mouseleave:"onMouseLeave",mousemove:"onMouseMove"},style:{display:"inline-block",position:"relative",overflow:"hidden",margin:"0px",padding:"0px",verticalAlign:"top",cursor:"default"},children:[{tag:"svml:group",reference:"groupEl",coordorigin:"0 0",coordsize:"0 0",style:"position:absolute;width:0;height:0;pointer-events:none"}]}}});Ext.define("Ext.override.sparkline.Base",{override:"Ext.sparkline.Base",statics:{constructTip:function(){return new Ext.tip.ToolTip({id:"sparklines-tooltip",trackMouse:true,showDelay:0,dismissDelay:0,hideDelay:400})}},onMouseMove:function(a){this.currentEvent=a;this.tooltip.currentTarget.attach(this.element);this.callParent([a])},privates:{hideTip:function(){var a=this.tooltip;a.hide()},showTip:function(){this.tooltip.forceTargetOver(this.currentEvent,this.element)}}});Ext.define("Ext.sparkline.BarBase",{extend:Ext.sparkline.Base,renderHighlight:function(a){this.renderRegion(a,true)},renderGraph:function(){var h=this,b=h.values,d=h.canvas,k=h.regionShapes||(h.regionShapes={}),a,g,e,c;if(!h.callParent()){return}for(e=b.length;e--;){a=h.renderRegion(e);if(a){if(Ext.isArray(a)){g=[];for(c=a.length;c--;){a[c].append();g.push(a[c].id)}k[e]=g}else{a.append();k[e]=a.id}}else{k[e]=null}}if(h.currentPageXY){h.currentRegion=null;h.updateDisplay()}d.render()}});Ext.define("Ext.sparkline.RangeMap",{constructor:function(d){var c,a,b=[];for(c in d){if(d.hasOwnProperty(c)&&typeof c==="string"&&c.indexOf(":")>-1){a=c.split(":");a[0]=a[0].length===0?-Infinity:parseFloat(a[0]);a[1]=a[1].length===0?Infinity:parseFloat(a[1]);a[2]=d[c];b.push(a)}}this.map=d;this.rangelist=b||false},get:function(e){var d=this.rangelist,c,b,a;if((a=this.map[e])!==undefined){return a}if(d){for(c=d.length;c--;){b=d[c];if(b[0]<=e&&b[1]>=e){return b[2]}}}}});Ext.define("Ext.sparkline.Bar",{extend:Ext.sparkline.BarBase,alias:"widget.sparklinebar",config:{barColor:"#3366cc",negBarColor:"#f44",stackedBarColor:["#3366cc","#dc3912","#ff9900","#109618","#66aa00","#dd4477","#0099c6","#990099"],zeroColor:null,nullColor:null,zeroAxis:true,barWidth:4,barSpacing:1,chartRangeMin:null,chartRangeMax:null,chartRangeClip:false,colorMap:null},tipTpl:"&#9679; {prefix}{value}{suffix}",remove:function(e,c){var b,d,a=[];for(b=0,d=e.length;b<d;b++){if(e[b]!==c){a.push(e[b])}}return a},all:function(b,d,a){var c;for(c=b.length;c--;){if(a&&b[c]===null){continue}if(b[c]!==d){return false}}return true},applyColorMap:function(a){var b=this;if(Ext.isArray(a)){b.colorMapByIndex=a;b.colorMapByValue=null}else{b.colorMapByIndex=null;b.colorMapByValue=a;if(b.colorMapByValue&&b.colorMapByValue.get==null){b.colorMapByValue=new Ext.sparkline.RangeMap(a)}}b.applyConfigChange();return a},onUpdate:function(){var I=this,c=I.values,t=I.getBarWidth(),q=I.getBarSpacing(),k=I.getChartRangeMin(),l=I.getChartRangeMax(),m=I.getChartRangeClip(),D=Infinity,G=-Infinity,v,r,u,e,g,B,h,s,z=I.getZeroAxis(),o,x,A,C,F,E,w,y,H,p,J,n,d,b=[],a=[];for(B=0,h=c.length;B<h;B++){J=c[B];v=typeof(J)==="string"&&J.indexOf(":")>-1;if(v||Ext.isArray(J)){E=true;if(v){J=c[B]=I.normalizeValues(J.split(":"))}J=I.remove(J,null);r=Math.min.apply(Math,J);u=Math.max.apply(Math,J);if(r<D){D=r}if(u>G){G=u}}}I.stacked=E;I.regionShapes={};I.totalBarWidth=t+q;I.width=(c.length*t)+((c.length-1)*q);if(m){C=k==null?-Infinity:k;F=l==null?Infinity:l}g=[];e=E?[]:g;for(B=0,h=c.length;B<h;B++){if(E){w=c[B];c[B]=p=[];b[B]=0;e[B]=a[B]=0;for(y=0,H=w.length;y<H;y++){J=p[y]=m?Ext.Number.constrain(w[y],C,F):w[y];if(J!==null){if(J>0){b[B]+=J}if(D<0&&G>0){if(J<0){a[B]+=Math.abs(J)}else{e[B]+=J}}else{e[B]+=Math.abs(J-(J<0?G:D))}g.push(J)}}}else{J=m?Ext.Number.constrain(c[B],C,F):c[B];J=c[B]=I.normalizeValue(J);if(J!==null){g.push(J)}}}I.max=A=Math.max.apply(Math,g);I.min=x=Math.min.apply(Math,g);I.stackMax=G=E?Math.max.apply(Math,b):A;I.stackMin=D=E?Math.min.apply(Math,g):x;if(k!=null&&(m||k<x)){x=k}if(l!=null&&(m||l>A)){A=l}if(x<=0&&A>=0&&z){o=0}else{if(!z){o=x}else{if(x>0){o=x}else{o=A}}}I.xAxisOffset=o;s=E?(Math.max.apply(Math,e)+Math.max.apply(Math,a)):A-x;I.canvasHeightEf=(z&&x<0)?I.getHeight()-2:I.getHeight()-1;if(x<o){d=(E&&A>=0)?G:A;n=(d-o)/s*I.getHeight();if(n!==Math.ceil(n)){I.canvasHeightEf-=2;n=Math.ceil(n)}}else{n=I.getHeight()}I.yoffset=n;I.range=s},getRegion:function(b,c){var a=Math.floor(b/this.totalBarWidth);return(a<0||a>=this.values.length)?undefined:a},getRegionFields:function(e){var b=Ext.Array.from(this.values[e]),a=[],d,c;for(c=b.length;c--;){d=b[c];a.push({isNull:d===null,value:d,color:this.calcColor(c,d,e),offset:e})}return a},calcColor:function(j,i,d){var g=this,b=g.colorMapByIndex,h=g.colorMapByValue,a,e,c=g.getZeroColor();if(this.stacked){a=g.getStackedBarColor()}else{a=(i<0)?g.getNegBarColor():g.getBarColor()}if(i===0&&c!=null){a=c}if(h&&(e=h.get(i))){a=e}else{if(b&&b.length>d){a=b[d]}}return Ext.isArray(a)?a[j%a.length]:a},renderRegion:function(l,e){var z=this,n=z.values[l],a=z.xAxisOffset,o=z.range,w=z.stacked,c=z.canvas,q=z.getBarWidth(),j=l*z.totalBarWidth,b=z.canvasHeightEf,k=z.yoffset,h,r,t,s,g,u,d,A,v,m,p=z.getNullColor();n=Ext.isArray(n)?n:[n];d=n.length;A=n[0];s=z.all(n,null);m=z.all(n,a,true);if(s){if(p){t=e?p:z.calcHighlightColor(p,z);h=(k>0)?k-1:k;c.drawRect(j,h,q-1,0,t,t).append()}return}g=k;for(u=0;u<d;u++){A=n[u];if(w&&A===a){if(!m||v){continue}v=true}if(o>0){r=Math.floor(b*((Math.abs(A-a)/o)))+1}else{r=1}if(A<a||(A===a&&k===0)){h=g;g+=r}else{h=k-r;k-=r}t=z.calcColor(u,A,l);if(e){t=z.calcHighlightColor(t,z)}c.drawRect(j,h,q-1,r-1,t,t).append()}}},function(a){a.onClassCreated(a)});Ext.define("Ext.sparkline.Box",{extend:Ext.sparkline.Base,alias:"widget.sparklinebox",config:{raw:false,boxLineColor:"#000",boxFillColor:"#cdf",whiskerColor:"#000",outlierLineColor:"#333",outlierFillColor:"#fff",medianColor:"#f00",showOutliers:true,outlierIQR:1.5,spotRadius:1.5,target:null,targetColor:"#4a2",chartRangeMin:null,chartRangeMax:null},tipTpl:["{field:this.fields}: {value}",{fields:function(b){var a={lq:"Lower Quartile",med:"Median",uq:"Upper Quartile",lo:"Left Outlier",ro:"Right Outlier",lw:"Left Whisker",rw:"Right Whisker"};return a[b]}}],tooltipFormatFieldlistKey:"field",quartile:function(a,c){var b;if(c===2){b=Math.floor(a.length/2);return a.length%2?a[b]:(a[b-1]+a[b])/2}else{if(a.length%2){b=(a.length*c+c)/4;return b%1?(a[Math.floor(b)]+a[Math.floor(b)-1])/2:a[b-1]}else{b=(a.length*c+2)/4;return b%1?(a[Math.floor(b)]+a[Math.floor(b)-1])/2:a[b-1]}}},applyValues:function(a){a=Ext.Array.map(Ext.Array.from(a),Number);this.disabled=!(a&&a.length);this.applyConfigChange();return a},getRegion:function(){return 1},getRegionFields:function(){var a=[{field:"lq",value:this.quartiles[0]},{field:"med",value:this.quartiles[1]},{field:"uq",value:this.quartiles[2]}];if(this.loutlier!==undefined){a.push({field:"lo",value:this.loutlier})}if(this.routlier!==undefined){a.push({field:"ro",value:this.routlier})}if(this.lwhisker!==undefined){a.push({field:"lw",value:this.lwhisker})}if(this.rwhisker!==undefined){a.push({field:"rw",value:this.rwhisker})}return a},renderHighlight:Ext.emptyFn,renderGraph:function(){var E=this,l=E.canvas,h=E.values,o=h.length,D=E.getWidth(),e=E.getHeight(),q=E.getChartRangeMin(),t=E.getChartRangeMax(),x=q==null?Math.min.apply(Math,h):q,C=t==null?Math.max.apply(Math,h):t,z=0,w,B,j,s,r,p,b,m,A,y,g,F=E.getSpotRadius(),a=E.getOutlierLineColor(),k=E.getOutlierFillColor(),v=E.getShowOutliers(),u=E.getOutlierIQR(),d=E.getLineColor(),c=E.getWhiskerColor(),n=E.getTargetColor();if(!E.callParent()){return}if(E.raw){if(v&&h.length>5){B=h[0];w=h[1];s=h[2];r=h[3];p=h[4];b=h[5];m=h[6]}else{w=h[0];s=h[1];r=h[2];p=h[3];b=h[4]}}else{h.sort(function(G,i){return G-i});s=E.quartile(h,1);r=E.quartile(h,2);p=E.quartile(h,3);j=p-s;if(v){w=b=null;for(A=0;A<o;A++){if(w==null&&h[A]>s-(j*u)){w=h[A]}if(h[A]<p+(j*u)){b=h[A]}}B=h[0];m=h[o-1]}else{w=h[0];b=h[o-1]}}E.quartiles=[s,r,p];E.lwhisker=w;E.rwhisker=b;E.loutlier=B;E.routlier=m;g=D/(C-x+1);if(v){z=Math.ceil(F);D-=2*Math.ceil(F);g=D/(C-x+1);if(B<w){l.drawCircle((B-x)*g+z,e/2,F,a,k).append()}if(m>b){l.drawCircle((m-x)*g+z,e/2,F,a,k).append()}}l.drawRect(Math.round((s-x)*g+z),Math.round(e*0.1),Math.round((p-s)*g),Math.round(e*0.8),E.getBoxLineColor(),E.getBoxFillColor()).append();l.drawLine(Math.round((w-x)*g+z),Math.round(e/2),Math.round((s-x)*g+z),Math.round(e/2),d).append();l.drawLine(Math.round((w-x)*g+z),Math.round(e/4),Math.round((w-x)*g+z),Math.round(e-e/4),c).append();l.drawLine(Math.round((b-x)*g+z),Math.round(e/2),Math.round((p-x)*g+z),Math.round(e/2),d).append();l.drawLine(Math.round((b-x)*g+z),Math.round(e/4),Math.round((b-x)*g+z),Math.round(e-e/4),c).append();l.drawLine(Math.round((r-x)*g+z),Math.round(e*0.1),Math.round((r-x)*g+z),Math.round(e*0.9),E.getMedianColor()).append();if(E.target){y=Math.ceil(E.spotRadius);l.drawLine(Math.round((E.target-x)*g+z),Math.round((e/2)-y),Math.round((E.target-x)*g+z),Math.round((e/2)+y),n).append();l.drawLine(Math.round((E.target-x)*g+z-y),Math.round(e/2),Math.round((E.target-x)*g+z+y),Math.round(e/2),n).append()}if(E.currentPageXY&&E.el.getRegion().contains(E.currentPageXY)){E.currentRegion=null;E.updateDisplay()}l.render()}});Ext.define("Ext.sparkline.Bullet",{extend:Ext.sparkline.Base,alias:"widget.sparklinebullet",config:{targetColor:"#f33",targetWidth:3,performanceColor:"#33f",rangeColors:["#d3dafe","#a8b6ff","#7f94ff"],base:null},tipTpl:["{fieldkey:this.fields} - {value}",{fields:function(a){if(a==="r"){return"Range"}if(a==="p"){return"Performance"}if(a==="t"){return"Target"}}}],applyValues:function(a){a=Ext.Array.map(Ext.Array.from(a),this.normalizeValue);this.disabled=!(a&&a.length);this.applyConfigChange();return a},onUpdate:function(){var d=this,b=d.values,c,a,g,e=d.getBase();d.callParent(arguments);g=b.slice();g[0]=g[0]===null?g[2]:g[0];g[1]=b[1]===null?g[2]:g[1];c=Math.min.apply(Math,b);a=Math.max.apply(Math,b);if(e==null){c=c<0?c:0}else{c=e}d.min=c;d.max=a;d.range=a-c;d.shapes={};d.valueShapes={};d.regiondata={};if(!b.length){d.disabled=true}},getRegion:function(a,c){var b=this.canvas.getShapeAt(a,c);return(b!==undefined&&this.shapes[b]!==undefined)?this.shapes[b]:undefined},getRegionFields:function(a){return{fieldkey:a.substr(0,1),value:this.values[a.substr(1)],region:a}},renderHighlight:function(e){var d=this,b=d.valueShapes,a=d.shapes,g=b[e],c;delete a[g];switch(e.substr(0,1)){case"r":c=d.renderRange(e.substr(1),true);break;case"p":c=d.renderPerformance(true);break;case"t":c=d.renderTarget(true);break}b[e]=c.id;a[c.id]=e;d.canvas.replaceWithShape(g,c)},renderRange:function(e,b){var d=this.values[e],c=Math.round(this.getWidth()*((d-this.min)/this.range)),a=this.getRangeColors()[e-2];if(b){a=this.calcHighlightColor(a)}return this.canvas.drawRect(0,0,c-1,this.getHeight()-1,a,a)},renderPerformance:function(b){var d=this.values[1],c=Math.round(this.getWidth()*((d-this.min)/this.range)),a=this.getPerformanceColor();if(b){a=this.calcHighlightColor(a)}return this.canvas.drawRect(0,Math.round(this.getHeight()*0.3),c-1,Math.round(this.getHeight()*0.4)-1,a,a)},renderTarget:function(c){var h=this.values[0],e=this.getTargetWidth(),a=Math.round(this.getWidth()*((h-this.min)/this.range)-(e/2)),g=Math.round(this.getHeight()*0.1),d=this.getHeight()-(g*2),b=this.getTargetColor();if(c){b=this.calcHighlightColor(b)}return this.canvas.drawRect(a,g,e-1,d-1,b,b)},renderGraph:function(){var g=this,h=g.values.length,d=g.canvas,e,c,b=g.shapes||(g.shapes={}),a=g.valueShapes||(g.valueShapes={});if(!g.callParent()){return}for(e=2;e<h;e++){c=g.renderRange(e).append();b[c.id]="r"+e;a["r"+e]=c.id}if(g.values[1]!==null){c=g.renderPerformance().append();b[c.id]="p1";a.p1=c.id}if(g.values[0]!==null){c=this.renderTarget().append();b[c.id]="t0";a.t0=c.id}if(g.currentPageXY&&g.el.getRegion().contains(g.currentPageXY)){g.updateDisplay()}d.render()},privates:{isValidRegion:function(b,a){return true}}});Ext.define("Ext.sparkline.Discrete",{extend:Ext.sparkline.BarBase,alias:"widget.sparklinediscrete",config:{lineHeight:"auto",thresholdColor:null,thresholdValue:0,chartRangeMax:null,chartRangeMin:null,chartRangeClip:false},tipTpl:"{prefix}{value}{suffix}",applyValues:function(a){a=Ext.Array.map(Ext.Array.from(a),Number);this.disabled=!(a&&a.length);this.applyConfigChange();return a},onUpdate:function(){var c=this,b=c.values,a=c.getChartRangeMin(),d=c.getChartRangeMax(),e=c.getChartRangeClip();c.callParent(arguments);c.regionShapes={};c.min=Math.min.apply(Math,b);c.max=Math.max.apply(Math,b);c.range=c.max-c.min;c.width=c.getWidth();c.interval=Math.floor(c.width/b.length);c.itemWidth=c.width/b.length;if(a!=null&&(e||a<c.min)){c.min=a}if(d!=null&&(e||d>c.max)){c.max=d}if(c.canvas){if(c.getLineHeight()==="auto"){c.setLineHeight(Math.round(c.getHeight()*0.3))}}},getRegion:function(a,b){return Math.floor(a/this.itemWidth)},getRegionFields:function(a){return{isNull:this.values[a]===undefined,value:this.values[a],offset:a}},renderRegion:function(k,e){var m=this,r=m.values,h=m.min,n=m.max,j=m.range,c=m.interval,b=m.canvas,i=m.getHeight(),q=m.getLineHeight(),l=i-q,a,d,g,p,o=m.getThresholdColor();d=Ext.Number.constrain(r[k],h,n);p=k*c;a=Math.round(l-l*((d-h)/j));g=(o&&d<m.getThresholdValue())?o:m.getLineColor();if(e){g=m.calcHighlightColor(g)}b.drawLine(p,a,p,a+q,g).append()}});Ext.define("Ext.sparkline.Line",{extend:Ext.sparkline.Base,alias:"widget.sparklineline",config:{fillColor:"#def",spotColor:"#f80",highlightSpotColor:"#5f5",highlightLineColor:"#f22",spotRadius:1.5,minSpotColor:"#f80",maxSpotColor:"#f80",lineWidth:1,normalRangeMin:null,normalRangeMax:null,normalRangeColor:"#ccc",drawNormalOnTop:false,chartRangeMin:null,chartRangeMax:null,chartRangeMinX:null,chartRangeMaxX:null,valueSpots:null},tipTpl:"&#9679; {prefix}{y}{suffix}",applyValueSpots:function(a){if(a&&!a.get){a=new Ext.sparkline.RangeMap(a)}this.applyConfigChange();return a},onUpdate:function(){this.vertices=[];this.regionMap=[];this.xvalues=[];this.yvalues=[];this.yminmax=[]},getRegion:function(a,d){var b,c=this.regionMap;for(b=c.length;b--;){if(c[b]!==null&&a>=c[b][0]&&a<=c[b][1]){return c[b][2]}}return undefined},getRegionFields:function(a){return{isNull:this.yvalues[a]===null,x:this.xvalues[a],y:this.yvalues[a],color:this.getLineColor(),fillColor:this.getFillColor(),offset:a}},renderHighlight:function(g){var c=this,a=c.canvas,e=c.vertices[g],b=c.getSpotRadius(),h=c.getHighlightSpotColor(),d=c.getHighlightLineColor();if(!e){return}if(b&&h){a.drawCircle(e[0],e[1],b,null,h).append()}if(d){a.drawLine(e[0],c.canvasTop,e[0],c.canvasTop+c.getHeight(),d).append()}},scanValues:function(){var k=this,l=k.values,c=l.length,a=k.xvalues,h=k.yvalues,m=k.yminmax,e,d,j,g,b;for(e=0;e<c;e++){d=l[e];j=typeof(l[e])==="string";g=typeof(l[e])==="object"&&l[e] instanceof Array;b=j&&l[e].split(":");if(j&&b.length===2){a.push(Number(b[0]));h.push(Number(b[1]));m.push(Number(b[1]))}else{if(g){a.push(d[0]);h.push(d[1]);m.push(d[1])}else{a.push(e);if(l[e]===null||l[e]==="null"){h.push(null)}else{h.push(Number(d));m.push(Number(d))}}}}if(k.xvalues){a=k.xvalues}k.maxy=k.maxyorg=Math.max.apply(Math,m);k.miny=k.minyorg=Math.min.apply(Math,m);k.maxx=Math.max.apply(Math,a);k.minx=Math.min.apply(Math,a);k.xvalues=a;k.yvalues=h;k.yminmax=m},processRangeOptions:function(){var d=this,c=d.getNormalRangeMin(),g=d.getNormalRangeMax(),a=d.getChartRangeMin(),b=d.getChartRangeMinX(),e=d.getChartRangeMax(),h=d.getChartRangeMaxX();if(c!=null){if(c<d.miny){d.miny=c}if(g>d.maxy){d.maxy=g}}if(a!=null&&(d.chartRangeClip||a<d.miny)){d.miny=a}if(e!=null&&(d.chartRangeClip||e>d.maxy)){this.maxy=e}if(b!=null&&(d.chartRangeClipX||b<d.minx)){d.minx=b}if(h!=null&&(d.chartRangeClipX||h>d.maxx)){d.maxx=h}},drawNormalRange:function(c,h,g,d,i){var a=this.getNormalRangeMin(),e=this.getNormalRangeMax(),b=h+Math.round(g-(g*((e-this.miny)/i))),j=Math.round((g*(e-a))/i);this.canvas.drawRect(c,b,d,j,undefined,this.normalRangeColor).append()},renderGraph:function(){var q=this,k=q.canvas,M=q.getWidth(),m=q.getHeight(),d=q.vertices,L=q.getSpotRadius(),O=q.regionMap,B,g,C,t,r,s,J,A,F,E,j,w,n,p,h,K,e,D,o,c=q.getValueSpots(),H,u,G,I,N,l=q.getSpotColor(),b=q.getMinSpotColor(),z=q.getMaxSpotColor(),v=q.getNormalRangeMin(),a=q.getDrawNormalOnTop();if(!q.callParent()){return}q.scanValues();q.processRangeOptions();G=q.xvalues;I=q.yvalues;if(!q.yminmax.length||q.yvalues.length<2){return}t=r=0;B=q.maxx-q.minx===0?1:q.maxx-q.minx;g=q.maxy-q.miny===0?1:q.maxy-q.miny;C=q.yvalues.length-1;if(L&&(M<(L*4)||m<(L*4))){L=0}if(L){H=q.getHighlightSpotColor()&&!q.disableInteraction;if(H||b||(l&&I[C]===q.miny)){m-=Math.ceil(L)}if(H||z||(l&&I[C]===q.maxy)){m-=Math.ceil(L);t+=Math.ceil(L)}if(H||((b||z)&&(I[0]===q.miny||I[0]===q.maxy))){r+=Math.ceil(L);M-=Math.ceil(L)}if(H||l||(b||z&&(I[C]===q.miny||I[C]===q.maxy))){M-=Math.ceil(L)}}m--;if(v!=null&&!a){q.drawNormalRange(r,t,m,M,g)}J=[];A=[J];p=h=null;K=I.length;for(N=0;N<K;N++){F=G[N];j=G[N+1];E=I[N];w=r+Math.round((F-q.minx)*(M/B));n=N<K-1?r+Math.round((j-q.minx)*(M/B)):M;h=w+((n-w)/2);O[N]=[p||0,h,N];p=h;if(E===null){if(N){if(I[N-1]!==null){J=[];A.push(J)}d.push(null)}}else{if(E<q.miny){E=q.miny}if(E>q.maxy){E=q.maxy}if(!J.length){J.push([w,t+m])}s=[w,t+Math.round(m-(m*((E-this.miny)/g)))];J.push(s);d.push(s)}}e=[];D=[];o=A.length;for(N=0;N<o;N++){J=A[N];if(J.length){if(q.fillColor){J.push([J[J.length-1][0],(t+m)]);D.push(J.slice(0));J.pop()}if(J.length>2){J[0]=[J[0][0],J[1][1]]}e.push(J)}}o=D.length;for(N=0;N<o;N++){k.drawShape(D[N],q.fillColor,q.fillColor).append()}if(v!=null&&a){q.drawNormalRange(r,t,m,M,g)}o=e.length;for(N=0;N<o;N++){k.drawShape(e[N],q.getLineColor(),null,q.getLineWidth()).append()}if(L&&c){if(c.get==null){c=new Ext.sparkline.RangeMap(c)}for(N=0;N<K;N++){u=c.get(I[N]);if(u){k.drawCircle(r+Math.round((G[N]-q.minx)*(M/B)),t+Math.round(m-(m*((I[N]-q.miny)/g))),L,null,u).append()}}}if(L&&l&&I[C]!=null){k.drawCircle(r+Math.round((G[G.length-1]-q.minx)*(M/B)),t+Math.round(m-(m*((I[C]-q.miny)/g))),L,null,l).append()}if(q.maxy!==q.minyorg){if(L&&b){F=G[Ext.Array.indexOf(I,q.minyorg)];k.drawCircle(r+Math.round((F-q.minx)*(M/B)),t+Math.round(m-(m*((q.minyorg-q.miny)/g))),L,null,b).append()}if(L&&z){F=G[Ext.Array.indexOf(I,q.maxyorg)];k.drawCircle(r+Math.round((F-q.minx)*(M/B)),t+Math.round(m-(m*((q.maxyorg-q.miny)/g))),L,null,z).append()}}q.canvasTop=t;if(q.currentPageXY&&q.el.getRegion().contains(q.currentPageXY)){q.updateDisplay()}k.render()}});Ext.define("Ext.sparkline.Pie",{extend:Ext.sparkline.Base,alias:"widget.sparklinepie",config:{offset:0,sliceColors:["#3366cc","#dc3912","#ff9900","#109618","#66aa00","#dd4477","#0099c6","#990099"],borderWidth:0,borderColor:"#000"},tipTpl:'&#9679; {value} ({percent:number("0.0")}%)',applyValues:function(a){a=Ext.Array.map(Ext.Array.from(a),Number);this.disabled=!(a&&a.length);this.applyConfigChange();return a},onUpdate:function(){var d=this,a=d.values,c=0,b;d.callParent(arguments);d.shapes={};d.valueShapes={};if(a.length>0){for(b=a.length;b--;){c+=a[b]}}d.total=c;d.radius=Math.floor(Math.min(d.getWidth(),d.getHeight())/2)},getRegion:function(a,d){var b=window.devicePixelRatio||1,c=this.canvas.getShapeAt(a*b,d*b);return(c!=null&&this.shapes[c]!=null)?this.shapes[c]:null},getRegionFields:function(b){var a=this.getSliceColors();return{isNull:this.values[b]==null,value:this.values[b],percent:this.values[b]/this.total*100,color:a[b%a.length],offset:b}},renderHighlight:function(a){this.renderSlice(a,true).append()},renderSlice:function(m,e){var o=this,d=o.canvas,n=o.radius,a=o.getBorderWidth(),j=o.getOffset(),b=2*Math.PI,s=o.values,p=o.total,l=j?(2*Math.PI)*(j/360):0,c,h,k,q,g,r=this.getSliceColors();q=s.length;for(k=0;k<q;k++){c=l;h=l;if(p>0){h=l+(b*(s[k]/p))}if(m===k){g=r[k%r.length];if(e){g=o.calcHighlightColor(g)}return d.drawPieSlice(n,n,n-a,c,h,null,g)}l=h}},renderGraph:function(){var h=this,c=h.canvas,k=h.values,e=h.radius,a=h.getBorderWidth(),g,d,b=h.shapes||(h.shapes={}),j=h.valueShapes||(h.valueShapes={});if(!h.callParent()){return}if(a){c.drawCircle(e,e,Math.floor(e-(a/2)),h.getBorderColor(),null,a).append()}for(d=k.length;d--;){if(k[d]){g=h.renderSlice(d).append();j[d]=g.id;b[g.id]=d}}if(h.currentPageXY&&h.el.getRegion().contains(h.currentPageXY)){h.currentRegion=null;h.updateDisplay()}c.render()}});Ext.define("Ext.sparkline.TriState",{extend:Ext.sparkline.BarBase,alias:"widget.sparklinetristate",config:{barWidth:4,barSpacing:1,posBarColor:"#6f6",negBarColor:"#f44",zeroBarColor:"#999",colorMap:{}},tipTpl:["&#9679; {value:this.states}",{states:function(a){var b=Number(a);if(b===-1){return"Loss"}if(b===0){return"Draw"}if(b===1){return"Win"}return a}}],applyColorMap:function(a){var b=this;if(Ext.isArray(a)){b.colorMapByIndex=a;b.colorMapByValue=null}else{b.colorMapByIndex=null;b.colorMapByValue=a;if(b.colorMapByValue&&b.colorMapByValue.get==null){b.colorMapByValue=new Ext.sparkline.RangeMap(a)}}b.applyConfigChange();return a},applyValues:function(a){a=Ext.Array.map(Ext.Array.from(a),Number);this.disabled=!(a&&a.length);this.applyConfigChange();return a},onUpdate:function(){this.totalBarWidth=this.getBarWidth()+this.getBarSpacing()},getBarWidth:function(){var a=this.values;return this._barWidth||(this.getWidth()-(a.length-1)*this.getBarSpacing())/a.length},getRegion:function(a,b){return Math.floor(a/this.totalBarWidth)},getRegionFields:function(a){return{isNull:this.values[a]==null,value:this.values[a],color:this.calcColor(this.values[a],a),offset:a}},calcColor:function(g,h){var e=this,b=e.values,i=e.colorMapByIndex,d=e.colorMapByValue,a,c;if(d&&(c=d.get(g))){a=c}else{if(i&&i.length>h){a=i[h]}else{if(b[h]<0){a=e.getNegBarColor()}else{if(b[h]>0){a=e.getPosBarColor()}else{a=e.getZeroBarColor()}}}}return a},renderRegion:function(e,b){var h=this,k=h.values,a=h.canvas,d,l,g,j,i,c;d=a.pixelHeight;g=Math.round(d/2);j=e*h.totalBarWidth;if(k[e]<0){i=g;l=g-1}else{if(k[e]>0){i=0;l=g-1}else{i=g-1;l=2}}c=h.calcColor(k[e],e);if(c==null){return}if(b){c=h.calcHighlightColor(c)}a.drawRect(j,i,h.getBarWidth()-1,l-1,c,c).append()}});Ext.define("Ext.util.Base64",{singleton:true,_str:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",encode:function(e){var d=this;var a="",n,l,j,m,k,h,g,b=0;e=d._utf8_encode(e);var c=e.length;while(b<c){n=e.charCodeAt(b++);l=e.charCodeAt(b++);j=e.charCodeAt(b++);m=n>>2;k=((n&3)<<4)|(l>>4);h=((l&15)<<2)|(j>>6);g=j&63;if(isNaN(l)){h=g=64}else{if(isNaN(j)){g=64}}a=a+d._str.charAt(m)+d._str.charAt(k)+d._str.charAt(h)+d._str.charAt(g)}return a},decode:function(e){var d=this;var a="",n,l,j,m,k,h,g,b=0;e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");var c=e.length;while(b<c){m=d._str.indexOf(e.charAt(b++));k=d._str.indexOf(e.charAt(b++));h=d._str.indexOf(e.charAt(b++));g=d._str.indexOf(e.charAt(b++));n=(m<<2)|(k>>4);l=((k&15)<<4)|(h>>2);j=((h&3)<<6)|g;a=a+String.fromCharCode(n);if(h!==64){a=a+String.fromCharCode(l)}if(g!==64){a=a+String.fromCharCode(j)}}a=d._utf8_decode(a);return a},_utf8_encode:function(d){d=d.replace(/\r\n/g,"\n");var b="",g=0,a=d.length;for(;g<a;g++){var e=d.charCodeAt(g);if(e<128){b+=String.fromCharCode(e)}else{if((e>127)&&(e<2048)){b+=String.fromCharCode((e>>6)|192);b+=String.fromCharCode((e&63)|128)}else{b+=String.fromCharCode((e>>12)|224);b+=String.fromCharCode(((e>>6)&63)|128);b+=String.fromCharCode((e&63)|128)}}}return b},_utf8_decode:function(b){var e="",h=0,j=0,d=0,g=0,a=b.length;while(h<a){j=b.charCodeAt(h);if(j<128){e+=String.fromCharCode(j);h++}else{if((j>191)&&(j<224)){g=b.charCodeAt(h+1);e+=String.fromCharCode(((j&31)<<6)|(g&63));h+=2}else{g=b.charCodeAt(h+1);d=b.charCodeAt(h+2);e+=String.fromCharCode(((j&15)<<12)|((g&63)<<6)|(d&63));h+=3}}}return e}});Ext.define("Ext.util.DelimitedValue",{dateFormat:"C",delimiter:"\t",lineBreak:"\n",quote:'"',parseREs:{},quoteREs:{},lineBreakRe:/\r?\n/g,lastLineBreakRe:/(\r?\n|\r)$/,constructor:function(a){if(a){Ext.apply(this,a)}},decode:function(k,b){if(!k){return[]}var i=this,c=b||i.delimiter,n=[],o=[n],a=i.quote,g=i.quoteREs,l=i.parseREs,k=k.replace(i.lastLineBreakRe,""),m=l[c]||(l[c]=new RegExp("(\\"+c+"|\\r?\\n|\\r|^)(?:\\"+a+"([^\\"+a+"]*(?:\\"+a+"\\"+a+"[^\\"+a+"]*)*)\\"+a+'|([^"\\'+c+"\\r\\n]*))","gi")),e=g[a]||(g[a]=new RegExp("\\"+a+"\\"+a,"g")),h,d,j;while(h=m.exec(k)){d=h[1];if(d.length&&d!==c){o.push(n=[])}if(h[2]){j=h[2].replace(e,'"')}else{j=h[3]}n.push(j)}return o},encode:function(m,c){var j=this,e=c||j.delimiter,d=j.dateFormat,b=j.quote,k=b+b,l=m.length,h=j.lineBreakRe,o=[],a=[],g,i,n;while(l-->0){n=m[l];a.length=i=n.length;while(i-->0){g=n[i];if(g==null){g=""}else{if(typeof g==="string"){if(g){if(g.indexOf(b)>-1){g=b+g.split(b).join(k)+b}else{if(g.indexOf(e)>-1||h.test(g)){g=b+g+b}}}}else{if(Ext.isDate(g)){g=Ext.Date.format(g,d)}}}a[i]=g}o[l]=a.join(e)}return o.join(j.lineBreak)}});Ext.define("Ext.util.CSV",{extend:Ext.util.DelimitedValue,singleton:true,delimiter:","});Ext.define("Ext.util.LocalStorage",{id:null,destroyed:false,lazyKeys:true,prefix:"",session:false,_keys:null,_store:null,_users:0,statics:{cache:{},get:function(e){var d=this,b=d.cache,c={_users:1},a;if(Ext.isString(e)){c.id=e}else{Ext.apply(c,e)}if(!(a=b[c.id])){a=new d(c)}else{++a._users}return a},supported:true},constructor:function(a){var b=this;Ext.apply(b,a);if(b._users){Ext.util.LocalStorage.cache[b.id]=b}b.init()},init:function(){var a=this,b=a.id;if(!a.prefix&&b){a.prefix=b+"-"}a._store=(a.session?window.sessionStorage:window.localStorage)},destroy:function(){var a=this;delete Ext.util.LocalStorage.cache[a.id];a._store=a._keys=null;a.callParent()},getKeys:function(){var e=this,a=e._store,g=e.prefix,d=e._keys,h=g.length,c,b;if(!d){e._keys=d=[];for(c=a.length;c--;){b=a.key(c);if(b.length>h){if(g===b.substring(0,h)){d.push(b.substring(h))}}}}return d},release:function(){if(!--this._users){this.destroy()}},save:Ext.emptyFn,clear:function(){var d=this,a=d._store,e=d.prefix,c=d._keys||d.getKeys(),b;for(b=c.length;b--;){a.removeItem(e+c[b])}c.length=0},key:function(a){var b=this._keys||this.getKeys();return(0<=a&&a<b.length)?b[a]:null},getItem:function(b){var a=this.prefix+b;return this._store.getItem(a)},removeItem:function(c){var g=this,b=g.prefix+c,a=g._store,e=g._keys,d=a.length;a.removeItem(b);if(e&&d!==a.length){if(g.lazyKeys){g._keys=null}else{Ext.Array.remove(e,c)}}},setItem:function(c,h){var g=this,b=g.prefix+c,a=g._store,e=a.length,d=g._keys;a.setItem(b,h);if(d&&e!==a.length){d.push(c)}}},function(){var a=this;if("localStorage" in window){return}if(!Ext.isIE){a.supported=false;return}a.override({data:null,flushDelay:1,init:function(){var c=this,d=c.data,b;c.el=b=document.createElement("div");b.id=(c.id||(c.id="extjs-localstore"));b.addBehavior("#default#userdata");Ext.getHead().dom.appendChild(b);b.load(c.id);d=b.getAttribute("xdata");c.data=d=(d?Ext.decode(d):{});c._flushFn=function(){c._timer=null;c.save(0)}},destroy:function(){var c=this,b=c.el;if(b){if(c._timer){c.save()}b.parentNode.removeChild(b);c.data=c.el=null;c.callParent()}},getKeys:function(){var c=this,b=c._keys;if(!b){c._keys=b=Ext.Object.getKeys(c.data)}return b},save:function(b){var c=this;if(!b){if(c._timer){clearTimeout(c._timer);c._timer=null}c.el.setAttribute("xdata",Ext.encode(c.data));c.el.save(c.id)}else{if(!c._timer){c._timer=Ext.defer(c._flushFn,b)}}},clear:function(){var b=this;b.data={};b._keys=null;b.save(b.flushDelay)},getItem:function(b){var c=this.data;return(b in c)?c[b]:null},removeItem:function(b){var d=this,c=d._keys,e=d.data;if(b in e){delete e[b];if(c){if(d.lazyKeys){d._keys=null}else{Ext.Array.remove(c,b)}}d.save(d.flushDelay)}},setItem:function(b,g){var d=this,e=d.data,c=d._keys;if(c&&!(b in e)){c.push(b)}e[b]=g;d.save(d.flushDelay)}})});Ext.define("Ext.util.TSV",{extend:Ext.util.DelimitedValue,singleton:true,delimiter:"\t"});Ext.define("Ext.util.TaskManager",{extend:Ext.util.TaskRunner,alternateClassName:["Ext.TaskManager"],singleton:true});Ext.define("Ext.util.TextMetrics",{statics:{shared:null,measure:function(a,d,e){var b=this,c=b.shared;if(!c){c=b.shared=new b(a,e)}c.bind(a);c.setFixedWidth(e||"auto");return c.getSize(d)},destroy:function(){var a=this;Ext.destroy(a.shared);a.shared=null}},constructor:function(a,d){var c=this,b=Ext.getBody().createChild({role:"presentation",cls:Ext.baseCSSPrefix+"textmetrics"});b.setVisibilityMode(1);c.measure=b;if(a){c.bind(a)}b.position("absolute");b.setLocalXY(-1000,-1000);b.hide();if(d){b.setWidth(d)}},getSize:function(c){var b=this.measure,a;b.setHtml(c);a=b.getSize();b.setHtml("");return a},bind:function(a){var b=this;b.el=Ext.get(a);b.measure.setStyle(b.el.getStyle(["font-size","font-style","font-weight","font-family","line-height","text-transform","letter-spacing","word-break"]))},setFixedWidth:function(a){this.measure.setWidth(a)},getWidth:function(a){this.measure.dom.style.width="auto";return this.getSize(a).width},getHeight:function(a){return this.getSize(a).height},destroy:function(){var a=this;a.el=a.measure=Ext.destroy(a.measure);a.callParent()}},function(){Ext.Element.override({getTextWidth:function(c,b,a){return Ext.Number.constrain(Ext.util.TextMetrics.measure(this.dom,Ext.valueFrom(c,this.dom.innerHTML,true)).width,b||0,a||1000000)}})});Ext.define("Ext.util.paintmonitor.OverflowChange",{extend:Ext.util.paintmonitor.Abstract,eventName:Ext.browser.is.Firefox?"overflow":"overflowchanged",monitorClass:"overflowchange",onElementPainted:function(a){this.getCallback().apply(this.getScope(),this.getArgs())}});Ext.define("Ext.AbstractComponent",{extend:Ext.Widget});Ext.define("Ext.Panel",{extend:Ext.Container,xtype:"panel",alternateClassName:"Ext.panel.Panel",defaultBindProperty:"title",isPanel:true,config:{border:false,bodyPadding:null,bodyBorder:null,header:null,icon:null,iconCls:null,title:null,tools:null,anchor:null,anchorPosition:null,closable:null,closeAction:"destroy",closeToolText:"Close panel"},classCls:Ext.baseCSSPrefix+"panel",manageBorders:true,allowHeader:true,getElementConfig:function(){return{reference:"element",classList:["x-container","x-unsized"],children:[{reference:"innerElement",className:"x-inner"},{reference:"tipElement",className:"x-anchor",hidden:true}]}},addBodyCls:function(a){this.innerElement.addCls(a);return this},removeBodyCls:function(a){this.innerElement.removeCls(a);return this},applyBodyPadding:function(a){if(a===true){a=5}if(a){a=Ext.dom.Element.unitizeBox(a)}return a},addTool:function(b){var c=this.ensureHeader(),a;if(c){a=c.createTools(Ext.Array.from(b),this);if(a&&a.length){a=c.add(a)}}return a},applyHeader:function(a,c){var b=this,d=c;b.allowHeader=a!==false;if(!b.allowHeader){if(d){b.remove(d);d=null}}else{if(a){if(d){if(a!==true){d.setConfig(a)}}else{d=b.insert(0,b.createHeader(a))}}}return d||null},applyTools:function(b){var c=this.ensureHeader(),a;if(c){c.clearTools();a=c.createTools(b,this);if(a&&a.length){c.add(a)}}},close:function(){var a=this;if(a.fireEvent("beforeclose",a)!==false){a[a.getCloseAction()]();a.fireEvent("close",a)}},createHeader:function(b){var d=this,a={xtype:"panelheader",docked:"top",ui:d.getUi()},c,e;d._isCreatingHeader=true;if(b&&b!==true){Ext.merge(a,b)}if(d.initialized){e=d.getTitle();if(e!=null){if(typeof e==="string"){e={text:e}}Ext.merge(a,{title:e})}c=d.getIconCls();if(c!=null){a.iconCls=c}else{c=d.getIcon();if(c!=null){a.icon=c}}}d._isCreatingHeader=false;return a},updateAnchor:function(a){this.tipElement.setVisible(!!a)},updateAnchorPosition:function(d,b){var a=this.tipElement,c=this.anchorPrefix;if(b){a.removeCls(c+b.side)}if(d){a.addCls(c+d.side);a.translate(d.x,d.y);a.show()}else{a.hide()}},updateBorder:function(b,a){this.callParent([b,a]);if(this.getBodyBorder()===null){this.setBodyBorderEnabled(b!==false)}},updateBodyPadding:function(a){this.innerElement.setStyle("padding",a)},updateBodyBorder:function(a){var b=(a===null)?this.getBorder():a;this.setBodyBorderEnabled(a!==false)},updateClosable:function(a){var b=this;if(a){b.closeTool=b.addTool({type:"close",weight:1000,scope:b,handler:b.close,tooltip:b.getCloseToolText()})[0]}else{Ext.destroy(b.closeTool)}},updateIcon:function(a){var b=this.ensureHeader();if(b){b.setIcon(a)}},updateIconCls:function(a){var b=this.ensureHeader();if(b){b.setIconCls(a)}},updateTitle:function(a){var b=this.ensureHeader();if(b){b.setTitle(a)}},updateUi:function(d,b){var a=this,c=a.innerElement,e=!a.isConfiguring&&a.ensureHeader();if(e){a.getTitle();e.setUi(d)}a.callParent([d,b])},alignTo:function(i,d,p){var e=this,l=e.tipElement,c=e.getAlignmentInfo(i,d),a=e.initialConfig,b=e.isPositioned(),k=b?e.setLeft:e.setX,h=b?e.setTop:e.setY,j=0,g=0,n,m,o;if(c.isAligned){return}if(!e.isFloated()&&!e.getParent()){e.setFloated(true)}if(!e.getAnchor()){e.setAnchorPosition(null);return e.callParent([i,d,p])}if(!e.anchorSize){o=e.anchorMeasureCls;l.addCls(o);l.show();e.anchorSize=new Ext.util.Offset(l.getWidth(),l.getHeight());l.removeCls(o);l.hide()}if("unconstrainedWidth" in e){e.setWidth(e.unconstrainedWidth)}if("unconstrainedHeight" in e){e.setHeight(e.unconstrainedHeight)}n=e.getAlignRegion(i,d,Ext.apply({anchorSize:e.anchorSize,axisLock:e.getAxisLock()},p));if(n){k.call(e,n.x);h.call(e,n.y);if(n.constrainWidth){e.unconstrainedWidth=a.width||e.self.prototype.width;m=e.el.getHeight();e.setWidth(c.stats.width=n.getWidth());if(n.align.position===0){h.call(e,n.y+(m-e.el.getHeight()))}}if(n.constrainHeight){e.unconstrainedHeight=a.height||e.self.prototype.height;e.setHeight(c.stats.height=n.getHeight())}if(n.anchor){j=0;g=0;if(n.anchor.align&1){g=n.anchor.y-n.y-n.getHeight()}else{j=n.anchor.x-n.x}e.setAnchorPosition({side:n.anchor.position,x:j,y:g})}else{e.setAnchorPosition(null)}e.setCurrentAlignmentInfo(c)}else{l.show()}},privates:{anchorMeasureCls:Ext.baseCSSPrefix+"anchor-top",anchorPrefix:Ext.baseCSSPrefix+"anchor-",ensureHeader:function(){var a=this,b;if(!a._isCreatingHeader){a.getViewModel();a.getItems();b=a.getHeader();if(!b&&a.allowHeader){a.setHeader(true);b=a.getHeader()}}return b},setBodyBorderEnabled:function(a){this.innerElement.setStyle("border-width",a?"":"0")}}});Ext.define("Ext.Sheet",{extend:Ext.Panel,xtype:"sheet",config:{modal:true,centered:true,stretchX:null,stretchY:null,enter:"bottom",exit:"bottom",showAnimation:{type:"slideIn",duration:250,easing:"ease-out"},hideAnimation:{type:"slideOut",duration:250,easing:"ease-in"}},baseCls:Ext.baseCSSPrefix+"sheet",border:null,bodyBorder:false,floated:true,manageBorders:false,isInputRegex:/^(input|textarea|select|a)$/i,applyHideAnimation:function(b){var a=this.getExit(),d=a;if(a===null){return null}if(b===true){b={type:"slideOut"}}var c=this.callParent([b]);if(c){if(a==="bottom"){d="down"}if(a==="top"){d="up"}c.setDirection(d)}return c},applyShowAnimation:function(a){var d=this.getEnter(),c=d;if(d===null){return null}if(a===true){a={type:"slideIn"}}var b=this.callParent([a]);if(b){if(d==="bottom"){c="down"}if(d==="top"){c="up"}b.setBefore({display:null});b.setReverse(true);b.setDirection(c)}return b},updateStretchX:function(a){this.getLeft();this.getRight();if(a){this.setLeft(0);this.setRight(0)}},updateStretchY:function(a){this.getTop();this.getBottom();if(a){this.setTop(0);this.setBottom(0)}}});Ext.define("Ext.ActionSheet",{extend:Ext.Sheet,alias:"widget.actionsheet",config:{baseCls:Ext.baseCSSPrefix+"sheet-action",left:0,right:0,bottom:0,centered:false,height:"auto",defaultType:"button"},layout:"vbox"});Ext.define("Ext.Anim",{isAnim:true,disableAnimations:false,defaultConfig:{from:{},to:{},duration:250,delay:0,easing:"ease-in-out",autoClear:true,out:true,direction:null,reverse:false},opposites:{left:"right",right:"left",up:"down",down:"up"},constructor:function(a){a=Ext.apply({},a||{},this.defaultConfig);this.config=a;this.callParent([a]);this.running=[]},initConfig:function(c,b){var d=this,a=Ext.apply({},b||{},d.config);a.el=c=Ext.get(c);if(a.reverse&&d.opposites[a.direction]){a.direction=d.opposites[a.direction]}if(d.config.before){d.config.before.call(a,c,a)}if(b.before){b.before.call(a.scope||a,c,a)}return a},run:function(c,a){c=Ext.get(c);a=a||{};var d=this,b=c.dom.style,e,g=a.after;if(d.running[c.id]){d.onTransitionEnd(null,c,{config:a,after:g})}a=this.initConfig(c,a);if(this.disableAnimations){for(e in a.to){if(!a.to.hasOwnProperty(e)){continue}b[e]=a.to[e]}this.onTransitionEnd(null,c,{config:a,after:g});return d}c.un("transitionend",d.onTransitionEnd,d);b.webkitTransitionDuration="0ms";for(e in a.from){if(!a.from.hasOwnProperty(e)){continue}b[e]=a.from[e]}Ext.defer(function(){if(!c.dom){return}if(a.is3d===true){c.parent().setStyle({"-webkit-perspective":"1200","-webkit-transform-style":"preserve-3d"})}b.webkitTransitionDuration=a.duration+"ms";b.webkitTransitionProperty="all";b.webkitTransitionTimingFunction=a.easing;c.on("transitionend",d.onTransitionEnd,d,{single:true,config:a,after:g});for(e in a.to){if(!a.to.hasOwnProperty(e)){continue}b[e]=a.to[e]}},a.delay||5);d.running[c.id]=a;return d},onTransitionEnd:function(e,c,h){c=Ext.get(c);if(this.running[c.id]===undefined){return}var b=c.dom.style,a=h.config,d=this,g;if(a.autoClear){for(g in a.to){if(!a.to.hasOwnProperty(g)||a[g]===false){continue}b[g]=""}}b.webkitTransitionDuration=null;b.webkitTransitionProperty=null;b.webkitTransitionTimingFunction=null;if(a.is3d){c.parent().setStyle({"-webkit-perspective":"","-webkit-transform-style":""})}if(d.config.after){d.config.after.call(a,c,a)}if(h.after){h.after.call(a.scope||d,c,a)}delete d.running[c.id]}},function(){Ext.Anim.seed=1000;Ext.Anim.run=function(b,c,a){if(b.isComponent){b=b.element}else{b=Ext.get(b)}a=a||{};if(c.isAnim){c.run(b,a)}else{if(Ext.isObject(c)){if(a.before&&c.before){a.before=Ext.createInterceptor(a.before,c.before,c.scope)}if(a.after&&c.after){a.after=Ext.createInterceptor(a.after,c.after,c.scope)}a=Ext.apply({},a,c);c=c.type}if(!Ext.anims[c]){throw c+" is not a valid animation type."}else{if(b&&b.dom){Ext.anims[c].run(b,a)}}}};Ext.anims={fade:new Ext.Anim({type:"fade",before:function(b){var c=1,a=1,e=b.getStyle("z-index")=="auto"?0:b.getStyle("z-index"),d=e;if(this.out){a=0}else{d=Math.abs(e)+1;c=0}this.from={opacity:c,"z-index":d};this.to={opacity:a,"z-index":d}}}),slide:new Ext.Anim({direction:"left",cover:false,reveal:false,opacity:false,"z-index":false,before:function(a){var c=a.getStyle("z-index")=="auto"?0:a.getStyle("z-index"),g=a.getStyle("opacity"),i=c+1,d=this.out,m=this.direction,l=0,j=0,k=0,h=0,b=a.getHeight(),e=a.getWidth();if(m=="left"||m=="right"){if(d){l=-e}else{k=e}}else{if(m=="up"||m=="down"){if(d){j=-b}else{h=b}}}if(m=="right"||m=="down"){j*=-1;l*=-1;h*=-1;k*=-1}if(this.cover&&d){l=0;j=0;i=c}else{if(this.reveal&&!d){k=0;h=0;i=c}}this.from={"-webkit-transform":"translate3d("+k+"px, "+h+"px, 0)","z-index":i,opacity:g-0.01};this.to={"-webkit-transform":"translate3d("+l+"px, "+j+"px, 0)","z-index":i,opacity:g}}}),pop:new Ext.Anim({scaleOnExit:true,before:function(d){var b=1,c=1,h=1,a=1,i=d.getStyle("z-index")=="auto"?0:d.getStyle("z-index"),g=i,e=i;if(!this.out){b=0.01;g=i+1;e=i+1;h=0}else{if(this.scaleOnExit){c=0.01;a=0}else{a=0.8}}this.from={"-webkit-transform":"scale("+b+")","-webkit-transform-origin":"50% 50%",opacity:h,"z-index":g};this.to={"-webkit-transform":"scale("+c+")","-webkit-transform-origin":"50% 50%",opacity:a,"z-index":e}}}),flip:new Ext.Anim({is3d:true,direction:"left",before:function(c){var g="Y",a=1,b=1,e=0,d=0;if(this.out){d=-180;b=0.8}else{e=180;a=0.8}if(this.direction=="up"||this.direction=="down"){g="X"}if(this.direction=="right"||this.direction=="left"){d*=-1;e*=-1}this.from={"-webkit-transform":"rotate"+g+"("+e+"deg) scale("+a+")","-webkit-backface-visibility":"hidden"};this.to={"-webkit-transform":"rotate"+g+"("+d+"deg) scale("+b+")","-webkit-backface-visibility":"hidden"}}}),cube:new Ext.Anim({is3d:true,direction:"left",style:"outer",before:function(b){var l="0% 0%",m=0,a=0,j="Y",g=0,h=0,e=b.getWidth(),d=b.getHeight(),k=true,c=" translateX(0)",i="";if(this.direction=="left"||this.direction=="right"){if(this.out){l="100% 100%";h=e;a=-90}else{l="0% 0%";g=e;m=90}}else{if(this.direction=="up"||this.direction=="down"){j="X";if(this.out){l="100% 100%";h=d;a=90}else{l="0% 0%";g=d;m=-90}}}if(this.direction=="down"||this.direction=="right"){m*=-1;a*=-1;l=(l=="0% 0%")?"100% 100%":"0% 0%"}if(this.style=="inner"){g*=-1;h*=-1;m*=-1;a*=-1;if(!this.out){i=" translateX(0px)";l="0% 50%"}else{i=c;l="100% 50%"}}this.from={"-webkit-transform":"rotate"+j+"("+m+"deg)"+(k?" translateZ("+g+"px)":"")+c,"-webkit-transform-origin":l};this.to={"-webkit-transform":"rotate"+j+"("+a+"deg) translateZ("+h+"px)"+i,"-webkit-transform-origin":l}},duration:250}),wipe:new Ext.Anim({before:function(b){var d=b.getStyle("z-index"),c,a="";if(!this.out){c=d+1;a="-webkit-gradient(linear, left bottom, right bottom, from(transparent), to(#000), color-stop(66%, #000), color-stop(33%, transparent))";this.from={"-webkit-mask-image":a,"-webkit-mask-size":b.getWidth()*3+"px "+b.getHeight()+"px","z-index":c,"-webkit-mask-position-x":0};this.to={"-webkit-mask-image":a,"-webkit-mask-size":b.getWidth()*3+"px "+b.getHeight()+"px","z-index":c,"-webkit-mask-position-x":-b.getWidth()*2+"px"}}},duration:500})}});Ext.define("Ext.Media",{extend:Ext.Component,xtype:"media",config:{url:"",enableControls:Ext.os.is.Android?false:true,autoResume:false,autoPause:true,preload:true,loop:false,media:null,volume:1,muted:false},constructor:function(){this.mediaEvents={};this.callParent(arguments)},initialize:function(){var a=this;a.callParent();a.on({scope:a,show:a.onActivate,hide:a.onDeactivate});a.addMediaListener({canplay:"onCanPlay",play:"onPlay",pause:"onPause",ended:"onEnd",volumechange:"onVolumeChange",timeupdate:"onTimeUpdate"})},addMediaListener:function(c,a){var b=this,d=b.media.dom,e=Ext.Function.bind;Ext.Object.each(c,function(h,g){g=e(b[g],b);b.mediaEvents[h]=g;d.addEventListener(h,g)})},onPlay:function(){this.fireEvent("play",this)},onCanPlay:function(){this.fireEvent("canplay",this)},onPause:function(){this.fireEvent("pause",this,this.getCurrentTime())},onEnd:function(){this.fireEvent("ended",this,this.getCurrentTime())},onVolumeChange:function(){this.fireEvent("volumechange",this,this.media.dom.volume)},onTimeUpdate:function(){this.fireEvent("timeupdate",this,this.getCurrentTime())},isPlaying:function(){return !Boolean(this.media.dom.paused)},onActivate:function(){var a=this;if(a.getAutoResume()&&!a.isPlaying()){a.play()}},onDeactivate:function(){var a=this;if(a.getAutoPause()&&a.isPlaying()){a.pause()}},updateUrl:function(a){var b=this.media.dom;b.src=a;if("load" in b){b.load()}if(this.isPlaying()){this.play()}},updateEnableControls:function(a){this.media.dom.controls=a?"controls":false},updateLoop:function(a){this.media.dom.loop=a?"loop":false},play:function(){var a=this.media.dom;if("play" in a){a.play();Ext.defer(function(){a.play()},10)}},pause:function(){var a=this.media.dom;if("pause" in a){a.pause()}},toggle:function(){if(this.isPlaying()){this.pause()}else{this.play()}},stop:function(){var a=this;a.setCurrentTime(0);a.fireEvent("stop",a);a.pause()},updateVolume:function(a){this.media.dom.volume=a},updateMuted:function(a){this.fireEvent("mutedchange",this,a);this.media.dom.muted=a},getCurrentTime:function(){return this.media.dom.currentTime},setCurrentTime:function(a){this.media.dom.currentTime=a;return a},getDuration:function(){return this.media.dom.duration},doDestroy:function(){var a=this,c=a.media.dom,b=a.mediaEvents;Ext.Object.each(b,function(e,d){c.removeEventListener(e,d)});a.callParent()}});Ext.define("Ext.Audio",{extend:Ext.Media,xtype:"audio",config:{cls:Ext.baseCSSPrefix+"audio"},onActivate:function(){var a=this;a.callParent();if(Ext.os.is.Phone){a.element.show()}},onDeactivate:function(){var a=this;a.callParent();if(Ext.os.is.Phone){a.element.hide()}},template:[{reference:"media",preload:"auto",tag:"audio",cls:Ext.baseCSSPrefix+"component"}]});Ext.define("Ext.Button",{extend:Ext.Component,xtype:"button",isButton:true,cachedConfig:{pressedCls:Ext.baseCSSPrefix+"button-pressed",pressingCls:Ext.baseCSSPrefix+"button-pressing",badgeCls:Ext.baseCSSPrefix+"badge",hasBadgeCls:Ext.baseCSSPrefix+"hasbadge",hasLabelCls:Ext.baseCSSPrefix+"haslabel",labelCls:Ext.baseCSSPrefix+"button-label",iconCls:null,textAlign:null},config:{allowDepress:true,badgeText:null,text:null,icon:false,iconAlign:"left",pressedDelay:0,handler:null,scope:null,autoEvent:null,ui:null,baseCls:Ext.baseCSSPrefix+"button",enableToggle:false,value:null},eventedConfig:{pressed:false},defaultBindProperty:"text",template:[{tag:"span",reference:"badgeElement",hidden:true},{tag:"span",classList:[Ext.baseCSSPrefix+"button-icon",Ext.baseCSSPrefix+"font-icon"],reference:"iconElement"},{tag:"span",reference:"textElement",hidden:true}],initialize:function(){this.callParent();this.element.on({scope:this,tap:"onTap",touchstart:"onPress",touchend:"onRelease"})},isPressed:function(){return Boolean(this.getPressed())},toggle:function(){this.setPressed(!this.isPressed())},updateBadgeText:function(c){var a=this.element,b=this.badgeElement;if(c){b.show();b.setText(c)}else{b.hide()}a[(c)?"addCls":"removeCls"](this.getHasBadgeCls())},updateText:function(b){var a=this.textElement;if(a){if(b){a.show();a.setHtml(b)}else{a.hide()}this.toggleCls(this.getHasLabelCls(),!!b);this.refreshIconAlign()}},updateHtml:function(b){var a=this.textElement;if(b){a.show();a.setHtml(b)}else{a.hide()}},updateBadgeCls:function(b,a){this.badgeElement.replaceCls(a,b)},updateHasBadgeCls:function(b,c){var a=this.element;if(a.hasCls(c)){a.replaceCls(c,b)}},updateLabelCls:function(b,a){this.textElement.replaceCls(a,b)},applyPressed:function(a){return Boolean(a)},updatePressed:function(a){this.element.toggleCls(this.getPressedCls(),a)},updatePressingCls:function(a,b){var c=this.element;if(c.hasCls(b)){c.replaceCls(b,a)}},updatePressedCls:function(b,c){var a=this.element;if(a.hasCls(c)){a.replaceCls(c,b)}},updateIcon:function(b){var c=this,a=c.iconElement;if(b){c.showIconElement();a.setStyle("background-image","url("+b+")");c.refreshIconAlign()}else{a.setStyle("background-image","");if(!c.getIconCls()){c.hideIconElement()}}},updateIconCls:function(c,a){var d=this,b=d.iconElement;if(c){d.showIconElement();b.replaceCls(a,c);d.refreshIconAlign()}else{b.removeCls(a);if(!d.getIcon()){d.hideIconElement()}}},updateIconAlign:function(d,c){var b=this.element,a=Ext.baseCSSPrefix+"iconalign-";if(!this.getText()){d="center"}b.removeCls(a+"center");b.removeCls(a+c);if(this.getIcon()||this.getIconCls()){b.addCls(a+d)}},_textAlignCls:{left:Ext.baseCSSPrefix+"text-align-left",right:Ext.baseCSSPrefix+"text-align-right",center:""},updateTextAlign:function(c,b){var e=this._textAlignCls,d=e[c||"center"],a=e[b||"center"];this.replaceCls(a,d)},refreshIconAlign:function(){this.updateIconAlign(this.getIconAlign())},applyAutoEvent:function(b){var a=this;if(typeof b=="string"){b={name:b,scope:a.scope||a}}return b},updateAutoEvent:function(c){var a=c.name,b=c.scope;this.setHandler(function(){b.fireEvent(a,b,this)});this.setScope(b)},applyPressedDelay:function(a){if(Ext.isNumber(a)){return a}return(a)?100:0},onPress:function(){var c=this,b=c.element,d=c.getPressedDelay(),a=c.getPressingCls();if(!c.getDisabled()){if(d>0){c.pressedTimeout=Ext.defer(function(){delete c.pressedTimeout;if(b){b.addCls(a)}},d)}else{b.addCls(a)}}},onRelease:function(a){this.fireAction("release",[this,a],"doRelease")},doRelease:function(a,b){if(!a.getDisabled()){if(a.hasOwnProperty("pressedTimeout")){clearTimeout(a.pressedTimeout);delete a.pressedTimeout}else{a.element.removeCls(a.getPressingCls())}}},onTap:function(a){if(this.getDisabled()){return false}this.fireAction("tap",[this,a],"doTap")},doTap:function(b,c){var a=b.getHandler();if(c&&c.preventDefault){c.preventDefault()}if(b.getEnableToggle()&&(b.getAllowDepress()||!b.isPressed())){b.toggle()}if(a){Ext.callback(a,b.getScope(),[b,c],0,b)}},doDestroy:function(){if(this.hasOwnProperty("pressedTimeout")){clearTimeout(this.pressedTimeout)}this.callParent()},privates:{hideIconElement:function(){var a=this.iconElement;a.removeCls(Ext.baseCSSPrefix+"shown");a.addCls(Ext.baseCSSPrefix+"hidden");this.element.addCls(Ext.baseCSSPrefix+"button-no-icon")},showIconElement:function(){var a=this.iconElement;a.addCls(Ext.baseCSSPrefix+"shown");a.removeCls(Ext.baseCSSPrefix+"hidden");this.element.removeCls(Ext.baseCSSPrefix+"button-no-icon")}}});Ext.define("Ext.Decorator",{extend:Ext.Component,isDecorator:true,config:{component:{xtype:"component"}},statics:{generateProxySetter:function(a){return function(c){var b=this.getComponent();b[a].call(b,c);return this}},generateProxyGetter:function(a){return function(){var b=this.getComponent();return b[a].call(b)}}},onClassExtended:function(c,e){if(!e.hasOwnProperty("proxyConfig")){return}var g=Ext.Class,j=e.proxyConfig,d=e.config;e.config=(d)?Ext.applyIf(d,j):j;var b,i,h,a;for(b in j){if(j.hasOwnProperty(b)){i=Ext.Config.get(b).names;h=i.set;a=i.get;e[h]=this.generateProxySetter(h);e[a]=this.generateProxyGetter(a)}}},getRefItems:function(a){var d=this.getComponent(),b;if(d){b=[d];if(a&&d.getRefItems){b=b.concat(d.getRefItems(a))}}return b||[]},applyComponent:function(a){return Ext.factory(a)},updateComponent:function(b,c){var a=this;if(c){if(a.isRendered()&&c.setRendered(false)){c.fireEventedAction("renderedchange",[a,c,false],a.doUnsetComponent,a,false)}else{a.doUnsetComponent(c)}}if(b){if(a.isRendered()&&b.setRendered(true)){b.fireEventedAction("renderedchange",[a,b,true],a.doSetComponent,a,false)}else{a.doSetComponent(b)}}},doUnsetComponent:function(a){var b=a.renderElement.dom;if(b){a.setLayoutSizeFlags(0);this.innerElement.dom.removeChild(b)}},doSetComponent:function(a){var b=a.renderElement.dom;if(b){a.setLayoutSizeFlags(this.getSizeFlags());this.innerElement.dom.appendChild(b)}},setRendered:function(b){var a;if(this.callParent(arguments)){a=this.getComponent();if(a){a.setRendered(b)}return true}return false},setDisabled:function(a){this.callParent(arguments);this.getComponent().setDisabled(a)},doDestroy:function(){Ext.destroy(this.getComponent());this.callParent()}});Ext.define("Ext.Img",{extend:Ext.Component,xtype:["image","img"],alternateClassName:"Ext.Image",config:{src:null,baseCls:Ext.baseCSSPrefix+"img",imageCls:Ext.baseCSSPrefix+"img-image",backgroundCls:Ext.baseCSSPrefix+"img-background",mode:"background"},beforeInitialize:function(){var a=this;a.onLoad=Ext.Function.bind(a.onLoad,a);a.onError=Ext.Function.bind(a.onError,a)},initialize:function(){var a=this;a.callParent();a.relayEvents(a.renderElement,"*");a.element.on({tap:"onTap",scope:a})},hide:function(){var a=this;a.callParent(arguments);a.hiddenSrc=a.hiddenSrc||a.getSrc();if(!a.isDestroying){a.setSrc(null)}},show:function(){this.callParent(arguments);if(this.hiddenSrc){this.setSrc(this.hiddenSrc);delete this.hiddenSrc}},updateMode:function(d){var c=this,a=c.getImageCls(),b=c.getBackgroundCls();if(d==="background"){if(c.imageElement){c.imageElement.destroy();delete c.imageElement;c.updateSrc(c.getSrc())}c.replaceCls(a,b)}else{c.imageElement=c.element.createChild({tag:"img"});c.replaceCls(b,a)}},updateImageCls:function(b,a){this.replaceCls(a,b)},updateBackgroundCls:function(b,a){this.replaceCls(a,b)},onTap:function(a){this.fireEvent("tap",this,a)},onAfterRender:function(){this.updateSrc(this.getSrc())},applySrc:function(a){return a&&Ext.resolveResource(a)},updateSrc:function(a){var b=this,c;if(b.getMode()==="background"){c=this.imageObject||new Image()}else{c=b.imageElement.dom}this.imageObject=c;c.setAttribute("src",Ext.isString(a)?a:"");c.addEventListener("load",b.onLoad,false);c.addEventListener("error",b.onError,false)},detachListeners:function(){var a=this.imageObject;if(a){a.removeEventListener("load",this.onLoad,false);a.removeEventListener("error",this.onError,false)}},onLoad:function(a){this.detachListeners();if(this.getMode()==="background"){this.element.dom.style.backgroundImage='url("'+this.imageObject.src+'")'}this.fireEvent("load",this,a)},onError:function(a){this.detachListeners();if(this.getMode()==="background"){this.element.dom.style.backgroundImage='url("'+this.imageObject.src+'")'}this.fireEvent("error",this,a)},updateWidth:function(b){var a=(this.getMode()==="background")?this.element:this.imageElement;a.setWidth(b);this.callParent(arguments)},updateHeight:function(b){var a=(this.getMode()==="background")?this.element:this.imageElement;a.setHeight(b);this.callParent(arguments)},doDestroy:function(){var a=this;a.detachListeners();a.imageObject=a.imageElement=Ext.destroy(a.imageObject,a.imageElement);a.callParent()}});Ext.define("Ext.Label",{extend:Ext.Component,xtype:"label",config:{baseCls:Ext.baseCSSPrefix+"label"}});Ext.define("Ext.Menu",{extend:Ext.Sheet,xtype:"menu",baseCls:Ext.baseCSSPrefix+"menu",left:0,right:0,bottom:0,height:"auto",width:"auto",defaultType:"button",showAnimation:null,hideAnimation:null,centered:false,modal:true,hidden:true,hideOnMaskTap:true,translatable:{translationMethod:null},layout:{type:"vbox",align:"stretch"},floated:true,hide:function(){var b=this,a=b.parent;if(a&&a.isViewport&&b.$side&&!b.viewportIsHiding){b.viewportIsHiding=true;a.hideMenu(b.$side,true)}else{b.viewportIsHiding=false;b.callParent()}},constructor:function(){this.config.translatable.translationMethod="csstransform";this.callParent(arguments)},updateUi:function(a,b){this.callParent(arguments);if(a!=b&&Ext.theme.is.Blackberry){if(a=="context"){this.innerElement.swapCls("x-vertical","x-horizontal")}else{if(a=="application"){this.innerElement.swapCls("x-horizontal","x-vertical")}}}},updateHideOnMaskTap:function(b){if(!this.isFloated()){var a=this.getModal();if(a){a[b?"on":"un"]("tap",this.onMaskTap,this)}}},onMaskTap:function(){Ext.Viewport.hideMenu(this.$side)}});Ext.define("Ext.field.Input",{extend:Ext.Component,xtype:"input",tag:"input",cachedConfig:{useMask:null,type:"text",checked:false},config:{name:null,value:null,isFocused:false,tabIndex:null,placeHolder:null,minValue:null,maxValue:null,stepValue:null,maxLength:null,autoComplete:null,autoCapitalize:null,autoCorrect:null,readOnly:null,maxRows:null,pattern:null,startValue:false,fastFocus:false},classCls:Ext.baseCSSPrefix+"input",getTemplate:function(){var c=this,b=[],a=c.beforeTemplate,d=c.afterTemplate;if(a){b.push.apply(b,a)}b.push({reference:"inputBodyElement",cls:Ext.baseCSSPrefix+"input-body-el",children:[{reference:"inputElement",tag:this.tag,cls:Ext.baseCSSPrefix+"input-el"},{reference:"maskElement",classList:[Ext.baseCSSPrefix+"mask-el",Ext.baseCSSPrefix+"hidden-display"]}]});if(d){b.push.apply(b,d)}return b},initElement:function(){var a=this;a.callParent();a.inputElement.on({scope:a,keyup:"onKeyUp",keydown:"onKeyDown",focus:"onFocus",blur:"onBlur",input:"onInput",paste:"onPaste",tap:"onInputTap"});if(Ext.browser.is.AndroidStock){a.inputElement.dom.addEventListener("mousedown",function(b){if(document.activeElement!=b.target){b.preventDefault()}});a.inputElement.dom.addEventListener("touchend",function(){a.focus()})}a.maskElement.on({scope:a,tap:"onMaskTap"});if(Ext.browser.is.ie&&Ext.browser.version.major>=10){a.inputElement.on({scope:a,keypress:"onKeyPress"})}},updateFastFocus:function(a){if(a){if(this.getFastFocus()&&Ext.os.is.iOS){this.inputElement.on({scope:this,touchstart:"onTouchStart"})}}else{this.inputElement.un({scope:this,touchstart:"onTouchStart"})}},useManualMaxLength:function(){return Boolean((Ext.os.is.Android&&!Ext.browser.is.Chrome))},applyUseMask:function(a){return !!a},updateUseMask:function(a){this.maskElement[a?"show":"hide"]()},updatePattern:function(a){this.updateFieldAttribute("pattern",a)},updateFieldAttribute:function(a,c){var b=this.inputElement;if(!Ext.isEmpty(c,true)){b.dom.setAttribute(a,c)}else{b.dom.removeAttribute(a)}},updateType:function(a,b){this.updateFieldAttribute("type",a)},updateName:function(a){this.updateFieldAttribute("name",a)},getValue:function(){var a=this.inputElement;if(a){this._value=a.dom.value}return this._value},applyValue:function(a){return(Ext.isEmpty(a))?"":a},updateValue:function(d){var c=this.inputElement,a=c.dom.validity,b=c.parent(".x-field");if(c&&c.dom.value!==d){c.dom.value=d}if(b&&a){b.toggleCls(Ext.baseCSSPrefix+"invalid",!a.valid)}},setValue:function(b){var a=this._value;this.updateValue(this.applyValue(b));b=this.getValue();if(String(b)!=String(a)&&this.initialized){this.onChange(this,b,a)}return this},updateTabIndex:function(a){this.updateFieldAttribute("tabIndex",a)},testAutoFn:function(a){return[true,"on"].indexOf(a)!==-1},updateMaxLength:function(a){if(!this.useManualMaxLength()){this.updateFieldAttribute("maxlength",a)}},updatePlaceHolder:function(a){this.updateFieldAttribute("placeholder",a)},applyAutoComplete:function(a){return this.testAutoFn(a)},updateAutoComplete:function(a){var b=a?"on":"off";this.updateFieldAttribute("autocomplete",b)},applyAutoCapitalize:function(a){return this.testAutoFn(a)},updateAutoCapitalize:function(b){var a=b?"on":"off";this.updateFieldAttribute("autocapitalize",a)},applyAutoCorrect:function(a){return this.testAutoFn(a)},updateAutoCorrect:function(a){var b=a?"on":"off";this.updateFieldAttribute("autocorrect",b)},updateMinValue:function(a){this.updateFieldAttribute("min",a)},updateMaxValue:function(a){this.updateFieldAttribute("max",a)},updateStepValue:function(a){this.updateFieldAttribute("step",a)},checkedRe:/^(true|1|on)/i,getChecked:function(){var b=this.inputElement,a;if(b){a=b.dom.checked;this._checked=a}return a},applyChecked:function(a){return !!this.checkedRe.test(String(a))},setChecked:function(a){this.updateChecked(this.applyChecked(a));this._checked=a},updateChecked:function(a){this.inputElement.dom.checked=a},updateReadOnly:function(a){this.updateFieldAttribute("readonly",a?true:null)},updateMaxRows:function(a){this.updateFieldAttribute("rows",a)},updateDisabled:function(a){this.callParent(arguments);if(Ext.browser.is.Safari&&!Ext.os.is.BlackBerry){this.inputElement.dom.tabIndex=(a)?-1:0}this.inputElement.dom.disabled=(Ext.browser.is.Safari&&!Ext.os.is.BlackBerry)?false:a;if(!a){this.blur()}},isDirty:function(){if(this.getDisabled()){return false}return String(this.getValue())!==String(this.originalValue)},reset:function(){this.setValue(this.originalValue)},onInputTap:function(a){this.fireAction("inputtap",[this,a],"doInputTap")},doInputTap:function(a,b){if(a.getDisabled()){return false}if(this.getFastFocus()&&Ext.os.is.iOS){a.focus()}},onMaskTap:function(a){this.fireAction("masktap",[this,a],"doMaskTap")},doMaskTap:function(a,b){if(a.getDisabled()){return false}a.focus()},showMask:function(){if(this.getUseMask()){this.maskElement.setStyle("display","block")}},hideMask:function(){if(this.getUseMask()){this.maskElement.setStyle("display","none")}},focus:function(){var a=this,b=a.inputElement;if(b&&b.dom.focus){b.dom.focus()}return a},blur:function(){var a=this,b=this.inputElement;if(b&&b.dom.blur){b.dom.blur()}return a},select:function(){var a=this,b=a.inputElement;if(b&&b.dom.setSelectionRange){b.dom.setSelectionRange(0,9999)}return a},onFocus:function(a){this.fireAction("focus",[a],"doFocus")},doFocus:function(b){var a=this;a.hideMask();if(!a.getIsFocused()){a.setStartValue(a.getValue())}a.setIsFocused(true)},onTouchStart:function(a){if(document.activeElement!=a.target){a.preventDefault()}},onBlur:function(a){this.fireAction("blur",[a],"doBlur")},doBlur:function(d){var b=this,c=b.getValue(),a=b.getStartValue();b.showMask();b.setIsFocused(false);if(String(c)!=String(a)){b.onChange(b,c,a)}},onClick:function(a){this.fireEvent("click",a)},onChange:function(b,c,a){if(this.useManualMaxLength()){this.trimValueToMaxLength()}this.fireEvent("change",b,c,a)},onPaste:function(a){if(this.useManualMaxLength()){this.trimValueToMaxLength()}this.fireEvent("paste",a)},onKeyUp:function(a){if(this.useManualMaxLength()){this.trimValueToMaxLength()}this.fireEvent("keyup",a)},onKeyDown:function(){this.ignoreInput=true},onInput:function(b){var a=this;a.fireEvent("input",a,a.inputElement.dom.value);if(a.ignoreInput){a.ignoreInput=false;return}Ext.defer(function(){if(!a.ignoreInput){a.fireEvent("keyup",b);a.ignoreInput=false}},10)},onKeyPress:function(a){if(a.browserEvent.keyCode==13){this.fireEvent("keyup",a)}},onMouseDown:function(a){this.fireEvent("mousedown",a)},trimValueToMaxLength:function(){var a=this.getMaxLength();if(a){var b=this.getValue();if(b.length>this.getMaxLength()){this.setValue(b.slice(0,a))}}}});Ext.define("Ext.field.Field",{extend:Ext.Decorator,alternateClassName:"Ext.form.Field",xtype:"field",isField:true,isFormField:true,config:{label:null,labelAlign:"left",labelTextAlign:"left",bodyAlign:"start",labelWidth:"30%",labelWrap:false,clearIcon:null,required:false,inputType:null,name:null,value:null,tabIndex:null},cachedConfig:{labelCls:null,inputCls:null},classCls:Ext.baseCSSPrefix+"field",requiredCls:Ext.baseCSSPrefix+"required",noLabelWrapCls:Ext.baseCSSPrefix+"no-label-wrap",getElementConfig:function(){return{reference:"element",children:[{reference:"labelElement",cls:Ext.baseCSSPrefix+"label-el",children:[{reference:"labelTextElement",cls:Ext.baseCSSPrefix+"label-text-el",tag:"span"}]},{reference:"bodyElement",cls:Ext.baseCSSPrefix+"body-el"}]}},initElement:function(){this.callParent();this.innerElement=this.bodyElement},updateBodyAlign:function(c,a){var b=this.element;if(a){b.removeCls(Ext.baseCSSPrefix+"body-align-"+a)}if(c){b.addCls(Ext.baseCSSPrefix+"body-align-"+c)}},updateLabel:function(b,c){var a=this.renderElement;if(b){this.labelTextElement.setHtml(b);a.addCls(Ext.baseCSSPrefix+"labeled")}else{a.removeCls(Ext.baseCSSPrefix+"labeled")}},updateLabelAlign:function(a,c){var b=this.element;if(c){b.removeCls(Ext.baseCSSPrefix+"label-align-"+c)}if(a){b.addCls(Ext.baseCSSPrefix+"label-align-"+a);if(a==="top"||a==="bottom"||a==="placeholder"){this.labelElement.setWidth("100%")}else{this.updateLabelWidth(this.getLabelWidth())}}},updateLabelTextAlign:function(a,c){var b=this.element;if(c){b.removeCls(Ext.baseCSSPrefix+"label-text-align-"+c)}if(a){b.addCls(Ext.baseCSSPrefix+"label-text-align-"+a)}},updateLabelCls:function(b,c){var a=this.labelElement;if(b){a.addCls(b)}if(c){a.removeCls(c)}},updateLabelWidth:function(c){var b=this.getLabelAlign(),a=this.labelElement;if(c){if(b=="top"||b=="bottom"){a.setWidth("100%")}else{a.setWidth(c)}}},updateLabelWrap:function(a,b){this.element.toggleCls(this.noLabelWrapCls,!a)},updateRequired:function(a){this.renderElement.toggleCls(this.requiredCls,a)},initialize:function(){var a=this;a.callParent();a.doInitValue()},doInitValue:function(){this.originalValue=this.getInitialConfig().value},reset:function(){this.setValue(this.originalValue);return this},resetOriginalValue:function(){this.originalValue=this.getValue()},isDirty:function(){return false}});Ext.define("Ext.util.TapRepeater",{mixins:{observable:Ext.mixin.Observable},config:{el:null,accelerate:true,interval:10,delay:250,preventDefault:true,stopDefault:false,timer:0,pressCls:null},constructor:function(a){var b=this;b.mixins.observable.constructor.call(b,a)},updateEl:function(c,b){var a={touchstart:"onTouchStart",touchend:"onTouchEnd",tap:"eventOptions",scope:this};if(b){b.un(a)}c.on(a)},eventOptions:function(a){if(this.getPreventDefault()){a.preventDefault()}if(this.getStopDefault()){a.stopEvent()}},destroy:function(){this.el=Ext.destroy(this.el);this.callParent()},onTouchStart:function(c){var b=this,a=b.getPressCls();clearTimeout(b.getTimer());if(a){b.getEl().addCls(a)}b.tapStartTime=new Date();b.fireEvent("touchstart",b,c);b.fireEvent("tap",b,c);if(b.getAccelerate()){b.delay=400}b.setTimer(Ext.defer(b.tap,b.getDelay()||b.getInterval(),b,[c]))},tap:function(b){var a=this;a.fireEvent("tap",a,b);a.setTimer(Ext.defer(a.tap,a.getAccelerate()?a.easeOutExpo(Ext.Date.getElapsed(a.tapStartTime),400,-390,12000):a.getInterval(),a,[b]))},easeOutExpo:function(e,a,h,g){return(e==g)?a+h:h*(-Math.pow(2,-10*e/g)+1)+a},onTouchEnd:function(b){var a=this;clearTimeout(a.getTimer());a.getEl().removeCls(a.getPressCls());a.fireEvent("touchend",a,b)}});Ext.define("Ext.field.trigger.Trigger",{extend:Ext.Widget,xtype:"trigger",alias:"trigger.trigger",mixins:[Ext.mixin.Factoryable],factoryConfig:{defaultType:"trigger",aliasPrefix:"trigger."},config:{field:null,group:null,handler:null,repeat:null,side:null,scope:null,triggers:null,weight:null},classCls:Ext.baseCSSPrefix+"trigger",interactiveCls:Ext.baseCSSPrefix+"interactive",groupedCls:Ext.baseCSSPrefix+"grouped",template:[{reference:"iconElement",classList:[Ext.baseCSSPrefix+"icon-el",Ext.baseCSSPrefix+"font-icon"]}],statics:{sort:function(a){Ext.Array.sort(a,this.weightComparator);return a},weightComparator:function(a,b){return(a.getWeight()||0)-(b.getWeight()||0)}},constructor:function(a){var c=this,b,d;c.callParent([a]);b=c.element;d=c.getRepeat();if(d){c.repeater=new Ext.util.TapRepeater(Ext.apply({el:b},d));c.repeater.on("tap","onClick",this)}else{b.on("click","onClick",this)}},doDestroy:function(){var b=this.getTriggers(),a,c;if(b){for(a=0,c=b.length;a<c;a++){b[a].destroy()}}this.setTriggers(null);Ext.destroyMembers(this,"repeater");this.callParent()},onClick:function(d){var b=this,a=b.getHandler(),c=b.getField();if(a){Ext.callback(a,b.getScope(),[c,b,d],null,c)}},updateHandler:function(a){this.toggleCls(this.interactiveCls,!!a)},updateGroup:function(a){if(!this.isConfiguring){this.getField().syncTriggers()}},updateSide:function(){if(!this.isConfiguring){this.getField().syncTriggers()}},updateTriggers:function(c){var e=this,g=e.element.dom,b=e.iconElement,a,d;e.toggleCls(e.groupedCls,!!(c&&c.length));if(c){if(b){b.destroy();e.iconElement=null;Ext.Array.remove(e.referenceList,"iconElement")}for(a=0,d=c.length;a<d;a++){g.appendChild(c[a].element.dom)}}}});Ext.define("Ext.field.trigger.Clear",{extend:Ext.field.trigger.Trigger,xtype:"cleartrigger",alias:"trigger.clear",classCls:Ext.baseCSSPrefix+"cleartrigger",weight:-1000,hidden:true,handler:"onClearIconTap",scope:"this"});Ext.define("Ext.field.TextInput",{extend:Ext.field.Input,xtype:"textinput",type:"text",fastFocus:false,classCls:Ext.baseCSSPrefix+"textinput",beforeTemplate:[{reference:"beforeElement",cls:Ext.baseCSSPrefix+"before-el"}],afterTemplate:[{reference:"afterElement",cls:Ext.baseCSSPrefix+"after-el"}]});Ext.define("Ext.field.Text",{extend:Ext.field.Field,xtype:"textfield",alternateClassName:"Ext.form.Text",config:{clearIcon:true,placeHolder:null,maxLength:null,autoComplete:null,autoCapitalize:null,autoCorrect:null,readOnly:null,component:{xtype:"textinput"},triggers:{clear:{type:"clear"}},bubbleEvents:["action"],bodyAlign:"stretch",textAlign:null},defaultBindProperty:"value",twoWayBindable:{value:1},publishes:{value:1},classCls:Ext.baseCSSPrefix+"textfield",focusedCls:Ext.baseCSSPrefix+"focused",emptyCls:Ext.baseCSSPrefix+"empty",initialize:function(){var a=this;a.callParent();a.getComponent().on({keyup:"onKeyUp",input:"onInput",focus:"onFocus",blur:"onBlur",paste:"onPaste",mousedown:"onMouseDown",scope:this});a.originalValue=a.getValue()||"";a.getComponent().originalValue=a.originalValue;a.syncEmptyCls()},applyValue:function(a){return Ext.isEmpty(a)?"":a},updateValue:function(e,c){var d=this,b=d.getComponent(),a=e!==undefined&&e!==null&&e!=="";if(b){b.setValue(e)}d.toggleClearTrigger(a&&d.isDirty());d.syncEmptyCls();if(d.initialized){d.fireEvent("change",d,e,c)}},updateLabel:function(a,b){this.callParent(arguments);if(this.getLabelAlign()==="placeholder"){this.setPlaceHolder(a)}},updateLabelAlign:function(a,b){this.callParent([a,b])},updateTextAlign:function(a,c){var b=this.element;if(c){b.removeCls(Ext.baseCSSPrefix+"text-align-"+c)}if(a){b.addCls(Ext.baseCSSPrefix+"text-align-"+a)}},updatePlaceHolder:function(c){var b=this,a=b.getLabel();b.getComponent().setPlaceHolder(c)},updateMaxLength:function(a){this.getComponent().setMaxLength(a)},updateAutoComplete:function(a){this.getComponent().setAutoComplete(a)},updateAutoCapitalize:function(a){this.getComponent().setAutoCapitalize(a)},updateAutoCorrect:function(a){this.getComponent().setAutoCorrect(a)},updateReadOnly:function(a){this.toggleClearTrigger(!a);this.getComponent().setReadOnly(a)},updateInputType:function(a){var b=this.getComponent();if(b){b.setType(a)}},updateName:function(a){var b=this.getComponent();if(b){b.setName(a)}},updateTabIndex:function(b){var a=this.getComponent();if(a){a.setTabIndex(b)}},updateInputCls:function(a,b){var c=this.getComponent();if(c){c.replaceCls(b,a)}},updateDisabled:function(a,b){this.callParent([a,b]);this.toggleClearTrigger(!a)},applyTriggers:function(d){var e=this,g={},a=Ext.field.trigger.Trigger,h=e.getClearIcon(),c,b;for(c in d){if(!h&&(c==="clear")){continue}b=d[c];if(b===true){b={type:c}}else{if(typeof b==="string"){b={type:b}}}b=Ext.apply({field:e},b);b=b.xtype?Ext.create(b):a.create(b);g[c]=b}return g},updateTriggers:function(b,c){var a;for(a in c){c[a].destroy()}this.syncTriggers()},showClearTrigger:function(){var d=this,e=d.getValue(),a=e!==undefined&&e!==null&&e!=="",c,b;if(d.getClearIcon()&&!d.getDisabled()&&!d.getReadOnly()&&a){c=d.getTriggers();b=c&&c.clear;if(b){b.show()}}return d},hideClearTrigger:function(){var b=this.getTriggers(),a=b&&b.clear;if(a){a.hide()}},onKeyUp:function(a){this.fireAction("keyup",[this,a],"doKeyUp")},doKeyUp:function(b,d){var c=b.getValue(),a=c!==undefined&&c!==null&&c!=="";b.toggleClearTrigger(a);if(d.browserEvent.keyCode===13){b.fireAction("action",[b,d],"doAction")}},doAction:function(){this.blur()},onClearIconTap:function(a,b){this.fireAction("clearicontap",[this,a,b],"doClearIconTap");if(Ext.os.is.Android){this.getComponent().focus()}},doClearIconTap:function(a,b){a.setValue("")},onInput:function(a,b){this.setValue(b)},onFocus:function(b){var a=this;a.addCls(a.focusedCls);a.isFocused=true;if(a.getLabelAlign()==="placeholder"&&!a.getValue()){a.animatePlaceholderToLabel()}a.fireEvent("focus",a,b)},onBlur:function(b){var a=this;a.removeCls(a.focusedCls);a.isFocused=false;if(a.getLabelAlign()==="placeholder"&&!a.getValue()){a.animateLabelToPlaceholder()}a.fireEvent("blur",a,b);Ext.defer(function(){a.isFocused=false},50)},onPaste:function(a){this.fireEvent("paste",this,a)},onMouseDown:function(a){this.fireEvent("mousedown",this,a)},focus:function(){this.getComponent().focus();return this},blur:function(){this.getComponent().blur();return this},select:function(){this.getComponent().select();return this},resetOriginalValue:function(){var b=this,a;b.callParent();a=b.getComponent();if(a&&a.hasOwnProperty("originalValue")){b.getComponent().originalValue=b.originalValue}b.reset()},reset:function(){var a=this;a.getComponent().reset();this.callParent();a.toggleClearTrigger(a.isDirty())},isDirty:function(){var a=this.getComponent();if(a){return a.isDirty()}return false},doDestroy:function(){this.setTriggers(null);this.triggerGroups=null;this.callParent()},privates:{animateLabelToPlaceholder:function(){var b=this,a=b.getPlaceholderAnimInfo();b.labelElement.animate({from:{left:0,top:0,opacity:1},to:a,preserveEndState:true,duration:250,easing:"ease-out",callback:function(){b.setPlaceHolder(b.getLabel())}});b.lastPlaceholderAnimInfo=a},animatePlaceholderToLabel:function(){var a=this;a.labelElement.animate({from:a.lastPlaceholderAnimInfo||a.getPlaceholderAnimInfo(),to:{left:0,top:0,opacity:1},easing:"ease-out",preserveEndState:true,duration:250});a.setPlaceHolder(null);a.lastPlaceholderAnimInfo=null},getPlaceholderAnimInfo:function(){var h=this,d=h.element,g=h.labelElement,k=h.getComponent().inputElement,j=g.getOffsetsTo(d),i=k.getOffsetsTo(d),c=g.getPadding("l"),e=k.getPadding("l"),b=i[0]-j[0]+(e-c),a=i[1]-j[1];return{left:b,top:a,opacity:0}},syncEmptyCls:function(){this.toggleCls(this.emptyCls,!this.getValue())},syncTriggers:function(){var l=this,k=l.getTriggers(),m=l.getComponent(),n=l.triggerGroups||(l.triggerGroups={}),h=[],c=[],b={},o=Ext.field.trigger.Trigger,a,d,p,g,e,j;for(a in k){d=k[a];p=d.getGroup();if(p){(b[p]||(b[p]=[])).push(d)}else{if(d.getSide()==="left"){h.push(d)}else{c.push(d)}}}for(p in b){g=n[p];if(!g){g=k[p];if(!g){g=new o()}n[p]=g}g.setTriggers(o.sort(b[p]));if(g.getSide()==="left"){h.push(g)}else{c.push(g)}}for(e=0,j=h.length;e<j;e++){m.beforeElement.appendChild(h[e].element)}for(e=0,j=c.length;e<j;e++){m.afterElement.appendChild(c[e].element)}for(p in n){if(!(p in b)){g=n[p];g.setTriggers(null);g.destroy();delete n[p]}}},toggleClearTrigger:function(a){if(a){this.showClearTrigger()}else{this.hideClearTrigger()}}}});Ext.define("Ext.field.TextAreaInput",{extend:Ext.field.TextInput,xtype:"textareainput",tag:"textarea",classCls:Ext.baseCSSPrefix+"textareainput"});Ext.define("Ext.field.TextArea",{extend:Ext.field.Text,xtype:"textareafield",alternateClassName:"Ext.form.TextArea",config:{autoCapitalize:false,component:{xtype:"textareainput"},maxRows:null,clearIcon:false},classCls:Ext.baseCSSPrefix+"textareafield",updateMaxRows:function(a){this.getComponent().setMaxRows(a)},updateHeight:function(a,b){this.callParent([a,b]);this.getComponent().inputElement.setHeight(a)},updateWidth:function(b,a){this.callParent([b,a]);this.getComponent().inputElement.setWidth(b)},doKeyUp:function(a){this.toggleClearTrigger(this.getValue())}});Ext.define("Ext.layout.Box",{extend:Ext.layout.Default,config:{orient:"horizontal",align:"start",pack:"start",vertical:false},alias:"layout.tablebox",cls:Ext.baseCSSPrefix+"layout-tablebox",itemCls:Ext.baseCSSPrefix+"layout-tablebox-item",setContainer:function(a){this.callParent([a]);a.on("flexchange","onItemFlexChange",this,{delegate:"> component"})},updateVertical:function(a){this.setOrient(a?"vertical":"horizontal")},onItemFlexChange:Ext.emptyFn});Ext.define("Ext.layout.FlexBox",{extend:Ext.layout.Box,alias:"layout.box",config:{align:"stretch"},cls:Ext.baseCSSPrefix+"layout-box",baseItemCls:Ext.baseCSSPrefix+"layout-box-item",orientMap:{horizontal:{sizeProp:"width",event:"widthchange",containerCls:[Ext.baseCSSPrefix+"layout-hbox",Ext.baseCSSPrefix+"horizontal"],itemCls:Ext.baseCSSPrefix+"layout-hbox-item"},vertical:{sizeProp:"height",event:"heightchange",containerCls:[Ext.baseCSSPrefix+"layout-vbox",Ext.baseCSSPrefix+"vertical"],itemCls:Ext.baseCSSPrefix+"layout-vbox-item"}},setContainer:function(a){this.callParent([a]);this.monitorSizeFlagsChange()},applyOrient:function(a){return a},updateOrient:function(g,h){var o=this,c=o.container,l=c.innerElement,e=c.innerItems,m=e.length,b=o.orientMap,a=b[g],n=b[h],k={delegate:"> component"},j,d,p;o.sizePropertyName=a.sizeProp;if(h){l.removeCls(n.containerCls);c.un(n.event,"onItemSizeChange",o,k);for(j=0;j<m;++j){e[j].removeCls(n.itemCls)}}l.addCls(a.containerCls);c.on(a.event,"onItemSizeChange",o,k);o.itemCls=d=[o.baseItemCls,a.itemCls];for(j=0;j<m;++j){p=e[j];p.addCls(d);o.refreshItemSizeState(p)}if(h){o.redrawContainer()}},onItemInnerStateChange:function(d,c){this.callParent(arguments);var a,b;if(c){a=d.getFlex();b=d.getConfig(this.sizePropertyName);if(a){this.doItemFlexChange(d,a)}else{if(b){this.doItemSizeChange(d,b)}}}this.refreshItemSizeState(d)},refreshItemSizeState:function(e){var c=e.isInnerItem(),a=this.container,g=a.LAYOUT_HEIGHT,d=a.LAYOUT_WIDTH,h=this.sizePropertyName,b=0,i=a.getSizeFlags();if(c){b|=a.LAYOUT_STRETCHED;if(this.getAlign()==="stretch"){b|=i&(h==="width"?g:d)}if(e.getFlex()){b|=i&(h==="width"?d:g)}}e.setLayoutSizeFlags(b)},refreshAllItemSizedStates:function(){var d=this.container.innerItems,a,c,b;for(a=0,c=d.length;a<c;a++){b=d[a];this.refreshItemSizeState(b)}},onContainerSizeFlagsChange:function(){this.refreshAllItemSizedStates();this.callParent(arguments)},onItemSizeChange:function(b,a){if(b.isInnerItem()){this.doItemSizeChange(b,a)}},doItemSizeChange:function(b,a){if(a){b.setFlex(null);this.redrawContainer()}},onItemFlexChange:function(b,a){if(b.isInnerItem()){this.doItemFlexChange(b,a);this.refreshItemSizeState(b)}},doItemFlexChange:function(b,a){this.setItemFlex(b,a);if(a){b.setConfig(this.sizePropertyName,null)}else{this.redrawContainer()}},redrawContainer:function(){var a=this.container,b=a.element.dom.parentNode;if(b&&b.nodeType!==11){a.innerElement.redraw()}},setItemFlex:function(d,a){var b=d.element,c=b.dom.style;b.toggleCls(Ext.baseCSSPrefix+"flexed",!!a);if(Ext.isWebKit){c.setProperty("-webkit-box-flex",a?a:"",null)}else{if(Ext.isIE){c.setProperty("-ms-flex",(a?a+" "+a+" 0px":""),null)}}c.setProperty("flex",(a?a+" "+a+" 0px":""),null)},convertPosition:function(a){var b=this.positionMap;if(b.hasOwnProperty(a)){return b[a]}return a},applyAlign:function(a){return this.convertPosition(a)},updateAlign:function(c,b){var a=this.container;a.innerElement.swapCls(c,b,true,"x-align");if(b!==undefined){this.refreshAllItemSizedStates()}},applyPack:function(a){return this.convertPosition(a)},updatePack:function(a,b){this.container.innerElement.swapCls(a,b,true,"x-pack")}});Ext.define("Ext.layout.VBox",{extend:Ext.layout.FlexBox,alias:"layout.vbox",config:{vertical:true}});Ext.define("Ext.MessageBox",{extend:Ext.Sheet,xtype:"messagebox",config:{baseCls:Ext.baseCSSPrefix+"msgbox",iconCls:null,showAnimation:{type:"popIn",duration:250,easing:"ease-out"},hideAnimation:{type:"popOut",duration:250,easing:"ease-out"},defaultTextHeight:75,title:null,buttons:null,buttonToolbar:{docked:"bottom",defaultType:"button",layout:{type:"hbox",pack:"center"}},message:null,prompt:null,modal:true,layout:{type:"vbox",pack:"center"}},statics:{OK:{text:"OK",itemId:"ok"},YES:{text:"Yes",itemId:"yes"},NO:{text:"No",itemId:"no"},CANCEL:{text:"Cancel",itemId:"cancel"},INFO:Ext.baseCSSPrefix+"msgbox-info",WARNING:Ext.baseCSSPrefix+"msgbox-warning",QUESTION:Ext.baseCSSPrefix+"msgbox-question",ERROR:Ext.baseCSSPrefix+"msgbox-error",OKCANCEL:[{text:"Cancel",itemId:"cancel"},{text:"OK",itemId:"ok"}],YESNOCANCEL:[{text:"Cancel",itemId:"cancel"},{text:"No",itemId:"no"},{text:"Yes",itemId:"yes"}],YESNO:[{text:"No",itemId:"no"},{text:"Yes",itemId:"yes"}]},constructor:function(a){a=a||{};if(a.hasOwnProperty("multiline")||a.hasOwnProperty("multiLine")){a.prompt=a.prompt||{};Ext.applyIf(a.prompt,{multiLine:a.multiline||a.multiLine});delete a.multiline;delete a.multiLine}this.defaultAllowedConfig={};var e=["ui","showAnimation","hideAnimation","title","message","prompt","iconCls","buttons","defaultTextHeight"],d=e.length,b,c;for(b=0;b<d;b++){c=e[b];this.defaultAllowedConfig[c]=this.defaultConfig[c]}this.callParent([a])},applyTitle:function(a){if(typeof a==="string"){return a}return a.title},updateTitle:function(b){var a=this.getHeader()||{};if(Ext.isSimpleObject(a)){a.title=b;this.setHeader(a)}else{if(Ext.isFunction(a.setTitle)){a.setTitle(b)}}},updateButtons:function(a){var c=Ext.create,d=this,e=this.getButtonToolbar(),b;a=(!a||a.length===0)?false:a;if(a){if(d.buttonsToolbar){d.buttonsToolbar.show();d.buttonsToolbar.removeAll();d.buttonsToolbar.setItems(a)}else{b=Ext.apply({ui:d.getUi(),cls:d.getBaseCls()+"-buttons",items:a},e);d.buttonsToolbar=c("Ext.Toolbar",b);d.add(d.buttonsToolbar)}}else{if(d.buttonsToolbar){d.buttonsToolbar.hide()}}},applyMessage:function(a){a={html:a,cls:this.getBaseCls()+"-text"};return Ext.factory(a,Ext.Component,this._message)},updateMessage:function(a){if(a){this.add(a)}},getMessage:function(){if(this._message){return this._message.getHtml()}return null},applyIconCls:function(a){if(a){a={xtype:"component",docked:"left",width:40,height:40,baseCls:Ext.baseCSSPrefix+"icon",hidden:(a)?false:true,cls:a};return Ext.factory(a,Ext.Component,this._iconCls)}return a},updateIconCls:function(a,b){this.getTitle();this.getButtons();if(a){this.add(a)}else{this.remove(b)}},getIconCls:function(){var b=this._iconCls,a;if(b){a=b.getCls();return(a)?a[0]:null}return null},applyPrompt:function(a){if(a){var b={label:false};if(Ext.isObject(a)){Ext.apply(b,a)}if(b.multiLine){b.height=Ext.isNumber(b.multiLine)?parseFloat(b.multiLine):this.getDefaultTextHeight();return Ext.factory(b,Ext.field.TextArea,this.getPrompt())}else{return Ext.factory(b,Ext.field.Text,this.getPrompt())}}return a},updatePrompt:function(a,b){if(a){this.add(a)}if(b){this.remove(b)}},onClick:function(c){if(c){var b=c.config.userConfig||{},d=c.getInitialConfig(),a=this.getPrompt();if(typeof b.fn=="function"){c.disable();this.on({hiddenchange:function(){b.fn.call(b.scope||null,d.itemId||d.text,a?a.getValue():null,b);c.enable()},single:true,scope:this})}}this.hide()},show:function(g){Ext.util.InputBlocker.blockInputs();if(!this.getParent()&&Ext.Viewport){Ext.Viewport.add(this)}if(!g){return this.callParent()}var b=Ext.apply({},g),e=g.buttons||Ext.MessageBox.OK||[],d=[],c=g;Ext.each(e,function(h){if(!h){return}d.push(Ext.apply({userConfig:c,scope:this,handler:"onClick"},h))},this);b.buttons=d;b.prompt=b.prompt||null;if(b.multiLine){b.prompt=b.prompt||{};b.prompt.multiLine=b.multiLine;delete b.multiLine}delete b.value;delete b.fn;delete b.scope;b=Ext.merge({},this.defaultAllowedConfig,b);this.setConfig(b);var a=this.getPrompt();if(a){a.setValue(g.value||"")}this.callParent();return this},alert:function(d,c,b,a){return this.show({title:d||null,message:c||null,buttons:Ext.MessageBox.OK,prompt:false,fn:function(){if(b){Ext.callback(b,a,arguments)}},scope:a})},confirm:function(d,c,b,a){return this.show({title:d||null,message:c||null,buttons:Ext.MessageBox.YESNO,prompt:false,scope:a,fn:function(){if(b){Ext.callback(b,a,arguments)}}})},prompt:function(h,d,c,b,g,e,a){return this.show({title:h||null,message:d||null,buttons:Ext.MessageBox.OKCANCEL,scope:b,prompt:a||true,multiLine:g,value:e,fn:function(){if(c){Ext.callback(c,b,arguments)}}})}},function(a){Ext.onInternalReady(function(){Ext.Msg=new Ext.MessageBox()})});Ext.define("Ext.SegmentedButton",{extend:Ext.Container,xtype:"segmentedbutton",alternateClassName:"Ext.button.Segmented",isSegmentedButton:true,classCls:Ext.baseCSSPrefix+"segmentedbutton",config:{allowMultiple:false,allowDepress:false,allowToggle:true,forceSelection:false,pressedButtons:null,defaultType:"button",defaultUI:"segmented",value:undefined,vertical:false},layout:{type:"box",vertical:false,align:"stretch"},defaultBindProperty:"value",twoWayBindable:"value",constructor:function(a){this.valueMap={};this.callParent([a])},initialize:function(){var a=this;a.callParent();a.onAfter({delegate:"> button",scope:a,hide:"onButtonHiddenChange",show:"onButtonHiddenChange"})},applyPressedButtons:function(e){var d=e,a,c,b;e=[];if(d){d=Ext.Array.from(d);for(c=0;c<a;++c){b=this.getComponent(d[c]);if(b){e.push(b)}}}return e},updatePressedButtons:function(a){this.setValue(a)},getPressedButtons:function(){var b=this.getItems().items,a=b.length,c=[],e,d;for(e=0;e<a;++e){d=b[e];if(d.getPressed()){c.push(d)}}return c},applyValue:function(p,b){var o=this,m=b===undefined,s=o.getAllowMultiple(),n=o.getItems(),l=n.getCount(),q=[],a=o.getForceSelection(),r=o.pressingItem,c,k,j,h,d,e,g;o.settingValue=true;q=Ext.Array.from(p);b=Ext.Array.from(b);if(m){e={};for(g=n.getCount()-1;g>=0;--g){k=n.getAt(g);if(a&&!q.length&&g===0&&!c){k.setPressed(true)}if(k.getPressed()){c=true;j=k.getValue();if(j===null){j=n.indexOf(k)}if(!Ext.Array.contains(q,j)){q.unshift(j)}}}}else{e=o.getAllPressed(n)}l=q.length;for(g=0;g<l;g++){p=q[g];k=o.lookupButtonByValue(p);if(k){j=k.getValue();if(j!==null&&j!==p){q[g]=j}if(e[k.id]){delete e[k.id]}else{k.setPressed(true);if(!m){(h||(h=[])).push(k)}}}}for(d in e){k=e[d];k.setPressed(false);if(!m){(h||(h=[])).push(k)}}if(s){p=q=o.sortValues(q)}else{p=q.length?q[0]:null;b=b.length?b[0]:null}o.settingValue=false;if(!m&&h){if(o.hasListeners.toggle){o.sortToggleItems(h);for(g=0,l=h.length;g<l;++g){k=h[g];o.fireEvent("toggle",o,k,k.getPressed())}}if(o.hasListeners.change){h=s?!Ext.Array.equals(p,b):p!==b;if(h){o.fireEvent("change",o,p,b)}}}return p},updateAllowMultiple:function(a){if(!this.initialized&&!this.getInitialConfig().hasOwnProperty("allowDepress")&&a){this.setAllowDepress(true)}},updateVertical:function(a){var d=this,c=Ext.baseCSSPrefix+"vertical",b=Ext.baseCSSPrefix+"horizontal";d.replaceCls(a?b:c,a?c:b);d.getLayout().setVertical(a)},onItemAdd:function(c,a){var b=this,e=b.getDefaultUI(),d=c.getValue();b.getAllowMultiple();if(e&&(c.getUi()==null)){c.setUi(e)}if(d!==null){b.valueMap[d]=c;b.useValueMap=true}c.$segmentedListeners=c.on({scope:b,beforepressedchange:"onBeforePressedChange",pressedchange:"onPressedChange",order:"before",destroyable:true});b.callParent([c,a]);b.updateFirstAndLastCls(b.getItems());c.$enableToggle=c.getEnableToggle();c.$allowDepress=c.getAllowDepress();c.setEnableToggle(b.getAllowToggle());c.setAllowDepress(b.getAllowDepress())},onItemRemove:function(l,d,k){var g=this,j=l.getValue(),b=g.useValueMap,h=l.$segmentedListeners,e,a,c;g.callParent([l,d,k]);if(!g.destroying){if(h){h.destroy()}g.updateFirstAndLastCls(this.getItems());if(b){j=button.getValue();delete g.valueMap[j]}else{j=d}if(l.getPressed()){e=g.getValue();if(g.getAllowMultiple()){d=e.indexOf(j);a=e.slice();if(!b){for(c=a.length-1;c>d;--c){--a[c]}}a.splice(d,1)}else{a=null}g.setValue(a)}l.setEnableToggle(l.$enableToggle);l.setAllowDepress(l.$allowDepress)}l.$segmentedListeners=null},isPressed:function(a){return a.getPressed()},updateDisabled:function(a,c){var b=this;b.items.each(function(d){d.setDisabled(a)},b);b.callParent([a,c])},updateDefaultUI:function(e){var b=this.items&&this.items.items,a=b.length,c,d;for(c=0;c<a;c++){d=b[c];if(d.getUi()==null){d.setUi(e)}}},doDestroy:function(){this.destroying=true;this.valueMap=null;this.callParent()},privates:{getAllPressed:function(b){b=b.items;var a=b.length,h={},e=this.pressingItem,d,c,g;for(d=0;d<a;++d){c=b[d];if(c===e){g=!c.getPressed()}else{g=c.getPressed()}if(g){h[c.id]=c}}return h},lookupButtonByValue:function(b){var a;if(this.useValueMap){a=this.valueMap[b]}else{a=this.getItems().getAt(b)}return a},onBeforePressedChange:function(b,c){var a;if(this.getForceSelection()&&!c){if(this.getAllowMultiple()){a=this.getValue().length===1}else{a=false}}return a},onPressedChange:function(c,h){if(this.settingValue){return}var e=this,d=Ext.Array,b=e.getAllowMultiple(),a=e.useValueMap?c.getValue():e.items.indexOf(c),g=e.getValue(),i;if(b){i=d.indexOf(g,a)}if(h){if(b){if(i===-1){g=d.slice(g);g.push(a)}}else{g=a}}else{if(b){if(i>-1){g=d.slice(g);g.splice(i,1)}}else{if(g===a){g=null}}}e.pressingItem=c;e.setValue(g);e.pressingItem=null},onButtonHiddenChange:function(){this.updateFirstAndLastCls(this.getItems())},sortToggleItems:function(b){var a=this.getItems();Ext.Array.sort(b,function(d,c){var h=d.getPressed()?1:0,g=c.getPressed()?1:0,e=h-g;if(e===0){e=a.indexOf(d)-a.indexOf(c)}return e})},sortValues:function(b){var c=Ext.Array.numericSortFn,d=this.valueMap,a=this.getItems();b=Ext.Array.clone(b);if(this.useValueMap){c=function(g,e){g=a.indexOf(d[g]);e=a.indexOf(d[e]);return g-e}}Ext.Array.sort(b,c);return b},updateFirstAndLastCls:function(b){var e=b.length,g=Ext.baseCSSPrefix,a=g+"first",h=g+"last",d,c;for(c=0;c<e;c++){d=b.items[c];d.removeCls(a);d.removeCls(h)}for(c=0;c<e;c++){d=b.items[c];if(!d.isHidden()){d.addCls(a);break}}for(c=e-1;c>=0;c--){d=b.items[c];if(!d.isHidden()){d.addCls(h);break}}}}});Ext.define("Ext.util.Draggable",{isDraggable:true,mixins:[Ext.mixin.Observable],config:{cls:Ext.baseCSSPrefix+"draggable",draggingCls:Ext.baseCSSPrefix+"dragging",element:null,constraint:"container",disabled:null,direction:"both",initialOffset:{x:0,y:0},translatable:{}},DIRECTION_BOTH:"both",DIRECTION_VERTICAL:"vertical",DIRECTION_HORIZONTAL:"horizontal",defaultConstraint:{min:{x:-Infinity,y:-Infinity},max:{x:Infinity,y:Infinity}},containerWidth:0,containerHeight:0,width:0,height:0,constructor:function(a){var b;this.extraConstraint={};this.initialConfig=a;this.offset={x:0,y:0};this.elementListeners={dragstart:"onDragStart",drag:"onDrag",dragend:"onDragEnd",resize:"onElementResize",touchstart:"onPress",touchend:"onRelease",priority:2000,scope:this};if(a&&a.element){b=a.element;delete a.element;this.setElement(b)}return this},applyElement:function(a){if(!a){return}return Ext.get(a)},updateElement:function(a){a.on(this.elementListeners);this.mixins.observable.constructor.call(this,this.initialConfig)},updateInitialOffset:function(b){if(typeof b=="number"){b={x:b,y:b}}var c=this.offset,a,d;c.x=a=b.x;c.y=d=b.y;this.getTranslatable().translate(a,d)},updateCls:function(a){this.getElement().addCls(a)},applyTranslatable:function(a,b){a=Ext.factory(a,Ext.util.Translatable,b);if(a){a.setElement(this.getElement())}return a},setExtraConstraint:function(a){this.extraConstraint=a||{};this.refreshConstraint();return this},addExtraConstraint:function(a){Ext.merge(this.extraConstraint,a);this.refreshConstraint();return this},applyConstraint:function(a){this.currentConstraint=a;if(!a){a=this.defaultConstraint}if(a==="container"){return Ext.merge(this.getContainerConstraint(),this.extraConstraint)}return Ext.merge({},this.extraConstraint,a)},updateConstraint:function(){this.refreshOffset()},getContainerConstraint:function(){var a=this.getContainer(),b=this.getElement(),c;if(!a||!b.dom){return this.defaultConstraint}c=a.getBorders();return{min:{x:0,y:0},max:{x:this.containerWidth-this.width-c.beforeX-c.afterX,y:this.containerHeight-this.height-c.beforeY-c.afterY}}},getContainer:function(){var a=this.container;if(!a){a=this.getElement().getParent();if(a){this.container=a;a.on({resize:"onContainerResize",destroy:"onContainerDestroy",scope:this,priority:2000})}}return a},onElementResize:function(a,b){this.width=b.width;this.height=b.height;this.refresh()},onContainerResize:function(a,b){this.containerWidth=b.contentWidth;this.containerHeight=b.contentHeight;this.refresh()},refreshContainerSize:function(){var b=this,a=b.getContainer();b.containerWidth=a.getWidth();b.containerHeight=a.getHeight();this.refresh();return b},onContainerDestroy:function(){delete this.container;delete this.containerSizeMonitor},detachListeners:function(){this.getElement().un(this.elementListeners)},isAxisEnabled:function(a){var b=this.getDirection();if(a==="x"){return(b===this.DIRECTION_BOTH||b===this.DIRECTION_HORIZONTAL)}return(b===this.DIRECTION_BOTH||b===this.DIRECTION_VERTICAL)},onPress:function(a){this.fireEvent("touchstart",this,a)},onRelease:function(a){this.fireEvent("touchend",this,a)},onDragStart:function(b){var a=this,c=a.offset;if(a.getDisabled()){return false}a.fireEventedAction("dragstart",[a,b,c.x,c.y],a.initDragStart,a)},initDragStart:function(b,c,a,d){this.dragStartOffset={x:a,y:d};this.isDragging=true;this.getElement().addCls(this.getDraggingCls())},onDrag:function(b){if(!this.isDragging){return}var a=this.dragStartOffset;this.fireAction("drag",[this,b,a.x+b.deltaX,a.y+b.deltaY],this.doDrag)},doDrag:function(b,c,a,d){b.setOffset(a,d)},onDragEnd:function(a){if(!this.isDragging){return}this.onDrag(a);this.isDragging=false;this.getElement().removeCls(this.getDraggingCls());this.fireEvent("dragend",this,a,this.offset.x,this.offset.y)},setOffset:function(j,i,b){var g=this.offset,a=this.getConstraint(),e=a.min,c=a.max,d=Math.min,h=Math.max;if(this.isAxisEnabled("x")&&typeof j=="number"){j=d(h(j,e.x),c.x)}else{j=g.x}if(this.isAxisEnabled("y")&&typeof i=="number"){i=d(h(i,e.y),c.y)}else{i=g.y}g.x=j;g.y=i;this.getTranslatable().translate(j,i,b)},getOffset:function(){return this.offset},refreshConstraint:function(){this.setConstraint(this.currentConstraint)},refreshOffset:function(){var a=this.offset;this.setOffset(a.x,a.y)},refresh:function(){this.refreshConstraint();this.getTranslatable().refresh();this.refreshOffset()},enable:function(){return this.setDisabled(false)},disable:function(){return this.setDisabled(true)},destroy:function(){var c=this,a=c.getTranslatable();var b=c.getElement();if(b&&!b.destroyed){b.removeCls(c.getCls())}c.detachListeners();if(a){a.destroy()}c.callParent()}});Ext.define("Ext.Sortable",{mixins:{observable:Ext.mixin.Observable},config:{baseCls:Ext.baseCSSPrefix+"sortable",delay:0},direction:"vertical",cancelSelector:null,constrain:window,group:"base",revert:true,itemSelector:null,handleSelector:null,disabled:false,sorting:false,vertical:false,constructor:function(b,a){a=a||{};Ext.apply(this,a);this.addEvents("sortstart","sortend","sortchange");this.el=Ext.get(b);this.callParent();this.mixins.observable.constructor.call(this);if(this.direction=="horizontal"){this.horizontal=true}else{if(this.direction=="vertical"){this.vertical=true}else{this.horizontal=this.vertical=true}}this.el.addCls(this.baseCls);this.startEventName=(this.getDelay()>0)?"taphold":"tapstart";if(!this.disabled){this.enable()}},onStart:function(b,a){if(this.cancelSelector&&b.getTarget(this.cancelSelector)){return}if(this.handleSelector&&!b.getTarget(this.handleSelector)){return}if(!this.sorting){this.onSortStart(b,a)}},onSortStart:function(c,b){this.sorting=true;var a=Ext.create("Ext.util.Draggable",b,{threshold:0,revert:this.revert,direction:this.direction,constrain:this.constrain===true?this.el:this.constrain,animationDuration:100});a.on({drag:this.onDrag,dragend:this.onDragEnd,scope:this});this.dragEl=b;this.calculateBoxes();if(!a.dragging){a.onStart(c)}this.fireEvent("sortstart",this,c)},calculateBoxes:function(){this.items=[];var b=this.el.select(this.itemSelector,false),g=b.length,a,e,c,d;for(a=0;a<g;a++){c=b[a];if(c!=this.dragEl){e=Ext.fly(c).getRegion();e.el=c;this.items.push(e)}}},onDrag:function(m,c){var h=this.items,g=h.length,j=m.region,d=false,b,a,k,l;for(b=0;b<g;b++){l=h[b];a=j.intersect(l);if(a){if(this.vertical&&Math.abs(a.top-a.bottom)>(j.bottom-j.top)/2){if(j.bottom>l.top&&l.top>j.top){m.el.insertAfter(l.el)}else{m.el.insertBefore(l.el)}d=true}else{if(this.horizontal&&Math.abs(a.left-a.right)>(j.right-j.left)/2){if(j.right>l.left&&l.left>j.left){m.el.insertAfter(l.el)}else{m.el.insertBefore(l.el)}d=true}}if(d){m.reset();m.moveTo(j.left,j.top);this.calculateBoxes();this.fireEvent("sortchange",this,m.el,this.el.select(this.itemSelector,false).indexOf(m.el.dom));return}}}},onDragEnd:function(a,b){a.destroy();this.sorting=false;this.fireEvent("sortend",this,a,b)},enable:function(){this.el.on(this.startEventName,this.onStart,this,{delegate:this.itemSelector,holdThreshold:this.getDelay()});this.disabled=false},disable:function(){this.el.un(this.startEventName,this.onStart,this);this.disabled=true},isDisabled:function(){return this.disabled},isSorting:function(){return this.sorting},isVertical:function(){return this.vertical},isHorizontal:function(){return this.horizontal}});Ext.define("Ext.Spacer",{extend:Ext.Component,alias:"widget.spacer",config:{},constructor:function(a){a=a||{};if(!a.width){a.flex=1}this.callParent([a])}});Ext.define("Ext.Title",{extend:Ext.Component,xtype:"title",config:{baseCls:Ext.baseCSSPrefix+"title",title:""},updateTitle:function(a){this.setHtml(a)}});Ext.define("Ext.TitleBar",{extend:Ext.Container,xtype:"titlebar",defaultBindProperty:"title",isToolbar:true,classCls:Ext.baseCSSPrefix+"titlebar",config:{cls:Ext.baseCSSPrefix+"navigation-bar",title:null,titleAlign:"center",defaultType:"button",defaultButtonUI:null,minHeight:null,layout:{type:"hbox",align:"center"},items:[],maxButtonWidth:"40%"},border:false,hasCSSMinHeight:true,beforeInitialize:function(){this.applyItems=this.applyInitialItems},initialize:function(){delete this.applyItems;this.add(this.initialItems);delete this.initialItems;this.on({painted:"refreshTitlePosition",single:true})},applyInitialItems:function(a){var c=this,b=c.getTitleAlign(),d=c.getDefaults()||{};c.initialItems=a;c.leftBox=c.add({xtype:"container",style:"position: relative",cls:Ext.baseCSSPrefix+"titlebar-left",layout:{type:"hbox",align:"center"},listeners:{resize:"refreshTitlePosition",scope:c}});c.spacer=c.add({xtype:"component",style:"position: relative",cls:Ext.baseCSSPrefix+"titlebar-center",flex:1,listeners:{resize:"refreshTitlePosition",scope:c}});c.rightBox=c.add({xtype:"container",style:"position: relative",cls:Ext.baseCSSPrefix+"titlebar-right",layout:{type:"hbox",align:"center"},listeners:{resize:"refreshTitlePosition",scope:c}});switch(b){case"left":c.titleComponent=c.leftBox.add({xtype:"title",cls:Ext.baseCSSPrefix+"title-align-left",hidden:d.hidden});c.refreshTitlePosition=Ext.emptyFn;break;case"right":c.titleComponent=c.rightBox.add({xtype:"title",cls:Ext.baseCSSPrefix+"title-align-right",hidden:d.hidden});c.refreshTitlePosition=Ext.emptyFn;break;default:c.titleComponent=c.add({xtype:"title",hidden:d.hidden,centered:true});break}c.doAdd=c.doBoxAdd;c.remove=c.doBoxRemove;c.doInsert=c.doBoxInsert},doBoxAdd:function(c){var b=this,a=b.getTitleAlign();b.addDefaultButtonUI(c);if(c.config.align=="right"){b.rightBox.add(c)}else{if(b.titleComponent&&a==="left"){b.leftBox.insertBefore(c,b.titleComponent)}else{b.leftBox.add(c)}}},doBoxRemove:function(b,a){if(b.config.align=="right"){this.rightBox.remove(b,a)}else{this.leftBox.remove(b,a)}},doBoxInsert:function(a,c){var b=this;b.addDefaultButtonUI(c);if(c.config.align=="right"){b.rightBox.insert(a,c)}else{b.leftBox.insert(a,c)}},addDefaultButtonUI:function(b){var a=this.getDefaultButtonUI();if(a){if(b.isSegmentedButton){if(b.getDefaultUI()==null){b.setDefaultUI(a)}}else{if(b.isButton&&(b.getUi()==null)){b.setUi(a)}}}},calculateMaxButtonWidth:function(){var a=this.getMaxButtonWidth();if(Ext.isString(a)){a=parseInt(a.replace("%",""),10)}a=Math.round((this.element.getWidth()/100)*a);return a},refreshTitlePosition:function(){if(this.destroyed){return}var h=this.titleComponent.renderElement;h.setWidth(null);h.setLeft(null);var b=this.leftBox,d=b.down("button"),a=b.getItems().getCount()==1,j,o;if(d&&a){if(d.getWidth()==null){d.renderElement.setWidth("auto")}j=b.renderElement.getWidth();o=this.calculateMaxButtonWidth();if(j>o){d.renderElement.setWidth(o)}}var l=this.spacer.renderElement.getBox();if(Ext.browser.is.IE){h.setWidth(l.width)}var m=h.getBox(),i=m.width-l.width,e=m.left,k=m.right,c,n,g;if(i>0){c=i/2;e+=c;k-=c;h.setWidth(l.width)}n=l.left-e;g=k-l.right;if(n>0){h.setLeft(n)}else{if(g>0){h.setLeft(-g)}}h.repaint()},updateTitle:function(a){this.getItems();this.titleComponent.setTitle(a);if(this.isPainted()){this.refreshTitlePosition()}}});Ext.define("Ext.Toast",{extend:Ext.Sheet,config:{ui:"dark",baseCls:Ext.baseCSSPrefix+"toast",showAnimation:{type:"popIn",duration:250,easing:"ease-out"},hideAnimation:{type:"popOut",duration:250,easing:"ease-out"},zIndex:999,message:"",timeout:1000,messageAnimation:true,hideOnMaskTap:true,modal:false,layout:{type:"vbox",pack:"center"}},initialize:function(){this.callParent(arguments);Ext.getDoc().on({scope:this,tap:"onDocumentTap",capture:true})},applyMessage:function(b){var a={html:b,cls:this.getBaseCls()+"-text"};return Ext.factory(a,Ext.Component,this._message)},updateMessage:function(a){if(a){this.add(a)}},startTimer:function(){var a=this.getTimeout();if(this._timeoutID){clearTimeout(this._timeoutID)}if(!Ext.isEmpty(a)){this._timeoutID=setTimeout(Ext.bind(this.onTimeout,this),a)}else{this.onTimeout()}},stopTimer:function(){clearTimeout(this._timeoutID);this._timeoutID=null},next:Ext.emptyFn,getIsAnimating:function(){var a=this.getMessage();return(a&&Ext.Animator.hasRunningAnimations(a))||Ext.Animator.hasRunningAnimations(this)},show:function(a){var c=this,b=a.message,d=a.timeout,g=c.getMessage(),e=c.getMessageAnimation();if(c.isRendered()&&c.isHidden()===false){g.onAfter({hiddenchange:function(){c.setMessage(b);c.setTimeout(d);g.onAfter({scope:c,hiddenchange:function(){c.startTimer()},single:true});g.show(e)},scope:c,single:true});g.hide(e)}else{Ext.util.InputBlocker.blockInputs();if(!c.getParent()&&Ext.Viewport){Ext.Viewport.add(c)}c.setMessage(b);c.setTimeout(d);c.startTimer();c.callParent(arguments)}},onDocumentTap:function(){this.hide()},hide:function(b){var a=this.getIsAnimating();if(a){return}var c=this.next();this.stopTimer();if(c){this.callParent(arguments)}},onTimeout:function(){if(this._timeoutID!==null){this.hide()}}},function(c){var b=[];function a(){if(!Ext.Toast._instance){Ext.Toast._instance=Ext.create("Ext.Toast")}return Ext.Toast._instance}c.prototype.next=function(){var d=b.shift();if(d){this.show(d)}return !d};Ext.toast=function(g,h){var d=a(),e=g;if(Ext.isString(g)){e={message:g,timeout:h}}if(e.timeout===undefined){e.timeout=Ext.Toast.prototype.config.timeout}b.push(e);if(!d.isRendered()||d.isHidden()){d.next()}return d}});Ext.define("Ext.layout.HBox",{extend:Ext.layout.FlexBox,alias:"layout.hbox",config:{vertical:false}});Ext.define("Ext.Toolbar",{extend:Ext.Container,xtype:"toolbar",isToolbar:true,config:{title:null,defaultType:"button",defaultButtonUI:null,minHeight:null,layout:{type:"hbox",align:"center"}},border:false,classCls:Ext.baseCSSPrefix+"toolbar",hasCSSMinHeight:true,constructor:function(a){a=a||{};if(a.docked=="left"||a.docked=="right"){a.layout={type:"vbox",align:"stretch"}}this.callParent([a])},applyTitle:function(a){if(typeof a=="string"){a={title:a,centered:true}}return Ext.factory(a,Ext.Title,this.getTitle())},updateTitle:function(b,a){if(b){this.add(b)}if(a){a.destroy()}},showTitle:function(){var a=this.getTitle();if(a){a.show()}},hideTitle:function(){var a=this.getTitle();if(a){a.hide()}},onItemAdd:function(c,b){var a=this.getDefaultButtonUI();if(a){if(c.isSegmentedButton){if(c.getDefaultUI()==null){c.setDefaultUI(a)}}else{if(c.isButton&&(c.getUi()==null)){c.setUi(a)}}}this.callParent([c,b])},factoryItem:function(a){if(a==="->"){a={xtype:"component",flex:1}}return this.callParent([a])}});Ext.define("Ext.Video",{extend:Ext.Media,xtype:"video",config:{posterUrl:null,baseCls:Ext.baseCSSPrefix+"video",controls:true},template:[{reference:"ghost",classList:[Ext.baseCSSPrefix+"video-ghost"]},{tag:"video",reference:"media",classList:[Ext.baseCSSPrefix+"media"]}],initialize:function(){var a=this;a.callParent();a.media.hide();a.ghost.on({tap:"onGhostTap",scope:a});a.media.on({pause:"onPause",scope:a});if(Ext.os.is.Android4||Ext.os.is.iPad){this.isInlineVideo=true}},applyUrl:function(a){return[].concat(a)},updateUrl:function(g){var c=this,e=c.media,h=g.length,d=e.query("source"),b=d.length,a;for(a=0;a<b;a++){Ext.fly(d[a]).destroy()}for(a=0;a<h;a++){e.appendChild(Ext.Element.create({tag:"source",src:g[a]}))}if(c.isPlaying()){c.play()}},updateControls:function(a){this.media.set({controls:a?true:undefined})},onActivate:function(){this.media.setTop(0)},onDeactivate:function(){this.pause();this.media.setTop(-2000);this.ghost.show()},onGhostTap:function(){var a=this,c=this.media,b=this.ghost;c.show();b.hide();a.play()},onPause:function(){this.callParent(arguments);if(!this.isInlineVideo){this.media.setTop(-2000);this.ghost.show()}},onPlay:function(){this.callParent(arguments);this.media.setTop(0)},updatePosterUrl:function(b){var a=this.ghost;if(a){a.setStyle("background-image","url("+b+")")}}});Ext.define("Ext.behavior.Draggable",{extend:Ext.behavior.Behavior,setConfig:function(c){var a=this.draggable,b=this.component,d=this.listeners;if(c){if(!a){b.setTranslatable(c.translatable);this.draggable=a=new Ext.util.Draggable(c);a.setTranslatable(b.getTranslatable());a.setElement(b.renderElement);a.on("destroy","onDraggableDestroy",this);if(d){b.on(d)}}else{if(Ext.isObject(c)){a.setConfig(c)}}}else{if(a){a.destroy()}}return this},getDraggable:function(){return this.draggable},onDraggableDestroy:function(){delete this.draggable},onComponentDestroy:function(){var a=this.draggable;if(a){a.destroy()}}});Ext.define("Ext.carousel.Item",{extend:Ext.Decorator,config:{baseCls:Ext.baseCSSPrefix+"carousel-item",component:null,translatable:true}});Ext.define("Ext.carousel.Indicator",{extend:Ext.Component,xtype:"carouselindicator",config:{baseCls:Ext.baseCSSPrefix+"carousel-indicator",direction:"horizontal"},initialize:function(){this.callParent();this.indicators=[];this.element.on({tap:"onTap",scope:this})},updateDirection:function(a,c){var b=this.getBaseCls();this.element.replaceCls(c,a,b);if(a==="horizontal"){this.setBottom(0);this.setRight(null)}else{this.setRight(0);this.setBottom(null)}},addIndicator:function(){this.indicators.push(this.element.createChild({tag:"span"}))},removeIndicator:function(){var a=this.indicators;if(a.length>0){a.pop().destroy()}},setActiveIndex:function(b){var e=this.indicators,d=this.activeIndex,a=e[d],g=e[b],c=this.getBaseCls();if(a){a.removeCls(c,null,"active")}if(g){g.addCls(c,null,"active")}this.activeIndex=b;return this},onTap:function(g){var h=g.touch,a=this.element.getBox(),d=a.left+(a.width/2),b=a.top+(a.height/2),c=this.getDirection();if((c==="horizontal"&&h.pageX>=d)||(c==="vertical"&&h.pageY>=b)){this.fireEvent("next",this)}else{this.fireEvent("previous",this)}},doDestroy:function(){var d=this.indicators,b,c,a;for(b=0,c=d.length;b<c;b++){a=d[b];a.destroy()}d.length=0;this.callParent()}});Ext.define("Ext.util.TranslatableGroup",{extend:Ext.util.translatable.Abstract,config:{items:[],activeIndex:0,itemLength:{x:0,y:0}},applyItems:function(a){return Ext.Array.from(a)},doTranslate:function(o,n){var m=this.getItems(),q=this.getActiveIndex(),k=this.getItemLength(),d=k.x,c=k.y,j=Ext.isNumber(o),h=Ext.isNumber(n),e,g,l,p,b,a;for(g=0,l=m.length;g<l;g++){p=m[g];if(p){e=(g-q);if(j){b=o+e*d}if(h){a=n+e*c}p.translate(b,a)}}}});Ext.define("Ext.carousel.Carousel",{extend:Ext.Container,alternateClassName:"Ext.Carousel",xtype:"carousel",config:{baseCls:"x-carousel",direction:"horizontal",directionLock:false,animation:{duration:250,easing:{type:"ease-out"}},indicator:true,ui:"dark",itemConfig:{},bufferSize:1,itemLength:null},itemLength:0,offset:0,flickStartOffset:0,flickStartTime:0,dragDirection:0,count:0,painted:false,activeIndex:-1,touchAction:{panX:false,panY:false},beforeInitialize:function(){var a=this;a.element.on({resize:"onSizeChange",dragstart:"onDragStart",drag:"onDrag",dragend:"onDragEnd",scope:a});a.carouselItems=[];a.orderedCarouselItems=[];a.inactiveCarouselItems=[];a.hiddenTranslation=0},updateBufferSize:function(o){var m=Ext.carousel.Item,j=o*2+1,n=this.isRendered(),c=this.innerElement,h=this.carouselItems,g=h.length,e=this.getItemConfig(),d=this.getItemLength(),k=this.getDirection(),b=k==="horizontal"?"setWidth":"setHeight",a,l;for(a=g;a<j;a++){l=Ext.factory(e,m);if(d){l[b].call(l,d)}l.setLayoutSizeFlags(this.LAYOUT_BOTH);h.push(l);c.append(l.renderElement);if(n&&l.setRendered(true)){l.fireEvent("renderedchange",this,l,true)}}this.getTranslatable().setActiveIndex(o)},setRendered:function(h){var a=this.rendered;if(h!==a){this.rendered=h;var b=this.items.items,d=this.carouselItems,c,g,e;for(c=0,g=b.length;c<g;c++){e=b[c];if(!e.isInnerItem()){e.setRendered(h)}}for(c=0,g=d.length;c<g;c++){d[c].setRendered(h)}return true}return false},onSizeChange:function(){this.refreshSizing();this.refreshCarouselItems();this.refreshActiveItem()},onItemAdd:function(c,b){this.callParent(arguments);var d=this.getInnerItems().indexOf(c),a=this.getIndicator();if(a&&c.isInnerItem()){a.addIndicator()}if(d<=this.getActiveIndex()){this.refreshActiveIndex()}if(this.isIndexDirty(d)&&!this.isItemsInitializing){this.refreshActiveItem()}},doItemLayoutAdd:function(a){if(a.isInnerItem()){return}this.callParent(arguments)},onItemRemove:function(g,b){this.callParent(arguments);var j=this.getInnerItems().indexOf(g),a=this.getIndicator(),d=this.carouselItems,c,e,h;if(g.isInnerItem()&&a){a.removeIndicator()}if(j<=this.getActiveIndex()){this.refreshActiveIndex()}if(this.isIndexDirty(j)){for(c=0,e=d.length;c<e;c++){h=d[c];if(h.getComponent()===g){h.setComponent(null)}}this.refreshActiveItem()}},doItemLayoutRemove:function(a){if(a.isInnerItem()){return}this.callParent(arguments)},onInnerItemMove:function(b,c,a){if((this.isIndexDirty(c)||this.isIndexDirty(a))){this.refreshActiveItem()}},doItemLayoutMove:function(a){if(a.isInnerItem()){return}this.callParent(arguments)},isIndexDirty:function(b){var a=this.getActiveIndex(),c=this.getBufferSize();return(b>=a-c&&b<=a+c)},getTranslatable:function(){var b=this,a=b.translatable;if(!a){b.translatable=a=new Ext.util.TranslatableGroup();a.setItems(b.orderedCarouselItems);a.on("animationend","onAnimationEnd",b)}return a},onDragStart:function(g){var d=this.getDirection(),b=g.absDeltaX,a=g.absDeltaY,c=this.getDirectionLock();this.isDragging=true;if(c){if((d==="horizontal"&&b>a)||(d==="vertical"&&a>b)){g.stopPropagation()}else{this.isDragging=false;return}}this.getTranslatable().stopAnimation();this.dragStartOffset=this.offset;this.dragDirection=0},onDrag:function(k){if(!this.isDragging){return}var l=this.dragStartOffset,m=this.getDirection(),n=m==="horizontal"?k.deltaX:k.deltaY,a=this.offset,j=this.flickStartTime,c=this.dragDirection,b=Ext.Date.now(),i=this.getActiveIndex(),g=this.getMaxItemIndex(),d=c,h;if((i===0&&n>0)||(i===g&&n<0)){n*=0.5}h=l+n;if(h>a){c=1}else{if(h<a){c=-1}}if(c!==d||(b-j)>300){this.flickStartOffset=a;this.flickStartTime=b}this.dragDirection=c;this.setOffset(h)},onDragEnd:function(k){if(!this.isDragging){return}this.onDrag(k);this.isDragging=false;var a=Ext.Date.now(),j=this.itemLength,h=j/2,g=this.offset,n=this.getActiveIndex(),c=this.getMaxItemIndex(),i=0,m=g-this.flickStartOffset,b=a-this.flickStartTime,l=this.getIndicator(),d;if(b>0&&Math.abs(m)>=10){d=m/b;if(Math.abs(d)>=1){if(d<0&&n<c){i=-1}else{if(d>0&&n>0){i=1}}}}if(i===0){if(n<c&&g<-h){i=-1}else{if(n>0&&g>h){i=1}}}if(l){l.setActiveIndex(n-i)}this.animationDirection=i;this.setOffsetAnimated(i*j)},applyAnimation:function(a){a.easing=Ext.factory(a.easing,Ext.fx.easing.EaseOut);return a},updateDirection:function(b){var a=this.getIndicator();this.currentAxis=(b==="horizontal")?"x":"y";if(a){a.setDirection(b)}},setOffset:function(a){this.offset=a;if(Ext.isNumber(this.itemOffset)){this.getTranslatable().translateAxis(this.currentAxis,a+this.itemOffset)}return this},setOffsetAnimated:function(b){var a=this.getIndicator();if(a){a.setActiveIndex(this.getActiveIndex()-this.animationDirection)}this.offset=b;this.getTranslatable().translateAxis(this.currentAxis,b+this.itemOffset,this.getAnimation());return this},onAnimationEnd:function(b){var c=this.getActiveIndex(),a=this.animationDirection,e=this.currentAxis,g=b[e],d=this.itemLength,h;if(a===-1){h=d+g}else{if(a===1){h=g-d}else{h=g}}h-=this.itemOffset;this.offset=h;this.setActiveItem(c-a)},refresh:function(){this.refreshSizing();this.refreshActiveItem()},refreshSizing:function(){var a=this.element,b=this.getItemLength(),e={x:0,y:0},c,d;if(this.getDirection()==="horizontal"){d=a.getWidth()}else{d=a.getHeight()}this.hiddenTranslation=-d;if(b===null){b=d;c=0}else{c=(d-b)/2}this.itemLength=b;this.itemOffset=c;e[this.currentAxis]=b;this.getTranslatable().setItemLength(e)},refreshOffset:function(){this.setOffset(this.offset)},refreshActiveItem:function(){this.updateActiveItem(this.getActiveItem())},getActiveIndex:function(){return this.activeIndex},refreshActiveIndex:function(){this.activeIndex=this.getInnerItemIndex(this.getActiveItem())},refreshCarouselItems:function(){var a=this.carouselItems,b,d,c;for(b=0,d=a.length;b<d;b++){c=a[b];c.getTranslatable().refresh()}this.refreshInactiveCarouselItems()},refreshInactiveCarouselItems:function(){var a=this.inactiveCarouselItems,g=this.hiddenTranslation,c=this.currentAxis,b,e,d;for(b=0,e=a.length;b<e;b++){d=a[b];d.translateAxis(c,g)}},getMaxItemIndex:function(){return this.innerItems.length-1},getInnerItemIndex:function(a){return this.innerItems.indexOf(a)},getInnerItemAt:function(a){return this.innerItems[a]},applyActiveItem:function(){var b=this.callParent(arguments),a;if(b){a=this.getInnerItemIndex(b);if(a!==-1){this.activeIndex=a;return b}}},updateActiveItem:function(h){var r=this.getActiveIndex(),e=this.getMaxItemIndex(),n=this.getIndicator(),c=this.getBufferSize(),l=this.carouselItems.slice(),o=this.orderedCarouselItems,q={},p={},a,m,b,g,j,k,d;if(l.length===0){return}this.callParent(arguments);o.length=0;if(h){b=h.getId();p[b]=h;q[b]=c;if(r>0){for(g=1;g<=c;g++){j=r-g;if(j>=0){a=this.getInnerItemAt(j);b=a.getId();p[b]=a;q[b]=c-g}else{break}}}if(r<e){for(g=1;g<=c;g++){j=r+g;if(j<=e){a=this.getInnerItemAt(j);b=a.getId();p[b]=a;q[b]=c+g}else{break}}}for(g=0,k=l.length;g<k;g++){d=l[g];m=d.getComponent();if(m){b=m.getId();if(q.hasOwnProperty(b)){l.splice(g,1);g--;k--;delete p[b];o[q[b]]=d}}}for(b in p){if(p.hasOwnProperty(b)){a=p[b];d=l.pop();d.setComponent(a);o[q[b]]=d}}}this.inactiveCarouselItems.length=0;this.inactiveCarouselItems=l;this.refreshOffset();this.refreshInactiveCarouselItems();if(n){n.setActiveIndex(r)}},next:function(){this.setOffset(0);if(this.activeIndex===this.getMaxItemIndex()){return this}this.animationDirection=-1;this.setOffsetAnimated(-this.itemLength);return this},previous:function(){this.setOffset(0);if(this.activeIndex===0){return this}this.animationDirection=1;this.setOffsetAnimated(this.itemLength);return this},applyIndicator:function(a,b){return Ext.factory(a,Ext.carousel.Indicator,b)},updateIndicator:function(a){if(a){this.insertFirst(a);a.setUi(this.getUi());a.on({next:"next",previous:"previous",scope:this})}},doDestroy:function(){var b=this,a=b.carouselItems.slice();b.carouselItems.length=0;Ext.destroy(a,b.getIndicator(),b.translatable);b.callParent()}});Ext.define("Ext.carousel.Infinite",{extend:Ext.carousel.Carousel,config:{indicator:null,maxItemIndex:Infinity,innerItemConfig:{}},applyIndicator:function(a){return},updateBufferSize:function(b){this.callParent(arguments);var e=b*2+1,d=this.innerItems.length,c=this.getInnerItemConfig(),a;this.isItemsInitializing=true;for(a=d;a<e;a++){this.doAdd(this.factoryItem(c))}this.isItemsInitializing=false;this.rebuildInnerIndexes();this.refreshActiveItem()},updateMaxItemIndex:function(b,c){if(c!==undefined){var a=this.getActiveIndex();if(a>b){this.setActiveItem(b)}else{this.rebuildInnerIndexes(a);this.refreshActiveItem()}}},rebuildInnerIndexes:function(o){var c=this.innerIndexToItem,h=this.innerIdToIndex,k=this.innerItems.slice(),j=k.length,b=this.getBufferSize(),d=this.getMaxItemIndex(),m=[],e,l,g,a,n;if(o===undefined){this.innerIndexToItem=c={};this.innerIdToIndex=h={};for(e=0;e<j;e++){n=k[e];a=n.getId();h[a]=e;c[e]=n;this.fireEvent("itemindexchange",this,n,e,-1)}}else{for(e=o-b;e<=o+b;e++){if(e>=0&&e<=d){if(c.hasOwnProperty(e)){Ext.Array.remove(k,c[e]);continue}m.push(e)}}for(e=0,j=m.length;e<j;e++){n=k[e];a=n.getId();g=m[e];l=h[a];delete c[l];h[a]=g;c[g]=n;this.fireEvent("itemindexchange",this,n,g,l)}}},reset:function(){this.rebuildInnerIndexes();this.setActiveItem(0)},refreshItems:function(){var a=this.innerItems,g=this.innerIdToIndex,b,e,c,d;for(c=0,d=a.length;c<d;c++){e=a[c];b=g[e.getId()];this.fireEvent("itemindexchange",this,e,b,-1)}},getInnerItemIndex:function(b){var a=this.innerIdToIndex[b.getId()];return(typeof a=="number")?a:-1},getInnerItemAt:function(a){return this.innerIndexToItem[a]},applyActiveItem:function(c){this.getItems();this.getBufferSize();var b=this.getMaxItemIndex(),a=this.getActiveIndex();if(typeof c=="number"){c=Math.max(0,Math.min(c,b));if(c===a){return}this.activeIndex=c;this.rebuildInnerIndexes(c);c=this.getInnerItemAt(c)}if(c){return this.callParent([c])}}});Ext.define("Ext.dataview.component.DataItem",{extend:Ext.Container,xtype:"dataitem",config:{defaultType:"component",record:null,itemCls:null,dataMap:{},dataview:null,width:"100%",items:[{xtype:"component"}]},classCls:Ext.baseCSSPrefix+"dataitem",updateBaseCls:function(a,b){var c=this;c.callParent(arguments)},updateItemCls:function(b,a){if(a){this.removeCls(a)}if(b){this.addCls(b)}},doMapData:function(d,h,g){var a,e,c,b;for(a in d){c=d[a];e=this[a]();if(e){for(b in c){if(h&&e[b]&&h[c[b]]!==undefined&&h[c[b]]!==null){e[b](h[c[b]])}}}}if(g){g.updateData(h)}},updateRecord:function(d){if(!d){return}this._record=d;var g=this,a=g.dataview||this.getDataview(),h=a.prepareData(d.getData(true),a.getStore().indexOf(d),d),c=g.getItems(),e=c.first(),b=g.getDataMap();if(!e){return}if(b){this.doMapData(b,h,e)}g.fireEvent("updatedata",g,h)}});Ext.define("Ext.dataview.component.Container",{extend:Ext.Container,classCls:Ext.baseCSSPrefix+"dataview-container",itemSelector:"."+Ext.baseCSSPrefix+"dataview-container > ."+Ext.baseCSSPrefix+"dataitem",constructor:function(){this.itemCache=[];this.callParent(arguments)},doInitialize:function(){this.innerElement.on({touchstart:"onItemTouchStart",touchend:"onItemTouchEnd",tap:"onItemTap",taphold:"onItemTapHold",touchmove:"onItemTouchMove",singletap:"onItemSingleTap",doubletap:"onItemDoubleTap",swipe:"onItemSwipe",mouseover:"onItemMouseOver",mouseout:"onItemMouseOut",delegate:"> ."+Ext.baseCSSPrefix+"dataitem",scope:this})},initialize:function(){this.callParent();this.doInitialize()},onItemTouchStart:function(d){var b=this,c=d.currentTarget,a=Ext.getCmp(c.id);a.on({touchmove:"onItemTouchMove",scope:b,single:true});b.fireEvent("itemtouchstart",b,a,b.indexOf(a),d)},onItemTouchMove:function(d){var b=this,c=d.currentTarget,a=Ext.getCmp(c.id);b.fireEvent("itemtouchmove",b,a,b.indexOf(a),d)},onItemTouchEnd:function(d){var b=this,c=d.currentTarget,a=Ext.getCmp(c.id);a.un({touchmove:"onItemTouchMove",scope:b});b.fireEvent("itemtouchend",b,a,b.indexOf(a),d)},onItemTap:function(d){var b=this,c=d.currentTarget,a=Ext.getCmp(c.id);b.fireEvent("itemtap",b,a,b.indexOf(a),d)},onItemTapHold:function(d){var b=this,c=d.currentTarget,a=Ext.getCmp(c.id);b.fireEvent("itemtaphold",b,a,b.indexOf(a),d)},onItemSingleTap:function(d){var b=this,c=d.currentTarget,a=Ext.getCmp(c.id);b.fireEvent("itemsingletap",b,a,b.indexOf(a),d)},onItemDoubleTap:function(d){var b=this,c=d.currentTarget,a=Ext.getCmp(c.id);b.fireEvent("itemdoubletap",b,a,b.indexOf(a),d)},onItemSwipe:function(d){var b=this,c=d.currentTarget,a=Ext.getCmp(c.id);b.fireEvent("itemswipe",b,a,b.indexOf(a),d)},onItemMouseOver:function(d){var b=this,c=d.currentTarget,a=Ext.getCmp(c.id);b.fireEvent("itemmouseover",b,a,b.indexOf(a),d)},onItemMouseOut:function(d){var b=this,c=d.currentTarget,a=Ext.getCmp(c.id);b.fireEvent("itemmouseout",b,a,b.indexOf(a),d)},moveItemsToCache:function(k,l){var j=this,c=j.dataview,a=c.getMaxItemCache(),h=j.getViewItems(),g=j.itemCache,e=g.length,m=c.pressedCls,d=c.selectedCls,b=l-k,n;for(;b>=0;b--){n=h[k+b];if(e!==a){j.remove(n,false);n.removeCls([m,d]);g.push(n);e++}else{n.destroy()}}if(j.getViewItems().length==0){this.dataview.showEmptyText()}},moveItemsFromCache:function(b){var m=this,e=m.dataview,n=e.getStore(),l=b.length,a=e.getDefaultType(),j=e.getItemConfig(),h=m.itemCache,g=h.length,k=[],c,o,d;if(l){e.hideEmptyText()}for(c=0;c<l;c++){b[c]._tmpIndex=n.indexOf(b[c])}Ext.Array.sort(b,function(p,i){return p._tmpIndex>i._tmpIndex?1:-1});for(c=0;c<l;c++){d=b[c];if(g){g--;o=h.pop();this.updateListItem(d,o)}else{o=m.getDataItemConfig(a,d,j)}o=this.insert(d._tmpIndex,o);delete d._tmpIndex}return k},getViewItems:function(){return this.getInnerItems()},updateListItem:function(a,b){if(b.updateRecord){if(b.getRecord()===a){b.updateRecord(a)}else{b.setRecord(a)}}},getDataItemConfig:function(e,b,c){var a=this.dataview,d={xtype:e,record:b,itemCls:a.getItemCls(),defaults:c,dataview:a};return Ext.merge(d,c)},doRemoveItemCls:function(a){var b=this.getViewItems(),d=b.length,c=0;for(;c<d;c++){b[c].removeCls(a)}},doAddItemCls:function(a){var b=this.getViewItems(),d=b.length,c=0;for(;c<d;c++){b[c].addCls(a)}},updateAtNewIndex:function(c,b,a){this.moveItemsToCache(c,c);this.moveItemsFromCache([a])},doDestroy:function(){var d=this,b=d.itemCache,c=b.length,a=0;for(;a<c;a++){b[a].destroy()}this.callParent()}});Ext.define("Ext.dataview.element.Container",{extend:Ext.Component,classCls:Ext.baseCSSPrefix+"dataview-container",itemSelector:"."+Ext.baseCSSPrefix+"dataview-container > div",doInitialize:function(){this.element.on({touchstart:"onItemTouchStart",touchend:"onItemTouchEnd",tap:"onItemTap",taphold:"onItemTapHold",touchmove:"onItemTouchMove",singletap:"onItemSingleTap",doubletap:"onItemDoubleTap",swipe:"onItemSwipe",mouseover:"onItemMouseOver",mouseout:"onItemMouseOut",delegate:"> div",scope:this})},initialize:function(){this.callParent();this.doInitialize()},onItemTouchStart:function(d){var b=this,c=d.currentTarget,a=b.getViewItems().indexOf(c);Ext.get(c).on({touchmove:"onItemTouchMove",scope:b,single:true});b.fireEvent("itemtouchstart",b,Ext.get(c),a,d)},onItemTouchEnd:function(d){var b=this,c=d.currentTarget,a=b.getViewItems().indexOf(c);Ext.get(c).un({touchmove:"onItemTouchMove",scope:b});b.fireEvent("itemtouchend",b,Ext.get(c),a,d)},onItemTouchMove:function(d){var b=this,c=d.currentTarget,a=b.getViewItems().indexOf(c);b.fireEvent("itemtouchmove",b,Ext.get(c),a,d)},onItemTap:function(d){var b=this,c=d.currentTarget,a=b.getViewItems().indexOf(c);b.fireEvent("itemtap",b,Ext.get(c),a,d)},onItemTapHold:function(d){var b=this,c=d.currentTarget,a=b.getViewItems().indexOf(c);b.fireEvent("itemtaphold",b,Ext.get(c),a,d)},onItemDoubleTap:function(d){var b=this,c=d.currentTarget,a=b.getViewItems().indexOf(c);b.fireEvent("itemdoubletap",b,Ext.get(c),a,d)},onItemSingleTap:function(d){var b=this,c=d.currentTarget,a=b.getViewItems().indexOf(c);b.fireEvent("itemsingletap",b,Ext.get(c),a,d)},onItemSwipe:function(d){var b=this,c=d.currentTarget,a=b.getViewItems().indexOf(c);b.fireEvent("itemswipe",b,Ext.get(c),a,d)},onItemMouseOver:function(d){var b=this,c=d.currentTarget,a=b.getViewItems().indexOf(c);b.fireEvent("itemmouseover",b,Ext.get(c),a,d)},onItemMouseOut:function(d){var b=this,c=d.currentTarget,a=b.getViewItems().indexOf(c);b.fireEvent("itemmouseout",b,Ext.get(c),a,d)},updateListItem:function(b,g){var e=this,a=e.dataview,c=a.getStore(),d=c.indexOf(b),h=a.prepareData(b.getData(true),d,b);g.innerHTML=this.renderItemTpl(d,h,c)},addListItem:function(e,c){var i=this,d=i.dataview,j=d.getStore(),a=d.prepareData(c.getData(true),e,c),b=i.element,k=b.dom.childNodes,h=k.length,g;g=Ext.Element.create(this.getItemElementConfig(e,a,j));if(!h||e==h){g.appendTo(b)}else{g.insertBefore(k[e])}},getItemElementConfig:function(d,g,c){var b=this.dataview,e=b.getItemCls(),a=b.getBaseCls()+"-item";if(e){a+=" "+e}return{cls:a,html:this.renderItemTpl(d,g,c)}},renderItemTpl:function(c,e,b){var a=this.dataview,g=a.getItemTpl(),d;b=b||a.getStore();d=b.getData().items;e.xcount=typeof e.xcount==="number"?e.xcount:b.getCount();e.xindex=typeof e.xindex==="number"?e.xindex:c;return g.apply(e,d,c+1,d.length)},doRemoveItemCls:function(a){var d=this.getViewItems(),c=d.length,b=0;for(;b<c;b++){Ext.fly(d[b]).removeCls(a)}},doAddItemCls:function(a){var d=this.getViewItems(),c=d.length,b=0;for(;b<c;b++){Ext.fly(d[b]).addCls(a)}},moveItemsToCache:function(g,e){var d=this,a=d.getViewItems(),b=e-g,c;for(;b>=0;b--){c=a[g+b];Ext.get(c).destroy()}if(d.getViewItems().length==0){this.dataview.showEmptyText()}},moveItemsFromCache:function(d){var h=this,b=h.dataview,c=b.getStore(),g=d.length,e,a;if(g){b.hideEmptyText()}for(e=0;e<g;e++){d[e]._tmpIndex=c.indexOf(d[e])}Ext.Array.sort(d,function(j,i){return j._tmpIndex>i._tmpIndex?1:-1});for(e=0;e<g;e++){a=d[e];h.addListItem(a._tmpIndex,a);delete a._tmpIndex}},getViewItems:function(){return Array.prototype.slice.call(this.element.dom.childNodes)},updateAtNewIndex:function(c,b,a){this.moveItemsToCache(c,c);this.moveItemsFromCache([a])},doDestroy:function(){var c=this.getViewItems(),b=c.length,a=0;for(;a<b;a++){Ext.get(c[a]).destroy()}this.callParent()}});Ext.define("Ext.dataview.DataView",{extend:Ext.Container,alternateClassName:"Ext.DataView",mixins:[Ext.mixin.Selectable],xtype:"dataview",eventedConfig:{store:null},config:{data:null,emptyText:null,deferEmptyText:true,itemTpl:"<div>{text}</div>",itemCls:null,triggerEvent:"itemtap",triggerCtEvent:"tap",deselectOnContainerClick:true,scrollable:true,inline:null,pressedDelay:100,loadingText:"Loading...",useComponents:null,itemConfig:{},maxItemCache:20,defaultType:"dataitem",scrollToTopOnRefresh:true},classCls:Ext.baseCSSPrefix+"dataview",hoveredCls:Ext.baseCSSPrefix+"hovered",selectedCls:Ext.baseCSSPrefix+"selected",pressedCls:Ext.baseCSSPrefix+"pressed",inlineCls:Ext.baseCSSPrefix+"inline",noWrapCls:Ext.baseCSSPrefix+"nowrap",emptyTextCls:Ext.baseCSSPrefix+"empty-text",defaultBindProperty:"store",constructor:function(a){var b=this;b.hasLoadedStore=false;b.mixins.selectable.constructor.apply(b,arguments);b.indexOffset=0;b.callParent(arguments);b.initSelectable()},updateItemCls:function(c,b){var a=this.container;if(a){if(b){a.doRemoveItemCls(b)}if(c){a.doAddItemCls(c)}}},storeEventHooks:{beforeload:"onBeforeLoad",groupchange:"onStoreGroupChange",load:"onLoad",refresh:"refresh",add:"onStoreAdd",remove:"onStoreRemove",clear:"onStoreClear",update:"onStoreUpdate"},initialize:function(){this.callParent();var b=this,c=b.getTriggerEvent(),a;b.on(b.getTriggerCtEvent(),b.onContainerTrigger,b);if(b.getUseComponents()){a=new Ext.dataview.component.Container()}else{a=new Ext.dataview.element.Container()}b.container=b.add(a);a.dataview=b;b.itemSelector=b.itemSelector||a.itemSelector;if(c){b.on(c,b.onItemTrigger,b)}a.on({itemtouchstart:"onItemTouchStart",itemtouchend:"onItemTouchEnd",itemtap:"onItemTap",itemtaphold:"onItemTapHold",itemtouchmove:"onItemTouchMove",itemsingletap:"onItemSingleTap",itemdoubletap:"onItemDoubleTap",itemswipe:"onItemSwipe",itemmouseover:"onItemMouseOver",itemmouseout:"onItemMouseOut",scope:b});if(b.getStore()){if(b.isPainted()){b.refresh()}else{b.on({painted:"refresh",single:true})}}},applyInline:function(a){if(Ext.isObject(a)){a=Ext.apply({},a)}return a},updateInline:function(d){var b=this,a=b.inlineCls,c=b.noWrapCls;b.toggleCls(a,!!d);if(d){b.toggleCls(c,d.wrap===false)}},prepareData:function(c,b,a){return c},onContainerTrigger:function(b){var a=this;if(b.target!=a.element.dom){return}if(a.getDeselectOnContainerClick()&&a.getStore()){a.deselectAll()}},onItemTrigger:function(c,b,g,a,d){if(!d.stopSelection&&!this.destroyed){this.selectWithEvent(this.getStore().getAt(b))}},doAddPressedCls:function(a){var c=this,b=c.getItemAt(c.getStore().indexOf(a));if(Ext.isElement(b)){b=Ext.get(b)}if(b){if(b.isComponent){b.renderElement.addCls(c.pressedCls)}else{b.addCls(c.pressedCls)}}},onItemTouchStart:function(b,i,d,h){var g=this,c=g.getStore(),a=c&&c.getAt(d);g.fireAction("itemtouchstart",[g,d,i,a,h],"doItemTouchStart")},doItemTouchStart:function(c,b,e,a){var d=c.getPressedDelay();if(a){if(d>0){c.pressedTimeout=Ext.defer(c.doAddPressedCls,d,c,[a])}else{c.doAddPressedCls(a)}}},onItemTouchEnd:function(b,i,d,h){var g=this,c=g.getStore(),a=c&&c.getAt(d);if(this.hasOwnProperty("pressedTimeout")){clearTimeout(this.pressedTimeout);delete this.pressedTimeout}if(a&&i){if(i.isComponent){i.renderElement.removeCls(g.pressedCls)}else{i.removeCls(g.pressedCls)}}g.fireEvent("itemtouchend",g,d,i,a,h)},onItemTouchMove:function(b,i,d,h){var g=this,c=g.getStore(),a=c&&c.getAt(d);if(g.hasOwnProperty("pressedTimeout")){clearTimeout(g.pressedTimeout);delete g.pressedTimeout}if(a&&i){if(i.isComponent){i.renderElement.removeCls(g.pressedCls)}else{i.removeCls(g.pressedCls)}}g.fireEvent("itemtouchmove",g,d,i,a,h)},onItemTap:function(b,i,d,h){var g=this,c=g.getStore(),a=c&&c.getAt(d);g.fireEvent("itemtap",g,d,i,a,h)},onItemTapHold:function(b,i,d,h){var g=this,c=g.getStore(),a=c&&c.getAt(d);g.fireEvent("itemtaphold",g,d,i,a,h)},onItemSingleTap:function(b,i,d,h){var g=this,c=g.getStore(),a=c&&c.getAt(d);g.fireEvent("itemsingletap",g,d,i,a,h)},onItemDoubleTap:function(b,i,d,h){var g=this,c=g.getStore(),a=c&&c.getAt(d);g.fireEvent("itemdoubletap",g,d,i,a,h)},onItemSwipe:function(b,i,d,h){var g=this,c=g.getStore(),a=c&&c.getAt(d);g.fireEvent("itemswipe",g,d,i,a,h)},onItemMouseOver:function(b,i,d,h){var g=this,c,a;if(g.mouseOverItem!==i){g.mouseOverItem=i;c=g.getStore();a=c&&c.getAt(d);i.addCls(g.hoveredCls);g.fireEvent("itemmouseenter",g,d,i,a,h)}},onItemMouseOut:function(c,j,g,i){var h=this,b=i.getRelatedTarget(h.itemSelector),d,a;if(j.dom!==b){d=h.getStore();a=d&&d.getAt(g);j.removeCls(h.hoveredCls);h.fireEvent("itemmouseleave",h,g,j,a,i);h.mouseOverItem=null}},onItemSelect:function(a,b){var c=this;if(b){c.doItemSelect(c,a)}else{c.fireAction("select",[c,a],"doItemSelect")}},doItemSelect:function(c,a){if(c.container&&!c.destroyed){var b=c.getItemAt(c.getStore().indexOf(a));if(Ext.isElement(b)){b=Ext.get(b)}if(b){if(b.isComponent){b.renderElement.removeCls(c.pressedCls);b.renderElement.addCls(c.selectedCls)}else{b.removeCls(c.pressedCls);b.addCls(c.selectedCls)}}}},onItemDeselect:function(a,b){var c=this;if(c.container&&!c.destroyed){if(b){c.doItemDeselect(c,a)}else{c.fireAction("deselect",[c,a,b],"doItemDeselect")}}},doItemDeselect:function(c,a){var b=c.getItemAt(c.getStore().indexOf(a));if(Ext.isElement(b)){b=Ext.get(b)}if(b){if(b.isComponent){b.renderElement.removeCls([c.pressedCls,c.selectedCls])}else{b.removeCls([c.pressedCls,c.selectedCls])}}},updateData:function(b){var a=this.getStore();if(!a){this.setStore(Ext.create("Ext.data.Store",{data:b,autoDestroy:true}))}else{a.add(b)}},applyStore:function(b){var d=this,e=Ext.apply({},d.storeEventHooks,{scope:d}),c,a;if(b){b=Ext.data.StoreManager.lookup(b);if(b&&Ext.isObject(b)&&b.isStore){b.on(e);c=b.getProxy();if(c){a=c.getReader();if(a){a.on("exception","handleException",this)}}}}return b},handleException:function(){this.setMasked(false)},updateStore:function(b,e){var d=this,g=Ext.apply({},d.storeEventHooks,{scope:d}),c,a;if(e&&Ext.isObject(e)&&e.isStore){e.un(g);if(!d.destroying&&!d.destroyed){d.onStoreClear()}if(e.getAutoDestroy()){e.destroy()}else{c=e.getProxy();if(c){a=c.getReader();if(a){a.un("exception","handleException",this)}}}}if(b){if(b.isLoaded()){this.hasLoadedStore=true}if(b.isLoading()){d.onBeforeLoad()}if(d.container){d.refresh()}}},onBeforeLoad:function(){var b=this,a=b.getLoadingText();if(a&&b.isPainted()){b.setMasked({xtype:"loadmask",message:a})}b.hideEmptyText()},updateEmptyText:function(c,d){var b=this,a;if(d&&b.emptyTextCmp){b.remove(b.emptyTextCmp,true);delete b.emptyTextCmp}if(c){b.emptyTextCmp=b.add({xtype:"component",cls:b.emptyTextCls,html:c,hidden:true});a=b.getStore();if(a&&b.hasLoadedStore&&!a.getCount()){b.showEmptyText()}}},onLoad:function(a){this.hasLoadedStore=true;this.setMasked(false);if(!a.getCount()){this.showEmptyText()}},refresh:function(){var b=this,a=b.container;if(!b.getStore()){if(!b.hasLoadedStore&&!b.getDeferEmptyText()){b.showEmptyText()}return}if(b.initialized&&a){b.fireAction("refresh",[b],"doRefresh")}},applyItemTpl:function(a){return(Ext.isObject(a)&&a.isTemplate)?a:new Ext.XTemplate(a)},onAfterRender:function(){var a=this;a.updateStore(a.getStore())},getItemAt:function(a){return this.getViewItems()[a-this.indexOffset]},getItemIndex:function(b){var a=this.getViewItems().indexOf(b);return(a===-1)?a:this.indexOffset+a},getViewItems:function(){var a=this.container;return a?a.getViewItems():[]},doRefresh:function(j){var a=j.container,m=j.getStore(),b=m.getRange(),h=j.getViewItems(),k=b.length,p=h.length,c=k-p,g=j.getScrollable(),d,n;if(this.getScrollToTopOnRefresh()&&g){g.scrollTo(0,0)}if(k<1){j.onStoreClear();return}else{j.hideEmptyText()}if(c<0){a.moveItemsToCache(p+c,p-1);h=j.getViewItems();p=h.length}else{if(c>0){a.moveItemsFromCache(m.getRange(p))}}for(d=0;d<p;d++){n=h[d];a.updateListItem(b[d],n)}if(this.hasSelection()){var l=this.getSelection(),o=this.getSelectionCount(),e;for(d=0;d<o;d++){e=l[d];this.doItemSelect(this,e)}}},showEmptyText:function(){if(this.getEmptyText()&&(this.hasLoadedStore||!this.getDeferEmptyText())){this.emptyTextCmp.show()}},hideEmptyText:function(){if(this.getEmptyText()){this.emptyTextCmp.hide()}},doDestroy:function(){var b=this.getStore(),c=(b&&!b.destroyed&&b.getProxy()),a=(c&&!c.destroyed&&c.getReader());if(a){a.clearListeners()}this.setStore(null);this.callParent()},onStoreClear:function(){var c=this,a=c.container,b=c.getViewItems();a.moveItemsToCache(0,b.length-1);this.showEmptyText()},onStoreGroupChange:Ext.emptyFn,onStoreAdd:function(b,a){if(a){this.hideEmptyText();this.container.moveItemsFromCache(a)}},onStoreRemove:function(c,b,d){var a=this.container,g=b.length,e;for(e=g-1;e>=0;e--){a.moveItemsToCache(d+e,d+e)}},onStoreUpdate:function(c,b,d,h,i){var g=this,a=g.container,e;if(i.indexChanged){a.updateAtNewIndex(i.oldIndex,i.newIndex,b);if(g.isSelected(b)){g.doItemSelect(g,b)}}else{e=g.getViewItems()[g.getStore().indexOf(b)];if(e){a.updateListItem(b,e)}}}});Ext.define("Ext.dataview.IndexBar",{extend:Ext.Component,alternateClassName:"Ext.IndexBar",xtype:"indexbar",config:{letters:["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"],listPrefix:null},cachedConfig:{parentList:null},classCls:Ext.baseCSSPrefix+"indexbar",verticalCls:Ext.baseCSSPrefix+"vertical",horizontalCls:Ext.baseCSSPrefix+"horizontal",indexedCls:Ext.baseCSSPrefix+"indexed",pressedCls:Ext.baseCSSPrefix+"pressed",indexedVerticalCls:Ext.baseCSSPrefix+"indexed-vertical",indexedHorizontalCls:Ext.baseCSSPrefix+"indexed-horizontal",eventedConfig:{direction:"vertical"},updateDirection:function(g){var d=this,e=d.verticalCls,k=d.horizontalCls,h=d.indexedVerticalCls,b=d.indexedHorizontalCls,c,j,i,a;if(g==="vertical"){c=k;j=e;i=b;a=h}else{c=e;j=k;i=h;a=b}d.element.replaceCls(c,j);d.wrapper.replaceCls(c,j);d.getParentList().element.replaceCls(i,a)},getElementConfig:function(){return{reference:"wrapper",classList:["x-center","x-indexbar-wrapper"],children:[this.callParent()]}},updateLetters:function(c){this.innerElement.setHtml("");if(c){var b=c.length,a;for(a=0;a<b;a++){this.innerElement.createChild({cls:"x-indexbar-item",html:c[a]})}}},updateListPrefix:function(a){if(a&&a.length){this.innerElement.createChild({html:a},0)}},updateUi:function(g,d){var c=this,e=c.getParentList(),b=e.element,a=c.indexedCls;if(d){b.removeCls(d,a)}if(g){b.addCls(g,a)}c.callParent([g,d])},updateParentList:function(a){if(a){a.element.addCls(this.indexedCls)}},initialize:function(){var a=this;a.callParent();a.innerElement.on({touchstart:"onTouchStart",drag:"onDrag",dragEnd:"onDragEnd",scope:a});a.innerElement.addClsOnClick(this.pressedCls)},isVertical:function(){return this.getDirection()==="vertical"},onTouchStart:function(b){var a=this;a.pageBox=a.innerElement.getBox();a.onDrag(b)},onDragEnd:Ext.emptyFn,onDrag:function(h){var d=this,c=d.element,a=Ext.util.Point.fromEvent(h),g,b,i=d.pageBox;if(!i){i=d.pageBox=d.el.getBox()}if(d.getDirection()==="vertical"){if(a.y>i.bottom||a.y<i.top){return}g=Ext.Element.fromPoint(i.left+(i.width/2),a.y);b=g&&g.getParent()===c;d.onVerticalDrag(a,g,b)}else{if(a.x>i.right||a.x<i.left){return}g=Ext.Element.fromPoint(a.x,i.top+(i.height/2));b=g&&g.getParent()===c}if(g&&b){d.fireEvent("index",d,g.dom.innerHTML,g)}},privates:{onVerticalDrag:Ext.privateFn}});Ext.define("Ext.dataview.ItemHeader",{extend:Ext.Component,xtype:"itemheader",config:{pinned:null,list:null},html:"&nbsp;",classCls:Ext.baseCSSPrefix+"itemheader",pinnedCls:Ext.baseCSSPrefix+"pinned",manageWidth:true,updatePinned:function(a){var b=this;b.element.toggleCls(b.pinnedCls,!!a);if(b.manageWidth&&a){b.getList().on({updateVisibleCount:"refreshWidth",refresh:"refreshWidth",resize:"refreshWidth",scope:b});b.refreshWidth()}},privates:{refreshWidth:function(){this.setWidth(this.getList().scrollElement.dom.clientWidth)}}});Ext.define("Ext.dataview.ListItemBody",{extend:Ext.Component,xtype:"listitembody",baseCls:Ext.baseCSSPrefix+"listitem-body"});Ext.define("Ext.dataview.ListItemDisclosure",{extend:Ext.Component,xtype:"listitemdisclosure",baseCls:Ext.baseCSSPrefix+"listitem-disclosure",template:[{reference:"iconElement",classList:[Ext.baseCSSPrefix+"icon-el",Ext.baseCSSPrefix+"font-icon"]}]});Ext.define("Ext.dataview.ListItem",{extend:Ext.dataview.component.DataItem,alternateClassName:"Ext.dataview.component.ListItem",xtype:"listitem",config:{dataMap:null,body:{xtype:"listitembody"},disclosure:{xtype:"listitemdisclosure",hidden:true,docked:"right"},header:{xtype:"itemheader"},tpl:null,items:null},classCls:Ext.baseCSSPrefix+"listitem",classClsRoot:true,initialize:function(){var b=this,a,c;b.callParent();this.syncUi();a=b.getBody();c=b.getDisclosure();if(a){b.add(a)}if(c){b.add(c)}},applyBody:function(a){if(a&&!a.isComponent){a=Ext.factory(a,Ext.Component,this.getBody())}return a},updateBody:function(a,b){if(a&&!this.isConfiguring){this.add(a)}if(b){b.destroy()}},applyHeader:function(a){if(a&&!a.isComponent){a=Ext.factory(a,Ext.Component,this.getHeader())}return a},updateHeader:function(b,a){if(a){a.destroy()}},applyDisclosure:function(a){if(a&&!a.isComponent){a=Ext.factory(a,Ext.Component,this.getDisclosure())}return a},updateDisclosure:function(b,a){if(b&&!this.isConfiguring){this.add(b)}if(a){a.destroy()}},updateTpl:function(a){this.getBody().setTpl(a)},updateUi:function(b,a){this.callParent([b,a]);if(!this.isConfiguring){this.syncUi()}},updateRecord:function(d){var g=this,c=g.dataview||this.getDataview(),h=d&&c.prepareData(d.getData(true),c.getStore().indexOf(d),d),e=g.getDataMap(),b=this.getBody(),i=this.getDisclosure();g._record=d;if(e){g.doMapData(e,h,b)}else{if(b){b.updateData(h||null)}}if(i&&d&&c.getOnItemDisclosure()){var a=c.getDisclosureProperty();i[(h.hasOwnProperty(a)&&h[a]===false)?"hide":"show"]()}g.fireEvent("updatedata",g,h)},doDestroy:function(){Ext.destroy(this.getHeader());this.callParent()},privates:{syncUi:function(){var b=this,c=b.getUi(),a=b.getBody(),d=b.getDisclosure();if(a){a.setUi(c)}if(d){d.setUi(c)}}}});Ext.define("Ext.dataview.SimpleListItem",{extend:Ext.Component,alternateClassName:"Ext.dataview.component.SimpleListItem",xtype:"simplelistitem",config:{disclosure:{xtype:"listitemdisclosure",hidden:true},header:{xtype:"itemheader"},dataview:null,record:null},classCls:Ext.baseCSSPrefix+"listitem",bodyCls:Ext.baseCSSPrefix+"listitem-body",element:{reference:"element",cls:Ext.baseCSSPrefix+"simplelistitem",children:[{reference:"innerElement",cls:Ext.baseCSSPrefix+"listitem-body"}]},initialize:function(){var a=this,c,b;a.callParent();c=a.getDisclosure();if(c){b=a.getUi();if(b){c.setUi(b)}a.element.appendChild(c.renderElement)}},applyHeader:function(a){if(a&&!a.isComponent){a=Ext.factory(a,Ext.Component,this.getHeader())}return a},updateHeader:function(b,a){if(a){a.destroy()}},applyDisclosure:function(a){if(a&&!a.isComponent){a=Ext.factory(a,Ext.Component,this.getDisclosure())}return a},updateDisclosure:function(b,a){if(b&&!this.isConfiguring){this.element.appendChild(b.renderElement)}if(a){a.destroy()}},updateUi:function(e,b){var a=this,d=a.bodyCls,c=a.innerElement,g;if(b){c.removeCls(b,d)}if(e){c.addCls(e,d)}if(!a.isConfiguring){g=a.getDisclosure();if(g){g.setUi(e)}}a.callParent([e,b])},updateRecord:function(c){var d=this,b=d.dataview||this.getDataview(),e=c&&b.prepareData(c.getData(true),b.getStore().indexOf(c),c),g=this.getDisclosure();d.updateData(e||null);if(g&&c&&b.getOnItemDisclosure()){var a=b.getDisclosureProperty();g[(e.hasOwnProperty(a)&&e[a]===false)?"hide":"show"]()}},doDestroy:function(){Ext.destroy(this.getHeader(),this.getDisclosure());this.callParent()}});Ext.define("Ext.util.PositionMap",{config:{minimumHeight:null},constructor:function(a){var b=this;b.map=[];b.adjustments={};b.offset=0;b.initConfig(a)},populate:function(e,j){var d=this,h=d.map=d.map||[],a=d.getMinimumHeight(),b,g,c;d.adjustments={indices:[],heights:{}};if(a===null){return}j=j||0;e++;h.length=e;h[0]=0;for(b=j+1,c=e-1;b<=c;b++){g=b-1;h[b]=h[g]+a}d.offset=0;for(b=1,c=e-1;b<=c;b++){g=b-1;this.offset+=h[b]-h[g]-a}},setItemHeight:function(b,a){a=Math.max(a,this.getMinimumHeight());if(a!==this.getItemHeight(b)){var c=this.adjustments;c.indices.push(parseInt(b,10));c.heights[b]=a}},update:function(){var d=this.adjustments,o=d.indices,m=d.heights,a=this.map,l=o&&o.length,p=this.getMinimumHeight(),c=0,g,e,n,k,h,b;if(!l){return false}Ext.Array.sort(o,function(j,i){return j-i});for(g=0;g<l;g++){k=o[g];h=o[g+1]||a.length-1;b=(a[k+1]!==undefined)?(a[k+1]-a[k]+c):p;n=m[k];c+=n-b;for(e=k+1;e<=h;e++){a[e]+=c}}this.offset+=c;this.adjustments={indices:[],heights:{}};return true},getItemHeight:function(a){return this.map[a+1]-this.map[a]},getTotalHeight:function(){return((this.map.length-1)*this.getMinimumHeight())+this.offset},findIndex:function(a){return this.map.length?this.binarySearch(this.map,a):0},binarySearch:function(b,d){var g=0,a=b.length;if(d<b[0]){return 0}if(d>b[a-1]){return a-1}while(g+1<a){var c=(g+a)>>1,e=b[c];if(e==d){return c}else{if(e<d){g=c}else{a=c}}}return g}});Ext.define("Ext.dataview.List",{alternateClassName:"Ext.List",extend:Ext.dataview.DataView,xtype:"list",mixins:[Ext.mixin.Hookable],config:{container:{lazy:true,$value:{xtype:"container",scrollable:{}}},layout:"fit",indexBar:false,icon:null,preventSelectionOnDisclose:true,pinHeaders:true,pinnedHeader:{xtype:"itemheader",pinned:true},grouped:null,onItemDisclosure:null,disclosureProperty:"disclosure",defaultType:undefined,itemMap:{},itemHeight:null,variableHeights:false,refreshHeightOnUpdate:true,infinite:false,useSimpleItems:true,scrollable:null,scrollDock:null,bufferSize:20,minimumBufferDistance:5,striped:false,rowLines:null},classCls:Ext.baseCSSPrefix+"list",infiniteCls:Ext.baseCSSPrefix+"infinite",scrollDockCls:Ext.baseCSSPrefix+"scrolldock",firstCls:Ext.baseCSSPrefix+"first",lastCls:Ext.baseCSSPrefix+"last",groupFirstCls:Ext.baseCSSPrefix+"group-first",groupLastCls:Ext.baseCSSPrefix+"group-last",oddCls:Ext.baseCSSPrefix+"odd",groupedCls:Ext.baseCSSPrefix+"grouped",noRowLinesCls:Ext.baseCSSPrefix+"no-row-lines",disclosureSelector:"."+Ext.baseCSSPrefix+"listitem-disclosure",topRenderedIndex:0,topVisibleIndex:0,visibleCount:0,itemSelector:"."+Ext.baseCSSPrefix+"listitem",beforeInitialize:function(){var b=this,a=b.container;Ext.apply(b,{listItems:[],headerItems:[],updatedItems:[],headerMap:[],recordMap:{},scrollDockItems:{top:[],bottom:[]}});b.translationMethod="csstransform";if(!a){a=b.container=b.createContainer()}b.add(a);b.scrollElement=a.innerElement;a.getScrollable().on({scroll:"onScroll",refresh:"onScrollerRefresh",scope:b})},createContainer:function(){var a=Ext.merge({},this.getContainer());return Ext.create(a)},getScrollable:function(){var a=this.container;if(a&&!a.destroyed){return a.getScrollable()}},initialize:function(){var c=this,a=c.container,b=c.getIndexBar(),e=c.getTriggerEvent(),d=c.getTriggerCtEvent();if(b){c.container.element.appendChild(b.renderElement)}if(e){c.on(e,c.onItemTrigger,c)}if(d){c.on(d,c.onContainerTrigger,c)}a.element.on({delegate:c.disclosureSelector,tap:"handleItemDisclosure",scope:c});a.element.on({resize:"onContainerResize",scope:c});a.innerElement.on({touchstart:"onItemTouchStart",touchend:"onItemTouchEnd",tap:"onItemTap",taphold:"onItemTapHold",singletap:"onItemSingleTap",doubletap:"onItemDoubleTap",swipe:"onItemSwipe",mouseover:"onItemMouseOver",mouseout:"onItemMouseOut",delegate:c.itemSelector,scope:c});if(c.getStore()){if(c.isPainted()){c.refresh()}else{c.on({painted:"refresh",single:true})}}},getRefItems:function(c){var b=[],g=this.callParent([c]),a=g.length,d,e;for(d=0;d<a;d++){e=g[d];if(!e.isGridRow||e.getRecord()!=null){b[b.length]=e}}return b},onScroll:function(c,i,h){var g=this,a=g.getPinnedHeader(),j=g.getStore(),e=j&&j.getCount(),d=g.isGrouping(),b=g.getInfinite();if(i){i=-i}if(h){h=-h}if(!e){g.showEmptyText();g.showEmptyScrollDock();a.$position=-10000;g.translate(a,0,-10000)}else{if(b&&g.itemsCount){g.handleItemUpdates(h);g.handleItemHeights();g.handleItemTransforms();if(!g.onIdleBound){Ext.AnimationQueue.onIdle(g.onAnimationIdle,g);g.onIdleBound=true}}}if(d&&g.groups&&g.groups.length&&g.getPinHeaders()){g.handlePinnedHeader(h)}g.handleIndexBarSize();g.onScrollBinder(i,h)},onScrollerRefresh:function(b){var a=b.getPosition();this.onScroll(b,a.x,a.y)},onScrollBinder:function(){},handleItemUpdates:function(p){var o=this,d=o.listItems,s=d.length,c=o.getListItemInfo(),e=o.getItemMap(),b=o.getBufferSize(),l=o.getStore().getCount()-1,q=o.getMinimumBufferDistance(),g=o.topVisibleIndex,k=o.topRenderedIndex,j,h,r,n,m,a;o.topVisibleIndex=n=Math.max(0,e.findIndex(-p)||0);if(g!==n){if(g>n){m=n-k;if(m<q){j=Math.min(s,q-m);if(j==s){o.topRenderedIndex=k=Math.max(0,n-(b-q));for(h=0;h<j;h++){a=k+h;r=d[h];o.updateListItem(r,a,c)}}else{for(h=0;h<j;h++){a=k-h-1;if(a<0){break}r=d.pop();d.unshift(r);o.updateListItem(r,a,c);o.topRenderedIndex--}}}}else{m=b-(n-k);if(m<q){j=Math.min(s,q-m);if(j==s){o.topRenderedIndex=k=Math.min(l-s,n-q);for(h=0;h<j;h++){a=k+h;r=d[h];o.updateListItem(r,a,c)}}else{for(h=0;h<j;h++){a=k+s+h;if(a>l){break}r=d.shift();d.push(r);o.updateListItem(r,a,c);o.topRenderedIndex++}}}}}},onAnimationIdle:function(){var n=this,d=n.getListItemInfo(),c=n.getBufferSize(),l=n.topVisibleIndex,j=n.topRenderedIndex,k=n.getStore().getCount()-1,g=n.listItems,p=g.length,b,e,h,m,o,a;b=l-j;e=j+c-l;if(b<e){if(l>0){m=e-b;for(h=0;h<m;h++){a=j-h-1;if(a<0){break}o=g.pop();g.unshift(o);n.updateListItem(o,a,d);n.topRenderedIndex--}}}else{m=b-e;for(h=0;h<m;h++){a=j+p+h;if(a>k){break}o=g.shift();g.push(o);n.updateListItem(o,a,d);n.topRenderedIndex++}}n.handleItemHeights();n.handleItemTransforms();n.onIdleBound=false},handleItemHeights:function(){var p=this,e=p.updatedItems,m=e.length,g=p.getItemMap(),b=p.getUseSimpleItems(),t=g.getMinimumHeight(),s=p.headerIndices,n=p.headerMap,c=p.getVariableHeights(),a,l,k,h,o,r,q,d;for(k=0;k<m;k++){r=e[k];a=r.$dataIndex;if(a!==null){if(c){q=b?r.element.getHeight():r.element.getFirstChild().getHeight();q=Math.max(q,t)}else{q=t}r.$ownItemHeight=q;o=p.scrollDockItems.top.length;if(r.isFirst){p.totalScrollDockTopHeight=0;for(h=0;h<o;h++){d=p.scrollDockItems.top[h].$scrollDockHeight;q+=d;p.totalScrollDockTopHeight+=d}}o=p.scrollDockItems.bottom.length;if(r.isLast){for(h=0;h<o;h++){d=p.scrollDockItems.bottom[h].$scrollDockHeight;q+=d}}if(r.getHeader&&s&&r.getHeader()&&s[a]){q+=p.headerHeight}if(r.getBody&&(l=r.getBody())&&l.renderElement&&l.isVisible()){q+=l.renderElement.getHeight()}g.setItemHeight(a,q);r.$height=q}}g.update();n.length=0;for(k in s){if(s.hasOwnProperty(k)){n.push(g.map[k])}}p.updatedItems.length=0;p.refreshScroller(true)},handleItemTransforms:function(){var l=this,a=l.listItems,o=a.length,b=l.getItemMap(),m=l.scrollDockItems,h=l.isGrouping(),n,g,d,e,k,c;for(e=0;e<o;e++){n=a[e];d=b.map[n.$dataIndex];if(!n.$hidden&&n.$position!==d){n.$position=d;k=m.top.length;if(n.isFirst&&k){for(c=0;c<k;c++){l.translate(m.top[c],0,d);d+=m.top[c].$scrollDockHeight}}g=n.getHeader&&n.getHeader();if(h&&g&&l.headerIndices&&l.headerIndices[n.$dataIndex]){l.translate(g,0,d);d+=l.headerHeight}l.translate(n,0,d);d+=n.$ownItemHeight;k=m.bottom.length;if(n.isLast&&k){for(c=0;c<k;c++){l.translate(m.bottom[c],0,d);d+=m.bottom[c].$scrollDockHeight}}}}},handlePinnedHeader:function(n){var m=this,c=m.getPinnedHeader(),g=m.getItemMap(),e=m.groups,l=m.headerMap,i=m.headerHeight,o=m.getStore(),d=m.totalScrollDockTopHeight,j,b,k,h,a;b=g.binarySearch(l,-n);j=e.getAt(b).getAt(0);if(j){k=n+l[b+1]-i;if(n>=0||(b===0&&d+n>=0)||(b===0&&-n<=l[b])){h=-10000}else{if(k<0){h=k}else{h=Math.max(0,n)}}a=o.getGrouper().getGroupString(j);if(c.$currentHeader!=a){c.setHtml(a);c.$currentHeader=a}if(c.$position!=h){m.translate(c,0,h);c.$position=h}}},createItem:function(b){var e=this,a=e.container,g=e.listItems,d=e.getInfinite(),h=e.scrollElement,c,i;b.$initParent=e;c=Ext.factory(b);delete b.$initParent;c.dataview=e;c.$height=b.minHeight;i=c.getHeader&&c.getHeader();if(i){if(d){i.setTranslatable({translationMethod:this.translationMethod});e.translate(i,0,-10000);h.insertFirst(i.renderElement)}}a.doAdd(c);g.push(c);return c},onItemHeightChange:function(){this.handleItemHeights();this.updateAllListItems()},setItemsCount:function(a,b){var e=this,g=e.listItems,c=b||e.getListItemConfig(),h=a-g.length,d;for(d=0;d<h;d++){e.createItem(c)}for(d=h;d<0;d++){g.pop().destroy()}e.itemsCount=a;e.updateAllListItems();if(Ext.browser.is.AndroidStock&&e.container.element&&a===0&&h!==0){e.container.element.redraw()}return e.listItems},updateListItem:function(A,h,z){var C=this,F=C.recordMap,E=A.getRecord(),g=z.store,D=z.grouped,b=g.getAt(h),w=C.headerIndices,c=C.footerIndices,u=A.getHeader&&A.getHeader(),x=C.scrollDockItems,m=C.updatedItems,j=C.getInfinite(),y=g.getCount(),q=g.getGrouper(),B=[],o=[],v=C.firstCls,l=C.lastCls,a=C.groupFirstCls,r=C.groupLastCls,n=C.oddCls,p=C.selectedCls,t=[v,l,a,r,p,n],G=[v,l,a,r],k,s,e,d;if(j){A.$position=-10000}A.$updating=true;if(!b){A.setRecord(null);if(E&&F[E.internalId]===A){delete F[E.internalId]}if(j){C.translate(A,0,-10000)}else{A.hide()}if(u){if(j){C.translate(u,0,-10000)}else{u.hide()}}A.$hidden=true;A.$updating=false;return}else{if(A.$hidden){if(!j){A.show()}A.$hidden=false}}if(j){m.push(A)}if(A.isFirst&&h!==0){k=x.top.length;for(s=0;s<k;s++){e=x.top[s];if(j){C.translate(e,0,-10000)}}A.isFirst=false}if(A.isLast&&h!==y-1){k=x.bottom.length;for(s=0;s<k;s++){e=x.bottom[s];if(j){C.translate(e,0,-10000)}}A.isLast=false}if(A.$dataIndex!==h){A.$dataIndex=h;C.fireEvent("itemindexchange",C,b,h,A)}if(E===b){A.updateRecord(b)}else{if(E&&F[E.internalId]===A){delete F[E.internalId]}F[b.internalId]=A;A.setRecord(b);d=A.getViewModel();if(d){d.set("record",b)}}if(C.isSelected(b)){B.push(p)}if(D){if(u&&w[h]){B.push(a);u.setHtml(q.getGroupString(b));u.renderElement.insertBefore(A.renderElement);u.show()}else{if(u){if(j){C.translate(u,0,-10000)}else{u.hide()}}}if(c[h]){B.push(r)}}if(u&&!D){if(j){C.translate(u,0,-10000)}else{u.hide()}}if(h===0){A.isFirst=true;if(u&&D){o.push(v)}else{B.push(v)}if(!j){for(s=0,k=x.top.length;s<k;s++){e=x.top[s];if(D){e.renderElement.insertBefore(u.renderElement)}else{e.renderElement.insertBefore(A.renderElement)}}}}if(h===y-1){A.isLast=true;B.push(l);if(!j){for(s=0,k=x.bottom.length;s<k;s++){e=x.bottom[s];e.renderElement.insertAfter(A.renderElement)}}}if(z.striped&&h%2===1){B.push(n)}A.renderElement.replaceCls(t,B);if(u){u.renderElement.replaceCls(G,o)}A.$updating=false},updateAllListItems:function(){var e=this,b,a,h,g,c,d;if(!e.initialized){return}b=e.getStore();a=e.listItems;h=e.getListItemInfo();g=e.topRenderedIndex;if(b){for(c=0,d=a.length;c<d;c++){e.updateListItem(a[c],g+c,h)}}if(e.isPainted()){if(e.getInfinite()&&b&&b.getCount()){e.handleItemHeights()}e.refreshScroller()}},doRefresh:function(){var d=this,c=d.getInfinite(),b=d.container,a=b.getScrollable(),e=d.getStore().getCount();if(c){d.getItemMap().populate(e,this.topRenderedIndex)}if(d.getGrouped()){d.refreshHeaderIndices()}if(e){d.hideScrollDockItems();d.hideEmptyText();if(!c){d.setItemsCount(e);if(d.getScrollToTopOnRefresh()){a.scrollTo(0,0)}}else{if(d.getScrollToTopOnRefresh()){d.topRenderedIndex=0;d.topVisibleIndex=0;a.scrollTo(null,0)}d.updateAllListItems()}}else{d.onStoreClear()}if(d.getIndexBar()){d.handleIndexBarSize()}d._fireResizeOnNextPaint=false;d.onContainerResize(b,{height:b.element.getHeight()})},updateStore:function(b,d){var c=this,a=c.container;c.callParent([b,d]);if(c._fireResizeOnNextLoad&&c.hasLoadedStore){c._fireResizeOnNextLoad=false;c.onContainerResize(a,{height:a.element.getHeight()})}},onLoad:function(b){var c=this,a=c.container;c.callParent([b]);if(c._fireResizeOnNextLoad){c._fireResizeOnNextLoad=false;c.onContainerResize(a,{height:a.element.getHeight()})}},onContainerResize:function(a,n){var j=this,k=j.getStore(),g,h,l,b,m,c,d,i,e;if(!j.isPainted()){if(!j._fireResizeOnNextPaint){j.on({painted:"refresh",single:true});j._fireResizeOnNextPaint=true}return}if(!j.headerHeight){e=j.getPinnedHeader().renderElement;j.headerHeight=parseInt(e.getHeight(),10)-e.getBorderWidth("b")}if(j.getInfinite()){c=j.getItemMap();l=c.getMinimumHeight();if(!k||!k.getCount()){j._fireResizeOnNextLoad=true;return}if(!l){b=j.listItems;if(!b.length){i=j.getListItemConfig();j.createItem(i);m=b[0];j.updateListItem(m,0,j.getListItemInfo());j.visibleCount++;l=m.element.getHeight();d=m.getBody&&m.getBody();if(d&&d.renderElement&&d.isVisible()){l-=d.renderElement.getHeight()}}c.setMinimumHeight(l);j.getItemMap().populate(j.getStore().getCount(),j.topRenderedIndex)}g=j.visibleCount;h=Math.ceil(n.height/(l||1));if(h!=g){j.visibleCount=h;j.setItemsCount(h+j.getBufferSize(),i);j.fireEvent("updatevisiblecount",this,h,g)}}else{if(j.listItems.length&&j.getGrouped()&&j.getPinHeaders()){j.updateHeaderMap()}}},refreshScroller:function(c){var e=this,b=e.container.getScrollable(),a,d;if(e.getInfinite()){a=e.getItemMap().getTotalHeight();d=b.getSize();if(a!=d.y){b.setSize({y:a})}}e.afterRefreshScroller(b,c)},afterRefreshScroller:function(b,a){var c=this;if(c.getInfinite()){if(!a){c.onScrollerRefresh(b)}}else{if(c.getGrouped()&&c.getPinHeaders()){c.updateHeaderMap()}}},updateHeaderMap:function(){var c=this,b=c.headerMap,d=c.headerIndices,e,a;b.length=0;for(a in d){if(d.hasOwnProperty(a)){e=c.getItemAt(a).getHeader();b.push(e.renderElement.dom.offsetTop)}}},applyVariableHeights:function(a){if(!this.getInfinite()){return true}return a},applyDefaultType:function(a){if(!a){a=this.getUseSimpleItems()?"simplelistitem":"listitem"}return a},applyItemMap:function(a){return Ext.factory(a,Ext.util.PositionMap,this.getItemMap())},updateItemHeight:function(a){this.getItemMap().setMinimumHeight(a)},applyIndexBar:function(a){if(a){if(a===true){a={}}Ext.apply(a,{parentList:this})}return Ext.factory(a,Ext.dataview.IndexBar,this.getIndexBar())},updatePinHeaders:function(b){var c=this,a;if(c.isPainted()){a=c.getPinnedHeader();c.translate(a,0,b?a.$position:-10000)}},updateItemTpl:function(g){var d=this,e=d.listItems,c=e.length||0,a,b;for(a=0;a<c;a++){b=e[a];b.setTpl(g)}d.updateAllListItems()},updateItemCls:function(g,c){var a=this.listItems,e=a.length,b,d;for(b=0;b<e;b++){d=a[b];d.removeCls(c);d.addCls(g)}},updateIndexBar:function(a,c){var b=this;if(c){c.setParentList(null);c.destroy()}if(a){a.on({scope:b,index:b.onIndex,directionchange:b.handleIndexBarSize});b.container.element.appendChild(a.renderElement);b.handleIndexBarSize()}},updateGrouped:function(a){if(this.initialized){this.handleGroupChange()}},onStoreGroupChange:function(){if(this.initialized){this.handleGroupChange()}},onStoreAdd:function(){this.doRefresh()},onStoreRemove:function(){this.doRefresh()},onStoreUpdate:function(b,a,d,h,i){var g=this,c,e;if(i.indexChanged){g.doRefresh()}else{c=b.indexOf(a);e=g.getItem(a);if(e){g.updateListItem(e,c,g.getListItemInfo())}}},onStoreClear:function(){var d=this,b=d.container.getScrollable(),c=d.getInfinite(),a=d.getPinnedHeader();if(a){d.translate(a,0,-10000)}d.getItemMap().populate(0,0);if(!c){d.setItemsCount(0)}else{d.topRenderedIndex=0;d.topVisibleIndex=0;d.updateAllListItems()}d.showEmptyText();b.scrollTo(null,0);d.refreshScroller()},showEmptyScrollDock:function(){var e=this,d=e.getInfinite(),g=e.scrollDockItems,h=0,a,c,b;for(a=0,c=g.top.length;a<c;a++){b=g.top[a];if(d){e.translate(b,0,h);h+=b.$scrollDockHeight}else{this.scrollElement.appendChild(b.renderElement)}}for(a=0,c=g.bottom.length;a<c;a++){b=g.bottom[a];if(d){e.translate(b,0,h);h+=b.$scrollDockHeight}else{this.scrollElement.appendChild(b.renderElement)}}},hideScrollDockItems:function(){var e=this,d=e.getInfinite(),g=e.scrollDockItems,a,c,b;if(!d){return}for(a=0,c=g.top.length;a<c;a++){b=g.top[a];e.translate(b,0,-10000)}for(a=0,c=g.bottom.length;a<c;a++){b=g.bottom[a];e.translate(b,0,-10000)}},getItem:function(a){var b;if(a){b=this.recordMap[a.internalId]}return b||null},getItemAt:function(a){var e=this.listItems,d=e.length,b,c;for(b=0;b<d;b++){c=e[b];if(c.$dataIndex==a){return c}}},getListItems:function(){return this.listItems.slice()},getItemIndex:function(a){return a.$dataIndex},getViewItems:function(){return this.listItems},getListItemInfo:function(){var a=this;return{store:a.getStore(),grouped:a.isGrouping(),striped:a.getStriped(),itemMap:a.getItemMap(),defaultItemHeight:a.getItemHeight()}},getListItemConfig:function(){var c=this,a=c.getItemMap().getMinimumHeight(),b={xtype:c.getDefaultType(),tpl:c.getItemTpl(),minHeight:a,cls:c.getItemCls()};if(c.getInfinite()){b.translatable={translationMethod:this.translationMethod}}if(!c.getVariableHeights()){b.height=a}return Ext.merge(b,c.getItemConfig())},refreshHeaderIndices:function(){var j=this,k=j.getStore(),d=k&&k.getCount(),c=k.getGrouper()?k.getGroups():null,g=j.getGrouped(),n=j.headerIndices={},m=j.footerIndices={},e,b,a,h,l;if(!g||!c){return m}l=c.length;j.groups=c;for(e=0;e<l;e++){a=c.getAt(e).getAt(0);h=k.indexOf(a);n[h]=true;b=h-1;if(b>=0){m[b]=true}}m[d-1]=true;return n},scrollToRecord:function(h,a,c){var l=this,i=l.container.getScrollable(),m=l.getStore(),j=m.indexOf(h),g,e,n,k,o,d,b;k=i.getElement().getHeight();o=i.getSize().y;d=o-k;if(l.getInfinite()){e=l.getItemMap().map[j]}else{n=l.listItems[j];g=n.getHeader&&n.getHeader();b=g&&g.isPainted()?g:n;e=b.renderElement.dom.offsetTop}if(!c){e=Math.min(e,d)}i.scrollTo(null,e,!!a)},onItemAdd:function(d,b){var c=this,a=d.config;if(a.scrollDock){if(a.scrollDock=="bottom"){c.scrollDockItems.bottom.push(d)}else{c.scrollDockItems.top.push(d)}if(c.getInfinite()){d.on({resize:"onScrollDockItemResize",scope:this});d.addCls(c.scrollDockCls);d.setTranslatable({translationMethod:this.translationMethod});c.translate(d,0,-10000);d.$scrollDockHeight=0}c.container.doAdd(d)}else{c.callParent([d,b])}},getScrollDockedItems:function(){return this.scrollDockItems.bottom.slice().concat(this.scrollDockItems.top.slice())},onScrollDockItemResize:function(h,c){var g=this,a=g.listItems,e=a.length,b,d;Ext.getCmp(h.id).$scrollDockHeight=c.height;for(b=0;b<e;b++){d=a[b];if(d.isLast){g.updatedItems.push(d);if(g.isPainted()){g.refreshScroller()}break}}},onItemTouchStart:function(c){var a=this,b=c.getTarget(a.disclosureSelector);if(!b){a.container.innerElement.on({touchmove:"onItemTouchMove",delegate:"."+Ext.baseCSSPrefix+"listitem",single:true,scope:a});a.callParent(a.parseEvent(c))}},onItemTouchMove:function(a){this.callParent(this.parseEvent(a))},onItemTouchEnd:function(c){var a=this,b=c.getTarget(a.disclosureSelector);if(!b){a.container.innerElement.un({touchmove:"onItemTouchMove",delegate:"."+Ext.baseCSSPrefix+"listitem",scope:a});a.callParent(a.parseEvent(c))}},onItemTap:function(a){this.callParent(this.parseEvent(a))},onItemTapHold:function(a){this.callParent(this.parseEvent(a))},onItemSingleTap:function(a){this.callParent(this.parseEvent(a))},onItemDoubleTap:function(a){this.callParent(this.parseEvent(a))},onItemSwipe:function(a){this.callParent(this.parseEvent(a))},onItemMouseOver:function(a){this.callParent(this.parseEvent(a))},onItemMouseOut:function(a){this.callParent(this.parseEvent(a))},parseEvent:function(d){var b=this,c=d.getTarget(b.itemSelector),a=Ext.getCmp(c.id);return[b,a,a.$dataIndex,d]},applyOnItemDisclosure:function(a){if(Ext.isFunction(a)){return{scope:this,handler:a}}return a},handleItemDisclosure:function(g){var d=this,c=Ext.getCmp(Ext.get(g.currentTarget).up(d.itemSelector).id),b=c.$dataIndex,a=d.getStore().getAt(b);d.fireAction("disclose",[d,a,c,b,g],"doDisclose")},doDisclose:function(i,a,h,c,j){var b=i.getOnItemDisclosure(),g=b,d;if(g&&g!==true){if(g.handler){d=g.scope;g=g.handler}Ext.callback(g,d,[a,h,c,j],0,i)}},onItemTrigger:function(c,b,g,a,d){if(!(this.getPreventSelectionOnDisclose()&&d.getTarget(c.disclosureSelector))){this.callParent(arguments)}},doDestroy:function(){var b=this,a=b.indexBarTask;if(a){a.cancel();b.indexBarTask=null}b.getPinnedHeader().destroy();b.setIndexBar(null);if(b.onIdleBound){Ext.AnimationQueue.unIdle(b.onAnimationIdle,b)}b.callParent()},updateInfinite:function(a){this.toggleCls(this.infiniteCls,!!a)},updateRowLines:function(a){this.container.innerElement.toggleCls(this.noRowLinesCls,a===false)},applyPinnedHeader:function(a,c){var d=this,b=d.container;a=Ext.apply(a,{list:d,translatable:{translationMethod:d.translationMethod}});a=Ext.factory(a,null,c);if(!c){d.translate(a,0,-10000);a.$position=-10000;b.element.insertFirst(a.renderElement)}return a},privates:{translate:function(c,a,d){var b;if(Ext.isIE||Ext.isEdge){b=c.el.dom.style;b.top=(d||0)+"px";b.left=(a||0)+"px"}else{c.translate(a,d)}},doHandleIndexBarSize:function(){var c=this,a=c.getScrollable(),b=c.getIndexBar(),d;if(b){d=a.getScrollbarSize().width;if(d!==c.lastScrollerSize){b.renderElement.setStyle("padding-right",d+"px");c.lastScrollerSize=d}}},handleGroupChange:function(){var e=this,c=e.isGrouping(),d=e.getInfinite(),a=e.getPinnedHeader(),b=e.groupedCls;if(a){e.translate(a,0,-10000)}if(c){e.addCls(b)}else{e.removeCls(b)}if(d){e.refreshHeaderIndices();e.handleItemHeights()}e.updateAllListItems();if(d){e.handleItemTransforms()}},handleIndexBarSize:function(){var b=this,a=b.indexBarTask;if(!a){b.indexBarTask=a=new Ext.util.DelayedTask(b.doHandleIndexBarSize,b)}a.delay(1)},isGrouping:function(){var a=this.getStore();return Boolean(this.getGrouped()&&a&&a.getGrouper())},onIndex:function(b,e){var h=this,l=e.toLowerCase(),j=h.getStore(),c=j.getGroups(),g=c.length,k,m,d,a;for(d=0;d<g;d++){k=c.getAt(d);m=k.getGroupKey().toLowerCase();if(m>=l){a=k;break}else{a=k}}if(a){this.scrollToRecord(a.getAt(0))}}}});Ext.define("Ext.dataview.NestedList",{alternateClassName:"Ext.NestedList",extend:Ext.Container,xtype:"nestedlist",config:{baseCls:Ext.baseCSSPrefix+"nested-list",backText:"Back",useTitleAsBackText:true,updateTitleText:true,displayField:"text",loadingText:"Loading...",emptyText:"No items available.",onItemDisclosure:false,allowDeselect:false,useToolbar:null,toolbar:{docked:"top",xtype:"titlebar",ui:"light",inline:true},title:"",layout:{type:"card",animation:{type:"slide",duration:250,direction:"left"}},store:null,detailContainer:undefined,detailCard:null,backButton:{hidden:true},listConfig:null,useSimpleItems:true,itemHeight:null,variableHeights:false,lastNode:null,lastActiveList:null,ui:null,clearSelectionOnListChange:true},listMode:"title",constructor:function(a){if(Ext.isObject(a)){if(a.getTitleTextTpl){this.getTitleTextTpl=a.getTitleTextTpl}if(a.getItemTextTpl){this.getItemTextTpl=a.getItemTextTpl}}this.callParent([a])},changeListMode:function(d){var c=this,b=c.getStore(),a=b&&b.getRoot();if(d===a){c.listMode="title"}else{if(d.parentNode===a){c.listMode="node"}else{c.listMode="deep"}}},onItemInteraction:function(){if(this.isGoingTo){return false}},applyDetailContainer:function(a){if(!a){a=this}return a},updateDetailContainer:function(a,b){if(a){a.on("beforeactiveitemchange","onBeforeDetailContainerChange",this);a.on("activeitemchange","onDetailContainerChange",this)}},onBeforeDetailContainerChange:function(){this.isGoingTo=true},onDetailContainerChange:function(){this.isGoingTo=false},onItemTap:function(h,c,j,a,i){var g=this,b=h.getStore(),d=b.getAt(c);g.fireEvent("itemtap",this,h,c,j,a,i);if(d.isLeaf()){g.fireEvent("leafitemtap",this,h,c,j,a,i);g.goToLeaf(d)}else{this.goToNode(d)}},onBeforeSelect:function(){this.fireEvent.apply(this,[].concat("beforeselect",this,Array.prototype.slice.call(arguments)))},onContainerTap:function(){this.fireEvent.apply(this,[].concat("containertap",this,Array.prototype.slice.call(arguments)))},onSelectionChange:function(){this.fireEvent.apply(this,[].concat("selectionchange",this,Array.prototype.slice.call(arguments)))},onItemDoubleTap:function(){this.fireEvent.apply(this,[].concat("itemdoubletap",this,Array.prototype.slice.call(arguments)))},onStoreBeforeLoad:function(){var b=this.getLoadingText(),a=this.getScrollable();if(b){this.setMasked({xtype:"loadmask",message:b});if(a){a.setDisabled(true)}}this.fireEvent.apply(this,[].concat("beforeload",this,Array.prototype.slice.call(arguments)))},onStoreLoad:function(d,c,e,b,a){this.setMasked(false);this.fireEvent.apply(this,[].concat("load",this,Array.prototype.slice.call(arguments)));if(d.indexOf(this.getLastNode())===-1){this.goToNode(d.getRoot())}},onBackTap:function(){var d=this,c=d.getLastNode(),e=d.getDetailCard(),a=e&&d.getActiveItem()==e,b=d.getLastActiveList();this.fireAction("back",[this,c,b,a],"doBack")},doBack:function(e,d,c,a){var b=e.getLayout(),g=b?b.getAnimation():null;if(a&&c){if(g){g.setReverse(true)}e.setActiveItem(c);e.setLastNode(d.parentNode);e.syncToolbar()}else{e.goToNode(d.parentNode)}},updateData:function(a){if(!this.getStore()){this.setStore(new Ext.data.TreeStore({root:a}))}},applyStore:function(a){if(a){if(Ext.isString(a)){a=Ext.data.StoreManager.get(a)}else{if(!(a instanceof Ext.data.TreeStore)){a=Ext.factory(a,Ext.data.TreeStore,null)}}}return a},storeListeners:{rootchange:"onStoreRootChange",load:"onStoreLoad",beforeload:"onStoreBeforeLoad"},updateStore:function(a,d){var c=this,b=this.storeListeners;b.scope=c;if(d&&Ext.isObject(d)&&d.isStore){if(d.autoDestroy){d.destroy()}d.un(b)}if(a){a.on(b);c.goToNode(a.getRoot())}},onStoreRootChange:function(a,b){this.goToNode(b)},applyDetailCard:function(a,b){return Ext.factory(a,Ext.Component,a===null?b:undefined)},applyBackButton:function(a){return Ext.factory(a,Ext.Button,this.getBackButton())},updateBackButton:function(b,a){if(b){var d=this,c;b.on("tap",d.onBackTap,d);b.setText(d.getBackText());c=d.getToolbar();if(d.$backButtonContainer){d.$backButtonContainer.insert(0,b)}else{c.insert(0,b)}}else{if(a){a.destroy()}}},applyToolbar:function(a){if(a&&a.splitNavigation){Ext.apply(a,{docked:"top",xtype:"titlebar",ui:"light"});var b=(a.splitNavigation===true)?{}:a.splitNavigation;this.$backButtonContainer=this.add(Ext.apply({xtype:"toolbar",docked:"bottom",hidden:true,ui:"dark"},b))}return Ext.factory(a,Ext.TitleBar,this.getToolbar())},updateToolbar:function(a,b){var c=this;if(a){a.setTitle(c.getTitle());if(!a.getParent()){c.add(a)}}else{if(b){b.destroy()}}},updateUseToolbar:function(a,b){if(!a){this.setToolbar(false)}},updateTitle:function(c){var b=this,a=b.getBackButton();if(b.getUpdateTitleText()){if(b.listMode==="title"){b.setToolbarTitle(c)}else{if(a&&b.getUseTitleAsBackText()&&b.listMode==="node"){a.setText(c)}}}else{b.setToolbarTitle(c)}},getItemTextTpl:function(a){return"{"+this.getDisplayField()+"}"},getTitleTextTpl:function(a){return"{"+this.getDisplayField()+"}"},renderTitleText:function(b,c){if(!b.titleTpl){b.titleTpl=Ext.create("Ext.XTemplate",this.getTitleTextTpl(b))}if(b.isRoot()){var a=this.getTitle();return(c&&a==="")?this.getInitialConfig("backText"):a}return b.titleTpl.applyTemplate(b.data)},goToNode:function(a){if(!a){return}var j=this,d=j.getActiveItem(),l=j.getDetailCard(),k=l&&j.getActiveItem()==l,i=j.goToNodeReverseAnimation(a),c=j.firstList,e=j.secondList,g=j.getLayout(),b=g?g.getAnimation():null,h;if(a.isLeaf()){throw new Error("goToNode: passed a node which is a leaf.")}if(a===j.getLastNode()&&!k){return}if(k){if(b){b.setReverse(true)}h=j.getLastActiveList();h.getStore().setNode(a);a.expand();j.setActiveItem(h)}else{if(b){b.setReverse(i)}if(c&&e){d=j.getActiveItem();j.setLastActiveList(d);h=(d==c)?e:c;h.getStore().setNode(a);a.expand();j.setActiveItem(h);if(j.getClearSelectionOnListChange()){h.deselectAll()}}else{if(c){j.setLastActiveList(j.getActiveItem());j.setActiveItem(j.getList(a));j.secondList=j.getActiveItem()}else{j.setActiveItem(j.getList(a));j.firstList=j.getActiveItem()}}}j.fireEvent("listchange",j,j.getActiveItem());j.setLastNode(a);j.changeListMode(a);j.syncToolbar()},goToLeaf:function(g){if(!g.isLeaf()){throw new Error("goToLeaf: passed a node which is not a leaf.")}var e=this,c=e.getDetailCard(),b=e.getDetailContainer(),a=b===e,d=e.getLayout(),h=d?d.getAnimation():false,i;if(c){if(b.getItems().indexOf(c)===-1){b.add(c)}if(a){i=e.getActiveItem();if(i instanceof Ext.dataview.List){e.setLastActiveList(i)}e.setLastNode(g)}if(h){h.setReverse(false)}b.setActiveItem(c);e.syncToolbar()}},syncToolbar:function(h){var d=this,i=d.getDetailCard(),a=d.getLastNode(),e=h||(i&&(d.getActiveItem()==i)),c=(e)?a:a.parentNode,j=d.getBackButton();if(j){var g=d.getToolbar(),b=g.getInitialConfig("splitNavigation");if(b){d.$backButtonContainer[c?"show":"hide"]()}j[c?"show":"hide"]();if(c&&d.getUseTitleAsBackText()){j.setText(d.renderTitleText(a.parentNode,true))}}if(a){d.setToolbarTitle(d.renderTitleText(a))}},updateBackText:function(a){this.getBackButton().setText(a)},goToNodeReverseAnimation:function(b){var a=this.getLastNode();if(!a){return false}return(!a.contains(b)&&a.isAncestor(b))?true:false},getList:function(b){var a=this,c=new Ext.data.NodeStore({recursive:false,node:b,rootVisible:false,model:a.getStore().getModel(),proxy:"memory"});b.expand();return Ext.Object.merge({xtype:"list",useSimpleItems:a.getUseSimpleItems(),pressedDelay:250,autoDestroy:true,store:c,onItemDisclosure:a.getOnItemDisclosure(),allowDeselect:a.getAllowDeselect(),itemHeight:a.getItemHeight(),variableHeights:a.getVariableHeights(),emptyText:a.getEmptyText(),listeners:[{itemdoubletap:"onItemDoubleTap",itemtap:"onItemTap",beforeselectionchange:"onBeforeSelect",containertap:"onContainerTap",scope:a},{selectionchange:"onSelectionChange",itemtouchstart:"onItemInteraction",itemtap:"onItemInteraction",order:"before",scope:a}],itemTpl:'<span<tpl if="leaf == true"> class="x-list-item-leaf"</tpl>>'+a.getItemTextTpl(b)+"</span>"},a.getListConfig())},privates:{setToolbarTitle:function(c){var b=this,a=b.getToolbar();if(a){a.setTitle(c)}}}});Ext.define("Ext.dataview.element.List",{extend:Ext.dataview.element.Container,updateBaseCls:function(a){var b=this;b.itemClsShortCache=a+"-item";b.headerClsShortCache=a+"-header";b.headerClsCache="."+b.headerClsShortCache;b.headerItemClsShortCache=a+"-header-item";b.footerClsShortCache=a+"-footer-item";b.footerClsCache="."+b.footerClsShortCache;b.labelClsShortCache=a+"-item-label";b.labelClsCache="."+b.labelClsShortCache;b.disclosureClsShortCache=a+"-disclosure";b.disclosureClsCache="."+b.disclosureClsShortCache;b.iconClsShortCache=a+"-icon";b.iconClsCache="."+b.iconClsShortCache;this.callParent(arguments)},hiddenDisplayCache:Ext.baseCSSPrefix+"hidden-display",getItemElementConfig:function(e,i){var g=this,c=g.dataview,h=c.getItemCls(),b=g.itemClsShortCache,d,a;if(h){b+=" "+h}d={cls:b,children:[{cls:g.labelClsShortCache,html:g.renderItemTpl(e,i)}]};if(c.getIcon()){a=i.iconSrc;d.children.push({cls:g.iconClsShortCache,style:"background-image: "+a?'url("'+newSrc+'")':""})}if(c.getOnItemDisclosure()){d.children.push({cls:g.disclosureClsShortCache+" "+((i[c.getDisclosureProperty()]===false)?g.hiddenDisplayCache:"")})}return d},updateListItem:function(d,n){var j=this,e=j.dataview,m=Ext.fly(n),i=m.down(j.labelClsCache,true),k=databiew.getStore(),g=k.indexOf(d),c=e.prepareData(d.getData(true),g,d),b=e.getDisclosureProperty(),a=c&&c.hasOwnProperty(b),o=c&&c.hasOwnProperty("iconSrc"),h,l;i.innerHTML=j.renderItemTpl(g,c,k);if(a){h=m.down(j.disclosureClsCache);h[c[b]===false?"addCls":"removeCls"](j.hiddenDisplayCache)}if(e.getIcon()){l=m.down(j.iconClsCache,true);l.style.backgroundImage=o?'url("'+o+'")':""}},doRemoveHeaders:function(){var e=this,a=e.headerItemClsShortCache,b=e.element.query(e.headerClsCache),g=b.length,c=0,d;for(;c<g;c++){d=b[c];Ext.fly(d.parentNode).removeCls(a);Ext.get(d).destroy()}},doRemoveFooterCls:function(){var d=this,c=d.footerClsShortCache,a=d.element.query(d.footerClsCache),e=a.length,b=0;for(;b<e;b++){Ext.fly(a[b]).removeCls(c)}},doAddHeader:function(b,a){b=Ext.fly(b);if(a){b.insertFirst(Ext.Element.create({cls:this.headerClsShortCache,html:a}))}b.addCls(this.headerItemClsShortCache)},doDestroy:function(){this.doRemoveHeaders();this.callParent()}});Ext.define("Ext.tip.ToolTip",{extend:Ext.Panel,xtype:"tooltip",floated:true,ui:"tooltip",hidden:true,shadow:true,border:true,anchor:false,closeAction:"hide",config:{align:"l-r?",alignDelegate:null,allowOver:null,anchorToTarget:true,autoHide:true,delegate:null,dismissDelay:5000,hideDelay:300,mouseOffset:[15,18],quickShowInterval:250,showDelay:500,showOnTap:null,target:null,trackMouse:false},closeToolText:"",constructor:function(a){this.currentTarget=new Ext.dom.Fly();this.callParent([a]);this.attachTargetListeners()},getRefOwner:function(){var a=this.getTarget();return(a&&a.isComponent)?a:this.callParent()},updateAllowOver:function(b){var a=this;a.overListeners=Ext.destroy(a.overListeners);if(b){a.overListeners=a.el.on({mouseenter:"onTipOver",mouseleave:"onTipOut",scope:a,destroyable:true})}},applyTarget:function(a){if(a){if(!a.isComponent){a=Ext.get(a.el||a)}}return a},updateTarget:function(c,b){var a=this;if(!a.isConfiguring){a.targetListeners=Ext.destroy(a.targetListeners);a.attachTargetListeners()}},updateTrackMouse:function(a){if(!this.getAnchor()){this.setAllowOver(a)}},updateDisabled:function(a,d){var b=this,c;b.callParent([a,d]);if(a){b.clearTimers();b.hide();c=null}b.attachTargetListeners(c)},updateShowOnTap:function(a){if(!this.isConfiguring){this.attachTargetListeners()}},showBy:function(c,e,b){var a=this,d=a.getAlignDelegate();if(c.isEvent){a.alignToEvent(c)}else{if(c.isElement){a.updateCurrentTarget(c.dom)}else{if(c.nodeType){a.updateCurrentTarget(c)}}a.callParent([d?c.child(d,true):c,e||a.getAlign(),b])}},onViewportResize:function(){var a=this;if(a.isVisible()&&!a.lastShowWasPointer){a.showByTarget(a.currentTarget)}},show:function(){var b=this,a=b.getDismissDelay();if(!b.currentTarget.dom&&(b.pointerEvent||b.getTarget())){return b.showByTarget(b.getElFromTarget())}b.callParent();b.clearTimer("show");if(a&&b.getAutoHide()){b.dismissTimer=Ext.defer(b.hide,a,b)}b.toFront();Ext.getDoc().on("mousedown",b.onDocMouseDown,b)},hide:function(){var a=this;a.clearTimer("dismiss");a.callParent();a.lastHidden=new Date();a.updateCurrentTarget(null);Ext.getDoc().un("mousedown",a.onDocMouseDown,a)},doDestroy:function(){var a=this;a.clearTimers();a.setTarget(null);a.overListeners=null;a.callParent()},privates:{onDocMouseDown:function(c){var b=this,a=b.getDelegate();if(c.within(b.el.dom)){if(c.pointerType!=="mouse"&&b.getAllowOver()){b.clearTimer("dismiss")}}else{if(!b.getClosable()){if(c.within(b.getElFromTarget())&&(!a||c.getTarget(a))){b.delayHide()}else{b.disable();b.enableTimer=Ext.defer(b.enable,100,b)}}}},forceTargetOver:function(a,b){this.pointerEvent=a;this.updateCurrentTarget(b);this.handleTargetOver()},getConstrainRegion:function(){return this.callParent().adjust(5,-5,-5,5)},onTargetOver:function(g){var c=this,i=c.getElFromTarget(),b=c.getDelegate(),d=c.currentTarget,a=c.hasListeners,h;if(c.getDisabled()){return}if(b){if(d.contains(g.target)){return}h=g.getTarget(b);if(h&&Ext.fly(h).contains(g.relatedTarget)){return}}else{if(!i.contains(g.relatedTarget)){h=i.dom}else{return}}if(h){if((a.beforeshow||a.show)&&c.isVisible()){c.hide()}c.forceTargetOver(g,h)}else{if(d.dom){c.handleTargetOut()}}},handleTargetOver:function(){this.delayShow(this.currentTarget)},onTargetTap:function(a){if(a.pointerType!=="mouse"){this.onTargetOver(a)}},onTargetOut:function(a){if(this.currentTarget.dom&&!this.currentTarget.contains(a.relatedTarget)){this.handleTargetOut()}},handleTargetOut:function(){var a=this;if(a.showTimer){a.clearTimer("show")}if(a.isVisible()&&a.getAutoHide()){a.delayHide()}},onTipOver:function(){this.clearTimer("hide");this.clearTimer("dismiss")},onTipOut:function(){this.handleTargetOut()},onMouseMove:function(c){var b=this,a=b.getDismissDelay();b.pointerEvent=c;if(b.isVisible()&&b.currentTarget.contains(c.target)){if(a&&b.getAutoHide()!==false){b.clearTimer("dismiss");b.dismissTimer=Ext.defer(b.hide,a,b)}if(b.getTrackMouse()){b.alignToEvent(c)}}},delayShow:function(b){var a=this;a.clearTimer("hide");if(a.getHidden()&&!a.showTimer){if(a.getDelegate()&&Ext.Date.getElapsed(a.lastHidden)<a.getQuickShowInterval()){a.showByTarget(b)}else{a.showTimer=Ext.defer(a.showByTarget,a.pointerEvent.pointerType!=="mouse"?0:a.getShowDelay(),a,[b])}}else{if(!a.getHidden()&&a.getAutoHide()!==false){a.showByTarget(b)}}},showByTarget:function(c){var b=this,a=b.getAnchorToTarget()&&!b.getTrackMouse();b.lastShowWasPointer=!a;b.showBy(a?c:b.pointerEvent,b.getAlign(),{overlap:b.getTrackMouse()&&!b.getAnchor()})},delayHide:function(){var a=this;if(!a.isHidden()&&!a.hideTimer){a.clearTimer("dismiss");a.hideTimer=Ext.defer(a.hide,a.getHideDelay(),a)}},alignToEvent:function(d){var c=this,b={overlap:c.getTrackMouse()&&!c.getAnchor()},e=c.getMouseOffset(),g=d.getPoint().adjust(-e[1],e[0],e[1],-e[0]),a=c.getAnchor(),h;if(c.getAnchor()){h=c.getAlign()}if(!h){if(e[0]>0){if(e[1]>0){h="tl-br?"}else{h="bl-tr?"}}else{if(e[1]>0){h="tr-bl?"}else{h="br-tl?"}}}if(c.isVisible()){c.alignTo(g,h,b)}else{c.showBy(g,h,b)}},_timerNames:{},clearTimer:function(a){var b=this,d=b._timerNames,c=d[a]||(d[a]=a+"Timer"),e=b[c];if(e){clearTimeout(e);b[c]=null;if(a==="show"&&b.isHidden()){b.updateCurrentTarget(null)}}},clearTimers:function(){var a=this;a.clearTimer("show");a.clearTimer("dismiss");a.clearTimer("hide");a.clearTimer("enable")},clipTo:function(b,c){var a;if(b.isRegion){a=b}else{a=(b.isComponent?b.el:Ext.fly(b)).getConstrainRegion()}this.callParent([a,c]);this.tipElement.clipTo(a,c)},updateCurrentTarget:function(d){var a=this,b=a.currentTarget,c=b.dom;b.attach(d);if(!a.isConfiguring){a.fireEvent("hovertarget",a,b,c)}},getElFromTarget:function(){var a=this.getTarget();if(a){if(a.isComponent){a=a.element}}return a},attachTargetListeners:function(c){var b=this,a;if(c!==null){c=b.getElFromTarget()}b.targetListeners=Ext.destroy(b.targetListeners);if(c){a={mouseover:"onTargetOver",mouseout:"onTargetOut",mousemove:"onMouseMove",scope:b,destroyable:true};if(b.getShowOnTap()){a.tap="onTargetTap"}b.targetListeners=c.on(a)}}}});Ext.define("Ext.dataview.plugin.ItemTip",{extend:Ext.tip.ToolTip,alias:"plugin.dataviewtip",anchor:true,showOnTap:true,defaultBindProperty:"data",config:{cmp:null},listeners:{beforeshow:"onBeforeShow",scope:"this"},init:function(a){this.dataview=a;a.on({initialize:this.onDataViewInitialized,scope:this});a.getScrollable().on({scroll:this.onDataViewScroll,scope:this})},destroy:function(){this.parent=null;this.callParent()},applyData:function(a){if(a.isEntity){a=a.getData(true)}return a},updateCmp:function(a){this.dataview=this.parent=a},onDataViewInitialized:function(a){this.setTarget(a.container.el);this.itemSelector="#"+a.container.el.id+">*";if(!this.getDelegate()){this.setDelegate(this.itemSelector)}},onDataViewScroll:function(){var b=this,a;if(b.currentTarget){a=b.dataview.getScrollable().isInView(b.currentTarget);if(!a.x&&a.y){b.hide()}if(b.isVisible()){b.showByTarget(b.currentTarget)}}},onBeforeShow:function(){var d=this,b=d.getViewModel(),a=d.dataview,c=d.currentTarget;if(!c.is(d.itemSelector)){c=c.up(d.itemSelector)}d.recordIndex=a.container.getViewItems().indexOf(c.dom);d.record=a.getStore().getAt(d.recordIndex);if(d.getBind()){b.set("record",d.record);b.set("recordIndex",d.recordIndex);b.notify()}else{d.setData(d.record.data)}},privates:{getConstrainRegion:function(){return this.dataview.getScrollable().getElement().getConstrainRegion()},applyBind:function(c,e){var d=this,a=d.getCmp(),b=d.getViewModel(),g=a.lookupViewModel();if(b){b.setParent(g)}else{d.setViewModel(Ext.Factory.viewModel({parent:g,data:{}}))}d.callParent([c,e])}}});Ext.define("Ext.field.CheckboxInput",{extend:Ext.field.Input,xtype:"checkboxinput",type:"checkbox",classCls:Ext.baseCSSPrefix+"checkboxinput",cls:Ext.baseCSSPrefix+"font-icon",useMask:true});Ext.define("Ext.field.Checkbox",{extend:Ext.field.Field,alternateClassName:"Ext.form.Checkbox",xtype:"checkboxfield",qsaLeftRe:/[\[]/g,qsaRightRe:/[\]]/g,isCheckbox:true,defaultBindProperty:"checked",twoWayBindable:{checked:1},publishes:{checked:1},config:{value:"",checked:false,tabIndex:-1,component:{xtype:"checkboxinput"}},classCls:Ext.baseCSSPrefix+"checkboxfield",checkedCls:Ext.baseCSSPrefix+"checked",initialize:function(){var b=this,a=b.getComponent();b.callParent();a.on({scope:b,order:"before",masktap:"onMaskTap"});a.doMaskTap=Ext.emptyFn;b.labelElement.on({scope:b,tap:"onMaskTap"});b.publishState("checked",b.getChecked())},doInitValue:function(){var a=this,b=a.getInitialConfig();if(b.hasOwnProperty("value")){a.originalState=b.value}if(b.hasOwnProperty("checked")){a.originalState=b.checked}a.callParent(arguments)},updateInputType:function(a){var b=this.getComponent();if(b){b.setType(a)}},updateName:function(a){var b=this.getComponent();if(b){b.setName(a)}},getSubmitValue:function(){return(this.getChecked())?Ext.isEmpty(this._value)?true:this._value:null},updateChecked:function(d,b){var c=this,a;c.getComponent().setChecked(d);c.toggleCls(c.checkedCls,d);if(c.initialized){a=d?"check":"uncheck";c.fireEvent(a,c);c.fireEvent("change",c,d,b)}},onMaskTap:function(a,c){var b=this,d=b.getComponent().inputElement.dom;if(b.getDisabled()){return false}d.checked=!d.checked;b.setChecked(d.checked);return false},isChecked:function(){return this.getChecked()},check:function(){return this.setChecked(true)},uncheck:function(){return this.setChecked(false)},getSameGroupFields:function(){var d=this,c=d.up("formpanel")||d.up("fieldset"),b=d.getName(),a=d.qsaLeftRe,e=d.qsaRightRe;if(!c){c=Ext.Viewport}b=b.replace(a,"\\[");b=b.replace(e,"\\]");return c.query("checkboxfield[name="+b+"]")},getGroupValues:function(){var a=[];this.getSameGroupFields().forEach(function(b){if(b.getChecked()){a.push(b.getValue())}});return a},setGroupValues:function(a){this.getSameGroupFields().forEach(function(b){b.setChecked((a.indexOf(b.getValue())!==-1))});return this},resetGroupValues:function(){this.getSameGroupFields().forEach(function(a){a.setChecked(a.originalState)});return this},reset:function(){this.setChecked(this.originalState);return this}});Ext.define("Ext.field.trigger.Expand",{extend:Ext.field.trigger.Trigger,xtype:"expandtrigger",alias:"trigger.expand",classCls:Ext.baseCSSPrefix+"expandtrigger",handler:"onExpandTap",scope:"this"});Ext.define("Ext.field.Picker",{extend:Ext.field.Text,xtype:"pickerfield",config:{component:{readOnly:true,useMask:true},clearIcon:false,usePicker:"auto",defaultPhonePickerConfig:null,defaultTabletPickerConfig:null,pickerSlotAlign:"center",triggers:{expand:{type:"expand"}}},classCls:Ext.baseCSSPrefix+"pickerfield",initialize:function(){var b=this,a=b.getComponent();b.callParent();a.on({scope:b,masktap:"onMaskTap"});a.doMaskTap=Ext.emptyFn},updateDefaultPhonePickerConfig:function(b){var a=this.phonePicker;if(a){a.setConfig(b)}},updateDefaultTabletPickerConfig:function(a){var b=this.tabletPicker;if(b){b.setConfig(a)}},applyUsePicker:function(a){if(a==="auto"){a=Ext.os.deviceType==="Phone"}return Boolean(a)},onMaskTap:function(a){this.onExpandTap(a)},onExpandTap:function(){if(!this.getDisabled()){this.onFocus()}return false},onFocus:function(b){if(this.getDisabled()){return false}var a=this.getComponent();this.fireEvent("focus",this,b);if(Ext.os.is.Android4){a.inputElement.dom.focus()}a.inputElement.dom.blur();this.isFocused=true;this.showPicker()},doDestroy:function(){var a=this;a.tabletPicker=a.phonePicker=Ext.destroy(a.tabletPicker,a.phonePicker);a.callParent()}});Ext.define("Ext.field.trigger.Date",{extend:Ext.field.trigger.Trigger,xtype:"datetrigger",alias:"trigger.date",classCls:Ext.baseCSSPrefix+"datetrigger",handler:"onExpandTap",scope:"this"});Ext.define("Ext.picker.Slot",{extend:Ext.dataview.DataView,xtype:"pickerslot",isSlot:true,config:{title:null,showTitle:true,cls:Ext.baseCSSPrefix+"picker-slot",name:null,value:null,flex:1,align:"left",displayField:"text",valueField:"value",itemTpl:null,scrollable:{x:false,y:true,scrollbars:false},verticallyCenterItems:true},snapSelector:"."+Ext.baseCSSPrefix+"dataview-item",selectedIndex:0,applyTitle:function(a){if(a){a=Ext.create("Ext.Component",{cls:Ext.baseCSSPrefix+"picker-slot-title",docked:"top",html:a})}return a},updateTitle:function(b,a){if(b){this.add(b);this.setupBar()}if(a){this.remove(a)}},updateShowTitle:function(a){var c=this.getTitle(),b=a?"show":"hide";if(c){c.on(b,this.setupBar,this,{single:true,delay:50});c[a?"show":"hide"]()}},updateDisplayField:function(a){if(!this.config.itemTpl){this.setItemTpl('<div class="'+Ext.baseCSSPrefix+'picker-item {cls} <tpl if="extra">'+Ext.baseCSSPrefix+'picker-invalid</tpl>">{'+a+"}</div>")}},updateAlign:function(a,c){var b=this.element;b.addCls(Ext.baseCSSPrefix+"picker-"+a);b.removeCls(Ext.baseCSSPrefix+"picker-"+c)},applyData:function(d){var g=[],c=d&&d.length,a,b,e;if(d&&Ext.isArray(d)&&c){for(a=0;a<c;a++){b=d[a];e={};if(Ext.isArray(b)){e[this.valueField]=b[0];e[this.displayField]=b[1]}else{if(Ext.isString(b)){e[this.valueField]=b;e[this.displayField]=b}else{if(Ext.isObject(b)){e=b}}}g.push(e)}}return d},initialize:function(){this.callParent();var a=this.getScrollable();this.on({scope:this,painted:"onPainted",itemtap:"doItemTap",resize:{fn:"onResize",single:true}});this.picker.on({scope:this,beforehiddenchange:"onBeforeHiddenChange"});this.element.on({scope:this,touchstart:"onTouchStart",touchend:"onTouchEnd"});a.on({scope:this,scrollend:"onScrollEnd"})},onPainted:function(){this.setupBar()},onResize:function(){var a=this.getValue();if(a){this.doSetValue(a)}},onBeforeHiddenChange:function(a,b){if(!b){this.doSetValue(this.getValue())}},getPicker:function(){if(!this.picker){this.picker=this.getParent()}return this.picker},setupBar:function(){if(!this.isPainted()){return}var b=this.element,e=this.innerElement,h=this.getPicker(),i=h.bar,k=this.getValue(),c=this.getShowTitle(),j=this.getTitle(),g=this.getScrollable(),d=0,l,a;l=i.dom.getBoundingClientRect().height;if(c&&j){d=j.element.getHeight()}a=Math.ceil((b.getHeight()-d-l)/2);if(this.getVerticallyCenterItems()){e.setStyle({padding:a+"px 0 "+a+"px"})}g.setSnapOffset({y:a});g.setSnapSelector(this.snapSelector);g.setMsSnapInterval({y:l});this.doSetValue(k)},doItemTap:function(d,a,c,g){var b=this;b.selectedIndex=a;b.selectedNode=c;b.scrollToItem(c,true)},scrollToItem:function(d,c){var h=d.getY(),b=d.parent(),e=b.getY(),a=this.getScrollable(),g;g=h-e;a.scrollTo(0,g,c)},onTouchStart:function(){this.element.addCls(Ext.baseCSSPrefix+"scrolling")},onTouchEnd:function(){this.element.removeCls(Ext.baseCSSPrefix+"scrolling")},onScrollEnd:function(b,a,h){var g=this,d=Math.round(h/g.picker.bar.dom.getBoundingClientRect().height),c=g.getViewItems(),e=c[d];if(e){g.selectedIndex=d;g.selectedNode=e;this.setValueAnimated(this.getValue(true));g.fireEvent("slotpick",g,g.getValue(),g.selectedNode)}},getValue:function(c){var b=this.getStore(),a,d;if(!b){return}if(!c){return this._value}if(this._value===false){return null}a=b.getAt(this.selectedIndex);d=a?a.get(this.getValueField()):null;return d},setValue:function(a){return this.doSetValue(a)},setValueAnimated:function(a){return this.doSetValue(a,true)},doSetValue:function(e,a){var c=this,g=c.getStore(),j=c.getViewItems(),i=c.getValueField(),d=true,b,h;b=g.findExact(i,e);if(b===-1){d=false;b=0}h=Ext.get(j[b]);c.selectedIndex=b;if(h){c.scrollToItem(h,a);if(d){c.select(c.selectedIndex)}}c._value=e}});Ext.define("Ext.picker.Picker",{extend:Ext.Sheet,alias:"widget.picker",alternateClassName:"Ext.Picker",isPicker:true,config:{baseCls:Ext.baseCSSPrefix+"picker",doneButton:true,cancelButton:true,useTitles:false,slots:null,value:null,height:220,layout:{type:"hbox",align:"stretch"},centered:false,left:0,right:0,bottom:0,defaultType:"pickerslot",toolbarPosition:"top",toolbar:{xtype:"titlebar"}},floated:true,initialize:function(){var b=this,a=Ext.baseCSSPrefix,c=this.innerElement;this.mask=c.insertFirst({cls:a+"picker-mask"});this.bar=this.mask.createChild({cls:a+"picker-bar"});b.on({scope:this,delegate:"pickerslot",slotpick:"onSlotPick"})},applyToolbar:function(a){if(a===true){a={}}Ext.applyIf(a,{docked:this.getToolbarPosition()});return Ext.factory(a,"Ext.TitleBar",this.getToolbar())},updateToolbar:function(a,b){if(a){this.add(a)}if(b){this.remove(b)}},applyDoneButton:function(a){if(a){if(Ext.isBoolean(a)){a={}}if(typeof a=="string"){a={text:a}}Ext.applyIf(a,{ui:"action",align:"right",text:"Done"})}return Ext.factory(a,"Ext.Button",this.getDoneButton())},updateDoneButton:function(c,a){var b=this.getToolbar();if(c){b.add(c);c.on("tap",this.onDoneButtonTap,this)}else{if(a){b.remove(a)}}},applyCancelButton:function(a){if(a){if(Ext.isBoolean(a)){a={}}if(typeof a=="string"){a={text:a}}Ext.applyIf(a,{align:"left",text:"Cancel"})}return Ext.factory(a,"Ext.Button",this.getCancelButton())},updateCancelButton:function(b,a){var c=this.getToolbar();if(b){c.add(b);b.on("tap",this.onCancelButtonTap,this)}else{if(a){c.remove(a)}}},updateUseTitles:function(d){var g=this.getInnerItems(),e=g.length,a=Ext.baseCSSPrefix+"use-titles",c,b;if(d){this.addCls(a)}else{this.removeCls(a)}for(c=0;c<e;c++){b=g[c];if(b.isSlot){b.setShowTitle(d)}}},applySlots:function(b){if(b){var c=b.length,a;for(a=0;a<c;a++){b[a].picker=this}}return b},updateSlots:function(a){var b=Ext.baseCSSPrefix,c;this.removeAll();if(a){this.add(a)}c=this.getInnerItems();if(c.length>0){c[0].addCls(b+"first");c[c.length-1].addCls(b+"last")}this.updateUseTitles(this.getUseTitles())},onDoneButtonTap:function(){var a=this._value,b=this.getValue(true);if(b!=a){this.fireEvent("change",this,b)}this.hide();Ext.util.InputBlocker.unblockInputs()},onCancelButtonTap:function(){this.fireEvent("cancel",this);this.hide();Ext.util.InputBlocker.unblockInputs()},onSlotPick:function(a){this.fireEvent("pick",this,this.getValue(true),a)},show:function(){if(this.getParent()===undefined){Ext.Viewport.add(this)}this.callParent(arguments);if(!this.isHidden()){this.setValue(this._value)}Ext.util.InputBlocker.blockInputs()},setValue:function(l,a){var g=this,d=g.getInnerItems(),e=d.length,k,j,c,b,h;if(!l){l={};for(b=0;b<e;b++){l[d[b].config.name]=null}}for(k in l){j=null;h=l[k];for(b=0;b<d.length;b++){c=d[b];if(c.config.name==k){j=c;break}}if(j){if(a){j.setValueAnimated(h)}else{j.setValue(h)}}}g._values=g._value=l;return g},setValueAnimated:function(a){this.setValue(a,true)},getValue:function(c){var b={},a=this.getItems().items,g=a.length,e,d;if(c){for(d=0;d<g;d++){e=a[d];if(e&&e.isSlot){b[e.getName()]=e.getValue(c)}}this._values=b}return this._values},getValues:function(){return this.getValue()},doDestroy:function(){var a=this;a.mask=a.bar=Ext.destroy(a.mask,a.bar);a.callParent()}});Ext.define("Ext.picker.Date",{extend:Ext.picker.Picker,xtype:"datepicker",alternateClassName:"Ext.DatePicker",config:{yearFrom:1980,yearTo:new Date().getFullYear(),monthText:"Month",dayText:"Day",yearText:"Year",slotOrder:["month","day","year"],doneButton:true},initialize:function(){this.callParent();this.on({scope:this,delegate:"> slot",slotpick:this.onSlotPick});this.on({scope:this,show:this.onSlotPick})},setValue:function(b,a){if(Ext.isDate(b)){b={day:b.getDate(),month:b.getMonth()+1,year:b.getFullYear()}}this.callParent([b,a]);this.onSlotPick()},getValue:function(l){var j={},e=this.getItems().items,d=e.length,a,h,c,g,k,b;for(b=0;b<d;b++){k=e[b];if(k instanceof Ext.picker.Slot){j[k.getName()]=k.getValue(l)}}if(j.year===null&&j.month===null&&j.day===null){return null}g=Ext.isNumber(j.year)?j.year:1;c=Ext.isNumber(j.month)?j.month:1;h=Ext.isNumber(j.day)?j.day:1;if(c&&g&&c&&h){a=this.getDaysInMonth(c,g)}h=(a)?Math.min(h,a):h;return new Date(g,c-1,h)},updateYearFrom:function(){if(this.initialized){this.createSlots()}},updateYearTo:function(){if(this.initialized){this.createSlots()}},updateMonthText:function(a,b){var g=this.getInnerItems,e=g.length,d,c;if(this.initialized){for(c=0;c<e;c++){d=g[c];if((typeof d.title=="string"&&d.title==b)||(d.title.html==b)){d.setTitle(a)}}}},updateDayText:function(a,c){var g=this.getInnerItems,e=g.length,d,b;if(this.initialized){for(b=0;b<e;b++){d=g[b];if((typeof d.title=="string"&&d.title==c)||(d.title.html==c)){d.setTitle(a)}}}},updateYearText:function(e){var d=this.getInnerItems,c=d.length,b,a;if(this.initialized){for(a=0;a<c;a++){b=d[a];if(b.title==this.yearText){b.setTitle(e)}}}},constructor:function(){this.callParent(arguments);this.createSlots()},createSlots:function(){var l=this,c=l.getSlotOrder(),n=l.getYearFrom(),e=l.getYearTo(),g=[],m=[],b=[],j=n>e,k,d,a;while(n){g.push({text:n,value:n});if(n===e){break}if(j){n--}else{n++}}a=l.getDaysInMonth(1,new Date().getFullYear());for(d=0;d<a;d++){m.push({text:d+1,value:d+1})}for(d=0,k=Ext.Date.monthNames.length;d<k;d++){b.push({text:Ext.Date.monthNames[d],value:d+1})}var h=[];c.forEach(function(i){h.push(l.createSlot(i,m,b,g))});l.setSlots(h)},createSlot:function(b,d,a,c){switch(b){case"year":return{name:"year",align:"center",data:c,title:this.getYearText(),flex:3};case"month":return{name:b,align:"right",data:a,title:this.getMonthText(),flex:4};case"day":return{name:"day",align:"center",data:d,title:this.getDayText(),flex:2}}},onSlotPick:function(){var h=this.getValue(true),g=this.getDaySlot(),e=h.getFullYear(),d=h.getMonth(),k=[],a,b;if(!h||!Ext.isDate(h)||!g){return}this.callParent(arguments);a=this.getDaysInMonth(d+1,e);for(b=0;b<a;b++){k.push({text:b+1,value:b+1})}if(g.getStore().getCount()==k.length){return}g.getStore().setData(k);var j=g.getStore(),n=g.getViewItems(),m=g.getValueField(),c,l;c=j.find(m,h.getDate());if(c==-1){return}l=Ext.get(n[c]);g.selectedIndex=c;g.scrollToItem(l);g.setValue(g.getValue(true))},getDaySlot:function(){var c=this.getInnerItems(),b=c.length,a,d;if(this.daySlot){return this.daySlot}for(a=0;a<b;a++){d=c[a];if(d.isSlot&&d.getName()=="day"){this.daySlot=d;return d}}return null},getDaysInMonth:function(c,b){var a=[31,28,31,30,31,30,31,31,30,31,30,31];return c==2&&this.isLeapYear(b)?29:a[c-1]},isLeapYear:function(a){return !!((a&3)===0&&(a%100||(a%400===0&&a)))},onDoneButtonTap:function(){var a=this._value,c=this.getValue(true),b=c;if(Ext.isDate(c)){b=c.toDateString()}if(Ext.isDate(a)){a=a.toDateString()}if(b!=a){this.fireEvent("change",this,c)}this.hide();Ext.util.InputBlocker.unblockInputs()}});Ext.define("Ext.field.DatePicker",{extend:Ext.field.Picker,alternateClassName:"Ext.form.DatePicker",xtype:"datepickerfield",config:{picker:true,destroyPickerOnHide:false,dateFormat:"",triggers:{expand:{type:"date"}}},classCls:Ext.baseCSSPrefix+"datepickerfield",applyValue:function(b,a){if(!Ext.isDate(b)){if(b){b=Ext.Date.parse(b,this.getDateFormat())}else{b=null}}if(b&&a&&b.getTime()===a.getTime()){b=undefined}return b},updateValue:function(d,b){var c=this,a=c._picker;if(a&&a.isPicker){a.setValue(d)}if(d!==null){c.getComponent().setValue(Ext.Date.format(d,c.getDateFormat()))}else{c.getComponent().setValue("")}c.fireEvent("change",c,d,b)},applyDateFormat:function(a){return a||Ext.util.Format.defaultDateFormat},updateDateFormat:function(b){var a=this.getValue();if(Ext.isDate(a)){this.getComponent().setValue(Ext.Date.format(a,b))}},getFormattedValue:function(b){var a=this.getValue();return Ext.isDate(a)?Ext.Date.format(a,b||this.getDateFormat()):""},applyPicker:function(b,a){if(a&&a.isPicker){b=a.setConfig(b)}return b},getPicker:function(){var a=this._picker,b=this.getValue();if(a&&!a.isPicker){a=Ext.factory(a,Ext.picker.Date);if(b!==null){a.setValue(b)}}a.on({scope:this,change:"onPickerChange",hide:"onPickerHide"});this._picker=a;return a},onPickerChange:function(b,d){var c=this,a=c.getValue();c.setValue(d);c.fireEvent("select",c,d)},onPickerHide:function(){var b=this,a=b.getPicker();if(b.getDestroyPickerOnHide()&&a){a.destroy();b._picker=b.getInitialConfig().picker||true}},reset:function(){this.setValue(this.originalValue)},onFocus:function(b){var a=this.getComponent();this.fireEvent("focus",this,b);if(Ext.os.is.Android4){a.inputElement.dom.focus()}a.inputElement.dom.blur();if(this.getReadOnly()){return false}this.isFocused=true;this.getPicker().show()},doDestroy:function(){var a=this._picker;if(a&&a.isPicker){a.destroy()}this.callParent()}});Ext.define("Ext.field.DatePickerNative",{extend:Ext.field.DatePicker,alternateClassName:"Ext.form.DatePickerNative",xtype:"datepickernativefield",initialize:function(){this.callParent()},onFocus:function(d){var c=this;if(!(navigator.plugins&&navigator.plugins.dateTimePicker)){c.callParent();return}var h=function(e){c.setValue(e)};var a=function(i){console.log("DateTimePicker: error occurred or cancelled: "+i)};try{var g=c.getName()=="date"?navigator.plugins.dateTimePicker.selectDate:navigator.plugins.dateTimePicker.selectTime;g(h,a,{value:c.getValue()})}catch(b){a(b)}}});Ext.define("Ext.field.Email",{extend:Ext.field.Text,alternateClassName:"Ext.form.Email",xtype:"emailfield",config:{component:{type:"email"},autoCapitalize:false},classCls:Ext.baseCSSPrefix+"emailfield"});Ext.define("Ext.field.FileInput",{extend:Ext.field.Input,xtype:"fileinput",config:{type:"file",accept:null,capture:null,name:null,multiple:false},captureLookup:{video:"camcorder",image:"camera",audio:"microphone"},initialize:function(){var a=this;a.callParent();a.inputElement.on({scope:a,change:"onInputChange"})},doBlur:function(){this.showMask();this.setIsFocused(false)},getValue:function(){var a=this.inputElement;if(a){this._value=a.dom.value}return this._value},setValue:function(b){var a=this._value;this._value=b;if(String(this._value)!=String(a)&&this.initialized){this.onChange(this,this._value,a)}return this},getFiles:function(){var a=this.inputElement;if(a){this.$files=a.dom.files}return this.$files},onInputChange:function(a){this.setValue(a.target.value)},onChange:function(b,c,a){this.fireEvent("change",b,c,a)},applyName:function(a){if(this.getMultiple()&&a.substr(-2,2)!=="[]"){a+="[]"}else{if((!this.getMultiple())&&a.substr(-2,2)==="[]"){a=a.substr(0,a.length-2)}}return a},applyMultiple:function(a){this.updateFieldAttribute("multiple",a?"":null);return a},updateMultiple:function(){var a=this.getName();if(!Ext.isEmpty(a)){this.setName(a)}},applyAccept:function(a){switch(a){case"video":case"audio":case"image":a=a+"/*";break}this.updateFieldAttribute("accept",a)},applyCapture:function(a){this.updateFieldAttribute("capture",a);return a}});Ext.define("Ext.field.File",{extend:Ext.field.Field,xtype:"filefield",config:{component:{xtype:"fileinput",fastFocus:false}},proxyConfig:{name:null,value:null,files:null,multiple:false,accept:null,capture:null},classCls:Ext.baseCSSPrefix+"filefield",isFile:true,initialize:function(){var a=this;a.callParent();a.getComponent().on({scope:this,change:"onChange"})},onChange:function(b,c,a){b.fireEvent("change",this,c,a)}});Ext.define("Ext.field.Hidden",{extend:Ext.field.Text,alternateClassName:"Ext.form.Hidden",xtype:"hiddenfield",config:{component:{xtype:"input",type:"hidden"},hidden:true,tabIndex:-1},classCls:Ext.baseCSSPrefix+"hiddenfield"});Ext.define("Ext.field.Number",{extend:Ext.field.Text,xtype:"numberfield",alternateClassName:"Ext.form.Number",config:{component:{type:"number"}},proxyConfig:{minValue:null,maxValue:null,stepValue:null},classCls:Ext.baseCSSPrefix+"numberfield",applyPlaceHolder:function(a){this._enableNumericPlaceHolderHack=((!Ext.feature.has.NumericInputPlaceHolder)&&(!Ext.isEmpty(a)));return a},onFocus:function(a){if(this._enableNumericPlaceHolderHack){this.getComponent().inputElement.dom.setAttribute("type","number")}this.callParent(arguments)},onBlur:function(a){if(this._enableNumericPlaceHolderHack){this.getComponent().inputElement.dom.setAttribute("type","text")}this.callParent(arguments)},doInitValue:function(){var a=this.getInitialConfig().value;if(a){a=this.applyValue(a)}this.originalValue=a},applyValue:function(b){var a=this.getMinValue(),c=this.getMaxValue();if(Ext.isNumber(a)&&Ext.isNumber(b)){b=Math.max(b,a)}if(Ext.isNumber(c)&&Ext.isNumber(b)){b=Math.min(b,c)}b=parseFloat(b);return(isNaN(b))?"":b},getValue:function(){var a=parseFloat(this.callParent(),10);return(isNaN(a))?null:a},doClearIconTap:function(a,b){a.getComponent().setValue("");a.hideClearTrigger();a.callParent([a,b])}});Ext.define("Ext.field.trigger.Reveal",{extend:Ext.field.trigger.Trigger,xtype:"revealtrigger",alias:"trigger.reveal",classCls:Ext.baseCSSPrefix+"revealtrigger",weight:-1000,hidden:true,handler:"onRevealTap",scope:"this"});Ext.define("Ext.field.PasswordInput",{extend:Ext.field.TextInput,xtype:"passwordinput",type:"password"});Ext.define("Ext.field.Password",{extend:Ext.field.Text,xtype:"passwordfield",alternateClassName:"Ext.form.Password",config:{autoCapitalize:false,revealable:false,revealed:false,component:{xtype:"passwordinput"}},classCls:Ext.baseCSSPrefix+"passwordfield",revealedCls:Ext.baseCSSPrefix+"revealed",isPassword:true,applyTriggers:function(a,b){if(a&&this.getRevealable()&&!a.reveal){a=Ext.apply({reveal:{type:"reveal"}},a)}return this.callParent([a,b])},updateRevealed:function(e,c){var d=this,b=d.getComponent(),a=d.revealedCls;if(e){d.element.addCls(a);b.setType("text")}else{d.element.removeCls(a);b.setType("password")}},updateValue:function(b,a){this.toggleRevealTrigger(this.isValidTextValue(b));this.callParent([b,a])},doKeyUp:function(b,c){var a=b.isValidTextValue(b.getValue());b.toggleClearTrigger(a);if(c.browserEvent.keyCode===13){b.fireAction("action",[b,c],"doAction")}b.toggleRevealTrigger(a)},showRevealTrigger:function(){var d=this,e=d.getValue(),b=e!==undefined&&e!==null&&e!=="",c,a;if(d.getRevealable()&&!d.getDisabled()&&b){c=d.getTriggers();a=c&&c.reveal;if(a){a.show()}}return d},hideRevealTrigger:function(){var b=this.getTriggers(),a=b&&b.reveal;if(a){a.hide()}},onRevealTap:function(a){this.fireAction("revealicontap",[this,a],"doRevealTap")},doRevealTap:function(a,b){this.setRevealed(!this.getRevealed())},privates:{isValidTextValue:function(a){return(a!==undefined&&a!==null&&a!=="")},toggleRevealTrigger:function(a){if(a){this.showRevealTrigger()}else{this.hideRevealTrigger()}}}});Ext.define("Ext.field.RadioInput",{extend:Ext.field.Input,xtype:"radioinput",type:"radio",classCls:Ext.baseCSSPrefix+"radioinput",cls:Ext.baseCSSPrefix+"font-icon",useMask:true});Ext.define("Ext.field.Radio",{extend:Ext.field.Checkbox,xtype:"radiofield",alternateClassName:"Ext.form.Radio",isRadio:true,config:{component:{xtype:"radioinput"}},classCls:Ext.baseCSSPrefix+"radiofield",getValue:function(){return this._value===undefined?null:this._value},setValue:function(a){this._value=a;return this},getSubmitValue:function(){var a=this._value;if(a===undefined||a===null){a=true}return(this.getChecked())?a:null},updateChecked:function(c,a){var b=this;b.callParent([c,a]);if(b.initialized&&c){b.refreshGroupValues(b)}},onMaskTap:function(a,c){var b=this,d=b.getComponent().inputElement.dom;if(b.getDisabled()){return false}b.setChecked(true);return false},getGroupValue:function(){var a=this.getSameGroupFields(),c=a.length,b=0,d;for(;b<c;b++){d=a[b];if(d.getChecked()){return d.getValue()}}return null},setGroupValue:function(d){var a=this.getSameGroupFields(),c=a.length,b=0,e;for(;b<c;b++){e=a[b];if(e.getValue()===d){e.setChecked(true);return e}}},refreshGroupValues:function(b){var a=this.getSameGroupFields(),d=a.length,c=0,e;for(;c<d;c++){e=a[c];if(e!==b){e.setChecked(false)}}}});Ext.define("Ext.field.trigger.Search",{extend:Ext.field.trigger.Trigger,xtype:"searchtrigger",alias:"trigger.search",classCls:Ext.baseCSSPrefix+"searchtrigger"});Ext.define("Ext.field.Search",{extend:Ext.field.Text,xtype:"searchfield",alternateClassName:"Ext.form.Search",component:{type:"search"},triggers:{search:{type:"search",side:"left"}},classCls:Ext.baseCSSPrefix+"searchfield"});Ext.define("Ext.field.Select",{extend:Ext.field.Picker,xtype:"selectfield",alternateClassName:"Ext.form.Select",config:{valueField:"value",displayField:"text",store:null,options:null,hiddenName:null,autoSelect:true,name:"picker",selection:null},classCls:Ext.baseCSSPrefix+"selectfield",twoWayBindable:{selection:1},publishes:{selection:1},applyValue:function(e){var d=this,a=e,c,b;d.getOptions();b=d.getStore();if(!b&&(e||e===0)){d.cachedValue=e}if((e||e===0)&&!e.isModel&&b){c=b.find(d.getValueField(),e,null,null,null,true);if(c===-1){c=b.find(d.getDisplayField(),e,null,null,null,true)}a=b.getAt(c)}return a},updateValue:function(e,b){var d=this,a=d.getComponent(),c="";if(e===null||(e&&e.isModel)){d.settingSelection=true;d.setSelection(e);d.settingSelection=false;if(e){c=e.get(d.getDisplayField())}}if(a){a.setValue(c)}if(d.initialized){d.fireEvent("change",d,e,b)}},getValue:function(){var a=this.getSelection();return a?a.get(this.getValueField()):null},applySelection:function(a){return a||null},updateSelection:function(a){if(!this.settingSelection){this.setValue(a?a.get(this.getValueField()):null)}},scrollToSelection:function(){var c=this,a=c.getTabletPicker(),d=a.down("list"),b=c.getSelection();if(b&&d.listItems.length){d.scrollToRecord(b)}},getPhonePicker:function(){var c=this,a=c.phonePicker,b;if(!a){b=c.getDefaultPhonePickerConfig();c.phonePicker=a=Ext.create("Ext.picker.Picker",Ext.merge({slots:[{align:c.getPickerSlotAlign(),name:c.getName(),valueField:c.getValueField(),displayField:c.getDisplayField(),value:c.getValue(),store:c.getStore()}],listeners:{change:c.onPickerChange,scope:c}},b))}return a},getTabletPicker:function(){var b=this,c=b.tabletPicker,a;if(!c){a=b.getDefaultTabletPickerConfig();b.tabletPicker=c=Ext.create("Ext.Panel",Ext.merge({floated:true,modal:true,anchor:true,cls:Ext.baseCSSPrefix+"selectfield-overlay",layout:"fit",hideOnMaskTap:true,width:Ext.os.is.Phone?"14em":"18em",height:(Ext.os.is.BlackBerry&&Ext.os.version.getMajor()===10)?"12em":(Ext.os.is.Phone?"12.5em":"22em"),listeners:{resize:{fn:"onTabletPickerResize",single:true},hiddenchange:"onTabletPickerHiddenChange",scope:b},items:{xtype:"list",store:b.getStore(),itemTpl:'<span class="x-list-label">{'+b.getDisplayField()+":htmlEncode}</span>",listeners:{select:b.onListSelect,itemtap:b.onListTap,scope:b}}},a))}return c},showPicker:function(){var g=this,j=g.getStore(),i=g.getValue(),c,a,h,e,d,b;if(!j||j.getCount()===0){return}if(g.getReadOnly()){return}g.isFocused=true;if(g.getUsePicker()){c=g.getPhonePicker();a=g.getName();h={};h[a]=i;c.setValue(h);if(!c.getParent()){Ext.Viewport.add(c)}c.show()}else{c=g.getTabletPicker();e=c.down("list");if(!c.getParent()){Ext.Viewport.add(c)}c.showBy(g.getComponent(),null);if(i||g.getAutoSelect()){j=e.getStore();d=j.find(g.getValueField(),i,null,null,null,true);b=j.getAt(d);if(b){e.select(b,null,true)}}}},onListSelect:function(c,a){var b=this;if(a){b.setValue(a)}},onTabletPickerResize:function(){this.scrollToSelection()},onTabletPickerHiddenChange:function(a,b){if(!b){this.scrollToSelection()}},onListTap:function(){this.tabletPicker.hide({type:"fade",out:true,scope:this})},onPickerChange:function(d,g){var e=this,h=g[e.getName()],b=e.getStore(),c=b.find(e.getValueField(),h,null,null,null,true),a=b.getAt(c);e.setValue(a)},updateOptions:function(b){var a=this.getStore();if(!a){this.setStore(true);a=this._store}if(!b){a.clearData()}else{a.setData(b);this.onStoreDataChanged(a)}return this},applyStore:function(a){if(a===true){a=Ext.create("Ext.data.Store",{fields:[this.getValueField(),this.getDisplayField()],autoDestroy:true})}if(a){a=Ext.data.StoreManager.lookup(a)}return a},updateStore:function(b,e){var c=this,d=c.tabletPicker,a=c.phonePicker;if(e&&e.getAutoDestroy()){e.destroy()}if(b){b.on({scope:this,add:"onStoreDataChanged",remove:"onStoreDataChanged",update:"onStoreDataChanged",refresh:"onStoreDataChanged"});c.onStoreDataChanged(b)}if(c.getUsePicker()&&a){a.down("pickerslot").setStore(b)}else{if(d){d.down("dataview").setStore(b)}}},onStoreDataChanged:function(a){var b=this,d=b.getInitialConfig(),c=b.getValue();if(c||c===0){b.setValue(c)}if(b.getValue()===null){if(b.cachedValue||b.cachedValue===0){b.setValue(b.cachedValue);b.cachedValue=null}else{if(d.hasOwnProperty("value")){b.setValue(d.value)}}if(b.getValue()===null&&b.getAutoSelect()){if(a.getCount()>0){b.setValue(a.getAt(0))}}}},reset:function(){var d=this,a,b,e,c;if(d.getAutoSelect()){b=d.getStore();a=d.originalValue?d.originalValue:b.getAt(0)}else{e=d.getUsePicker();c=e?d.phonePicker:d.tabletPicker;if(c){c=c.child(e?"pickerslot":"dataview");c.deselectAll()}a=null}d.setValue(a);return d},doDestroy:function(){var a=this.getStore();if(a&&a.getAutoDestroy()){a.destroy()}Ext.destroy(this.phonePicker,this.tabletPicker);this.callParent()}});Ext.define("Ext.slider.Thumb",{extend:Ext.Component,xtype:"thumb",config:{baseCls:Ext.baseCSSPrefix+"thumb",draggable:{direction:"horizontal",translatable:{translationMethod:"cssposition"}},touchAction:{panX:false},slider:null,fillTrack:null,fillCls:null},platformConfig:{ie10:{draggable:{translatable:{translationMethod:"csstransform"}}}},template:[{reference:"iconElement",classList:[Ext.baseCSSPrefix+"icon-el",Ext.baseCSSPrefix+"font-icon"]}],elementWidth:0,pressingCls:Ext.baseCSSPrefix+"pressing",fillCls:Ext.baseCSSPrefix+"fill-el",sizerCls:Ext.baseCSSPrefix+"thumb-sizer",constructor:function(a){this.sizerElement=Ext.Element.create({cls:this.sizerCls});this.callParent([a])},initialize:function(){var d=this,c=d.element,a,b;d.callParent();a=d.getDraggable();a.onBefore({beforedragstart:"onBeforeDragStart",dragstart:"onDragStart",drag:"onDrag",dragend:"onDragEnd",scope:d});a.getTranslatable().on({animationstart:"onAnimationStart",animationend:"onAnimationEnd",scope:d});c.on("resize","onElementResize",d);c.addClsOnClick(d.pressingCls,d.shouldAddPressingCls,d);b=d.fillElement=Ext.Element.create({cls:d.fillCls});b.setVisibilityMode(1);d.getDraggable().getTranslatable().on("translate","onTranslate",d)},updateFillTrack:function(b){var a=this.fillElement;if(b===false){a.hide()}else{a.show();a.setStyle("background-color",(typeof b==="string")?b:"")}},updateFillCls:function(a,c){var b=this.fillElement;if(c){b.removeCls(c)}if(a){b.addCls(a)}},shouldAddPressingCls:function(){return !this.isDisabled()},onAnimationStart:function(b,a,c){this.getSlider().onThumbAnimationStart(this,a,c)},onAnimationEnd:function(b,a,c){this.getSlider().onThumbAnimationEnd(this,a,c)},onBeforeDragStart:function(b,c,a,d){if(this.isDisabled()){return false}this.getSlider().onThumbBeforeDragStart(this,c,a,d)},onDragStart:function(b,c,a,d){this.getSlider().onThumbDragStart(this,c,a,d)},onDrag:function(b,c,a,d){if(this.isDisabled()){return false}this.getSlider().onThumbDrag(this,c,a,d)},onDragEnd:function(b,c,a,d){if(this.isDisabled()){return false}this.getSlider().onThumbDragEnd(this,c,a,d)},onTranslate:function(b,a,c){this.getSlider().syncFill(this,a)},onElementResize:function(a,b){this.elementWidth=b.width},getElementWidth:function(){return this.elementWidth},updateUi:function(c,b){var a=this,e=a.sizerCls,d=a.sizerElement;if(b){d.removeCls(b,e)}if(c){d.addCls(c,e)}a.callParent([c,b])},destroy:function(){Ext.destroyMembers(this,"fillElement","sizerElement");this.callParent()}});Ext.define("Ext.slider.Slider",{extend:Ext.Component,xtype:"slider",config:{thumbDefaults:{xtype:"thumb",draggable:{translatable:{easingX:{duration:300,type:"ease-out"}}}},increment:1,value:0,valueIsArray:false,minValue:0,maxValue:100,allowThumbsOverlapping:false,animation:true,readOnly:false},classCls:Ext.baseCSSPrefix+"slider",elementWidth:0,offsetValueRatio:0,activeThumb:null,isThumbAnimating:0,template:[{reference:"trackElement",cls:Ext.baseCSSPrefix+"track-el"},{reference:"thumbWrapElement",cls:Ext.baseCSSPrefix+"thumb-wrap-el"}],fillSelector:"."+Ext.baseCSSPrefix+"fill-el",constructor:function(a){a=a||{};if(a.hasOwnProperty("values")){a.value=a.values}this.thumbs=[];this.callParent([a])},initialize:function(){var b=this.element,a;this.callParent();b.on({scope:this,tap:"onTap",resize:"onResize"});a=this.thumbs[0];if(a){a.on("resize","onThumbResize",this)}},applyThumbDefaults:function(a){a.slider=this;return a},factoryThumb:function(){return Ext.factory(this.getThumbDefaults(),Ext.slider.Thumb)},getThumbs:function(){return this.thumbs},getThumb:function(a){if(typeof a!="number"){a=0}return this.thumbs[a]},refreshOffsetValueRatio:function(){var b=this,c=b.getMaxValue()-b.getMinValue(),a=b.elementWidth-b.thumbWidth;b.offsetValueRatio=c===0?0:a/c},onThumbResize:function(){var a=this.thumbs[0];if(a){this.thumbWidth=a.getElementWidth()}this.refresh()},onResize:function(a,b){this.elementWidth=b.width;this.refresh()},refresh:function(){this.refreshing=true;this.refreshValue();this.refreshing=false},setActiveThumb:function(b){var a=this.activeThumb;if(a&&a!==b){a.setZIndex(null)}this.activeThumb=b;b.setZIndex(2);return this},onThumbBeforeDragStart:function(a,b){if(this.offsetValueRatio===0||b.absDeltaX<=b.absDeltaY||this.getReadOnly()){return false}},onThumbDragStart:function(a,c){var b=this;b.refreshAllThumbConstraints();c.claimGesture();if(b.getAllowThumbsOverlapping()){b.setActiveThumb(a)}b.dragStartValue=b.getArrayValues()[b.getThumbIndex(a)];b.fireEvent("dragstart",b,a,b.dragStartValue,c)},onThumbDrag:function(c,i,a){var h=this,d=h.getThumbIndex(c),g=h.offsetValueRatio,b=h.constrainValue(h.getMinValue()+a/g);i.stopPropagation();h.setIndexValue(d,b);h.fireEvent("drag",h,c,h.getArrayValues(),i);return false},setIndexValue:function(d,i,b){var e=this,a=e.thumbs[d],j=e.getArrayValues(),g=e.getMinValue(),c=e.offsetValueRatio,h=e.getIncrement(),k=a.getDraggable();k.setOffset((i-g)*c,null,b);j[d]=g+Math.round((k.offset.x/c)/h)*h;e.setValue(j)},onThumbDragEnd:function(a,h){var d=this,c=d.getThumbIndex(a),g=d.getArrayValues()[c],b=d.dragStartValue;d.snapThumbPosition(a,g);d.fireEvent("dragend",d,a,d.getArrayValues(),h);if(b!==g){d.fireEvent("change",d,a,g,b)}},getThumbIndex:function(a){return this.thumbs.indexOf(a)},refreshThumbConstraints:function(a){var g=this,i=g.getAllowThumbsOverlapping(),b=a.getDraggable().getOffset().x,e=g.thumbs,d=g.getThumbIndex(a),c=e[d-1],j=e[d+1],h=g.thumbWidth;if(c){c.getDraggable().addExtraConstraint({max:{x:b-((i)?0:h)}})}if(j){j.getDraggable().addExtraConstraint({min:{x:b+((i)?0:h)}})}},onTap:function(l){var p=this,h=p.element,s=Infinity,j,g,o,t,b,a,n,r,q,d,c,k,m;if(p.offsetValueRatio===0||p.isDisabled()||p.getReadOnly()){return}k=Ext.get(l.target);if(!k||(Ext.browser.engineName=="WebKit"&&k.hasCls("x-thumb"))){return}m=l.touch.point.x;c=h.getX();d=m-c-(p.thumbWidth/2);q=p.constrainValue(p.getMinValue()+d/p.offsetValueRatio);r=p.getArrayValues();n=r.length;if(n===1){t=0}else{for(j=0;j<n;j++){o=r[j];g=Math.abs(o-q);if(g<s){s=g;t=j}}}b=r[t];a=p.thumbs[t];p.setIndexValue(t,q,p.getAnimation());p.refreshThumbConstraints(a);if(b!==q){p.fireEvent("change",p,a,q,b)}},updateThumbs:function(a){this.add(a)},applyValue:function(j,a){var g=this,k=Ext.Array.from(j||0),b=g.getValueIsArray(),c=[],h=g.getMinValue(),l,d,e,m;for(d=0,e=k.length;d<e;d++){l=g.constrainValue(k[d]);if(l<h){l=h}c.push(l);h=l}if(!g.refreshing&&a){if(Ext.Array.equals(k,a)){c=undefined}}if(c){g.values=c}if(b){m=c}else{if(j&&j.length===1){m=j[0]}else{m=j}}return m},updateValue:function(){var e=this,b=e.thumbs,c=e.getArrayValues(),a=c.length,d;e.setThumbsCount(a);if(!this.isThumbAnimating){for(d=0;d<a;d++){e.snapThumbPosition(b[d],c[d])}}},refreshValue:function(){this.refreshOffsetValueRatio();this.updateValue()},constrainValue:function(e){var b=this,d=b.getMinValue(),g=b.getMaxValue(),a=b.getIncrement(),c;e=parseFloat(e);if(isNaN(e)){e=d}c=(e-d)%a;e-=c;if(Math.abs(c)>=(a/2)){e+=(c>0)?a:-a}e=Math.max(d,e);e=Math.min(g,e);return e},setThumbsCount:function(g){var e=this,a=e.thumbs,h=a.length,c,d,b;if(h>g){for(c=0,d=h-g;c<d;c++){b=a[a.length-1];b.destroy();Ext.Array.remove(a,b)}}else{if(h<g){for(c=h,d=g;c<d;c++){b=e.factoryThumb();a.push(b);e.trackElement.appendChild(b.fillElement);e.thumbWrapElement.appendChild(b.element);e.element.appendChild(b.sizerElement)}}}if(h!==g){for(c=0;c<g;c++){b=a[c];if(g>2){b.setFillTrack(false)}else{if(g===2){b.setFillTrack(c===1)}else{b.setFillTrack(true)}}}}return this},setValues:function(a){this.setValue(a)},getValues:function(){return this.getValue()},getArrayValues:function(){return this.values},applyIncrement:function(a){if(a===0){a=1}return Math.abs(a)},updateAllowThumbsOverlapping:function(b,a){if(typeof a!="undefined"){this.refreshValue()}},updateMinValue:function(b,a){if(typeof a!="undefined"){this.refreshValue()}},updateMaxValue:function(b,a){if(typeof a!="undefined"){this.refreshValue()}},updateIncrement:function(b,a){if(typeof a!="undefined"){this.refreshValue()}},updateDisabled:function(c){this.callParent(arguments);var a=this.thumbs,d=a.length,b;for(b=0;b<d;b++){a[b].setDisabled(c)}},doDestroy:function(){this.thumbs=Ext.destroy(this.thumbs);this.callParent()},privates:{refreshAllThumbConstraints:function(){var b=this.thumbs,a=b.length,c;for(c=0;c<a;c++){this.refreshThumbConstraints(b[c])}},snapThumbPosition:function(b,d){var c=this.offsetValueRatio,a=b.getDraggable(),e;if(isFinite(c)){e=Ext.Number.correctFloat((d-this.getMinValue())*c);a.refreshContainerSize().setExtraConstraint(null).setOffset(e)}},syncFill:function(a,d){var k=this,g=k.thumbs,n=k.getArrayValues(),h=n.length,l=0,m=k.trackElement.query(k.fillSelector,false),c=g.indexOf(a),b,j,e;d=d+Math.ceil(a.element.getWidth()/2);for(e=0;e<h;e++){a=g[e];j=m[e];b=(e===c)?d:a.getDraggable().getOffset().x+(a.element.getWidth()/2);j.setWidth(b-l);j.setLocalX(l);l=b}},onThumbAnimationStart:function(){this.isThumbAnimating++},onThumbAnimationEnd:function(){this.isThumbAnimating--}}});Ext.define("Ext.field.Slider",{extend:Ext.field.Field,xtype:"sliderfield",alternateClassName:"Ext.form.Slider",config:{component:{xtype:"slider"},liveUpdate:false,tabIndex:-1,readOnly:false,value:0},classCls:Ext.baseCSSPrefix+"sliderfield",proxyConfig:{increment:1,minValue:0,maxValue:100},defaultBindProperty:"value",twoWayBindable:{values:1,value:1},constructor:function(a){a=a||{};if(a.hasOwnProperty("values")){a.value=a.values}this.callParent([a]);this.updateMultipleState()},initialize:function(){this.callParent();this.getComponent().on({scope:this,change:"onSliderChange",dragstart:"onSliderDragStart",drag:"onSliderDrag",dragend:"onSliderDragEnd"})},updateComponent:function(a,b){this.callParent([a,b]);a.setMinValue(this.getMinValue());a.setMaxValue(this.getMaxValue())},applyValue:function(b,a){b=b||0;if(this.dragging&&this.isSyncing("value")){b=undefined}else{if(Ext.isArray(b)){b=b.slice(0);if(a&&Ext.Array.equals(b,a)){b=undefined}}else{b=[b]}}return b},updateValue:function(c,a){var b=this;if(!b.dragging){b.setComponentValue(c)}if(b.initialized){b.fireEvent("change",b,c,a)}},setComponentValue:function(a){this.getComponent().setValue(a)},onSliderChange:function(c,a,d,b){this.setValue(c.getValue());this.fireEvent("dragchange",this,c,a,d,b)},onSliderDragStart:function(c,b,a,d){this.dragging=true;this.fireEvent("dragstart",this,c,b,a,d)},onSliderDrag:function(c,a,d,g){var b=this;if(b.getLiveUpdate()){b.setValue(c.getValue())}b.fireEvent("drag",b,c,a,d,g)},onSliderDragEnd:function(c,b,a,d){this.dragging=false;this.fireEvent("dragend",this,c,b,a,d)},setValues:function(a){this.setValue(a);this.updateMultipleState()},getValues:function(){return this.getValue()},reset:function(){var b=this.config,a=(this.config.hasOwnProperty("values"))?b.values:b.value;this.setValue(a)},updateReadOnly:function(a){this.getComponent().setReadOnly(a)},isDirty:function(){if(this.getDisabled()){return false}return this.getValue()!==this.originalValue},updateMultipleState:function(){var a=this.getValue();if(a&&a.length>1){this.addCls(Ext.baseCSSPrefix+"slider-multiple")}}});Ext.define("Ext.field.SingleSlider",{extend:Ext.field.Slider,xtype:"singlesliderfield",defaultBindProperty:"value",publishes:{value:1},initialize:function(){this.callParent();this.publishState("value",this.getValue())},applyValue:function(b,a){b=this.callParent([b,a]);if(b&&Ext.isArray(b)){b=b[0]}return b},getValue:function(){var a=this.callParent();if(a&&Ext.isArray(a)){a=a[0]}return a},onSliderChange:function(c,a,d,b){this.setValue(d);this.fireEvent("dragchange",this,c,d,b)},onSliderDragStart:function(c,b,a,d){this.fireEvent("dragstart",this,c,a,d)},onSliderDrag:function(c,a,d,g){var b=this;if(b.getLiveUpdate()){b.setValue(d)}b.fireEvent("drag",b,c,d,g)},onSliderDragEnd:function(c,b,a,d){this.fireEvent("dragend",this,c,a,d)}});Ext.define("Ext.field.trigger.SpinDown",{extend:Ext.field.trigger.Trigger,xtype:"spindowntrigger",alias:"trigger.spindown",classCls:Ext.baseCSSPrefix+"spindowntrigger",handler:"onSpinDown",scope:"this"});Ext.define("Ext.field.trigger.SpinUp",{extend:Ext.field.trigger.Trigger,xtype:"spinuptrigger",alias:"trigger.spinup",classCls:Ext.baseCSSPrefix+"spinuptrigger",handler:"onSpinUp",scope:"this"});Ext.define("Ext.field.Spinner",{extend:Ext.field.Number,xtype:"spinnerfield",alternateClassName:"Ext.form.Spinner",config:{minValue:Number.NEGATIVE_INFINITY,maxValue:Number.MAX_VALUE,stepValue:0.1,accelerateOnTapHold:true,cycle:false,clearIcon:false,defaultValue:0,tabIndex:-1,groupButtons:true,component:{readOnly:true},triggers:{spindown:{type:"spindown",group:"spin",repeat:true},spinup:{type:"spinup",group:"spin",repeat:true}},value:undefined},classCls:Ext.baseCSSPrefix+"spinnerfield",groupedButtonsCls:Ext.baseCSSPrefix+"grouped-buttons",updateGroupButtons:function(b){var a=this.getTriggers().spindown;a.setGroup(b?"spin":null);a.setSide(b?null:"left")},applyTriggers:function(d,h){var e=this.getAccelerateOnTapHold(),g,c,b,a;if(d&&e){g=d.spinup;c=d.spindown;b=g.repeat;if(b){g.repeat=Ext.apply({accelerate:e},b)}a=c.repeat;if(a){c.repeat=Ext.apply({accelerate:e},a)}}return this.callParent([d,h])},applyValue:function(a){a=parseFloat(a);if(isNaN(a)||a===null){a=this.getDefaultValue()}a=Math.round(a*10)/10;return this.callParent([a])},onSpinDown:function(){if(!this.getDisabled()&&!this.getReadOnly()){this.spin(true)}},onSpinUp:function(){if(!this.getDisabled()&&!this.getReadOnly()){this.spin(false)}},spin:function(i){var c=this,b=c.getValue(),a=c.getStepValue(),h=i?"down":"up",e=c.getMinValue(),g=c.getMaxValue(),d;if(i){d=b-a}else{d=b+a}if(c.getCycle()){if(b==e&&d<e){d=g}if(b==g&&d>g){d=e}}c.setValue(d);d=c.getValue();c.fireEvent("spin",c,d,h);c.fireEvent("spin"+h,c,d)},reset:function(){this.setValue(this.getDefaultValue())}});Ext.define("Ext.slider.Toggle",{extend:Ext.slider.Slider,xtype:"toggleslider",config:{onThumbUi:"toggle-on",offThumbUi:"toggle-off"},value:0,classCls:Ext.baseCSSPrefix+"toggleslider",minValueCls:Ext.baseCSSPrefix+"off",maxValueCls:Ext.baseCSSPrefix+"on",initialize:function(){this.callParent();this.on({change:"onChange"})},applyMinValue:function(){return 0},applyMaxValue:function(){return 1},applyIncrement:function(){return 1},updateMinValueCls:function(c,b){var a=this.element;if(b&&a.hasCls(b)){a.replaceCls(b,c)}},updateMaxValueCls:function(c,b){var a=this.element;if(b&&a.hasCls(b)){a.replaceCls(b,c)}},setValue:function(b,a){this.callParent(arguments);this.onChange(this,this.thumbs[0],b,a)},setIndexValue:function(c,e,d){var b=this.getValue()[c];this.callParent(arguments);var a=this.thumbs[c],g=this.getValue();if(b!==g){this.fireEvent("change",this,a,g,b)}},onChange:function(e,a,h,c){var i=h>0,b=e.maxValueCls,g=e.minValueCls,d=this.element;d.addCls(i?b:g);d.removeCls(i?g:b);this.thumbs[0].setUi(i?this.getOnThumbUi():this.getOffThumbUi())},toggle:function(){var a=this.getValue();this.setValue((a==1)?0:1);return this},onTap:function(){if(this.isDisabled()||this.getReadOnly()){return}var b=this.getValue(),c=(b==1)?0:1,a=this.thumbs[0];this.setIndexValue(0,c,this.getAnimation());this.refreshThumbConstraints(a)},privates:{syncFill:function(){var c=this,b=c.trackElement.down(c.fillSelector),a=c.getArrayValues();if(a&&(a[0]===1)){b.show()}else{b.hide()}}}});Ext.define("Ext.field.Toggle",{extend:Ext.field.SingleSlider,xtype:"togglefield",alternateClassName:"Ext.form.Toggle",config:{component:{xtype:"toggleslider"},activeLabel:null,inactiveLabel:null,value:false},classCls:Ext.baseCSSPrefix+"togglefield",initialize:function(){this.callParent();this.publishState("value",this.getValue())},updateActiveLabel:function(b,a){this.getComponent().element.dom.setAttribute("data-activelabel",b)},updateInactiveLabel:function(b,a){this.getComponent().element.dom.setAttribute("data-inactivelabel",b)},applyValue:function(a){if(typeof a!=="boolean"){a=a!==0}return a},updateValue:function(d,a){var c=this,e=c.getActiveLabel(),b=c.getInactiveLabel();if(e||b){c.setLabel(d?e:b)}c.callParent([d,a])},setComponentValue:function(a){this.getComponent().setValue(a?1:0)},toggle:function(){this.setValue(!this.getValue());return this}});Ext.define("Ext.field.Url",{extend:Ext.field.Text,xtype:"urlfield",alternateClassName:"Ext.form.Url",config:{autoCapitalize:false,component:{type:"url"}},classCls:Ext.baseCSSPrefix+"urlfield"});Ext.define("Ext.form.FieldContainer",{extend:Ext.Mixin,mixinConfig:{id:"fieldContainer"},config:{fieldSeparators:null,inputBorders:null},fieldSeparatorsCls:Ext.baseCSSPrefix+"form-field-separators",noInputBordersCls:Ext.baseCSSPrefix+"form-no-input-borders",updateFieldSeparators:function(c,b){var d=this.innerElement,a=this.fieldSeparatorsCls;if(c){d.addCls(a)}else{if(b){d.removeCls(a)}}},updateInputBorders:function(b,c){var d=this.innerElement,a=this.noInputBordersCls;if(b===false){d.addCls(a)}else{if(c===false){d.removeCls(a)}}}});Ext.define("Ext.form.FieldSet",{extend:Ext.Container,alias:"widget.fieldset",mixins:[Ext.form.FieldContainer],config:{baseCls:Ext.baseCSSPrefix+"form-fieldset",title:null,instructions:null},layout:{type:"vbox"},applyTitle:function(a){if(typeof a=="string"){a={title:a}}Ext.applyIf(a,{docked:"top",baseCls:this.getBaseCls()+"-title"});return Ext.factory(a,Ext.Title,this._title)},updateTitle:function(b,a){if(b){this.add(b)}if(a){this.remove(a)}},getTitle:function(){var a=this._title;if(a&&a instanceof Ext.Title){return a.getTitle()}return a},applyInstructions:function(a){if(typeof a=="string"){a={title:a}}Ext.applyIf(a,{docked:"bottom",baseCls:this.getBaseCls()+"-instructions"});return Ext.factory(a,Ext.Title,this._instructions)},updateInstructions:function(b,a){if(b){this.add(b)}if(a){this.remove(a)}},getInstructions:function(){var a=this._instructions;if(a&&a instanceof Ext.Title){return a.getTitle()}return a},updateDisabled:function(a){this.getFieldsAsArray().forEach(function(b){b.setDisabled(a)});return this},getFieldsAsArray:function(){var a=[],b=function(c){if(c.isField){a.push(c)}if(c.isContainer){c.getItems().each(b)}};this.getItems().each(b);return a}});Ext.define("Ext.form.Panel",{alternateClassName:"Ext.form.FormPanel",extend:Ext.Panel,xtype:"formpanel",mixins:[Ext.form.FieldContainer],config:{standardSubmit:false,url:null,enctype:null,baseParams:null,submitOnAction:false,record:null,method:"post",scrollable:true,trackResetOnLoad:false,api:null,paramOrder:null,paramsAsHash:null,timeout:30,multipartDetection:true,enableSubmissionForm:true},layout:{type:"vbox"},classCls:Ext.baseCSSPrefix+"formpanel",getElementConfig:function(){var a=this.callParent();a.tag="form";a.children.push({tag:"input",type:"submit",style:"visibility: hidden; width: 0; height: 0; position: absolute; right: 0; bottom: 0;"});return a},initialize:function(){var a=this;a.callParent();a.element.on({submit:"onSubmit",scope:a})},applyEnctype:function(b){var a=this.element.dom||null;if(a){if(b){a.setAttribute("enctype",b)}else{a.setAttribute("enctype")}}},updateRecord:function(c){var a,b,d;if(c){b=this.getValues();for(d in b){if(b.hasOwnProperty(d)&&c.getField(d)){c.set(d,b[d])}}}return this},setRecord:function(a){var b=this;if(a&&a.data){b.setValues(a.data)}b._record=a;return this},onSubmit:function(b){var a=this;if(b&&!a.getStandardSubmit()){b.stopEvent()}else{this.submit(null,b)}},updateSubmitOnAction:function(a){if(a){this.on({action:"onFieldAction",scope:this})}else{this.un({action:"onFieldAction",scope:this})}},onFieldAction:function(a){if(this.getSubmitOnAction()){a.blur();this.submit()}},submit:function(a,g){a=a||{};var c=this,d=c.getValues(c.getStandardSubmit()||!a.submitDisabled),b=c.element.dom||{};if(this.getEnableSubmissionForm()){b=this.createSubmissionForm(b,d)}a=Ext.apply({url:c.getUrl()||b.action,submit:false,form:b,method:c.getMethod()||b.method||"post",autoAbort:false,params:null,waitMsg:null,headers:null,success:null,failure:null},a||{});return c.fireAction("beforesubmit",[c,d,a,g],"doBeforeSubmit",null,null,"after")},createSubmissionForm:function(g,c){var a=this.getFields(),d,b,h,e;if(g.nodeType===1){g=g.cloneNode(false);for(d in c){b=document.createElement("input");b.setAttribute("type","text");b.setAttribute("name",d);b.setAttribute("value",c[d]);g.appendChild(b)}}for(d in a){if(a.hasOwnProperty(d)){h=a[d];if(h.isFile){if(!g.$fileswap){g.$fileswap=[]}e=h.getComponent().inputElement.dom;b=e.cloneNode(true);e.parentNode.insertBefore(b,e.nextSibling);g.appendChild(e);g.$fileswap.push({original:e,placeholder:b})}else{if(h.isPassword){if(h.getComponent().getType!=="password"){h.setRevealed(false)}}}}}return g},doBeforeSubmit:function(s,o,d){var c=d.form||{},h=false;if(this.getMultipartDetection()===true){this.getFieldsAsArray().forEach(function(i){if(i.isFile===true){h=true;return false}});if(h){c.setAttribute("enctype","multipart/form-data")}}if(d.enctype){c.setAttribute("enctype",d.enctype)}if(s.getStandardSubmit()){if(d.url&&Ext.isEmpty(c.action)){c.action=d.url}var p=this.query("spinnerfield"),k=p.length,r,b;for(r=0;r<k;r++){b=p[r];if(!b.getDisabled()){b.getComponent().setDisabled(false)}}c.method=(d.method||c.method).toLowerCase();c.submit()}else{var n=s.getApi(),g=d.url||s.getUrl(),a=d.scope||s,j=d.waitMsg,t=function(i,u){if(Ext.isFunction(d.failure)){d.failure.call(a,s,i,u)}s.fireEvent("exception",s,i)},l=function(i,u){if(Ext.isFunction(d.success)){d.success.call(d.scope||s,s,i,u)}s.fireEvent("submit",s,i)},m;if(d.waitMsg){if(typeof j==="string"){j={xtype:"loadmask",message:j}}s.setMasked(j)}if(n){s.applyExtraParams(d);n=Ext.direct.Manager.resolveApi(n,s);s.setApi(n);m=n.submit;if(!m){Ext.raise("Cannot find Ext Direct API method for submit action")}return m(c,function(u,i,v){s.setMasked(false);if(v){if(u.success){l(i,u)}else{t(i,u)}}else{t(i,u)}},this)}else{var e=Ext.merge({},{url:g,timeout:this.getTimeout()*1000,form:c,scope:s},d);delete e.success;delete e.failure;e.params=Ext.merge(s.getBaseParams()||{},d.params);e.header=Ext.apply({"Content-Type":"application/x-www-form-urlencoded; charset=UTF-8"},d.headers||{});e.callback=function(u,B,v){var y=this,x=v.responseText,A=v.responseXML,C=Ext.data.request.Ajax.parseStatus(v.status,v);if(c.$fileswap){var i,z;Ext.each(c.$fileswap,function(D){i=D.original;z=D.placeholder;z.parentNode.insertBefore(i,z.nextSibling);z.parentNode.removeChild(z)});c.$fileswap=null;delete c.$fileswap}y.setMasked(false);if(v.success===false){B=false}if(B){if(C&&x&&x.length===0){B=true}else{if(!Ext.isEmpty(v.responseBytes)){B=C.success}else{if(Ext.isString(x)&&v.request.options.responseType==="text"){v.success=true}else{if(Ext.isString(x)){try{v=Ext.decode(x)}catch(w){v.success=false;v.error=w;v.message=w.message}}else{if(Ext.isSimpleObject(x)){v=x;Ext.applyIf(v,{success:true})}}}if(!Ext.isEmpty(A)){v.success=true}B=!!v.success}}if(B){l(v,x)}else{t(v,x)}}else{t(v,x)}};if(Ext.feature.has.XHR2&&e.xhr2){delete e.form;var q=new FormData(c);if(e.params){Ext.iterate(e.params,function(i,u){if(Ext.isArray(u)){Ext.each(u,function(w){q.append(i,w)})}else{q.append(i,u)}});delete e.params}e.data=q}return Ext.Ajax.request(e)}}},applyExtraParams:function(c){var d=c.form,e=Ext.merge(this.getBaseParams()||{},c.params),b,a;for(b in e){a=document.createElement("input");a.setAttribute("type","text");a.setAttribute("name",b);a.setAttribute("value",e[b]);d.appendChild(a)}},load:function(j){j=j||{};var g=this,c=g.getApi(),a=g.getUrl()||j.url,b=j.waitMsg,i=function(k,l){g.setValues(l.data);if(Ext.isFunction(j.success)){j.success.call(j.scope||g,g,k,l)}g.fireEvent("load",g,k)},e=function(k,l){if(Ext.isFunction(j.failure)){j.failure.call(scope,g,k,l)}g.fireEvent("exception",g,k)},h,d;if(j.waitMsg){if(typeof b==="string"){b={xtype:"loadmask",message:b}}g.setMasked(b)}if(c){c=Ext.direct.Manager.resolveApi(c,g);g.setApi(c);h=c.load;if(!h){Ext.raise("Cannot find Ext Direct API method for load action")}d=h.$directCfg.method.getArgs({params:g.getParams(j.params),paramOrder:g.getParamOrder(),paramsAsHash:g.getParamsAsHash(),scope:g,callback:function(l,k,m){g.setMasked(false);if(m){i(k,l)}else{e(k,l)}}});h.apply(window,d)}else{if(a){return Ext.Ajax.request({url:a,timeout:(j.timeout||this.getTimeout())*1000,method:j.method||"GET",autoAbort:j.autoAbort,headers:Ext.apply({"Content-Type":"application/x-www-form-urlencoded; charset=UTF-8"},j.headers||{}),callback:function(k,o,l){var n=l.responseText,m=Ext.data.request.Ajax.parseStatus(l.status,l);g.setMasked(false);if(o){if(m&&n.length===0){o=true}else{l=Ext.decode(n);o=!!l.success}if(o){i(l,n)}else{e(l,n)}}else{e(l,n)}}})}}},getParams:function(a){return Ext.apply({},a,this.getBaseParams())},setValues:function(k){var c=this.getFields(),g=this,a,h,j,e,b,d;k=k||{};for(a in k){if(k.hasOwnProperty(a)){h=c[a];j=k[a];if(h){if(Ext.isArray(h)){e=h.length;for(b=0;b<e;b++){d=h[b];if(d.isRadio){d.setGroupValue(j);break}else{if(d.isCheckbox){if(Ext.isArray(j)){d.setChecked((j.indexOf(d._value)!=-1))}else{d.setChecked((j==d._value))}}else{if(Ext.isArray(j)){d.setValue(j[b])}}}}}else{if(h.isRadio||h.isCheckbox){h.setChecked(j)}else{h.setValue(j)}}if(g.getTrackResetOnLoad()){h.resetOriginalValue()}}}}return this},getValues:function(h,m){var g=this.getFields(),n={},e=Ext.isArray,k,l,b,c,a,j,d;b=function(o,i){if(!m&&(!i||i==="null")||o.isFile){return}if(o.isCheckbox){l=o.getSubmitValue()}else{l=o.getValue()}if(!(h&&o.getDisabled())){if(o.isRadio){if(o.isChecked()){n[i]=l}}else{c=n[i];if(!Ext.isEmpty(c)){if(!e(c)){c=n[i]=[c]}if(e(l)){c=n[i]=c.concat(l)}else{c.push(l)}}else{n[i]=l}}}};for(a in g){if(g.hasOwnProperty(a)){k=g[a];if(e(k)){j=k.length;for(d=0;d<j;d++){b(k[d],a)}}else{b(k,a)}}}return n},reset:function(){this.getFieldsAsArray().forEach(function(a){a.reset()});return this},updateDisabled:function(a){this.getFieldsAsArray().forEach(function(b){b.setDisabled(a)});return this},getFieldsAsArray:function(){var a=[],b=function(c){if(c.isField){a.push(c)}if(c.isContainer){c.getItems().each(b)}};this.getItems().each(b);return a},getFields:function(b){var a={},d;var c=function(e){if(e.isField){d=e.getName();if((b&&d==b)||typeof b=="undefined"){if(a.hasOwnProperty(d)){if(!Ext.isArray(a[d])){a[d]=[a[d]]}a[d].push(e)}else{a[d]=e}}}if(e.isContainer){e.items.each(c)}};this.fieldQuery().forEach(c);return(b)?(a[b]||[]):a},fieldQuery:function(){return this.getItems().getRange()},getFieldsArray:function(){var a=[];var b=function(c){if(c.isField){a.push(c)}if(c.isContainer){c.items.each(b)}};this.items.each(b);return a},getFieldsFromItem:Ext.emptyFn,showMask:function(a,b){a=Ext.isObject(a)?a.message:a;if(a){this.setMasked({xtype:"loadmask",message:a})}else{this.setMasked(true)}return this},hideMask:function(){this.setMasked(false);return this},getFocusedField:function(){var a=this.getFieldsArray(),c=a.length,d,b;for(b=0;b<c;b++){d=a[b];if(d.isFocused){return d}}return null},getNextField:function(){var a=this.getFieldsArray(),c=this.getFocusedField(),b;if(c){b=a.indexOf(c);if(b!==a.length-1){b++;return a[b]}}return false},focusNextField:function(){var a=this.getNextField();if(a){a.focus();return a}return false},getPreviousField:function(){var a=this.getFieldsArray(),c=this.getFocusedField(),b;if(c){b=a.indexOf(c);if(b!==0){b--;return a[b]}}return false},focusPreviousField:function(){var a=this.getPreviousField();if(a){a.focus();return a}return false}});Ext.define("Ext.grid.cell.Base",{extend:Ext.Widget,cachedConfig:{align:null,cls:null,innerCls:null,innerStyle:null,cellCls:null},config:{column:null,hidden:false,record:null,value:null},classCls:Ext.baseCSSPrefix+"gridcell",getTemplate:function(){return[{reference:"innerElement",cls:Ext.baseCSSPrefix+"inner-el",children:this.innerTemplate}]},defaultBindProperty:"value",cellSelector:"."+Ext.baseCSSPrefix+"gridcell",getComputedWidth:function(){return this.getHidden()?0:this.getWidth()},updateAlign:function(d,b){var c=Ext.baseCSSPrefix+"align",a=this.element;if(b){a.removeCls(b,c)}if(d){a.addCls(d,c)}},updateCls:function(a,b){this.element.replaceCls(b,a)},updateCellCls:function(a,b){this.element.replaceCls(b,a)},updateInnerCls:function(b,a){if(b||a){this.innerElement.replaceCls(a,b)}},updateInnerStyle:function(a){this.innerElement.applyStyles(a)},updateColumn:function(a){this.dataIndex=a?a.getDataIndex():null},updateRecord:function(a){var b=this.dataIndex;if(a){if(b){this.setValue(a.get(b))}else{this.setValue()}}},doDestroy:function(){this.setColumn(null);this.setRecord(null);this.callParent()}});Ext.define("Ext.grid.cell.Text",{extend:Ext.grid.cell.Base,xtype:"textcell",config:{encodeHtml:true,rawValue:null,zeroValue:null},updateRawValue:function(b){var c=this.innerElement.dom,a=b==null?"":b;if(this.getEncodeHtml()){c.textContent=a}else{c.innerHTML=a}},updateValue:function(){this.writeValue()},updateZeroValue:function(){if(!this.isConfiguring){this.writeValue()}},writeValue:function(){var c=this,a=c.getValue(),d=c.getColumn().getFormatter(),b=c.getZeroValue();if(a===0&&b!==null){a=b}else{if(typeof d==="function"){a=d(a)}}c.setRawValue(a)}});Ext.define("Ext.grid.cell.Cell",{extend:Ext.grid.cell.Text,xtype:"gridcell",config:{tpl:null,renderer:null,formatter:null,scope:null},updateColumn:function(d,c){var e=this,a,g,b;e.callParent([d,c]);if(d){e.columnInitializing=true;a=d.getTpl();g=d.getRenderer();b=d.getFormatter();if(a!==null){e.setTpl(a)}if(g!==null){e.setRenderer(g)}if(b!==null){e.setFormatter(b)}e.columnInitializing=false}},applyTpl:function(a){if(!a||!a.isXTemplate){a=new Ext.XTemplate(a)}return a},applyFormatter:function(c){var b=this,a=c,d;if(typeof a==="string"){d=Ext.app.bind.Parser.fly(a);a=d.compileFormat();d.release();return function(e){return a(e,b.getScope()||b.resolveListenerScope())}}return a},updateTpl:function(){if(!this.columnInitializing){this.writeValue()}},updateRenderer:function(){if(!this.columnInitializing){this.writeValue()}},updateFormatter:function(){if(!this.columnInitializing){this.writeValue()}},writeValue:function(){var g=this,b=g.getColumn(),c=g.getRecord(),k=g.getValue(),a=g.getZeroValue(),j=k,h,d,e,l,i;if(k===0&&a!==null){j=a}else{if(c&&b){d=g.getTpl();e=g.getRenderer();i=g.getFormatter();if(d){j=d.apply(c.getData(true))}else{if(typeof i==="function"){j=i(k)}else{if(e){h=g.dataIndex;l=g.getScope()||b.getScope();if(typeof e==="function"){j=e.call(l||b,k,c,h,g,b)}else{j=Ext.callback(e,l,[k,c,h,g,b],0,g)}}}}}}g.setRawValue(j)}});Ext.define("Ext.grid.RowBody",{extend:Ext.Component,xtype:"rowbody",config:{widget:null},classCls:Ext.baseCSSPrefix+"rowbody",template:[{reference:"spacerElement",cls:Ext.baseCSSPrefix+"spacer-el"},{reference:"contentElement",cls:Ext.baseCSSPrefix+"content-el"}],initialize:function(){var c=this,b,a;c.callParent();b=c.parent.getGrid();if(b&&b.hasRowExpander){a=b.findPlugin("rowexpander");if(a){c.spacerElement.setWidth(a.getColumn().getWidth())}}},applyWidget:function(a){var b=this.parent;if(a){a=Ext.apply({parent:b},a);a=Ext.widget(a)}return a},updateWidget:function(b,a){if(a){a.destroy()}if(b){this.contentElement.appendChild(b.element)}},updateRecord:function(b,a){var c=this.getTpl();if(c){this.callParent([b,a])}},getInnerHtmlElement:function(){return this.contentElement},doDestroy:function(){this.setWidget(null);this.callParent()}});Ext.define("Ext.grid.RowHeader",{extend:Ext.dataview.ItemHeader,xtype:"rowheader",classCls:Ext.baseCSSPrefix+"rowheader",manageWidth:false});Ext.define("Ext.grid.Row",{extend:Ext.Component,xtype:"gridrow",mixins:[Ext.mixin.Queryable],isGridRow:true,config:{header:{$value:{xtype:"rowheader"},lazy:true},body:null,grid:null,expandedField:null,defaultCellUI:null},classCls:[Ext.baseCSSPrefix+"listitem",Ext.baseCSSPrefix+"gridrow"],expandedCls:Ext.baseCSSPrefix+"expanded",element:{reference:"element",children:[{reference:"cellsElement",className:Ext.baseCSSPrefix+"cells-el"}]},cachedConfig:{collapsed:true},constructor:function(a){this.cells=[];this.columnMap={};this.callParent([a])},toggleCollapsed:function(){this.setCollapsed(!this.getCollapsed())},collapse:function(){this.setCollapsed(true)},expand:function(){this.setCollapsed(false)},updateCollapsed:function(i){var g=this,b=g.getBody(),d=g.getGrid(),c=g.getRecord(),h=g.getExpandedField(),a=g.expandedCls,e;if(c){if(h){c.set(h,!i)}else{e=d.$recordsExpanded||(d.$recordsExpanded={});if(i){delete e[c.internalId]}else{e[c.internalId]=true}}}if(b){if(i){b.hide();g.removeCls(a)}else{b.show();g.addCls(a)}if(!g.$updating){d.onItemHeightChange()}}},applyHeader:function(b){var a=this.getGrid();if(a&&a.isGrouping()&&b&&!b.isComponent){b=Ext.factory(b,Ext.Component,this.getHeader());return b}return null},updateHeader:function(b,a){if(a){a.destroy()}},applyBody:function(a){if(a){a=Ext.merge({parent:this,hidden:true},a);a=Ext.factory(a,Ext.grid.RowBody,this.getBody())}return a},updateBody:function(a,b){var d=this,c=d.getGrid();if(b){b.destroy()}if(a){d.innerElement.appendChild(a.element)}if(c&&!c.hasRowExpander){d.expand()}},updateGrid:function(c){var e=this,b,a,d;if(c){a=c.getColumns();for(b=0,d=a.length;b<d;b++){e.addColumn(a[b])}}},addColumn:function(a){this.insertColumn(this.cells.length,a)},getRefItems:function(){return this.cells},insertColumn:function(c,d){var e=this,b,a;if(d.isHeaderGroup){return}b=e.cells;a=e.createCell(d);if(c>=b.length){e.cellsElement.appendChild(a.element);b.push(a)}else{a.element.insertBefore(b[c].element);b.splice(c,0,a)}e.columnMap[d.getId()]=a},moveColumn:function(d,c,e){var b=this.cells,a=b[c];Ext.Array.move(b,c,e);if(e===b.length-1){this.cellsElement.appendChild(a.element)}else{a.element.insertBefore(b[e+1].element)}},removeColumn:function(c){var d=this,b=d.columnMap,e=c.getId(),a=b[e];if(a){Ext.Array.remove(d.cells,a);delete b[e];a.destroy()}},updateRecord:function(c){if(!c||this.destroyed){return}var g=this,l=g.cells,d=g.getBody(),e=l.length,h=g.getExpandedField(),b,j,a,k;for(b=0;b<e;++b){j=l[b];if(j.getRecord()===c){j.updateRecord(c)}else{j.setRecord(c)}}if(d){a=g.getGrid();if(d.getRecord()===c){d.updateRecord(c)}else{d.setRecord(c)}if(h){g.setCollapsed(!c.get(h))}else{k=a.$recordsExpanded||(a.$recordsExpanded={});if(a.hasRowExpander){g.setCollapsed(!k[c.internalId])}}}},setColumnWidth:function(c,b){var a=this.getCellByColumn(c);if(a){a.setWidth(b)}},showColumn:function(a){this.setCellHidden(a,false)},hideColumn:function(a){this.setCellHidden(a,true)},getCellByColumn:function(a){return this.columnMap[a.getId()]},getColumnByCell:function(a){return a.getColumn()},doDestroy:function(){var a=this;Ext.destroy(a.getBody());a.cells=Ext.destroy(a.cells,a.getHeader());a.setRecord(null);a.callParent()},privates:{createCell:function(b){var a=this.getCellCfg(b);a.$initParent=this;a=Ext.create(a);delete a.$initParent;return a},getCellCfg:function(b){var c=this,a={parent:c,column:b,record:c.getRecord(),ui:c.getDefaultCellUI(),hidden:b.isHidden(c.getGrid().getHeaderContainer()),width:b.getComputedWidth()||b.getWidth()},d=b.getAlign();if(d){a.align=d}return Ext.apply(a,c.getColumnCell(b))},getColumnCell:function(a){return a.getCell()},setCellHidden:function(b,c){var a=this.getCellByColumn(b);if(a){a.setHidden(c)}}}});Ext.define("Ext.grid.cell.Summary",{extend:Ext.grid.cell.Cell,xtype:"summarycell",classCls:Ext.baseCSSPrefix+"summarycell"});Ext.define("Ext.grid.column.Column",{extend:Ext.Component,alternateClassName:"Ext.grid.column.Template",xtype:["gridcolumn","column","templatecolumn"],mixins:[Ext.mixin.StyleCacher],config:{align:null,cell:{xtype:"gridcell"},dataIndex:null,defaultWidth:100,text:"&nbsp;",sortable:true,groupable:true,resizable:true,hideable:true,renderer:null,formatter:null,scope:null,editable:false,editor:null,defaultEditor:{xtype:"textfield",required:true},ignore:false,ignoreExport:false,exportStyle:null,summaryCell:{xtype:"summarycell"},summaryType:null,summaryRenderer:null,summaryFormatter:null,minWidth:40,sortDirection:null,tpl:null,computedWidth:null},classCls:Ext.baseCSSPrefix+"gridcolumn",sortedCls:Ext.baseCSSPrefix+"sorted",resizableCls:Ext.baseCSSPrefix+"resizable",getTemplate:function(){var d=this,c=[],b=d.beforeTitleTemplate,a=d.afterTitleTemplate;if(b){c.push.apply(c,b)}c.push({reference:"titleElement",className:Ext.baseCSSPrefix+"title-el",children:[{reference:"textElement",className:Ext.baseCSSPrefix+"text-el"},{reference:"sortIconElement",classList:[Ext.baseCSSPrefix+"sort-icon-el",Ext.baseCSSPrefix+"font-icon"]}]});if(a){c.push.apply(c,a)}c.push({reference:"resizerElement",className:Ext.baseCSSPrefix+"resizer-el"});return c},getCells:function(){var b=[],d=this.grid.getListItems(),a=d.length,c;for(c=0;c<a;++c){b.push(d[c].getCellByColumn(this))}return b},onAdded:function(b,a){var c=this;c.callParent([b,a]);c.grid=c.up("headercontainer").getGrid()},applyTpl:function(a){if(!a||!a.isXTemplate){a=new Ext.XTemplate(a)}return a},updateAlign:function(c,a){var b=Ext.baseCSSPrefix+"align-";if(a){this.removeCls(b+c)}if(c){this.addCls(b+c)}},initialize:function(){var a=this;if(!a.getWidth()&&a.getFlex()==null){a.setWidth(a.getDefaultWidth())}a.callParent();a.element.on({tap:"onColumnTap",longpress:"onColumnLongPress",scope:this})},onColumnTap:function(a){this.fireEvent("tap",this,a)},onColumnLongPress:function(a){this.fireEvent("longpress",this,a)},updateResizable:function(a){this.element.toggleCls(this.resizableCls,a)},updateText:function(a){this.setHtml(a||"&#160;")},applyWidth:function(b){var a=this.getMinWidth()||-Infinity,c=this.getMaxWidth()||Infinity;if(b!==null){return Math.max(Math.min(c,b),a)}return b},updateWidth:function(b,a){this.callParent([b,a]);if(b!==null){this.setComputedWidth(b)}},updateFlex:function(a,b){var c=this,d=c.resizeListener;c.callParent([a,b]);if(!a){c.resizeListener=Ext.destroy(d)}else{if(!d){c.resizeListener=c.on("resize",c.onFlexResize,c,{destroyable:true})}}},onFlexResize:function(){this.setComputedWidth(this.element.getWidth(false,true))},getComputedWidth:function(){return this.isVisible(true)?this.callParent():0},updateComputedWidth:function(b,a){this.fireEvent("columnresize",this,b,a)},updateDataIndex:function(a){var b=this.getEditor();if(b){b.name=a}else{this.getDefaultEditor().name=a}},updateSortDirection:function(e,b){var d=this,c,a;if(d.getSortable()){c=d.sortedCls;a=d.element;if(b){a.removeCls([c,c+"-"+b.toLowerCase()])}if(e){a.addCls([c,c+"-"+e.toLowerCase()])}d.fireEvent("sort",this,e,b)}},applyFormatter:function(c){var b=this,a=c,d;if(a){d=Ext.app.bind.Parser.fly(a);a=d.compileFormat();d.release();return function(e){return a(e,b.getScope()||b.resolveListenerScope())}}return a},applySummaryFormatter:function(c){var b=this,a=c,d;if(a){d=Ext.app.bind.Parser.fly(a);a=d.compileFormat();d.release();return function(e){return a(e,b.getScope()||b.resolveListenerScope())}}return a},doDestroy:function(){this.resizeListener=Ext.destroy(this.resizeListener);this.callParent()},getInnerHtmlElement:function(){return this.textElement}});Ext.define("Ext.grid.cell.Date",{extend:Ext.grid.cell.Text,xtype:"datecell",config:{format:""},updateColumn:function(b,a){var c;this.callParent([b,a]);if(b){c=b.getFormat();if(c!==null){this.setFormat(c)}}},applyFormat:function(a){return a||Ext.Date.defaultFormat},updateFormat:function(a){if(!this.isConfiguring){this.writeValue()}},writeValue:function(){var a=this.getValue();this.setRawValue(a?Ext.Date.format(a,this.getFormat()):null)}});Ext.define("Ext.grid.column.Date",{extend:Ext.grid.column.Column,xtype:"datecolumn",config:{format:null,defaultEditor:{xtype:"datepickerfield"},cell:{xtype:"datecell"}}});Ext.define("Ext.grid.HeaderContainer",{extend:Ext.Container,xtype:"headercontainer",config:{docked:"top",defaultColumnUI:null,defaultType:"column",layout:{type:"hbox",align:"stretch"},sortable:true,scrollable:{x:false,y:false},grid:null},classCls:Ext.baseCSSPrefix+"headercontainer",initialize:function(){var a=this;a.columns=[];a.callParent();a.on({tap:"onHeaderTap",columnresize:"onColumnResize",show:"onColumnShow",hide:"onColumnHide",sort:"onColumnSort",scope:a,delegate:"column"});a.on({tap:"onGroupTap",show:"onGroupShow",hide:"onGroupHide",add:"onColumnAdd",move:"onColumnMove",remove:"onColumnRemove",scope:a,delegate:"gridheadergroup"});a.on({add:"onColumnAdd",move:"onColumnMove",remove:"onColumnRemove",scope:a})},factoryItem:function(a){if(a.columns){return Ext.factory(a,Ext.grid.HeaderGroup)}return this.callParent([a])},getColumns:function(){return this.columns},getAbsoluteColumnIndex:function(c){var a=this.getInnerItems(),b=this.getBottomColumnIndex(a,c);return b.found?b.index:a.length},getBottomColumnIndex:function(a,e){var d=0,h=a.length,b={found:false,index:0},j,g,c;while(!b.found&&d<h){g=a[d];if(g===e){b.found=true}else{if(g.isHeaderGroup){j=g.innerIndexOf(e);if(j!==-1){b.index+=j;b.found=true}else{c=this.getBottomColumnIndex(g.getInnerItems(),e);b.index+=c.index;b.found=c.found}}else{b.index++}}d++}return b},onColumnAdd:function(b,a){this.doColumnAdd(a,null)},doColumnAdd:function(a,k){var h=this,b=h.columns,e=h.getAbsoluteColumnIndex(a),c,g,d,j;if(a.isHeaderGroup){c=a.getItems().items;for(d=0,g=c.length;d<g;d++){h.doColumnAdd(c[d],a)}}else{j=a.getUi();if(j==null){a.setUi(h.getDefaultColumnUI())}b.splice(e,0,a);h.fireEvent("columnadd",h,a,k)}},onColumnMove:function(o,d){var l=this,e=l.columns,j=l.getAbsoluteColumnIndex(d),g,k,h,c,b,m,a,n;if(d.isHeaderGroup){g=d.getItems().items;for(h=0,k=g.length;h<k;h++){c=g[h];if(h===0){m=e.indexOf(c);b=m-j<0}if(b){n=j+k-1;a=m}else{a=m+h;n=j+h}Ext.Array.move(e,a,n);l.fireEvent("columnmove",l,c,d,a,n)}}else{a=e.indexOf(d);n=j;Ext.Array.move(e,a,n);l.fireEvent("columnmove",l,d,null,a,n)}},onColumnRemove:function(d,c){if(c.isHeaderGroup){var b=c.getItems().items,e=b.length,a;for(a=0;a<e;a++){this.onColumnRemove(c,b[a])}}else{Ext.Array.remove(this.columns,c);this.fireEvent("columnremove",this,c)}},onHeaderTap:function(b){if(this.getSortable()&&!b.getIgnore()&&b.getSortable()){var c=b.getSortDirection()||"DESC",a=(c==="DESC")?"ASC":"DESC";b.setSortDirection(a)}this.fireEvent("columntap",this,b)},onColumnShow:function(a){this.fireEvent("columnshow",this,a)},onColumnHide:function(a){this.fireEvent("columnhide",this,a)},onGroupShow:function(e){var b=e.getInnerItems(),d=b.length,a,c;for(a=0;a<d;a++){c=b[a];if(!c.isHidden()){this.fireEvent("columnshow",this,c)}}},onGroupHide:function(e){var b=e.getInnerItems(),d=b.length,a,c;for(a=0;a<d;a++){c=b[a];this.fireEvent("columnhide",this,c)}},onGroupTap:function(a){this.fireEvent("headergrouptap",this,a)},onColumnResize:function(c,b,a){this.fireEvent("columnresize",this,c,b,a)},onColumnSort:function(b,c,a){if(c!==null){this.fireEvent("columnsort",this,b,c,a)}},scrollTo:function(a){this.getScrollable().scrollTo(a)},updateGrid:function(a){this.parent=a},doDestroy:function(){var b=this,a=b.spacerTask;if(a){a.cancel();b.spacerTask=null}b.setGrid(null);b.callParent()},privates:{setScrollbarSpacer:function(b){var a=this,c=a.spacerEl;if(!c){c=a.spacerEl=Ext.dom.Element.create()}a.innerElement.appendChild(c);c.setStyle("min-width",b+"px")}}});Ext.define("Ext.grid.HeaderGroup",{extend:Ext.Container,xtype:["headergroup","gridheadergroup"],isHeaderGroup:true,config:{text:"&nbsp;",columns:null,items:undefined,defaultType:"column",hidden:true,layout:{type:"hbox",align:"stretch"}},classCls:Ext.baseCSSPrefix+"headergroup",headerCls:Ext.baseCSSPrefix+"gridcolumn",getElementConfig:function(){return{reference:"element",children:[{reference:"headerElement",classList:[this.headerCls,Ext.baseCSSPrefix+"align-center"],children:[{reference:"titleElement",className:Ext.baseCSSPrefix+"title-el",children:[{reference:"textElement",className:Ext.baseCSSPrefix+"text-el"}]}]},{reference:"innerElement",className:Ext.baseCSSPrefix+"inner"}]}},applyItems:function(a,b){if(!a){a=this.getColumns()}this.callParent([a,b])},updateText:function(a){this.textElement.setHtml(a)},initialize:function(){var a=this;a.on({add:"doVisibilityCheck",remove:"doVisibilityCheck",show:"onColumnShow",hide:"onColumnHide",delegate:"> column",scope:"this"});a.on({show:"onShow",scope:"this"});a.textElement.on({tap:"onHeaderGroupTap",longpress:"onHeaderGroupLongPress",scope:this});a.callParent();a.doVisibilityCheck()},onHeaderGroupTap:function(a){this.fireEvent("tap",this,a)},onHeaderGroupLongPress:function(a){this.fireEvent("longpress",this,a)},onColumnShow:function(a){if(this.getVisibleCount()>0){this.show()}},onColumnHide:function(a){if(this.getVisibleCount()===0){this.hide()}},onShow:function(){var a;if(!this.getVisibleCount()){a=this.getComponent(0);if(a){a.show()}}},doVisibilityCheck:function(){var e=this,b=e.getInnerItems(),d=b.length,a,c;for(a=0;a<d;a++){c=b[a];if(!c.isHidden()){if(e.isHidden()){if(e.initialized){e.show()}else{e.setHidden(false)}}return}}e.hide()},doDestroy:function(){this.setColumns(null);this.callParent()},updateUi:function(d,c){var b=this,e=b.headerCls,a=b.headerElement;if(c){a.removeCls(c,e)}if(d){a.addCls(d,e)}b.callParent([d,c])},privates:{getVisibleCount:function(){var c=this.getInnerItems(),a=c.length,d=0,b;for(b=0;b<a;++b){if(c[b].isHeaderGroup){d+=c[b].getVisibleCount()}else{d+=c[b].isHidden()?0:1}}return d}}});Ext.define("Ext.grid.Grid",{extend:Ext.dataview.List,xtype:"grid",isGrid:true,config:{defaultType:"gridrow",infinite:true,columns:null,variableHeights:false,headerContainer:{xtype:"headercontainer"},hideHeaders:false,pinnedHeader:{xtype:"rowheader"},striped:true,scrollToTopOnRefresh:false,titleBar:{xtype:"titlebar",docked:"top"},title:"",totalColumnWidth:null},classCls:Ext.baseCSSPrefix+"grid",itemSelector:"."+Ext.baseCSSPrefix+"gridrow",getElementConfig:function(){var a=this.callParent();a.children.push({reference:"resizeMarkerElement",className:Ext.baseCSSPrefix+"resize-marker-el",hidden:true});return a},initialize:function(){var c=this,a=c.getTitleBar(),b=c.getHeaderContainer(),d=c.getScrollable();c.callParent();c.on("resize","onResize",c);if(d){b.getScrollable().addPartner(d,"x")}if(a){c.add(a)}c.add(b)},applyTitleBar:function(a){if(a&&!a.isComponent){a=Ext.factory(a,Ext.TitleBar)}return a},updateTitle:function(b){var a=this.getTitleBar();if(a){if(b){a.setTitle(b)}else{a.hide()}}},applyHeaderContainer:function(a){if(a&&!a.isComponent){a=Ext.factory(a,Ext.grid.HeaderContainer)}return a},updateHeaderContainer:function(c,a){var b=this;if(a){a.un({columnsort:"onColumnSort",columnresize:"onColumnResize",columnshow:"onColumnShow",columnhide:"onColumnHide",columnadd:"onColumnAdd",columnmove:"onColumnMove",columnremove:"onColumnRemove",scope:b})}if(c){c.on({columnsort:"onColumnSort",columnresize:"onColumnResize",columnshow:"onColumnShow",columnhide:"onColumnHide",columnadd:"onColumnAdd",columnmove:"onColumnMove",columnremove:"onColumnRemove",scope:b});c.setGrid(b)}},updateHideHeaders:function(a){var b=this.getHeaderContainer(),c=this.oldCtHeight||null;if(!a&&b.getHeight()!==0){return}if(a){this.oldCtHeight=b.getHeight()}b.setHeight(a?0:c)},addColumn:function(a){return this.getHeaderContainer().add(a)},removeColumn:function(a){return this.getHeaderContainer().remove(a)},insertColumn:function(a,b){return this.getHeaderContainer().insert(a,b)},onColumnAdd:function(a,e){var h=this,b,g,d,c,j;if(h.initialized&&!h.destroying){b=this.listItems;g=b.length;d=a.getColumns().indexOf(e);for(c=0;c<g;c++){j=b[c];j.insertColumn(d,e)}h.refreshScroller();h.fireEvent("columnadd",h,e,d)}},onColumnMove:function(b,c,k,a,j){var h=this,g,e,d,l;if(h.initialized&&!h.destroying){g=h.listItems;e=g.length;for(d=0;d<e;d++){l=g[d];l.moveColumn(c,a,j)}h.fireEvent("columnmove",h,c,a,j)}},onColumnRemove:function(a,d){var g=this,b,e,c,h;if(g.initialized&&!g.destroying){if(d===g.sortedColumn){g.sortedColumn=null}b=g.listItems;e=b.length;for(c=0;c<e;c++){h=b[c];h.removeColumn(d)}g.refreshScroller();g.fireEvent("columnremove",g,d)}},updateColumns:function(a){var b=this.getHeaderContainer();if(b){b.removeAll(true,true)}if(a&&a.length){this.addColumn(a);this.refreshScroller()}},getColumns:function(){return this.getHeaderContainer().getColumns()},onColumnResize:function(a,c,b,d){var j=this,h=j.listItems,g=h.length,e,k;if(!j.destroying){for(e=0;e<g;e++){k=h[e];k.setColumnWidth(c,b)}if(j.initialized){j.refreshScroller();if(d&&!c.getHidden()){j.fireEvent("columnresize",j,c,b)}}}},onColumnShow:function(b,e){var h=this,c,g,d,j,a;if(h.initialized&&!h.destroying){c=h.listItems;g=c.length;h.refreshScroller();if(!e.getFlex()){a=e.getWidth()}for(d=0;d<g;d++){j=c[d];j.showColumn(e);if(a!==undefined){j.setColumnWidth(e,a)}}h.fireEvent("columnshow",h,e)}},onColumnHide:function(a,d){var g=this,b,e,c,h;if(g.initialized&&!g.destroying){b=g.listItems;e=b.length;g.refreshScroller();for(c=0;c<e;c++){h=b[c];h.hideColumn(d)}g.fireEvent("columnhide",g,d)}},onColumnSort:function(a,c,e){var d=this,b=d.sortedColumn;if(b&&b!==c){b.setSortDirection(null)}d.sortedColumn=c;d.getStore().sort(c.getDataIndex(),e);d.fireEvent("columnsort",d,c,e)},onResize:function(){this.refreshScroller()},calculateTotalColumnWidth:function(){return this.getColumnsWidth(this.getColumns())},getColumnsWidth:function(b){var d=0,e=b.length,a,c;for(a=0;a<e;a++){c=b[a];if(c.isHeaderGroup&&!c.isHidden()){d+=this.getColumnsWidth(c.getColumns())}else{if(!c.isHeaderGroup&&!c.isHidden()){d+=c.element.getWidth(false,true)}}}return d},getVisibleColumns:function(){var d=this.getColumns,b=d.length,c,e,a=[];for(c=0;c<b;c++){e=d[c];if(!e.isHeaderGroup&&!e.isHidden()){a.push(e)}}return a},refreshScroller:function(c){var i=this,b=i.getScrollable(),h=i.getHeaderContainer(),e=h.getScrollable(),a=i.calculateTotalColumnWidth(),d=i.getPinnedHeader(),g;if(a&&!isNaN(a)){i.setTotalColumnWidth(a);if(b){b.setSize({x:a,y:i.getInfinite()?i.getItemMap().getTotalHeight():null});g=i.getVerticalScrollbarSize();if(g){a-=g;b.setSize({x:a})}}if(e){g=g||i.getVerticalScrollbarSize();e.setSize({x:a+g,y:null})}g=g||0;h.setScrollbarSpacer(g);if(d){if(g){d.setWidth(Ext.String.format("calc(100% - {0}px)",g+1))}else{d.setWidth("100%")}}}i.afterRefreshScroller(b,c)},getVerticalScrollbarSize:function(){var a=this.getScrollable();return(a&&a.getMaxUserPosition().y)&&(Ext.getScrollbarSize().width||0)},createItem:function(a){a.grid=this;return this.callParent([a])},doDestroy:function(){this.sortedColumn=null;this.callParent()},privates:{getCellFromEvent:function(d){var a=Ext.grid.cell.Base.prototype.cellSelector,c=d.getTarget(a,this.element),b;if(c){b=Ext.getCmp(c.id)}return b||null},applyTotalColumnWidth:function(b){var a=this.listItems;return a.length===0?undefined:b},updateTotalColumnWidth:function(e){var c=this.listItems,a=c.length,b,d;for(b=0;b<a;++b){d=c[b].getHeader();if(d){d.setMinWidth("100%");d.setWidth(e)}}}}});Ext.define("Ext.grid.PagingToolbar",{extend:Ext.Toolbar,xtype:"pagingtoolbar",classCls:Ext.baseCSSPrefix+"pagingtoolbar",config:{prevButton:{xtype:"button",iconCls:Ext.baseCSSPrefix+"pagingtoolbar-prev"},nextButton:{xtype:"button",iconCls:Ext.baseCSSPrefix+"pagingtoolbar-next"},sliderField:{xtype:"singlesliderfield",liveUpdate:true,value:1,flex:1,minValue:1},summaryComponent:{xtype:"component",cls:Ext.baseCSSPrefix+"pagingtoolbar-summary"}},defaultButtonUI:"flat",initialize:function(){var a=this;a.callParent();a.add([a.getPrevButton(),a.getSummaryComponent(),a.getSliderField(),a.getNextButton()])},applyPrevButton:function(a,b){return Ext.factory(a,Ext.Button,b)},applyNextButton:function(a,b){return Ext.factory(a,Ext.Button,b)},applySliderField:function(a,b){return Ext.factory(a,Ext.field.SingleSlider,b)},applySummaryComponent:function(a,b){return Ext.factory(a,Ext.Component,b)}});Ext.define("Ext.grid.Tree",{extend:Ext.grid.Grid,xtype:"tree",alternateClassName:"Ext.tree.Tree",classCls:Ext.baseCSSPrefix+"treelist",expanderFirstCls:Ext.baseCSSPrefix+"treelist-expander-first",expanderOnlyCls:Ext.baseCSSPrefix+"treelist-expander-only",cachedConfig:{expanderFirst:true,expanderOnly:true},config:{root:{},selectOnExpander:false,singleExpand:null,rootVisible:true,iconSize:null,indent:null,displayField:"text",columns:false,rowLines:false,folderSort:false},itemConfig:{viewModel:true},eventsSelector:"."+Ext.baseCSSPrefix+"grid-cell",constructor:function(a){var c=this,b;c.callParent([a]);b=c.element;if(b.isPainted()){c.syncIconSize()}else{b.on({scope:c,painted:c.syncIconSize,single:true})}},onItemTrigger:function(d,c,h,b,g){var a=d.getCellFromEvent(g);if(a&&(!a.isTreeCell||d.getSelectOnExpander()||g.target!==a.expanderElement.dom)){d.callParent([d,c,h,b,g])}},applyColumns:function(a){if(!a){this.setHideHeaders(true);a=[{xtype:"treecolumn",text:"Name",dataIndex:this.getDisplayField(),minWidth:100,flex:1}]}return a},updateStore:function(b,d){var c=this,a,e;if(d){a=d.getRootNode();Ext.destroy(c.storeListeners,c.storeRelayers)}if(b){if(e=b.getRoot()){c.onRootChange(e)}else{b.setRoot(c.getRoot());e=b.getRoot()}if(!("rootVisible" in b.initialConfig)){b.setRootVisible(c.getRootVisible())}c.callParent([b,d]);b.folderSort=c.getFolderSort();c.storeListeners=c.mon(b,{destroyable:true,rootchange:c.onRootChange,scope:c});c.storeRelayers=c.relayEvents(b,["beforeload","load"]);if(!b.rootVisible&&!b.autoLoad&&!(e.isExpanded()||e.isLoading())){if(e.isLoaded()){e.data.expanded=true;b.onNodeExpand(e,e.childNodes)}else{if(b.autoLoad!==false&&!b.hasPendingLoad()){e.data.expanded=false;e.expand()}}}b.ownerTree=c}},onRootChange:function(d,a){var b=this,c;if(a){delete a.fireEventArgs}if(d){c=d.fireEventArgs;d.fireEventArgs=function(e){var g=c.apply(d,arguments);if(g!==false){arguments[0]=b.rootEventsMap[e]||("item"+e);g=b.fireEventArgs.apply(b,arguments)}return g}}},updateUi:function(b,a){this.callParent([b,a]);delete this.iconSize;this.syncIconSize()},updateExpanderFirst:function(a){this.element.toggleCls(this.expanderFirstCls,a)},updateExpanderOnly:function(a){this.element.toggleCls(this.expanderOnlyCls,!a)},setRootNode:function(b){var a=this.getStore();b=a.setRoot(b);return b},getRootNode:function(){return this.getStore().getRoot()},expandNode:function(b,a,d,c){return b.expand(a,d,c||this)},collapseNode:function(b,a,d,c){return b.collapse(a,d,c||this)},expandAll:function(d,b){var c=this,a=c.getRootNode();if(a){Ext.suspendLayouts();a.expand(true,d,b||c);Ext.resumeLayouts(true)}},collapseAll:function(d,b){var c=this,a=c.getRootNode();if(a){Ext.suspendLayouts();b=b||c;if(c.getStore().rootVisible){a.collapse(true,d,b)}else{a.collapseChildren(true,d,b)}Ext.resumeLayouts(true)}},privates:{rootEventsMap:{beforeappend:"beforeitemappend",beforeremove:"beforeritememove",beforemove:"beforeitemmove",beforeinsert:"beforeiteminsert",beforeexpand:"beforeitemexpand",beforecollapse:"beforeitemcollapse"},syncIconSize:function(){var b=this,a=b.iconSize||(b.iconSize=parseInt(b.element.getStyle("background-position"),10));b.setIconSize(a)},defaultIconSize:22,updateIconSize:function(a){this.setIndent(a||this.defaultIconSize)},updateIndent:function(a){Ext.Array.each(this.query("treecell"),function(b){b.setIndent(a)})}}});Ext.define("Ext.grid.cell.Boolean",{extend:Ext.grid.cell.Text,xtype:"booleancell",config:{falseText:"False",trueText:"True",undefinedText:""},updateColumn:function(b,a){this.callParent([b,a]);if(b){var c=b.getFalseText();if(c!==null){this.setFalseText(c)}c=b.getTrueText();if(c!==null){this.setTrueText(c)}c=b.getUndefinedText();if(c!==null){this.setUndefinedText(c)}}},updateFalseText:function(){if(!this.isConfiguring){this.writeValue()}},updateTrueText:function(){if(!this.isConfiguring){this.writeValue()}},updateUndefinedText:function(){if(!this.isConfiguring){this.writeValue()}},writeValue:function(){var a=this,b=a.getValue();if(b===undefined){b=a.getUndefinedText()}else{if(!b||b==="false"){b=a.getFalseText()}else{b=a.getTrueText()}}a.setRawValue(b)}});Ext.define("Ext.grid.cell.Check",{extend:Ext.grid.cell.Cell,xtype:"checkcell",config:{disabled:null},innerTemplate:[{reference:"checkboxElement",classList:[Ext.baseCSSPrefix+"checkbox-el",Ext.baseCSSPrefix+"font-icon"]}],classCls:Ext.baseCSSPrefix+"checkcell",disabledCls:Ext.baseCSSPrefix+"disabled",checkedCls:Ext.baseCSSPrefix+"checked",constructor:function(a){this.callParent([a]);this.checkboxElement.on("tap","onTap",this)},updateValue:function(d,a){var c=this,b=c.getColumn();d=!!d;c.el.toggleCls(c.checkedCls,!!d);if(d){b.updateHeaderState()}else{b.setHeaderStatus(d)}},updateColumn:function(b,a){this.callParent([b,a]);if(b){this.setDisabled(b.getDisabled())}},applyDisabled:function(a){return Boolean(a)},updateDisabled:function(a){this.element.toggleCls(this.disabledCls,a)},disable:function(){this.setDisabled(true)},enable:function(){this.setDisabled(false)},onTap:function(h){var g=this,a=g.getRecord(),c=g.getColumn(),b=c.up("grid").getStore().indexOf(a),d;if(a){d=!c.isRecordChecked(a);if(g.getDisabled()){return}if(c.fireEvent("beforecheckchange",g,b,d,a,h)!==false){if(g.getColumn().getStopSelection()){h.stopSelection=true}if(a){c.setRecordChecked(a,d)}if(c.hasListeners.checkchange){c.fireEvent("checkchange",g,b,d,a,h)}}}}});Ext.define("Ext.grid.cell.Expander",{extend:Ext.grid.cell.Base,xtype:"expandercell",isExpanderCell:true,align:"center",classCls:Ext.baseCSSPrefix+"expandercell",innerTemplate:[{reference:"iconElement",classList:[Ext.baseCSSPrefix+"icon-el",Ext.baseCSSPrefix+"font-icon"]}]});Ext.define("Ext.grid.cell.Number",{extend:Ext.grid.cell.Text,xtype:"numbercell",config:{format:"0,000.00"},classCls:Ext.baseCSSPrefix+"numbercell",zeroValue:null,updateColumn:function(b,a){this.callParent([b,a]);if(b){var c=b.getFormat();if(c!==null){this.setFormat(c)}}},updateFormat:function(a){if(!this.isConfiguring){this.writeValue()}},writeValue:function(){var c=this.getValue(),a=c||c===0,b;if(c===0&&(b=this.getZeroValue())!=null){c=b}else{c=a?Ext.util.Format.number(c,this.getFormat()):null}this.setRawValue(c)}});Ext.define("Ext.grid.cell.RowNumberer",{extend:Ext.grid.cell.Base,xtype:"rownumberercell",classCls:Ext.baseCSSPrefix+"rownumberercell",updateRecord:function(b){var d=this.getColumn(),c,e,a;if(d){c=this.getColumn().grid.getStore();e=c.currentPage;a=c.indexOf(b);if(e>1){a+=(e-1)*c.pageSize}this.innerElement.dom.textContent=a+1}}});Ext.define("Ext.grid.cell.Tree",{extend:Ext.grid.cell.Cell,xtype:"treecell",isTreeCell:true,collapsedCls:Ext.baseCSSPrefix+"treelist-item-collapsed",expandedCls:Ext.baseCSSPrefix+"treelist-item-expanded",floatedCls:Ext.Widget.prototype.floatedCls+" "+Ext.baseCSSPrefix+"treelist-item-floated",floatedToolCls:Ext.baseCSSPrefix+"treelist-item-tool-floated",leafCls:Ext.baseCSSPrefix+"treelist-item-leaf",expandableCls:Ext.baseCSSPrefix+"treelist-item-expandable",hideIconCls:Ext.baseCSSPrefix+"treelist-item-hide-icon",loadingCls:Ext.baseCSSPrefix+"treelist-item-loading",selectedCls:Ext.baseCSSPrefix+"treelist-item-selected",selectedParentCls:Ext.baseCSSPrefix+"treelist-item-selected-parent",withIconCls:Ext.baseCSSPrefix+"treelist-item-with-icon",hoverCls:Ext.baseCSSPrefix+"treelist-item-over",rowHoverCls:Ext.baseCSSPrefix+"treelist-row-over",elbowCls:Ext.baseCSSPrefix+"tree-elbow",config:{iconClsProperty:"iconCls",iconCls:null,indent:null,text:{lazy:true,$value:""}},element:{reference:"element",cls:Ext.baseCSSPrefix+"grid-cell "+Ext.baseCSSPrefix+"treelist-item",children:[{reference:"rowElement",cls:Ext.baseCSSPrefix+"treelist-row",children:[{reference:"wrapElement",cls:Ext.baseCSSPrefix+"treelist-item-wrap",children:[{reference:"iconElement",cls:Ext.baseCSSPrefix+"treelist-item-icon"},{reference:"textElement",cls:Ext.baseCSSPrefix+"treelist-item-text"},{reference:"expanderElement",cls:Ext.baseCSSPrefix+"treelist-item-expander"}]}]}]},toggle:function(){var b=this,a=b.getRecord();if(a.isExpanded()){b.collapse()}else{if(a.isExpandable()){b.expand()}}},collapse:function(){var b=this,a=b.getRecord();b.getOwner().fireEventedAction("nodecollapse",[b.parent,a,"collapse"],"doToggle",this)},expand:function(){var g=this,c=g.getRecord(),b=g.getOwner(),h,d,a,e;b.fireEventedAction("nodeexpand",[g.parent,c,"expand"],"doToggle",g);if(c.isExpanded&&!c.isRoot()&&b.getSingleExpand()){h=c.parentNode.childNodes;for(d=0,a=h.length;d<a;++d){e=h[d];if(e!==c){e.collapse()}}}},initElement:function(){this.callParent();this.element.on({scope:this,tap:"maybeToggle"})},updateRawValue:function(a){var b=this.textElement.dom;if(this.getEncodeHtml()){b.textContent=a||""}else{b.innerHTML=a||""}},updateRecord:function(a){if(a){this.doNodeUpdate(a)}},updateIconCls:function(c,b){var e=this,d=e.element,a=e.iconElement;if(b){a.removeCls(b)}if(c){a.addCls(c)}d.toggleCls(e.withIconCls,!!c);d.toggleCls(e.hideIconCls,c===null)},getOwner:function(){return this.up("tree")},privates:{doNodeUpdate:function(a){var d=this,c=d.dataIndex,b=d.getIconClsProperty();if(c){d.setValue(a.get(c))}if(b){d.setIconCls(a.data[b])}d.element.toggleCls(d.loadingCls,a.data.loading);d.element.toggleCls(d.leafCls,a.isLeaf());d.syncExpandCls();d.updateIndent()},syncExpandCls:function(){if(!this.updatingExpandCls){var g=this,b=g.getRecord(),d=b.isExpandable(),e=g.element,c=b.isExpanded(),a=g.expandedCls,h=g.collapsedCls;g.updatingExpandCls=true;e.toggleCls(g.expandableCls,d);if(d){e.toggleCls(a,c);e.toggleCls(h,!c)}else{e.removeCls([a,h])}g.updatingExpandCls=false}},updateIndent:function(){var c=this,a=c.getOwner().getIndent(),b=c.getRecord(),d;if(b){d=b.getTreeStore().rootVisible?b.data.depth:b.data.depth-1;c.wrapElement.dom.style.marginLeft=(d*a)+"px"}},maybeToggle:function(d){var c=this,a=c.getRecord(),b=a.isExpanded();if(!a.isLeaf()&&(!c.getOwner().getExpanderOnly()||d.target===c.expanderElement.dom)){c.toggle()}if(a.isExpanded()!==b){d.nodeToggled=true;d.stopEvent()}},doToggle:function(c,a,b){a[b]()}}});Ext.define("Ext.grid.cell.Widget",{extend:Ext.grid.cell.Base,xtype:"widgetcell",config:{forceWidth:false,widget:null},align:"center",classCls:Ext.baseCSSPrefix+"widgetcell",updateColumn:function(d,b){var e=this,c,a;e.callParent([d,b]);if(!d||!e.getForceWidth()){return}a=d.firstCell;if(a&&a.measured){e.measured=true;return}c=e.getParent();if(c&&!c.isSpecialRow&&!d.firstCell){d.firstCell=e;e.element.on("resize","handleFirstResize",e,{single:true})}},updateValue:function(b){var a=this.getWidget(),c;if(a){c=a.defaultBindProperty;if(c){a.setConfig(c,b)}}},applyWidget:function(b){if(b){var a=this.getParent();if(a&&!a.isSpecialRow){b=Ext.apply({parent:this},b);b=Ext.widget(b)}else{b=undefined}}return b},updateWidget:function(c,b){var a=this;if(b){b.measurer=null;b.destroy()}if(c){a.innerElement.appendChild(c.element);if(a.getForceWidth()){a.setWidgetWidth(a.getWidth())}}},updateWidth:function(b,a){this.callParent([b,a]);this.setWidgetWidth(b)},doDestroy:function(){this.setWidget(null);this.callParent()},privates:{handleFirstResize:function(){var g=this,e=g.getWidth(),c,b,d,a;c=g.getColumn().getCells();for(d=0,b=c.length;d<b;++d){a=c[d];a.measured=true;a.setWidgetWidth(e)}},setWidgetWidth:function(e){var g=this,d=g.innerElement,h,c,a,b;if(!g.measured){return}h=g.getWidget();if(h){c=g.getColumn();a=parseInt(c.getCachedStyle(d,"padding-left"),10)||0;b=parseInt(c.getCachedStyle(d,"padding-right"),10)||0;h.measurer=c;h.setWidth(e-a-b);h.redraw()}}}});Ext.define("Ext.grid.column.Boolean",{extend:Ext.grid.column.Column,xtype:"booleancolumn",config:{trueText:null,falseText:null,undefinedText:null,defaultEditor:{xtype:"checkboxfield"},cell:{xtype:"booleancell"}}});Ext.define("Ext.grid.column.Check",{extend:Ext.grid.column.Column,xtype:"checkcolumn",config:{stopSelection:true,headerCheckbox:null},classCls:Ext.baseCSSPrefix+"checkcolumn",noHeaderCheckboxCls:Ext.baseCSSPrefix+"no-header-checkbox",checkedCls:Ext.baseCSSPrefix+"checked",align:"center",ignoreExport:true,cell:{xtype:"checkcell"},afterTitleTemplate:[{reference:"checkboxElement",classList:[Ext.baseCSSPrefix+"checkbox-el",Ext.baseCSSPrefix+"font-icon"]}],onColumnTap:function(b){var a=this;if((b.target===a.checkboxElement.dom)&&!a.getDisabled()){a.toggleAll(b)}a.callParent([b])},toggleAll:function(c){var b=this,a=!b.allChecked;if(b.fireEvent("beforeheadercheckchange",b,a,c)!==false){b.doToggleAll(a);b.setHeaderStatus(a);b.fireEvent("headercheckchange",b,a,c)}},doToggleAll:function(c){var b=this,a=b.grid.getStore();a.each(function(d){b.setRecordChecked(d,c)})},setRecordChecked:function(a,b){b=!!b;this.doSetRecordChecked(a,b);if(b){this.updateHeaderState()}else{this.setHeaderStatus(b)}},doSetRecordChecked:function(a,c){var b=this.getDataIndex();if(a.get(b)!=c){a.set(b,c)}},areAllChecked:function(){var e=this,c=e.grid.getStore(),b,a,d;if(!c.isBufferedStore&&c.getCount()>0){b=c.getData().items;a=b.length;for(d=0;d<a;++d){if(!e.isRecordChecked(b[d])){return false}}return true}},isRecordChecked:function(a){return a.get(this.getDataIndex())},updateHeaderState:function(){if(!this.destroyed&&(this.getHeaderCheckbox()!==false)){this.setHeaderStatus(this.areAllChecked())}},setHeaderStatus:function(b){var a=this;if(a.allChecked!==b){a.allChecked=b;a.el.toggleCls(a.checkedCls,b)}},updateDisabled:function(c,g){var d=this,e,a,b;d.callParent([c,g]);if(d.grid){e=d.grid.getViewItems();a=e.length;for(b=0;b<a;b++){e[b].getCellByColumn(d).setDisabled(c)}}},updateHeaderCheckbox:function(a){var b=this;b.el.toggleCls(b.noHeaderCheckboxCls,!a);b.setSortable(!a);if(b.grid){b.updateHeaderState()}}});Ext.define("Ext.grid.column.Number",{extend:Ext.grid.column.Column,xtype:"numbercolumn",config:{format:null,defaultEditor:{xtype:"numberfield"},cell:{xtype:"numbercell"}}});Ext.define("Ext.grid.column.RowNumberer",{extend:Ext.grid.column.Column,xtype:"rownumberer",align:"right",ignoreExport:true,sortable:false,cell:{xtype:"rownumberercell"},onAdded:function(b,a){var c=this;c.callParent([b,a]);c.checkWidth();c.storeListeners=c.grid.getStore().on({datachanged:c.checkWidth,scope:c,destroyable:true})},onRemoved:function(a){this.storeListeners.destroy();this.callParent([a])},checkWidth:function(){var a=String(this.grid.getStore().getCount());this.setWidth((a.length+1)+"em")},applyWidth:function(a){return a}});Ext.define("Ext.grid.column.Selection",{extend:Ext.grid.column.Check,xtype:"selectioncolumn",classCls:Ext.baseCSSPrefix+"selectioncolumn",onAdded:function(b,a){this.callParent([b,a]);this.grid.on({select:"onSelect",deselect:"onDeselect",scope:this})},onSelect:function(b,a){var c=b.getItem(a);if(c){c.getCellByColumn(this).addCls(this.checkedCls)}this.updateHeaderState()},onDeselect:function(b,a){var c=b.getItem(a);if(c){c.getCellByColumn(this).removeCls(this.checkedCls)}this.updateHeaderState()},doToggleAll:function(b){var a=this.grid;if(b){a.selectAll()}else{a.deselectAll()}},areAllChecked:function(){var a=this.grid;return a.getStore().getCount()===a.getSelectionCount()},isRecordChecked:function(a){return this.grid.isSelected(a)},doSetRecordChecked:function(a,c){var b=this.grid;if(c){b.select(a,true)}else{b.deselect(a)}}});Ext.define("Ext.grid.column.Tree",{extend:Ext.grid.column.Column,xtype:"treecolumn",config:{cell:{xtype:"treecell"}}});Ext.define("Ext.grid.plugin.ColumnResizing",{extend:Ext.Component,alias:["plugin.columnresizing","plugin.gridcolumnresizing"],config:{grid:null,realtime:false},hasResizingCls:Ext.baseCSSPrefix+"has-columnresizing",resizingCls:Ext.baseCSSPrefix+"resizing",columnSelector:"."+Ext.baseCSSPrefix+"gridcolumn",resizerSelector:"."+Ext.baseCSSPrefix+"gridcolumn ."+Ext.baseCSSPrefix+"resizer-el",init:function(a){this.setGrid(a);this._resizeMarker=a.resizeMarkerElement;this._resizeMarkerParent=this._resizeMarker.parent();a.getHeaderContainer().setTouchAction({panX:false})},updateGrid:function(b,d){var a=this.hasResizingCls,c;if(d){c=d.getHeaderContainer();c.renderElement.un({touchstart:"onContainerTouchStart",scope:this,priority:100});d.removeCls(a)}if(b){c=b.getHeaderContainer();c.renderElement.on({touchstart:"onContainerTouchStart",scope:this});b.addCls(a)}},onContainerTouchStart:function(d){var b=this,c=d.getTarget(b.columnSelector),g=d.getTarget(b.resizerSelector),a;if(g&&!d.multitouch&&c&&!b._resizeColumn){a=Ext.Component.fromElement(c);if(a&&a.getResizable()){b._startColumnWidth=a.getComputedWidth();b._minColumnWidth=a.getMinWidth();b._maxColumnWidth=a.getMaxWidth();b._resizeColumn=a;b._startX=d.getX();a.renderElement.addCls(b.resizingCls);d.claimGesture();if(!this.getRealtime()){b._resizeMarker.show();b._resizeMarker.setLeft(a.el.getOffsetsTo(b._resizeMarkerParent)[0]+b._startColumnWidth)}else{a.setWidth(b._startColumnWidth)}b.touchListeners=Ext.getBody().on({touchEnd:"onTouchEnd",touchMove:"onTouchMove",scope:b,destroyable:true})}}else{if(d.multitouch&&b._resizeColumn){b.endResize()}}},onTouchMove:function(c){if(c.isMultitouch){this.endResize();return}if(this._resizeColumn){var b=this._resizeColumn,a=c.getX()-this._startX;if(b){this.currentColumnWidth=Math.max(Math.ceil(this._startColumnWidth+a),this._minColumnWidth);if(this._maxColumnWidth){this.currentColumnWidth=Math.min(this.currentColumnWidth,this._maxColumnWidth)}if(this.getRealtime()){b.setWidth(this.currentColumnWidth);b.renderElement.setWidth(this.currentColumnWidth)}else{this._resizeMarker.setLeft(b.el.getOffsetsTo(this._resizeMarkerParent)[0]+this.currentColumnWidth)}c.claimGesture()}}},onTouchEnd:function(a){Ext.destroy(this.touchListeners);if(this._resizeColumn){this.endResize()}},endResize:function(){var c=this,b=c._resizeColumn,a=c.getGrid();if(b){if(!c.getRealtime()){a.resizeMarkerElement.hide()}if(c.currentColumnWidth){b.setFlex(null);b.setWidth(c.currentColumnWidth)}b.renderElement.removeCls(c.resizingCls);c._resizeColumn=null}}});Ext.define("Ext.grid.plugin.Editable",{extend:Ext.Component,alias:"plugin.grideditable",config:{grid:null,triggerEvent:"doubletap",formConfig:null,defaultFormConfig:{xtype:"formpanel",scrollable:true,items:{xtype:"fieldset"}},toolbarConfig:{xtype:"titlebar",docked:"top",items:[{xtype:"button",ui:"decline",text:"Cancel",align:"left",action:"cancel"},{xtype:"button",ui:"confirm",text:"Submit",align:"right",action:"submit"}]},enableDeleteButton:true},init:function(a){this.setGrid(a);a.setTouchAction({doubleTapZoom:false})},updateGrid:function(a,b){var c=this.getTriggerEvent();if(b){b.renderElement.un(c,"onTrigger",this)}if(a){a.renderElement.on(c,"onTrigger",this)}},onCancelTap:function(){this.sheet.hide()},onSubmitTap:function(){this.form.getRecord().set(this.form.getValues());this.sheet.hide()},onSheetHide:function(){this.sheet.destroy();this.form=null;this.sheet=null},getRecordByTriggerEvent:function(b){var a=b.getTarget("."+Ext.baseCSSPrefix+"gridrow"),c;if(a){c=Ext.getCmp(a.id);if(c){return c.getRecord()}}return null},getEditorFields:function(c){var a=[],g=c.length,b,e,d;for(b=0;b<g;b++){e=c[b];if(e.getEditable()){d=Ext.apply({},e.getEditor()||e.getDefaultEditor());d.label=e.getText();a.push(d)}}return a},onTrigger:function(h){var j=this,a=j.getGrid(),l=j.getFormConfig(),c=j.getToolbarConfig(),d=j.getRecordByTriggerEvent(h),g,b,i,k;if(d){if(l){this.form=b=Ext.factory(l,Ext.form.Panel)}else{this.form=b=Ext.factory(j.getDefaultFormConfig());g=j.getEditorFields(a.getColumns());b.down("fieldset").setItems(g)}b.setRecord(d);k=Ext.factory(c,Ext.form.TitleBar);k.down("button[action=cancel]").on("tap","onCancelTap",this);k.down("button[action=submit]").on("tap","onSubmitTap",this);this.sheet=i=a.add({xtype:"sheet",items:[k,b],hideOnMaskTap:true,enter:"right",exit:"right",centered:false,right:0,width:320,layout:"fit",stretchY:true,hidden:true});if(j.getEnableDeleteButton()){b.add({xtype:"button",text:"Delete",ui:"decline",margin:10,handler:function(){a.getStore().remove(d);i.hide()}})}i.on("hide","onSheetHide",this);i.show()}}});Ext.define("Ext.grid.plugin.MultiSelection",{extend:Ext.Component,alias:["plugin.multiselection","plugin.gridmultiselection"],config:{grid:null,selectionColumn:{width:60,xtype:"selectioncolumn",align:"center",cell:{xtype:"checkcell"},ignore:true,hidden:true},useTriggerButton:true,triggerText:"Select",cancelText:"Cancel",deleteText:"Delete"},checkedCls:Ext.baseCSSPrefix+"checked",init:function(b){var c=this.getSelectionColumn();this.setGrid(b);var a=b.getTitleBar();if(this.getUseTriggerButton()&&a&&a.getTitle()){this.triggerButton=a.add({align:"right",xtype:"button",text:this.getTriggerText()});this.triggerButton.on({tap:"onTriggerButtonTap",scope:this})}else{b.setMode("MULTI")}b.config.columns.unshift(c)},onTriggerButtonTap:function(){if(this.getSelectionColumn().isHidden()){this.enterSelectionMode()}else{this.deleteSelectedRecords();this.getGrid().deselectAll()}},enterSelectionMode:function(){this.triggerButton.setText(this.getDeleteText());this.triggerButton.setUi("decline");this.cancelButton=this.getGrid().getTitleBar().add({align:"right",xtype:"button",ui:"action",text:this.getCancelText(),scope:this});this.cancelButton.on({tap:"exitSelectionMode",scope:this});this.getSelectionColumn().show();this.getGrid().setMode("MULTI")},exitSelectionMode:function(){this.cancelButton.destroy();this.triggerButton.setText(this.getTriggerText());this.triggerButton.setUi(null);this.getSelectionColumn().hide();this.getGrid().setMode("SINGLE");this.getGrid().deselectAll()},deleteSelectedRecords:function(){this.getGrid().getStore().remove(this.getGrid().getSelection())},applySelectionColumn:function(a){if(a&&!a.isComponent){a=Ext.factory(a,Ext.grid.Column)}return a},updateSelectionColumn:function(c,b){var a=this.getGrid();if(a){if(b){a.removeColumn(b)}if(c){a.insertColumn(0,c)}}},updateGrid:function(a,b){if(b){b.removeColumn(this.getSelectionColumn())}if(a){if(!a.isConfiguring){a.insertColumn(0,this.getSelectionColumn())}}}});Ext.define("Ext.grid.plugin.PagingToolbar",{extend:Ext.AbstractPlugin,alias:["plugin.pagingtoolbar","plugin.gridpagingtoolbar"],mixins:[Ext.mixin.Hookable],config:{grid:null,currentPage:1,totalPages:0,pageSize:0,totalCount:0,loadPages:null,toolbar:{xtype:"pagingtoolbar",docked:"bottom"}},init:function(a){this.setGrid(a);a.add(this.getToolbar())},destroy:function(){this.setGrid(null);this.callParent()},updateGrid:function(a,c){var b=this;b.gridListeners=b.storeListeners=Ext.destroy(b.gridListeners,b.storeListeners);if(c){b.unbindHook(c,"onScrollBinder","checkPageChange")}if(a){b.gridListeners=a.on({updatevisiblecount:"onUpdateVisibleCount",storechange:"onStoreChanged",destroyable:true,scope:b});b.bindStore(a.getStore());b.bindHook(a,"onScrollBinder","checkPageChange")}},bindStore:function(a){var b=this;Ext.destroy(b.storeListeners);b.getToolbar().setDisabled(!!a);if(!a){return}b.storeListeners=a.on({add:"onTotalCountChange",remove:"onTotalCountChange",refresh:"onTotalCountChange",clear:"onTotalCountChange",destroyable:true,scope:b});b.setLoadPages(a.pageSize>0);if(a.isLoaded()){b.onTotalCountChange(a)}},onStoreChanged:function(b,a){this.bindStore(a)},getPageData:function(){var e=this.getGrid(),c=e.getStore(),b=c.getTotalCount()||c.getCount(),a=this.getLoadPages()?c.pageSize:e.visibleCount,d=Math.ceil(b/a);return{totalCount:b,totalPages:Ext.Number.isFinite(d)?d:1,currentPage:c.currentPage,pageSize:a}},checkPageChange:function(){var e=this,b=e.getGrid(),a=e.getPageSize(),d=e.getCurrentPage(),g=b.topVisibleIndex,c=Math.ceil((g+a)/a);if(b.getStore()&&!e.getLoadPages()&&c>0&&c!==d){e.preventGridScroll=true;e.setCurrentPage(c);e.preventGridScroll=false}},applyToolbar:function(b,a){return Ext.factory(b,Ext.Toolbar,a)},updateToolbar:function(b){var a=this;if(b){b.getSliderField().on({change:"onPageChange",drag:"onPageSliderDrag",scope:a});b.getNextButton().on({tap:"onNextPageTap",scope:a});b.getPrevButton().on({tap:"onPreviousPageTap",scope:a})}},onPageChange:function(b,a){this.setCurrentPage(a)},onPageSliderDrag:function(c,a,b){this.setCurrentPage(Ext.isArray(b)?b[0]:b)},onNextPageTap:function(){var a=this.getCurrentPage()+1;if(a<=this.getTotalPages()){this.setCurrentPage(a)}},onPreviousPageTap:function(){var a=this.getCurrentPage()-1;if(a>0){this.setCurrentPage(a)}},onTotalCountChange:function(a){var b=this,c=b.getPageData();b.bulkConfigs=true;b.setConfig(c);b.bulkConfigs=false;b.syncSummary()},onUpdateVisibleCount:function(d,c){var b=d.getStore(),a;if(b&&!this.getLoadPages()){c-=1;this.setPageSize(c);a=b.getTotalCount()||b.getCount();this.setTotalPages(Math.ceil(a/c))}},updateTotalPages:function(){if(!this.isConfiguring){this.syncSummary()}},updateCurrentPage:function(b){var a=this;if(!a.isConfiguring){if(a.getLoadPages()){a.getGrid().getStore().loadPage(b)}else{a.syncSummary()}}},updateTotalCount:function(a){if(!this.isConfiguring){this.syncSummary()}},getPageTopRecord:function(e){var c=this.getGrid(),b=c&&c.getStore(),a=this.getPageSize(),d=(e-1)*a;return b&&b.getAt(d)},privates:{syncSummary:function(){var g=this,b=g.getGrid(),e=g.getToolbar(),h=e.getSliderField(),c=g.getCurrentPage(),d=g.getTotalPages(),a;if(g.bulkConfigs){return}e.getSummaryComponent().element.dom.innerHTML=c+" / "+d;h.setMaxValue(d||1);h.setValue(c);a=g.getPageTopRecord(c);if(b&&!g.preventGridScroll&&a){b.scrollToRecord(a)}e.getNextButton().setDisabled(c===d);e.getPrevButton().setDisabled(c===1)}}});Ext.define("Ext.grid.plugin.RowExpander",{extend:Ext.Component,alias:"plugin.rowexpander",config:{grid:null,column:{xtype:"gridcolumn",text:"",width:50,resizable:false,hideable:false,sortable:false,editable:false,ignore:true,ignoreExport:true,cell:{xtype:"expandercell"}}},expanderSelector:"."+Ext.baseCSSPrefix+"expandercell ."+Ext.baseCSSPrefix+"icon-el",expandedCls:Ext.baseCSSPrefix+"expanded",init:function(a){this.setGrid(a)},applyColumn:function(b,a){return Ext.factory(b,null,a)},updateGrid:function(a,c){var b=this;if(a){a.hasRowExpander=true;a.addCls(Ext.baseCSSPrefix+"has-rowexpander");a.insertColumn(0,b.getColumn());a.refreshScroller();a.element.on({tap:"onGridTap",delegate:b.expanderSelector,scope:b})}},onGridTap:function(c){var b=c.getTarget(),a=Ext.Component.fromElement(b),d=a.getParent();a.toggleCls(this.expandedCls);d.toggleCollapsed()}});Ext.define("Ext.grid.plugin.SummaryRow",{extend:Ext.grid.Row,alias:["plugin.summaryrow","plugin.gridsummaryrow"],mixins:[Ext.mixin.Hookable],isSpecialRow:true,config:{grid:null,emptyText:"",docked:"bottom",translatable:{translationMethod:"csstransform"}},classCls:Ext.baseCSSPrefix+"summaryrow",init:function(a){this.setGrid(a)},updateGrid:function(e,j){var h=this,d,a,g,c,b;h.storeListeners=Ext.destroy(h.storeListeners);if(e){d=e.getColumns();a=d.length;g=e.getHeaderContainer();b=e.getStore();h.storeListeners=b.onAfter({destroyable:true,scope:h,add:"doUpdateSummary",remove:"doUpdateSummary",update:"doUpdateSummary",refresh:"doUpdateSummary",clear:"doUpdateSummary"});e.getHeaderContainer().on({columnadd:"onColumnAdd",columnmove:"onColumnMove",columnremove:"onColumnRemove",columnshow:"onColumnShow",columnhide:"onColumnHide",columnresize:"onColumnResize",scope:h});if(e.initialized){e.insertAfter(h,g)}else{e.on("initialize",function(){e.insertAfter(h,g)},h,{single:true})}e.addCls(Ext.baseCSSPrefix+"grid-hassummaryrow");for(c=0;c<a;c++){h.onColumnAdd(g,d[c])}h.bindHook(e,"onScrollBinder","onGridScroll");if(b.isLoaded()){h.doUpdateSummary()}}},onGridScroll:function(a){if(this.currentX!==a){this.translate(a);this.currentX=a}},onColumnAdd:function(a,b){this.insertColumn(a.getColumns().indexOf(b),b);this.updateRowWidth()},onColumnMove:function(a,c,e,b,d){this.moveColumn(c,b,d)},onColumnRemove:function(a,b){this.removeColumn(b);this.updateRowWidth()},onColumnShow:function(a,b){this.showColumn(b);this.updateRowWidth()},onColumnHide:function(a,b){this.hideColumn(b);this.updateRowWidth()},onColumnResize:function(a,c,b){this.setColumnWidth(c,b);this.updateRowWidth()},updateRowWidth:function(){this.setWidth(this.getGrid().calculateTotalColumnWidth())},doUpdateSummary:function(){var k=this,a=k.getGrid(),o=a.getStore(),d=a.getColumns(),h=d.length,b=k.getEmptyText(),e,c,j,g,n,p,m,l,q;for(e=0;e<h;e++){c=d[e];j=c.getSummaryType();p=k.getCellByColumn(c);if(!c.getIgnore()&&j!==null){l=c.getDataIndex();g=c.getSummaryRenderer();n=c.getSummaryFormatter();q=c.getScope();if(Ext.isFunction(j)){m=j.call(o,o.data.items.slice(),l)}else{switch(j){case"sum":case"average":case"min":case"max":m=o[j](c.getDataIndex());break;case"count":m=o.getCount();break;default:m=Ext.callback(j,null,[o.data.items.slice(),l,o],0,k);break}}if(n!==null){m=n(m)}else{if(g!==null){j=typeof g;if(j==="function"){m=g.call(q,m,o,l,p)}else{if(j==="string"){m=Ext.callback(g,q,[m,o,l,p],0,c)}}}}p.setValue(m)}else{p.setValue(b)}}},doDestroy:function(){this.setGrid(null);this.callParent()},privates:{applyViewModel:function(){return undefined},getCellCfg:function(b){var a=Ext.apply({},this.callParent([b]));delete a.bind;return a},getColumnCell:function(a){return a.getSummaryCell()}}});Ext.define("Ext.plugin.SortableList",{extend:Ext.Component,alias:"plugin.sortablelist",mixins:[Ext.mixin.Hookable],config:{list:null,handleSelector:"."+Ext.baseCSSPrefix+"list-sortablehandle"},init:function(a){this.setList(a)},updateList:function(a){if(a){if(a.initialized){this.attachListeners()}else{a.on({initialize:"attachListeners",scope:this,single:true})}}},attachListeners:function(){var b=this.getList(),a=b.getScrollable().getElement();this.scrollerElement=a;a.onBefore({dragstart:"onScrollerDragStart",scope:this})},onScrollerDragStart:function(b,a){if(Ext.DomQuery.is(a,this.getHandleSelector())){if(!this.animating){this.onDragStart(b,a)}return false}},onDragStart:function(c){var d=Ext.getCmp(c.getTarget("."+Ext.baseCSSPrefix+"listitem").id),b=this.getList(),a=b.getStore();this.scrollerElement.on({drag:"onDrag",dragend:"onDragEnd",scope:this});this.positionMap=b.getItemMap();this.listStore=a;this.previousIndexDistance=0;this.dragRow=d;this.dragRecord=d.getRecord();this.dragRowIndex=this.currentDragRowIndex=d.$dataIndex;this.dragRowHeight=this.positionMap.getItemHeight(this.dragRowIndex);if(b.getInfinite()){this.startTranslate=this.positionMap.map[this.dragRowIndex]}else{d.translate(0,0);this.startTranslate=0}d.addCls(Ext.baseCSSPrefix+"list-item-dragging")},onDrag:function(t){var s=this.getList(),n=s.listItems,h=s.getStore(),o=s.getStore().data,v=this.dragRow,j=v.id,p=s.getListItemInfo(),c=this.positionMap,g=0,q,u,m,l,x,w,r,b,d,a,k;this.dragRowPosition=this.startTranslate+t.deltaY;v.translate(0,this.dragRowPosition);x=c.findIndex(this.dragRowPosition+(this.dragRowHeight/2));l=s.getItemAt(x);if(l){g=x-this.currentDragRowIndex;if(g!==0){k=g<0;for(q=0,m=Math.abs(g);q<m;q++){if(k){r=this.currentDragRowIndex-q;u=s.getItemAt(r-1)}else{r=this.currentDragRowIndex+q;u=s.getItemAt(r+1)}b=c.map[r];u.translate(0,b);d=u.getRecord();a=d.id;Ext.Array.remove(o.items,d);o.items.splice(r,0,d);o.indices[j]=o.indices[a];o.indices[a]=r;s.updateListItem(u,r,p);u.$position=b}w=n.indexOf(v);Ext.Array.remove(n,v);n.splice(w+g,0,v);v.$dataIndex=x;v.$position=c.map[x];this.currentDragRowIndex=x}}},onDragEnd:function(){var b=this,e=b.dragRow,c=b.getList(),d=c.getListItemInfo(),a=e.$position;b.scrollerElement.un({drag:"onDrag",dragend:"onDragEnd",scope:b});b.animating=true;e.getTranslatable().on("animationend",function(){e.removeCls(Ext.baseCSSPrefix+"list-item-dragging");var g=this.currentDragRowIndex,h=this.dragRowIndex;if(g!==h){c.updateListItem(e,e.$dataIndex,d);e.$position=a;c.fireEvent("dragsort",c,e,g,h)}b.animating=false},b,{single:true});e.translate(0,a,{duration:100})}});Ext.define("Ext.layout.Fit",{extend:Ext.layout.Default,isFit:true,alias:"layout.fit",cls:Ext.baseCSSPrefix+"layout-fit",itemCls:Ext.baseCSSPrefix+"layout-fit-item",setContainer:function(a){this.callParent(arguments);this.onContainerSizeFlagsChange();this.monitorSizeFlagsChange()},onContainerSizeFlagsChange:function(){var a=this.container,b=a.getSizeFlags(),h=Boolean(b&a.LAYOUT_STRETCHED),g=a.innerItems,c,e,d;this.callParent();for(c=0,e=g.length;c<e;c++){d=g[c];d.setLayoutSizeFlags(b)}a.innerElement.toggleCls("x-stretched",h)},onItemInnerStateChange:function(b,a){this.callParent(arguments);b.setLayoutSizeFlags(a?this.container.getSizeFlags():0)}});Ext.define("Ext.grid.plugin.ViewOptions",{extend:Ext.Component,alias:"plugin.gridviewoptions",config:{grid:null,sheetWidth:320,sheet:{baseCls:Ext.baseCSSPrefix+"gridviewoptions",xtype:"sheet",items:[{docked:"top",xtype:"titlebar",title:"Customize",items:{xtype:"button",text:"Done",ui:"action",align:"right",role:"donebutton"}}],hidden:true,hideOnMaskTap:true,enter:"right",exit:"right",modal:true,translatable:{translationMethod:"csstransform"},right:0,layout:"fit",stretchY:true},columnList:{xtype:"nestedlist",title:"Columns",listConfig:{plugins:[{type:"sortablelist",handleSelector:"."+Ext.baseCSSPrefix+"column-options-sortablehandle"}],mode:"MULTI",infinite:true,itemTpl:['<div class="'+Ext.baseCSSPrefix+'column-options-itemwrap<tpl if="hidden"> {hiddenCls}</tpl>','<tpl if="grouped"> {groupedCls}</tpl>">','<div class="'+Ext.baseCSSPrefix+"column-options-sortablehandle "+Ext.baseCSSPrefix+'font-icon"></div>','<tpl if="header">','<div class="'+Ext.baseCSSPrefix+"column-options-folder "+Ext.baseCSSPrefix+'font-icon"></div>',"<tpl else>",'<div class="'+Ext.baseCSSPrefix+"column-options-leaf "+Ext.baseCSSPrefix+'font-icon"></div>',"</tpl>",'<div class="'+Ext.baseCSSPrefix+'column-options-text">{text}</div>','<tpl if="groupable && dataIndex">','<div class="'+Ext.baseCSSPrefix+"column-options-groupindicator "+Ext.baseCSSPrefix+'font-icon"></div>',"</tpl>",'<div class="'+Ext.baseCSSPrefix+"column-options-visibleindicator "+Ext.baseCSSPrefix+'font-icon"></div>',"</div>"],triggerEvent:null,bufferSize:1,minimumBufferSize:1},store:{type:"tree",fields:["id","text","dataIndex","header","hidden","hiddenCls","grouped","groupedCls","groupable"],root:{text:"Columns"}},clearSelectionOnListChange:false},visibleIndicatorSelector:"."+Ext.baseCSSPrefix+"column-options-visibleindicator",groupIndicatorSelector:"."+Ext.baseCSSPrefix+"column-options-groupindicator"},_hiddenColumnCls:Ext.baseCSSPrefix+"column-options-hidden",_groupedColumnCls:Ext.baseCSSPrefix+"column-options-grouped",init:function(a){this.setGrid(a)},updateGrid:function(a,b){if(b){b.getHeaderContainer().renderElement.un({contextmenu:"onHeaderContextMenu",longpress:"onHeaderLongPress",scope:this});b.un({columnadd:"onColumnAdd",columnmove:"onColumnMove",columnremove:"onColumnRemove",columnhide:"onColumnHide",columnshow:"onColumnShow",scope:this})}if(a){a.getHeaderContainer().renderElement.on({contextmenu:"onHeaderContextMenu",longpress:"onHeaderLongPress",scope:this})}},applySheet:function(a){if(a&&!a.isComponent){a=Ext.factory(a,Ext.Sheet)}return a},applyColumnList:function(a){if(a&&!a.isComponent){a=Ext.factory(a,Ext.Container)}return a},updateColumnList:function(a){if(a){a.on({listchange:"onListChange",scope:this});a.on({dragsort:"onColumnReorder",delegate:"> list",scope:this});this.attachTapListeners()}},updateSheet:function(a){a.setWidth(this.getSheetWidth());a.add(this.getColumnList());a.on("hide","onSheetHide",this)},onDoneButtonTap:function(){this.hideViewOptions()},onColumnReorder:function(c,k,j){var a=Ext.getCmp(k.getRecord().get("id")),g=a.getParent(),e=g.getInnerItems(),b,d,h;for(b=0,d=j;b<d;b++){h=e[b];if(!h.isHeaderGroup&&h.getIgnore()){j+=1}}this.isMoving=true;g.insert(j,a);this.isMoving=false},attachTapListeners:function(){var a=this.getColumnList().getActiveItem();if(!a.hasAttachedTapListeners){a.onBefore({itemtap:"onListItemTap",scope:this});a.hasAttachedTapListeners=true}},onListChange:function(c,g){var k=g.getStore(),j=k.getNode(),a=j.childNodes,h=a.length,d,b,e;for(d=0;d<h;d++){e=a[d];b=Ext.getCmp(e.getId());e.set("hidden",b.isHidden())}this.attachTapListeners()},onListItemTap:function(d,b,i,a,h){var c=this,g=false;if(Ext.fly(h.target).is(c.getVisibleIndicatorSelector())){c.onVisibleIndicatorTap(i,a,b);g=true}else{if(Ext.fly(h.target).is(c.getGroupIndicatorSelector())){c.onGroupIndicatorTap(i,a,b);g=true}}return !g},onVisibleIndicatorTap:function(d,a){var c=!a.get("hidden"),b=Ext.getCmp(a.get("id"));if(c){b.hide();a.set("hidden",true)}else{b.show();a.set("hidden",false)}},onGroupIndicatorTap:function(e,a){var d=this,c=!a.get("grouped"),b=d.getGrid().getStore();this.getListRoot().cascade(function(g){g.set("grouped",false)});if(c){b.setGrouper({property:a.get("dataIndex")});a.set("grouped",true)}else{b.setGrouper(null)}},onColumnHide:function(d,c){var e=this.getColumnList(),g=e.getActiveItem(),b=g.getStore(),a=b.getById(c.getId());if(a){a.set("hidden",true)}},onColumnShow:function(d,c){var e=this.getColumnList(),g=e.getActiveItem(),b=g.getStore(),a=b.getById(c.getId());if(a){a.set("hidden",false)}},onColumnAdd:function(b,d){if(d.getIgnore()||this.isMoving){return}var k=this,e=k.getColumnList(),m=b.getHeaderContainer(),h=d.getParent(),p=e.getStore(),i=p.getRoot(),j=k._hiddenColumnCls,c=b.getGrouped(),a=b.getStore().getGrouper(),l=d.getDataIndex(),g={id:d.getId(),text:d.getText(),groupable:c&&d.getGroupable(),hidden:d.isHidden(),hiddenCls:j,grouped:!!(c&&a&&a.getProperty()===l),groupedCls:k._groupedColumnCls,dataIndex:d.getDataIndex(),leaf:true},o,n;if(h!==m){n=i.findChild("id",h.getId());if(!n){o=h.getParent().indexOf(h);n=i.insertChild(o,{groupable:false,header:true,hidden:h.isHidden(),hiddenCls:j,id:h.getId(),text:h.getText()})}o=h.indexOf(d);i=n}else{o=m.indexOf(d)}i.insertChild(o,g)},onColumnMove:function(b,a,c){this.onColumnRemove(b,a);this.onColumnAdd(b,a,c)},onColumnRemove:function(d,c){if(c.getIgnore()||this.isMoving){return}var b=this.getListRoot(),a=b.findChild("id",c.getId(),true);if(a){a.parentNode.removeChild(a,true)}},onHeaderContextMenu:function(a){a.preventDefault()},onHeaderLongPress:function(a){if(!this.getSheet().isVisible()){this.showViewOptions()}},hideViewOptions:function(){var b=this,a=b.getSheet();b.getGrid().getHeaderContainer().setSortable(b.cachedSortable);delete b.cachedSortable;a.hide()},onSheetHide:function(){this.hideViewOptions()},showViewOptions:function(){var b=this,a=b.getSheet(),c;b.setup();if(!a.isVisible()){c=b.getGrid().getHeaderContainer();b.cachedSortable=c.getSortable();c.setSortable(false);b.updateListInfo();a.show()}},privates:{getListRoot:function(){return this.getColumnList().getStore().getRoot()},setup:function(){var d=this,c=d.getGrid(),b,a;if(d.doneSetup){return}d.doneSetup=true;a=this.getListRoot();a.removeAll();c.getColumns().forEach(function(e){d.onColumnAdd(c,e)});c.on({columnadd:"onColumnAdd",columnmove:"onColumnMove",columnremove:"onColumnRemove",columnhide:"onColumnHide",columnshow:"onColumnShow",scope:d});b=d.getSheet();c.add(b);b.translate(d.getSheetWidth());b.down("button[role=donebutton]").on({tap:"onDoneButtonTap",scope:d})},updateListInfo:function(){var d=this.getGrid(),b=d.getStore(),a=b.getGrouper(),e=d.getGrouped(),c=a&&a.getProperty(),g=d.getHeaderContainer();this.getColumnList().getStore().getRoot().cascade(function(j){var i=false,h;if(e){h=j.get("dataIndex");i=h&&h===c}j.set("grouped",h&&i)})}}});Ext.define("Ext.layout.Float",{extend:Ext.layout.Default,alias:"layout.float",config:{direction:"left"},cls:Ext.baseCSSPrefix+"layout-float",itemCls:Ext.baseCSSPrefix+"layout-float-item",setContainer:function(a){this.callParent(arguments);a.innerElement.addCls(this.layoutClass)},updateDirection:function(c,a){var b="direction-";this.container.innerElement.swapCls(b+c,b+a)}});Ext.define("Ext.layout.wrapper.Dock",{config:{direction:"horizontal",element:{className:"x-dock"},bodyElement:{className:"x-dock-body"},innerWrapper:null,sizeState:false,container:null},positionMap:{top:"start",left:"start",bottom:"end",right:"end"},constructor:function(a){this.items={start:[],end:[]};this.itemsCount=0;this.initConfig(a)},addItems:function(a){var b,d,c;for(b=0,d=a.length;b<d;b++){c=a[b];this.addItem(c)}},addItem:function(p){var q=p.getDocked(),j=this.positionMap[q],b=p.$dockWrapper,c=this.getContainer(),k=c.indexOf(p),n=this.items,m=n[j],a,h,g,l,o,e,d;if(b){b.removeItem(p)}p.$dockWrapper=this;a=p.link("$dockItemWrapper",new Ext.util.Wrapper({className:"x-dock-item"}));p.addCls("x-docked-"+q);h=a.element;for(g=0,l=m.length;g<l;g++){o=m[g];d=c.indexOf(o);if(d>k){e=o.element;m.splice(g,0,p);break}}if(!e){m.push(p);e=this.getBodyElement()}this.itemsCount++;if(j==="start"){h.insertBefore(e)}else{h.insertAfter(e)}a.wrap(p.element);a.bindSize(this.getDirection()==="horizontal"?"width":"height")},removeItem:function(c){var a=c.getDocked(),b=this.items[this.positionMap[a]];c.removeCls("x-docked-"+a);Ext.Array.remove(b,c);c.unlink(["$dockItemWrapper"]);c.element.detach();delete c.$dockWrapper;if(--this.itemsCount===0){this.destroy()}},getItemsSlice:function(c){var a=this.getContainer(),b=this.items,j=[],h,d,g,e;for(h=b.start,d=0,g=h.length;d<g;d++){e=h[d];if(a.indexOf(e)>c){j.push(e)}}for(h=b.end,d=0,g=h.length;d<g;d++){e=h[d];if(a.indexOf(e)>c){j.push(e)}}return j},applyElement:function(a){return Ext.Element.create(a)},updateElement:function(a){a.addCls("x-dock-"+this.getDirection())},applyBodyElement:function(a){return Ext.Element.create(a)},updateBodyElement:function(a){this.getElement().append(a)},updateInnerWrapper:function(a,c){var b=this.getBodyElement();if(c&&c.$outerWrapper===this){b.remove(c.getElement());delete c.$outerWrapper}if(a){a.setSizeState(this.getSizeState());a.$outerWrapper=this;b.append(a.getElement())}},updateSizeState:function(b){var a=this.getInnerWrapper();this.getElement().setSizeState(b);if(a){a.setSizeState(b)}},destroy:function(){var c=this,b=c.getInnerWrapper(),a=c.$outerWrapper;if(b){if(a){a.setInnerWrapper(b)}else{b.getElement().replace(c.getElement());delete b.$outerWrapper}}delete c.$outerWrapper;c.setInnerWrapper(null);c.unlink(["_bodyElement","_element"]);c.callParent()}});Ext.define("Ext.mixin.Progressable",{extend:Ext.Mixin,isProgressable:true,mixinConfig:{id:"progressable"},config:{minProgressInput:0,maxProgressInput:1,minProgressOutput:0,maxProgressOutput:100,dynamic:true,state:null},_progressActive:false,_progress:0,_rawProgress:0,onStartProgress:Ext.emptyFn,onUpdateProgress:Ext.emptyFn,onEndProgress:Ext.emptyFn,startProgress:function(){if(!this._progressActive){this._progressActive=true;this.onStartProgress();this.updateProgress(this.getMinProgressInput())}},updateProgress:function(c,b){if(b&&b!=this.getState()){this.setState(b)}if(c>this.getMaxProgressInput()){c=this.getMaxProgressInput()}if(c<this.getMinProgressInput()){c=this.getMinProgressInput()}var a=this.mapValues(c,this.getMinProgressInput(),this.getMaxProgressInput(),this.getMinProgressOutput(),this.getMaxProgressOutput());this._progress=a;this._rawProgress=c;if(this.getDynamic()){this.onUpdateProgress(a)}},endProgress:function(){if(this._progressActive){this._progressActive=false;this.updateProgress(this.getMaxProgressInput());this.onEndProgress()}},mapValues:function(c,e,b,a,d){return(c-e)/(b-e)*(d-a)+a},setProgress:function(a){this.updateProgress(a)},getProgress:function(){return this._progress},getRawProgress:function(){return this._rawProgress}});Ext.define("Ext.navigation.Bar",{extend:Ext.TitleBar,isToolbar:true,config:{baseCls:Ext.baseCSSPrefix+"toolbar",cls:Ext.baseCSSPrefix+"navigation-bar",ui:"dark",title:null,defaultType:"button",layout:{type:"hbox"},defaultBackButtonText:"Back",animation:{duration:300},useTitleForBackButtonText:null,view:null,android2Transforms:false,backButton:{align:"left",ui:"back",hidden:true}},constructor:function(a){a=a||{};if(!a.items){a.items=[]}this.backButtonStack=[];this.activeAnimations=[];this.callParent([a])},applyBackButton:function(a){return Ext.factory(a,Ext.Button,this.getBackButton())},updateBackButton:function(a,b){if(b){this.remove(b)}if(a){this.add(a);a.on({scope:this,tap:this.onBackButtonTap})}},onBackButtonTap:function(){this.fireEvent("back",this)},updateView:function(b){var d=this,k,a,c,g,h,e,j;d.getItems();k=d.getBackButton();if(b){a=b.getInnerItems();for(c=0;c<a.length;c++){h=a[c];e=(h.getTitle)?h.getTitle():h.config.title;d.backButtonStack.push(e||"&nbsp;")}j=d.getTitleText();if(j===undefined){j=""}d.setTitle(j);g=d.getBackButtonText();if(g){k.setText(g);k.show()}}},onViewAdd:function(c,e){var d=this,b=d.backButtonStack,a,g;d.endAnimation();g=(e.getTitle)?e.getTitle():e.config.title;b.push(g||"&nbsp;");a=b.length>1;d.doChangeView(c,a,false)},onViewRemove:function(c){var d=this,b=d.backButtonStack,a;d.endAnimation();b.pop();a=b.length>1;d.doChangeView(c,a,true)},doChangeView:function(l,c,h){var s=this,p=s.leftBox,e=p.element,g=s.titleComponent,n=g.element,o=s.getBackButton(),m=s.getTitleText(),i=s.getBackButtonText(),r=s.getAnimation()&&l.getLayout().getAnimation(),q=r&&r.isAnimation&&l.isPainted(),d,j,a,k,b;if(q){j=s.createProxy(p.element);e.setStyle("opacity","0");o.setText(i);o[c?"show":"hide"]();a=s.createProxy(g.element.getParent());n.setStyle("opacity","0");s.setTitle(m);d=s.measureView(j,a,h);k=d.left;b=d.title;s.isAnimating=true;s.animate(e,k.element);s.animate(n,b.element,function(){n.setLeft(d.titleLeft);s.isAnimating=false;s.refreshTitlePosition()});s.animate(j.ghost,k.ghost);s.animate(a.ghost,b.ghost,function(){j.ghost.destroy();a.ghost.destroy()})}else{if(c){o.setText(i);o.show()}else{o.hide()}s.setTitle(m)}},measureView:function(e,u,k){var w=this,j=w.element,v=w.leftBox.element,p=w.titleComponent.element,l=Math.min(j.getWidth()/3,200),q=v.getWidth(),c=j.getX(),m=j.getWidth(),n=p.getX(),d=p.getLeft(true),s=p.getWidth(),r=e.x,t=e.width,a=e.left,i,b,g,x,o,h;h=c-r-t;if(k){i=h;b=Math.min(n-t,l)}else{b=h;i=Math.min(n-c,l)}g={element:{from:{transform:{translateX:i},opacity:0},to:{transform:{translateX:0},opacity:1}},ghost:{to:{transform:{translateX:b},opacity:0}}};h=c-n+q;if((a+s)>n){o=c-n-s}if(k){p.setLeft(0);b=c+m-n-s;if(o!==undefined){i=o}else{i=h}}else{i=c+m-n-s;if(o!==undefined){b=o}else{b=h}i=Math.max(d,i)}x={element:{from:{transform:{translateX:i},opacity:0},to:{transform:{translateX:d},opacity:1}},ghost:{to:{transform:{translateX:b},opacity:0}}};return{left:g,title:x,titleLeft:d}},animate:function(b,a,e){var c=this,d;b.setLeft(0);a=Ext.apply(a,{element:b,easing:"ease-in-out",duration:c.getAnimation().duration||250,preserveEndState:true});d=new Ext.fx.Animation(a);d.on("animationend",function(){if(e){e.call(c)}},c);Ext.Animator.run(d);c.activeAnimations.push(d)},endAnimation:function(){var a=this.activeAnimations,d,b,c;if(a){c=a.length;for(b=0;b<c;b++){d=a[b];if(d.isAnimating){d.stopAnimation()}else{d.destroy()}}this.activeAnimations=[]}},refreshTitlePosition:function(){if(!this.isAnimating){this.callParent()}},getBackButtonText:function(){var b=this.backButtonStack[this.backButtonStack.length-2],a=this.getUseTitleForBackButtonText();if(!a){if(b){b=this.getDefaultBackButtonText()}}return b},getTitleText:function(){return this.backButtonStack[this.backButtonStack.length-1]},beforePop:function(b){b--;for(var a=0;a<b;a++){this.backButtonStack.pop()}},updateHidden:function(a){if(!a){this.element.setStyle({position:"relative",top:"auto",left:"auto",width:"auto"})}else{this.element.setStyle({position:"absolute",top:"-1000px",left:"-1000px",width:this.element.getWidth()+"px"})}},createProxy:function(b){var e,a,g,d,c;e=b.dom.cloneNode(true);e.id=b.id+"-proxy";b.getParent().dom.appendChild(e);e=Ext.get(e);a=b.getX();g=b.getY();d=b.getLeft(true);c=b.getWidth();e.setStyle("position","absolute");e.setX(a);e.setY(g);e.setHeight(b.getHeight());e.setWidth(c);return{x:a,y:g,left:d,width:c,ghost:e}}});Ext.define("Ext.navigation.View",{extend:Ext.Container,alternateClassName:"Ext.NavigationView",xtype:"navigationview",config:{baseCls:Ext.baseCSSPrefix+"navigationview",navigationBar:{docked:"top"},defaultBackButtonText:"Back",useTitleForBackButtonText:false,layout:{type:"card",animation:{duration:300,easing:"ease-out",type:"slide",direction:"left"}}},initialize:function(){var b=this,a=b.getNavigationBar();if(a){a.on({back:b.onBackButtonTap,scope:b});b.relayEvents(a,"rightbuttontap");b.relayEvents(b,{add:"push",remove:"pop"})}},applyLayout:function(a){a=a||{};return a},onBackButtonTap:function(){this.pop();this.fireEvent("back",this)},push:function(a){return this.add(a)},pop:function(a){if(this.beforePop(a)){return this.doPop()}},beforePop:function(g){var e=this,h=e.getInnerItems(),d,a,c,b;if(Ext.isString(g)||Ext.isObject(g)){d=h.length-1;for(a=d;a>=0;a--){if((Ext.isString(g)&&Ext.ComponentQuery.is(h[a],g))||(Ext.isObject(g)&&g==h[a])){g=d-a;break}}if(!Ext.isNumber(g)){return false}}c=h.length;if(!Ext.isNumber(g)||g<1){g=1}g=Math.min(g,c-1);if(g){e.getNavigationBar().beforePop(g);b=h.splice(-g,g-1);for(a=0;a<b.length;a++){this.remove(b[a])}return true}return false},doPop:function(){var b=this,c=this.getInnerItems();b.remove(c[c.length-1]);if(c.length<3&&this.$backButton){this.$backButton.hide()}if(this.$titleContainer){var a=c[c.length-2];this.$titleContainer.setTitle((a.getTitle)?a.getTitle():a.config.title)}return this.getActiveItem()},getPreviousItem:function(){var a=this.getInnerItems();return a[a.length-2]},updateUseTitleForBackButtonText:function(b){var a=this.getNavigationBar();if(a){a.setUseTitleForBackButtonText(b)}},updateDefaultBackButtonText:function(b){var a=this.getNavigationBar();if(a){a.setDefaultBackButtonText(b)}},onBackButtonContainerAdd:function(b,a){a.on({scope:this,show:this.refreshBackButtonContainer,hide:this.refreshBackButtonContainer});this.refreshBackButtonContainer()},onBackButtonContainerRemove:function(b,a){a.un({scope:this,show:this.refreshBackButtonContainer,hide:this.refreshBackButtonContainer});this.refreshBackButtonContainer()},refreshBackButtonContainer:function(){if(!this.$backButtonContainer){return}var c=0,a=this.$backButtonContainer,b=a.items,d;for(;c<b.length;c++){d=b.get(c);if(!d.isHidden()){this.$backButtonContainer.show();return}}this.$backButtonContainer.hide()},applyNavigationBar:function(a){var b=this;if(!a){a={hidden:true,docked:"top"}}b.getItems();if(a.title){delete a.title}a.view=b;a.useTitleForBackButtonText=b.getUseTitleForBackButtonText();if(a.splitNavigation){b.$titleContainer=b.add({docked:"top",xtype:"titlebar",ui:"light",title:b.$currentTitle||""});var c=(a.splitNavigation===true)?{}:a.splitNavigation;b.$backButtonContainer=b.add({xtype:"toolbar",docked:"bottom",hidden:true});b.$backButtonContainer.on({scope:b,add:b.onBackButtonContainerAdd,remove:b.onBackButtonContainerRemove});b.$backButton=b.$backButtonContainer.add({xtype:"button",text:"Back",hidden:true,ui:"back"});if(a.items){b.$backButtonContainer.add(a.items)}if(c.items){b.$titleContainer.add(c.items)}b.$backButton.on({scope:b,tap:b.onBackButtonTap});a={hidden:true,docked:"top"}}return Ext.factory(a,Ext.navigation.Bar,this.getNavigationBar())},updateNavigationBar:function(a,b){if(b){this.remove(b,true)}if(a){this.add(a)}},applyActiveItem:function(d,a){var b=this,c=b.getInnerItems();b.getItems();if(!b.initialized){d=c.length-1}return this.callParent([d,a])},doResetActiveItem:function(d){var a=this,c=a.getInnerItems(),b=a.getLayout().getAnimation();if(d>0){if(b&&b.isAnimation){b.setReverse(true)}a.setActiveItem(d-1);a.getNavigationBar().onViewRemove(a,c[d],d)}},doRemove:function(){var a=this.getLayout().getAnimation();if(a&&a.isAnimation){a.setReverse(false)}this.callParent(arguments)},onItemAdd:function(d,a){var c=this,e=c.initialized,b;if(d&&d.getDocked()&&d.config.title===true){c.$titleContainer=d}c.doItemLayoutAdd(d,a);if(e&&d.isInnerItem()){c.setActiveItem(d);b=this.getNavigationBar();if(b){this.getNavigationBar().onViewAdd(c,d,a)}if(c.$backButtonContainer){c.$backButton.show()}}if(d&&d.isInnerItem()){c.updateTitleContainerTitle((d.getTitle)?d.getTitle():d.config.title)}if(e){c.fireEvent("add",c,d,a)}},updateTitleContainerTitle:function(a){if(this.$titleContainer){this.$titleContainer.setTitle(a)}else{this.$currentTitle=a}},reset:function(){return this.pop(this.getInnerItems().length)}});Ext.define("Ext.panel.Header",{extend:Ext.Container,xtype:"panelheader",isPanelHeader:true,baseCls:Ext.baseCSSPrefix+"panel-header",config:{glyph:null,icon:null,iconAlign:null,iconCls:null,title:null,titleAlign:null,layout:{type:"hbox",align:"center"}},add:function(o){var l=this,e=Ext.isArray(o),g=e?o.slice(0):[o],h=l.getItems(),a=h.length,b=g.length,k,d,m,j;for(d=0;d<b;++d){k=g[d];j=k.isWidget;if(!j){k.$initParent=l}g[d]=l.factoryItem(k);delete k.$initParent}Ext.Array.sort(g,l.sortByWeight);if(a){h=h.items;m=0;for(d=0;d<b;++d){k=g[d];for(;m<a;++m){if(l.sortByWeight(k,h[m])<0){break}}l.insert(m,k);++m;++a}}else{l.callParent([g])}return e?g:o},applyTitle:function(c,a){var b=a;if(b){if(!c||typeof c==="string"){b.setText(c||"")}else{if(c){b.setConfig(c)}}}else{b=Ext.create(this.createTitle(c))}return b},createTitle:function(b){var a={xtype:"paneltitle",flex:1};if(b){if(typeof b==="string"){b={text:b}}Ext.merge(a,b)}return a},createTools:function(e,d){var h=e&&e.length,a=h&&[],g,b;d=d||null;for(b=0;b<h;++b){g=e[b];if(typeof g==="string"){g={xtype:"paneltool",type:g,toolOwner:d}}else{if(g.isInstance){if(d){g.setToolOwner(d)}}else{g=Ext.apply({xtype:"paneltool",toolOwner:d},g)}}a[b]=g}return a},updateGlyph:function(a){this.ensureTitle().setGlyph(a)},updateIcon:function(a){this.ensureTitle().setIcon(a)},updateIconAlign:function(b,a){this.ensureTitle().setIconAlign(b)},updateIconCls:function(a){this.ensureTitle().setIconCls(a)},updateTitle:function(b,a){if(a){a.setConfig(b)}else{this.add(b)}},updateTitleAlign:function(b,a){this.ensureTitle().setTextAlign(b)},updateUi:function(b,a){this.callParent([b,a]);this.ensureTitle().setUi(b)},privates:{clearTools:function(){var a=this.getItems().items,d,b;for(b=a.length;b-->0;){d=a[b];if(d.isPanelTool){this.remove(d)}}},ensureTitle:function(){var a=this,b=a.getTitle();if(!b){a.setTitle("");b=a.getTitle()}return b},sortByWeight:function(b,a){return(b.weight||0)-(a.weight||0)}}});Ext.define("Ext.panel.Title",{extend:Ext.Component,xtype:"paneltitle",isPanelTitle:true,_textAlign:"left",_iconAlign:"left",_text:"&#160;",cachedConfig:{textAlign:null,text:null,glyph:null,icon:null,iconAlign:null,iconCls:null},weight:-10,element:{unselectable:"on",reference:"element",cls:Ext.baseCSSPrefix+"panel-title-align-left",children:[{reference:"iconElement",style:"display:none",cls:Ext.baseCSSPrefix+"panel-title-icon "+Ext.baseCSSPrefix+"panel-title-icon-left"},{reference:"textElement",cls:Ext.baseCSSPrefix+"panel-title-text"}]},_textAlignClasses:{left:Ext.baseCSSPrefix+"panel-title-align-left",center:Ext.baseCSSPrefix+"panel-title-align-center",right:Ext.baseCSSPrefix+"panel-title-align-right"},_iconAlignClasses:{top:Ext.baseCSSPrefix+"panel-title-icon-top",right:Ext.baseCSSPrefix+"panel-title-icon-right",bottom:Ext.baseCSSPrefix+"panel-title-icon-bottom",left:Ext.baseCSSPrefix+"panel-title-icon-left"},baseCls:Ext.baseCSSPrefix+"panel-title",_titleSuffix:"-title",_glyphCls:Ext.baseCSSPrefix+"panel-title-glyph",_verticalCls:Ext.baseCSSPrefix+"panel-title-vertical",applyText:function(a){return a||"&#160;"},updateGlyph:function(g,c){g=g||0;var e=this,h=e._glyphCls,b=e.iconElement,a,d;e.glyph=g;e._syncIconVisibility();if(typeof g==="string"){d=g.split("@");g=d[0];a=d[1]||Ext._glyphFontFamily}if(!g){b.dom.innerHTML="";b.removeCls(h)}else{b.dom.innerHTML="&#"+g+";";b.addCls(h)}if(a){b.setStyle("font-family",a)}},updateIcon:function(b,d){var c=this,a;c._syncIconVisibility();a=c.iconElement;a.setStyle("background-image",b?"url("+b+")":"")},updateIconAlign:function(g,d){var c=this,a=c.iconElement,e=c._iconAlignClasses,b=c.el;if(d){a.removeCls(e[d])}a.addCls(e[g]);if(g==="top"||g==="left"){b.insertFirst(a)}else{b.appendChild(a)}if(g==="top"||g==="bottom"){b.addCls(c._verticalCls)}else{b.removeCls(c._verticalCls)}},updateIconCls:function(b,c){var a=this.iconElement;this._syncIconVisibility();if(c){a.removeCls(c)}if(b){a.addCls(b)}},updateText:function(a){this.textElement.setHtml(a)},updateTextAlign:function(d,b){var a=this,c=a._textAlignClasses;if(b){a.removeCls(c[b])}a.addCls(c[d])},privates:{_getVerticalAdjustDirection:function(){return"left"},_hasIcon:function(){return !!(this.getIcon()||this.getIconCls()||this.getGlyph())},_syncIconVisibility:function(){this.iconElement.setDisplayed(this._hasIcon())}}});Ext.define("Ext.panel.Tool",{extend:Ext.Component,xtype:["paneltool","tool"],isPanelTool:true,baseCls:Ext.baseCSSPrefix+"tool",disabledCls:Ext.baseCSSPrefix+"tool-disabled",toolPressedCls:Ext.baseCSSPrefix+"tool-pressed",toolOverCls:Ext.baseCSSPrefix+"tool-over",element:{reference:"element",listeners:{click:"onClick",mousedown:"onMouseDown",mouseover:"onMouseOver",mouseout:"onMouseOut"},children:[{reference:"toolElement"}]},handler:null,scope:null,toolOwner:null,config:{iconCls:null,type:null},stopEvent:true,weight:10,updateIconCls:function(c,b){var a=this.toolElement;a.replaceCls(b,c)},updateType:function(c,d){var b=this.getBaseCls(),a=this.toolElement;a.replaceCls(d&&(b+"-"+d),c&&(b+"-"+c))},privates:{onClick:function(d,c){var b=this,a=b.handler||b.callback;if(b.disabled){return false}if(d.type!=="keydown"){b.el.removeCls(b.toolPressedCls+" "+b.toolOverCls)}if(b.stopEvent!==false){d.stopEvent()}if(a){Ext.callback(a,b.scope,[b.toolOwner||b.parent,b,d],0,b)}b.fireEvent("click",b,d,b.toolOwner||b.ownerCt);return true},onMouseDown:function(a){a.preventDefault();if(this.disabled){return false}this.el.addCls(this.toolPressedCls)},onMouseOver:function(){if(this.disabled){return false}this.el.addCls(this.toolOverCls)},onMouseOut:function(){this.el.removeCls(this.toolOverCls)}}});Ext.define("Ext.plugin.ListPaging",{extend:Ext.Component,alias:"plugin.listpaging",config:{autoPaging:false,loadMoreText:"Load More...",noMoreRecordsText:"No More Records",loadTpl:['<div class="{cssPrefix}loading-spinner" style="font-size: 180%; margin: 10px auto;">','<span class="{cssPrefix}loading-top"></span>','<span class="{cssPrefix}loading-right"></span>','<span class="{cssPrefix}loading-bottom"></span>','<span class="{cssPrefix}loading-left"></span>',"</div>",'<div class="{cssPrefix}list-paging-msg">{message}</div>'].join(""),loadMoreCmp:{xtype:"component",baseCls:Ext.baseCSSPrefix+"list-paging",scrollDock:"bottom",hidden:true},loadMoreCmpAdded:false,loadingCls:Ext.baseCSSPrefix+"loading",list:null,scroller:null,loading:false},init:function(c){var a=c.getScrollable(),b=c.getStore();this.setList(c);this.setScroller(a);this.bindStore(c.getStore());this.addLoadMoreCmp();c.updateStore=Ext.Function.createInterceptor(c.updateStore,this.bindStore,this);if(this.getAutoPaging()){a.on({scrollend:this.onScrollEnd,scope:this})}},bindStore:function(a,b){if(b){b.un({beforeload:this.onStoreBeforeLoad,load:this.onStoreLoad,filter:this.onFilter,scope:this})}if(a){a.on({beforeload:this.onStoreBeforeLoad,load:this.onStoreLoad,filter:this.onFilter,scope:this})}},disableDataViewMask:function(){var a=this.getList();this._listMask=a.getLoadingText();a.setLoadingText(null)},enableDataViewMask:function(){if(this._listMask){var a=this.getList();a.setLoadingText(this._listMask);delete this._listMask}},applyLoadTpl:function(a){return(Ext.isObject(a)&&a.isTemplate)?a:new Ext.XTemplate(a)},applyLoadMoreCmp:function(a){a=Ext.merge(a,{html:this.getLoadTpl().apply({cssPrefix:Ext.baseCSSPrefix,message:this.getLoadMoreText()}),scrollDock:"bottom",listeners:{tap:{fn:this.loadNextPage,scope:this,element:"element"}}});return Ext.factory(a,Ext.Component,this.getLoadMoreCmp())},onScrollEnd:function(b,a,d){var c=this.getList();if(!this.getLoading()&&d>=b.getMaxUserPosition().y){this.currentScrollToTopOnRefresh=c.getScrollToTopOnRefresh();c.setScrollToTopOnRefresh(false);this.loadNextPage()}},updateLoading:function(a){var b=this.getLoadMoreCmp(),c=this.getLoadingCls();if(a){b.addCls(c)}else{b.removeCls(c)}},onStoreBeforeLoad:function(a){if(a.getCount()===0){this.getLoadMoreCmp().hide()}},onStoreLoad:function(a){var d=this.getLoadMoreCmp(),b=this.getLoadTpl(),c=this.storeFullyLoaded()?this.getNoMoreRecordsText():this.getLoadMoreText();if(a.getCount()){d.show()}this.setLoading(false);d.setHtml(b.apply({cssPrefix:Ext.baseCSSPrefix,message:c}));if(this.currentScrollToTopOnRefresh!==undefined){this.getList().setScrollToTopOnRefresh(this.currentScrollToTopOnRefresh);delete this.currentScrollToTopOnRefresh}this.enableDataViewMask()},onFilter:function(a){if(a.getCount()===0){this.getLoadMoreCmp().hide()}else{this.getLoadMoreCmp().show()}},addLoadMoreCmp:function(){var b=this.getList(),a=this.getLoadMoreCmp();if(!this.getLoadMoreCmpAdded()){b.add(a);b.fireEvent("loadmorecmpadded",this,b);this.setLoadMoreCmpAdded(true)}return a},storeFullyLoaded:function(){var a=this.getList().getStore(),b=a.getTotalCount();return b!==null?a.getTotalCount()<=(a.currentPage*a.getPageSize()):false},loadNextPage:function(){var a=this;if(!a.storeFullyLoaded()){a.disableDataViewMask();a.setLoading(true);a.getList().getStore().nextPage({addRecords:true})}}});Ext.define("Ext.plugin.PullRefresh",{extend:Ext.Component,alias:"plugin.pullrefresh",config:{width:"100%",list:null,pullText:"Pull down to refresh...",releaseText:"Release to refresh...",loadingText:"Loading...",loadedText:"Loaded.",lastUpdatedText:"Last Updated:&nbsp;",autoSnapBack:true,snappingAnimationDuration:300,lastUpdatedDateFormat:"m/d/Y h:iA",overpullSnapBackDuration:300,pullTpl:['<div class="'+Ext.baseCSSPrefix+'list-pullrefresh-arrow"></div>','<div class="'+Ext.baseCSSPrefix+'loading-spinner">','<span class="'+Ext.baseCSSPrefix+'loading-top"></span>','<span class="'+Ext.baseCSSPrefix+'loading-right"></span>','<span class="'+Ext.baseCSSPrefix+'loading-bottom"></span>','<span class="'+Ext.baseCSSPrefix+'loading-left"></span>',"</div>",'<div class="'+Ext.baseCSSPrefix+'list-pullrefresh-wrap">','<h3 class="'+Ext.baseCSSPrefix+'list-pullrefresh-message">{message}</h3>','<div class="'+Ext.baseCSSPrefix+'list-pullrefresh-updated">{updated}</div>',"</div>"].join(""),translatable:true},$state:"pull",refreshCls:Ext.baseCSSPrefix+"list-pullrefresh",getState:function(){return this.$state},setState:function(a){this.$state=a;this.updateView()},$isSnappingBack:false,getIsSnappingBack:function(){return this.$isSnappingBack},setIsSnappingBack:function(a){this.$isSnappingBack=a},init:function(a){this.setList(a);this.initScrollable()},getElementConfig:function(){return{reference:"element",classList:["x-unsized"],children:[{reference:"innerElement",className:this.refreshCls}]}},initScrollable:function(){var b=this,c=b.getList(),a=c.getScrollable();if(!a){return}b.lastUpdated=new Date();c.insert(0,b);a.on({scroll:b.onScrollChange,scope:b});b.updateView()},applyPullTpl:function(a){if(a instanceof Ext.XTemplate){return a}else{return new Ext.XTemplate(a)}},updateList:function(a,c){var b=this;if(a){a.on({order:"after",scrollablechange:b.initScrollable,scope:b})}if(c){c.un({order:"after",scrollablechange:b.initScrollable,scope:b})}},getPullHeight:function(){return this.innerElement.getHeight()},fetchLatest:function(){this.getList().getStore().fetch({page:1,start:0,callback:this.onLatestFetched,scope:this})},onLatestFetched:function(c){var j=this,k=j.getList().getStore(),b=k.getData(),a=c.length,g=[],h,e,d;for(d=0;d<a;d++){h=c[d];e=b.getByKey(h.getId());if(e){e.set(h.getData())}else{g.push(h)}e=undefined}k.insert(0,g);j.setState("loaded");j.fireEvent("latestfetched",j,g);if(j.getAutoSnapBack()){j.snapBack()}},snapBack:function(d){var b=this,c,a;if(this.getState()!=="loaded"&&d!==true){return}c=b.getList();a=c.getScrollable();b.setIsSnappingBack(true);a.doScrollTo(null,0,{callback:Ext.bind(b.onSnapBackEnd,b),duration:b.getSnappingAnimationDuration()})},onSnapBackEnd:function(){var b=this.getList(),a=b.getScrollable();this.setState("pull");this.setIsSnappingBack(false)},onScrollChange:function(b,a,h){if(h>0){return}var c=this,g=c.getPullHeight(),e=c.getIsSnappingBack(),d=c.getState();if(d==="loaded"&&!e){c.snapBack()}if(d!=="loading"&&d!=="loaded"){if(-h>=g+10){c.setState("release");b.getElement().onBefore({dragend:"onScrollerDragEnd",single:true,scope:c})}else{if(d==="release"&&(-h<g+10)){c.setState("pull");b.getElement().unBefore({dragend:"onScrollerDragEnd",single:true,scope:c})}}}c.getTranslatable().translate(0,-h)},onScrollerDragEnd:function(){var b=this,d,c,a;if(b.getState()==="loading"){return}c=b.getList();a=c.getScrollable();d=b.getPullHeight();b.setState("loading")},updateView:function(){var c=this,h=c.innerElement,g=c.getState(),e=c.getLastUpdatedText()+Ext.util.Format.date(c.lastUpdated,c.getLastUpdatedDateFormat()),d={state:g,updated:e},b=g.charAt(0).toUpperCase()+g.slice(1).toLowerCase(),a="get"+b+"Text";if(c[a]&&Ext.isFunction(c[a])){d.message=c[a].call(c)}h.removeCls(["loaded","loading","release","pull"],c.refreshCls);h.addCls(g,c.refreshCls);c.getPullTpl().overwrite(h,d)}});Ext.define("Ext.plugin.Responsive",{extend:Ext.mixin.Responsive,alias:"plugin.responsive",id:"responsive",isPlugin:true,constructor:function(d){var g=this,e=d.cmp,a=e.initialConfig,h=Ext.apply({responsiveConfig:a.responsiveConfig,responsiveFormulas:a.responsiveFormulas},d),b;delete h.cmp;delete h.type;g.cmp=e;g.initConfig(h);b=g.transformed;if(b){g.transformed=null;if(e.initConfig.$nullFn){e.setConfig(b)}else{e.initialConfig=Ext.merge(Ext.merge({},a),b)}}},init:Ext.emptyFn,privates:{transformInstanceConfig:function(c){var b=this.callParent([c]),a;this.transformed=b;a=Ext.apply({},c);delete a.responsiveConfig;delete a.responsiveFormulas;return a},updateResponsiveState:function(){var a=this.getResponsiveState();this.cmp.setConfig(a)}}});Ext.define("Ext.plugin.field.PlaceHolderLabel",{extend:Ext.AbstractPlugin,alias:"plugin.placeholderlabel",config:{field:null,labelVisible:false,cls:Ext.baseCSSPrefix+"placeholderlabel",showCls:Ext.baseCSSPrefix+"show-label"},constructor:function(a){this.initConfig(a);this.callParent([a])},init:function(a){this.setField(a);if(a.getValue()){this.setLabelVisible(true)}},maybeShowLabel:function(a){this.setLabelVisible(!!a.getValue())},getFieldListeners:function(){return{scope:this,keyup:this.maybeShowLabel,clearicontap:this.maybeShowLabel}},updateField:function(g,d){var e=this.getFieldListeners(),a=this.getCls(),c,b;if(d){d.un(e);d.removeCls(a)}if(g){c=g.getLabel();b={labelAlign:"top"};if(!c){b.label=g.getPlaceHolder()}g.on(e);g.addCls(a);g.setConfig(b)}},updateLabelVisible:function(a){var b=this.getField();if(b){b.toggleCls(this.getShowCls(),a)}}});Ext.define("Ext.tab.Tab",{extend:Ext.Button,xtype:"tab",alternateClassName:"Ext.Tab",isTab:true,config:{baseCls:Ext.baseCSSPrefix+"tab",pressedCls:Ext.baseCSSPrefix+"tab-pressed",activeCls:Ext.baseCSSPrefix+"tab-active",active:false,title:"&nbsp;"},updateIconCls:function(b,a){this.callParent([b,a]);if(a){this.removeCls("x-tab-icon")}if(b){this.addCls("x-tab-icon")}},updateTitle:function(a){this.setText(a)},updateActive:function(c,b){var a=this.getActiveCls();if(c&&!b){this.element.addCls(a);this.fireEvent("activate",this)}else{if(b){this.element.removeCls(a);this.fireEvent("deactivate",this)}}}},function(){this.override({activate:function(){this.setActive(true)},deactivate:function(){this.setActive(false)}})});Ext.define("Ext.tab.Bar",{extend:Ext.Toolbar,alternateClassName:"Ext.TabBar",xtype:"tabbar",config:{baseCls:Ext.baseCSSPrefix+"tabbar",defaultType:"tab",defaultTabUI:null,layout:{type:"hbox",align:"stretch"}},eventedConfig:{activeTab:null},initialize:function(){var a=this;a.callParent();a.on({tap:"onTabTap",delegate:"> tab",scope:a})},onTabTap:function(a){this.setActiveTab(a)},applyActiveTab:function(b,c){if(!b&&b!==0){return}var a=this.parseActiveTab(b);if(!a){return}return a},updateDocked:function(a){var c=this.getLayout(),d=this.getInitialConfig(),b;if(!d.layout||!d.layout.pack){b=(a=="bottom")?"center":"left";if(c.isLayout){c.setPack(b)}else{c.pack=(c&&c.pack)?c.pack:b}}this.callParent(arguments)},updateActiveTab:function(b,a){if(b){b.setActive(true)}if(a&&a.parent){a.setActive(false)}},parseActiveTab:function(a){if(typeof a=="number"){return this.getItems().items[a]}else{if(typeof a=="string"){a=Ext.getCmp(a)}}return a},onItemAdd:function(c,a){var b=this.getDefaultTabUI();if(b&&c.isTab&&(c.getUi()==null)){c.setUi(b)}this.callParent([c,a])}});Ext.define("Ext.tab.Panel",{extend:Ext.Container,xtype:"tabpanel",alternateClassName:"Ext.TabPanel",config:{tabBar:true,tabBarPosition:"top",layout:{type:"card",animation:{type:"slide",direction:"left"}},cls:Ext.baseCSSPrefix+"tabpanel"},initialize:function(){this.callParent();this.on({beforeactivetabchange:"doTabChange",delegate:"> tabbar",scope:this});this.on({disabledchange:"onItemDisabledChange",delegate:"> component",scope:this})},applyScrollable:function(){return false},updateUi:function(c,b){var a;this.callParent([c,b]);a=this.getTabBar();if(this.initialized&&a){a.setUi(newUi)}},updateActiveItem:function(d,k){if(d){var g=this.getInnerItems(),h=g.indexOf(k),j=g.indexOf(d),e=h>j,c=this.getLayout().getAnimation(),b=this.getTabBar(),i=b.parseActiveTab(h),a=b.parseActiveTab(j);if(c&&c.setReverse){c.setReverse(e)}this.callParent(arguments);if(j!=-1){this.forcedChange=true;b.setActiveTab(j);this.forcedChange=false;if(i){i.setActive(false)}if(a){a.setActive(true)}}}},doTabChange:function(a,d){var b=this.getActiveItem(),c;this.setActiveItem(a.indexOf(d));c=this.getActiveItem();return this.forcedChange||b!==c},applyTabBar:function(a){if(a===true){a={}}if(a){Ext.applyIf(a,{ui:this.getUi(),docked:this.getTabBarPosition()})}return Ext.factory(a,Ext.tab.Bar,this.getTabBar())},updateTabBar:function(a,c){var b=this;if(c&&b.removingTabBar===undefined){b.remove(c,true)}if(a){b.add(a);b.setTabBarPosition(a.getDocked())}},updateTabBarPosition:function(b){var a=this.getTabBar();if(a){a.setDocked(b)}},onItemAdd:function(e){var m=this;if(!e.isInnerItem()){return m.callParent(arguments)}var c=m.getTabBar(),q=e.getInitialConfig(),d=q.tab||{},h=(e.getTitle)?e.getTitle():q.title,k=(e.getIconCls)?e.getIconCls():q.iconCls,l=(e.getHidden)?e.getHidden():q.hidden,p=(e.getDisabled)?e.getDisabled():q.disabled,r=(e.getBadgeText)?e.getBadgeText():q.badgeText,b=m.getInnerItems(),j=b.indexOf(e),n=c.getItems(),a=c.getActiveTab(),o=(n.length>=b.length)&&n.getAt(j),i=e.isPanel&&e.getHeader(),g;if(h&&!d.title){d.title=h}if(k&&!d.iconCls){d.iconCls=k}if(l&&!d.hidden){d.hidden=l}if(p&&!d.disabled){d.disabled=p}if(r&&!d.badgeText){d.badgeText=r}g=Ext.factory(d,Ext.tab.Tab,o);if(!o){c.insert(j,g)}e.tab=g;if(i){i.setHidden(true)}m.callParent(arguments);if(!a&&a!==0){c.setActiveTab(c.getActiveItem())}},onItemDisabledChange:function(a,b){if(a&&a.tab){a.tab.setDisabled(b)}},onItemRemove:function(e,b,g){var d=this,a=d.getTabBar(),c;if(e===a){c=d.removingTabBar===undefined}else{if(a){a.remove(e.tab,true)}}d.callParent([e,b,g]);if(c){d.removingTabBar=g;d.setTabBar(null);delete d.removingTabBar}}});Ext.define("Ext.table.Cell",{extend:Ext.Container,xtype:"tablecell",config:{baseCls:"x-table-cell"},getElementConfig:function(){var a=this.callParent();a.children.length=0;return a}});Ext.define("Ext.table.Row",{extend:Ext.table.Cell,xtype:"tablerow",config:{baseCls:"x-table-row",defaultType:"tablecell"}});Ext.define("Ext.table.Table",{extend:Ext.Container,xtype:"table",config:{baseCls:"x-table",defaultType:"tablerow"},cachedConfig:{fixedLayout:false},fixedLayoutCls:"x-table-fixed",updateFixedLayout:function(a){this.innerElement[a?"addCls":"removeCls"](this.fixedLayoutCls)}});Ext.define("Ext.tip.Manager",{config:{tooltip:{xtype:"tooltip",align:"",anchorToTarget:false,anchor:false,closeAction:"hide",quickShowInterval:0}},interceptTitles:false,constructor:function(a){var b=this,c;b.initConfig(a);b._fly=new Ext.dom.Fly();b.tip=c=Ext.create(b.createTooltip());c.on({beforeshow:"onBeforeShow",hovertarget:"onHoverTarget",scope:b});b.globalListeners=Ext.on({scope:b,destroyable:true,dragstart:"dragDisable",dragend:"dragEnable",dragcancel:"dragEnable"})},disable:function(){var a=++this.disabled;if(a===1){this.getTooltip().disable()}},enable:function(){var a=--this.disabled;if(a===0){this.getTooltip().enable()}else{if(a<0){this.disabled=0}}},destroy:function(){var a=this;a._fly.detach();a.globalListeners=a.tip=Ext.destroy(a.tip,a.globalListeners);a.callParent()},createTooltip:function(){var b=this,a=b.getTooltip();return Ext.apply({id:"ext-global-tooltip",delegate:b.delegateQuickTip.bind(b),target:Ext.getBody()},a)},hide:function(){if(this.tip){this.tip.hide()}},privates:{disabled:0,_propertyMap:(function(){var a=function(d){return parseInt(d,10)},c=function(d){return !!d},b=Ext.identityFn;return{html:{prop:"data-qtip",parse:b},width:{prop:"data-qwidth",parse:a},minWidth:{prop:"data-qminWidth",parse:b},maxWidth:{prop:"data-qmaxWidth",parse:b},title:{prop:"data-qtitle",parse:b},autoHide:{prop:"data-qautoHide",parse:c},cls:{prop:"data-qcls",parse:b},align:{prop:"data-qalign",parse:b},anchor:{prop:"data-anchor",parse:b},showDelay:{prop:"data-qshowDelay",parse:a},hideDelay:{prop:"data-qhideDelay",parse:a},dismissDelay:{prop:"data-qdismissDelay",parse:a},trackMouse:{prop:"data-qtrackMouse",parse:c},anchorToTarget:{prop:"data-qanchorToTarget",parse:c},closable:true}})(),delegateQuickTip:function(b){var a=this.getTipConfig(b,"html");return !!a},dragDisable:function(){if(!this.disabled){this.tip.disable()}},dragEnable:function(){if(!this.disabled){this.tip.enable()}},getTipConfig:function(d,m){var j=this,i=j._propertyMap,b=j._tipDefaults,c=j._fly,e=c.attach(d).getData().qtip,l=j.tip,h=i.html.prop,a,n,g,k,o;if(!b&&m!=="html"){j._tipDefaults=b={};for(a in i){b[a]=l.getConfig(a)}}if(e){if(m){g=e[m]}else{g=Ext.apply({},b);Ext.apply(g,e)}}else{if(d.hasAttribute(h)){n=d.getAttribute(h);if(!n){n=j.interceptTitles&&d.title;if(n){d.setAttribute(h,n);d.removeAttribute("title")}}}if(n){if(m==="html"){g=n}else{if(m){o=i[m];if(o.prop){if(d.hasAttribute(o.prop)){g=o.parse(d.getAttribute(o.prop))}}}else{g=e={html:n};for(a in i){if(a!=="html"){o=i[a];k=null;if(o.prop){if(d.hasAttribute(o.prop)){k=o.parse(d.getAttribute(o.prop))}}if(k===null){k=b[a]}e[a]=k}}}}}}c.detach();if(m&&g==null&&m!=="html"){g=b[m]}return g},onBeforeShow:function(c){var a=this,d=c.currentTarget.dom,b,e;if(d){b=a.getTipConfig(d);c.setConfig(b);e=c.getHeader();if(e){e.setHidden(!b.title&&!b.closable)}}},priorityConfigs:["showDelay","anchor","anchorToTarget","align","trackMouse"],onHoverTarget:function(b,c){var d=c.dom,a;if(d){a={};this.priorityConfigs.forEach(function(e){a[e]=this.getTipConfig(d,e)},this);b.setConfig(a)}}}});Ext.define("Ext.util.Audio",{singleton:true,ctx:null,beep:function(a){this.oscillate(200,1,a)},oscillate:function(d,b,g){if(!this.ctx){this.ctx=new (window.audioContext||window.webkitAudioContext)()}if(!this.ctx){console.log("BEEP");return}b=(b%5)||0;try{var a=this.ctx.createOscillator();a.type=b;a.connect(this.ctx.destination);a.noteOn(0);Ext.defer(function(){a.noteOff(0);if(g){g()}},d)}catch(c){throw new Error("[Ext.util.Audio.oscillate] Error with Oscillator playback")}}});Ext.define("Ext.util.BufferedCollection",{extend:Ext.util.Collection,mixins:[Ext.mixin.Observable],config:{totalCount:0,autoSort:false,autoFilter:false,pageSize:0},updateTotalCount:function(a){this.length=a;this.all=this.items=Array.apply(null,new Array(a))},addPage:function(d,c){var b=this.getPageSize(),e=(d-1)*b,a=b;this.all.splice.apply(this.all,[e,a].concat(c));this.fireEvent("pageadded",d,c,this.items)},hasRange:function(d,a){var b=this.items,c;for(c=d;c<=a;c++){if(!b[c]){return false}}return true}});Ext.define("Ext.util.Droppable",{mixins:{observable:Ext.mixin.Observable},config:{baseCls:Ext.baseCSSPrefix+"droppable"},activeCls:Ext.baseCSSPrefix+"drop-active",invalidCls:Ext.baseCSSPrefix+"drop-invalid",hoverCls:Ext.baseCSSPrefix+"drop-hover",validDropMode:"intersect",disabled:false,group:"base",tolerance:null,monitoring:false,constructor:function(b,a){var c=this;a=a||{};Ext.apply(c,a);c.el=Ext.get(b);c.callParent();c.mixins.observable.constructor.call(c);if(!c.disabled){c.enable()}c.el.addCls(c.baseCls)},onDragStart:function(a,b){if(a.group===this.group){this.monitoring=true;this.el.addCls(this.activeCls);this.region=this.el.getBox(true);a.on({drag:this.onDrag,beforedragend:this.onBeforeDragEnd,dragend:this.onDragEnd,scope:this});if(this.isDragOver(a)){this.setCanDrop(true,a,b)}this.fireEvent("dropactivate",this,a,b)}else{a.on({dragend:function(){this.el.removeCls(this.invalidCls)},scope:this,single:true});this.el.addCls(this.invalidCls)}},isDragOver:function(a,b){return this.region[this.validDropMode](a.region)},onDrag:function(a,b){this.setCanDrop(this.isDragOver(a),a,b)},setCanDrop:function(c,a,b){if(c&&!this.canDrop){this.canDrop=true;this.el.addCls(this.hoverCls);this.fireEvent("dropenter",this,a,b)}else{if(!c&&this.canDrop){this.canDrop=false;this.el.removeCls(this.hoverCls);this.fireEvent("dropleave",this,a,b)}}},onBeforeDragEnd:function(a,b){a.cancelRevert=this.canDrop},onDragEnd:function(a,b){this.monitoring=false;this.el.removeCls(this.activeCls);a.un({drag:this.onDrag,beforedragend:this.onBeforeDragEnd,dragend:this.onDragEnd,scope:this});if(this.canDrop){this.canDrop=false;this.el.removeCls(this.hoverCls);this.fireEvent("drop",this,a,b)}this.fireEvent("dropdeactivate",this,a,b)},enable:function(){if(!this.mgr){this.mgr=Ext.util.Observable.observe(Ext.util.Draggable)}this.mgr.on({dragstart:this.onDragStart,scope:this});this.disabled=false},disable:function(){this.mgr.un({dragstart:this.onDragStart,scope:this});this.disabled=true},isDisabled:function(){return this.disabled},isMonitoring:function(){return this.monitoring}});Ext.define("Ext.util.Geolocation",{extend:Ext.Evented,alternateClassName:["Ext.util.GeoLocation"],config:{autoUpdate:true,frequency:10000,latitude:null,longitude:null,accuracy:null,altitude:null,altitudeAccuracy:null,heading:null,speed:null,timestamp:null,allowHighAccuracy:false,timeout:Infinity,maximumAge:0,provider:undefined},updateMaximumAge:function(){if(this.watchOperation){this.updateWatchOperation()}},updateTimeout:function(){if(this.watchOperation){this.updateWatchOperation()}},updateAllowHighAccuracy:function(){if(this.watchOperation){this.updateWatchOperation()}},applyProvider:function(a){if(Ext.feature.has.Geolocation){if(!a){if(navigator&&navigator.geolocation){a=navigator.geolocation}else{if(window.google){a=google.gears.factory.create("beta.geolocation")}}}}else{this.fireEvent("locationerror",this,false,false,true,"This device does not support Geolocation.")}return a},updateAutoUpdate:function(a,b){var c=this,g=c.getProvider();if(b&&g){clearInterval(c.watchOperationId);c.watchOperationId=null}if(a){if(!g){c.fireEvent("locationerror",c,false,false,true,null);return}try{c.updateWatchOperation()}catch(d){c.fireEvent("locationerror",c,false,false,true,d.message)}}},updateWatchOperation:function(){var a=this,b=a.getProvider();if(a.watchOperationId){clearInterval(a.watchOperationId)}function c(){b.getCurrentPosition(Ext.bind(a.fireUpdate,a),Ext.bind(a.fireError,a),a.parseOptions())}c();a.watchOperationId=Ext.interval(c,this.getFrequency())},updateLocation:function(i,a,c){var b=this,h=b.getProvider();var g=function(j,e){if(e){b.fireError(e)}else{b.fireEvent("locationerror",b,false,false,true,j)}if(i){i.call(a||b,null,b)}};if(!h){g(null);return}try{h.getCurrentPosition(function(e){b.fireUpdate(e);if(i){i.call(a||b,b,b)}},function(e){g(null,e)},c||b.parseOptions())}catch(d){g(d.message)}},fireUpdate:function(a){var b=this,c=a.coords;this.position=a;b.setConfig({timestamp:a.timestamp,latitude:c.latitude,longitude:c.longitude,accuracy:c.accuracy,altitude:c.altitude,altitudeAccuracy:c.altitudeAccuracy,heading:c.heading,speed:c.speed});b.fireEvent("locationupdate",b)},fireError:function(a){var b=a.code;this.fireEvent("locationerror",this,b==a.TIMEOUT,b==a.PERMISSION_DENIED,b==a.POSITION_UNAVAILABLE,a.message==undefined?null:a.message)},parseOptions:function(){var b=this.getTimeout(),a={maximumAge:this.getMaximumAge(),enableHighAccuracy:this.getAllowHighAccuracy()};if(b!==Infinity){a.timeout=b}return a},destroy:function(){this.setAutoUpdate(false);this.callParent()}});Ext.define("Ext.util.LineSegment",{constructor:function(b,a){var c=Ext.util.Point;this.point1=c.from(b);this.point2=c.from(a)},intersects:function(m){var p=this.point1,n=this.point2,j=m.point1,g=m.point2,c=p.x,b=n.x,a=j.x,r=g.x,q=p.y,o=n.y,l=j.y,i=g.y,h=(c-b)*(l-i)-(q-o)*(a-r),k,e;if(h==0){return null}k=((a-r)*(c*o-q*b)-(c-b)*(a*i-l*r))/h;e=((l-i)*(c*o-q*b)-(q-o)*(a*i-l*r))/h;if(k<Math.min(c,b)||k>Math.max(c,b)||k<Math.min(a,r)||k>Math.max(a,r)||e<Math.min(q,o)||e>Math.max(q,o)||e<Math.min(l,i)||e>Math.max(l,i)){return null}return new Ext.util.Point(k,e)},getLength:function(){return Math.abs(this.point1.getDistanceTo(this.point2))},getAngleToX:function(){var d=this.point1,c=this.point2,a=c.y-d.y,b=c.x-d.x;return Math.atan2(a,b)},getInBetweenPoint:function(e){var b=this.point1,c=this.getAngleToX(),a=b.x+Math.cos(c)*e,d=b.y+Math.sin(c)*e;return new Ext.util.Point(a,d)},toString:function(){return this.point1.toString()+" "+this.point2.toString()}});Ext.define("Ext.util.TranslatableList",{extend:Ext.util.translatable.Abstract,config:{items:[]},applyItems:function(a){return Ext.Array.from(a)},doTranslate:function(a,j){var b=this.getItems(),h=0,c,e,d,g;for(c=0,e=b.length;c<e;c++){d=b[c];if(d&&!d._list_hidden){g=j+h;h+=d.$height;d.translate(0,g)}}}});
})(this.Ext6 || (this.Ext6 = {}));
