22 lines
929 KiB
JavaScript
22 lines
929 KiB
JavaScript
/*
|
|
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(i){var p=document,g=[],l={disableCaching:(/[?&](?:cache|disableCacheBuster)\b/i.test(location.search)||!(/http[s]?\:/i.test(location.href))||/(^|[ ;])ext-cache=1/.test(p.cookie))?false:true,disableCachingParam:"_dc",loadDelay:false,preserveScripts:true,charset:"UTF-8"},r={},h=/\.css(?:\?|$)/i,o=p.createElement("a"),m=typeof window!=="undefined",j={browser:m,node:!m&&(typeof require==="function"),phantom:(window&&(window._phantom||window.callPhantom))||/PhantomJS/.test(window.navigator.userAgent)},n=(Ext.platformTags={}),e=function(s){},a=function(t,s,v){if(v){a(t,v)}if(t&&s&&typeof s==="object"){for(var u in s){t[u]=s[u]}}return t},q=function(){var u=false,x=Array.prototype.shift.call(arguments),t,v,s,w;if(typeof arguments[arguments.length-1]==="boolean"){u=Array.prototype.pop.call(arguments)}s=arguments.length;for(t=0;t<s;t++){w=arguments[t];if(typeof w==="object"){for(v in w){x[u?v.toLowerCase():v]=w[v]}}}return x},c=(typeof Object.keys=="function")?function(s){if(!s){return[]}return Object.keys(s)}:function(s){var t=[],u;for(u in s){if(s.hasOwnProperty(u)){t.push(u)}}return t},d={loading:0,loaded:0,apply:a,env:j,config:l,assetConfig:r,scripts:{},currentFile:null,suspendedQueue:[],currentRequest:null,syncMode:false,debug:e,useElements:true,listeners:[],Request:b,Entry:k,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 x=this,s=navigator.userAgent,y=/Mobile(\/|\s)/.test(s),w=document.createElement("div"),B=function(G,E){if(E===undefined){E=window}var F="on"+G.toLowerCase(),H=(F in w);if(!H){if(w.setAttribute&&w.removeAttribute){w.setAttribute(F,"");H=typeof w[F]==="function";if(typeof w[F]!=="undefined"){w[F]=undefined}w.removeAttribute(F)}}return H},A=function(){var F={},M,I,N,O,J,K,G,L,E;K=x.browserPriority.length;for(J=0;J<K;J++){O=x.browserPriority[J];if(!E){N=x.browserPrefixes[O];G=s.match(new RegExp("("+N+")([\\w\\._]+)"));L=G&&G.length>1?parseInt(G[2]):0;if(L){E=true}}else{L=0}F[O]=L}if(F.ie){var H=document.documentMode;if(H>=8){F.ie=H}}L=F.ie||false;M=Math.max(L,x.maxIEVersion);for(J=8;J<=M;++J){I="ie"+J;F[I+"m"]=L?L<=J:0;F[I]=L?L===J:0;F[I+"p"]=L?L>=J:0}return F},z=function(){var F={},K,L,N,H,I,G,E,J,M;N=c(x.osPrefixes);I=N.length;for(H=0,M=0;H<I;H++){L=N[H];K=x.osPrefixes[L];G=s.match(new RegExp("("+K+")([^\\s;]+)"));E=G?G[1]:null;if(E&&(E==="HTC_"||E==="Silk/")){J=2.3}else{J=G&&G.length>1?parseFloat(G[G.length-1]):0}if(J){M++}F[L]=J}N=c(x.fallbackOSPrefixes);I=N.length;for(H=0;H<I;H++){L=N[H];if(M===0){K=x.fallbackOSPrefixes[L];G=s.toLowerCase().match(new RegExp(K));F[L]=G?true:0}else{F[L]=0}}return F},C=function(){var F={},K,I,J,H,E,G;J=c(x.devicePrefixes);E=J.length;for(H=0;H<E;H++){I=J[H];K=x.devicePrefixes[I];G=s.match(new RegExp(K));F[I]=G?true:0}return F},u=A(),v=z(),D=C(),t=d.loadPlatformsParam();q(n,u,v,D,t,true);n.phone=!!((n.iphone||n.ipod)||(!n.silk&&(n.android&&(n.android<3||y)))||(n.blackberry&&y)||(n.windowsphone));n.tablet=!!(!n.phone&&(n.ipad||n.android||n.silk||n.rimtablet||(n.ie10&&/; Touch/.test(s))));n.touch=B("touchend")||navigator.maxTouchPoints||navigator.msMaxTouchPoints;n.desktop=!n.phone&&!n.tablet;n.cordova=n.phonegap=!!(window.PhoneGap||window.Cordova||window.cordova);n.webview=/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)(?!.*FBAN)/i.test(s);n.androidstock=(n.android<=4.3)&&(n.safari||n.silk);q(n,t,true)},loadPlatformsParam:function(){var s=window.location.search.substr(1),u=s.split("&"),w={},y,z={},B,x,v,t,A;for(y=0;y<u.length;y++){B=u[y].split("=");w[B[0]]=B[1]}if(w.platformTags){B=w.platformTags.split(",");for(x=B.length,y=0;y<x;y++){v=B[y].split(":");t=v[0];A=true;if(v.length>1){A=v[1];if(A==="false"||A==="0"){A=false}}z[t]=A}}return z},filterPlatform:function(u,y){u=g.concat(u||g);y=g.concat(y||g);var x=u.length,w=y.length,t=(!x&&w),v,s;for(v=0;v<x&&!t;v++){s=u[v];t=!!n[s]}for(v=0;v<w&&t;v++){s=y[v];t=!n[s]}return t},init:function(){var v=p.getElementsByTagName("script"),y=v[0],w=v.length,C=/\/ext(\-[a-z\-]+)?\.js$/,A,s,t,x,B,u,z;d.hasReadyState=("readyState" in y);d.hasAsync=("async" in y);d.hasDefer=("defer" in y);d.hasOnLoad=("onload" in y);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(u=0;u<w;u++){s=(y=v[u]).src;if(!s){continue}t=y.readyState||null;if(!x&&C.test(s)){x=s}if(!d.scripts[B=d.canonicalUrl(s)]){A=new k({key:B,url:s,done:t===null||t==="loaded"||t==="complete",el:y,prop:"src"})}}if(!x){y=v[v.length-1];x=y.src}d.baseUrl=x.substring(0,x.lastIndexOf("/")+1);z=window.location.origin||window.location.protocol+"//"+window.location.hostname+(window.location.port?":"+window.location.port:"");d.origin=z;d.detectPlatformTags();Ext.filterPlatform=d.filterPlatform},canonicalUrl:function(v){o.href=v;var u=o.href,t=l.disableCachingParam,x=t?u.indexOf(t+"="):-1,w,s;if(x>0&&((w=u.charAt(x-1))==="?"||w==="&")){s=u.indexOf("&",x);s=(s<0)?"":u.substring(s);if(s&&w==="?"){++x;s=s.substring(1)}u=u.substring(0,x-1)+s}return u},getConfig:function(s){return s?d.config[s]:d.config},setConfig:function(t,v){if(typeof t==="string"){d.config[t]=v}else{for(var u in t){d.setConfig(u,t[u])}}return d},getHead:function(){return d.docHead||(d.docHead=p.head||p.getElementsByTagName("head")[0])},create:function(u,v,s){var t=s||{};t.url=u;t.key=v;return d.scripts[v]=new k(t)},getEntry:function(u,t,s){var v,w;v=s?u:d.canonicalUrl(u);w=d.scripts[v];if(!w){w=d.create(u,v,t);if(s){w.canonicalPath=true}}return w},registerContent:function(t,u,v){var s={content:v,loaded:true,css:u==="css"};return d.getEntry(t,s)},processRequest:function(t,s){t.loadEntries(s)},load:function(s){var s=new b(s);if(s.sync||d.syncMode){return d.loadSync(s)}if(d.currentRequest){s.getEntries();d.suspendedQueue.push(s)}else{d.currentRequest=s;d.processRequest(s,false)}return d},loadSync:function(s){var s=new b(s);d.syncMode++;d.processRequest(s,true);d.syncMode--;return d},loadBasePrefix:function(s){s=new b(s);s.prependBaseUrl=true;return d.load(s)},loadSyncBasePrefix:function(s){s=new b(s);s.prependBaseUrl=true;return d.loadSync(s)},requestComplete:function(t){var s;if(d.currentRequest===t){d.currentRequest=null;while(d.suspendedQueue.length>0){s=d.suspendedQueue.shift();if(!s.done){d.load(s);break}}}if(!d.currentRequest&&d.suspendedQueue.length==0){d.fireListeners()}},isLoading:function(){return !d.currentRequest&&d.suspendedQueue.length==0},fireListeners:function(){var s;while(d.isLoading()&&(s=d.listeners.shift())){s()}},onBootReady:function(s){if(!d.isLoading()){s()}else{d.listeners.push(s)}},getPathsFromIndexes:function(v,s){if(!("length" in v)){var u=[],t;for(t in v){if(!isNaN(+t)){u[+t]=v[t]}}v=u}return b.prototype.getPathsFromIndexes(v,s)},createLoadOrderMap:function(s){return b.prototype.createLoadOrderMap(s)},fetch:function(s,t,B,v){v=(v===undefined)?!!t:v;var A=new XMLHttpRequest(),C,x,y,u=false,z=function(){if(A&&A.readyState==4){x=(A.status===1223)?204:(A.status===0&&((self.location||{}).protocol==="file:"||(self.location||{}).protocol==="ionp:"))?200:A.status;y=A.responseText;C={content:y,status:x,exception:u};if(t){t.call(B,C)}A.onreadystatechange=i;A=null}};if(v){A.onreadystatechange=z}try{A.open("GET",s,v);A.send(null)}catch(w){u=w;z();return C}if(!v){z()}return C},notifyAll:function(s){s.notifyRequests()}};function b(s){if(s.$isRequest){return s}var s=s.url?s:{url:s},t=s.url,u=t.charAt?[t]:t,v=s.charset||d.config.charset;a(this,s);delete this.url;this.urls=u;this.charset=v}b.prototype={$isRequest:true,createLoadOrderMap:function(t){var s=t.length,u={},w,v;for(w=0;w<s;w++){v=t[w];u[v.path]=v}return u},getLoadIndexes:function(E,A,t,u,D){var C=[],w=[E],s=E.idx,w,B,z,y,v,x;if(A[s]){return C}A[s]=C[s]=true;while(E=w.shift()){if(E.canonicalPath){B=d.getEntry(E.path,null,true)}else{B=d.getEntry(this.prepareUrl(E.path))}if(!(D&&B.done)){if(u&&E.uses&&E.uses.length){z=E.requires.concat(E.uses)}else{z=E.requires}for(v=0,x=z.length;v<x;v++){y=z[v];if(!A[y]){A[y]=C[y]=true;w.push(t[y])}}}}return C},getPathsFromIndexes:function(v,t){var w=[],u,s;for(u=0,s=v.length;u<s;u++){if(v[u]){w.push(t[u].path)}}return w},expandUrl:function(x,s,v,z,w,u){var y,t;if(s){y=v[x];if(y){t=this.getLoadIndexes(y,z,s,w,u);if(t.length){return this.getPathsFromIndexes(t,s)}}}return[x]},expandUrls:function(B,w){var C=this,s=C.loadOrder,z=[],u={},A=[],D,G,x,y,F,v,E;if(typeof B==="string"){B=[B]}if(s){D=C.loadOrderMap;if(!D){D=C.loadOrderMap=C.createLoadOrderMap(s)}}for(x=0,y=B.length;x<y;x++){G=this.expandUrl(B[x],s,D,A,w,false);for(F=0,v=G.length;F<v;F++){E=G[F];if(!u[E]){u[E]=true;z.push(E)}}}if(z.length===0){z=B}return z},expandLoadOrder:function(){var t=this,u=t.urls,s;if(!t.expanded){s=this.expandUrls(u,true);t.expanded=true}else{s=u}t.urls=s;if(u.length!=s.length){t.sequential=true}return t},getUrls:function(){this.expandLoadOrder();return this.urls},prepareUrl:function(s){if(this.prependBaseUrl){return d.baseUrl+s}return s},getEntries:function(){var y=this,s=y.entries,t,x,v,w,z,u;if(!s){s=[];z=y.getUrls();if(y.loadOrder){t=y.loadOrderMap}for(v=0;v<z.length;v++){u=y.prepareUrl(z[v]);if(t){x=t[u]}w=d.getEntry(u,{buster:y.buster,charset:y.charset},x&&x.canonicalPath);w.requests.push(y);s.push(w)}y.entries=s}return s},loadEntries:function(y){var x=this,t=x.getEntries(),s=t.length,z=x.loadStart||0,u,t,w,v;if(y!==undefined){x.sync=y}x.loaded=x.loaded||0;x.loading=x.loading||s;for(v=z;v<s;v++){w=t[v];if(!w.loaded){u=t[v].load(x.sync)}else{u=true}if(!u){x.loadStart=v;w.onDone(function(){x.loadEntries(y)});break}}x.processLoadedEntries()},processLoadedEntries:function(){var w=this,t=w.getEntries(),s=t.length,x=w.startIndex||0,u,v;if(!w.done){for(u=x;u<s;u++){v=t[u];if(!v.loaded){w.startIndex=u;return}if(!v.evaluated){v.evaluate()}if(v.error){w.error=true}}w.notify()}},notify:function(){var w=this;if(!w.done){var t=w.error,v=w[t?"failure":"success"],s=("delay" in w)?w.delay:(t?1:d.config.chainDelay),u=w.scope||w;w.done=true;if(v){if(s===0||s>0){setTimeout(function(){v.call(u,w)},s)}else{v.call(u,w)}}w.fireListeners();d.requestComplete(w)}},onDone:function(u){var t=this,s=t.listeners||(t.listeners=[]);if(t.done){u(t)}else{s.push(u)}},fireListeners:function(){var s=this.listeners,t;if(s){while((t=s.shift())){t(this)}}}};function k(t){if(t.$isEntry){return t}var y=t.charset||d.config.charset,x=Ext.manifest,s=x&&x.loader,u=(t.cache!==undefined)?t.cache:(s&&s.cache),w,v;if(d.config.disableCaching){if(u===undefined){u=!d.config.disableCaching}if(u===false){w=+new Date()}else{if(u!==true){w=u}}if(w){v=(s&&s.cacheParam)||d.config.disableCachingParam;w=v+"="+w}}a(this,t);this.charset=y;this.buster=w;this.requests=[]}k.prototype={$isEntry:true,done:false,evaluated:false,loaded:false,isCrossDomain:function(){var s=this;if(s.crossDomain===undefined){s.crossDomain=(s.getLoadUrl().indexOf(d.origin)!==0)}return s.crossDomain},isCss:function(){var t=this;if(t.css===undefined){if(t.url){var s=d.assetConfig[t.url];t.css=s?s.type==="css":h.test(t.url)}else{t.css=false}}return this.css},getElement:function(s){var u=this,t=u.el;if(!t){if(u.isCss()){s=s||"link";t=p.createElement(s);if(s=="link"){t.rel="stylesheet";u.prop="href"}else{u.prop="textContent"}t.type="text/css"}else{s=s||"script";t=p.createElement(s);t.type="text/javascript";u.prop="src";if(u.charset){t.charset=u.charset}if(d.hasAsync){t.async=false}}u.el=t}return t},getLoadUrl:function(){var t=this,s;s=t.canonicalPath?t.url:d.canonicalUrl(t.url);if(!t.loadUrl){t.loadUrl=!!t.buster?(s+(s.indexOf("?")===-1?"?":"&")+t.buster):s}return t.loadUrl},fetch:function(v){var t=this.getLoadUrl(),u=!!v.async,s=v.complete;d.fetch(t,s,this,u)},onContentLoaded:function(t){var x=this,s=t.status,w=t.content,v=t.exception,u=this.getLoadUrl();x.loaded=true;if((v||s===0)&&!j.phantom){x.error=("Failed loading synchronously via XHR: '"+u+"'. It's likely that the file is either being loaded from a different domain or from the local file system where cross origin requests are not allowed for security reasons. Try asynchronous loading instead.")||true;x.evaluated=true}else{if((s>=200&&s<300)||s===304||j.phantom||(s===0&&w.length>0)){x.content=w}else{x.error=("Failed loading synchronously via XHR: '"+u+"'. Please verify that the file exists. XHR status code: "+s)||true;x.evaluated=true}}},createLoadElement:function(u){var t=this,s=t.getElement();t.preserve=true;s.onerror=function(){t.error=true;if(u){u();u=null}};if(d.isIE10m){s.onreadystatechange=function(){if(this.readyState==="loaded"||this.readyState==="complete"){if(u){u();u=this.onreadystatechange=this.onerror=null}}}}else{s.onload=function(){u();u=this.onload=this.onerror=null}}s[t.prop]=t.getLoadUrl()},onLoadElementReady:function(){d.getHead().appendChild(this.getElement());this.evaluated=true},inject:function(x,w){var y=this,z=d.getHead(),s=y.url,A=y.key,t,u,v,B;if(y.isCss()){y.preserve=true;B=A.substring(0,A.lastIndexOf("/")+1);t=p.createElement("base");t.href=B;if(z.firstChild){z.insertBefore(t,z.firstChild)}else{z.appendChild(t)}t.href=t.href;if(s){x+="\n/*# sourceURL="+A+" */"}u=y.getElement("style");v=("styleSheet" in u);z.appendChild(t);if(v){z.appendChild(u);u.styleSheet.cssText=x}else{u.textContent=x;z.appendChild(u)}z.removeChild(t)}else{if(s){x+="\n//# sourceURL="+A}Ext.globalEval(x)}return y},loadCrossDomain:function(){var t=this,s=function(){t.el.onerror=t.el.onload=i;t.el=null;t.loaded=t.evaluated=t.done=true;t.notifyRequests()};t.createLoadElement(function(){s()});t.evaluateLoadElement();return false},loadElement:function(){var t=this,s=function(){t.el.onerror=t.el.onload=i;t.el=null;t.loaded=t.evaluated=t.done=true;t.notifyRequests()};t.createLoadElement(function(){s()});t.evaluateLoadElement();return true},loadSync:function(){var s=this;s.fetch({async:false,complete:function(t){s.onContentLoaded(t)}});s.evaluate();s.notifyRequests()},load:function(t){var s=this;if(!s.loaded){if(s.loading){return false}s.loading=true;if(!t){if(d.isIE10||s.isCrossDomain()){return s.loadCrossDomain()}else{if(!s.isCss()&&d.hasReadyState){s.createLoadElement(function(){s.loaded=true;s.notifyRequests()})}else{if(d.useElements&&!(s.isCss()&&j.phantom)){return s.loadElement()}else{s.fetch({async:!t,complete:function(u){s.onContentLoaded(u);s.notifyRequests()}})}}}}else{s.loadSync()}}return true},evaluateContent:function(){this.inject(this.content);this.content=null},evaluateLoadElement:function(){d.getHead().appendChild(this.getElement())},evaluate:function(){var s=this;if(!s.evaluated){if(s.evaluating){return}s.evaluating=true;if(s.content!==undefined){s.evaluateContent()}else{if(!s.error){s.evaluateLoadElement()}}s.evaluated=s.done=true;s.cleanup()}},cleanup:function(){var u=this,t=u.el,v;if(!t){return}if(!u.preserve){u.el=null;t.parentNode.removeChild(t);for(v in t){try{if(v!==u.prop){t[v]=null}delete t[v]}catch(s){}}}t.onload=t.onerror=t.onreadystatechange=i},notifyRequests:function(){var v=this.requests,s=v.length,t,u;for(t=0;t<s;t++){u=v[t];u.processLoadedEntries()}if(this.done){this.fireListeners()}},onDone:function(u){var t=this,s=t.listeners||(t.listeners=[]);if(t.done){u(t)}else{s.push(u)}},fireListeners:function(){var s=this.listeners,t;if(s&&s.length>0){while((t=s.shift())){t(this)}}}};Ext.disableCacheBuster=function(t,u){var s=new Date();s.setTime(s.getTime()+(t?10*365:-1)*24*60*60*1000);s=s.toGMTString();p.cookie="ext-cache=1; expires="+s+"; path="+(u||"/")};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"){if(i.$className){q.name=i.$className+"#"+p}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,debugConfig:Ext.debugConfig||a.debug||{hooks:{"*":true}},enableAria:true,startsWithHashRe:/^#/,validIdRe:/^[a-z_][a-z0-9\-_]*$/i,BLANK_IMAGE_URL:"data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==",makeIdSelector:function(i){if(!Ext.validIdRe.test(i)){Ext.raise('Invalid id selector: "'+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:function(s,i){var r=Ext.debugConfig.hooks;if(r.hasOwnProperty(s)){return r[s]}var q=r["*"],p=0;if(i!==undefined){q=i}if(!s){return q}for(var u in r){var t=r[u];if(s.charAt(u.length)==="."){if(s.substring(0,u.length)===u){if(p<u.length){p=u.length;q=t}}}}return q}||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:{log:function(p,i){if(p&&b.console){if(!i||!(i in b.console)){i="log"}p="["+i.toUpperCase()+"] "+p;b.console[i](p)}},verbose:function(i){this.log(i,"verbose")},info:function(i){this.log(i,"info")},warn:function(i){this.log(i,"warn")},error:function(i){throw new Error(i)},deprecate:function(i){this.log(i,"warn")}}||{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}());(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);Ext.log({msg:e,level:"error",dump:d,stack:true});throw new Ext.Error(d)}},handle:function(){return this.ignore}})})();Ext.deprecated=function(b){if(!b){b=""}function a(){Ext.raise('The method "'+a.$owner.$className+"."+a.$name+'" has been removed. '+b)}return a;return Ext.emptyFn};Ext.raise=function(){Ext.Error.raise.apply(Ext.Error,arguments)};(function(){if(typeof window==="undefined"){return}var b=0,a=function(){var c=Ext.log&&Ext.log.counters,e=c&&(c.error+c.warn+c.info+c.log),d;if(e&&b!==e){d=[];if(c.error){d.push("Errors: "+c.error)}if(c.warn){d.push("Warnings: "+c.warn)}if(c.info){d.push("Info: "+c.info)}if(c.log){d.push("Log: "+c.log)}window.status="*** "+d.join(" -- ");b=e}};setInterval(a,1000)}());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){Ext.Assert.isFunction(u,"Ext.Array.map must have a callback function passed as second argument.");return v.map(u,e)}:function(y,x,w){Ext.Assert.isFunction(x,"Ext.Array.map must have a callback function passed as second argument.");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){Ext.Assert.isFunction(u,"Ext.Array.every must have a callback function passed as second argument.");return v.every(u,e)}:function(x,v,u){Ext.Assert.isFunction(v,"Ext.Array.every must have a callback function passed as second argument.");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){Ext.Assert.isFunction(u,"Ext.Array.some must have a callback function passed as second argument.");return v.some(u,e)}:function(x,v,u){Ext.Assert.isFunction(v,"Ext.Array.some must have a callback function passed as second argument.");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){Ext.Assert.isFunction(u,"Ext.Array.filter must have a filter function passed as second argument.");return v.filter(u,e)}:function(y,w,v){Ext.Assert.isFunction(w,"Ext.Array.filter must have a filter function passed as second argument.");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);if(!Ext.isFunction(x)){Ext.raise("Invalid parameter: expected a function.")}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},_replaceSim:t,_spliceSim:i,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.Assert={falsey:function(a,c){if(a){Ext.raise(c||("Expected a falsey value but was "+a))}},falseyProp:function(c,d){Ext.Assert.truthy(c);var a=c[d];if(a){if(c.$className){d=c.$className+"#"+d}Ext.raise("Expected a falsey value for "+d+" but was "+a)}},truthy:function(a,c){if(!a){Ext.raise(c||("Expected a truthy value but was "+typeof a))}},truthyProp:function(c,d){Ext.Assert.truthy(c);var a=c[d];if(!a){if(c.$className){d=c.$className+"#"+d}Ext.raise("Expected a truthy value for "+d+" but was "+typeof a)}}};(function(){function b(h,i){var k=Ext[h],j;return function(l,m){if(!k(l)){Ext.raise(m||j||(j="Expected value to be "+i))}}}function e(h,i){var k=Ext[h],j;return function(l,m){Ext.Assert.truthy(l);if(!k(l[m])){Ext.raise(j||(j="Expected "+(l.$className?l.$className+"#":"")+m+" to be "+i))}}}function g(h,i){var k=Ext[h],j;return function(l,m){if(k(l)){Ext.raise(m||j||(j="Expected value to NOT be "+i))}}}function a(h,i){var k=Ext[h],j;return function(l,m){Ext.Assert.truthy(l);if(k(l[m])){Ext.raise(j||(j="Expected "+(l.$className?l.$className+"#":"")+m+" to NOT be "+i))}}}for(var c in Ext){if(c.substring(0,2)=="is"&&Ext.isFunction(Ext[c])){var d=c.substring(2);Ext.Assert[c]=b(c,d);Ext.Assert[c+"Prop"]=e(c,d);Ext.Assert["isNot"+d]=g(c,d);Ext.Assert["isNot"+d+"Prop"]=a(c,d)}}}());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({"&":"&",">":">","<":"<",""":'"',"'":"'"})},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){if(!o[p]){if(o.$className){Ext.raise('No method "'+p+'" on '+o.$className)}Ext.raise('No method "'+p+'"')}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){if(!(typeof g==="number"&&typeof e==="number"&&typeof h==="number")){Ext.raise("All parameters should be valid numbers.")}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);if(!x){throw new Error('[Ext.Object.fromQueryString] Malformed query string given, failed parsing name from "'+s+'"')}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)}if(!g||!Ext.isObject(g)){Ext.raise('Named method "'+i+'" requires a scope object')}if(!Ext.isFunction(g[i])){Ext.raise('No method named "'+i+'" on '+(g.$className||"scope object"))}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)}}if(!i){Ext.raise({sourceClass:"Ext",sourceMethod:"extend",msg:"Attempting to extend from a class which has not been loaded on the page."})}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){if(!Ext.isDomReady){Ext.raise("getScrollbarSize called before DomReady")}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"}Ext.raise({sourceClass:"Ext",sourceMethod:"typeOf",msg:'Failed to determine the type of "'+h+'".'});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){if(!a&&!e){Ext.raise("[Ext.factory] Cannot determine type of class to create")}return a||Ext.create(e)}if(!Ext.isObject(b)){Ext.raise("Invalid config, must be a valid config object")}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 c=/string|number|boolean/;function a(h,e,p,n){var j,m,o,g,k,q,i=[];if(Ext.isArray(h)){k="[";q="]"}else{if(Ext.isObject(h)){k="{";q="}"}}if(!p){p=3}if(e>p){return k+"..."+q}e=e||1;var l=(new Array(e)).join(" ");for(g in h){if(h.hasOwnProperty(g)){o=h[g];m=typeof o;if(m==="function"){if(!n){continue}j=m}else{if(m==="undefined"){j=m}else{if(o===null||c.test(m)||Ext.isDate(o)){j=Ext.encode(o)}else{if(Ext.isArray(o)){j=a(o,e+1,p,n)}else{if(Ext.isObject(o)){j=a(o,e+1,p,n)}else{j=m}}}}}i.push(l+g+": "+j)}}if(i.length){return k+"\n "+i.join(",\n ")+"\n"+l+q}return k+q}function b(o){var p,k,g=Ext.global.console,e="log",h=b.indent||0,j,n,m,i,l;b.indent=h;if(typeof o!=="string"){p=o;o=p.msg||"";e=p.level||e;k=p.dump;n=p.stack;j=p.prefix;m=p.fn;if(p.indent){++b.indent}else{if(p.outdent){b.indent=h=Math.max(h-1,0)}}if(k&&!(g&&g.dir)){o+=a(k);k=null}}if(arguments.length>1){o+=Array.prototype.slice.call(arguments,1).join("")}if(j){o=j+" - "+o}o=h?Ext.String.repeat(" ",b.indentSize*h)+o:o;if(e!=="log"){o="["+e.charAt(0).toUpperCase()+"] "+o}if(m){o+="\nCaller: "+m.toString()}if(g){if(g[e]){g[e](o)}else{g.log(o)}if(k){g.dir(k)}if(n&&g.trace){if(!g.firebug||e!=="error"){g.trace()}}}else{if(Ext.isOpera){opera.postError(o)}else{i=b.out;l=b.max;if(i.length>=l){Ext.Array.erase(i,0,i.length-3*Math.floor(l/4))}i.push(o)}}++b.count;++b.counters[e]}function d(g,e){if(typeof e[0]==="string"){e.unshift({})}e[0].level=g;b.apply(this,e)}b.error=function(){d("error",Array.prototype.slice.call(arguments))};b.info=function(){d("info",Array.prototype.slice.call(arguments))};b.warn=function(){d("warn",Array.prototype.slice.call(arguments))};b.count=0;b.counters={error:0,warn:0,info:0,log:0};b.indentSize=2;b.out=[];b.max=750;return b}())||(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;g.deprecations=a.chain(h.deprecations)}else{g.configs={};g.cachedConfigs={};g.initMap={};g.values={};g.deprecations={}}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}if(!d&&t&&!w[y]){Ext.raise("Redefining config as cached: "+y+" in class: "+i.$className)}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}},addDeprecations:function(k){var j=this,e=j.deprecations,h=(j.cls.$className||"")+"#",i,d,g;for(g in k){d=k[g];if(!d){i="This config has been removed."}else{if(!(i=d.message)){i='This config has been renamed to "'+d+'"'}}e[g]=h+g+": "+i}},configure:function(z,n){var B=this,m=B.configs,k=B.deprecations,o=B.initMap,q=B.initListMap,x=B.initList,r=B.cls.prototype,e=B.values,s=0,u=!x,g,h,j,w,v,l,p,C,t,A,y,d;e=B.needsFork?a.fork(e):a.chain(e);z.isConfiguring=true;if(u){B.initList=x=[];B.initListMap=q={};z.isFirstInstance=true;for(C in o){h=m[C];A=h.cached;if(o[C]){p=h.names;t=e[C];if(!r[p.set].$isDefault||r[p.apply]||r[p.update]||typeof t==="object"){if(A){(g||(g=[])).push(h)}else{x.push(h);q[C]=true}z[p.get]=h.initGetter||h.getInitGetter()}else{r[h.getInternalName(r)]=t}}else{if(A){r[h.getInternalName(r)]=undefined}}}}l=g&&g.length;if(l){for(w=0;w<l;++w){v=g[w].getInternalName(r);z[v]=null}for(w=0;w<l;++w){p=(h=g[w]).names;j=p.get;if(z.hasOwnProperty(j)){z[p.set](e[h.name]);delete z[j]}}for(w=0;w<l;++w){v=g[w].getInternalName(r);r[v]=z[v];delete z[v]}}if(n&&n.platformConfig){n=B.resolvePlatformConfig(z,n)}if(u){if(z.afterCachedConfig&&!z.afterCachedConfig.$nullFn){z.afterCachedConfig(n)}}z.config=e;for(w=0,l=x.length;w<l;++w){h=x[w];z[h.names.get]=h.initGetter||h.getInitGetter()}if(z.transformInstanceConfig){n=z.transformInstanceConfig(n)}if(n){for(C in n){t=n[C];h=m[C];if(k[C]){Ext.log.warn(k[C]);if(!h){continue}}if(!h){d=z.self.prototype[C];if(z.$configStrict&&(typeof d==="function")&&!d.$nullFn){Ext.raise("Cannot override method "+C+" on "+z.$className+" instance.")}z[C]=t}else{if(!h.lazy){++s}if(!q[C]){z[h.names.get]=h.initGetter||h.getInitGetter()}if(h.merge){t=h.merge(t,e[C],z)}else{if(t&&t.constructor===Object){y=e[C];if(y&&y.constructor===Object){t=a.merge(e[C],t)}else{t=Ext.clone(t,false)}}}}e[C]=t}}if(z.beforeInitConfig&&!z.beforeInitConfig.$nullFn){if(z.beforeInitConfig(n)===false){return}}if(n){for(C in n){if(!s){break}h=m[C];if(h&&!h.lazy){--s;p=h.names;j=p.get;if(z.hasOwnProperty(j)){z[p.set](e[C]);delete z[p.get]}}}}for(w=0,l=x.length;w<l;++w){h=x[w];p=h.names;j=p.get;if(!h.lazy&&z.hasOwnProperty(j)){z[p.set](e[h.name]);delete z[j]}}delete z.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(this.deprecations[e]){Ext.log.warn(this.deprecations[e]);if(!m){continue}}if(m){s[m.names.get]=m.initGetter||m.getInitGetter()}else{d=s.self.prototype[e];if(r){if((typeof d==="function")&&!d.$nullFn){Ext.Error.raise("Cannot override method "+e+" on "+s.$className+" instance.");continue}else{if(e!=="type"){Ext.log.warn('No such config "'+e+'" for class '+s.$className)}}}}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=[],l,o=[],p=function(t,s){var v=this,r,q,u;if(t){q=Ext.Config.map[t];if(!q){Ext.Logger.error("Invalid property name for getter: '"+t+"' for '"+v.$className+"'.")}u=q.names.get;if(s&&v.hasOwnProperty(u)){r=v.config[t]}else{r=v[u]()}}else{r=v.getCurrentConfig()}return r},d=function(r,q,t){var s='"'+r+'" is deprecated.';if(t){s+=" "+t}else{if(q){s+=' Please use "'+q+'" instead.'}}return function(){Ext.raise(s)}},m=function(r,s,q,t){if(!t){t='"'+s+'" is deprecated.'}if(q){t+=' Please use "'+q+'" instead.'}if(t){Ext.Object.defineProperty(r,s,{get:function(){Ext.raise(t)},set:function(u){Ext.raise(t)},configurable:true})}},i=function(q){return function(){return this[q].apply(this,arguments)}},a=Ext.Version,k=/^\d/,n={},g={},j=function(){},e=j.prototype,h;Ext.Reaper=h={delay:100,queue:[],timer:null,add:function(q){if(!h.timer){h.timer=Ext.defer(h.tick,h.delay)}h.queue.push(q)},flush:function(){if(h.timer){clearTimeout(h.timer);h.timer=null}var q=h.queue,t=q.length,r,s;h.queue=[];for(r=0;r<t;++r){s=q[r];if(s&&s.$reap){s.$reap()}}},tick:function(){h.timer=null;h.flush()}};Ext.apply(j,{$className:"Ext.Base",$isClass:true,create:function(){return Ext.create.apply(Ext,[this].concat(Array.prototype.slice.call(arguments,0)))},addDeprecations:function(x){var H=this,r=[],t=Ext.getCompatVersion(x.name),G=H.getConfigurator(),u=(H.$className||"")+"#",F,B,w,C,I,z,E,y,D,J,A,q,v,s;for(B in x){if(k.test(B)){s=new Ext.Version(B);s.deprecations=x[B];r.push(s)}}r.sort(a.compare);for(w=r.length;w--;){F=(s=r[w]).deprecations;I=H.prototype;v=F.statics;z=t&&t.lt(s);if(!z){}else{if(!z){break}}while(F){D=F.methods;if(D){for(J in D){q=D[J];y=null;if(!q){Ext.Assert.isNotDefinedProp(I,J);y=d(u+J)}else{if(Ext.isString(q)){Ext.Assert.isNotDefinedProp(I,J);Ext.Assert.isDefinedProp(I,q);if(z){y=i(q)}else{y=d(u+J,q)}}else{C="";if(q.message||q.fn){C=q.message;q=q.fn}E=I.hasOwnProperty(J)&&I[J];if(z&&q){q.$owner=H;q.$name=J;q.name=u+J;if(E){q.$previous=E}y=q}else{if(!E){y=d(u+J,null,C)}}}}if(y){I[J]=y}}}D=F.configs;if(D){G.addDeprecations(D)}D=F.properties;if(D&&!z){for(J in D){A=D[J];if(Ext.isString(A)){m(I,u+J,A)}else{if(A&&A.message){m(I,u+J,null,A.message)}else{m(I,u+J)}}}}F=v;v=null;I=H}}},extend:function(t){var u=this,q=t.prototype,s,r,v;s=u.prototype=Ext.Object.chain(q);s.self=u;u.superclass=s.superclass=q;if(!t.$isClass){for(r in e){if(r in s){s[r]=e[r]}}}v=q.$inheritableStatics;if(v){for(r in v){if(!u.hasOwnProperty(r)){u[r]=t[r]}}}if(t.$onExtended){u.$onExtended=t.$onExtended.slice()}u.getConfigurator()},$onExtended:[],triggerExtended:function(){Ext.classSystemMonitor&&Ext.classSystemMonitor(this,"Ext.Base#triggerExtended",arguments);var s=this.$onExtended,r=s.length,q,t;if(r>0){for(q=0;q<r;q++){t=s[q];t.fn.apply(t.scope||this,arguments)}}},onExtended:function(r,q){this.$onExtended.push({fn:r,scope:q});return this},addStatics:function(q){this.addMembers(q,true);return this},addInheritableStatics:function(q){var u=this,t=u.prototype,v=u.$inheritableStatics,r,x,w;if(!v){v=Ext.apply({},t.$inheritableStatics);u.$inheritableStatics=t.$inheritableStatics=v}var s=Ext.getClassName(u)+".";for(r in q){if(q.hasOwnProperty(r)){x=q[r];w=u[r];if(typeof x=="function"){x.name=s+r}if(typeof w==="function"&&!w.$isClass&&!w.$nullFn){x.$previous=w}u[r]=x;v[r]=true}}return u},addMembers:function(D,t,E){var F=this,s=Ext.Function.clone,G=t?F:F.prototype,w=!t&&G.defaultConfig,A=Ext.enumerables,B=D.privates,v,z,u,q,H,y,C;var r=(F.$className||"")+"#";if(B){delete D.privates;if(!t){C=B.statics;delete B.statics}y=B.privacy||E||"framework";F.addMembers(B,t,y);if(C){F.addMembers(C,true,y)}}for(H in D){if(D.hasOwnProperty(H)){q=D[H];if(E===true){E="framework"}if(q&&q.$nullFn&&E!==q.$privacy){Ext.raise("Cannot use stock function for private method "+(F.$className?F.$className+"#":"")+H)}if(typeof q==="function"&&!q.$isClass&&!q.$nullFn){if(q.$owner){q=s(q)}if(G.hasOwnProperty(H)){q.$previous=G[H]}q.$owner=F;q.$name=H;q.name=r+H;var x=G[H];if(E){q.$privacy=E;if(x&&x.$privacy&&x.$privacy!==E){Ext.privacyViolation(F,x,q,t)}}else{if(x&&x.$privacy){Ext.privacyViolation(F,x,q,t)}}}else{if(w&&(H in w)&&!G.config.hasOwnProperty(H)){(v||(v={}))[H]=q;continue}}G[H]=q}}if(v){F.addConfig(v)}if(A){for(z=0,u=A.length;z<u;++z){if(D.hasOwnProperty(H=A[z])){q=D[H];if(q&&!q.$nullFn){if(q.$owner){q=s(q)}q.$owner=F;q.$name=H;q.name=r+H;if(G.hasOwnProperty(H)){q.$previous=G[H]}}G[H]=q}}}return this},addMember:function(q,r){n[q]=r;this.addMembers(n);delete n[q];return this},borrow:function(w,q){Ext.classSystemMonitor&&Ext.classSystemMonitor(this,"Ext.Base#borrow",arguments);var s=w.prototype,u={},t,v,r;q=Ext.Array.from(q);for(t=0,v=q.length;t<v;t++){r=q[t];u[r]=s[r]}return this.addMembers(u)},override:function(r){var t=this,w=r.statics,v=r.inheritableStatics,s=r.config,q=r.mixins,u=r.cachedConfig;if(w||v||s){r=Ext.apply({},r)}if(w){t.addMembers(w,true);delete r.statics}if(v){t.addInheritableStatics(v);delete r.inheritableStatics}if(r.platformConfig){t.addPlatformConfig(r)}if(s){t.addConfig(s);delete r.config}if(u){t.addCachedConfig(u);delete r.cachedConfig}delete r.mixins;t.addMembers(r);if(q){t.mixin(q)}return t},addPlatformConfig:function(v){var A=this,w=v.platformConfig,s=v.config,B,x,y,t,r,D,q,C,u,z;delete v.platformConfig;if(w instanceof Array){throw new Error("platformConfigs must be specified as an object.")}t=A.getConfigurator();x=t.configs;D=Ext.getPlatformConfigKeys(w);for(u=0,z=D.length;u<z;++u){y=w[D[u]];r=B=null;for(q in y){C=y[q];if(s&&q in s){(B||(B={}))[q]=C;(r||(r={}))[q]=s[q];delete s[q]}else{if(q in x){(B||(B={}))[q]=C}else{v[q]=C}}}if(r){t.add(r)}if(B){t.add(B)}}},callParent:function(q){var r;return(r=this.callParent.caller)&&(r.$previous||((r=r.$owner?r:r.caller)&&r.$owner.superclass.self[r.$name])).apply(this,q||b)},callSuper:function(q){var r;return(r=this.callSuper.caller)&&((r=r.$owner?r:r.caller)&&r.$owner.superclass.self[r.$name]).apply(this,q||b)},mixin:function(q,s){var x=this,C,z,B,y,t,w,u,q,A,v,r;if(typeof q!=="string"){v=q;if(v instanceof Array){for(t=0,w=v.length;t<w;t++){C=v[t];x.mixin(C.prototype.mixinId||C.$className,C)}}else{for(u in v){x.mixin(u,v[u])}}return}C=s.prototype;z=x.prototype;if(C.onClassMixedIn){C.onClassMixedIn.call(s,x)}if(!z.hasOwnProperty("mixins")){if("mixins" in z){z.mixins=Ext.Object.chain(z.mixins)}else{z.mixins={}}}for(B in C){A=C[B];if(B==="mixins"){Ext.applyIf(z.mixins,A)}else{if(!(B==="mixinId"||B==="config"||B==="$inheritableStatics")&&(z[B]===undefined)){z[B]=A}}}y=C.$inheritableStatics;if(y){r={};for(q in y){if(!x.hasOwnProperty(q)){r[q]=s[q]}}x.addInheritableStatics(r)}if("config" in C){x.addConfig(C.config,s)}z.mixins[q]=C;if(C.afterClassMixedIn){C.afterClassMixedIn.call(s,x)}return x},addConfig:function(r,s){var q=this.$config||this.getConfigurator();q.add(r,s)},addCachedConfig:function(q,s){var t={},r;for(r in q){t[r]={cached:true,$value:q[r]}}this.addConfig(t,s)},getConfigurator:function(){return this.$config||new Ext.Configurator(this)},getName:function(){return Ext.getClassName(this)},createAlias:c(function(r,q){g[r]=function(){return this[q].apply(this,arguments)};this.override(g);delete g[r]})});for(l in j){if(j.hasOwnProperty(l)){o.push(l)}}j.$staticMembers=o;j.getConfigurator();j.addMembers({$className:"Ext.Base",isInstance:true,$configPrefixed:true,$configStrict:true,isConfiguring:false,isFirstInstance:false,destroyed:false,clearPropertiesOnDestroy:true,clearPrototypeOnDestroy:false,statics:function(){var r=this.statics.caller,q=this.self;if(!r){return q}return r.$owner},callParent:function(s){var u,q=(u=this.callParent.caller)&&(u.$previous||((u=u.$owner?u:u.caller)&&u.$owner.superclass[u.$name]));if(!q){u=this.callParent.caller;var t,r;if(!u.$owner){if(!u.caller){throw new Error("Attempting to call a protected method from the public scope, which is not allowed")}u=u.caller}t=u.$owner.superclass;r=u.$name;if(!(r in t)){throw new Error("this.callParent() was called but there's no such method ("+r+") found in the parent class ("+(Ext.getClassName(t)||"Object")+")")}}return q.apply(this,s||b)},callSuper:function(s){var u,q=(u=this.callSuper.caller)&&((u=u.$owner?u:u.caller)&&u.$owner.superclass[u.$name]);if(!q){u=this.callSuper.caller;var t,r;if(!u.$owner){if(!u.caller){throw new Error("Attempting to call a protected method from the public scope, which is not allowed")}u=u.caller}t=u.$owner.superclass;r=u.$name;if(!(r in t)){throw new Error("this.callSuper() was called but there's no such method ("+r+") found in the parent class ("+(Ext.getClassName(t)||"Object")+")")}}return q.apply(this,s||b)},self:j,constructor:function(){return this},initConfig:function(s){var r=this,q=r.self.getConfigurator();r.initConfig=Ext.emptyFn;r.initialConfig=s||{};q.configure(r,s);return r},beforeInitConfig:Ext.emptyFn,getConfig:p,setConfig:function(s,u,r){var t=this,q;if(s){if(typeof s==="string"){q={};q[s]=u}else{q=s}t.self.getConfigurator().reconfigure(t,q,r)}return t},getCurrentConfig:function(){var q=this.self.getConfigurator();return q.getCurrentConfig(this)},hasConfig:function(q){return q in this.defaultConfig},getInitialConfig:function(r){var q=this.config;if(!r){return q}return q[r]},$links:null,link:function(r,t){var s=this,q=s.$links||(s.$links={});q[r]=true;s[r]=t;return t},unlink:function(v){var t=this,q,s,r,u;if(!Ext.isArray(v)){Ext.raise("Invalid argument - expected array of strings")}for(q=0,s=v.length;q<s;q++){r=v[q];u=t[r];if(u){if(u.isInstance&&!u.destroyed){u.destroy()}else{if(u.parentNode&&"nodeType" in u){u.parentNode.removeChild(u)}}}t[r]=null}return t},$reap:function(){var s=this,q=s.$noClearOnDestroy,u,t,r;for(u in s){if((!q||!q[u])&&s.hasOwnProperty(u)){t=s[u];r=typeof t;if(r==="object"||(r==="function"&&!t.$noClearOnDestroy)){s[u]=null}}}if(s.clearPrototypeOnDestroy&&!s.$vetoClearingPrototypeOnDestroy&&Object.setPrototypeOf){Object.setPrototypeOf(s,null)}},destroy:function(){var s=this,r=s.$links,q=s.clearPropertiesOnDestroy;if(r){s.$links=null;s.unlink(Ext.Object.getKeys(r))}s.destroy=Ext.emptyFn;s.isDestroyed=s.destroyed=true;if(q===true){s.$reap()}else{if(q){if(q!=="async"){Ext.raise("Invalid value for clearPropertiesOnDestroy")}h.add(s)}}}});e.callOverridden=e.callParent;Ext.privacyViolation=function(z,r,u,x){var q=u.$name,y=r.$owner&&r.$owner.$className,A=x?"static ":"",t=u.$privacy?"Private "+A+u.$privacy+' method "'+q+'"':"Public "+A+'method "'+q+'"';if(z.$className){t=z.$className+": "+t}if(!r.$privacy){t+=y?" hides public method inherited from "+y:" hides inherited public method."}else{t+=y?" conflicts with private "+r.$privacy+" method declared by "+y:" conflicts with inherited private "+r.$privacy+" method."}var w=Ext.getCompatVersion();var v=Ext.getVersion();if(v&&w&&w.lt(v)){Ext.log.error(t)}else{Ext.raise(t)}};return j}(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={id:(e.seed=0),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={id:++g.seed,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}if(h){g.name=h}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){Ext.classSystemMonitor&&Ext.classSystemMonitor(h,">> Ext.Class#onBeforeCreated",arguments);h.addMembers(i);g.onCreated.call(h,h);Ext.classSystemMonitor&&Ext.classSystemMonitor(h,"<< Ext.Class#onBeforeCreated",arguments)},create:function(g,k){var j=e.length,h;if(!g){g=a(k.$className)}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){Ext.classSystemMonitor&&Ext.classSystemMonitor(h,"Ext.Class#extendPreProcessor",arguments);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){Ext.classSystemMonitor&&Ext.classSystemMonitor(g,"Ext.Class#privatePreprocessor",arguments);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){Ext.classSystemMonitor&&Ext.classSystemMonitor(g,"Ext.Class#staticsPreprocessor",arguments);g.addStatics(h.statics);delete h.statics});d.registerPreprocessor("inheritableStatics",function(g,h){Ext.classSystemMonitor&&Ext.classSystemMonitor(g,"Ext.Class#inheritableStaticsPreprocessor",arguments);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){Ext.classSystemMonitor&&Ext.classSystemMonitor(j,"Ext.Class#mixinsPreprocessor",arguments);var i=k.mixins,h=g.onCreated;delete k.mixins;g.onCreated=function(){Ext.classSystemMonitor&&Ext.classSystemMonitor(j,"Ext.Class#mixinsPreprocessor#beforeCreated",arguments);g.onCreated=h;j.mixin(i);return g.onCreated.apply(this,arguments)}});Ext.extend=function(i,j,h){Ext.classSystemMonitor&&Ext.classSystemMonitor(i,"Ext.Class#extend-backwards-compatible",arguments);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){if(!h&&g[o]){Ext.log.warn("Overriding existing mapping: '"+o+"' From '"+g[o]+"' to '"+q+"'. Is this intentional?")}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(typeof u!=="string"||u.length<1){throw new Error("[Ext.ClassManager] Invalid classname, must be a string and must not be empty")}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){if(v!=null&&typeof v!=="string"){throw new Error("[Ext.define] Invalid class name '"+v+"' specified, must be a non-empty string")}var w=b(v);if(typeof x==="function"){x=x(w)}if(v){if(c.classes[v]){Ext.log.warn("[Ext.define] Duplicate class name '"+v+"' specified, must be a non-empty string")}w.name=v}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){Ext.classSystemMonitor&&Ext.classSystemMonitor(x,"Ext.ClassManager#classCreated",arguments);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);if(!w){throw new Error("[Ext.createByAlias] Unrecognized alias: "+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(",")+")");y.name="Ext.create"+x}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){Ext.classSystemMonitor&&Ext.classSystemMonitor(w,"Ext.ClassManager#aliasPostProcessor",arguments);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){Ext.classSystemMonitor&&Ext.classSystemMonitor(v,"Ext.ClassManager#singletonPostProcessor",arguments);if(x.singleton){w.call(this,v,new u(),x)}else{return true}return false});c.registerPostprocessor("alternateClassName",function(v,u,z){Ext.classSystemMonitor&&Ext.classSystemMonitor(v,"Ext.ClassManager#alternateClassNamePostprocessor",arguments);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];if(typeof A!=="string"){throw new Error("[Ext.define] Invalid alternate of: '"+A+"' for class: '"+v+"'; must be a valid string")}this.set(A,u)}});c.registerPostprocessor("debugHooks",function(v,u,w){Ext.classSystemMonitor&&Ext.classSystemMonitor(u,"Ext.Class#debugHooks",arguments);if(Ext.isDebugEnabled(u.$className,w.debugHooks.$enabled)){delete w.debugHooks.$enabled;Ext.override(u,w.debugHooks)}var x=u.isInstance?u.self:u;delete x.prototype.debugHooks});c.registerPostprocessor("deprecated",function(v,u,w){Ext.classSystemMonitor&&Ext.classSystemMonitor(u,"Ext.Class#deprecated",arguments);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}}}if(typeof w!=="string"||w.length<1){throw new Error("[Ext.create] Invalid class name or alias '"+w+"' specified, must be a non-empty string")}w=c.resolveName(w);u=c.get(w)}if(!u){Ext.log.warn("[Ext.Loader] Synchronously loading '"+w+"'; consider adding Ext.require('"+w+"') above Ext.onReady");Ext.syncRequire(w);u=c.get(w)}if(!u){throw new Error("[Ext.create] Unrecognized class name / alias: "+w)}if(typeof u!=="function"){throw new Error("[Ext.create] Singleton '"+w+"' cannot be instantiated.")}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){Ext.classSystemMonitor&&Ext.classSystemMonitor(v,"ClassManager#define",arguments);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){Ext.classSystemMonitor&&Ext.classSystemMonitor(w,"Ext.ClassManager#undefine",arguments);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;u.displayName=u.$className}Ext.classSystemMonitor&&Ext.classSystemMonitor(u,"Ext.ClassManager#classNamePreprocessor",arguments)},true,"first");q.registerPreprocessor("alias",function(F,z){Ext.classSystemMonitor&&Ext.classSystemMonitor(F,"Ext.ClassManager#aliasPreprocessor",arguments);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(typeof B!=="string"||B.length<1){throw new Error("[Ext.define] Invalid alias of: '"+B+"' for class: '"+t+"'; must be a valid string")}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;Ext.classSystemMonitor&&Ext.classSystemMonitor(I,"Ext.ClassManager#aliasPreprocessor#afterClassCreated",arguments);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];if(typeof v!=="string"||v.length<1){throw new Error("[Ext.define] Invalid xtype of: '"+v+"' for class: '"+t+"'; must be a valid non-empty string")}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,events:[],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(b&&b.type){a.events.push(b)}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(p.indexOf("packages/core/src/")!==-1){C=C+"../../"}else{if(p.indexOf("/core/src/class/")!==-1){C=C+"../../../"}}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)}else{Ext.log.error("[Ext.Loader] Some requested files failed to load.")}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()},reportMissingClasses:function(){if(!c.syncModeEnabled&&!c.scriptsLoading&&c.isLoading&&!c.hasFileLoadError){var q=c.missingQueue,p=[],s=[];for(var r in q){p.push(r);s.push(q[r])}if(p.length){throw new Error("The following classes are not declared even if their files have been loaded: '"+p.join("', '")+"'. Please check the source code of their corresponding files for possible typos: '"+s.join("', '"))}}},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()}}if(!c.scriptsLoading&&c.missingCount){Ext.defer(function(){if(!c.scriptsLoading&&c.missingCount){Ext.log.error("[Loader] The following classes failed to load:");for(var r in c.missingQueue){Ext.log.error("[Loader] "+r+" from "+c.missingQueue[r])}}},1000)}}});Ext.require=i(c,"require");Ext.syncRequire=i(c,"syncRequire");Ext.exclude=i(c,"exclude");d.registerPreprocessor("loader",function(p,H,q,E){Ext.classSystemMonitor&&Ext.classSystemMonitor(p,"Ext.Loader#loaderPreprocessor",arguments);var G=this,y=[],A,s=a.getName(p),D,C,x,t,B,z,F,r;for(D=0,x=g.length;D<x;D++){z=g[D];if(H.hasOwnProperty(z)){F=H[z];if(typeof F==="string"){y.push(F)}else{if(F instanceof Array){for(C=0,t=F.length;C<t;C++){B=F[C];if(typeof B==="string"){y.push(B)}}}else{if(typeof F!=="function"){for(C in F){if(F.hasOwnProperty(C)){B=F[C];if(typeof B==="string"){y.push(B)}}}}}}}}if(y.length===0){return}if(s){n[s]=y}var w=Ext.manifest&&Ext.manifest.classes,v=[],u;if(s&&(!w||!w[s])){r=c.requiredByMap||(c.requiredByMap={});for(D=0,x=y.length;D<x;D++){A=y[D];(r[A]||(r[A]=[])).push(s)}u=function(I){v.push(I);var K=n[I],M,J,L;if(K){if(Ext.Array.contains(K,s)){Ext.Error.raise("Circular requirement detected! '"+s+"' and '"+v[1]+"' mutually require each other. Path: "+v.join(" -> ")+" -> "+v[0])}for(J=0,L=K.length;J<L;J++){M=K[J];if(!m[M]){u(K[J])}}}};u(s)}(s?c.exclude(s):c).require(y,function(){for(D=0,x=g.length;D<x;D++){z=g[D];if(H.hasOwnProperty(z)){F=H[z];if(typeof F==="string"){H[z]=a.get(F)}else{if(F instanceof Array){for(C=0,t=F.length;C<t;C++){B=F[C];if(typeof B==="string"){H[z][C]=a.get(B)}}}else{if(typeof F!=="function"){for(var I in F){if(F.hasOwnProperty(I)){B=F[I];if(typeof B==="string"){H[z][I]=a.get(B)}}}}}}}}E.call(G,p,H,q)});return false},true,"after","className");a.registerPostprocessor("uses",function(r,q,s){Ext.classSystemMonitor&&Ext.classSystemMonitor(q,"Ext.Loader#usesPostprocessor",arguments);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;if(g.beforeHooks){Ext.raise('Use of "beforeHooks" is deprecated - use "before" instead')}if(g.hooks){Ext.raise('Use of "hooks" is deprecated - use "after" instead')}if(g.afterHooks){Ext.raise('Use of "afterHooks" is deprecated - use "after" instead')}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(e&&!Ext._namedScopes[e]&&(typeof n==="string")&&(typeof e[n]!=="function")){Ext.raise("No method named '"+n+"' found on scope object")}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){if(o.$className!=="Ext.container.Monitor"){Ext.raise({msg:'Attempting to fire "'+C.name+'" event on destroyed '+(o.$className||"object")+" instance with id: "+(o.id||"unknown"),instance:o})}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(l,k){var m=this.observable,e=l.fireFn,j=l.scope,h=l.namedScope,i;if(!k&&l.wrapped){b.fn=e;return b}i=k?l.fn:e;var g=i;if(l.lateBound){if(!j||h){j=(l.caller||m).resolveListenerScope(l.defaultScope)}if(!j){Ext.raise('Unable to dynamically resolve scope for "'+l.ev.name+'" listener on '+this.observable.id)}if(!Ext.isFunction(j[i])){Ext.raise('No method named "'+i+'" on '+(j.$className||"scope object."))}i=j[i]}else{if(h&&h.isController){j=(l.caller||m).resolveListenerScope(l.defaultScope);if(!j){Ext.raise('Unable to dynamically resolve scope for "'+l.ev.name+'" listener on '+this.observable.id)}}else{if(!j||h){j=m}}}b.fn=i;b.scope=j;if(!i){Ext.raise('Unable to dynamically resolve method "'+g+'" on '+this.observable.$className)}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.isController){Ext.raise('scope: "controller" can only be specified on classes that derive from Ext.Component or Ext.Widget')}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()},purgeListeners:function(){if(Ext.global.console){Ext.global.console.warn("Observable: purgeListeners has been deprecated. Please use clearListeners.")}return this.clearListeners.apply(this,arguments)},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)}}},purgeManagedListeners:function(){if(Ext.global.console){Ext.global.console.warn("Observable: purgeManagedListeners has been deprecated. Please use clearManagedListeners.")}return this.clearManagedListeners.apply(this,arguments)},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}if(i.clearPrototypeOnDestroy&&Object.setPrototypeOf&&!i.$alreadyNulled){Object.setPrototypeOf(i,null);i.$alreadyNulled=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);if(!p){Ext.raise("Cannot add '"+l+"' listener to "+o.$className+" instance. No function specified.")}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(!m){Ext.raise("Cannot remove '"+k+"' listener to "+o.$className+" instance. No function specified.")}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){Ext.classSystemMonitor&&Ext.classSystemMonitor("extend mixin",arguments);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(b){var a=this.all.getKey(b);if(a===undefined){Ext.raise("Key is undefined. Please ensure the item has a key before registering the item.")}if(this.all.containsKey(a)){Ext.raise('Registering duplicate id "'+a+'" with '+this.$className)}this.all.add(b)},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];if(c===undefined){Ext.raise("The '"+b+"' type has not been registered with this manager")}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){if(!(Ext.isArray(c)||b.is(c))){Ext.raise("Invalid parameter: expected an Array or Promise of an Array.")}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(){Ext.raise("Not implemented")},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){if(!(Ext.isArray(d)||c.is(d))){Ext.raise("Invalid parameter: expected an Array or Promise of an Array.")}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){if(!(Ext.isArray(d)||c.is(d))){Ext.raise("Invalid parameter: expected an Array or Promise of an Array.")}if(!Ext.isFunction(e)){Ext.raise("Invalid parameter: expected a function.")}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){if(!(Ext.isArray(e)||c.is(e))){Ext.raise("Invalid parameter: expected an Array or Promise of an Array.")}if(!Ext.isFunction(g)){Ext.raise("Invalid parameter: expected a function.")}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){if(!(Ext.isArray(e)||c.is(e))){Ext.raise("Invalid parameter: expected an Array or Promise of an Array.")}if(!Ext.isNumeric(d)||d<=0){Ext.raise("Invalid parameter: expected a positive integer.")}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(!j&&!g){Ext.raise("No type specified for "+i.type+".create")}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)}else{Ext.warn.log("onFlashStateChange for unknown connection ID: "+d)}},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";c=[Ext.Loader.getPath("Ext.data.Connection"),"../../plugins/flash/FlashPlugin.swf"].join("/");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(){Ext.raise("Could not load flash-loader file swfobject.js from "+flashLoader)},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){Ext.warn.log("Aborting a connection that's completed its transfer: "+this.url);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;if(!e.async){Ext.raise("Binary posts are only supported in async mode: "+c)}if(e.method!="POST"){Ext.log.warn("Binary data can only be sent as a POST request: "+c)}},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}else{Ext.raise("Unkown reason code in data: "+b.reason)}}},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")}else{if(!Ext.isIE){Ext.log.warn("Your browser does not support loading binary data using Ajax.")}}}}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);if(!c){Ext.raise({options:m,msg:"No URL specified"})}g=m.rawData||m.binaryData||m.xmlData||k||null;if(k&&!Ext.isPrimitive(k)){g=Ext.encode(g)}if(m.binaryData){if(!Ext.isArray(m.binaryData)){Ext.log.warn("Binary submission data must be an array of byte values! Instead got "+typeof(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.startCountTime=Ext.now();d.count=0;d.doStart()}},watch:function(){if(this.isRunning&&Ext.now()-this.lastRunTime>=500){this.run()}},run:function(){var h=this;if(!h.isRunning){return}var a=h.runningQueue,b=Ext.now(),d,g;h.lastRunTime=b;h.frameStartTime=b;a.push.apply(a,h.queue);for(d=0,g=a.length;d<g;d++){h.invoke(a[d])}a.length=0;var c=h.frameStartTime-h.startCountTime,e=++h.count;if(c>=200){h.onFpsChanged(e*1000/c,e,c);h.startCountTime=h.frameStartTime;h.count=0}h.doIterate()},onFpsChanged:Ext.emptyFn,onStop:Ext.emptyFn,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.onStop();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()}},showFps:function(){var a={color:"white","background-color":"black","text-align":"center","font-family":"sans-serif","font-size":"8px","font-weight":"normal","font-style":"normal","line-height":"20px","-webkit-font-smoothing":"antialiased",zIndex:100000,position:"absolute"};Ext.getBody().append([{style:Ext.applyIf({bottom:"50px",left:0,width:"50px",height:"20px"},a),html:"Average"},{style:Ext.applyIf({"background-color":"red","font-size":"18px","line-height":"50px",bottom:0,left:0,width:"50px",height:"50px"},a),id:"__averageFps",html:"0"},{style:Ext.applyIf({bottom:"50px",left:"50px",width:"50px",height:"20px"},a),html:"Min (Last 1k)"},{style:Ext.applyIf({"background-color":"orange","font-size":"18px","line-height":"50px",bottom:0,left:"50px",width:"50px",height:"50px"},a),id:"__minFps",html:"0"},{style:Ext.applyIf({bottom:"50px",left:"100px",width:"50px",height:"20px"},a),html:"Max (Last 1k)"},{style:Ext.applyIf({"background-color":"maroon","font-size":"18px","line-height":"50px",bottom:0,left:"100px",width:"50px",height:"50px"},a),id:"__maxFps",html:"0"},{style:Ext.applyIf({bottom:"50px",left:"150px",width:"50px",height:"20px"},a),html:"Current"},{style:Ext.applyIf({"background-color":"green","font-size":"18px","line-height":"50px",bottom:0,left:"150px",width:"50px",height:"50px"},a),id:"__currentFps",html:"0"}]);Ext.AnimationQueue.resetFps()},resetFps:function(){var c=Ext.get("__currentFps"),b=Ext.get("__averageFps"),i=Ext.get("__minFps"),h=Ext.get("__maxFps"),d=1000,a=0,g=0,e=0;if(!c){return}Ext.AnimationQueue.onFpsChanged=function(j){g++;if(!(g%10)){d=1000;a=0}e+=j;d=Math.min(d,j);a=Math.max(a,j);c.setHtml(Math.round(j));b.setHtml(Math.round(e/g));i.setHtml(Math.round(d));h.setHtml(Math.round(a))}}},function(){var a=window.location.search.substr(1),b=a.split("&");if(Ext.Array.contains(b,"showfps")){Ext.onReady(Ext.Function.bind(this.showFps,this))}});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;if(c===undefined){Ext.raise("Component id is undefined. Please ensure the component has an id.")}if(c in d){Ext.raise('Registering duplicate component id "'+c+'"')}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(u){var t=u[0];Ext.log.warn('"'+t+'" ComponentQuery selector style is deprecated, use "'+t.replace(/^\./,"")+'" without the leading dot instead');if(u[1]!==undefined){u[1]=u[1].replace(l,"$1")}return u.slice(1)}},{re:/^(?:\[((?:[@?$])?[\w\-]*)\s*(?:([\^$*~%!\/]?=)\s*(['"])?((?:\\\]|.)*?)\3)?(?!\\)\])/,method:b,argTransform:function(z){var x=z[0],B=z[1],u=z[2],t=z[4],w;if(t!==undefined){t=t.replace(l,"$1");var A=Ext.String.format,v="ComponentQuery selector '{0}' has an unescaped ({1}) character at the {2} of the attribute value pattern. Usually that indicates an error where the opening quote is not followed by the closing quote. If you need to match a ({1}) character at the {2} of the attribute value, escape the quote character in your pattern: (\\{1})",y;if(y=/^(['"]).*?[^'"]$/.exec(t)){Ext.log.warn(A(v,x,y[1],"beginning"))}else{if(y=/^[^'"].*?(['"])$/.exec(t)){Ext.log.warn(A(v,x,y[1],"end"))}}}if(u==="/="){w=n.get(t);if(w){t=w}else{t=n.add(t,new RegExp(t))}}return[B,u,t]}},{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]);if(y===""){Ext.raise('Invalid ComponentQuery selector: ""')}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,getAnchorToXY:function(){Ext.raise("getAnchorToXY is not implemented in "+this.$className)},getBorderPadding:function(){Ext.raise("getBorderPadding is not implemented in "+this.$className)},getLocalX:function(){Ext.raise("getLocalX is not implemented in "+this.$className)},getLocalXY:function(){Ext.raise("getLocalXY is not implemented in "+this.$className)},getLocalY:function(){Ext.raise("getLocalY is not implemented in "+this.$className)},getX:function(){Ext.raise("getX is not implemented in "+this.$className)},getXY:function(){Ext.raise("getXY is not implemented in "+this.$className)},getY:function(){Ext.raise("getY is not implemented in "+this.$className)},setLocalX:function(){Ext.raise("setLocalX is not implemented in "+this.$className)},setLocalXY:function(){Ext.raise("setLocalXY is not implemented in "+this.$className)},setLocalY:function(){Ext.raise("setLocalY is not implemented in "+this.$className)},setX:function(){Ext.raise("setX is not implemented in "+this.$className)},setXY:function(){Ext.raise("setXY is not implemented in "+this.$className)},setY:function(){Ext.raise("setY is not implemented in "+this.$className)},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){Ext.raise({sourceClass:"Ext.util.Positionable",sourceMethod:"getAlignToXY",msg:"Attempted to align an element that doesn't exist"})}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);a.dom.setAttribute("data-sticky",true)}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={};if(!a){Ext.raise("Event publisher '"+b.$className+"' defined without a 'type' property.")}if(b.self.instance){Ext.raise("Cannot create multiple instances of '"+b.$className+"'. Use '"+b.$className+".instance' to retrieve the singleton instance.")}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}},subscribe:function(){Ext.raise("Ext.event.publisher.Publisher subclass '"+this.$className+'" has no subscribe method.')},unsubscribe:function(){Ext.raise("Ext.event.publisher.Publisher subclass '"+this.$className+'" has no unsubscribe method.')},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){if(!(a instanceof this.statics())){Ext.raise("Offset must be an instance of Ext.util.Offset")}return(this.x===a.x&&this.y===a.y)},add:function(a){if(!(a instanceof this.statics())){Ext.raise("Offset must be an instance of Ext.util.Offset")}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}}else{Ext.raise("Not convertible to a Region: "+u)}}}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;if(!s){Ext.raise({sourceClass:"Ext.util.Region",sourceMethod:"getAlignInfo",position:w,msg:'Attemmpted to align an element with an invalid position: "'+w+'"'})}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(!(u instanceof A)){Ext.raise("offset option must be an Ext.util.Offset")}}if(x){x=A.fromObject(x);if(!(x instanceof A)){Ext.raise("anchorSize option must be an Ext.util.Offset")}}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);if(Object.freeze){Object.freeze(a.EMPTY)}});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;if(!Ext.event.Event[c]){Ext.raise('Invalid key name: "'+c+'"')}for(d=0;d<j;d++){a=g.keyFlags[h[d]];if(!a){Ext.raise('Invalid key modifier: "'+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){if(l instanceof Array){Ext.raise("Propagation targets must be supplied when publishing an array of events.")}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)}},privates:{flush:function(){while(this.readQueue.length||this.writeQueue.length){this.run()}}}});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]])},privates:{syncRefresh:function(e){e=Ext.Array.from(e);var b=e.length,c=0,d,a;for(c=0;c<b;++c){d=e[c];if(typeof d!=="string"){d=d.id}a=this.monitors[d];if(a){a.forceRefresh()}}Ext.TaskQueue.flush()}}},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){Ext.raise("Invalid domNode reference or an id of an existing domNode: "+an);return null}if(Ext.cache[an.id]){Ext.raise("Element cache already contains an entry for id '"+an.id+"'. Use Ext.get() to create or retrieve Element instances.")}e.dom=an;ao=an.id;if(ao){e.id=ao}else{ao=an.id=e.getUniqueId()}if(!e.validIdRe.test(e.id)){Ext.raise('Invalid Element "id": "'+e.id+'"')}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)){Ext.Logger.warn("Warning, size detected ("+an+") not a valid property value on Element.addUnits.");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 au=this,e=Ext.cache,aq,ap,an,ax,aw,ar,av;if(!ao){return null}function at(ay){Ext.raise("DOM element with id "+ay+" in Element cache is not the same as element in the DOM. Make sure to clean up Element instances using destroy()")}if(ao.isFly){ao=ao.dom}if(typeof ao==="string"){an=ao;if(e.hasOwnProperty(an)){ax=e[an];if(ax.skipGarbageCollection||!Ext.isGarbage(ax.dom)){ap=Ext.getElementById?Ext.getElementById(an):V.getElementById(an);if(ap&&(ap!==ax.dom)){at(an)}return ax}else{ax.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){aw=(aq===9);av=au.validNodeTypes[aq]}else{ar=(ao.window==ao)}if(av||ar){an=ao.id;if(e.hasOwnProperty(an)){ax=e[an];if(ax.skipGarbageCollection||ao===ax.dom||!Ext.isGarbage(ax.dom)){if(ao!==ax.dom){at(an)}return ax}else{ax.destroy()}}if(ao===V){ao.id=P}if(ao==x){ao.id=aj}ao=new s(ao);if(ar||aw){ao.skipGarbageCollection=true}return ao}if(ao.isElement){return ao}if(ao.isComposite){return ao}if(Ext.isIterable(ao)){return au.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(e.destroyed){Ext.Logger.warn('Cannot destroy Element "'+e.id+'". Already destroyed.');return}if(an){if(an===V.body){Ext.raise("Cannot destroy body element.")}else{if(an===V){Ext.raise("Cannot destroy document object.")}else{if(an===x){Ext.raise("Cannot destroy window object")}}}}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(!e){Ext.raise('Cannot replace element "'+aq+'". It is not attached to a parent node.')}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{if(an.length===undefined){Ext.raise("Invalid selector specified: "+an)}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){if(e!==1&&e!==2&&e!==3&&e!==4){Ext.raise("visibilityMode must be one of the following: Ext.Element.DISPLAY, Ext.Element.VISIBILITY, Ext.Element.OFFSETS, or Ext.Element.CLIP")}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.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(!j){Ext.raise("Cannot use bind config without a viewModel")}if(Ext.isString(d)){if(!g.defaultBindProperty){Ext.raise(g.$className+" has no defaultBindProperty - Please specify a bind object")}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(!g[h._config.names.set]){Ext.raise("Cannot bind "+k+" on "+g.$className+" - missing a "+h._config.names.set+" method.")}}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},applyReference:function(a){var b=this.validRefRe||Ext.validIdRe;if(a&&!b.test(a)){Ext.raise('Invalid reference "'+a+'" for '+this.getId()+" - not a valid identifier")}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]}}if(l.target){Ext.raise("Cannot add '"+g+"' listener to component: '"+h.id+"' - 'delegate' and 'target' event options are incompatible.")}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"){if(h){Ext.raise("Duplicate 'element' reference detected in '"+o.$className+"' template.")}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(!h){Ext.raise("No 'element' reference found in '"+o.$className+"' template.")}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){if(Ext.Array.indexOf(j.referenceList,m)===-1){Ext.Logger.error("Adding event listener with an invalid element reference of '"+m+"' for this component. Available values are: '"+j.referenceList.join("', '")+"'",j)}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.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.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(b===undefined){Ext.raise('keyMap entry "'+c+'" is undefined')}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{Ext.raise('Invalid keyMap key specification "'+c+'"')}}}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:{_keyMapListenCount:0,_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;++c._keyMapListenCount;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++){if(!p[o[h]]){return false}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){Ext.raise({sourceClass:"Ext.util.Format",sourceMethod:"number",value:m,formatString:g,msg:"Invalid number format, should have no more than 1 decimal"})}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) {\nExt.log.warn("XTemplate evaluation exception: " + e.message);\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){Ext.log.warn("XTemplate evaluation exception: "+i.message)}}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&&(typeof b==="string")){Ext.raise("Cannot create Ext.scroll.Scroller instance. Element with id '"+b+"' not found.")}}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.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){if(a){Ext.raise("You cannot configure baseCls - use a subclass")}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.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){if(!/^[*#]/.test(r)){Ext.raise("Selectors containing id should begin with #")}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((!b||!b.scope)&&typeof c==="string"){if(!a[c]){Ext.raise('Cannot resolve "'+c+'" on controller.')}a=null}else{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]}else{if(g[h]){Ext.log.warn('You have a before method configured on a route ("'+d+'") and in the before object property also in the "'+e.self.getName()+'" controller. Will use the before method in the route and disregard the one in the before property.')}}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){var b=Ext.util.Filter.isInvalid(a);if(b){Ext.log.warn(b)}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){if(a&&!this.isGrouper){if(!a.property===!a.sorterFn){Ext.raise("A Sorter requires either a property or a sorterFn.")}}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:Ext.raise('Sorter insertion point must be "multi", "prepend", "append" or "replace"')}}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);if(!Ext.isFunction(this.getKey)){Ext.raise("CollectionKey requires a keyFn or property config")}},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){if(b.getUnique()&&g!==c){Ext.raise('Incorrect oldKey "'+e+'" for item with newKey "'+b.getKey(c)+'"')}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){if(a){if(a.getGroupString){Ext.raise("Cannot set getGroupString - use groupFn instead")}}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(d>a){Ext.raise("Inverted range passed to Collection.getRange: ["+d+","+a+"]")}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){Ext.log.error(this.$className+": Unhandled Exception: ",d.description||d.message);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--}else{if(g in d&&d[g]!==b){Ext.raise('Duplicate newKey "'+g+'" for item with oldKey "'+e+'"')}if(e in d&&d[e]!==b){Ext.raise('Incorrect oldKey "'+e+'" for item with newKey "'+g+'"')}}}}},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(Ext.Array.contains(c,a)){Ext.Error.raise("Observer already added")}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){if(b){Ext.raise("Collections with sorters cannot resorted")}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){if(!Ext.isObject(b)){Ext.raise("The template is not an Object")}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{if(!g){Ext.raise('No foreignKey specified for "'+i.association.left.role+'" by '+a.$className)}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:{},clearInstance:function(b){var a=this.instances[b];delete this.instances[b];if(a){a.clear(true);a.destroy()}},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){if(h!=="default"){Ext.raise("Only the default Schema instance can be reconfigured")}e=Ext.merge({},a.config);Ext.merge(e,d);a.setConfig(e);a.config=e;a.setConfig=function(){Ext.raise("The schema can only be reconfigured once")}}}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}}if(e in s){Ext.raise('Duplicate association: "'+e+'" declared by '+m+(a?("."+a.name):"")+" (collides with "+s[e].definedBy.entityName+")")}if(a&&a.definedBy===d[t]){Ext.raise("ForeignKey reference should not be owned by the target model")}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{if(m.cls){Ext.raise('Duplicate entity name "'+l+'": '+m.cls.$className+" and "+d.$className)}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(g,b,h){var i=this,l=g.entityName,e=i.associations,j=i.getNamer(),d=h.left,o=h.right,n,c;if(Ext.isString(h)){if(h.charAt(0)==="#"){d={type:l};o={type:h.substring(1)}}else{if(h.charAt(n=h.length-1)==="#"){d={type:h.substring(0,n)};o={type:l}}else{if(j.apply("multiRole",l)<j.apply("multiRole",h)){d={type:l};o={type:h}}else{d={type:h};o={type:l}}}}}else{Ext.Assert.isString(h.type,'No "type" for manyToMany in '+l);c=h.relation;if(d||(!o&&j.apply("multiRole",l)<j.apply("multiRole",h.type))){if(!d||d===true){d={type:l}}else{d=Ext.apply({type:l},d)}o=h}else{if(!o||o===true){o={type:l}}else{o=Ext.apply({type:l},o)}d=h}}if(!b){b=j.manyToMany(c,d.type,o.type)}if(!(b in e)){i.addMatrix(g,b,c,d,o)}else{var m=e[b],k=[m.kind,m.left.type,m.left.role,m.left.field,m.right.type,m.right.role,m.right.field].join("|");delete e[b];i.addMatrix(g,b,c,d,o);var a=e[b];e[b]=m;m.left.cls.associations[m.right.role]=m.right;m.right.cls.associations[m.left.role]=m.left;--i.assocCount;a=[a.kind,a.left.type,a.left.role,a.left.field,a.right.type,a.right.role,a.right.field].join("|");if(k!=a){Ext.log.warn(b+"("+m.definedBy.entityName+"): "+k);Ext.log.warn(b+"("+l+"): "+a);Ext.raise('Conflicting association: "'+b+'" declared by '+l+" was previously declared by "+m.definedBy.entityName)}}},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;Ext.log.warn("Using foreignKey is deprecated, use a keyed association. See Ext.data.field.Field.reference")}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;Ext.log.warn("Using foreignKey is deprecated, use a keyed association. See Ext.data.field.Field.reference")}l.addReference(n,m,k,false,function(s,t,p,u){var o=!!s.meta.fromSingle&&n===s.left.cls,q,v;if(o){q=n.entityName;v=e.entityName;Ext.raise('hasMany ("'+v+'") and belongsTo ("'+q+'") should not be used in conjunction to declare a relationship. Use only one.')}return o})}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)}}e.topoStack=null},rankEntity:function(e){var c=e.associations,h,g,a;var d=this.topoStack||(this.topoStack=[]),b=e.entityName;d.push(b);if(e.rank===0){Ext.raise(b+" has circular foreign-key references: "+d.join(" --> "))}e.rank=0;for(a in c){g=c[a];if(!g.left&&g.association.field){h=g.cls;if(!h.rank){this.rankEntity(h)}}}e.rank=this.nextRank++;d.pop()}}});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.getFilters().each(function(d){if(d.getInitialConfig().filterFn){Ext.raise("Unable to use a filtering function in conjunction with remote filtering.")}});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)}else{Ext.log.warn("Ignoring server record: "+Ext.encode(j))}}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(g,n){var o=this,r=o.self,m=r.identifier,c=Ext.data.Model,p=c.identifier,q=o.idField.name,l,a,b,k,j,e,h;o.data=o.data=g||(g={});o.session=n||null;o.internalId=k=p.generate();var d=g[q];if(n&&!n.isSession){Ext.raise('Bad Model constructor argument 2 - "session" is not a Session')}if((l=g) instanceof Array){o.data=g={};h=o.getFields();j=Math.min(h.length,l.length);for(e=0;e<j;++e){g[h[e].name]=l[e]}}if(!(b=r.initializeFn)){r.initializeFn=b=c.makeInitializeFn(r)}if(!b.$nullFn){r.initializeFn(o)}if(!(o.id=a=g[q])&&a!==0){if(d){Ext.raise('The model ID configured in data ("'+d+'") has been rejected by the '+o.fieldsMap[q].type+" field converter for the "+q+" field")}if(n){m=n.getIdentifier(r);a=m.generate()}else{if(p===m){a=k}else{a=m.generate()}}g[q]=o.id=a;o.phantom=true;o.crudState="C"}if(n){n.add(o)}if(o.init&&Ext.isFunction(o.init)){o.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(c.erased){Ext.raise("Cannot reject once a record has been erased.")}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(j){j=Ext.apply({},j);var g=this,i=j.scope||g,e=g.getProxy(),h=j.callback,c=g.loadOperation,a=g.getId(),b;if(c){b=c.extraCalls;if(!b){b=c.extraCalls=[]}b.push(j);return c}var d=true;if(g.phantom){d=false}j.id=a;j.recordCreator=function(m,k,l){var n=g.session;if(l){l.recordCreator=n?n.recordCreator:null}g.set(m,g._commitOptions);if(d&&g.getId()!==a){Ext.raise("Invalid record id returned for "+a+"@"+g.entityName)}return g};j.internalCallback=function(m){var q=m.wasSuccessful()&&m.getRecords().length>0,r=g.loadOperation,o=r.extraCalls,l=[g,m],p=[g,m,q],n,k;g.loadOperation=null;if(q){Ext.callback(j.success,i,l)}else{Ext.callback(j.failure,i,l)}Ext.callback(h,i,p);if(o){for(n=0,k=o.length;n<k;++n){j=o[n];if(q){Ext.callback(j.success,i,l)}else{Ext.callback(j.failure,i,l)}Ext.callback(j.callback,i,p)}}g.callJoined("afterLoad")};delete j.callback;g.loadOperation=c=e.createOperation("read",j);c.execute();return c},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){if(a){if(this.session){Ext.raise("This model already belongs to a session.")}if(!this.id){Ext.raise("The model must have an id to participate in a session.")}}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}}k.topoStack=null;return g},topoAdd:function(j){var b=this,h=j.depends,a=h?h.length:0,e=b.rankedFields,c,g;var d=b.topoStack||(b.topoStack=[]);d.push(j.name);if(j.rank===0){Ext.raise(b.$className+" has circular field dependencies: "+d.join(" --> "))}if(d.length&&j.evil){Ext.raise(b.$className+": Field "+d[d.length-1]+" cannot depend on depends-less field "+j.name)}j.rank=0;for(c=0;c<a;++c){g=b.fieldsMap[h[c]];if(!g){Ext.raise(b.$className+": Field "+j.name+" depends on undefined field "+h[c])}(g.dependents||(g.dependents=[])).push(j);if(!g.rank){b.topoAdd(g)}}e.push(j);j.rank=e.length;d.pop()},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(h.validations){delete h.validations;Ext.log.warn((p.$className||"Ext.data.Model")+": validations has been deprecated. Please use validators instead.")}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;default:Ext.raise('Invalid association type: "'+j.type+'"')}}}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(g.idgen){Ext.log.warn("Ext.data.Model: idgen has been deprecated. Please use identifier instead.")}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+"]");a.push(" /* ",m.name," */");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);if(!h){if(k.associations){Ext.raise('Anonymous entities cannot specify "associations"')}if(k.belongsTo){Ext.raise('Anonymous entities cannot specify "belongsTo"')}if(k.hasMany){Ext.raise('Anonymous entities cannot specify "hasMany"')}if(k.hasOne){Ext.raise('Anonymous entities cannot specify "hasOne"')}if(k.matrices){Ext.raise('Anonymous entities cannot specify "manyToMany"')}}}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;Ext.log.error('Ext.data.reader.Reader: Using the deprecated "root" configuration. Use "rootProperty" instead.')}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){Ext.raise("getResponseData must be implemented in the Ext.data.reader.Reader subclass")},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.raise("The Ext.data.proxy.Client subclass that you are using has not defined a 'clear' function. See src/data/ClientProxy.js for details.")}});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(b){var d=this;var c=d.model;d.removed=[];d.callParent(arguments);if(d.getAsynchronousLoad()===false){d.flushLoad()}if(!d.getModel()&&d.useModelWarning!==false&&d.getStoreId()!=="ext-empty-store"){var a=[Ext.getClassName(d)||"Store"," created with no model."];if(typeof c==="string"){a.push(" The name '",c,"'"," does not correspond to a valid model.")}Ext.log.warn(a.join(""))}},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;if(e.isSyncing){Ext.log.warn("Sync called while a sync operation is in progress. Consider configuring autoSync as 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){Ext.log.warn("Mismatched call to resumeAutoSync - auto synchronization is currently not suspended.")}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(!a){Ext.raise("You are using a ServerProxy but have not supplied it with a url.")}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){Ext.raise("The doRequest function has not been implemented on your Ext.data.proxy.Server subclass. See src/data/ServerProxy.js for details")},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},constructor:function(a){if(a&&a.hasOwnProperty("root")){a=Ext.apply({},a);a.rootProperty=a.root;delete a.root;Ext.log.warn('Ext.data.writer.Json: Using the deprecated "root" configuration. Use "rootProperty" instead.')}this.callParent([a])},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{Ext.raise("Must specify a root when using encode")}}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{if(!Ext.isObject(j)){Ext.raise("Invalid sort descriptor: "+j)}g=[j];c=i;i=null}}}if(c&&!h._sortModes[c]){Ext.raise('Sort mode should be "multi", "append", "prepend" or "replace", not "'+c+'"')}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{if(!Ext.isObject(i)){Ext.raise("Invalid sorter specified: "+i)}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)}}}else{Ext.raise("Invalid sorter specification: "+o)}}}}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{if(!Ext.isObject(c)){Ext.raise("Invalid filter specified: "+c)}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";if(!c&&!m&&!a){Ext.raise("Invalid filter specification: "+b)}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){if(this.self!==Ext.data.Store){Ext.raise("buffered config not supported on derived Store classes. Please derive from Ext.data.BufferedStore.")}return new Ext.data.BufferedStore(a)}if(a.remoteGroup){Ext.log.warn("Ext.data.Store: remoteGroup has been removed. Use remoteSort instead.")}}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;a.add=a.remove=a.insert=a.loadData=function(){Ext.raise("Cannot modify ext-empty-store")};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{Ext.log.warn("The before action: "+this.before+" was not found on the controller. The action method will not be executed.")}}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)}else{Ext.log.warn("The action: "+c.action+" was not found on the controller.")}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]);if(!c){Ext.log.warn("Missing namespace for "+d+", please define it in namespaces property of your Application class.")}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)}else{if(m==="getMainView"){Ext.log.warn("Cannot have a view named 'Main' - getter conflicts with mainView config.")}}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){Ext.log.warn("Cannot find namespace for "+g+" "+c+", assuming it is fully qualified class name")}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);if(n.__handleRequires){n.__handleRequires.call(this,k,Ext.bind(function(){return e.apply(this,m)},this));return}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]);if(Ext.isEmpty(b.getName())){Ext.raise("[Ext.app.Application] Name property is required")}b.doInit(b);b.initNamespace();Ext.on("appupdate",b.onAppUpdate,b,{single:true});Ext.Loader.setConfig({enabled: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}else{if(b[a]!==c){Ext.log.warn("An existing reference is being overwritten for "+name+"."+a+". See the appProperty config.")}}}}},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;if(a[c]&&a[c]!==b){Ext.log.warn('Duplicate reference: "'+c+'" on '+d.id)}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)}if(b&&!Ext.validIdRe.test(b)){Ext.Error.raise('Invalid reference "'+b+'" for '+this.getId()+" - not a valid identifier")}return b}}});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.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}else{if(b===this.STATE_TO){Ext.Logger.error("Setting and invalid '100%' / 'to' state of: "+d)}}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);if(!a){Ext.Logger.error("Invalid animation type of: '"+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);if(!a){Ext.Logger.error("Unknown card animation type: '"+c+"'")}}return Ext.factory(b,a)}});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;if(!d){Ext.raise("Views must specify an 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]}}else{if(e in c&&a.getAt(c[e])!==b){Ext.raise('Duplicate newKey "'+e+'" for item with oldKey "'+d+'"')}if(d in c&&a.getAt(c[d])!==b){Ext.raise('Incorrect oldKey "'+d+'" for item with newKey "'+e+'"')}}},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){if(Ext.util.Scheduler.instances){Ext.util.Scheduler.instances.push(this)}else{Ext.util.Scheduler.instances=[this]}this.id=Ext.util.Scheduler.count=(Ext.util.Scheduler.count||0)+1;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();Ext.Array.remove(Ext.util.Scheduler.instances,this)},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(b.sortMap){Ext.raise("Items cannot be removed during sort")}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;d.sortStack=[];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;d.sortStack=null},sortItem:function(e){var d=this,g=d.sortMap,a=d.orderedItems,h;if(!e.scheduler){d.add(e)}h=e.id;if(e.scheduler!==d){Ext.raise("Item "+h+" belongs to another Scheduler")}d.sortStack.push(e);if(g[h]===0){for(var c=[],b=0;b<d.sortStack.length;++b){c[b]=d.sortStack[b].getFullName()}Ext.raise("Dependency cycle detected: "+c.join("\n --> "))}if(!(h in g)){g[h]=0;if(!e.sort.$nullFn){e.sort()}g[h]=1;e.order=d.orderedItems.length;a.push(e)}d.sortStack.pop();return d},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;if(k.onCycleLimitExceeded){k.onCycleLimitExceeded()}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;Ext.Assert.falsey(b.store,"Store is already attached");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){if(!(n instanceof Array)){Ext.raise("Only array of records or record ids are supported")}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);Ext.Assert.truthy(b.isManyToMany,"Association is not many-to-many");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;d.checkModelType(b.self);if(b.session&&b.session!==d){Ext.raise("Record already belongs to an existing session")}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){this.checkModelType(b);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){this.checkModelType(e);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()}else{Ext.raise("Cannot commit session, no parent exists")}},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);if(!g){Ext.raise("Invalid entity type: "+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];if(!h){Ext.raise("Invalid association key for "+o+', "'+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;if(d.record){Ext.raise("Duplicate id "+b.id+" for "+b.entityName)}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)},checkModelType:function(a){if(a.$isClass){a=a.entityName}if(!a){Ext.raise("Unable to use anonymous models in a Session")}else{if(!this.getSchema().getEntity(a)){Ext.raise("Unknown entity type "+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;if(u[i]){Ext.raise("Cannot change "+j+" id from "+m+" to "+i+" id already exists")}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;if(!e){Ext.raise("Callback is required")}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){if(this.isReadOnly()){Ext.raise("Cannot setValue on a readonly binding")}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){if(d.isReadOnly()){Ext.raise("Cannot setValue on a readonly formula")}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){if(!h||h.constructor!==Object){Ext.raise("Only an object can be set at the root")}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(i.indexOf(".")>=0){Ext.raise("Value names cannot contain dots")}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(!a){Ext.raise("Must specify a getter method for a formula")}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},dump:function(){var c=this,a={at:c.at,arity:c.arity},b;if("value" in c){a.value=c.value}if(c.lhs){a.lhs=c.lhs.dump();a.rhs=c.rhs.dump()}if(c.operand){a.operand=c.operand.dump()}if(c.args){a.args=[];for(b=0;b<c.args.length;++b){a.args.push(c.args[b].dump())}}return a},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,dump:function(){var d=this,b={at:d.at,arity:d.arity,value:d.value,operand:d.operand.dump(),fmt:[]},a=d.fmt,c;for(c=0;c<a.length;++c){b.fmt.push(a[c].dump())}return b},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;a=c.token.value==="@"&&c.tokenizer.peek();if(a){a=a.value==="debugger";if(a){c.advance();c.advance()}}b=c.parseSlot(c.parseExpression(),a);c.tokens=c.tokensMap=null;return b},compileFormat:function(){var a;try{a=this.parseSlot({arity:"formatter",fmt:this.parseFmt(),operand:{arity:"ident",value:"dummy"}});this.expect("(end)")}catch(b){Ext.raise('Invalid format expression: "'+this.tokenizer.text+'"')}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");if(a){g="debugger;\n"+g}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],updateRemoteFilter:function(a,b){if(a){Ext.raise("Remote filtering cannot be used with chained stores.")}this.callParent([a,b])},updateRemoteSort:function(b,a){if(b){Ext.raise("Remote sorting cannot be used with chained stores.")}this.callParent([b,a])},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(c){if(c){var a=c,b;c=Ext.data.StoreManager.lookup(c);if(!c){b="Invalid source {0}specified for Ext.data.ChainedStore";b=Ext.String.format(b,typeof a==="string"?'"'+a+'" ':"");Ext.raise(b)}}return c},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(j.indexOf(".")>-1){Ext.raise('Links can only be at the top-level: "'+j+'"')}if(d.isModel){d={type:d.entityName,id:d.id}}b=d.type||d.reference;g=d.create;if(b){a=d.id;if(!d.create&&Ext.isEmpty(a)){Ext.raise('No id specified. To create a phantom model, specify "create: true" as part of the reference.')}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(!e){Ext.raise("Invalid model name: "+b)}}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){if(b.indexOf(".")>=0){Ext.raise("Formula names cannot contain dots: "+b)}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;if(!a){Ext.raise("Need API discovery URL to load a Remoting provider!")}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}else{Ext.raise("Cannot resolve Direct API method '"+g+"' for "+d+" action in "+a.$className+" instance with id: "+(a.id!=null?a.id:"unknown"))}}}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])},updatePageSize:function(b,a){if(a!=null){throw"pageMap page size may not be changed"}},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){if(this.getCount()){Ext.raise("Cannot addAll to a non-empty PageMap")}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(){Ext.raise("insert operation not suppported into buffered Store")},remove:function(){Ext.raise("remove operation not suppported from buffered Store")},removeAt:function(){Ext.raise("removeAt operation not suppported from buffered Store")},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());if(b&&b!==true){Ext.raise("Cannot load a buffered store with local data - the store is a map of remote data")}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()},updateRemoteFilter:function(a,b){if(a===false){Ext.raise("Buffered stores are always remotely filtered.")}this.callParent([a,b])},updateRemoteSort:function(b,a){if(b===false){Ext.raise("Buffered stores are always remotely sorted.")}this.callParent([b,a])},updateTrackRemoved:function(a){if(a!==false){Ext.raise("Cannot use trackRemoved with a buffered store.")}this.callParent(arguments)},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},add:function(){Ext.raise("add method may not be called on a buffered store - the store is a map of remote data")},insert:function(){Ext.raise("insert method may not be called on a buffered store - the store is a map of remote data")},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(){if(!this.getRemoteFilter()){Ext.raise("Local filtering may not be used on a buffered store - the store is a map of remote data")}this.callParent(arguments)},filterBy:function(b,a){Ext.raise("Local filtering may not be used on a buffered store - the store is a map of remote data")},loadData:function(b,a){Ext.raise("LoadData may not be used on a buffered store - the store is a map of remote data")},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;if(isNaN(m.pageSize)||!m.pageSize){Ext.raise("Buffered store configured without a pageSize",m)}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);if(g>a){Ext.log({level:"warn",msg:"Start ("+g+") was greater than end ("+a+") for the range of records requested ("+g+"-"+d.prefetchEnd+")"+(this.storeId?' from store "'+this.storeId+'"':"")})}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();if(!j||!j.directCfg){Ext.raise({msg:'No Ext Direct function specified for Direct proxy "'+c+'" operation',proxy:i})}if(!i.paramOrder&&j.directCfg.method.len>1){Ext.raise({msg:'Incorrect parameters for Direct proxy "'+c+'" operation',proxy:i})}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);if(!n.url){Ext.raise("A url must be specified for a JSONP request.")}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]);if(Ext.isDefined(b.nodeParameter)){if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn("Ext.data.TreeStore: nodeParameter has been deprecated. Please use nodeParam instead.")}b.nodeParam=b.nodeParameter;delete b.nodeParameter}},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{if(!l[h]){Ext.raise('Ext.data.TreeStore, Invalid parentId "'+h+'"')}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]}}Ext.raise({sourceClass:"Ext.DomHelper",sourceMethod:"insertHtml",htmlToInsert:n,targetElement:j,msg:'Illegal insertion point reached: "'+m+'"'})},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){Ext.raise("Record is a required parameter")}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={};if(this.getStorageObject()===undefined){Ext.raise("Local Storage is not supported in this browser, please use another type of data proxy")}if(this.getId()===undefined){Ext.raise("No unique id was provided to the local storage proxy. See Ext.data.proxy.LocalStorage documentation for details")}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.raise("The getStorageObject function has not been defined in your Ext.data.proxy.WebStorage subclass")}});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},constructor:function(){this.callParent(arguments);if(!this.getMatcher()){Ext.raise("validator.Format must be configured with a matcher")}},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"},constructor:function(){this.callParent(arguments);if(!this.getList()){Ext.raise("validator.Exclusion requires a list")}},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"},constructor:function(){this.callParent(arguments);if(!this.getList()){Ext.raise("validator.Inclusion requires a list")}},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]}if(p.disableTryCatch){e=b.run.apply(b.scope||b,n)}else{try{e=b.run.apply(b.scope||b,n)}catch(k){try{Ext.log({fn:b.run,prefix:"Error while running task",stack:k.stack,msg:k,level:"error"});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)){var d=b;c.pollFn=b=Ext.direct.Manager.parseMethod(b);if(!Ext.isFunction(b)){Ext.raise("Cannot resolve Ext Direct API method "+d+" for PollingProvider")}}else{if(Ext.isFunction(a)){Ext.log.warn("Using a function for url is deprecated, use pollFn instead.");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;if(a<100){Ext.raise("Attempting to configure PollProvider "+b.id+" with interval that is less than 100ms.")}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)){if(h===0){Ext.raise("metadata.len cannot be 0 for Ext Direct method "+i.name)}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}else{Ext.raise("metadata is neither named nor ordered for Ext Direct method "+i.name)}}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){if(!Ext.isArray(m.metadata)){Ext.raise("options.metadata is not an Array for Ext Direct method "+h.name)}else{if(m.metadata.length<h.metadata.len){Ext.raise("Not enough parameters in options.metadata for Ext Direct method "+h.name)}}i=m.metadata.slice(0,h.metadata.len)}else{if(!Ext.isObject(m.metadata)){Ext.raise("options.metadata is not an Object for Ext Direct method "+h.name)}i=Ext.apply({},m.metadata);if(h.metadata.strict){for(a in i){if(i.hasOwnProperty(a)&&!h.metadata.params[a]){delete i[a]}}}for(a in h.metadata.params){if(!i.hasOwnProperty(a)){Ext.raise("Named parameter "+a+" is missing in options.metadata for Ext Direct method "+h.name)}}}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;if(!a.url){Ext.raise('Error initializing RemotingProvider "'+a.id+'", no url configured.')}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;if(a&&!Ext.isFunction(a)){Ext.raise("Callback argument is not a function for Ext Direct method "+g+"."+i.name)}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:function(){Ext.raise("Cannot use addListener() on Ext.dom.Fly instances. Please use Ext.get() to retrieve an Ext.dom.Element instance instead.")}||null,removeListener:function(){Ext.raise("Cannot use removeListener() on Ext.dom.Fly instances. Please use Ext.get() to retrieve an Ext.dom.Element instance instead.")}||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;var l=[];for(b in a){if(!a.hasOwnProperty(b)){continue}c=a[b];if(c.skipGarbageCollection){continue}g=c.dom;if(!g){Ext.raise("Missing DOM node in element garbage collection: "+b)}try{h=Ext.isGarbage(g)}catch(i){delete a[b];l.push("#"+c.id);continue}if(h){if(c&&c.dom){d=c.dom.tagName;c.collect();l.push((d?d:"")+"#"+c.id)}}}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();return l},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 e=this,a=Ext.supports;if(a.PointerEvents){e.cssProp="touch-action"}else{if(a.MSPointerEvents){e.cssProp="-ms-touch-action"}else{if(a.TouchEvents){Ext.getWin().on({touchstart:"onTouchStart",touchmove:"onTouchMove",touchend:"onTouchEnd",scope:e,translate:false,capture:true,priority:5000});Ext.on({scroll:"onScroll",scope:e,destroyable:true})}}}if(Ext.isFunction(Object.freeze)){var b=e.objectValues;for(var c=0,d=b.length;c<d;c++){Object.freeze(b[c])}}},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{if(!d.finalized){Ext.raise("Unable to call getData until the drop is complete")}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){if(k!==n){Ext.Logger.error("Length unit: '"+k+"' in value: '"+l+"' of property: '"+b+"' is not valid for animation. Only 'px' is allowed")}}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("data-sticky",true);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.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.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){if(!this.delegate){Ext.raise("mouseenter plugin must be configured with a delegate selector")}if(!this.handler){Ext.raise("mouseenter plugin must be configured with handler callback")}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(){Ext.raise("reset not implemented")},_genShape:function(b,a){var c=this.shapeCount++;a.unshift(c);return new Ext.sparkline.Shape(this,c,b,a)},appendShape:function(a){Ext.raise("appendShape not implemented")},replaceWithShape:function(b,a){Ext.raise("replaceWithShape not implemented")},insertAfterShape:function(b,a){Ext.raise("insertAfterShape not implemented")},removeShapeId:function(a){Ext.raise("removeShapeId not implemented")},getShapeAt:function(a,b){Ext.raise("getShapeAt not implemented")},render:function(){Ext.raise("render not implemented")}});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.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:"● {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:"● {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:'● {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:["● {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)}else{if(g&&(isNaN(g)||Ext.isArray(g))){Ext.raise("Cannot serialize "+Ext.typeOf(g)+" into CSV")}}}}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{if(a===true){Ext.raise('Creating a shared instance of private local store "'+d.id+'".')}++a._users}return a},supported:true},constructor:function(a){var b=this;Ext.apply(b,a);if(!b.hasOwnProperty("id")){Ext.raise("No id was provided to the local store.")}if(b._users){Ext.util.LocalStorage.cache[b.id]=b}else{if(Ext.util.LocalStorage.cache[b.id]){Ext.raise('Cannot create duplicate instance of local store "'+b.id+'". Use Ext.util.LocalStorage.get() to share instances.')}Ext.util.LocalStorage.cache[b.id]=true}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;if(a._users){Ext.log.warn("LocalStorage(id="+a.id+") destroyed while in use")}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;a.prototype.init=function(){Ext.raise("Local storage is not supported on this browser")};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({"data-sticky":true,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.ClassManager.addNameAlternateMappings({"Ext.AbstractComponent":[],"Ext.AbstractManager":[],"Ext.ActionSheet":[],"Ext.Ajax":[],"Ext.Anim":[],"Ext.AnimationQueue":[],"Ext.Audio":[],"Ext.Button":[],"Ext.Component":["Ext.lib.Component","Ext.Gadget"],"Ext.ComponentManager":["Ext.ComponentMgr"],"Ext.ComponentQuery":[],"Ext.Container":["Ext.lib.Container","Ext.container.Container"],"Ext.Decorator":[],"Ext.Deferred":[],"Ext.Evented":["Ext.EventedBase"],"Ext.GlobalEvents":["Ext.globalEvents"],"Ext.Glyph":[],"Ext.Img":["Ext.Image"],"Ext.Label":[],"Ext.LoadMask":[],"Ext.Mask":[],"Ext.Media":[],"Ext.Menu":[],"Ext.MessageBox":[],"Ext.Mixin":[],"Ext.Panel":["Ext.panel.Panel"],"Ext.Progress":["Ext.ProgressBarWidget"],"Ext.ProgressBase":[],"Ext.Promise":[],"Ext.SegmentedButton":["Ext.button.Segmented"],"Ext.Sheet":[],"Ext.Sortable":[],"Ext.Spacer":[],"Ext.TaskQueue":[],"Ext.Template":[],"Ext.Title":[],"Ext.TitleBar":[],"Ext.Toast":[],"Ext.Toolbar":[],"Ext.Video":[],"Ext.Widget":["Ext.Gadget"],"Ext.XTemplate":[],"Ext.app.Application":[],"Ext.app.BaseController":[],"Ext.app.Controller":[],"Ext.app.EventBus":[],"Ext.app.EventDomain":[],"Ext.app.Profile":[],"Ext.app.Util":[],"Ext.app.ViewController":[],"Ext.app.ViewModel":[],"Ext.app.bind.AbstractStub":[],"Ext.app.bind.BaseBinding":[],"Ext.app.bind.Binding":[],"Ext.app.bind.Formula":[],"Ext.app.bind.LinkStub":[],"Ext.app.bind.Multi":[],"Ext.app.bind.Parser":[],"Ext.app.bind.RootStub":[],"Ext.app.bind.Stub":[],"Ext.app.bind.Template":[],"Ext.app.bind.TemplateBinding":[],"Ext.app.domain.Component":[],"Ext.app.domain.Controller":[],"Ext.app.domain.Direct":[],"Ext.app.domain.Global":[],"Ext.app.domain.Store":[],"Ext.app.domain.View":[],"Ext.app.route.Queue":[],"Ext.app.route.Route":[],"Ext.app.route.Router":[],"Ext.behavior.Behavior":[],"Ext.behavior.Draggable":[],"Ext.behavior.Translatable":[],"Ext.carousel.Carousel":["Ext.Carousel"],"Ext.carousel.Indicator":[],"Ext.carousel.Infinite":[],"Ext.carousel.Item":[],"Ext.data.AbstractStore":[],"Ext.data.ArrayStore":["Ext.data.SimpleStore"],"Ext.data.Batch":[],"Ext.data.BufferedStore":[],"Ext.data.ChainedStore":[],"Ext.data.Connection":[],"Ext.data.DirectStore":[],"Ext.data.Error":[],"Ext.data.ErrorCollection":["Ext.data.Errors"],"Ext.data.JsonP":[],"Ext.data.JsonPStore":[],"Ext.data.JsonStore":[],"Ext.data.LocalStore":[],"Ext.data.Model":["Ext.data.Record"],"Ext.data.ModelManager":["Ext.ModelMgr"],"Ext.data.NodeInterface":[],"Ext.data.NodeStore":[],"Ext.data.PageMap":[],"Ext.data.ProxyStore":[],"Ext.data.Request":[],"Ext.data.ResultSet":[],"Ext.data.Session":[],"Ext.data.SortTypes":[],"Ext.data.Store":[],"Ext.data.StoreManager":["Ext.StoreMgr","Ext.data.StoreMgr","Ext.StoreManager"],"Ext.data.TreeModel":[],"Ext.data.TreeStore":[],"Ext.data.Types":[],"Ext.data.Validation":[],"Ext.data.XmlStore":[],"Ext.data.field.Boolean":[],"Ext.data.field.Date":[],"Ext.data.field.Field":["Ext.data.Field"],"Ext.data.field.Integer":[],"Ext.data.field.Number":[],"Ext.data.field.String":[],"Ext.data.flash.BinaryXhr":[],"Ext.data.identifier.Generator":[],"Ext.data.identifier.Negative":[],"Ext.data.identifier.Sequential":[],"Ext.data.identifier.Uuid":[],"Ext.data.matrix.Matrix":[],"Ext.data.matrix.Side":[],"Ext.data.matrix.Slice":[],"Ext.data.operation.Create":[],"Ext.data.operation.Destroy":[],"Ext.data.operation.Operation":["Ext.data.Operation"],"Ext.data.operation.Read":[],"Ext.data.operation.Update":[],"Ext.data.proxy.Ajax":["Ext.data.HttpProxy","Ext.data.AjaxProxy"],"Ext.data.proxy.Client":["Ext.data.ClientProxy"],"Ext.data.proxy.Direct":["Ext.data.DirectProxy"],"Ext.data.proxy.JsonP":["Ext.data.ScriptTagProxy"],"Ext.data.proxy.LocalStorage":["Ext.data.LocalStorageProxy"],"Ext.data.proxy.Memory":["Ext.data.MemoryProxy"],"Ext.data.proxy.Proxy":["Ext.data.DataProxy","Ext.data.Proxy"],"Ext.data.proxy.Rest":["Ext.data.RestProxy"],"Ext.data.proxy.Server":["Ext.data.ServerProxy"],"Ext.data.proxy.SessionStorage":["Ext.data.SessionStorageProxy"],"Ext.data.proxy.WebStorage":["Ext.data.WebStorageProxy"],"Ext.data.reader.Array":["Ext.data.ArrayReader"],"Ext.data.reader.Json":["Ext.data.JsonReader"],"Ext.data.reader.Reader":["Ext.data.Reader","Ext.data.DataReader"],"Ext.data.reader.Xml":["Ext.data.XmlReader"],"Ext.data.request.Ajax":[],"Ext.data.request.Base":[],"Ext.data.request.Form":[],"Ext.data.schema.Association":[],"Ext.data.schema.ManyToMany":[],"Ext.data.schema.ManyToOne":[],"Ext.data.schema.Namer":[],"Ext.data.schema.OneToOne":[],"Ext.data.schema.Role":[],"Ext.data.schema.Schema":[],"Ext.data.session.BatchVisitor":[],"Ext.data.session.ChangesVisitor":[],"Ext.data.session.ChildChangesVisitor":[],"Ext.data.validator.Bound":[],"Ext.data.validator.Email":[],"Ext.data.validator.Exclusion":[],"Ext.data.validator.Format":[],"Ext.data.validator.Inclusion":[],"Ext.data.validator.Length":[],"Ext.data.validator.List":[],"Ext.data.validator.Presence":[],"Ext.data.validator.Range":[],"Ext.data.validator.Validator":[],"Ext.data.writer.Json":["Ext.data.JsonWriter"],"Ext.data.writer.Writer":["Ext.data.DataWriter","Ext.data.Writer"],"Ext.data.writer.Xml":["Ext.data.XmlWriter"],"Ext.dataview.DataView":["Ext.DataView"],"Ext.dataview.IndexBar":["Ext.IndexBar"],"Ext.dataview.ItemHeader":[],"Ext.dataview.List":["Ext.List"],"Ext.dataview.ListItem":["Ext.dataview.component.ListItem"],"Ext.dataview.ListItemBody":[],"Ext.dataview.ListItemDisclosure":[],"Ext.dataview.NestedList":["Ext.NestedList"],"Ext.dataview.SimpleListItem":["Ext.dataview.component.SimpleListItem"],"Ext.dataview.component.Container":[],"Ext.dataview.component.DataItem":[],"Ext.dataview.element.Container":[],"Ext.dataview.element.List":[],"Ext.dataview.plugin.ItemTip":[],"Ext.direct.Event":[],"Ext.direct.ExceptionEvent":[],"Ext.direct.JsonProvider":[],"Ext.direct.Manager":[],"Ext.direct.PollingProvider":[],"Ext.direct.Provider":[],"Ext.direct.RemotingEvent":[],"Ext.direct.RemotingMethod":[],"Ext.direct.RemotingProvider":[],"Ext.direct.Transaction":[],"Ext.dom.CompositeElement":["Ext.CompositeElement"],"Ext.dom.CompositeElementLite":["Ext.CompositeElementLite"],"Ext.dom.Element":["Ext.Element"],"Ext.dom.ElementEvent":[],"Ext.dom.Fly":["Ext.dom.Element.Fly"],"Ext.dom.GarbageCollector":[],"Ext.dom.Helper":["Ext.DomHelper","Ext.core.DomHelper"],"Ext.dom.Query":["Ext.core.DomQuery","Ext.DomQuery"],"Ext.dom.Shadow":["Ext.Shadow"],"Ext.dom.Shim":[],"Ext.dom.TouchAction":[],"Ext.dom.Underlay":[],"Ext.dom.UnderlayPool":[],"Ext.drag.Constraint":[],"Ext.drag.Info":[],"Ext.drag.Item":[],"Ext.drag.Manager":[],"Ext.drag.Source":[],"Ext.drag.Target":[],"Ext.drag.proxy.None":[],"Ext.drag.proxy.Original":[],"Ext.drag.proxy.Placeholder":[],"Ext.event.Event":["Ext.EventObjectImpl"],"Ext.event.gesture.DoubleTap":[],"Ext.event.gesture.Drag":[],"Ext.event.gesture.EdgeSwipe":[],"Ext.event.gesture.LongPress":[],"Ext.event.gesture.MultiTouch":[],"Ext.event.gesture.Pinch":[],"Ext.event.gesture.Recognizer":[],"Ext.event.gesture.Rotate":[],"Ext.event.gesture.SingleTouch":[],"Ext.event.gesture.Swipe":[],"Ext.event.gesture.Tap":[],"Ext.event.publisher.Dom":[],"Ext.event.publisher.ElementPaint":[],"Ext.event.publisher.ElementSize":[],"Ext.event.publisher.Focus":[],"Ext.event.publisher.Gesture":[],"Ext.event.publisher.Publisher":[],"Ext.field.Checkbox":["Ext.form.Checkbox"],"Ext.field.CheckboxInput":[],"Ext.field.DatePicker":["Ext.form.DatePicker"],"Ext.field.DatePickerNative":["Ext.form.DatePickerNative"],"Ext.field.Email":["Ext.form.Email"],"Ext.field.Field":["Ext.form.Field"],"Ext.field.File":[],"Ext.field.FileInput":[],"Ext.field.Hidden":["Ext.form.Hidden"],"Ext.field.Input":[],"Ext.field.Number":["Ext.form.Number"],"Ext.field.Password":["Ext.form.Password"],"Ext.field.PasswordInput":[],"Ext.field.Picker":[],"Ext.field.Radio":["Ext.form.Radio"],"Ext.field.RadioInput":[],"Ext.field.Search":["Ext.form.Search"],"Ext.field.Select":["Ext.form.Select"],"Ext.field.SingleSlider":[],"Ext.field.Slider":["Ext.form.Slider"],"Ext.field.Spinner":["Ext.form.Spinner"],"Ext.field.Text":["Ext.form.Text"],"Ext.field.TextArea":["Ext.form.TextArea"],"Ext.field.TextAreaInput":[],"Ext.field.TextInput":[],"Ext.field.Toggle":["Ext.form.Toggle"],"Ext.field.Url":["Ext.form.Url"],"Ext.field.trigger.Clear":[],"Ext.field.trigger.Date":[],"Ext.field.trigger.Expand":[],"Ext.field.trigger.Reveal":[],"Ext.field.trigger.Search":[],"Ext.field.trigger.SpinDown":[],"Ext.field.trigger.SpinUp":[],"Ext.field.trigger.Trigger":[],"Ext.form.FieldContainer":[],"Ext.form.FieldSet":[],"Ext.form.Panel":["Ext.form.FormPanel"],"Ext.fx.Animation":[],"Ext.fx.Runner":[],"Ext.fx.State":[],"Ext.fx.animation.Abstract":[],"Ext.fx.animation.Cube":[],"Ext.fx.animation.Fade":["Ext.fx.animation.FadeIn"],"Ext.fx.animation.FadeOut":[],"Ext.fx.animation.Flip":[],"Ext.fx.animation.Pop":["Ext.fx.animation.PopIn"],"Ext.fx.animation.PopOut":[],"Ext.fx.animation.Slide":["Ext.fx.animation.SlideIn"],"Ext.fx.animation.SlideOut":[],"Ext.fx.animation.Wipe":["Ext.fx.animation.WipeIn"],"Ext.fx.animation.WipeOut":[],"Ext.fx.easing.Abstract":[],"Ext.fx.easing.Bounce":[],"Ext.fx.easing.BoundMomentum":[],"Ext.fx.easing.EaseIn":[],"Ext.fx.easing.EaseOut":[],"Ext.fx.easing.Easing":[],"Ext.fx.easing.Linear":[],"Ext.fx.easing.Momentum":[],"Ext.fx.layout.Card":[],"Ext.fx.layout.card.Abstract":[],"Ext.fx.layout.card.Cover":[],"Ext.fx.layout.card.Cube":[],"Ext.fx.layout.card.Fade":[],"Ext.fx.layout.card.Flip":[],"Ext.fx.layout.card.Pop":[],"Ext.fx.layout.card.Reveal":[],"Ext.fx.layout.card.Scroll":[],"Ext.fx.layout.card.ScrollCover":[],"Ext.fx.layout.card.ScrollReveal":[],"Ext.fx.layout.card.Slide":[],"Ext.fx.layout.card.Style":[],"Ext.fx.runner.Css":[],"Ext.fx.runner.CssAnimation":[],"Ext.fx.runner.CssTransition":["Ext.Animator"],"Ext.grid.Grid":[],"Ext.grid.HeaderContainer":[],"Ext.grid.HeaderGroup":[],"Ext.grid.PagingToolbar":[],"Ext.grid.Row":[],"Ext.grid.RowBody":[],"Ext.grid.RowHeader":[],"Ext.grid.Tree":["Ext.tree.Tree"],"Ext.grid.cell.Base":[],"Ext.grid.cell.Boolean":[],"Ext.grid.cell.Cell":[],"Ext.grid.cell.Check":[],"Ext.grid.cell.Date":[],"Ext.grid.cell.Expander":[],"Ext.grid.cell.Number":[],"Ext.grid.cell.RowNumberer":[],"Ext.grid.cell.Summary":[],"Ext.grid.cell.Text":[],"Ext.grid.cell.Tree":[],"Ext.grid.cell.Widget":[],"Ext.grid.column.Boolean":[],"Ext.grid.column.Check":[],"Ext.grid.column.Column":["Ext.grid.column.Template"],"Ext.grid.column.Date":[],"Ext.grid.column.Number":[],"Ext.grid.column.RowNumberer":[],"Ext.grid.column.Selection":[],"Ext.grid.column.Tree":[],"Ext.grid.plugin.ColumnResizing":[],"Ext.grid.plugin.Editable":[],"Ext.grid.plugin.MultiSelection":[],"Ext.grid.plugin.PagingToolbar":[],"Ext.grid.plugin.RowExpander":[],"Ext.grid.plugin.SummaryRow":[],"Ext.grid.plugin.ViewOptions":[],"Ext.layout.Abstract":[],"Ext.layout.Box":[],"Ext.layout.Card":[],"Ext.layout.Default":[],"Ext.layout.Fit":[],"Ext.layout.FlexBox":[],"Ext.layout.Float":[],"Ext.layout.HBox":[],"Ext.layout.VBox":[],"Ext.layout.wrapper.BoxDock":[],"Ext.layout.wrapper.Dock":[],"Ext.layout.wrapper.Inner":[],"Ext.list.AbstractTreeItem":[],"Ext.list.RootTreeItem":[],"Ext.list.Tree":[],"Ext.list.TreeItem":[],"Ext.mixin.Accessible":[],"Ext.mixin.Bindable":[],"Ext.mixin.ComponentDelegation":[],"Ext.mixin.ConfigState":[],"Ext.mixin.Container":[],"Ext.mixin.Dirty":[],"Ext.mixin.Factoryable":[],"Ext.mixin.Hookable":[],"Ext.mixin.Inheritable":[],"Ext.mixin.Keyboard":[],"Ext.mixin.Mashup":[],"Ext.mixin.Pluggable":[],"Ext.mixin.Progressable":[],"Ext.mixin.Queryable":[],"Ext.mixin.Responsive":[],"Ext.mixin.Selectable":[],"Ext.mixin.StyleCacher":[],"Ext.mixin.Templatable":[],"Ext.mixin.Traversable":[],"Ext.navigation.Bar":[],"Ext.navigation.View":["Ext.NavigationView"],"Ext.override.sparkline.Base":[],"Ext.overrides.Progress":[],"Ext.overrides.Widget":[],"Ext.overrides.app.Application":[],"Ext.overrides.dom.Element":[],"Ext.overrides.list.Tree":[],"Ext.overrides.list.TreeItem":[],"Ext.panel.Header":[],"Ext.panel.Title":[],"Ext.panel.Tool":[],"Ext.parse.Parser":[],"Ext.parse.Symbol":[],"Ext.parse.Tokenizer":[],"Ext.parse.symbol.Constant":[],"Ext.parse.symbol.Infix":[],"Ext.parse.symbol.InfixRight":[],"Ext.parse.symbol.Paren":[],"Ext.parse.symbol.Prefix":[],"Ext.perf.Accumulator":[],"Ext.perf.Monitor":["Ext.Perf"],"Ext.picker.Date":["Ext.DatePicker"],"Ext.picker.Picker":["Ext.Picker"],"Ext.picker.Slot":[],"Ext.plugin.Abstract":["Ext.AbstractPlugin"],"Ext.plugin.LazyItems":[],"Ext.plugin.ListPaging":[],"Ext.plugin.MouseEnter":[],"Ext.plugin.PullRefresh":[],"Ext.plugin.Responsive":[],"Ext.plugin.SortableList":[],"Ext.plugin.field.PlaceHolderLabel":[],"Ext.promise.Consequence":[],"Ext.promise.Deferred":[],"Ext.promise.Promise":[],"Ext.scroll.Scroller":[],"Ext.slider.Slider":[],"Ext.slider.Thumb":[],"Ext.slider.Toggle":[],"Ext.sparkline.Bar":[],"Ext.sparkline.BarBase":[],"Ext.sparkline.Base":[],"Ext.sparkline.Box":[],"Ext.sparkline.Bullet":[],"Ext.sparkline.CanvasBase":[],"Ext.sparkline.CanvasCanvas":[],"Ext.sparkline.Discrete":[],"Ext.sparkline.Line":[],"Ext.sparkline.Pie":[],"Ext.sparkline.RangeMap":[],"Ext.sparkline.Shape":[],"Ext.sparkline.TriState":[],"Ext.sparkline.VmlCanvas":[],"Ext.tab.Bar":["Ext.TabBar"],"Ext.tab.Panel":["Ext.TabPanel"],"Ext.tab.Tab":["Ext.Tab"],"Ext.table.Cell":[],"Ext.table.Row":[],"Ext.table.Table":[],"Ext.tip.Manager":[],"Ext.tip.ToolTip":[],"Ext.util.AbstractMixedCollection":[],"Ext.util.Audio":[],"Ext.util.Bag":[],"Ext.util.Base64":[],"Ext.util.BufferedCollection":[],"Ext.util.CSS":[],"Ext.util.CSV":[],"Ext.util.Collection":[],"Ext.util.CollectionKey":[],"Ext.util.Color":["Ext.draw.Color"],"Ext.util.DelimitedValue":[],"Ext.util.Draggable":[],"Ext.util.Droppable":[],"Ext.util.Filter":[],"Ext.util.FilterCollection":[],"Ext.util.Fly":[],"Ext.util.Format":[],"Ext.util.Geolocation":["Ext.util.GeoLocation"],"Ext.util.Group":[],"Ext.util.GroupCollection":[],"Ext.util.Grouper":[],"Ext.util.HashMap":[],"Ext.util.History":["Ext.History"],"Ext.util.Inflector":[],"Ext.util.InputBlocker":[],"Ext.util.ItemCollection":["Ext.ItemCollection"],"Ext.util.LineSegment":[],"Ext.util.LocalStorage":[],"Ext.util.LruCache":[],"Ext.util.MixedCollection":[],"Ext.util.ObjectTemplate":[],"Ext.util.Observable":[],"Ext.util.Offset":[],"Ext.util.PaintMonitor":[],"Ext.util.Point":[],"Ext.util.PositionMap":[],"Ext.util.Positionable":[],"Ext.util.Region":[],"Ext.util.Schedulable":[],"Ext.util.Scheduler":[],"Ext.util.SizeMonitor":[],"Ext.util.Sortable":[],"Ext.util.Sorter":[],"Ext.util.SorterCollection":[],"Ext.util.TSV":[],"Ext.util.TapRepeater":[],"Ext.util.TextMetrics":[],"Ext.util.Translatable":[],"Ext.util.TranslatableGroup":[],"Ext.util.TranslatableList":[],"Ext.util.Wrapper":[],"Ext.util.XTemplateCompiler":[],"Ext.util.XTemplateParser":[],"Ext.util.paintmonitor.Abstract":[],"Ext.util.paintmonitor.CssAnimation":[],"Ext.util.paintmonitor.OverflowChange":[],"Ext.util.sizemonitor.Abstract":[],"Ext.util.sizemonitor.OverflowChange":[],"Ext.util.sizemonitor.Scroll":[],"Ext.util.translatable.Abstract":[],"Ext.util.translatable.CssPosition":[],"Ext.util.translatable.CssTransform":[],"Ext.util.translatable.Dom":[],"Ext.util.translatable.ScrollParent":[],"Ext.util.translatable.ScrollPosition":[],"Ext.viewport.Android":[],"Ext.viewport.Default":[],"Ext.viewport.Ios":[],"Ext.viewport.Viewport":[],"Ext.viewport.WindowsPhone":["Ext.viewport.WP"]});Ext.ClassManager.addNameAliasMappings({"Ext.AbstractComponent":[],"Ext.AbstractManager":[],"Ext.ActionSheet":["widget.actionsheet"],"Ext.Ajax":[],"Ext.Anim":[],"Ext.AnimationQueue":[],"Ext.Audio":["widget.audio"],"Ext.Button":["widget.button"],"Ext.Component":["widget.component"],"Ext.ComponentManager":[],"Ext.ComponentQuery":[],"Ext.Container":["widget.container"],"Ext.Decorator":[],"Ext.Deferred":[],"Ext.Evented":[],"Ext.GlobalEvents":[],"Ext.Glyph":[],"Ext.Img":["widget.image","widget.img"],"Ext.Label":["widget.label"],"Ext.LoadMask":["widget.loadmask"],"Ext.Mask":["widget.mask"],"Ext.Media":["widget.media"],"Ext.Menu":["widget.menu"],"Ext.MessageBox":["widget.messagebox"],"Ext.Mixin":[],"Ext.Panel":["widget.panel"],"Ext.Progress":["widget.progress","widget.progressbarwidget"],"Ext.ProgressBase":[],"Ext.Promise":[],"Ext.SegmentedButton":["widget.segmentedbutton"],"Ext.Sheet":["widget.sheet"],"Ext.Sortable":[],"Ext.Spacer":["widget.spacer"],"Ext.TaskQueue":[],"Ext.Template":[],"Ext.Title":["widget.title"],"Ext.TitleBar":["widget.titlebar"],"Ext.Toast":[],"Ext.Toolbar":["widget.toolbar"],"Ext.Video":["widget.video"],"Ext.Widget":["widget.widget"],"Ext.XTemplate":[],"Ext.app.Application":[],"Ext.app.BaseController":[],"Ext.app.Controller":[],"Ext.app.EventBus":[],"Ext.app.EventDomain":[],"Ext.app.Profile":[],"Ext.app.Util":[],"Ext.app.ViewController":["controller.controller"],"Ext.app.ViewModel":["viewmodel.default"],"Ext.app.bind.AbstractStub":[],"Ext.app.bind.BaseBinding":[],"Ext.app.bind.Binding":[],"Ext.app.bind.Formula":[],"Ext.app.bind.LinkStub":[],"Ext.app.bind.Multi":[],"Ext.app.bind.Parser":[],"Ext.app.bind.RootStub":[],"Ext.app.bind.Stub":[],"Ext.app.bind.Template":[],"Ext.app.bind.TemplateBinding":[],"Ext.app.domain.Component":[],"Ext.app.domain.Controller":[],"Ext.app.domain.Direct":[],"Ext.app.domain.Global":[],"Ext.app.domain.Store":[],"Ext.app.domain.View":[],"Ext.app.route.Queue":[],"Ext.app.route.Route":[],"Ext.app.route.Router":[],"Ext.behavior.Behavior":[],"Ext.behavior.Draggable":[],"Ext.behavior.Translatable":[],"Ext.carousel.Carousel":["widget.carousel"],"Ext.carousel.Indicator":["widget.carouselindicator"],"Ext.carousel.Infinite":[],"Ext.carousel.Item":[],"Ext.data.AbstractStore":[],"Ext.data.ArrayStore":["store.array"],"Ext.data.Batch":[],"Ext.data.BufferedStore":["store.buffered"],"Ext.data.ChainedStore":["store.chained"],"Ext.data.Connection":[],"Ext.data.DirectStore":["store.direct"],"Ext.data.Error":[],"Ext.data.ErrorCollection":[],"Ext.data.JsonP":[],"Ext.data.JsonPStore":["store.jsonp"],"Ext.data.JsonStore":["store.json"],"Ext.data.LocalStore":[],"Ext.data.Model":[],"Ext.data.ModelManager":[],"Ext.data.NodeInterface":[],"Ext.data.NodeStore":["store.node"],"Ext.data.PageMap":[],"Ext.data.ProxyStore":[],"Ext.data.Request":[],"Ext.data.ResultSet":[],"Ext.data.Session":[],"Ext.data.SortTypes":[],"Ext.data.Store":["store.store"],"Ext.data.StoreManager":[],"Ext.data.TreeModel":[],"Ext.data.TreeStore":["store.tree"],"Ext.data.Types":[],"Ext.data.Validation":[],"Ext.data.XmlStore":["store.xml"],"Ext.data.field.Boolean":["data.field.bool","data.field.boolean"],"Ext.data.field.Date":["data.field.date"],"Ext.data.field.Field":["data.field.auto"],"Ext.data.field.Integer":["data.field.int","data.field.integer"],"Ext.data.field.Number":["data.field.float","data.field.number"],"Ext.data.field.String":["data.field.string"],"Ext.data.flash.BinaryXhr":[],"Ext.data.identifier.Generator":["data.identifier.default"],"Ext.data.identifier.Negative":["data.identifier.negative"],"Ext.data.identifier.Sequential":["data.identifier.sequential"],"Ext.data.identifier.Uuid":["data.identifier.uuid"],"Ext.data.matrix.Matrix":[],"Ext.data.matrix.Side":[],"Ext.data.matrix.Slice":[],"Ext.data.operation.Create":["data.operation.create"],"Ext.data.operation.Destroy":["data.operation.destroy"],"Ext.data.operation.Operation":[],"Ext.data.operation.Read":["data.operation.read"],"Ext.data.operation.Update":["data.operation.update"],"Ext.data.proxy.Ajax":["proxy.ajax"],"Ext.data.proxy.Client":[],"Ext.data.proxy.Direct":["proxy.direct"],"Ext.data.proxy.JsonP":["proxy.jsonp","proxy.scripttag"],"Ext.data.proxy.LocalStorage":["proxy.localstorage"],"Ext.data.proxy.Memory":["proxy.memory"],"Ext.data.proxy.Proxy":["proxy.proxy"],"Ext.data.proxy.Rest":["proxy.rest"],"Ext.data.proxy.Server":["proxy.server"],"Ext.data.proxy.SessionStorage":["proxy.sessionstorage"],"Ext.data.proxy.WebStorage":[],"Ext.data.reader.Array":["reader.array"],"Ext.data.reader.Json":["reader.json"],"Ext.data.reader.Reader":["reader.base"],"Ext.data.reader.Xml":["reader.xml"],"Ext.data.request.Ajax":["request.ajax"],"Ext.data.request.Base":[],"Ext.data.request.Form":["request.form"],"Ext.data.schema.Association":[],"Ext.data.schema.ManyToMany":[],"Ext.data.schema.ManyToOne":[],"Ext.data.schema.Namer":["namer.default"],"Ext.data.schema.OneToOne":[],"Ext.data.schema.Role":[],"Ext.data.schema.Schema":["schema.default"],"Ext.data.session.BatchVisitor":[],"Ext.data.session.ChangesVisitor":[],"Ext.data.session.ChildChangesVisitor":[],"Ext.data.validator.Bound":["data.validator.bound"],"Ext.data.validator.Email":["data.validator.email"],"Ext.data.validator.Exclusion":["data.validator.exclusion"],"Ext.data.validator.Format":["data.validator.format"],"Ext.data.validator.Inclusion":["data.validator.inclusion"],"Ext.data.validator.Length":["data.validator.length"],"Ext.data.validator.List":["data.validator.list"],"Ext.data.validator.Presence":["data.validator.presence"],"Ext.data.validator.Range":["data.validator.range"],"Ext.data.validator.Validator":["data.validator.base"],"Ext.data.writer.Json":["writer.json"],"Ext.data.writer.Writer":["writer.base"],"Ext.data.writer.Xml":["writer.xml"],"Ext.dataview.DataView":["widget.dataview"],"Ext.dataview.IndexBar":["widget.indexbar"],"Ext.dataview.ItemHeader":["widget.itemheader"],"Ext.dataview.List":["widget.list"],"Ext.dataview.ListItem":["widget.listitem"],"Ext.dataview.ListItemBody":["widget.listitembody"],"Ext.dataview.ListItemDisclosure":["widget.listitemdisclosure"],"Ext.dataview.NestedList":["widget.nestedlist"],"Ext.dataview.SimpleListItem":["widget.simplelistitem"],"Ext.dataview.component.Container":[],"Ext.dataview.component.DataItem":["widget.dataitem"],"Ext.dataview.element.Container":[],"Ext.dataview.element.List":[],"Ext.dataview.plugin.ItemTip":["plugin.dataviewtip"],"Ext.direct.Event":["direct.event"],"Ext.direct.ExceptionEvent":["direct.exception"],"Ext.direct.JsonProvider":["direct.jsonprovider"],"Ext.direct.Manager":[],"Ext.direct.PollingProvider":["direct.pollingprovider"],"Ext.direct.Provider":["direct.provider"],"Ext.direct.RemotingEvent":["direct.rpc"],"Ext.direct.RemotingMethod":[],"Ext.direct.RemotingProvider":["direct.remotingprovider"],"Ext.direct.Transaction":["direct.transaction"],"Ext.dom.CompositeElement":[],"Ext.dom.CompositeElementLite":[],"Ext.dom.Element":[],"Ext.dom.ElementEvent":[],"Ext.dom.Fly":[],"Ext.dom.GarbageCollector":[],"Ext.dom.Helper":[],"Ext.dom.Query":[],"Ext.dom.Shadow":[],"Ext.dom.Shim":[],"Ext.dom.TouchAction":[],"Ext.dom.Underlay":[],"Ext.dom.UnderlayPool":[],"Ext.drag.Constraint":["drag.constraint.base"],"Ext.drag.Info":[],"Ext.drag.Item":[],"Ext.drag.Manager":[],"Ext.drag.Source":[],"Ext.drag.Target":[],"Ext.drag.proxy.None":["drag.proxy.none"],"Ext.drag.proxy.Original":["drag.proxy.original"],"Ext.drag.proxy.Placeholder":["drag.proxy.placeholder"],"Ext.event.Event":[],"Ext.event.gesture.DoubleTap":[],"Ext.event.gesture.Drag":[],"Ext.event.gesture.EdgeSwipe":[],"Ext.event.gesture.LongPress":[],"Ext.event.gesture.MultiTouch":[],"Ext.event.gesture.Pinch":[],"Ext.event.gesture.Recognizer":[],"Ext.event.gesture.Rotate":[],"Ext.event.gesture.SingleTouch":[],"Ext.event.gesture.Swipe":[],"Ext.event.gesture.Tap":[],"Ext.event.publisher.Dom":[],"Ext.event.publisher.ElementPaint":[],"Ext.event.publisher.ElementSize":[],"Ext.event.publisher.Focus":[],"Ext.event.publisher.Gesture":[],"Ext.event.publisher.Publisher":[],"Ext.field.Checkbox":["widget.checkboxfield"],"Ext.field.CheckboxInput":["widget.checkboxinput"],"Ext.field.DatePicker":["widget.datepickerfield"],"Ext.field.DatePickerNative":["widget.datepickernativefield"],"Ext.field.Email":["widget.emailfield"],"Ext.field.Field":["widget.field"],"Ext.field.File":["widget.filefield"],"Ext.field.FileInput":["widget.fileinput"],"Ext.field.Hidden":["widget.hiddenfield"],"Ext.field.Input":["widget.input"],"Ext.field.Number":["widget.numberfield"],"Ext.field.Password":["widget.passwordfield"],"Ext.field.PasswordInput":["widget.passwordinput"],"Ext.field.Picker":["widget.pickerfield"],"Ext.field.Radio":["widget.radiofield"],"Ext.field.RadioInput":["widget.radioinput"],"Ext.field.Search":["widget.searchfield"],"Ext.field.Select":["widget.selectfield"],"Ext.field.SingleSlider":["widget.singlesliderfield"],"Ext.field.Slider":["widget.sliderfield"],"Ext.field.Spinner":["widget.spinnerfield"],"Ext.field.Text":["widget.textfield"],"Ext.field.TextArea":["widget.textareafield"],"Ext.field.TextAreaInput":["widget.textareainput"],"Ext.field.TextInput":["widget.textinput"],"Ext.field.Toggle":["widget.togglefield"],"Ext.field.Url":["widget.urlfield"],"Ext.field.trigger.Clear":["trigger.clear","widget.cleartrigger"],"Ext.field.trigger.Date":["trigger.date","widget.datetrigger"],"Ext.field.trigger.Expand":["trigger.expand","widget.expandtrigger"],"Ext.field.trigger.Reveal":["trigger.reveal","widget.revealtrigger"],"Ext.field.trigger.Search":["trigger.search","widget.searchtrigger"],"Ext.field.trigger.SpinDown":["trigger.spindown","widget.spindowntrigger"],"Ext.field.trigger.SpinUp":["trigger.spinup","widget.spinuptrigger"],"Ext.field.trigger.Trigger":["trigger.trigger","widget.trigger"],"Ext.form.FieldContainer":[],"Ext.form.FieldSet":["widget.fieldset"],"Ext.form.Panel":["widget.formpanel"],"Ext.fx.Animation":[],"Ext.fx.Runner":[],"Ext.fx.State":[],"Ext.fx.animation.Abstract":[],"Ext.fx.animation.Cube":["animation.cube"],"Ext.fx.animation.Fade":["animation.fade","animation.fadeIn"],"Ext.fx.animation.FadeOut":["animation.fadeOut"],"Ext.fx.animation.Flip":["animation.flip"],"Ext.fx.animation.Pop":["animation.pop","animation.popIn"],"Ext.fx.animation.PopOut":["animation.popOut"],"Ext.fx.animation.Slide":["animation.slide","animation.slideIn"],"Ext.fx.animation.SlideOut":["animation.slideOut"],"Ext.fx.animation.Wipe":[],"Ext.fx.animation.WipeOut":[],"Ext.fx.easing.Abstract":[],"Ext.fx.easing.Bounce":[],"Ext.fx.easing.BoundMomentum":[],"Ext.fx.easing.EaseIn":["easing.ease-in"],"Ext.fx.easing.EaseOut":["easing.ease-out"],"Ext.fx.easing.Easing":[],"Ext.fx.easing.Linear":["easing.linear"],"Ext.fx.easing.Momentum":[],"Ext.fx.layout.Card":[],"Ext.fx.layout.card.Abstract":[],"Ext.fx.layout.card.Cover":["fx.layout.card.cover"],"Ext.fx.layout.card.Cube":["fx.layout.card.cube"],"Ext.fx.layout.card.Fade":["fx.layout.card.fade"],"Ext.fx.layout.card.Flip":["fx.layout.card.flip"],"Ext.fx.layout.card.Pop":["fx.layout.card.pop"],"Ext.fx.layout.card.Reveal":["fx.layout.card.reveal"],"Ext.fx.layout.card.Scroll":["fx.layout.card.scroll"],"Ext.fx.layout.card.ScrollCover":["fx.layout.card.scrollcover"],"Ext.fx.layout.card.ScrollReveal":["fx.layout.card.scrollreveal"],"Ext.fx.layout.card.Slide":["fx.layout.card.slide"],"Ext.fx.layout.card.Style":[],"Ext.fx.runner.Css":[],"Ext.fx.runner.CssAnimation":[],"Ext.fx.runner.CssTransition":[],"Ext.grid.Grid":["widget.grid"],"Ext.grid.HeaderContainer":["widget.headercontainer"],"Ext.grid.HeaderGroup":["widget.gridheadergroup","widget.headergroup"],"Ext.grid.PagingToolbar":["widget.pagingtoolbar"],"Ext.grid.Row":["widget.gridrow"],"Ext.grid.RowBody":["widget.rowbody"],"Ext.grid.RowHeader":["widget.rowheader"],"Ext.grid.Tree":["widget.tree"],"Ext.grid.cell.Base":[],"Ext.grid.cell.Boolean":["widget.booleancell"],"Ext.grid.cell.Cell":["widget.gridcell"],"Ext.grid.cell.Check":["widget.checkcell"],"Ext.grid.cell.Date":["widget.datecell"],"Ext.grid.cell.Expander":["widget.expandercell"],"Ext.grid.cell.Number":["widget.numbercell"],"Ext.grid.cell.RowNumberer":["widget.rownumberercell"],"Ext.grid.cell.Summary":["widget.summarycell"],"Ext.grid.cell.Text":["widget.textcell"],"Ext.grid.cell.Tree":["widget.treecell"],"Ext.grid.cell.Widget":["widget.widgetcell"],"Ext.grid.column.Boolean":["widget.booleancolumn"],"Ext.grid.column.Check":["widget.checkcolumn"],"Ext.grid.column.Column":["widget.column","widget.gridcolumn","widget.templatecolumn"],"Ext.grid.column.Date":["widget.datecolumn"],"Ext.grid.column.Number":["widget.numbercolumn"],"Ext.grid.column.RowNumberer":["widget.rownumberer"],"Ext.grid.column.Selection":["widget.selectioncolumn"],"Ext.grid.column.Tree":["widget.treecolumn"],"Ext.grid.plugin.ColumnResizing":["plugin.columnresizing","plugin.gridcolumnresizing"],"Ext.grid.plugin.Editable":["plugin.grideditable"],"Ext.grid.plugin.MultiSelection":["plugin.gridmultiselection","plugin.multiselection"],"Ext.grid.plugin.PagingToolbar":["plugin.gridpagingtoolbar","plugin.pagingtoolbar"],"Ext.grid.plugin.RowExpander":["plugin.rowexpander"],"Ext.grid.plugin.SummaryRow":["plugin.gridsummaryrow","plugin.summaryrow"],"Ext.grid.plugin.ViewOptions":["plugin.gridviewoptions"],"Ext.layout.Abstract":[],"Ext.layout.Box":["layout.tablebox"],"Ext.layout.Card":["layout.card"],"Ext.layout.Default":["layout.auto","layout.default"],"Ext.layout.Fit":["layout.fit"],"Ext.layout.FlexBox":["layout.box"],"Ext.layout.Float":["layout.float"],"Ext.layout.HBox":["layout.hbox"],"Ext.layout.VBox":["layout.vbox"],"Ext.layout.wrapper.BoxDock":[],"Ext.layout.wrapper.Dock":[],"Ext.layout.wrapper.Inner":[],"Ext.list.AbstractTreeItem":[],"Ext.list.RootTreeItem":[],"Ext.list.Tree":["widget.treelist"],"Ext.list.TreeItem":["widget.treelistitem"],"Ext.mixin.Accessible":[],"Ext.mixin.Bindable":[],"Ext.mixin.ComponentDelegation":[],"Ext.mixin.ConfigState":[],"Ext.mixin.Container":[],"Ext.mixin.Dirty":[],"Ext.mixin.Factoryable":[],"Ext.mixin.Hookable":[],"Ext.mixin.Inheritable":[],"Ext.mixin.Keyboard":[],"Ext.mixin.Mashup":[],"Ext.mixin.Pluggable":[],"Ext.mixin.Progressable":[],"Ext.mixin.Queryable":[],"Ext.mixin.Responsive":[],"Ext.mixin.Selectable":[],"Ext.mixin.StyleCacher":[],"Ext.mixin.Templatable":[],"Ext.mixin.Traversable":[],"Ext.navigation.Bar":[],"Ext.navigation.View":["widget.navigationview"],"Ext.override.sparkline.Base":[],"Ext.overrides.Progress":[],"Ext.overrides.Widget":[],"Ext.overrides.app.Application":[],"Ext.overrides.dom.Element":[],"Ext.overrides.list.Tree":[],"Ext.overrides.list.TreeItem":[],"Ext.panel.Header":["widget.panelheader"],"Ext.panel.Title":["widget.paneltitle"],"Ext.panel.Tool":["widget.paneltool","widget.tool"],"Ext.parse.Parser":[],"Ext.parse.Symbol":[],"Ext.parse.Tokenizer":[],"Ext.parse.symbol.Constant":[],"Ext.parse.symbol.Infix":[],"Ext.parse.symbol.InfixRight":[],"Ext.parse.symbol.Paren":[],"Ext.parse.symbol.Prefix":[],"Ext.perf.Accumulator":[],"Ext.perf.Monitor":[],"Ext.picker.Date":["widget.datepicker"],"Ext.picker.Picker":["widget.picker"],"Ext.picker.Slot":["widget.pickerslot"],"Ext.plugin.Abstract":[],"Ext.plugin.LazyItems":["plugin.lazyitems"],"Ext.plugin.ListPaging":["plugin.listpaging"],"Ext.plugin.MouseEnter":["plugin.mouseenter"],"Ext.plugin.PullRefresh":["plugin.pullrefresh"],"Ext.plugin.Responsive":["plugin.responsive"],"Ext.plugin.SortableList":["plugin.sortablelist"],"Ext.plugin.field.PlaceHolderLabel":["plugin.placeholderlabel"],"Ext.promise.Consequence":[],"Ext.promise.Deferred":[],"Ext.promise.Promise":[],"Ext.scroll.Scroller":["scroller.scroller"],"Ext.slider.Slider":["widget.slider"],"Ext.slider.Thumb":["widget.thumb"],"Ext.slider.Toggle":["widget.toggleslider"],"Ext.sparkline.Bar":["widget.sparklinebar"],"Ext.sparkline.BarBase":[],"Ext.sparkline.Base":["widget.sparkline"],"Ext.sparkline.Box":["widget.sparklinebox"],"Ext.sparkline.Bullet":["widget.sparklinebullet"],"Ext.sparkline.CanvasBase":[],"Ext.sparkline.CanvasCanvas":[],"Ext.sparkline.Discrete":["widget.sparklinediscrete"],"Ext.sparkline.Line":["widget.sparklineline"],"Ext.sparkline.Pie":["widget.sparklinepie"],"Ext.sparkline.RangeMap":[],"Ext.sparkline.Shape":[],"Ext.sparkline.TriState":["widget.sparklinetristate"],"Ext.sparkline.VmlCanvas":[],"Ext.tab.Bar":["widget.tabbar"],"Ext.tab.Panel":["widget.tabpanel"],"Ext.tab.Tab":["widget.tab"],"Ext.table.Cell":["widget.tablecell"],"Ext.table.Row":["widget.tablerow"],"Ext.table.Table":["widget.table"],"Ext.tip.Manager":[],"Ext.tip.ToolTip":["widget.tooltip"],"Ext.util.AbstractMixedCollection":[],"Ext.util.Audio":[],"Ext.util.Bag":[],"Ext.util.Base64":[],"Ext.util.BufferedCollection":[],"Ext.util.CSS":[],"Ext.util.CSV":[],"Ext.util.Collection":[],"Ext.util.CollectionKey":[],"Ext.util.Color":[],"Ext.util.DelimitedValue":[],"Ext.util.Draggable":[],"Ext.util.Droppable":[],"Ext.util.Filter":[],"Ext.util.FilterCollection":[],"Ext.util.Fly":[],"Ext.util.Format":[],"Ext.util.Geolocation":[],"Ext.util.Group":[],"Ext.util.GroupCollection":[],"Ext.util.Grouper":[],"Ext.util.HashMap":[],"Ext.util.History":[],"Ext.util.Inflector":[],"Ext.util.InputBlocker":[],"Ext.util.ItemCollection":[],"Ext.util.LineSegment":[],"Ext.util.LocalStorage":[],"Ext.util.LruCache":[],"Ext.util.MixedCollection":[],"Ext.util.ObjectTemplate":[],"Ext.util.Observable":[],"Ext.util.Offset":[],"Ext.util.PaintMonitor":[],"Ext.util.Point":[],"Ext.util.PositionMap":[],"Ext.util.Positionable":[],"Ext.util.Region":[],"Ext.util.Schedulable":[],"Ext.util.Scheduler":[],"Ext.util.SizeMonitor":[],"Ext.util.Sortable":[],"Ext.util.Sorter":[],"Ext.util.SorterCollection":[],"Ext.util.TSV":[],"Ext.util.TapRepeater":[],"Ext.util.TextMetrics":[],"Ext.util.Translatable":[],"Ext.util.TranslatableGroup":[],"Ext.util.TranslatableList":[],"Ext.util.Wrapper":[],"Ext.util.XTemplateCompiler":[],"Ext.util.XTemplateParser":[],"Ext.util.paintmonitor.Abstract":[],"Ext.util.paintmonitor.CssAnimation":[],"Ext.util.paintmonitor.OverflowChange":[],"Ext.util.sizemonitor.Abstract":[],"Ext.util.sizemonitor.OverflowChange":[],"Ext.util.sizemonitor.Scroll":[],"Ext.util.translatable.Abstract":[],"Ext.util.translatable.CssPosition":[],"Ext.util.translatable.CssTransform":[],"Ext.util.translatable.Dom":[],"Ext.util.translatable.ScrollParent":[],"Ext.util.translatable.ScrollPosition":[],"Ext.viewport.Android":[],"Ext.viewport.Default":["widget.viewport"],"Ext.viewport.Ios":[],"Ext.viewport.Viewport":[],"Ext.viewport.WindowsPhone":[]}); |