template-min/app.js in jsduck-3.0.pre3 vs template-min/app.js in jsduck-3.0
- old
+ new
@@ -1 +1 @@
-var CodeMirror=(function(){function l(R,aZ){var a9={},aU=l.defaults;for(var bo in aU){if(aU.hasOwnProperty(bo)){a9[bo]=(aZ&&aZ.hasOwnProperty(bo)?aZ:aU)[bo]}}var bD=a9.document;var bm=bD.createElement("div");bm.className="CodeMirror";bm.innerHTML='<div style="overflow: hidden; position: relative; width: 1px; height: 0px;"><textarea style="position: absolute; width: 2px;" wrap="off"></textarea></div><div class="CodeMirror-scroll cm-s-'+a9.theme+'"><div style="position: relative"><div style="position: absolute; height: 0; width: 0; overflow: hidden;"></div><div style="position: relative"><div class="CodeMirror-gutter"><div class="CodeMirror-gutter-text"></div></div><div class="CodeMirror-lines"><div style="position: relative"><pre class="CodeMirror-cursor"> </pre><div></div></div></div></div></div></div>';if(R.appendChild){R.appendChild(bm)}else{R(bm)}var bT=bm.firstChild,bQ=bT.firstChild,aB=bm.lastChild,aC=aB.firstChild,au=aC.firstChild,bi=au.nextSibling,aM=bi.firstChild,bO=aM.firstChild,aF=aM.nextSibling.firstChild,aa=aF.firstChild,ae=aa.nextSibling;if(a9.tabindex!=null){bQ.tabindex=a9.tabindex}if(!a9.gutter&&!a9.lineNumbers){aM.style.display="none"}var aE=new m(),an=new m(),ad;var bb,bK=[new c("")],a3,a0=new f(),i;bk();var aO={from:{line:0,ch:0},to:{line:0,ch:0},inverted:false};var a2,bu,ac;var bg,bI,aH,aj,bG;var bd=0,bs=0,bz=0,aL=null;var S,by;var aG="";bL(function(){ag(a9.value||"");bg=false})();setTimeout(az,20);j(aB,"mousedown",bL(ao));if(!t){j(aB,"contextmenu",bL(al))}j(aC,"dblclick",bL(bc));j(aB,"scroll",function(){ab([]);if(a9.onScroll){a9.onScroll(bH)}});j(window,"resize",function(){ab(true)});j(bQ,"keyup",bL(bh));j(bQ,"keydown",bL(ar));j(bQ,"keypress",bL(a6));j(bQ,"focus",aA);j(bQ,"blur",ay);j(aB,"dragenter",function(bV){bV.stop()});j(aB,"dragover",function(bV){bV.stop()});j(aB,"drop",bL(ai));j(aB,"paste",function(){am();bF()});j(bQ,"paste",function(){bF()});j(bQ,"cut",function(){bF()});var X;try{X=(bD.activeElement==bQ)}catch(aS){}if(X){aA()}else{ay()}function L(bV){return bV>=0&&bV<bK.length}var bH={getValue:ba,setValue:bL(ag),getSelection:bB,replaceSelection:bL(ah),focus:function(){am();aA();az();bF()},setOption:function(bV,bW){a9[bV]=bW;if(bV=="lineNumbers"||bV=="gutter"){N()}else{if(bV=="mode"||bV=="indentUnit"){bk()}else{if(bV=="readOnly"&&bW=="nocursor"){bQ.blur()}else{if(bV=="theme"){aB.className=aB.className.replace(/cm-s-\w+/,"cm-s-"+bW)}}}}},getOption:function(bV){return a9[bV]},undo:bL(bw),redo:bL(bU),indentLine:bL(function(bV){if(L(bV)){aq(bV,"smart")}}),historySize:function(){return{undo:a0.done.length,redo:a0.undone.length}},matchBrackets:bL(function(){ap(true)}),getTokenAt:function(bV){bV=af(bV);return bK[bV.line].getTokenAt(bb,aD(bV.line),bV.ch)},cursorCoords:function(bV){if(bV==null){bV=aO.inverted}return bq(bV?aO.from:aO.to)},charCoords:function(bV){return bq(af(bV))},coordsChar:function(bW){var bX=K(aF);var bV=aW(Math.min(bK.length-1,bd+Math.floor((bW.y-bX.top)/bJ())));return af({line:bV,ch:a8(aW(bV),bW.x-bX.left)})},getSearchCursor:function(bW,bX,bV){return new av(bW,bX,bV)},markText:bL(function(bW,bV,bX){return bL(Q(bW,bV,bX))}),setMarker:ak,clearMarker:Z,setLineClass:bL(aK),lineInfo:W,addWidget:function(bX,bW,bV){var bX=br(af(bX),true);bW.style.top=(bd*bJ()+bX.yBot+a4())+"px";bW.style.left=(bX.x+bj())+"px";aC.appendChild(bW);if(bV){bS(bX.x,bX.yBot,bX.x+bW.offsetWidth,bX.yBot+bW.offsetHeight)}},lineCount:function(){return bK.length},getCursor:function(bV){if(bV==null){bV=aO.inverted}return B(bV?aO.from:aO.to)},somethingSelected:function(){return !F(aO.from,aO.to)},setCursor:bL(function(bV,bW){if(bW==null&&typeof bV.line=="number"){aR(bV.line,bV.ch)}else{aR(bV,bW)}}),setSelection:bL(function(bW,bV){bt(af(bW),af(bV||bW))}),getLine:function(bV){if(L(bV)){return bK[bV].text}},setLine:bL(function(bV,bW){if(L(bV)){bl(bW,{line:bV,ch:0},{line:bV,ch:bK[bV].text.length})}}),removeLine:bL(function(bV){if(L(bV)){bl("",{line:bV,ch:0},af({line:bV+1,ch:0}))}}),replaceRange:bL(bl),getRange:function(bW,bV){return a5(af(bW),af(bV))},operation:function(bV){return bL(bV)()},refresh:function(){ab(true)},getInputField:function(){return bQ},getWrapperElement:function(){return bm}};function ag(bV){a0=null;var bW={line:0,ch:0};bf(bW,{line:bK.length-1,ch:bK[bK.length-1].text.length},n(bV),bW,bW);a0=new f()}function ba(bX){var bY=[];for(var bW=0,bV=bK.length;bW<bV;++bW){bY.push(bK[bW].text)}return bY.join("\n")}function ao(b2){var bV=ac;ac=null;for(var bY=b2.target();bY!=bm;bY=bY.parentNode){if(bY.parentNode==bO){if(a9.onGutterClick){a9.onGutterClick(bH,k(bO.childNodes,bY)+bd)}return b2.stop()}}if(t&&b2.button()==3){al(b2)}if(b2.button()!=1){return}var bW=Y(b2),b4=bW,bX;if(!bW){if(b2.target()==aB){b2.stop()}return}if(!i){aA()}b2.stop();if(bV&&+new Date-bV<400){return aJ(bW.line)}aR(bW.line,bW.ch,true);function b0(){am();bg=true;bZ();b1()}function b3(b5){var b7=Y(b5,true);if(b7&&!F(b7,b4)){if(!i){aA()}b4=b7;aN(bW,b7);bg=false;var b6=bM();if(b7.line>=b6.to||b7.line<b6.from){bX=setTimeout(bL(function(){b3(b5)}),150)}}}var bZ=j(bD,"mousemove",bL(function(b5){clearTimeout(bX);b5.stop();b3(b5)}),true);var b1=j(bD,"mouseup",bL(function(b5){clearTimeout(bX);var b6=Y(b5);if(b6){aN(bW,b6)}b5.stop();b0()}),true)}function bc(bV){var bW=Y(bV);if(!bW){return}be(bW);bV.stop();ac=+new Date}function ai(bZ){var b2=Y(bZ,true),bW=bZ.e.dataTransfer.files;if(!b2||a9.readOnly){return}if(bW&&bW.length&&window.FileReader&&window.File){var b1=bW.length,b0=Array(b1),bX=0;for(var bV=0;bV<b1;++bV){bY(bW[bV],bV)}function bY(b5,b4){var b3=new FileReader;b3.onload=function(){b0[b4]=b3.result;if(++bX==b1){bl(b0.join(""),af(b2),af(b2))}};b3.readAsText(b5)}}else{try{var b0=bZ.e.dataTransfer.getData("Text");if(b0){bl(b0,b2,b2)}}catch(bZ){}}}function ar(bZ){if(!i){aA()}var bY=bZ.e.keyCode;if(q&&bY==27){bZ.e.returnValue=false}var bX=(r?bZ.e.metaKey:bZ.e.ctrlKey)&&!bZ.e.altKey,bW=bZ.e.ctrlKey||bZ.e.altKey||bZ.e.metaKey;if(bY==16||bZ.e.shiftKey){a2=a2||(aO.inverted?aO.to:aO.from)}else{a2=null}if(a9.onKeyEvent&&a9.onKeyEvent(bH,s(bZ.e))){return}if(bY==33||bY==34){bC(bY==34);return bZ.stop()}if(bX&&((bY==36||bY==35)||r&&(bY==38||bY==40))){bN(bY==36||bY==38);return bZ.stop()}if(bX&&bY==65){bn();return bZ.stop()}if(!a9.readOnly){if(!bW&&bY==13){return}if(!bW&&bY==9&&aw(bZ.e.shiftKey)){return bZ.stop()}if(bX&&bY==90){bw();return bZ.stop()}if(bX&&((bZ.e.shiftKey&&bY==90)||bY==89)){bU();return bZ.stop()}}aL=(bX?"c":"")+bY;if(aO.inverted&&G.hasOwnProperty(aL)){var bV=H(bQ);if(bV){bu={anchor:bV.start};b(bQ,bV.start,bV.start)}}bF(aL)}function bh(bV){if(a9.onKeyEvent&&a9.onKeyEvent(bH,s(bV.e))){return}if(bu){bu=null;bg=true}if(bV.e.keyCode==16){a2=null}}function a6(bX){if(a9.onKeyEvent&&a9.onKeyEvent(bH,s(bX.e))){return}if(a9.electricChars&&bb.electricChars){var bV=String.fromCharCode(bX.e.charCode==null?bX.e.keyCode:bX.e.charCode);if(bb.electricChars.indexOf(bV)>-1){setTimeout(bL(function(){aq(aO.to.line,"smart")}),50)}}var bW=bX.e.keyCode;if(bW==13){if(!a9.readOnly){ax()}bX.stop()}else{if(!bX.e.ctrlKey&&!bX.e.altKey&&!bX.e.metaKey&&bW==9&&a9.tabMode!="default"){bX.stop()}else{bF(aL)}}}function aA(){if(a9.readOnly=="nocursor"){return}if(!i&&a9.onFocus){a9.onFocus(bH)}i=true;bv();if(bm.className.search(/\bCodeMirror-focused\b/)==-1){bm.className+=" CodeMirror-focused"}M()}function ay(){if(i&&a9.onBlur){a9.onBlur(bH)}clearInterval(ad);a2=null;i=false;bm.className=bm.className.replace(" CodeMirror-focused","")}function bf(b2,b1,bZ,bW,bV){if(a0){var bX=[];for(var bY=b2.line,b0=b1.line+1;bY<b0;++bY){bX.push(bK[bY].text)}a0.addChange(b2.line,bZ.length,bX);while(a0.done.length>a9.undoDepth){a0.done.shift()}}O(b2,b1,bZ,bW,bV);if(bZ.length<5){a7(b2.line,b2.line+bZ.length)}}function aQ(b1,b0){var bZ=b1.pop();if(bZ){var bX=[],bV=bZ.start+bZ.added;for(var bW=bZ.start;bW<bV;++bW){bX.push(bK[bW].text)}b0.push({start:bZ.start,added:bZ.old.length,old:bX});var bY=af({line:bZ.start+bZ.old.length-1,ch:z(bX[bX.length-1],bZ.old[bZ.old.length-1])});O({line:bZ.start,ch:0},{line:bV-1,ch:bK[bV-1].text.length},bZ.old,bY,bY)}}function bw(){aQ(a0.done,a0.undone)}function bU(){aQ(a0.undone,a0.done)}function O(b6,bZ,cb,bV,cc){var ca=false,bY=aG.length;for(var b7=b6.line;b7<=bZ.line;++b7){if(bK[b7].text.length==bY){ca=true;break}}var b2=bZ.line-b6.line,b1=bK[b6.line],bW=bK[bZ.line];if(b1==bW){if(cb.length==1){b1.replace(b6.ch,bZ.ch,cb[0])}else{bW=b1.split(bZ.ch,cb[cb.length-1]);var b3=[b6.line+1,b2];b1.replace(b6.ch,b1.text.length,cb[0]);for(var b7=1,b9=cb.length-1;b7<b9;++b7){b3.push(new c(cb[b7]))}b3.push(bW);bK.splice.apply(bK,b3)}}else{if(cb.length==1){b1.replace(b6.ch,b1.text.length,cb[0]+bW.text.slice(bZ.ch));bK.splice(b6.line+1,b2)}else{var b3=[b6.line+1,b2-1];b1.replace(b6.ch,b1.text.length,cb[0]);bW.replace(0,bZ.ch,cb[cb.length-1]);for(var b7=1,b9=cb.length-1;b7<b9;++b7){b3.push(new c(cb[b7]))}bK.splice.apply(bK,b3)}}for(var b7=b6.line,b9=b7+cb.length;b7<b9;++b7){var b5=bK[b7].text;if(b5.length>bY){aG=b5;bY=b5.length;ca=false}}if(ca){bY=0;aG="";for(var b7=0,b9=bK.length;b7<b9;++b7){var b5=bK[b7].text;if(b5.length>bY){bY=b5.length;aG=b5}}}var bX=[],b0=cb.length-b2-1;for(var b7=0,b5=a3.length;b7<b5;++b7){var b8=a3[b7];if(b8<b6.line){bX.push(b8)}else{if(b8>bZ.line){bX.push(b8+b0)}}}if(cb.length){bX.push(b6.line)}a3=bX;bP(100);bI.push({from:b6.line,to:bZ.line+1,diff:b0});aH={from:b6,to:bZ,text:cb};function b4(cd){return cd<=Math.min(bZ.line,bZ.line+b0)?cd:cd+b0}bt(bV,cc,b4(aO.from.line),b4(aO.to.line));aC.style.height=(bK.length*bJ()+2*a4())+"px"}function bl(bW,bZ,bY){bZ=af(bZ);if(!bY){bY=bZ}else{bY=af(bY)}bW=n(bW);function bX(b2){if(A(b2,bZ)){return b2}if(!A(bY,b2)){return bV}var b0=b2.line+bW.length-(bY.line-bZ.line)-1;var b1=b2.ch;if(b2.line==bY.line){b1+=bW[bW.length-1].length-(bY.ch-(bY.line==bZ.line?bZ.ch:0))}return{line:b0,ch:b1}}var bV;bx(bW,bZ,bY,function(b0){bV=b0;return{from:bX(aO.from),to:bX(aO.to)}});return bV}function ah(bV,bW){bx(n(bV),aO.from,aO.to,function(bX){if(bW=="end"){return{from:bX,to:bX}}else{if(bW=="start"){return{from:aO.from,to:aO.from}}else{return{from:aO.from,to:bX}}}})}function bx(bY,b0,bZ,bV){var bX=bY.length==1?bY[0].length+b0.ch:bY[bY.length-1].length;var bW=bV({line:b0.line+bY.length-1,ch:bX});bf(b0,bZ,bY,bW.from,bW.to)}function a5(b0,bZ){var bW=b0.line,bV=bZ.line;if(bW==bV){return bK[bW].text.slice(b0.ch,bZ.ch)}var bY=[bK[bW].text.slice(b0.ch)];for(var bX=bW+1;bX<bV;++bX){bY.push(bK[bX].text)}bY.push(bK[bV].text.slice(0,bZ.ch));return bY.join("\n")}function bB(){return a5(aO.from,aO.to)}var aV=false;function bv(){if(aV){return}aE.set(2000,function(){U();bE();if(i){bv()}aI()})}function bF(bX){var bV=false;aV=true;function bW(){U();var bY=bE();if(bY=="moved"&&bX){G[bX]=true}if(!bY&&!bV){bV=true;aE.set(80,bW)}else{aV=false;bv()}aI()}aE.set(20,bW)}function bE(){if(bG){return}var b2=false,ca=bQ.value,cc=H(bQ);if(!cc){return false}var b2=S.text!=ca,b4=bu;var b3=b2||cc.start!=S.start||cc.end!=(b4?S.start:S.end);if(!b3&&!b4){return false}if(b2){a2=bu=null;if(a9.readOnly){bg=true;return"changed"}}function bZ(ci,cg){var ch=0;for(;;){var cf=ca.indexOf("\n",ch);if(cf==-1||(ca.charAt(cf-1)=="\r"?cf-1:cf)>=ci){return{line:cg,ch:ci-ch}}++cg;ch=cf+1}}var cb=bZ(cc.start,S.from),bW=bZ(cc.end,S.from);if(b4){var b1=cc.start==b4.anchor?bW:cb;var b5=a2?aO.to:cc.start==b4.anchor?cb:bW;if(aO.inverted=A(b1,b5)){cb=b1;bW=b5}else{bu=null;cb=b5;bW=b1}}if(cb.line==bW.line&&cb.line==aO.from.line&&cb.line==aO.to.line&&!a2){bg=false}if(b2){var b0=0,bY=ca.length,cd=Math.min(bY,S.text.length);var ce,b7=S.from,bX=-1;while(b0<cd&&(ce=ca.charAt(b0))==S.text.charAt(b0)){++b0;if(ce=="\n"){b7++;bX=b0}}var b8=bX>-1?b0-bX:b0,bV=S.to-1,b6=S.text.length;for(;;){ce=S.text.charAt(b6);if(ca.charAt(bY)!=ce){++bY;++b6;break}if(ce=="\n"){bV--}if(b6<=b0||bY<=b0){break}--bY;--b6}var bX=S.text.lastIndexOf("\n",b6-1),b9=bX==-1?b6:b6-bX-1;bf({line:b7,ch:b8},{line:bV,ch:b9},n(ca.slice(b0,bY)),cb,bW);if(b7!=bV||cb.line!=b7){bg=true}}else{bt(cb,bW)}S.text=ca;S.start=cc.start;S.end=cc.end;return b2?"changed":b3?"moved":false}function az(){var bY=[];var b0=Math.max(0,aO.from.line-1),bZ=Math.min(bK.length,aO.to.line+2);for(var bX=b0;bX<bZ;++bX){bY.push(bK[bX].text)}bY=bQ.value=bY.join(d);var bW=aO.from.ch,bV=aO.to.ch;for(var bX=b0;bX<aO.from.line;++bX){bW+=d.length+bK[bX].text.length}for(var bX=b0;bX<aO.to.line;++bX){bV+=d.length+bK[bX].text.length}S={text:bY,from:b0,to:bZ,start:bW,end:bV};b(bQ,bW,bu?bW:bV)}function am(){if(a9.readOnly!="nocursor"){bQ.focus()}}function aT(){var bV=br(aO.inverted?aO.from:aO.to);return bS(bV.x,bV.y,bV.x,bV.yBot)}function bS(bX,b1,bV,b0){var bZ=bj(),b7=a4(),b3=bJ();b1+=b7;b0+=b7;bX+=bZ;bV+=bZ;var b4=aB.clientHeight,bY=aB.scrollTop,bW=false,b6=true;if(b1<bY){aB.scrollTop=Math.max(0,b1-2*b3);bW=true}else{if(b0>bY+b4){aB.scrollTop=b0+b3-b4;bW=true}}var b2=aB.clientWidth,b5=aB.scrollLeft;if(bX<b5){if(bX<50){bX=0}aB.scrollLeft=Math.max(0,bX-10);bW=true}else{if(bV>b2+b5){aB.scrollLeft=bV+10-b2;bW=true;if(bV>aC.clientWidth){b6=false}}}if(bW&&a9.onScroll){a9.onScroll(bH)}return b6}function bM(){var bV=bJ(),bW=aB.scrollTop-a4();return{from:Math.min(bK.length,Math.max(0,Math.floor(bW/bV))),to:Math.min(bK.length,Math.ceil((bW+aB.clientHeight)/bV))}}function ab(ce){if(!aB.clientWidth){bd=bs=0;return}var cd=ce===true?[]:[{from:bd,to:bs,domStart:0}];for(var cc=0,b8=ce.length||0;cc<b8;++cc){var b2=ce[cc],b0=[],b3=b2.diff||0;for(var cb=0,b9=cd.length;cb<b9;++cb){var b5=cd[cb];if(b2.to<=b5.from){b0.push({from:b5.from+b3,to:b5.to+b3,domStart:b5.domStart})}else{if(b5.to<=b2.from){b0.push(b5)}else{if(b2.from>b5.from){b0.push({from:b5.from,to:b2.from,domStart:b5.domStart})}if(b2.to<b5.to){b0.push({from:b2.to+b3,to:b5.to+b3,domStart:b5.domStart+(b2.to-b5.from)})}}}}cd=b0}var bX=bM();var ca=Math.min(bd,Math.max(bX.from-3,0)),bV=Math.min(bK.length,Math.max(bs,bX.to+3)),b1=[],b4=0,bZ=bs-bd,bY=ca,b7=0;for(var cc=0,b8=cd.length;cc<b8;++cc){var b5=cd[cc];if(b5.to<=ca){continue}if(b5.from>=bV){break}if(b5.domStart>b4||b5.from>bY){b1.push({from:bY,to:b5.from,domSize:b5.domStart-b4,domStart:b4});b7+=b5.from-bY}bY=b5.to;b4=b5.domStart+(b5.to-b5.from)}if(b4!=bZ||bY!=bV){b7+=Math.abs(bV-bY);b1.push({from:bY,to:bV,domSize:bZ-b4,domStart:b4})}if(!b1.length){return}ae.style.display="none";if(b7>(bX.to-bX.from)*0.3){aX(ca=Math.max(bX.from-10,0),bV=Math.min(bX.to+7,bK.length))}else{V(b1)}ae.style.display="";var b6=ca!=bd||bV!=bs||bz!=aB.clientHeight;bd=ca;bs=bV;bi.style.top=(ca*bJ())+"px";if(b6){bz=aB.clientHeight;aC.style.height=(bK.length*bJ()+2*a4())+"px";T()}var bW=aP(aG);aF.style.width=bW>aB.clientWidth?bW+"px":"";if(ae.childNodes.length!=bs-bd){throw new Error("BAD PATCH! "+JSON.stringify(b1)+" size="+(bs-bd)+" nodes="+ae.childNodes.length)}bA()}function aX(b2,b1){var bY=[],b0={line:b2,ch:0},bZ=A(aO.from,b0)&&!A(aO.to,b0);for(var bX=b2;bX<b1;++bX){var bW=null,bV=null;if(bZ){bW=0;if(aO.to.line==bX){bZ=false;bV=aO.to.ch}}else{if(aO.from.line==bX){if(aO.to.line==bX){bW=aO.from.ch;bV=aO.to.ch}else{bZ=true;bW=aO.from.ch}}}bY.push(bK[bX].getHTML(bW,bV,true))}ae.innerHTML=bY.join("")}function V(b7){var b8=aO.from.line,b9=aO.to.line,bX=0,b5=w&&bD.createElement("div");for(var b3=0,b4=b7.length;b3<b4;++b3){var b0=b7[b3];var bZ=(b0.to-b0.from)-b0.domSize;var b6=ae.childNodes[b0.domStart+b0.domSize+bX]||null;if(w){for(var b2=Math.max(-bZ,b0.domSize);b2>0;--b2){ae.removeChild(b6?b6.previousSibling:ae.lastChild)}}else{if(bZ){for(var b2=Math.max(0,bZ);b2>0;--b2){ae.insertBefore(bD.createElement("pre"),b6)}for(var b2=Math.max(0,-bZ);b2>0;--b2){ae.removeChild(b6?b6.previousSibling:ae.lastChild)}}}var bY=ae.childNodes[b0.domStart+bX],b1=b8<b0.from&&b9>=b0.from;for(var b2=b0.from;b2<b0.to;++b2){var bW=null,bV=null;if(b1){bW=0;if(b9==b2){b1=false;bV=aO.to.ch}}else{if(b8==b2){if(b9==b2){bW=aO.from.ch;bV=aO.to.ch}else{b1=true;bW=aO.from.ch}}}if(w){b5.innerHTML=bK[b2].getHTML(bW,bV,true);ae.insertBefore(b5.firstChild,b6)}else{bY.innerHTML=bK[b2].getHTML(bW,bV,false);bY.className=bK[b2].className||"";bY=bY.nextSibling}}bX+=bZ}}function T(){if(!a9.gutter&&!a9.lineNumbers){return}var bX=bi.offsetHeight,b4=aB.clientHeight;aM.style.height=(bX-b4<2?b4:bX)+"px";var b2=[];for(var b0=bd;b0<Math.max(bs,bd+1);++b0){var b1=bK[b0].gutterMarker;var b3=a9.lineNumbers?b0+a9.firstLineNumber:null;if(b1&&b1.text){b3=b1.text.replace("%N%",b3!=null?b3:"")}else{if(b3==null){b3="\u00a0"}}b2.push((b1&&b1.style?'<pre class="'+b1.style+'">':"<pre>"),b3,"</pre>")}aM.style.display="none";bO.innerHTML=b2.join("");var bZ=String(bK.length).length,bV=bO.firstChild,bW=p(bV),bY="";while(bW.length+bY.length<bZ){bY+="\u00a0"}if(bY){bV.insertBefore(bD.createTextNode(bY),bV.firstChild)}aM.style.display="";aF.style.marginLeft=aM.offsetWidth+"px"}function bA(){var bX=aO.inverted?aO.from:aO.to,bW=bJ();var bV=P(bX.line,bX.ch)+"px",bY=(bX.line-bd)*bW+"px";bT.style.top=(bX.line*bW-aB.scrollTop)+"px";if(F(aO.from,aO.to)){aa.style.top=bY;aa.style.left=bV;aa.style.display=""}else{aa.style.display="none"}}function aN(bX,bW){var bV=a2&&af(a2);if(bV){if(A(bV,bX)){bX=bV}else{if(A(bW,bV)){bW=bV}}}bt(bX,bW)}function bt(bZ,bY,bV,bX){if(F(aO.from,bZ)&&F(aO.to,bY)){return}if(A(bY,bZ)){var bW=bY;bY=bZ;bZ=bW}if(F(bZ,bY)){aO.inverted=false}else{if(F(bZ,aO.to)){aO.inverted=false}else{if(F(bY,aO.from)){aO.inverted=true}}}if(bV==null){bV=aO.from.line;bX=aO.to.line}if(F(bZ,bY)){if(!F(aO.from,aO.to)){bI.push({from:bV,to:bX+1})}}else{if(F(aO.from,aO.to)){bI.push({from:bZ.line,to:bY.line+1})}else{if(!F(bZ,aO.from)){if(bZ.line<bV){bI.push({from:bZ.line,to:Math.min(bY.line,bV)+1})}else{bI.push({from:bV,to:Math.min(bX,bZ.line)+1})}}if(!F(bY,aO.to)){if(bY.line<bX){bI.push({from:Math.max(bV,bZ.line),to:bX+1})}else{bI.push({from:Math.max(bZ.line,bX),to:bY.line+1})}}}}aO.from=bZ;aO.to=bY;aj=true}function aR(bV,bX,bW){var bY=af({line:bV,ch:bX||0});(bW?aN:bt)(bY,bY)}function aW(bV){return Math.max(0,Math.min(bV,bK.length-1))}function af(bX){if(bX.line<0){return{line:0,ch:0}}if(bX.line>=bK.length){return{line:bK.length-1,ch:bK[bK.length-1].text.length}}var bV=bX.ch,bW=bK[bX.line].text.length;if(bV==null||bV>bW){return{line:bX.line,ch:bW}}else{if(bV<0){return{line:bX.line,ch:0}}else{return bX}}}function bC(bX){var bV=Math.floor(aB.clientHeight/bJ()),bW=aO.inverted?aO.from:aO.to;aR(bW.line+(Math.max(bV-1,1)*(bX?1:-1)),bW.ch,true)}function bN(bV){var bW=bV?{line:0,ch:0}:{line:bK.length-1,ch:bK[bK.length-1].text.length};aN(bW,bW)}function bn(){var bV=bK.length-1;bt({line:0,ch:0},{line:bV,ch:bK[bV].text.length})}function be(bY){var bW=bK[bY.line].text;var bX=bY.ch,bV=bY.ch;while(bX>0&&/\w/.test(bW.charAt(bX-1))){--bX}while(bV<bW.length&&/\w/.test(bW.charAt(bV))){++bV}aN({line:bY.line,ch:bX},{line:bY.line,ch:bV})}function aJ(bV){aN({line:bV,ch:0},{line:bV,ch:bK[bV].text.length})}function ax(){ah("\n","end");if(a9.enterMode!="flat"){aq(aO.from.line,a9.enterMode=="keep"?"prev":"smart")}}function aw(bV){a2=null;switch(a9.tabMode){case"default":return false;case"indent":for(var bW=aO.from.line,bX=aO.to.line;bW<=bX;++bW){aq(bW,"smart")}break;case"classic":if(F(aO.from,aO.to)){if(bV){aq(aO.from.line,"smart")}else{ah("\t","end")}break}case"shift":for(var bW=aO.from.line,bX=aO.to.line;bW<=bX;++bW){aq(bW,bV?"subtract":"add")}break}return true}function aq(bX,b4){if(b4=="smart"){if(!bb.indent){b4="prev"}else{var bV=aD(bX)}}var b5=bK[bX],bZ=b5.indentation(),bW=b5.text.match(/^\s*/)[0],b1;if(b4=="prev"){if(bX){b1=bK[bX-1].indentation()}else{b1=0}}else{if(b4=="smart"){b1=bb.indent(bV,b5.text.slice(bW.length))}else{if(b4=="add"){b1=bZ+a9.indentUnit}else{if(b4=="subtract"){b1=bZ-a9.indentUnit}}}}b1=Math.max(0,b1);var b3=b1-bZ;if(!b3){if(aO.from.line!=bX&&aO.to.line!=bX){return}var b2=bW}else{var b2="",b0=0;if(a9.indentWithTabs){for(var bY=Math.floor(b1/o);bY;--bY){b0+=o;b2+="\t"}}while(b0<b1){++b0;b2+=" "}}bl(b2,{line:bX,ch:0},{line:bX,ch:bW.length})}function bk(){bb=l.getMode(a9,a9.mode);for(var bW=0,bV=bK.length;bW<bV;++bW){bK[bW].stateAfter=null}a3=[0];bP()}function N(){var bV=a9.gutter||a9.lineNumbers;aM.style.display=bV?"":"none";if(bV){T()}else{ae.parentNode.style.marginLeft=0}}function Q(b1,b0,bX){b1=af(b1);b0=af(b0);var bV=[];function bZ(b2,b6,b5,b3){var b2=bK[b2],b4=b2.addMark(b6,b5,b3);b4.line=b2;bV.push(b4)}if(b1.line==b0.line){bZ(b1.line,b1.ch,b0.ch,bX)}else{bZ(b1.line,b1.ch,null,bX);for(var bW=b1.line+1,bY=b0.line;bW<bY;++bW){bZ(bW,0,null,bX)}bZ(b0.line,0,b0.ch,bX)}bI.push({from:b1.line,to:b0.line+1});return function(){var b6,b2;for(var b3=0;b3<bV.length;++b3){var b5=bV[b3],b4=k(bK,b5.line);b5.line.removeMark(b5);if(b4>-1){if(b6==null){b6=b4}b2=b4}}if(b6!=null){bI.push({from:b6,to:b2+1})}}}function ak(bV,bX,bW){if(typeof bV=="number"){bV=bK[aW(bV)]}bV.gutterMarker={text:bX,style:bW};T();return bV}function Z(bV){if(typeof bV=="number"){bV=bK[aW(bV)]}bV.gutterMarker=null;T()}function aK(bV,bW){if(typeof bV=="number"){var bX=bV;bV=bK[aW(bV)]}else{var bX=k(bK,bV);if(bX==-1){return null}}if(bV.className!=bW){bV.className=bW;bI.push({from:bX,to:bX+1})}return bV}function W(bW){if(typeof bW=="number"){var bX=bW;bW=bK[bW];if(!bW){return null}}else{var bX=k(bK,bW);if(bX==-1){return null}}var bV=bW.gutterMarker;return{line:bX,text:bW.text,markerText:bV&&bV.text,markerClass:bV&&bV.style}}function aP(bV){au.innerHTML="<pre><span>x</span></pre>";au.firstChild.firstChild.firstChild.nodeValue=bV;return au.firstChild.firstChild.offsetWidth||10}function P(bV,bW){if(bW==0){return 0}au.innerHTML="<pre><span>"+bK[bV].getHTML(null,null,false,bW)+"</span></pre>";return au.firstChild.firstChild.offsetWidth}function a8(b7,b1){if(b1<=0){return 0}var bY=bK[b7],b4=bY.text;function b5(b8){au.innerHTML="<pre><span>"+bY.getHTML(null,null,false,b8)+"</span></pre>";return au.firstChild.firstChild.offsetWidth}var b2=0,b0=0,b3=b4.length,bZ;var bW=Math.min(b3,Math.ceil(b1/aP("x")));for(;;){var bX=b5(bW);if(bX<=b1&&bW<b3){bW=Math.min(b3,Math.ceil(bW*1.2))}else{bZ=bX;b3=bW;break}}if(b1>bZ){return b3}bW=Math.floor(b3*0.8);bX=b5(bW);if(bX<b1){b2=bW;b0=bX}for(;;){if(b3-b2<=1){return(bZ-b1>b1-b0)?b2:b3}var b6=Math.ceil((b2+b3)/2),bV=b5(b6);if(bV>b1){b3=b6;bZ=bV}else{b2=b6;b0=bV}}}function br(bY,bX){var bW=bJ(),bV=bY.line-(bX?bd:0);return{x:P(bY.line,bY.ch),y:bV*bW,yBot:(bV+1)*bW}}function bq(bX){var bV=br(bX,true),bW=K(aF);return{x:bW.left+bV.x,y:bW.top+bV.y,yBot:bW.top+bV.yBot}}function bJ(){var bV=ae.childNodes.length;if(bV){return(ae.offsetHeight/bV)||1}au.innerHTML="<pre>x</pre>";return au.firstChild.offsetHeight||1}function a4(){return aF.offsetTop}function bj(){return aF.offsetLeft}function Y(b0,bZ){var bY=K(aB,true),bV=b0.e.clientX,b1=b0.e.clientY;if(!bZ&&(bV-bY.left>aB.clientWidth||b1-bY.top>aB.clientHeight)){return null}var bX=K(aF,true);var bW=bd+Math.floor((b1-bX.top)/bJ());return af({line:bW,ch:a8(aW(bW),bV-bX.left)})}function al(bW){var b0=Y(bW);if(!b0||window.opera){return}if(F(aO.from,aO.to)||A(b0,aO.from)||!A(b0,aO.to)){aR(b0.line,b0.ch)}var bZ=bQ.style.cssText;bQ.style.cssText="position: fixed; width: 30px; height: 30px; top: "+(bW.pageY()-1)+"px; left: "+(bW.pageX()-1)+"px; z-index: 1000; background: white; border-width: 0; outline: none; overflow: hidden; opacity: .05;";var bY=bQ.value=bB();am();b(bQ,0,bQ.value.length);bG=true;function bV(){if(bQ.value!=bY){bL(ah)(bQ.value,"end")}bQ.style.cssText=bZ;bG=false;az();bv()}if(t){bW.stop();var bX=j(window,"mouseup",function(){bX();setTimeout(bV,20)},true)}else{setTimeout(bV,50)}}function M(){clearInterval(ad);var bV=true;aa.style.visibility="";ad=setInterval(function(){aa.style.visibility=(bV=!bV)?"":"hidden"},650)}var bR={"(":")>",")":"(<","[":"]>","]":"[<","{":"}>","}":"{<"};function ap(b1){var bV=aO.inverted?aO.from:aO.to,b3=bK[bV.line],bW=bV.ch-1;var b0=(bW>=0&&bR[b3.text.charAt(bW)])||bR[b3.text.charAt(++bW)];if(!b0){return}var b4=b0.charAt(0),b2=b0.charAt(1)==">",ce=b2?1:-1,b9=b3.styles;for(var cf=bW+1,cb=0,cd=b9.length;cb<cd;cb+=2){if((cf-=b9[cb].length)<=0){var cc=b9[cb+1];break}}var bY=[b3.text.charAt(bW)],b8=/[(){}[\]]/;function b6(cr,cm,cn){if(!cr.text){return}var cq=cr.styles,cl=b2?0:cr.text.length-1,co;for(var ci=b2?0:cq.length-2,ck=b2?cq.length:-2;ci!=ck;ci+=2*ce){var cp=cq[ci];if(cq[ci+1]!=null&&cq[ci+1]!=cc){cl+=ce*cp.length;continue}for(var ch=b2?0:cp.length-1,cg=b2?cp.length:-1;ch!=cg;ch+=ce,cl+=ce){if(cl>=cm&&cl<cn&&b8.test(co=cp.charAt(ch))){var cj=bR[co];if(cj.charAt(1)==">"==b2){bY.push(co)}else{if(bY.pop()!=cj.charAt(0)){return{pos:cl,match:false}}else{if(!bY.length){return{pos:cl,match:true}}}}}}}}for(var cb=bV.line,cd=b2?Math.min(cb+50,bK.length):Math.max(-1,cb-50);cb!=cd;cb+=ce){var b3=bK[cb],bZ=cb==bV.line;var b5=b6(b3,bZ&&b2?bW+1:0,bZ&&!b2?bW:b3.text.length);if(b5){var cc=b5.match?"CodeMirror-matchingbracket":"CodeMirror-nonmatchingbracket";var ca=Q({line:bV.line,ch:bW},{line:bV.line,ch:bW+1},cc),bX=Q({line:cb,ch:b5.pos},{line:cb,ch:b5.pos+1},cc);var b7=bL(function(){ca();bX()});if(b1){setTimeout(b7,800)}else{by=b7}break}}}function aY(b1){var b0,bX;for(var bW=b1,bY=b1-40;bW>bY;--bW){if(bW==0){return 0}var bV=bK[bW-1];if(bV.stateAfter){return bW}var bZ=bV.indentation();if(bX==null||b0>bZ){bX=bW;b0=bZ}}return bX}function aD(bZ){var bY=aY(bZ),bX=bY&&bK[bY-1].stateAfter;if(!bX){bX=y(bb)}else{bX=h(bb,bX)}for(var bW=bY;bW<bZ;++bW){var bV=bK[bW];bV.highlight(bb,bX);bV.stateAfter=h(bb,bX)}if(!bK[bZ].stateAfter){a3.push(bZ)}return bX}function a7(bZ,bW){var bY=aD(bZ);for(var bX=bZ;bX<bW;++bX){var bV=bK[bX];bV.highlight(bb,bY);bV.stateAfter=h(bb,bY)}}function a1(){var b0=+new Date+a9.workTime;var b4=a3.length;while(a3.length){if(!bK[bd].stateAfter){var bX=bd}else{var bX=a3.pop()}if(bX>=bK.length){continue}var bW=aY(bX),bV=bW&&bK[bW-1].stateAfter;if(bV){bV=h(bb,bV)}else{bV=y(bb)}var bZ=0;for(var b3=bW,bY=bK.length;b3<bY;++b3){var b5=bK[b3],b1=b5.stateAfter;if(+new Date>b0){a3.push(b3);bP(a9.workDelay);bI.push({from:bX,to:b3});return}var b2=b5.highlight(bb,bV);b5.stateAfter=h(bb,bV);if(b2||!b1){bZ=0}else{if(++bZ>3){break}}}bI.push({from:bX,to:b3})}if(b4&&a9.onHighlightComplete){a9.onHighlightComplete(bH)}}function bP(bV){if(!a3.length){return}an.set(bV,bL(a1))}function U(){bg=null;bI=[];aH=aj=false}function aI(){var bW=false;if(aj){bW=!aT()}if(bI.length){ab(bI)}else{if(aj){bA()}}if(bW){aT()}if(aj){M()}if(!bG&&(bg===true||(bg!==false&&aj))){az()}if(aj&&a9.matchBrackets){setTimeout(bL(function(){if(by){by();by=null}ap(false)}),20)}var bV=aH;if(aj&&a9.onCursorActivity){a9.onCursorActivity(bH)}if(bV&&a9.onChange&&bH){a9.onChange(bH,bV)}}var at=0;function bL(bV){return function(){if(!at++){U()}try{var bW=bV.apply(this,arguments)}finally{if(!--at){aI()}}return bW}}function av(bX,bZ,bW){this.atOccurrence=false;if(bW==null){bW=typeof bX=="string"&&bX==bX.toLowerCase()}if(bZ&&typeof bZ=="object"){bZ=af(bZ)}else{bZ={line:0,ch:0}}this.pos={from:bZ,to:bZ};if(typeof bX!="string"){this.matches=function(b2,b6){if(b2){var b0=bK[b6.line].text.slice(0,b6.ch),b1=b0.match(bX),b5=0;while(b1){var b3=b0.indexOf(b1[0]);b5+=b3;b0=b0.slice(b3+1);var b4=b0.match(bX);if(b4){b1=b4}else{break}b5++}}else{var b0=bK[b6.line].text.slice(b6.ch),b1=b0.match(bX),b5=b1&&b6.ch+b0.indexOf(b1[0])}if(b1){return{from:{line:b6.line,ch:b5},to:{line:b6.line,ch:b5+b1[0].length},match:b1}}}}else{if(bW){bX=bX.toLowerCase()}var bV=bW?function(b0){return b0.toLowerCase()}:function(b0){return b0};var bY=bX.split("\n");if(bY.length==1){this.matches=function(b3,b4){var b1=bV(bK[b4.line].text),b0=bX.length,b2;if(b3?(b4.ch>=b0&&(b2=b1.lastIndexOf(bX,b4.ch-b0))!=-1):(b2=b1.indexOf(bX,b4.ch))!=-1){return{from:{line:b4.line,ch:b2},to:{line:b4.line,ch:b2+b0}}}}}else{this.matches=function(b5,b7){var b6=b7.line,b8=(b5?bY.length-1:0),b3=bY[b8],b9=bV(bK[b6].text);var b4=(b5?b9.indexOf(b3)+b3.length:b9.lastIndexOf(b3));if(b5?b4>=b7.ch||b4!=b3.length:b4<=b7.ch||b4!=b9.length-b3.length){return}for(;;){if(b5?!b6:b6==bK.length-1){return}b9=bV(bK[b6+=b5?-1:1].text);b3=bY[b5?--b8:++b8];if(b8>0&&b8<bY.length-1){if(b9!=b3){return}else{continue}}var b2=(b5?b9.lastIndexOf(b3):b9.indexOf(b3)+b3.length);if(b5?b2!=b9.length-b3.length:b2!=b3.length){return}var b0={line:b7.line,ch:b4},b1={line:b6,ch:b2};return{from:b5?b1:b0,to:b5?b0:b1}}}}}}av.prototype={findNext:function(){return this.find(false)},findPrevious:function(){return this.find(true)},find:function(bW){var bV=this,bY=af(bW?this.pos.from:this.pos.to);function bX(bZ){var b0={line:bZ,ch:0};bV.pos={from:b0,to:b0};bV.atOccurrence=false;return false}for(;;){if(this.pos=this.matches(bW,bY)){this.atOccurrence=true;return this.pos.match||true}if(bW){if(!bY.line){return bX(0)}bY={line:bY.line-1,ch:bK[bY.line-1].text.length}}else{if(bY.line==bK.length-1){return bX(bK.length)}bY={line:bY.line+1,ch:0}}}},from:function(){if(this.atOccurrence){return B(this.pos.from)}},to:function(){if(this.atOccurrence){return B(this.pos.to)}}};for(var bp in C){if(C.propertyIsEnumerable(bp)&&!bH.propertyIsEnumerable(bp)){bH[bp]=C[bp]}}return bH}l.defaults={value:"",mode:null,theme:"default",indentUnit:2,indentWithTabs:false,tabMode:"classic",enterMode:"indent",electricChars:true,onKeyEvent:null,lineNumbers:false,gutter:false,firstLineNumber:1,readOnly:false,onChange:null,onCursorActivity:null,onGutterClick:null,onHighlightComplete:null,onFocus:null,onBlur:null,onScroll:null,matchBrackets:false,workTime:100,workDelay:200,undoDepth:40,tabindex:null,document:window.document};var I={},x={};l.defineMode=function(i,L){if(!l.defaults.mode&&i!="null"){l.defaults.mode=i}I[i]=L};l.defineMIME=function(L,i){x[L]=i};l.getMode=function(M,i){if(typeof i=="string"&&x.hasOwnProperty(i)){i=x[i]}if(typeof i=="string"){var O=i,L={}}else{if(i!=null){var O=i.name,L=i}}var N=I[O];if(!N){if(window.console){console.warn("No mode "+O+" found, falling back to plain text.")}return l.getMode(M,"text/plain")}return N(M,L||{})};l.listModes=function(){var L=[];for(var i in I){if(I.propertyIsEnumerable(i)){L.push(i)}}return L};l.listMIMEs=function(){var L=[];for(var i in x){if(x.propertyIsEnumerable(i)){L.push(i)}}return L};var C={};l.defineExtension=function(i,L){C[i]=L};l.fromTextArea=function(L,N){if(!N){N={}}N.value=L.value;if(!N.tabindex&&L.tabindex){N.tabindex=L.tabindex}function P(){L.value=i.getValue()}if(L.form){var O=j(L.form,"submit",P,true);if(typeof L.form.submit=="function"){var M=L.form.submit;function Q(){P();L.form.submit=M;L.form.submit();L.form.submit=Q}L.form.submit=Q}}L.style.display="none";var i=l(function(R){L.parentNode.insertBefore(R,L.nextSibling)},N);i.save=P;i.toTextArea=function(){P();L.parentNode.removeChild(i.getWrapperElement());L.style.display="";if(L.form){O();if(typeof L.form.submit=="function"){L.form.submit=M}}};return i};function h(N,i){if(i===true){return i}if(N.copyState){return N.copyState(i)}var M={};for(var O in i){var L=i[O];if(L instanceof Array){L=L.concat([])}M[O]=L}return M}l.startState=y;function y(M,L,i){return M.startState?M.startState(L,i):true}l.copyState=h;function a(i){this.pos=this.start=0;this.string=i}a.prototype={eol:function(){return this.pos>=this.string.length},sol:function(){return this.pos==0},peek:function(){return this.string.charAt(this.pos)},next:function(){if(this.pos<this.string.length){return this.string.charAt(this.pos++)}},eat:function(i){var M=this.string.charAt(this.pos);if(typeof i=="string"){var L=M==i}else{var L=M&&(i.test?i.test(M):i(M))}if(L){++this.pos;return M}},eatWhile:function(i){var L=this.start;while(this.eat(i)){}return this.pos>L},eatSpace:function(){var i=this.pos;while(/[\s\u00a0]/.test(this.string.charAt(this.pos))){++this.pos}return this.pos>i},skipToEnd:function(){this.pos=this.string.length},skipTo:function(i){var L=this.string.indexOf(i,this.pos);if(L>-1){this.pos=L;return true}},backUp:function(i){this.pos-=i},column:function(){return g(this.string,this.start)},indentation:function(){return g(this.string)},match:function(N,L,i){if(typeof N=="string"){function O(P){return i?P.toLowerCase():P}if(O(this.string).indexOf(O(N),this.pos)==this.pos){if(L!==false){this.pos+=N.length}return true}}else{var M=this.string.slice(this.pos).match(N);if(M&&L!==false){this.pos+=M[0].length}return M}},current:function(){return this.string.slice(this.start,this.pos)}};l.StringStream=a;function c(L,i){this.styles=i||[L,null];this.stateAfter=null;this.text=L;this.marked=this.gutterMarker=this.className=null}c.prototype={replace:function(Q,R,U){var V=[],O=this.marked;J(0,Q,this.styles,V);if(U){V.push(U,null)}J(R,this.text.length,this.styles,V);this.styles=V;this.text=this.text.slice(0,Q)+U+this.text.slice(R);this.stateAfter=null;if(O){var S=U.length-(R-Q),M=this.text.length;function P(i){return i<=Math.min(R,R+S)?i:i+S}for(var N=0;N<O.length;++N){var L=O[N],T=false;if(L.from>=M){T=true}else{L.from=P(L.from);if(L.to!=null){L.to=P(L.to)}}if(T||L.from>=L.to){O.splice(N,1);N--}}}},split:function(M,L){var i=[L,null];J(M,this.text.length,this.styles,i);return new c(L+this.text.slice(M),i)},addMark:function(O,N,L){var i=this.marked,M={from:O,to:N,style:L};if(this.marked==null){this.marked=[]}this.marked.push(M);this.marked.sort(function(Q,P){return Q.from-P.from});return M},removeMark:function(N){var L=this.marked;if(!L){return}for(var M=0;M<L.length;++M){if(L[M]==N){L.splice(M,1);break}}},highlight:function(P,L){var R=new a(this.text),T=this.styles,Q=0;var O=false,M=T[0],S;if(this.text==""&&P.blankLine){P.blankLine(L)}while(!R.eol()){var i=P.token(R,L);var N=this.text.slice(R.start,R.pos);R.start=R.pos;if(Q&&T[Q-1]==i){T[Q-2]+=N}else{if(N){if(!O&&(T[Q+1]!=i||(Q&&T[Q-2]!=S))){O=true}T[Q++]=N;T[Q++]=i;S=M;M=T[Q]}}if(R.pos>5000){T[Q++]=this.text.slice(R.pos);T[Q++]=null;break}}if(T.length!=Q){T.length=Q;O=true}if(Q&&T[Q-2]!=S){O=true}return O||(T.length<5&&this.text.length<10)},getTokenAt:function(P,N,M){var i=this.text,O=new a(i);while(O.pos<M&&!O.eol()){O.start=O.pos;var L=P.token(O,N)}return{start:O.start,end:O.pos,string:O.current(),className:L||null,state:N}},indentation:function(){return g(this.text)},getHTML:function(X,ab,O,Z){var R=[];if(O){R.push(this.className?'<pre class="'+this.className+'">':"<pre>")}function ac(ak,i){if(!ak){return}if(i){R.push('<span class="cm-',i,'">',u(ak),"</span>")}else{R.push(u(ak))}}var W=this.styles,P=this.text,V=this.marked;if(X==ab){X=null}var ae=P.length;if(Z!=null){ae=Math.min(Z,ae)}if(!P&&Z==null){ac(" ",X!=null&&ab==null?"CodeMirror-selected":null)}else{if(!V&&X==null){for(var ad=0,S=0;S<ae;ad+=2){var Y=W[ad],aa=Y.length;if(S+aa>ae){Y=Y.slice(0,ae-S)}S+=aa;ac(Y,W[ad+1])}}else{var N=0,ad=0,U="",af,ai=0;var ag=-1,Q=null;function ah(){if(V){ag+=1;Q=(ag<V.length)?V[ag]:null}}ah();while(N<ae){var T=ae;var aj="";if(X!=null){if(X>N){T=X}else{if(ab==null||ab>N){aj=" CodeMirror-selected";if(ab!=null){T=Math.min(T,ab)}}}}while(Q&&Q.to!=null&&Q.to<=N){ah()}if(Q){if(Q.from>N){T=Math.min(T,Q.from)}else{aj+=" "+Q.style;if(Q.to!=null){T=Math.min(T,Q.to)}}}for(;;){var M=N+U.length;var L=af;if(aj){L=af?af+aj:aj}ac(M>T?U.slice(0,T-N):U,L);if(M>=T){U=U.slice(T-N);N=T;break}N=M;U=W[ad++];af=W[ad++]}}if(X!=null&&ab==null){ac(" ","CodeMirror-selected")}}}if(O){R.push("</pre>")}return R.join("")}};function J(R,S,L,T){for(var P=0,Q=0,M=0;Q<S;P+=2){var N=L[P],O=Q+N.length;if(M==0){if(O>R){T.push(N.slice(R-Q,Math.min(N.length,S-Q)),L[P+1])}if(O>=R){M=1}}else{if(M==1){if(O>S){T.push(N.slice(0,S-Q),L[P+1])}else{T.push(N,L[P+1])}}}Q=O}}function f(){this.time=0;this.done=[];this.undone=[]}f.prototype={addChange:function(S,N,L){this.undone.length=0;var R=+new Date,P=this.done[this.done.length-1];if(R-this.time>400||!P||P.start>S+N||P.start+P.added<S-P.added+P.old.length){this.done.push({start:S,added:N,old:L})}else{var O=0;if(S<P.start){for(var M=P.start-S-1;M>=0;--M){P.old.unshift(L[M])}P.added+=P.start-S;P.start=S}else{if(P.start<S){O=S-P.start;N+=O}}for(var M=P.added-O,Q=L.length;M<Q;++M){P.old.push(L[M])}if(P.added<N){P.added=N}}this.time=R}};function D(){if(this.preventDefault){this.preventDefault();this.stopPropagation()}else{this.returnValue=false;this.cancelBubble=true}}function s(i){if(!i.stop){i.stop=D}return i}function v(i){this.e=i}v.prototype={stop:function(){D.call(this.e)},target:function(){return this.e.target||this.e.srcElement},button:function(){if(this.e.which){return this.e.which}else{if(this.e.button&1){return 1}else{if(this.e.button&2){return 3}else{if(this.e.button&4){return 2}}}}},pageX:function(){if(this.e.pageX!=null){return this.e.pageX}var i=this.target().ownerDocument;return this.e.clientX+i.body.scrollLeft+i.documentElement.scrollLeft},pageY:function(){if(this.e.pageY!=null){return this.e.pageY}var i=this.target().ownerDocument;return this.e.clientY+i.body.scrollTop+i.documentElement.scrollTop}};function j(N,M,L,i){function O(P){L(new v(P||window.event))}if(typeof N.addEventListener=="function"){N.addEventListener(M,O,false);if(i){return function(){N.removeEventListener(M,O,false)}}}else{N.attachEvent("on"+M,O);if(i){return function(){N.detachEvent("on"+M,O)}}}}function m(){this.id=null}m.prototype={set:function(i,L){clearTimeout(this.id);this.id=setTimeout(L,i)}};var w=(function(){var i=document.createElement("pre");i.innerHTML=" ";return !i.innerHTML})();var t=/gecko\/\d{7}/i.test(navigator.userAgent);var q=/MSIE \d/.test(navigator.userAgent);var e=/Apple Computer/.test(navigator.vendor);var d="\n";(function(){var i=document.createElement("textarea");i.value="foo\nbar";if(i.value.indexOf("\r")>-1){d="\r\n"}}());var o=8;var r=/Mac/.test(navigator.platform);var G={};for(var E=35;E<=40;++E){G[E]=G["c"+E]=true}function g(M,L){if(L==null){L=M.search(/[^\s\u00a0]/);if(L==-1){L=M.length}}for(var N=0,O=0;N<L;++N){if(M.charAt(N)=="\t"){O+=o-(O%o)}else{++O}}return O}function K(M,L){var P=M.ownerDocument.body;var i=0,R=0,O=false;for(var Q=M;Q;Q=Q.offsetParent){i+=Q.offsetLeft;R+=Q.offsetTop;if(Q==P){O=true}}var N=L&&O?null:P;for(var Q=M.parentNode;Q!=N;Q=Q.parentNode){if(Q.scrollLeft!=null){i-=Q.scrollLeft;R-=Q.scrollTop}}return{left:i,top:R}}function p(i){return i.textContent||i.innerText||i.nodeValue||""}function F(L,i){return L.line==i.line&&L.ch==i.ch}function A(L,i){return L.line<i.line||(L.line==i.line&&L.ch<i.ch)}function B(i){return{line:i.line,ch:i.ch}}function u(i){return i.replace(/[<>&]/g,function(L){return L=="&"?"&":L=="<"?"<":">"})}l.htmlEscape=u;function z(O,N){if(!N){return O?O.length:0}if(!O){return N.length}for(var M=O.length,L=N.length;M>=0&&L>=0;--M,--L){if(O.charAt(M)!=N.charAt(L)){break}}return L+1}function k(O,L){if(O.indexOf){return O.indexOf(L)}for(var M=0,N=O.length;M<N;++M){if(O[M]==L){return M}}return -1}if("\n\nb".split(/\n/).length!=3){var n=function(M){var N=0,L,i=[];while((L=M.indexOf("\n",N))>-1){i.push(M.slice(N,M.charAt(L-1)=="\r"?L-1:L));N=L+1}i.push(M.slice(N));return i}}else{var n=function(i){return i.split(/\r?\n/)}}l.splitLines=n;if(window.getSelection){var H=function(L){try{return{start:L.selectionStart,end:L.selectionEnd}}catch(i){return null}};if(e){var b=function(L,M,i){if(M==i){L.setSelectionRange(M,i)}else{L.setSelectionRange(M,i-1);window.getSelection().modify("extend","forward","character")}}}else{var b=function(M,N,i){try{M.setSelectionRange(N,i)}catch(L){}}}}else{var H=function(N){try{var R=N.ownerDocument.selection.createRange()}catch(T){return null}if(!R||R.parentElement()!=N){return null}var M=N.value,S=M.length,U=N.createTextRange();U.moveToBookmark(R.getBookmark());var P=N.createTextRange();P.collapse(false);if(U.compareEndPoints("StartToEnd",P)>-1){return{start:S,end:S}}var L=-U.moveStart("character",-S);for(var Q=M.indexOf("\r");Q>-1&&Q<L;Q=M.indexOf("\r",Q+1),L++){}if(U.compareEndPoints("EndToEnd",P)>-1){return{start:L,end:S}}var O=-U.moveEnd("character",-S);for(var Q=M.indexOf("\r");Q>-1&&Q<O;Q=M.indexOf("\r",Q+1),O++){}return{start:L,end:O}};var b=function(P,R,M){var N=P.createTextRange();N.collapse(true);var L=N.duplicate();var O=0,i=P.value;for(var Q=i.indexOf("\n");Q>-1&&Q<R;Q=i.indexOf("\n",Q+1)){++O}N.move("character",R-O);for(;Q>-1&&Q<M;Q=i.indexOf("\n",Q+1)){++O}L.move("character",M-O);N.setEndPoint("EndToEnd",L);N.select()}}l.defineMode("null",function(){return{token:function(i){i.skipToEnd()}}});l.defineMIME("text/plain","null");return l})();CodeMirror.defineMode("javascript",function(H,L){var v=H.indentUnit;var P=L.json;var b=function(){function V(Y){return{type:Y,style:"keyword"}}var S=V("keyword a"),X=V("keyword b"),W=V("keyword c");var T=V("operator"),U={type:"atom",style:"atom"};return{"if":S,"while":S,"with":S,"else":X,"do":X,"try":X,"finally":X,"return":W,"break":W,"continue":W,"new":W,"delete":W,"throw":W,"var":V("var"),"function":V("function"),"catch":V("catch"),"for":V("for"),"switch":V("switch"),"case":V("case"),"default":V("default"),"in":T,"typeof":T,"instanceof":T,"true":U,"false":U,"null":U,"undefined":U,"NaN":U,"Infinity":U}}();var M=/[+\-*&%=<>!?|]/;function Q(U,T,S){T.tokenize=S;return S(U,T)}function h(V,S){var U=false,T;while((T=V.next())!=null){if(T==S&&!U){return false}U=!U&&T=="\\"}return U}var R,p;function A(U,T,S){R=U;p=S;return T}function l(W,U){var S=W.next();if(S=='"'||S=="'"){return Q(W,U,z(S))}else{if(/[\[\]{}\(\),;\:\.]/.test(S)){return A(S)}else{if(S=="0"&&W.eat(/x/i)){W.eatWhile(/[\da-f]/i);return A("number","atom")}else{if(/\d/.test(S)){W.match(/^\d*(?:\.\d*)?(?:e[+\-]?\d+)?/);return A("number","atom")}else{if(S=="/"){if(W.eat("*")){return Q(W,U,f)}else{if(W.eat("/")){W.skipToEnd();return A("comment","comment")}else{if(U.reAllowed){h(W,"/");W.eatWhile(/[gimy]/);return A("regexp","string")}else{W.eatWhile(M);return A("operator",null,W.current())}}}}else{if(M.test(S)){W.eatWhile(M);return A("operator",null,W.current())}else{W.eatWhile(/[\w\$_]/);var V=W.current(),T=b.propertyIsEnumerable(V)&&b[V];return T?A(T.type,T.style,V):A("variable","variable",V)}}}}}}}function z(S){return function(U,T){if(!h(U,S)){T.tokenize=l}return A("string","string")}}function f(V,U){var S=false,T;while(T=V.next()){if(T=="/"&&S){U.tokenize=l;break}S=(T=="*")}return A("comment","comment")}var k={atom:true,number:true,variable:true,string:true,regexp:true};function t(X,T,S,W,U,V){this.indented=X;this.column=T;this.type=S;this.prev=U;this.info=V;if(W!=null){this.align=W}}function w(U,T){for(var S=U.localVars;S;S=S.next){if(S.name==T){return true}}}function D(W,T,S,V,X){var Y=W.cc;u.state=W;u.stream=X;u.marked=null,u.cc=Y;if(!W.lexical.hasOwnProperty("align")){W.lexical.align=true}while(true){var U=Y.length?Y.pop():P?x:y;if(U(S,V)){while(Y.length&&Y[Y.length-1].lex){Y.pop()()}if(u.marked){return u.marked}if(S=="variable"&&w(W,V)){return"variable-2"}return T}}}var u={state:null,column:null,marked:null,cc:null};function a(){for(var S=arguments.length-1;S>=0;S--){u.cc.push(arguments[S])}}function F(){a.apply(null,arguments);return true}function m(T){var U=u.state;if(U.context){u.marked="def";for(var S=U.localVars;S;S=S.next){if(S.name==T){return}}U.localVars={name:T,next:U.localVars}}}var C={name:"this",next:{name:"arguments"}};function s(){if(!u.state.context){u.state.localVars=C}u.state.context={prev:u.state.context,vars:u.state.localVars}}function r(){u.state.localVars=u.state.context.vars;u.state.context=u.state.context.prev}function j(T,U){var S=function(){var V=u.state;V.lexical=new t(V.indented,u.stream.column(),T,null,V.lexical,U)};S.lex=true;return S}function E(){var S=u.state;if(S.lexical.prev){if(S.lexical.type==")"){S.indented=S.lexical.indented}S.lexical=S.lexical.prev}}E.lex=true;function c(T){return function S(U){if(U==T){return F()}else{if(T==";"){return a()}else{return F(arguments.callee)}}}}function y(S){if(S=="var"){return F(j("vardef"),I,c(";"),E)}if(S=="keyword a"){return F(j("form"),x,y,E)}if(S=="keyword b"){return F(j("form"),y,E)}if(S=="{"){return F(j("}"),n,E)}if(S==";"){return F()}if(S=="function"){return F(i)}if(S=="for"){return F(j("form"),c("("),j(")"),g,c(")"),E,y,E)}if(S=="variable"){return F(j("stat"),B)}if(S=="switch"){return F(j("form"),x,j("}","switch"),c("{"),n,E,E)}if(S=="case"){return F(x,c(":"))}if(S=="default"){return F(c(":"))}if(S=="catch"){return F(j("form"),s,c("("),q,c(")"),y,E,r)}return a(j("stat"),x,c(";"),E)}function x(S){if(k.hasOwnProperty(S)){return F(K)}if(S=="function"){return F(i)}if(S=="keyword c"){return F(x)}if(S=="("){return F(j(")"),x,c(")"),E,K)}if(S=="operator"){return F(x)}if(S=="["){return F(j("]"),N(x,"]"),E,K)}if(S=="{"){return F(j("}"),N(o,"}"),E,K)}return F()}function K(S,T){if(S=="operator"&&/\+\+|--/.test(T)){return F(K)}if(S=="operator"){return F(x)}if(S==";"){return}if(S=="("){return F(j(")"),N(x,")"),E,K)}if(S=="."){return F(O,K)}if(S=="["){return F(j("]"),x,c("]"),E,K)}}function B(S){if(S==":"){return F(E,y)}return a(K,c(";"),E)}function O(S){if(S=="variable"){u.marked="property";return F()}}function o(S){if(S=="variable"){u.marked="property"}if(k.hasOwnProperty(S)){return F(c(":"),x)}}function N(U,S){function T(W){if(W==","){return F(U,T)}if(W==S){return F()}return F(c(S))}return function V(W){if(W==S){return F()}else{return a(U,T)}}}function n(S){if(S=="}"){return F()}return a(y,n)}function I(S,T){if(S=="variable"){m(T);return F(G)}return F()}function G(S,T){if(T=="="){return F(x,G)}if(S==","){return F(I)}}function g(S){if(S=="var"){return F(I,e)}if(S==";"){return a(e)}if(S=="variable"){return F(J)}return a(e)}function J(S,T){if(T=="in"){return F(x)}return F(K,e)}function e(S,T){if(S==";"){return F(d)}if(T=="in"){return F(x)}return F(x,c(";"),d)}function d(S){if(S!=")"){F(x)}}function i(S,T){if(S=="variable"){m(T);return F(i)}if(S=="("){return F(j(")"),s,N(q,")"),E,y,r)}}function q(S,T){if(S=="variable"){m(T);return F()}}return{startState:function(S){return{tokenize:l,reAllowed:true,cc:[],lexical:new t((S||0)-v,0,"block",false),localVars:null,context:null,indented:0}},token:function(U,T){if(U.sol()){if(!T.lexical.hasOwnProperty("align")){T.lexical.align=false}T.indented=U.indentation()}if(U.eatSpace()){return null}var S=T.tokenize(U,T);if(R=="comment"){return S}T.reAllowed=R=="operator"||R=="keyword c"||R.match(/^[\[{}\(,;:]$/);return D(T,S,R,p,U)},indent:function(X,S){if(X.tokenize!=l){return 0}var W=S&&S.charAt(0),U=X.lexical,V=U.type,T=W==V;if(V=="vardef"){return U.indented+4}else{if(V=="form"&&W=="{"){return U.indented}else{if(V=="stat"||V=="form"){return U.indented+v}else{if(U.info=="switch"&&!T){return U.indented+(/^(?:case|default)\b/.test(S)?v:2*v)}else{if(U.align){return U.column+(T?0:1)}else{return U.indented+(T?0:v)}}}}}},electricChars:":{}"}});CodeMirror.defineMIME("text/javascript","javascript");CodeMirror.defineMIME("application/json",{name:"javascript",json:true});Ext.define("Ext.AbstractPlugin",{disabled:false,constructor:function(b){if(!b.cmp&&Ext.global.console){Ext.global.console.warn("Attempted to attach a plugin ")}Ext.apply(this,b)},getCmp:function(){return this.cmp},init:Ext.emptyFn,destroy:Ext.emptyFn,enable:function(){this.disabled=false},disable:function(){this.disabled=true}});Ext.define("Docs.History",{singleton:true,init:function(){Ext.util.History.init(function(){this.historyLoaded=true;this.initialNavigate()},this);Ext.util.History.on("change",this.navigate,this)},notifyTabsLoaded:function(){this.tabsLoaded=true;this.initialNavigate()},initialNavigate:function(){if(this.tabsLoaded&&this.historyLoaded){this.navigate(Ext.util.History.getToken())}},navigate:function(c){if(this.noNavigate){this.noNavigate=false;return}var d=this.parseToken(c);if(d.url=="#!/api"){Docs.App.getController("Classes").loadIndex(true)}else{if(d.type==="api"){Docs.App.getController("Classes").loadClass(d.url,true)}else{if(d.url==="#!/guide"){Docs.App.getController("Guides").loadIndex(true)}else{if(d.type==="guide"){Docs.App.getController("Guides").loadGuide(d.url,true)}else{if(d.url==="#!/video"){Docs.App.getController("Videos").loadIndex(true)}else{if(d.type==="video"){Docs.App.getController("Videos").loadVideo(d.url,true)}else{if(d.url==="#!/example"){Docs.App.getController("Examples").loadIndex()}else{if(d.type==="example"){Docs.App.getController("Examples").loadExample(d.url,true)}else{if(Docs.App.getController("Welcome").isActive()){Docs.App.getController("Welcome").loadIndex(true)}else{if(!this.noRepeatNav){this.noRepeatNav=true;this.navigate(Ext.getCmp("doctabs").staticTabs[0].href)}}}}}}}}}}},parseToken:function(d){var c=d&&d.match(/!?(\/(api|guide|example|video)(\/(.*))?)/);return c?{type:c[2],url:"#!"+c[1]}:{}},push:function(d,c){d=this.cleanUrl(d);if(!/^#!?/.test(d)){d="#!"+d}if(c&&c.navigate){this.noNavigate=false}else{this.noNavigate=true}Ext.util.History.add(d)},cleanUrl:function(b){return b.replace(/^[^#]+#/,"#")}});Ext.define("Docs.ContentGrabber",{singleton:true,get:function(f){var e;var d=Ext.get(f);if(d){e=d.dom.innerHTML;d.remove()}return e}});Ext.define("Docs.view.examples.Device",{config:{url:"",id:undefined,device:"phone",orientation:"landscape"},constructor:function(b){Ext.apply(this,b);Ext.apply(this,this.getIframeSize());this.id=this.id||Ext.id();if(Ext.isWebKit){this.tpl=new Ext.XTemplate('<div class="touchExample {device} {orientation}">','<iframe id={id} style="width: {width}; height: {height}; border: 0;" ','src="{[this.deviceUrl(values)]}"></iframe>',"</div>",{deviceUrl:function(a){return a.url+"?deviceType="+(a.device==="tablet"?"Tablet":"Phone")}})}else{this.tpl=new Ext.XTemplate('<div class="touchExample {device} {orientation}">','<div id={id} class="wrong-browser" style="width: {width}; height: {height};">','<div style="padding: 20px;">Sencha Touch only functions on WebKit based browsers. <br /><br />Please use Google Chrome or Safari to see live examples.</div>',"</div>","</div>")}},toHtml:function(){return this.tpl.apply(this)},setDevice:function(b){this.device=b;Ext.apply(this,this.getIframeSize())},setOrientation:function(b){this.orientation=b;Ext.apply(this,this.getIframeSize())},getIframeSize:function(){var b={phone:{width:"481px",height:"320px"},miniphone:{width:"320px",height:"219px"},tablet:{width:"717px",height:"538px"}}[this.device];if(this.orientation==="landscape"){return b}else{return{width:b.height,height:b.width}}}});Ext.define("Ext.form.field.VTypes",(function(){var h=/^[a-zA-Z_]+$/,g=/^[a-zA-Z0-9_]+$/,e=/^(\w+)([\-+.][\w]+)*@(\w[\-\w]*\.){1,5}([A-Za-z]){2,6}$/,f=/(((^https?)|(^ftp)):\/\/([\-\w]+\.)+\w{2,3}(\/[%\-\w]+(\.\w{2,})?)*(([\w\-\.\?\\\/+@&#;`~=%!]*)(\.\w{2,})?)*\/?)/i;return{singleton:true,alternateClassName:"Ext.form.VTypes",email:function(a){return e.test(a)},emailText:'This field should be an e-mail address in the format "user@example.com"',emailMask:/[a-z0-9_\.\-@\+]/i,url:function(a){return f.test(a)},urlText:'This field should be a URL in the format "http://www.example.com"',alpha:function(a){return h.test(a)},alphaText:"This field should only contain letters and _",alphaMask:/[a-z_]/i,alphanum:function(a){return g.test(a)},alphanumText:"This field should only contain letters, numbers and _",alphanumMask:/[a-z0-9_]/i}})());Ext.define("Ext.util.Observable",{requires:["Ext.util.Event"],statics:{releaseCapture:function(b){b.fireEvent=this.prototype.fireEvent},capture:function(f,d,e){f.fireEvent=Ext.Function.createInterceptor(f.fireEvent,d,e)},observe:function(d,c){if(d){if(!d.isObservable){Ext.applyIf(d,new this());this.capture(d.prototype,d.fireEvent,d)}if(Ext.isObject(c)){d.on(c)}return d}}},isObservable:true,constructor:function(d){var c=this;Ext.apply(c,d);if(c.listeners){c.on(c.listeners);delete c.listeners}c.events=c.events||{};if(c.bubbleEvents){c.enableBubble(c.bubbleEvents)}},eventOptionsRe:/^(?:scope|delay|buffer|single|stopEvent|preventDefault|stopPropagation|normalized|args|delegate|element|vertical|horizontal|freezeEvent)$/,addManagedListener:function(k,o,m,n,p){var l=this,j=l.managedListeners=l.managedListeners||[],i;if(typeof o!=="string"){p=o;for(o in p){if(p.hasOwnProperty(o)){i=p[o];if(!l.eventOptionsRe.test(o)){l.addManagedListener(k,o,i.fn||i,i.scope||p.scope,i.fn?i:p)}}}}else{j.push({item:k,ename:o,fn:m,scope:n,options:p});k.on(o,m,n,p)}},removeManagedListener:function(m,r,o,l){var p=this,i,s,n,t,q;if(typeof r!=="string"){i=r;for(r in i){if(i.hasOwnProperty(r)){s=i[r];if(!p.eventOptionsRe.test(r)){p.removeManagedListener(m,r,s.fn||s,s.scope||i.scope)}}}}n=p.managedListeners?p.managedListeners.slice():[];for(q=0,t=n.length;q<t;q++){p.removeManagedListenerItem(false,n[q],m,r,o,l)}},fireEvent:function(f){var j=f.toLowerCase(),i=this.events,h=i&&i[j],g=h&&h.bubble;return this.continueFireEvent(j,Ext.Array.slice(arguments,1),g)},continueFireEvent:function(n,l,h){var j=this,i,k,m=true;do{if(j.eventsSuspended===true){if((i=j.eventQueue)){i.push([n,l,h])}return m}else{k=j.events[n];if(k&&k!=true){if((m=k.fire.apply(k,l))===false){break}}}}while(h&&(j=j.getBubbleParent()));return m},getBubbleParent:function(){var c=this,d=c.getBubbleTarget&&c.getBubbleTarget();if(d&&d.isObservable){return d}return null},addListener:function(n,l,m,h){var j=this,i,k;if(typeof n!=="string"){h=n;for(n in h){if(h.hasOwnProperty(n)){i=h[n];if(!j.eventOptionsRe.test(n)){j.addListener(n,i.fn||i,i.scope||h.scope,i.fn?i:h)}}}}else{n=n.toLowerCase();j.events[n]=j.events[n]||true;k=j.events[n]||true;if(Ext.isBoolean(k)){j.events[n]=k=new Ext.util.Event(j,n)}k.addListener(l,m,Ext.isObject(h)?h:{})}},removeListener:function(n,l,m){var j=this,h,k,i;if(typeof n!=="string"){i=n;for(n in i){if(i.hasOwnProperty(n)){h=i[n];if(!j.eventOptionsRe.test(n)){j.removeListener(n,h.fn||h,h.scope||i.scope)}}}}else{n=n.toLowerCase();k=j.events[n];if(k&&k.isEvent){k.removeListener(l,m)}}},clearListeners:function(){var d=this.events,f,e;for(e in d){if(d.hasOwnProperty(e)){f=d[e];if(f.isEvent){f.clearListeners()}}}this.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 d=this.managedListeners||[],f=0,e=d.length;for(;f<e;f++){this.removeManagedListenerItem(true,d[f])}this.managedListeners=[]},removeManagedListenerItem:function(g,h,i,l,j,k){if(g||(h.item===i&&h.ename===l&&(!j||h.fn===j)&&(!k||h.scope===k))){h.item.un(h.ename,h.fn,h.scope);if(!g){Ext.Array.remove(this.managedListeners,h)}}},purgeManagedListeners:function(){if(Ext.global.console){Ext.global.console.warn("Observable: purgeManagedListeners has been deprecated. Please use clearManagedListeners.")}return this.clearManagedListeners.apply(this,arguments)},addEvents:function(h){var i=this,f,g,j;i.events=i.events||{};if(Ext.isString(h)){f=arguments;j=f.length;while(j--){i.events[f[j]]=i.events[f[j]]||true}}else{Ext.applyIf(i.events,h)}},hasListener:function(d){var c=this.events[d.toLowerCase()];return c&&c.isEvent===true&&c.listeners.length>0},suspendEvents:function(b){this.eventsSuspended=true;if(b&&!this.eventQueue){this.eventQueue=[]}},resumeEvents:function(){var d=this,c=d.eventQueue;d.eventsSuspended=false;delete d.eventQueue;if(c){Ext.each(c,function(a){d.continueFireEvent.apply(d,a)})}},relayEvents:function(p,n,k){k=k||"";var l=this,j=n.length,o=0,m,i;for(;o<j;o++){m=n[o].substr(k.length);i=k+m;l.events[i]=l.events[i]||true;p.on(m,l.createRelayer(i))}},createRelayer:function(d){var c=this;return function(){return c.fireEvent.apply(c,[d].concat(Array.prototype.slice.call(arguments,0,-1)))}},enableBubble:function(d){var c=this;if(!Ext.isEmpty(d)){d=Ext.isArray(d)?d:Ext.Array.toArray(arguments);Ext.each(d,function(b){b=b.toLowerCase();var a=c.events[b]||true;if(Ext.isBoolean(a)){a=new Ext.util.Event(c,b);c.events[b]=a}a.bubble=true})}}},function(){this.createAlias({on:"addListener",un:"removeListener",mon:"addManagedListener",mun:"removeManagedListener"});this.observeClass=this.observe;Ext.apply(Ext.util.Observable.prototype,function(){function b(e){var j=(this.methodEvents=this.methodEvents||{})[e],m,n,l,k=this;if(!j){this.methodEvents[e]=j={};j.originalFn=this[e];j.methodName=e;j.before=[];j.after=[];var a=function(c,d,f){if((n=c.apply(d||k,f))!==undefined){if(typeof n=="object"){if(n.returnValue!==undefined){m=n.returnValue}else{m=n}l=!!n.cancel}else{if(n===false){l=true}else{m=n}}}};this[e]=function(){var d=Array.prototype.slice.call(arguments,0),f,c,g;m=n=undefined;l=false;for(c=0,g=j.before.length;c<g;c++){f=j.before[c];a(f.fn,f.scope,d);if(l){return m}}if((n=j.originalFn.apply(k,d))!==undefined){m=n}for(c=0,g=j.after.length;c<g;c++){f=j.after[c];a(f.fn,f.scope,d);if(l){return m}}return m}}return j}return{beforeMethod:function(e,f,a){b.call(this,e).before.push({fn:f,scope:a})},afterMethod:function(e,f,a){b.call(this,e).after.push({fn:f,scope:a})},removeMethodListener:function(e,j,k){var i=this.getMethodEvent(e),l,a;for(l=0,a=i.before.length;l<a;l++){if(i.before[l].fn==j&&i.before[l].scope==k){Ext.Array.erase(i.before,l,1);return}}for(l=0,a=i.after.length;l<a;l++){if(i.after[l].fn==j&&i.after[l].scope==k){Ext.Array.erase(i.after,l,1);return}}},toggleEventLogging:function(a){Ext.util.Observable[a?"capture":"releaseCapture"](this,function(d){if(Ext.isDefined(Ext.global.console)){Ext.global.console.log(d,arguments)}})}}}())});Ext.define("Ext.util.KeyMap",{alternateClassName:"Ext.KeyMap",constructor:function(e,g,f){var h=this;Ext.apply(h,{el:Ext.get(e),eventName:f||h.eventName,bindings:[]});if(g){h.addBinding(g)}h.enable()},eventName:"keydown",addBinding:function(l){if(Ext.isArray(l)){Ext.each(l,this.addBinding,this);return}var m=l.key,k=false,o,n,i,p,j;if(Ext.isString(m)){n=[];i=m.toUpperCase();for(p=0,j=i.length;p<j;++p){n.push(i.charCodeAt(p))}m=n;k=true}if(!Ext.isArray(m)){m=[m]}if(!k){for(p=0,j=m.length;p<j;++p){o=m[p];if(Ext.isString(o)){m[p]=o.toUpperCase().charCodeAt(0)}}}this.bindings.push(Ext.apply({keyCode:m},l))},handleKeyDown:function(h){if(this.enabled){var g=this.bindings,e=0,f=g.length;h=this.processEvent(h);for(;e<f;++e){this.processBinding(g[e],h)}}},processEvent:function(b){return b},processBinding:function(o,t){if(this.checkModifiers(o,t)){var n=t.getKey(),l=o.fn||o.handler,i=o.scope||this,m=o.keyCode,s=o.defaultEventAction,r,p,q=new Ext.EventObjectImpl(t);for(r=0,p=m.length;r<p;++r){if(n===m[r]){if(l.call(i,n,t)!==true&&s){q[s]()}break}}}},checkModifiers:function(j,l){var m=["shift","ctrl","alt"],n=0,i=m.length,k,e;for(;n<i;++n){e=m[n];k=j[e];if(!(k===undefined||(k===l[e+"Key"]))){return false}}return true},on:function(h,m,n){var j,i,l,k;if(Ext.isObject(h)&&!Ext.isArray(h)){j=h.key;i=h.shift;l=h.ctrl;k=h.alt}else{j=h}this.addBinding({key:j,shift:i,ctrl:l,alt:k,fn:m,scope:n})},isEnabled:function(){return this.enabled},enable:function(){var b=this;if(!b.enabled){b.el.on(b.eventName,b.handleKeyDown,b);b.enabled=true}},disable:function(){var b=this;if(b.enabled){b.el.removeListener(b.eventName,b.handleKeyDown,b);b.enabled=false}},setDisabled:function(b){if(b){this.disable()}else{this.enable()}},destroy:function(c){var d=this;d.bindings=[];d.disable();if(c===true){d.el.remove()}delete d.el}});Ext.define("Ext.util.Memento",function(){function i(b,c,a){b[a]=c[a]}function j(b,c,a){delete b[a]}function h(b,c,a){var d=b[a];if(d||b.hasOwnProperty(a)){g(c,a,d)}}function g(b,a,c){if(Ext.isDefined(c)){b[a]=c}else{delete b[a]}}function f(d,a,b,c){if(a){if(Ext.isArray(c)){Ext.each(c,function(e){d(a,b,e)})}else{d(a,b,c)}}}return{data:null,target:null,constructor:function(a,b){if(a){this.target=a;if(b){this.capture(b)}}},capture:function(b,a){f(i,this.data||(this.data={}),a||this.target,b)},remove:function(a){f(j,this.data,null,a)},restore:function(b,c,a){f(h,this.data,a||this.target,b);if(c!==false){this.remove(b)}},restoreAll:function(d,a){var b=this,c=a||this.target;Ext.Object.each(b.data,function(e,l){g(c,e,l)});if(d!==false){delete b.data}}}}());Ext.define("Ext.util.KeyNav",{alternateClassName:"Ext.KeyNav",requires:["Ext.util.KeyMap"],statics:{keyOptions:{left:37,right:39,up:38,down:40,space:32,pageUp:33,pageDown:34,del:46,backspace:8,home:36,end:35,enter:13,esc:27,tab:9}},constructor:function(c,d){this.setConfig(c,d||{})},setConfig:function(k,h){if(this.map){this.map.destroy()}var i=Ext.create("Ext.util.KeyMap",k,null,this.getKeyEvent("forceKeyDown" in h?h.forceKeyDown:this.forceKeyDown)),j=Ext.util.KeyNav.keyOptions,l=h.scope||this,g;this.map=i;for(g in j){if(j.hasOwnProperty(g)){if(h[g]){i.addBinding({scope:l,key:j[g],handler:Ext.Function.bind(this.handleEvent,l,[h[g]],true),defaultEventAction:h.defaultEventAction||this.defaultEventAction})}}}i.disable();if(!h.disabled){i.enable()}},handleEvent:function(f,d,e){return e.call(this,d)},disabled:false,defaultEventAction:"stopEvent",forceKeyDown:false,destroy:function(b){this.map.destroy(b);delete this.map},enable:function(){this.map.enable();this.disabled=false},disable:function(){this.map.disable();this.disabled=true},setDisabled:function(b){this.map.setDisabled(b);this.disabled=b},getKeyEvent:function(b){return(b||Ext.EventManager.useKeyDown)?"keydown":"keypress"}});Ext.define("Ext.fx.CubicBezier",{singleton:true,cubicBezierAtTime:function(q,A,C,r,s,w){var v=3*A,t=3*(r-A)-v,D=1-v-t,x=3*C,u=3*(s-C)-x,p=1-x-u;function y(a){return((D*a+t)*a+v)*a}function B(c,a){var b=z(c,a);return((p*b+u)*b+x)*b}function z(h,a){var b,c,e,g,d,f;for(e=h,f=0;f<8;f++){g=y(e)-h;if(Math.abs(g)<a){return e}d=(3*D*e+2*t)*e+v;if(Math.abs(d)<0.000001){break}e=e-g/d}b=0;c=1;e=h;if(e<b){return b}if(e>c){return c}while(b<c){g=y(e);if(Math.abs(g-h)<a){return e}if(h>g){b=e}else{c=e}e=(c-b)/2+b}return e}return B(q,1/(200*w))},cubicBezier:function(f,h,g,j){var i=function(a){return Ext.fx.CubicBezier.cubicBezierAtTime(a,f,h,g,j,1)};i.toCSS3=function(){return"cubic-bezier("+[f,h,g,j].join(",")+")"};i.reverse=function(){return Ext.fx.CubicBezier.cubicBezier(1-g,1-j,1-f,1-h)};return i}});Ext.define("Ext.data.Operation",{synchronous:true,action:undefined,filters:undefined,sorters:undefined,group:undefined,start:undefined,limit:undefined,batch:undefined,callback:undefined,scope:undefined,started:false,running:false,complete:false,success:undefined,exception:false,error:undefined,actionCommitRecordsRe:/^(?:create|update)$/i,actionSkipSyncRe:/^destroy$/i,constructor:function(b){Ext.apply(this,b||{})},commitRecords:function(h){var k=this,j,n,m,l,i;if(!k.actionSkipSyncRe.test(k.action)){m=k.records;if(m&&m.length){j=Ext.create("Ext.util.MixedCollection",true,function(a){return a.getId()});j.addAll(m);for(n=h?h.length:0;n--;){l=h[n];i=j.get(l.getId());if(i){i.beginEdit();i.set(l.data);i.endEdit(true)}}if(k.actionCommitRecordsRe.test(k.action)){for(n=m.length;n--;){m[n].commit()}}}}},setStarted:function(){this.started=true;this.running=true},setCompleted:function(){this.complete=true;this.running=false},setSuccessful:function(){this.success=true},setException:function(b){this.exception=true;this.success=false;this.running=false;this.error=b},hasException:function(){return this.exception===true},getError:function(){return this.error},getRecords:function(){var b=this.getResultSet();return(b===undefined?this.records:b.records)},getResultSet:function(){return this.resultSet},isStarted:function(){return this.started===true},isRunning:function(){return this.running===true},isComplete:function(){return this.complete===true},wasSuccessful:function(){return this.isComplete()&&this.success===true},setBatch:function(b){this.batch=b},allowWrite:function(){return this.action!="read"}});Ext.define("Ext.util.Filter",{anyMatch:false,exactMatch:false,caseSensitive:false,constructor:function(d){var c=this;Ext.apply(c,d);c.filter=c.filter||c.filterFn;if(c.filter===undefined){if(c.property===undefined||c.value===undefined){}else{c.filter=c.createFilterFn()}c.filterFn=c.filter}},createFilterFn:function(){var e=this,f=e.createValueMatcher(),d=e.property;return function(b){var a=e.getRoot.call(e,b)[d];return f===null?a===null:f.test(a)}},getRoot:function(c){var d=this.root;return d===undefined?c:c[d]},createValueMatcher:function(){var k=this,j=k.value,i=k.anyMatch,l=k.exactMatch,h=k.caseSensitive,g=Ext.String.escapeRegex;if(j===null){return j}if(!j.exec){j=String(j);if(i===true){j=g(j)}else{j="^"+g(j);if(l===true){j+="$"}}j=new RegExp(j,h?"":"i")}return j}});Ext.define("Ext.util.Floating",{uses:["Ext.Layer","Ext.window.Window"],focusOnToFront:true,shadow:"sides",constructor:function(d){var c=this;c.floating=true;c.el=Ext.create("Ext.Layer",Ext.apply({},d,{hideMode:c.hideMode,hidden:c.hidden,shadow:Ext.isDefined(c.shadow)?c.shadow:"sides",shadowOffset:c.shadowOffset,constrain:false,shim:c.shim===false?false:undefined}),c.el)},onFloatRender:function(){var b=this;b.zIndexParent=b.getZIndexParent();b.setFloatParent(b.ownerCt);delete b.ownerCt;if(b.zIndexParent){b.zIndexParent.registerFloatingItem(b)}else{Ext.WindowManager.register(b)}},setFloatParent:function(c){var d=this;if(d.floatParent){d.mun(d.floatParent,{hide:d.onFloatParentHide,show:d.onFloatParentShow,scope:d})}d.floatParent=c;if(c){d.mon(d.floatParent,{hide:d.onFloatParentHide,show:d.onFloatParentShow,scope:d})}if((d.constrain||d.constrainHeader)&&!d.constrainTo){d.constrainTo=c?c.getTargetEl():d.container}},onFloatParentHide:function(){var b=this;if(b.hideOnParentHide!==false){b.showOnParentShow=b.isVisible();b.hide()}},onFloatParentShow:function(){if(this.showOnParentShow){delete this.showOnParentShow;this.show()}},getZIndexParent:function(){var d=this.ownerCt,c;if(d){while(d){c=d;d=d.ownerCt}if(c.floating){return c}}},setZIndex:function(d){var c=this;c.el.setZIndex(d);d+=10;if(c.floatingItems){d=Math.floor(c.floatingItems.setBase(d)/100)*100+10000}return d},doConstrain:function(e){var h=this,f=h.getConstrainVector(e||h.el.getScopeParent()),g;if(f){g=h.getPosition();g[0]+=f[0];g[1]+=f[1];h.setPosition(g)}},getConstrainVector:function(d){var f=this,e;if(f.constrain||f.constrainHeader){e=f.constrainHeader?f.header.el:f.el;d=d||(f.floatParent&&f.floatParent.getTargetEl())||f.container;return e.getConstrainVector(d)}},alignTo:function(e,f,h){if(e.isComponent){e=e.getEl()}var g=this.el.getAlignToXY(e,f,h);this.setPagePosition(g);return this},toFront:function(c){var d=this;if(d.zIndexParent){d.zIndexParent.toFront(true)}if(d.zIndexManager.bringToFront(d)){if(!Ext.isDefined(c)){c=!d.focusOnToFront}if(!c){d.focus(false,true)}}return d},setActive:function(d,f){var e=this;if(d){if(e.el.shadow&&!e.maximized){e.el.enableShadow(true)}e.fireEvent("activate",e)}else{if((e instanceof Ext.window.Window)&&(f instanceof Ext.window.Window)){e.el.disableShadow()}e.fireEvent("deactivate",e)}},toBack:function(){this.zIndexManager.sendToBack(this);return this},center:function(){var d=this,c=d.el.getAlignToXY(d.container,"c-c");d.setPagePosition(c);return d},syncShadow:function(){if(this.floating){this.el.sync(true)}},fitContainer:function(){var f=this.floatParent,e=f?f.getTargetEl():this.container,d=e.getViewSize(false);this.setSize(d)}});Ext.define("Ext.app.Controller",{mixins:{observable:"Ext.util.Observable"},onClassExtended:function(k,p){var l=Ext.getClassName(k),o=l.match(/^(.*)\.controller\./);if(o!==null){var r=Ext.Loader.getPrefix(l)||o[1],m=p.onBeforeClassCreated,j=[],q=["model","view","store"],n;p.onBeforeClassCreated=function(i,f){var e,c,h,b,g,d,a;for(e=0,c=q.length;e<c;e++){h=q[e];b=Ext.Array.from(f[h+"s"]);for(g=0,d=b.length;g<d;g++){a=b[g];n=Ext.Loader.getPrefix(a);if(n===""||n===a){j.push(r+"."+h+"."+a)}else{j.push(a)}}}Ext.require(j,Ext.Function.pass(m,arguments,this))}}},constructor:function(b){this.mixins.observable.constructor.call(this,b);Ext.apply(this,b||{});this.createGetters("model",this.models);this.createGetters("store",this.stores);this.createGetters("view",this.views);if(this.refs){this.ref(this.refs)}},init:function(b){},onLaunch:function(b){},createGetters:function(c,d){c=Ext.String.capitalize(c);Ext.Array.each(d,function(b){var f="get",a=b.split(".");Ext.Array.each(a,function(e){f+=Ext.String.capitalize(e)});f+=c;if(!this[f]){this[f]=Ext.Function.pass(this["get"+c],[b],this)}this[f](b)},this)},ref:function(d){var c=this;d=Ext.Array.from(d);Ext.Array.each(d,function(a){var b=a.ref,f="get"+Ext.String.capitalize(b);if(!c[f]){c[f]=Ext.Function.pass(c.getRef,[b,a],c)}})},getRef:function(j,i,g){this.refCache=this.refCache||{};i=i||{};g=g||{};Ext.apply(i,g);if(i.forceCreate){return Ext.ComponentManager.create(i,"component")}var k=this,h=i.selector,l=k.refCache[j];if(!l){k.refCache[j]=l=Ext.ComponentQuery.query(i.selector)[0];if(!l&&i.autoCreate){k.refCache[j]=l=Ext.ComponentManager.create(i,"component")}if(l){l.on("beforedestroy",function(){k.refCache[j]=null})}}return l},control:function(d,c){this.application.control(d,c,this)},getController:function(b){return this.application.getController(b)},getStore:function(b){return this.application.getStore(b)},getModel:function(b){return this.application.getModel(b)},getView:function(b){return this.application.getView(b)}});Ext.define("Ext.app.EventBus",{requires:["Ext.util.Event"],mixins:{observable:"Ext.util.Observable"},constructor:function(){this.mixins.observable.constructor.call(this);this.bus={};var b=this;Ext.override(Ext.Component,{fireEvent:function(a){if(Ext.util.Observable.prototype.fireEvent.apply(this,arguments)!==false){return b.dispatch.call(b,a,this,arguments)}return false}})},dispatch:function(o,s,p){var r=this.bus,n=r[o],u,v,w,i,x,t,q;if(n){for(u in n){if(s.is(u)){v=n[u];for(w in v){i=v[w];for(t=0,q=i.length;t<q;t++){x=i[t];if(x.fire.apply(x,Array.prototype.slice.call(p,1))===false){return false}}}}}}},control:function(k,i,l){var g=this.bus,h,j;if(Ext.isString(k)){h=k;k={};k[h]=i;this.control(k,null,l);return}Ext.Object.each(k,function(b,a){Ext.Object.each(a,function(d,c){var n={},f=l,e=Ext.create("Ext.util.Event",l,d);if(Ext.isObject(c)){n=c;c=n.fn;f=n.scope||l;delete n.fn;delete n.scope}e.addListener(c,f,n);g[d]=g[d]||{};g[d][b]=g[d][b]||{};g[d][b][l.id]=g[d][b][l.id]||[];g[d][b][l.id].push(e)})})}});Ext.define("Docs.LocalStore",{storeName:"",init:function(){this.localStorage=("localStorage" in window&&window.localStorage!==null);this.store=Ext.getStore(this.storeName);if(this.localStorage){this.cleanup();this.store.load();if(window.addEventListener){window.addEventListener("storage",Ext.Function.bind(this.onStorageChange,this),false)}else{window.attachEvent("onstorage",Ext.Function.bind(this.onStorageChange,this))}}},onStorageChange:function(b){b=b||window.event;if(b.key===this.store.getProxy().id){this.store.load()}},syncStore:function(){this.localStorage&&this.store.sync()},cleanup:function(){var f=new RegExp("^"+Ext.escapeRe(Docs.localStorageDb+"-settings"));for(var d=0;d<window.localStorage.length;d++){var e=window.localStorage.key(d);if(!f.test(e)){window.localStorage.removeItem(e)}}}});Ext.define("Docs.Syntax",{singleton:true,highlight:function(b){Ext.Array.forEach(Ext.query("pre > code",b.dom||b),function(a){a=Ext.get(a);var d=a.parent();if(Ext.isIE&&d.hasCls("inline-example")){d.removeCls("inline-example")}if(!d.hasCls("inline-example")){a.addCls("prettyprint")}});prettyPrint()}});Ext.define("Ext.form.field.Field",{isFormField:true,disabled:false,submitValue:true,validateOnChange:true,suspendCheckChange:0,initField:function(){this.addEvents("change","validitychange","dirtychange");this.initValue()},initValue:function(){var b=this;b.originalValue=b.lastValue=b.value;b.suspendCheckChange++;b.setValue(b.value);b.suspendCheckChange--},getName:function(){return this.name},getValue:function(){return this.value},setValue:function(c){var d=this;d.value=c;d.checkChange();return d},isEqual:function(c,d){return String(c)===String(d)},isEqualAsString:function(c,d){return String(Ext.value(c,""))===String(Ext.value(d,""))},getSubmitData:function(){var d=this,c=null;if(!d.disabled&&d.submitValue&&!d.isFileUpload()){c={};c[d.getName()]=""+d.getValue()}return c},getModelData:function(){var d=this,c=null;if(!d.disabled&&!d.isFileUpload()){c={};c[d.getName()]=d.getValue()}return c},reset:function(){var b=this;b.setValue(b.originalValue);b.clearInvalid();delete b.wasValid},resetOriginalValue:function(){this.originalValue=this.getValue();this.checkDirty()},checkChange:function(){if(!this.suspendCheckChange){var f=this,d=f.getValue(),e=f.lastValue;if(!f.isEqual(d,e)&&!f.isDestroyed){f.lastValue=d;f.fireEvent("change",f,d,e);f.onChange(d,e)}}},onChange:function(c,d){if(this.validateOnChange){this.validate()}this.checkDirty()},isDirty:function(){var b=this;return !b.disabled&&!b.isEqual(b.getValue(),b.originalValue)},checkDirty:function(){var d=this,c=d.isDirty();if(c!==d.wasDirty){d.fireEvent("dirtychange",d,c);d.onDirtyChange(c);d.wasDirty=c}},onDirtyChange:Ext.emptyFn,getErrors:function(b){return[]},isValid:function(){var b=this;return b.disabled||Ext.isEmpty(b.getErrors())},validate:function(){var d=this,c=d.isValid();if(c!==d.wasValid){d.wasValid=c;d.fireEvent("validitychange",d,c)}return c},batchChanges:function(d){try{this.suspendCheckChange++;d()}catch(c){throw c}finally{this.suspendCheckChange--}this.checkChange()},isFileUpload:function(){return false},extractFileInput:function(){return null},markInvalid:Ext.emptyFn,clearInvalid:Ext.emptyFn});Ext.define("Ext.util.TextMetrics",{statics:{shared:null,measure:function(g,i,h){var f=this,j=f.shared;if(!j){j=f.shared=new f(g,h)}j.bind(g);j.setFixedWidth(h||"auto");return j.getSize(i)},destroy:function(){var b=this;Ext.destroy(b.shared);b.shared=null}},constructor:function(e,f){var d=this.measure=Ext.getBody().createChild({cls:"x-textmetrics"});this.el=Ext.get(e);d.position("absolute");d.setLeftTop(-1000,-1000);d.hide();if(f){d.setWidth(f)}},getSize:function(f){var d=this.measure,e;d.update(f);e=d.getSize();d.update("");return e},bind:function(d){var c=this;c.el=Ext.get(d);c.measure.setStyle(c.el.getStyles("font-size","font-style","font-weight","font-family","line-height","text-transform","letter-spacing"))},setFixedWidth:function(b){this.measure.setWidth(b)},getWidth:function(b){this.measure.dom.style.width="auto";return this.getSize(b).width},getHeight:function(b){return this.getSize(b).height},destroy:function(){var b=this;b.measure.remove();delete b.el;delete b.measure}},function(){Ext.Element.addMethods({getTextWidth:function(f,d,e){return Ext.Number.constrain(Ext.util.TextMetrics.measure(this.dom,Ext.value(f,this.dom.innerHTML,true)).width,d||0,e||1000000)}})});Ext.define("Ext.panel.Proxy",{alternateClassName:"Ext.dd.PanelProxy",constructor:function(d,c){this.panel=d;this.id=this.panel.id+"-ddproxy";Ext.apply(this,c)},insertProxy:true,setStatus:Ext.emptyFn,reset:Ext.emptyFn,update:Ext.emptyFn,stop:Ext.emptyFn,sync:Ext.emptyFn,getEl:function(){return this.ghost.el},getGhost:function(){return this.ghost},getProxy:function(){return this.proxy},hide:function(){if(this.ghost){if(this.proxy){this.proxy.remove();delete this.proxy}this.panel.unghost(null,false);delete this.ghost}},show:function(){if(!this.ghost){var b=this.panel.getSize();this.panel.el.setVisibilityMode(Ext.Element.DISPLAY);this.ghost=this.panel.ghost();if(this.insertProxy){this.proxy=this.panel.el.insertSibling({cls:Ext.baseCSSPrefix+"panel-dd-spacer"});this.proxy.setSize(b)}}},repair:function(d,f,e){this.hide();if(typeof f=="function"){f.call(e||this)}},moveProxy:function(d,c){if(this.proxy){d.insertBefore(this.proxy.dom,c)}}});Ext.define("Ext.Template",{requires:["Ext.DomHelper","Ext.util.Format"],inheritableStatics:{from:function(c,d){c=Ext.getDom(c);return new this(c.value||c.innerHTML,d||"")}},constructor:function(m){var k=this,h=arguments,i=[],n=0,l=h.length,j;k.initialConfig={};if(l>1){for(;n<l;n++){j=h[n];if(typeof j=="object"){Ext.apply(k.initialConfig,j);Ext.apply(k,j)}else{i.push(j)}}m=i.join("")}else{if(Ext.isArray(m)){i.push(m.join(""))}else{i.push(m)}}k.html=i.join("");if(k.compiled){k.compile()}},isTemplate:true,disableFormats:false,re:/\{([\w\-]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?\}/g,applyTemplate:function(h){var i=this,l=i.disableFormats!==true,j=Ext.util.Format,g=i;if(i.compiled){return i.compiled(h)}function k(d,b,a,c){if(a&&l){if(c){c=[h[b]].concat(Ext.functionFactory("return ["+c+"];")())}else{c=[h[b]]}if(a.substr(0,5)=="this."){return g[a.substr(5)].apply(g,c)}else{return j[a].apply(j,c)}}else{return h[b]!==undefined?h[b]:""}}return i.html.replace(i.re,k)},set:function(e,f){var d=this;d.html=e;d.compiled=null;return f?d.compile():d},compileARe:/\\/g,compileBRe:/(\r\n|\n)/g,compileCRe:/'/g,compile:function(){var me=this,fm=Ext.util.Format,useFormat=me.disableFormats!==true,body,bodyReturn;function fn(m,name,format,args){if(format&&useFormat){args=args?","+args:"";if(format.substr(0,5)!="this."){format="fm."+format+"("}else{format="this."+format.substr(5)+"("}}else{args="";format="(values['"+name+"'] == undefined ? '' : "}return"',"+format+"values['"+name+"']"+args+") ,'"}bodyReturn=me.html.replace(me.compileARe,"\\\\").replace(me.compileBRe,"\\n").replace(me.compileCRe,"\\'").replace(me.re,fn);body="this.compiled = function(values){ return ['"+bodyReturn+"'].join('');};";eval(body);return me},insertFirst:function(d,e,f){return this.doInsert("afterBegin",d,e,f)},insertBefore:function(d,e,f){return this.doInsert("beforeBegin",d,e,f)},insertAfter:function(d,e,f){return this.doInsert("afterEnd",d,e,f)},append:function(d,e,f){return this.doInsert("beforeEnd",d,e,f)},doInsert:function(j,h,f,g){h=Ext.getDom(h);var i=Ext.DomHelper.insertHtml(j,h,this.applyTemplate(f));return g?Ext.get(i,true):i},overwrite:function(d,e,f){d=Ext.getDom(d);d.innerHTML=this.applyTemplate(e);return f?Ext.get(d.firstChild,true):d.firstChild}},function(){this.createAlias("apply","applyTemplate")});Ext.define("Ext.ComponentQuery",{singleton:true,uses:["Ext.ComponentManager"]},function(){var t=this,q=["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(""),v=function(a,b){return b.method.apply(this,[a].concat(b.args))},z=function(e,a){var g=[],d=0,b=e.length,c,f=a!==">";for(;d<b;d++){c=e[d];if(c.getRefItems){g=g.concat(c.getRefItems(f))}}return g},u=function(d){var e=[],c=0,a=d.length,b;for(;c<a;c++){b=d[c];while(!!(b=(b.ownerCt||b.floatParent))){e.push(b)}}return e},o=function(f,a,b){if(a==="*"){return f.slice()}else{var g=[],e=0,c=f.length,d;for(;e<c;e++){d=f[e];if(d.isXType(a,b)){g.push(d)}}return g}},r=function(f,c){var a=Ext.Array,g=[],e=0,b=f.length,d;for(;e<b;e++){d=f[e];if(d.el?d.el.hasCls(c):a.contains(d.initCls(),c)){g.push(d)}}return g},n=function(f,a,g,b){var h=[],e=0,c=f.length,d;for(;e<c;e++){d=f[e];if(!b?!!d[a]:(String(d[a])===b)){h.push(d)}}return h},w=function(e,a){var f=[],d=0,b=e.length,c;for(;d<b;d++){c=e[d];if(c.getItemId()===a){f.push(c)}}return f},p=function(c,b,a){return t.pseudos[b](c,a)},s=/^(\s?([>\^])\s?|\s|$)/,x=/^(#)?([\w\-]+|\*)(?:\((true|false)\))?/,y=[{re:/^\.([\w\-]+)(?:\((true|false)\))?/,method:o},{re:/^(?:[\[](?:@)?([\w\-]+)\s?(?:(=|.=)\s?['"]?(.*?)["']?)?[\]])/,method:n},{re:/^#([\w\-]+)/,method:w},{re:/^\:([\w\-]+)(?:\(((?:\{[^\}]+\})|(?:(?!\{)[^\s>\/]*?(?!\})))\))?/,method:p},{re:/^(?:\{([^\}]+)\})/,method:q}];t.Query=Ext.extend(Object,{constructor:function(a){a=a||{};Ext.apply(this,a)},execute:function(e){var c=this.operations,b=0,a=c.length,d,f;if(!e){f=Ext.ComponentManager.all.getArray()}else{if(Ext.isArray(e)){f=e}}for(;b<a;b++){d=c[b];if(d.mode==="^"){f=u(f||[e])}else{if(d.mode){f=z(f||[e],d.mode)}else{f=v(f||z([e]),d)}}if(b===a-1){return f}}return[]},is:function(e){var f=this.operations,b=Ext.isArray(e)?e:[e],g=b.length,a=f[f.length-1],c,d;b=v(b,a);if(b.length===g){if(f.length>1){for(d=0,c=b.length;d<c;d++){if(Ext.Array.indexOf(this.execute(),b[d])===-1){return false}}}return true}return false}});Ext.apply(this,{cache:{},pseudos:{not:function(b,h){var a=Ext.ComponentQuery,d=0,c=b.length,e=[],f=-1,g;for(;d<c;++d){g=b[d];if(!a.is(g,h)){e[++f]=g}}return e},last:function(a){return a[a.length-1]}},query:function(d,h){var g=d.split(","),e=g.length,c=0,b=[],f=[],i={},k,a,j;for(;c<e;c++){d=Ext.String.trim(g[c]);k=this.cache[d];if(!k){this.cache[d]=k=this.parse(d)}b=b.concat(k.execute(h))}if(e>1){a=b.length;for(c=0;c<a;c++){j=b[c];if(!i[j.id]){f.push(j);i[j.id]=true}}b=f}return b},is:function(b,c){if(!c){return true}var a=this.cache[c];if(!a){this.cache[c]=a=this.parse(c)}return a.is(b)},parse:function(b){var d=[],c=y.length,i,a,h,g,f,k,j,e;while(b&&i!==b){i=b;a=b.match(x);if(a){h=a[1];if(h==="#"){d.push({method:w,args:[Ext.String.trim(a[2])]})}else{if(h==="."){d.push({method:r,args:[Ext.String.trim(a[2])]})}else{d.push({method:o,args:[Ext.String.trim(a[2]),Boolean(a[3])]})}}b=b.replace(a[0],"")}while(!(g=b.match(s))){for(k=0;b&&k<c;k++){j=y[k];f=b.match(j.re);e=j.method;if(f){d.push({method:Ext.isString(j.method)?Ext.functionFactory("items",Ext.String.format.apply(Ext.String,[e].concat(f.slice(1)))):j.method,args:f.slice(1)});b=b.replace(f[0],"");break}if(k===(c-1)){Ext.Error.raise('Invalid ComponentQuery selector: "'+arguments[0]+'"')}}}if(g[1]){d.push({mode:g[2]||g[1]});b=b.replace(g[0],"")}}return new t.Query({operations:d})}})});Ext.define("Ext.util.HashMap",{mixins:{observable:"Ext.util.Observable"},constructor:function(e){e=e||{};var f=this,d=e.keyFn;f.addEvents("add","clear","remove","replace");f.mixins.observable.constructor.call(f,e);f.clear(true);if(d){f.getKey=d}},getCount:function(){return this.length},getData:function(d,c){if(c===undefined){c=d;d=this.getKey(c)}return[d,c]},getKey:function(b){return b.id},add:function(f,g){var e=this,h;if(arguments.length===1){g=f;f=e.getKey(g)}if(e.containsKey(f)){return e.replace(f,g)}h=e.getData(f,g);f=h[0];g=h[1];e.map[f]=g;++e.length;e.fireEvent("add",e,f,g);return g},replace:function(f,i){var j=this,h=j.map,g;if(!j.containsKey(f)){j.add(f,i)}g=h[f];h[f]=i;j.fireEvent("replace",j,f,i,g);return i},remove:function(c){var d=this.findKey(c);if(d!==undefined){return this.removeAtKey(d)}return false},removeAtKey:function(e){var d=this,f;if(d.containsKey(e)){f=d.map[e];delete d.map[e];--d.length;d.fireEvent("remove",d,e,f);return true}return false},get:function(b){return this.map[b]},clear:function(d){var c=this;c.map={};c.length=0;if(d!==true){c.fireEvent("clear",c)}return c},containsKey:function(b){return this.map[b]!==undefined},contains:function(b){return this.containsKey(this.findKey(b))},getKeys:function(){return this.getArray(true)},getValues:function(){return this.getArray(false)},getArray:function(g){var f=[],e,h=this.map;for(e in h){if(h.hasOwnProperty(e)){f.push(g?e:h[e])}}return f},each:function(i,j){var g=Ext.apply({},this.map),f,h=this.length;j=j||this;for(f in g){if(g.hasOwnProperty(f)){if(i.call(j,f,g[f],h)===false){break}}}return this},clone:function(){var f=new this.self(),d=this.map,e;f.suspendEvents();for(e in d){if(d.hasOwnProperty(e)){f.add(e,d[e])}}f.resumeEvents();return f},findKey:function(d){var e,f=this.map;for(e in f){if(f.hasOwnProperty(e)&&f[e]===d){return e}}return undefined}});Ext.define("Ext.layout.Layout",{isLayout:true,initialized:false,statics:{create:function(d,f){var e;if(d instanceof Ext.layout.Layout){return Ext.createByAlias("layout."+d)}else{if(!d||typeof d==="string"){e=d||f;d={}}else{e=d.type||f}return Ext.createByAlias("layout."+e,d||{})}}},constructor:function(b){this.id=Ext.id(null,this.type+"-");Ext.apply(this,b)},layout:function(){var b=this;b.layoutBusy=true;b.initLayout();if(b.beforeLayout.apply(b,arguments)!==false){b.layoutCancelled=false;b.onLayout.apply(b,arguments);b.childrenChanged=false;b.owner.needsLayout=false;b.layoutBusy=false;b.afterLayout.apply(b,arguments)}else{b.layoutCancelled=true}b.layoutBusy=false;b.doOwnerCtLayouts()},beforeLayout:function(){this.renderChildren();return true},renderChildren:function(){this.renderItems(this.getLayoutItems(),this.getRenderTarget())},renderItems:function(h,i){var j=this,k=h.length,g=0,l;for(;g<k;g++){l=h[g];if(l&&!l.rendered){j.renderItem(l,i,g)}else{if(!j.isValidParent(l,i,g)){j.moveItem(l,i,g)}else{j.configureItem(l)}}}},isValidParent:function(e,h,f){var g=e.el?e.el.dom:Ext.getDom(e);if(g&&h&&h.dom){if(Ext.isNumber(f)&&g!==h.dom.childNodes[f]){return false}return(g.parentNode==(h.dom||h))}return false},renderItem:function(h,g,f){var e=this;if(!h.rendered){if(e.itemCls){h.addCls(e.itemCls)}if(e.owner.itemCls){h.addCls(e.owner.itemCls)}h.render(g,f);e.configureItem(h);e.childrenChanged=true}},moveItem:function(d,f,e){f=f.dom||f;if(typeof e=="number"){e=f.childNodes[e]}f.insertBefore(d.el.dom,e||null);d.container=Ext.get(f);this.configureItem(d);this.childrenChanged=true},initLayout:function(){var d=this,c=d.targetCls;if(!d.initialized&&!Ext.isEmpty(c)){d.getTarget().addCls(c)}d.initialized=true},setOwner:function(b){this.owner=b},getLayoutItems:function(){return[]},configureItem:Ext.emptyFn,onLayout:Ext.emptyFn,afterLayout:Ext.emptyFn,onRemove:Ext.emptyFn,onDestroy:Ext.emptyFn,doOwnerCtLayouts:Ext.emptyFn,afterRemove:function(j){var f=j.el,g=this.owner,h=this.itemCls,i=g.itemCls;if(j.rendered&&!j.isDestroyed){if(h){f.removeCls(h)}if(i){f.removeCls(i)}}delete j.layoutManagedWidth;delete j.layoutManagedHeight},destroy:function(){var c=this.targetCls,d;if(!Ext.isEmpty(c)){d=this.getTarget();if(d){d.removeCls(c)}}this.onDestroy()}});Ext.define("Ext.ZIndexManager",{alternateClassName:"Ext.WindowGroup",statics:{zBase:9000},constructor:function(d){var c=this;c.list={};c.zIndexStack=[];c.front=null;if(d){if(d.isContainer){d.on("resize",c._onContainerResize,c);c.zseed=Ext.Number.from(d.getEl().getStyle("zIndex"),c.getNextZSeed());c.targetEl=d.getTargetEl();c.container=d}else{Ext.EventManager.onWindowResize(c._onContainerResize,c);c.zseed=c.getNextZSeed();c.targetEl=Ext.get(d)}}else{Ext.EventManager.onWindowResize(c._onContainerResize,c);c.zseed=c.getNextZSeed();Ext.onDocumentReady(function(){c.targetEl=Ext.getBody()})}},getNextZSeed:function(){return(Ext.ZIndexManager.zBase+=10000)},setBase:function(b){this.zseed=b;return this.assignZIndices()},assignZIndices:function(){var j=this.zIndexStack,a=j.length,h=0,g=this.zseed,i;for(;h<a;h++){i=j[h];if(i&&!i.hidden){g=i.setZIndex(g)}}this._activateLast();return g},_setActiveChild:function(b){if(b!==this.front){if(this.front){this.front.setActive(false,b)}this.front=b;if(b){b.setActive(true);if(b.modal){this._showModalMask(b)}}}},_activateLast:function(f){var e,g=false,h;for(h=this.zIndexStack.length-1;h>=0;--h){e=this.zIndexStack[h];if(!e.hidden){if(!g){this._setActiveChild(e);g=true}if(e.modal){this._showModalMask(e);return}}}this._hideModalMask();if(!g){this._setActiveChild(null)}},_showModalMask:function(f){var g=f.el.getStyle("zIndex")-4,e=f.floatParent?f.floatParent.getTargetEl():Ext.get(f.getEl().dom.parentNode),h=e.getBox();if(!this.mask){this.mask=Ext.getBody().createChild({cls:Ext.baseCSSPrefix+"mask"});this.mask.setVisibilityMode(Ext.Element.DISPLAY);this.mask.on("click",this._onMaskClick,this)}if(e.dom===document.body){h.height=Ext.Element.getViewHeight()}e.addCls(Ext.baseCSSPrefix+"body-masked");this.mask.setBox(h);this.mask.setStyle("zIndex",g);this.mask.show()},_hideModalMask:function(){if(this.mask&&this.mask.dom.parentNode){Ext.get(this.mask.dom.parentNode).removeCls(Ext.baseCSSPrefix+"body-masked");this.mask.hide()}},_onMaskClick:function(){if(this.front){this.front.focus()}},_onContainerResize:function(){if(this.mask&&this.mask.isVisible()){this.mask.setSize(Ext.get(this.mask.dom.parentNode).getViewSize(true))}},register:function(b){if(b.zIndexManager){b.zIndexManager.unregister(b)}b.zIndexManager=this;this.list[b.id]=b;this.zIndexStack.push(b);b.on("hide",this._activateLast,this)},unregister:function(b){delete b.zIndexManager;if(this.list&&this.list[b.id]){delete this.list[b.id];b.un("hide",this._activateLast);Ext.Array.remove(this.zIndexStack,b);this._activateLast(b)}},get:function(b){return typeof b=="object"?b:this.list[b]},bringToFront:function(b){b=this.get(b);if(b!==this.front){Ext.Array.remove(this.zIndexStack,b);this.zIndexStack.push(b);this.assignZIndices();return true}if(b.modal){this._showModalMask(b)}return false},sendToBack:function(b){b=this.get(b);Ext.Array.remove(this.zIndexStack,b);this.zIndexStack.unshift(b);this.assignZIndices();return b},hideAll:function(){for(var b in this.list){if(this.list[b].isComponent&&this.list[b].isVisible()){this.list[b].hide()}}},hide:function(){var d=0,f=this.zIndexStack.length,e;this.tempHidden=[];for(;d<f;d++){e=this.zIndexStack[d];if(e.isVisible()){this.tempHidden.push(e);e.hide()}}},show:function(){var j=0,i=this.tempHidden.length,f,g,h;for(;j<i;j++){f=this.tempHidden[j];g=f.x;h=f.y;f.show();f.setPosition(g,h)}delete this.tempHidden},getActive:function(){return this.front},getBy:function(j,k){var i=[],l=0,h=this.zIndexStack.length,g;for(;l<h;l++){g=this.zIndexStack[l];if(j.call(k||g,g)!==false){i.push(g)}}return i},each:function(h,e){var f;for(var g in this.list){f=this.list[g];if(f.isComponent&&h.call(e||f,f)===false){return}}},eachBottomUp:function(j,k){var g,h=this.zIndexStack,l,i;for(l=0,i=h.length;l<i;l++){g=h[l];if(g.isComponent&&j.call(k||g,g)===false){return}}},eachTopDown:function(h,i){var f,g=this.zIndexStack,j;for(j=g.length;j-->0;){f=g[j];if(f.isComponent&&h.call(i||f,f)===false){return}}},destroy:function(){this.each(function(b){b.destroy()});delete this.zIndexStack;delete this.list;delete this.container;delete this.targetEl}},function(){Ext.WindowManager=Ext.WindowMgr=new this()});Ext.define("Ext.fx.Queue",{requires:["Ext.util.HashMap"],constructor:function(){this.targets=Ext.create("Ext.util.HashMap");this.fxQueue={}},getFxDefaults:function(d){var c=this.targets.get(d);if(c){return c.fxDefaults}return{}},setFxDefaults:function(e,f){var d=this.targets.get(e);if(d){d.fxDefaults=Ext.apply(d.fxDefaults||{},f)}},stopAnimation:function(e){var g=this,f=g.getFxQueue(e),h=f.length;while(h){f[h-1].end();h--}},getActiveAnimation:function(c){var d=this.getFxQueue(c);return(d&&!!d.length)?d[0]:false},hasFxBlock:function(c){var d=this.getFxQueue(c);return d&&d[0]&&d[0].block},getFxQueue:function(e){if(!e){return false}var h=this,f=h.fxQueue[e],g=h.targets.get(e);if(!g){return false}if(!f){h.fxQueue[e]=[];if(g.type!="element"){g.target.on("destroy",function(){h.fxQueue[e]=[]})}}return h.fxQueue[e]},queueFx:function(i){var j=this,h=i.target,g,f;if(!h){return}g=j.getFxQueue(h.getId());f=g.length;if(f){if(i.concurrent){i.paused=false}else{g[f-1].on("afteranimate",function(){i.paused=false})}}else{i.paused=false}i.on("afteranimate",function(){Ext.Array.remove(g,i);if(i.remove){if(h.type=="element"){var a=Ext.get(h.id);if(a){a.remove()}}}},this);g.push(i)}});Ext.define("Ext.util.Sorter",{direction:"ASC",constructor:function(d){var c=this;Ext.apply(c,d);if(c.property===undefined&&c.sorterFn===undefined){Ext.Error.raise("A Sorter requires either a property or a sorter function")}c.updateSortFunction()},createSortFunction:function(f){var j=this,i=j.property,h=j.direction||"ASC",g=h.toUpperCase()=="DESC"?-1:1;return function(a,b){return g*f.call(j,a,b)}},defaultSorterFn:function(k,l){var g=this,h=g.transform,i=g.getRoot(k)[g.property],j=g.getRoot(l)[g.property];if(h){i=h(i);j=h(j)}return i>j?1:(i<j?-1:0)},getRoot:function(b){return this.root===undefined?b:b[this.root]},setDirection:function(c){var d=this;d.direction=c;d.updateSortFunction()},toggle:function(){var b=this;b.direction=Ext.String.toggle(b.direction,"ASC","DESC");b.updateSortFunction()},updateSortFunction:function(d){var c=this;d=d||c.sorterFn||c.defaultSorterFn;c.sort=c.createSortFunction(d)}});Ext.define("Ext.util.AbstractMixedCollection",{requires:["Ext.util.Filter"],mixins:{observable:"Ext.util.Observable"},constructor:function(d,e){var f=this;f.items=[];f.map={};f.keys=[];f.length=0;f.addEvents("clear","add","replace","remove");f.allowFunctions=d===true;if(e){f.getKey=e}f.mixins.observable.constructor.call(f)},allowFunctions:false,add:function(g,j){var k=this,i=j,l=g,h;if(arguments.length==1){i=l;l=k.getKey(i)}if(typeof l!="undefined"&&l!==null){h=k.map[l];if(typeof h!="undefined"){return k.replace(l,i)}k.map[l]=i}k.length++;k.items.push(i);k.keys.push(l);k.fireEvent("add",k.length-1,i,l);return i},getKey:function(b){return b.id},replace:function(j,h){var i=this,g,f;if(arguments.length==1){h=arguments[0];j=i.getKey(h)}g=i.map[j];if(typeof j=="undefined"||j===null||typeof g=="undefined"){return i.add(j,h)}f=i.indexOfKey(j);i.items[f]=h;i.map[j]=h;i.fireEvent("replace",j,g,h);return h},addAll:function(i){var j=this,k=0,g,h,l;if(arguments.length>1||Ext.isArray(i)){g=arguments.length>1?arguments:i;for(h=g.length;k<h;k++){j.add(g[k])}}else{for(l in i){if(i.hasOwnProperty(l)){if(j.allowFunctions||typeof i[l]!="function"){j.add(l,i[l])}}}}},each:function(j,k){var g=[].concat(this.items),l=0,h=g.length,i;for(;l<h;l++){i=g[l];if(j.call(k||i,i,l,h)===false){break}}},eachKey:function(j,k){var i=this.keys,g=this.items,l=0,h=i.length;for(;l<h;l++){j.call(k||window,i[l],g[l],l,h)}},findBy:function(j,k){var i=this.keys,g=this.items,l=0,h=g.length;for(;l<h;l++){if(j.call(k||window,g[l],i[l])){return g[l]}}return null},find:function(){if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn("Ext.util.MixedCollection: find has been deprecated. Use findBy instead.")}return this.findBy.apply(this,arguments)},insert:function(h,g,j){var k=this,l=g,i=j;if(arguments.length==2){i=l;l=k.getKey(i)}if(k.containsKey(l)){k.suspendEvents();k.removeAtKey(l);k.resumeEvents()}if(h>=k.length){return k.add(l,i)}k.length++;Ext.Array.splice(k.items,h,0,i);if(typeof l!="undefined"&&l!==null){k.map[l]=i}Ext.Array.splice(k.keys,h,0,l);k.fireEvent("add",h,i,l);return i},remove:function(b){return this.removeAt(this.indexOf(b))},removeAll:function(b){Ext.each(b||[],function(a){this.remove(a)},this);return this},removeAt:function(f){var h=this,g,e;if(f<h.length&&f>=0){h.length--;g=h.items[f];Ext.Array.erase(h.items,f,1);e=h.keys[f];if(typeof e!="undefined"){delete h.map[e]}Ext.Array.erase(h.keys,f,1);h.fireEvent("remove",g,e);return g}return false},removeAtKey:function(b){return this.removeAt(this.indexOfKey(b))},getCount:function(){return this.length},indexOf:function(b){return Ext.Array.indexOf(this.items,b)},indexOfKey:function(b){return Ext.Array.indexOf(this.keys,b)},get:function(e){var g=this,f=g.map[e],h=f!==undefined?f:(typeof e=="number")?g.items[e]:undefined;return typeof h!="function"||g.allowFunctions?h:null},getAt:function(b){return this.items[b]},getByKey:function(b){return this.map[b]},contains:function(b){return Ext.Array.contains(this.items,b)},containsKey:function(b){return typeof this.map[b]!="undefined"},clear:function(){var b=this;b.length=0;b.items=[];b.keys=[];b.map={};b.fireEvent("clear")},first:function(){return this.items[0]},last:function(){return this.items[this.length-1]},sum:function(l,i,k,j){var p=this.extractValues(l,i),m=p.length,n=0,o;k=k||0;j=(j||j===0)?j:m-1;for(o=k;o<=j;o++){n+=p[o]}return n},collect:function(l,p,n){var i=this.extractValues(l,p),t=i.length,s={},r=[],m,o,q;for(q=0;q<t;q++){m=i[q];o=String(m);if((n||!Ext.isEmpty(m))&&!s[o]){s[o]=true;r.push(m)}}return r},extractValues:function(f,e){var d=this.items;if(e){d=Ext.Array.pluck(d,e)}return Ext.Array.pluck(d,f)},getRange:function(i,h){var j=this,l=j.items,g=[],k;if(l.length<1){return g}i=i||0;h=Math.min(typeof h=="undefined"?j.length-1:h,j.length-1);if(i<=h){for(k=i;k<=h;k++){g[g.length]=l[k]}}else{for(k=i;k>=h;k--){g[g.length]=l[k]}}return g},filter:function(k,l,i,h){var g=[],j;if(Ext.isString(k)){g.push(Ext.create("Ext.util.Filter",{property:k,value:l,anyMatch:i,caseSensitive:h}))}else{if(Ext.isArray(k)||k instanceof Ext.util.Filter){g=g.concat(k)}}j=function(f){var a=true,o=g.length,e;for(e=0;e<o;e++){var b=g[e],c=b.filterFn,d=b.scope;a=a&&c.call(d,f)}return a};return this.filterBy(j)},filterBy:function(n,o){var k=this,j=new this.self(),l=k.keys,i=k.items,m=i.length,p;j.getKey=k.getKey;for(p=0;p<m;p++){if(n.call(o||k,i[p],l[p])){j.add(l[p],i[p])}}return j},findIndex:function(j,f,h,i,g){if(Ext.isEmpty(f,false)){return -1}f=this.createValueMatcher(f,i,g);return this.findIndexBy(function(a){return a&&f.test(a[j])},null,h)},findIndexBy:function(n,o,k){var l=this,m=l.keys,i=l.items,p=k||0,j=i.length;for(;p<j;p++){if(n.call(o||l,i[p],m[p])){return p}}return -1},createValueMatcher:function(j,h,g,f){if(!j.exec){var i=Ext.String.escapeRegex;j=String(j);if(h===true){j=i(j)}else{j="^"+i(j);if(f===true){j+="$"}}j=new RegExp(j,g?"":"i")}return j},clone:function(){var j=this,i=new this.self(),k=j.keys,g=j.items,l=0,h=g.length;for(;l<h;l++){i.add(k[l],g[l])}i.getKey=j.getKey;return i}});Ext.define("Ext.data.SortTypes",{singleton:true,none:function(b){return b},stripTagsRE:/<\/?[^>]+>/gi,asText:function(b){return String(b).replace(this.stripTagsRE,"")},asUCText:function(b){return String(b).toUpperCase().replace(this.stripTagsRE,"")},asUCString:function(b){return String(b).toUpperCase()},asDate:function(b){if(!b){return 0}if(Ext.isDate(b)){return b.getTime()}return Date.parse(String(b))},asFloat:function(d){var c=parseFloat(String(d).replace(/,/g,""));return isNaN(c)?0:c},asInt:function(d){var c=parseInt(String(d).replace(/,/g,""),10);return isNaN(c)?0:c}});Ext.define("Ext.util.Grouper",{extend:"Ext.util.Sorter",getGroupString:function(b){return b.get(this.property)}});Ext.define("Ext.util.Animate",{uses:["Ext.fx.Manager","Ext.fx.Anim"],animate:function(d){var c=this;if(Ext.fx.Manager.hasFxBlock(c.id)){return c}Ext.fx.Manager.queueFx(Ext.create("Ext.fx.Anim",c.anim(d)));return this},anim:function(d){if(!Ext.isObject(d)){return(d)?{}:false}var c=this;if(d.stopAnimation){c.stopAnimation()}Ext.applyIf(d,Ext.fx.Manager.getFxDefaults(c.id));return Ext.apply({target:c,paused:true},d)},stopFx:Ext.Function.alias(Ext.util.Animate,"stopAnimation"),stopAnimation:function(){Ext.fx.Manager.stopAnimation(this.id);return this},syncFx:function(){Ext.fx.Manager.setFxDefaults(this.id,{concurrent:true});return this},sequenceFx:function(){Ext.fx.Manager.setFxDefaults(this.id,{concurrent:false});return this},hasActiveFx:Ext.Function.alias(Ext.util.Animate,"getActiveAnimation"),getActiveAnimation:function(){return Ext.fx.Manager.getActiveAnimation(this.id)}},function(){Ext.applyIf(Ext.Element.prototype,this.prototype);Ext.CompositeElementLite.importElementMethods()});Ext.define("Ext.AbstractManager",{requires:["Ext.util.HashMap"],typeName:"type",constructor:function(b){Ext.apply(this,b||{});this.all=Ext.create("Ext.util.HashMap");this.types={}},get:function(b){return this.all.get(b)},register:function(f){var d=this.all,e=d.getKey(f);if(d.containsKey(e)){Ext.Error.raise('Registering duplicate id "'+e+'" with this manager')}this.all.add(f)},unregister:function(b){this.all.remove(b)},registerType:function(c,d){this.types[c]=d;d[this.typeName]=c},isRegistered:function(b){return this.types[b]!==undefined},create:function(f,g){var e=f[this.typeName]||f.type||g,h=this.types[e];if(h===undefined){Ext.Error.raise("The '"+e+"' type has not been registered with this manager")}return new h(f)},onAvailable:function(h,j,f){var g=this.all,i;if(g.containsKey(h)){i=g.get(h);j.call(f||i,i)}else{g.on("add",function(a,c,b){if(c==h){j.call(f||b,b);g.un("add",j,f)}})}},each:function(c,d){this.all.each(c,d||this)},getCount:function(){return this.all.getCount()}});Ext.define("Ext.data.Association",{primaryKey:"id",defaultReaderType:"json",statics:{create:function(b){if(!b.isAssociation){if(Ext.isString(b)){b={type:b}}switch(b.type){case"belongsTo":return Ext.create("Ext.data.BelongsToAssociation",b);case"hasMany":return Ext.create("Ext.data.HasManyAssociation",b);default:Ext.Error.raise('Unknown Association type: "'+b.type+'"')}}return b}},constructor:function(h){Ext.apply(this,h);var n=Ext.ModelManager.types,m=h.ownerModel,k=h.associatedModel,l=n[m],j=n[k],i;if(l===undefined){Ext.Error.raise("The configured ownerModel was not valid (you tried "+m+")")}if(j===undefined){Ext.Error.raise("The configured associatedModel was not valid (you tried "+k+")")}this.ownerModel=l;this.associatedModel=j;Ext.applyIf(this,{ownerName:m,associatedName:k})},getReader:function(){var f=this,e=f.reader,d=f.associatedModel;if(e){if(Ext.isString(e)){e={type:e}}if(e.isReader){e.setModel(d)}else{Ext.applyIf(e,{model:d,type:f.defaultReaderType})}f.reader=Ext.createByAlias("reader."+e.type,e)}return f.reader||null}});Ext.define("Ext.data.IdGenerator",{isGenerator:true,constructor:function(d){var c=this;Ext.apply(c,d);if(c.id){Ext.data.IdGenerator.all[c.id]=c}},getRecId:function(b){return b.modelName+"-"+b.internalId},statics:{all:{},get:function(f){var h,g,e;if(typeof f=="string"){g=e=f;f=null}else{if(f.isGenerator){return f}else{g=f.id||f.type;e=f.type}}h=this.all[g];if(!h){h=Ext.create("idgen."+e,f)}return h}}});Ext.define("Ext.data.validations",{singleton:true,presenceMessage:"must be present",lengthMessage:"is the wrong length",formatMessage:"is the wrong format",inclusionMessage:"is not included in the list of acceptable values",exclusionMessage:"is not an acceptable value",emailMessage:"is not a valid email address",emailRe:/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/,presence:function(d,c){if(c===undefined){c=d}return !!c||c===0},length:function(f,h){if(h===undefined||h===null){return false}var i=h.length,j=f.min,g=f.max;if((j&&i<j)||(g&&i>g)){return false}else{return true}},email:function(c,d){return Ext.data.validations.emailRe.test(d)},format:function(d,c){return !!(d.matcher&&d.matcher.test(c))},inclusion:function(d,c){return d.list&&Ext.Array.indexOf(d.list,c)!=-1},exclusion:function(d,c){return d.list&&Ext.Array.indexOf(d.list,c)==-1}});Ext.define("Docs.view.cls.Logic",{showPrivateClasses:false,constructor:function(b){Ext.apply(this,b)}});Ext.define("Ext.dd.StatusProxy",{animRepair:false,constructor:function(b){Ext.apply(this,b);this.id=this.id||Ext.id();this.proxy=Ext.createWidget("component",{floating:true,stateful:false,id:this.id,html:'<div class="'+Ext.baseCSSPrefix+'dd-drop-icon"></div><div class="'+Ext.baseCSSPrefix+'dd-drag-ghost"></div>',cls:Ext.baseCSSPrefix+"dd-drag-proxy "+this.dropNotAllowed,shadow:!b||b.shadow!==false,renderTo:document.body});this.el=this.proxy.el;this.el.show();this.el.setVisibilityMode(Ext.Element.VISIBILITY);this.el.hide();this.ghost=Ext.get(this.el.dom.childNodes[1]);this.dropStatus=this.dropNotAllowed},dropAllowed:Ext.baseCSSPrefix+"dd-drop-ok",dropNotAllowed:Ext.baseCSSPrefix+"dd-drop-nodrop",setStatus:function(b){b=b||this.dropNotAllowed;if(this.dropStatus!=b){this.el.replaceCls(this.dropStatus,b);this.dropStatus=b}},reset:function(b){this.el.dom.className=Ext.baseCSSPrefix+"dd-drag-proxy "+this.dropNotAllowed;this.dropStatus=this.dropNotAllowed;if(b){this.ghost.update("")}},update:function(d){if(typeof d=="string"){this.ghost.update(d)}else{this.ghost.update("");d.style.margin="0";this.ghost.dom.appendChild(d)}var c=this.ghost.dom.firstChild;if(c){Ext.fly(c).setStyle("float","none")}},getEl:function(){return this.el},getGhost:function(){return this.ghost},hide:function(b){this.proxy.hide();if(b){this.reset(true)}},stop:function(){if(this.anim&&this.anim.isAnimated&&this.anim.isAnimated()){this.anim.stop()}},show:function(){this.proxy.show();this.proxy.toFront()},sync:function(){this.proxy.el.sync()},repair:function(d,f,e){this.callback=f;this.scope=e;if(d&&this.animRepair!==false){this.el.addCls(Ext.baseCSSPrefix+"dd-drag-repair");this.el.hideUnders(true);this.anim=this.el.animate({duration:this.repairDuration||500,easing:"ease-out",to:{x:d[0],y:d[1]},stopAnimation:true,callback:this.afterRepair,scope:this})}else{this.afterRepair()}},afterRepair:function(){this.hide(true);if(typeof this.callback=="function"){this.callback.call(this.scope||this)}this.callback=null;this.scope=null},destroy:function(){Ext.destroy(this.ghost,this.proxy,this.el)}});Ext.define("Ext.fx.target.Target",{isAnimTarget:true,constructor:function(b){this.target=b;this.id=this.getId()},getId:function(){return this.target.id}});Ext.define("Ext.draw.Color",{colorToHexRe:/(.*?)rgb\((\d+),\s*(\d+),\s*(\d+)\)/,rgbRe:/\s*rgb\s*\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\s*\)\s*/,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*/,lightnessFactor:0.2,constructor:function(i,j,g){var f=this,h=Ext.Number.constrain;f.r=h(i,0,255);f.g=h(j,0,255);f.b=h(g,0,255)},getRed:function(){return this.r},getGreen:function(){return this.g},getBlue:function(){return this.b},getRGB:function(){var b=this;return[b.r,b.g,b.b]},getHSL:function(){var o=this,t=o.r/255,p=o.g/255,l=o.b/255,h=Math.max(t,p,l),r=Math.min(t,p,l),g=h-r,q,b=0,s=0.5*(h+r);if(r!=h){b=(s<0.5)?g/(h+r):g/(2-h-r);if(t==h){q=60*(p-l)/g}else{if(p==h){q=120+60*(l-t)/g}else{q=240+60*(t-p)/g}}if(q<0){q+=360}if(q>=360){q-=360}}return[q,b,s]},getLighter:function(c){var d=this.getHSL();c=c||this.lightnessFactor;d[2]=Ext.Number.constrain(d[2]+c,0,1);return this.fromHSL(d[0],d[1],d[2])},getDarker:function(b){b=b||this.lightnessFactor;return this.getLighter(-b)},toString:function(){var g=this,j=Math.round,h=j(g.r).toString(16),i=j(g.g).toString(16),b=j(g.b).toString(16);h=(h.length==1)?"0"+h:h;i=(i.length==1)?"0"+i:i;b=(b.length==1)?"0"+b:b;return["#",h,i,b].join("")},toHex:function(g){if(Ext.isArray(g)){g=g[0]}if(!Ext.isString(g)){return""}if(g.substr(0,1)==="#"){return g}var j=this.colorToHexRe.exec(g);if(Ext.isArray(j)){var i=parseInt(j[2],10),k=parseInt(j[3],10),h=parseInt(j[4],10),l=h|(k<<8)|(i<<16);return j[1]+"#"+("000000"+l.toString(16)).slice(-6)}else{return""}},fromString:function(g){var l,j,k,b,i=parseInt;if((g.length==4||g.length==7)&&g.substr(0,1)==="#"){l=g.match(this.hexRe);if(l){j=i(l[1],16)>>0;k=i(l[2],16)>>0;b=i(l[3],16)>>0;if(g.length==4){j+=(j*16);k+=(k*16);b+=(b*16)}}}else{l=g.match(this.rgbRe);if(l){j=l[1];k=l[2];b=l[3]}}return(typeof j=="undefined")?undefined:Ext.create("Ext.draw.Color",j,k,b)},getGrayscale:function(){return this.r*0.3+this.g*0.59+this.b*0.11},fromHSL:function(o,h,q){var t,s,r,p,l=[],i=Math.abs,m=Math.floor;if(h==0||o==null){l=[q,q,q]}else{o/=60;t=h*(1-i(2*q-1));s=t*(1-i(o-2*m(o/2)-1));r=q-t/2;switch(m(o)){case 0:l=[t,s,0];break;case 1:l=[s,t,0];break;case 2:l=[0,t,s];break;case 3:l=[0,s,t];break;case 4:l=[s,0,t];break;case 5:l=[t,0,s];break}l=[l[0]+r,l[1]+r,l[2]+r]}return Ext.create("Ext.draw.Color",l[0]*255,l[1]*255,l[2]*255)}},function(){var b=this.prototype;this.addStatics({fromHSL:function(){return b.fromHSL.apply(b,arguments)},fromString:function(){return b.fromString.apply(b,arguments)},toHex:function(){return b.toHex.apply(b,arguments)}})});Ext.define("Ext.layout.container.boxOverflow.None",{alternateClassName:"Ext.layout.boxOverflow.None",constructor:function(c,d){this.layout=c;Ext.apply(this,d||{})},handleOverflow:Ext.emptyFn,clearOverflow:Ext.emptyFn,onRemove:Ext.emptyFn,getItem:function(b){return this.layout.owner.getComponent(b)},onRemove:Ext.emptyFn});Ext.define("Ext.state.Provider",{mixins:{observable:"Ext.util.Observable"},prefix:"ext-",constructor:function(d){d=d||{};var c=this;Ext.apply(c,d);c.addEvents("statechange");c.state={};c.mixins.observable.constructor.call(c)},get:function(c,d){return typeof this.state[c]=="undefined"?d:this.state[c]},clear:function(d){var c=this;delete c.state[d];c.fireEvent("statechange",c,d,null)},set:function(e,f){var d=this;d.state[e]=f;d.fireEvent("statechange",d,e,f)},decodeValue:function(k){var m=this,n=/^(a|n|d|b|s|o|e)\:(.*)$/,l=n.exec(unescape(k)),h,i,k,j;if(!l||!l[1]){return}i=l[1];k=l[2];switch(i){case"e":return null;case"n":return parseFloat(k);case"d":return new Date(Date.parse(k));case"b":return(k=="1");case"a":h=[];if(k!=""){Ext.each(k.split("^"),function(a){h.push(m.decodeValue(a))},m)}return h;case"o":h={};if(k!=""){Ext.each(k.split("^"),function(a){j=a.split("=");h[j[0]]=m.decodeValue(j[1])},m)}return h;default:return k}},encodeValue:function(j){var i="",k=0,g,h,l;if(j==null){return"e:1"}else{if(typeof j=="number"){g="n:"+j}else{if(typeof j=="boolean"){g="b:"+(j?"1":"0")}else{if(Ext.isDate(j)){g="d:"+j.toGMTString()}else{if(Ext.isArray(j)){for(h=j.length;k<h;k++){i+=this.encodeValue(j[k]);if(k!=h-1){i+="^"}}g="a:"+i}else{if(typeof j=="object"){for(l in j){if(typeof j[l]!="function"&&j[l]!==undefined){i+=l+"="+this.encodeValue(j[l])+"^"}}g="o:"+i.substring(0,i.length-1)}else{g="s:"+j}}}}}}return escape(g)}});Ext.define("Ext.data.Connection",{mixins:{observable:"Ext.util.Observable"},statics:{requestId:0},url:null,async:true,method:null,username:"",password:"",disableCaching:true,withCredentials:false,cors:false,disableCachingParam:"_dc",timeout:30000,useDefaultHeader:true,defaultPostHeader:"application/x-www-form-urlencoded; charset=UTF-8",useDefaultXhrHeader:true,defaultXhrHeader:"XMLHttpRequest",constructor:function(b){b=b||{};Ext.apply(this,b);this.addEvents("beforerequest","requestcomplete","requestexception");this.requests={};this.mixins.observable.constructor.call(this)},request:function(k){k=k||{};var o=this,l=k.scope||window,p=k.username||o.username,n=k.password||o.password||"",s,r,q,t,m;if(o.fireEvent("beforerequest",o,k)!==false){r=o.setOptions(k,l);if(this.isFormUpload(k)===true){this.upload(k.form,r.url,r.data,k);return null}if(k.autoAbort===true||o.autoAbort){o.abort()}if((k.cors===true||o.cors===true)&&Ext.isIe&&Ext.ieVersion>=8){m=new XDomainRequest()}else{m=this.getXhrInstance()}s=k.async!==false?(k.async||o.async):false;if(p){m.open(r.method,r.url,s,p,n)}else{m.open(r.method,r.url,s)}if(k.withCredentials===true||o.withCredentials===true){m.withCredentials=true}t=o.setupHeaders(m,k,r.data,r.params);q={id:++Ext.data.Connection.requestId,xhr:m,headers:t,options:k,async:s,timeout:setTimeout(function(){q.timedout=true;o.abort(q)},k.timeout||o.timeout)};o.requests[q.id]=q;o.latestId=q.id;if(s){m.onreadystatechange=Ext.Function.bind(o.onStateChange,o,[q])}m.send(r.data);if(!s){return this.onComplete(q)}return q}else{Ext.callback(k.callback,k.scope,[k,undefined,undefined]);return null}},upload:function(q,s,m,k){q=Ext.getDom(q);k=k||{};var r=Ext.id(),o=document.createElement("iframe"),l=[],n="multipart/form-data",p={target:q.target,method:q.method,encoding:q.encoding,enctype:q.enctype,action:q.action},t;Ext.fly(o).set({id:r,name:r,cls:Ext.baseCSSPrefix+"hide-display",src:Ext.SSL_SECURE_URL});document.body.appendChild(o);if(document.frames){document.frames[r].name=r}Ext.fly(q).set({target:r,method:"POST",enctype:n,encoding:n,action:s||p.action});if(m){Ext.iterate(Ext.Object.fromQueryString(m),function(b,a){t=document.createElement("input");Ext.fly(t).set({type:"hidden",value:a,name:b});q.appendChild(t);l.push(t)})}Ext.fly(o).on("load",Ext.Function.bind(this.onUploadComplete,this,[o,k]),null,{single:true});q.submit();Ext.fly(q).set(p);Ext.each(l,function(a){Ext.removeNode(a)})},onUploadComplete:function(j,e){var n=this,i={responseText:"",responseXML:null},k,l;try{k=j.contentWindow.document||j.contentDocument||window.frames[j.id].document;if(k){if(k.body){if(/textarea/i.test((l=k.body.firstChild||{}).tagName)){i.responseText=l.value}else{i.responseText=k.body.innerHTML}}i.responseXML=k.XMLDocument||k}}catch(m){}n.fireEvent("requestcomplete",n,i,e);Ext.callback(e.success,e.scope,[i,e]);Ext.callback(e.callback,e.scope,[e,true,i]);setTimeout(function(){Ext.removeNode(j)},100)},isFormUpload:function(d){var c=this.getForm(d);if(c){return(d.isUpload||(/multipart\/form-data/i).test(c.getAttribute("enctype")))}return false},getForm:function(b){return Ext.getDom(b.form)||null},setOptions:function(l,m){var o=this,r=l.params||{},p=o.extraParams,s=l.urlParams,t=l.url||o.url,n=l.jsonData,u,v,q;if(Ext.isFunction(r)){r=r.call(m,l)}if(Ext.isFunction(t)){t=t.call(m,l)}t=this.setupUrl(l,t);if(!t){Ext.Error.raise({options:l,msg:"No URL specified"})}q=l.rawData||l.xmlData||n||null;if(n&&!Ext.isPrimitive(n)){q=Ext.encode(q)}if(Ext.isObject(r)){r=Ext.Object.toQueryString(r)}if(Ext.isObject(p)){p=Ext.Object.toQueryString(p)}r=r+((p)?((r)?"&":"")+p:"");s=Ext.isObject(s)?Ext.Object.toQueryString(s):s;r=this.setupParams(l,r);u=(l.method||o.method||((r||q)?"POST":"GET")).toUpperCase();this.setupMethod(l,u);v=l.disableCaching!==false?(l.disableCaching||o.disableCaching):false;if(u==="GET"&&v){t=Ext.urlAppend(t,(l.disableCachingParam||o.disableCachingParam)+"="+(new Date().getTime()))}if((u=="GET"||q)&&r){t=Ext.urlAppend(t,r);r=null}if(s){t=Ext.urlAppend(t,s)}return{url:t,method:u,data:q||r||null}},setupUrl:function(d,e){var f=this.getForm(d);if(f){e=e||f.action}return e},setupParams:function(f,g){var h=this.getForm(f),e;if(h&&!this.isFormUpload(f)){e=Ext.Element.serializeForm(h);g=g?(g+"&"+e):e}return g},setupMethod:function(d,c){if(this.isFormUpload(d)){return"POST"}return c},setupHeaders:function(n,e,u,v){var r=this,w=Ext.apply({},e.headers||{},r.defaultHeaders||{}),o=r.defaultPostHeader,q=e.jsonData,x=e.xmlData,p,t;if(!w["Content-Type"]&&(u||v)){if(u){if(e.rawData){o="text/plain"}else{if(x&&Ext.isDefined(x)){o="text/xml"}else{if(q&&Ext.isDefined(q)){o="application/json"}}}}w["Content-Type"]=o}if(r.useDefaultXhrHeader&&!w["X-Requested-With"]){w["X-Requested-With"]=r.defaultXhrHeader}try{for(p in w){if(w.hasOwnProperty(p)){t=w[p];n.setRequestHeader(p,t)}}}catch(s){r.fireEvent("exception",p,t)}return w},getXhrInstance:(function(){var e=[function(){return new XMLHttpRequest()},function(){return new ActiveXObject("MSXML2.XMLHTTP.3.0")},function(){return new ActiveXObject("MSXML2.XMLHTTP")},function(){return new ActiveXObject("Microsoft.XMLHTTP")}],j=0,g=e.length,h;for(;j<g;++j){try{h=e[j];h();break}catch(i){}}return h})(),isLoading:function(d){if(!d){d=this.getLatest()}if(!(d&&d.xhr)){return false}var c=d.xhr.readyState;return !(c===0||c==4)},abort:function(c){var d=this;if(!c){c=d.getLatest()}if(c&&d.isLoading(c)){c.xhr.onreadystatechange=null;c.xhr.abort();d.clearTimeout(c);if(!c.timedout){c.aborted=true}d.onComplete(c);d.cleanup(c)}},abortAll:function(){var c=this.requests,d;for(d in c){if(c.hasOwnProperty(d)){this.abort(c[d])}}},getLatest:function(){var c=this.latestId,d;if(c){d=this.requests[c]}return d||null},onStateChange:function(b){if(b.xhr.readyState==4){this.clearTimeout(b);this.onComplete(b);this.cleanup(b)}},clearTimeout:function(b){clearTimeout(b.timeout);delete b.timeout},cleanup:function(b){b.xhr=null;delete b.xhr},onComplete:function(l){var m=this,n=l.options,i,j,e;try{i=m.parseStatus(l.xhr.status)}catch(k){i={success:false,isException:false}}j=i.success;if(j){e=m.createResponse(l);m.fireEvent("requestcomplete",m,e,n);Ext.callback(n.success,n.scope,[e,n])}else{if(i.isException||l.aborted||l.timedout){e=m.createException(l)}else{e=m.createResponse(l)}m.fireEvent("requestexception",m,e,n);Ext.callback(n.failure,n.scope,[e,n])}Ext.callback(n.callback,n.scope,[n,j,e]);delete m.requests[l.id];return e},parseStatus:function(e){e=e==1223?204:e;var f=(e>=200&&e<300)||e==304,d=false;if(!f){switch(e){case 12002:case 12029:case 12030:case 12031:case 12152:case 13030:d=true;break}}return{success:f,isException:d}},createResponse:function(r){var m=r.xhr,t={},l=m.getAllResponseHeaders().replace(/\r\n/g,"\n").split("\n"),q=l.length,k,p,n,o,s;while(q--){k=l[q];p=k.indexOf(":");if(p>=0){n=k.substr(0,p).toLowerCase();if(k.charAt(p+1)==" "){++p}t[n]=k.substr(p+1)}}r.xhr=null;delete r.xhr;s={request:r,requestId:r.id,status:m.status,statusText:m.statusText,getResponseHeader:function(a){return t[a.toLowerCase()]},getAllResponseHeaders:function(){return t},responseText:m.responseText,responseXML:m.responseXML};m=null;return s},createException:function(b){return{request:b,requestId:b.id,status:b.aborted?-1:0,statusText:b.aborted?"transaction aborted":"communication failure",aborted:b.aborted,timedout:b.timedout}}});Ext.define("Ext.util.Offset",{statics:{fromObject:function(b){return new this(b.x,b.y)}},constructor:function(d,c){this.x=(d!=null&&!isNaN(d))?d:0;this.y=(c!=null&&!isNaN(c))?c:0;return this},copy:function(){return new Ext.util.Offset(this.x,this.y)},copyFrom:function(b){this.x=b.x;this.y=b.y},toString:function(){return"Offset["+this.x+","+this.y+"]"},equals:function(b){if(!(b instanceof this.statics())){Ext.Error.raise("Offset must be an instance of Ext.util.Offset")}return(this.x==b.x&&this.y==b.y)},round:function(c){if(!isNaN(c)){var d=Math.pow(10,c);this.x=Math.round(this.x*d)/d;this.y=Math.round(this.y*d)/d}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.data.writer.Writer",{alias:"writer.base",alternateClassName:["Ext.data.DataWriter","Ext.data.Writer"],writeAllFields:true,nameProperty:"name",constructor:function(b){Ext.apply(this,b)},write:function(j){var l=j.operation,g=l.records||[],h=g.length,k=0,i=[];for(;k<h;k++){i.push(this.getRecordData(g[k]))}return this.writeRecords(j,i)},getRecordData:function(p){var l=p.phantom===true,s=this.writeAllFields||l,r=this.nameProperty,o=p.fields,q={},m,t,n,k;if(s){o.each(function(a){if(a.persist){t=a[r]||a.name;q[t]=p.get(a.name)}})}else{m=p.getChanges();for(k in m){if(m.hasOwnProperty(k)){n=o.get(k);t=n[r]||n.name;q[t]=m[k]}}if(!l){q[p.idProperty]=p.getId()}}return q}});Ext.define("Ext.data.ResultSet",{loaded:true,count:0,total:0,success:false,constructor:function(b){Ext.apply(this,b);this.totalRecords=this.total;if(b.count===undefined){this.count=this.records.length}}});Ext.define("Ext.grid.plugin.DragDrop",{extend:"Ext.AbstractPlugin",alias:"plugin.gridviewdragdrop",uses:["Ext.view.DragZone","Ext.grid.ViewDropZone"],dragText:"{0} selected row{1}",ddGroup:"GridDD",enableDrop:true,enableDrag:true,init:function(b){b.on("render",this.onViewRender,this,{single:true})},destroy:function(){Ext.destroy(this.dragZone,this.dropZone)},enable:function(){var b=this;if(b.dragZone){b.dragZone.unlock()}if(b.dropZone){b.dropZone.unlock()}b.callParent()},disable:function(){var b=this;if(b.dragZone){b.dragZone.lock()}if(b.dropZone){b.dropZone.lock()}b.callParent()},onViewRender:function(d){var c=this;if(c.enableDrag){c.dragZone=Ext.create("Ext.view.DragZone",{view:d,ddGroup:c.dragGroup||c.ddGroup,dragText:c.dragText})}if(c.enableDrop){c.dropZone=Ext.create("Ext.grid.ViewDropZone",{view:d,ddGroup:c.dropGroup||c.ddGroup})}}});Ext.define("Ext.util.ClickRepeater",{extend:"Ext.util.Observable",constructor:function(c,d){this.el=Ext.get(c);this.el.unselectable();Ext.apply(this,d);this.addEvents("mousedown","click","mouseup");if(!this.disabled){this.disabled=true;this.enable()}if(this.handler){this.on("click",this.handler,this.scope||this)}this.callParent()},interval:20,delay:250,preventDefault:true,stopDefault:false,timer:0,enable:function(){if(this.disabled){this.el.on("mousedown",this.handleMouseDown,this);if(Ext.isIE){this.el.on("dblclick",this.handleDblClick,this)}if(this.preventDefault||this.stopDefault){this.el.on("click",this.eventOptions,this)}}this.disabled=false},disable:function(b){if(b||!this.disabled){clearTimeout(this.timer);if(this.pressedCls){this.el.removeCls(this.pressedCls)}Ext.getDoc().un("mouseup",this.handleMouseUp,this);this.el.removeAllListeners()}this.disabled=true},setDisabled:function(b){this[b?"disable":"enable"]()},eventOptions:function(b){if(this.preventDefault){b.preventDefault()}if(this.stopDefault){b.stopEvent()}},destroy:function(){this.disable(true);Ext.destroy(this.el);this.clearListeners()},handleDblClick:function(b){clearTimeout(this.timer);this.el.blur();this.fireEvent("mousedown",this,b);this.fireEvent("click",this,b)},handleMouseDown:function(b){clearTimeout(this.timer);this.el.blur();if(this.pressedCls){this.el.addCls(this.pressedCls)}this.mousedownTime=new Date();Ext.getDoc().on("mouseup",this.handleMouseUp,this);this.el.on("mouseout",this.handleMouseOut,this);this.fireEvent("mousedown",this,b);this.fireEvent("click",this,b);if(this.accelerate){this.delay=400}b=new Ext.EventObjectImpl(b);this.timer=Ext.defer(this.click,this.delay||this.interval,this,[b])},click:function(b){this.fireEvent("click",this,b);this.timer=Ext.defer(this.click,this.accelerate?this.easeOutExpo(Ext.Date.getElapsed(this.mousedownTime),400,-390,12000):this.interval,this,[b])},easeOutExpo:function(h,b,c,d){return(h==d)?b+c:c*(-Math.pow(2,-10*h/d)+1)+b},handleMouseOut:function(){clearTimeout(this.timer);if(this.pressedCls){this.el.removeCls(this.pressedCls)}this.el.on("mouseover",this.handleMouseReturn,this)},handleMouseReturn:function(){this.el.un("mouseover",this.handleMouseReturn,this);if(this.pressedCls){this.el.addCls(this.pressedCls)}this.click()},handleMouseUp:function(b){clearTimeout(this.timer);this.el.un("mouseover",this.handleMouseReturn,this);this.el.un("mouseout",this.handleMouseOut,this);Ext.getDoc().un("mouseup",this.handleMouseUp,this);if(this.pressedCls){this.el.removeCls(this.pressedCls)}this.fireEvent("mouseup",this,b)}});Ext.define("Ext.data.Tree",{alias:"data.tree",mixins:{observable:"Ext.util.Observable"},root:null,constructor:function(d){var c=this;c.mixins.observable.constructor.call(c);if(d){c.setRootNode(d)}},getRootNode:function(){return this.root},setRootNode:function(c){var d=this;d.root=c;Ext.data.NodeInterface.decorate(c);if(d.fireEvent("beforeappend",null,c)!==false){c.set("root",true);c.updateInfo();d.relayEvents(c,["append","remove","move","insert","beforeappend","beforeremove","beforemove","beforeinsert","expand","collapse","beforeexpand","beforecollapse","rootchange"]);c.on({scope:d,insert:d.onNodeInsert,append:d.onNodeAppend,remove:d.onNodeRemove});d.nodeHash={};d.registerNode(c);d.fireEvent("append",null,c);d.fireEvent("rootchange",c)}return c},flatten:function(){var e=[],f=this.nodeHash,d;for(d in f){if(f.hasOwnProperty(d)){e.push(f[d])}}return e},onNodeInsert:function(d,c){this.registerNode(c,true)},onNodeAppend:function(d,c){this.registerNode(c,true)},onNodeRemove:function(d,c){this.unregisterNode(c,true)},getNodeById:function(b){return this.nodeHash[b]},registerNode:function(c,d){this.nodeHash[c.getId()||c.internalId]=c;if(d===true){c.eachChild(function(a){this.registerNode(a,true)},this)}},unregisterNode:function(c,d){delete this.nodeHash[c.getId()||c.internalId];if(d===true){c.eachChild(function(a){this.unregisterNode(a,true)},this)}},sort:function(c,d){this.getRootNode().sort(c,d)},filter:function(c,d){this.getRootNode().filter(c,d)}});Ext.define("Docs.Settings",{extend:"Docs.LocalStore",storeName:"Settings",singleton:true,set:function(d,f){var e=this.store.findExact("key",d);if(e>-1){this.store.removeAt(e)}this.store.add({key:d,value:f});this.syncStore()},get:function(c){var d=this.store.findExact("key",c);return d>-1?this.store.getAt(d).get("value"):undefined}});Ext.define("Ext.XTemplate",{extend:"Ext.Template",argsRe:/<tpl\b[^>]*>((?:(?=([^<]+))\2|<(?!tpl\b[^>]*>))*?)<\/tpl>/,nameRe:/^<tpl\b[^>]*?for="(.*?)"/,ifRe:/^<tpl\b[^>]*?if="(.*?)"/,execRe:/^<tpl\b[^>]*?exec="(.*?)"/,constructor:function(){this.callParent(arguments);var m=this,M=m.html,B=m.argsRe,R=m.nameRe,D=m.ifRe,z=m.execRe,H=0,L=[],I="values",A="parent",K="xindex",J="xcount",Q="return ",S="with(values){ ",G,O,C,T,P,N,F,i,E;M=["<tpl>",M,"</tpl>"].join("");while((G=M.match(B))){P=null;N=null;F=null;O=G[0].match(R);C=G[0].match(D);T=G[0].match(z);P=C?C[1]:null;if(P){N=Ext.functionFactory(I,A,K,J,S+"try{"+Q+Ext.String.htmlDecode(P)+";}catch(e){return;}}")}P=T?T[1]:null;if(P){F=Ext.functionFactory(I,A,K,J,S+Ext.String.htmlDecode(P)+";}")}i=O?O[1]:null;if(i){if(i==="."){i=I}else{if(i===".."){i=A}}i=Ext.functionFactory(I,A,"try{"+S+Q+i+";}}catch(e){return;}")}L.push({id:H,target:i,exec:F,test:N,body:G[1]||""});M=M.replace(G[0],"{xtpl"+H+"}");H=H+1}for(E=L.length-1;E>=0;--E){m.compileTpl(L[E])}m.master=L[L.length-1];m.tpls=L},applySubTemplate:function(j,i,n,l,k){var m=this,h=m.tpls[j];return h.compiled.call(m,i,n,l,k)},codeRe:/\{\[((?:\\\]|.|\n)*?)\]\}/g,re:/\{([\w-\.\#]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?(\s?[\+\-\*\/]\s?[\d\.\+\-\*\/\(\)]+)?\}/g,compileTpl:function(tpl){var fm=Ext.util.Format,me=this,useFormat=me.disableFormats!==true,body,bodyReturn,evaluatedFn;function fn(m,name,format,args,math){var v;if(name.substr(0,4)=="xtpl"){return"',this.applySubTemplate("+name.substr(4)+", values, parent, xindex, xcount),'"}if(name=="."){v='Ext.Array.indexOf(["string", "number", "boolean"], typeof values) > -1 || Ext.isDate(values) ? values : ""'}else{if(name=="#"){v="xindex"}else{if(name.substr(0,7)=="parent."){v=name}else{if(name.indexOf(".")!=-1){v="values."+name}else{v="values['"+name+"']"}}}}if(math){v="("+v+math+")"}if(format&&useFormat){args=args?","+args:"";if(format.substr(0,5)!="this."){format="fm."+format+"("}else{format="this."+format.substr(5)+"("}}else{args="";format="("+v+" === undefined ? '' : "}return"',"+format+v+args+"),'"}function codeFn(m,code){return"',("+code.replace(me.compileARe,"'")+"),'"}bodyReturn=tpl.body.replace(me.compileBRe,"\\n").replace(me.compileCRe,"\\'").replace(me.re,fn).replace(me.codeRe,codeFn);body="evaluatedFn = function(values, parent, xindex, xcount){return ['"+bodyReturn+"'].join('');};";eval(body);tpl.compiled=function(values,parent,xindex,xcount){var vs,length,buffer,i;if(tpl.test&&!tpl.test.call(me,values,parent,xindex,xcount)){return""}vs=tpl.target?tpl.target.call(me,values,parent):values;if(!vs){return""}parent=tpl.target?values:parent;if(tpl.target&&Ext.isArray(vs)){buffer=[];length=vs.length;if(tpl.exec){for(i=0;i<length;i++){buffer[buffer.length]=evaluatedFn.call(me,vs[i],parent,i+1,length);tpl.exec.call(me,vs[i],parent,i+1,length)}}else{for(i=0;i<length;i++){buffer[buffer.length]=evaluatedFn.call(me,vs[i],parent,i+1,length)}}return buffer.join("")}if(tpl.exec){tpl.exec.call(me,vs,parent,xindex,xcount)}return evaluatedFn.call(me,vs,parent,xindex,xcount)};return this},applyTemplate:function(b){return this.master.compiled.call(this,b,{},1,1)},compile:function(){return this}},function(){this.createAlias("apply","applyTemplate")});Ext.define("Ext.layout.container.AbstractContainer",{extend:"Ext.layout.Layout",type:"container",bindToOwnerCtComponent:false,bindToOwnerCtContainer:false,setItemSize:function(f,d,e){if(Ext.isObject(d)){e=d.height;d=d.width}f.setCalculatedSize(d,e,this.owner)},getLayoutItems:function(){return this.owner&&this.owner.items&&this.owner.items.items||[]},beforeLayout:function(){return !this.owner.collapsed&&this.callParent(arguments)},afterLayout:function(){this.owner.afterLayout(this)},getTarget:function(){return this.owner.getTargetEl()},getRenderTarget:function(){return this.owner.getTargetEl()}});Ext.define("Ext.layout.container.Container",{extend:"Ext.layout.container.AbstractContainer",alternateClassName:"Ext.layout.ContainerLayout",layoutItem:function(c,d){if(d){c.doComponentLayout(d.width,d.height)}else{c.doComponentLayout()}},getLayoutTargetSize:function(){var c=this.getTarget(),d;if(c){d=c.getViewSize();if(Ext.isIE&&d.width==0){d=c.getStyleSize()}d.width-=c.getPadding("lr");d.height-=c.getPadding("tb")}return d},beforeLayout:function(){if(this.owner.beforeLayout(arguments)!==false){return this.callParent(arguments)}else{return false}},getRenderedItems:function(){var l=this,j=l.getTarget(),i=l.getLayoutItems(),m=i.length,k=[],h,n;for(h=0;h<m;h++){n=i[h];if(n.rendered&&l.isValidParent(n,j,h)){k.push(n)}}return k},getVisibleItems:function(){var i=this.getTarget(),g=this.getLayoutItems(),j=g.length,h=[],l,k;for(l=0;l<j;l++){k=g[l];if(k.rendered&&this.isValidParent(k,i,l)&&k.hidden!==true){h.push(k)}}return h}});Ext.ns("Ext.fx");Ext.require("Ext.fx.CubicBezier",function(){var l=Math,j=l.PI,m=l.pow,h=l.sin,k=l.sqrt,i=l.abs,n=1.70158;Ext.fx.Easing={};Ext.apply(Ext.fx.Easing,{linear:function(a){return a},ease:function(f){var s=0.07813-f/2,e=-0.25,d=k(0.0066+s*s),b=d-s,g=m(i(b),1/3)*(b<0?-1:1),c=-d-s,q=m(i(c),1/3)*(c<0?-1:1),a=g+q+0.25;return m(1-a,2)*3*a*0.1+(1-a)*3*a*a+a*a*a},easeIn:function(a){return m(a,1.7)},easeOut:function(a){return m(a,0.48)},easeInOut:function(g){var c=0.48-g/1.04,d=k(0.1734+c*c),f=d-c,q=m(i(f),1/3)*(f<0?-1:1),a=-d-c,b=m(i(a),1/3)*(a<0?-1:1),e=q+b+0.5;return(1-e)*3*e*e+e*e*e},backIn:function(a){return a*a*((n+1)*a-n)},backOut:function(a){a=a-1;return a*a*((n+1)*a+n)+1},elasticIn:function(a){if(a===0||a===1){return a}var b=0.3,c=b/4;return m(2,-10*a)*h((a-c)*(2*j)/b)+1},elasticOut:function(a){return 1-Ext.fx.Easing.elasticIn(1-a)},bounceIn:function(a){return 1-Ext.fx.Easing.bounceOut(1-a)},bounceOut:function(a){var c=7.5625,b=2.75,d;if(a<(1/b)){d=c*a*a}else{if(a<(2/b)){a-=(1.5/b);d=c*a*a+0.75}else{if(a<(2.5/b)){a-=(2.25/b);d=c*a*a+0.9375}else{a-=(2.625/b);d=c*a*a+0.984375}}}return d}});Ext.apply(Ext.fx.Easing,{"back-in":Ext.fx.Easing.backIn,"back-out":Ext.fx.Easing.backOut,"ease-in":Ext.fx.Easing.easeIn,"ease-out":Ext.fx.Easing.easeOut,"elastic-in":Ext.fx.Easing.elasticIn,"elastic-out":Ext.fx.Easing.elasticIn,"bounce-in":Ext.fx.Easing.bounceIn,"bounce-out":Ext.fx.Easing.bounceOut,"ease-in-out":Ext.fx.Easing.easeInOut})});Ext.define("Ext.util.Sortable",{isSortable:true,defaultSortDirection:"ASC",requires:["Ext.util.Sorter"],initSortable:function(){var d=this,c=d.sorters;d.sorters=Ext.create("Ext.util.AbstractMixedCollection",false,function(a){return a.id||a.property});if(c){d.sorters.addAll(d.decodeSorters(c))}},sort:function(l,m,p,n){var o=this,k,i,j;if(Ext.isArray(l)){n=p;p=m;j=l}else{if(Ext.isObject(l)){n=p;p=m;j=[l]}else{if(Ext.isString(l)){k=o.sorters.get(l);if(!k){k={property:l,direction:m};j=[k]}else{if(m===undefined){k.toggle()}else{k.setDirection(m)}}}}}if(j&&j.length){j=o.decodeSorters(j);if(Ext.isString(p)){if(p==="prepend"){l=o.sorters.clone().items;o.sorters.clear();o.sorters.addAll(j);o.sorters.addAll(l)}else{o.sorters.addAll(j)}}else{o.sorters.clear();o.sorters.addAll(j)}}if(n!==false){o.onBeforeSort(j);l=o.sorters.items;if(l.length){i=function(b,c){var d=l[0].sort(b,c),e=l.length,a;for(a=1;a<e;a++){d=d||l[a].sort.call(this,b,c)}return d};o.doSort(i)}}return l},onBeforeSort:Ext.emptyFn,decodeSorters:function(k){if(!Ext.isArray(k)){if(k===undefined){k=[]}else{k=[k]}}var m=k.length,j=Ext.util.Sorter,i=this.model?this.model.prototype.fields:null,l,h,n;for(n=0;n<m;n++){h=k[n];if(!(h instanceof j)){if(Ext.isString(h)){h={property:h}}Ext.applyIf(h,{root:this.sortRoot,direction:"ASC"});if(h.fn){h.sorterFn=h.fn}if(typeof h=="function"){h={sorterFn:h}}if(i&&!h.transform){l=i.get(h.property);h.transform=l?l.sortType:undefined}k[n]=Ext.create("Ext.util.Sorter",h)}}return k},getSorters:function(){return this.sorters.items}});Ext.define("Ext.util.MixedCollection",{extend:"Ext.util.AbstractMixedCollection",mixins:{sortable:"Ext.util.Sortable"},constructor:function(){var b=this;b.callParent(arguments);b.addEvents("sort");b.mixins.sortable.initSortable.call(b)},doSort:function(b){this.sortBy(b)},_sort:function(i,t,m){var n=this,r,q,s=String(t).toUpperCase()=="DESC"?-1:1,o=[],c=n.keys,p=n.items;m=m||function(a,b){return a-b};for(r=0,q=p.length;r<q;r++){o[o.length]={key:c[r],value:p[r],index:r}}Ext.Array.sort(o,function(b,d){var a=m(b[i],d[i])*s;if(a===0){a=(b.index<d.index?-1:1)}return a});for(r=0,q=o.length;r<q;r++){p[r]=o[r].value;c[r]=o[r].key}n.fireEvent("sort",n)},sortBy:function(n){var j=this,h=j.items,k=j.keys,l=h.length,i=[],m;for(m=0;m<l;m++){i[m]={key:k[m],value:h[m],index:m}}Ext.Array.sort(i,function(b,c){var a=n(b.value,c.value);if(a===0){a=(b.index<c.index?-1:1)}return a});for(m=0;m<l;m++){h[m]=i[m].value;k[m]=i[m].key}j.fireEvent("sort",j,h,k)},reorder:function(o){var l=this,i=l.items,p=0,m=i.length,j=[],n=[],k;l.suspendEvents();for(k in o){j[o[k]]=i[k]}for(p=0;p<m;p++){if(o[p]==undefined){n.push(i[p])}}for(p=0;p<m;p++){if(j[p]==undefined){j[p]=n.shift()}}l.clear();l.addAll(j);l.resumeEvents();l.fireEvent("sort",l)},sortByKey:function(d,c){this._sort("key",d,c||function(g,h){var a=String(g).toUpperCase(),b=String(h).toUpperCase();return a>b?1:(a<b?-1:0)})}});Ext.define("Ext.data.AbstractStore",{requires:["Ext.util.MixedCollection","Ext.data.Operation","Ext.util.Filter"],mixins:{observable:"Ext.util.Observable",sortable:"Ext.util.Sortable"},statics:{create:function(b){if(!b.isStore){if(!b.type){b.type="store"}b=Ext.createByAlias("store."+b.type,b)}return b}},remoteSort:false,remoteFilter:false,autoLoad:false,autoSync:false,batchUpdateMode:"operation",filterOnLoad:true,sortOnLoad:true,implicitModel:false,defaultProxyType:"memory",isDestroyed:false,isStore:true,sortRoot:"data",constructor:function(e){var f=this,d;f.addEvents("add","remove","update","datachanged","beforeload","load","write","beforesync","clear");Ext.apply(f,e);f.removed=[];f.mixins.observable.constructor.apply(f,arguments);f.model=Ext.ModelManager.getModel(f.model);Ext.applyIf(f,{modelDefaults:{}});if(!f.model&&f.fields){f.model=Ext.define("Ext.data.Store.ImplicitModel-"+(f.storeId||Ext.id()),{extend:"Ext.data.Model",fields:f.fields,proxy:f.proxy||f.defaultProxyType});delete f.fields;f.implicitModel=true}if(!f.model){if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn("Store defined with no model. You may have mistyped the model name.")}}f.setProxy(f.proxy||f.model.getProxy());if(f.id&&!f.storeId){f.storeId=f.id;delete f.id}if(f.storeId){Ext.data.StoreManager.register(f)}f.mixins.sortable.initSortable.call(f);d=f.decodeFilters(f.filters);f.filters=Ext.create("Ext.util.MixedCollection");f.filters.addAll(d)},setProxy:function(d){var c=this;if(d instanceof Ext.data.proxy.Proxy){d.setModel(c.model)}else{if(Ext.isString(d)){d={type:d}}Ext.applyIf(d,{model:c.model});d=Ext.createByAlias("proxy."+d.type,d)}c.proxy=d;return c.proxy},getProxy:function(){return this.proxy},create:function(h,j){var i=this,g=Ext.ModelManager.create(Ext.applyIf(h,i.modelDefaults),i.model.modelName),f;j=j||{};Ext.applyIf(j,{action:"create",records:[g]});f=Ext.create("Ext.data.Operation",j);i.proxy.create(f,i.onProxyWrite,i);return g},read:function(){return this.load.apply(this,arguments)},onProxyRead:Ext.emptyFn,update:function(d){var f=this,e;d=d||{};Ext.applyIf(d,{action:"update",records:f.getUpdatedRecords()});e=Ext.create("Ext.data.Operation",d);return f.proxy.update(e,f.onProxyWrite,f)},onProxyWrite:function(e){var h=this,g=e.wasSuccessful(),f=e.getRecords();switch(e.action){case"create":h.onCreateRecords(f,e,g);break;case"update":h.onUpdateRecords(f,e,g);break;case"destroy":h.onDestroyRecords(f,e,g);break}if(g){h.fireEvent("write",h,e);h.fireEvent("datachanged",h)}Ext.callback(e.callback,e.scope||h,[f,e,g])},destroy:function(d){var f=this,e;d=d||{};Ext.applyIf(d,{action:"destroy",records:f.getRemovedRecords()});e=Ext.create("Ext.data.Operation",d);return f.proxy.destroy(e,f.onProxyWrite,f)},onBatchOperationComplete:function(c,d){return this.onProxyWrite(d)},onBatchComplete:function(l,h){var i=this,g=l.operations,j=g.length,k;i.suspendEvents();for(k=0;k<j;k++){i.onProxyWrite(g[k])}i.resumeEvents();i.fireEvent("datachanged",i)},onBatchException:function(c,d){},filterNew:function(b){return b.phantom===true&&b.isValid()},getNewRecords:function(){return[]},getUpdatedRecords:function(){return[]},filterUpdated:function(b){return b.dirty===true&&b.phantom!==true&&b.isValid()},getRemovedRecords:function(){return this.removed},filter:function(d,c){},decodeFilters:function(h){if(!Ext.isArray(h)){if(h===undefined){h=[]}else{h=[h]}}var i=h.length,g=Ext.util.Filter,f,j;for(j=0;j<i;j++){f=h[j];if(!(f instanceof g)){Ext.apply(f,{root:"data"});if(f.fn){f.filterFn=f.fn}if(typeof f=="function"){f={filterFn:f}}h[j]=new g(f)}}return h},clearFilter:function(b){},isFiltered:function(){},filterBy:function(c,d){},sync:function(){var k=this,g={},j=k.getNewRecords(),l=k.getUpdatedRecords(),h=k.getRemovedRecords(),i=false;if(j.length>0){g.create=j;i=true}if(l.length>0){g.update=l;i=true}if(h.length>0){g.destroy=h;i=true}if(i&&k.fireEvent("beforesync",g)!==false){k.proxy.batch(g,k.getBatchListeners())}},getBatchListeners:function(){var c=this,d={scope:c,exception:c.onBatchException};if(c.batchUpdateMode=="operation"){d.operationcomplete=c.onBatchOperationComplete}else{d.complete=c.onBatchComplete}return d},save:function(){return this.sync.apply(this,arguments)},load:function(d){var f=this,e;d=d||{};Ext.applyIf(d,{action:"read",filters:f.filters.items,sorters:f.getSorters()});e=Ext.create("Ext.data.Operation",d);if(f.fireEvent("beforeload",f,e)!==false){f.loading=true;f.proxy.read(e,f.onProxyLoad,f)}return f},afterEdit:function(d){var c=this;if(c.autoSync){c.sync()}c.fireEvent("update",c,d,Ext.data.Model.EDIT)},afterReject:function(b){this.fireEvent("update",this,b,Ext.data.Model.REJECT)},afterCommit:function(b){this.fireEvent("update",this,b,Ext.data.Model.COMMIT)},clearData:Ext.emptyFn,destroyStore:function(){var b=this;if(!b.isDestroyed){if(b.storeId){Ext.data.StoreManager.unregister(b)}b.clearData();b.data=null;b.tree=null;b.reader=b.writer=null;b.clearListeners();b.isDestroyed=true;if(b.implicitModel){Ext.destroy(b.model)}}},doSort:function(d){var c=this;if(c.remoteSort){c.load()}else{c.data.sortBy(d);c.fireEvent("datachanged",c)}},getCount:Ext.emptyFn,getById:Ext.emptyFn,removeAll:Ext.emptyFn,isLoading:function(){return !!this.loading}});Ext.define("Ext.ModelManager",{extend:"Ext.AbstractManager",alternateClassName:"Ext.ModelMgr",requires:["Ext.data.Association"],singleton:true,typeName:"mtype",associationStack:[],registerType:function(h,e){var g=e.prototype,f;if(g&&g.isModel){f=e}else{if(!e.extend){e.extend="Ext.data.Model"}f=Ext.define(h,e)}this.types[h]=f;return f},onModelDefined:function(n){var i=this.associationStack,k=i.length,l=[],h,m,j;for(m=0;m<k;m++){h=i[m];if(h.associatedModel==n.modelName){l.push(h)}}for(m=0,k=l.length;m<k;m++){j=l[m];this.types[j.ownerModel].prototype.associations.add(Ext.data.Association.create(j));Ext.Array.remove(i,j)}},registerDeferredAssociation:function(b){this.associationStack.push(b)},getModel:function(c){var d=c;if(typeof d=="string"){d=this.types[d]}return d},create:function(h,e,g){var f=typeof e=="function"?e:this.types[e||h.name];return new f(h,g)}},function(){Ext.regModel=function(){if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn('Ext.regModel has been deprecated. Models can now be created by extending Ext.data.Model: Ext.define("MyModel", {extend: "Ext.data.Model", fields: []});.')}return this.ModelManager.registerType.apply(this.ModelManager,arguments)}});Ext.define("Ext.data.StoreManager",{extend:"Ext.util.MixedCollection",alternateClassName:["Ext.StoreMgr","Ext.data.StoreMgr","Ext.StoreManager"],singleton:true,uses:["Ext.data.ArrayStore"],register:function(){for(var d=0,c;(c=arguments[d]);d++){this.add(c)}},unregister:function(){for(var d=0,c;(c=arguments[d]);d++){this.remove(this.lookup(c))}},lookup:function(l){if(Ext.isArray(l)){var g=["field1"],j=!Ext.isArray(l[0]),i=l,k,h;if(j){i=[];for(k=0,h=l.length;k<h;++k){i.push([l[k]])}}else{for(k=2,h=l[0].length;k<=h;++k){g.push("field"+k)}}return Ext.create("Ext.data.ArrayStore",{data:i,fields:g,autoDestroy:true,autoCreated:true,expanded:j})}if(Ext.isString(l)){return this.get(l)}else{return Ext.data.AbstractStore.create(l)}},getKey:function(b){return b.storeId}},function(){Ext.regStore=function(f,d){var e;if(Ext.isObject(f)){d=f}else{d.storeId=f}if(d instanceof Ext.data.Store){e=d}else{e=Ext.create("Ext.data.Store",d)}return Ext.data.StoreManager.register(e)};Ext.getStore=function(b){return Ext.data.StoreManager.lookup(b)}});Ext.define("Ext.ComponentManager",{extend:"Ext.AbstractManager",alternateClassName:"Ext.ComponentMgr",singleton:true,typeName:"xtype",create:function(e,g){if(e instanceof Ext.AbstractComponent){return e}else{if(Ext.isString(e)){return Ext.createByAlias("widget."+e)}else{var h=e.xtype||g,f=e;return Ext.createByAlias("widget."+h,f)}}},registerType:function(c,d){this.types[c]=d;d[this.typeName]=c;d.prototype[this.typeName]=c}});Ext.define("Ext.FocusManager",{singleton:true,alternateClassName:"Ext.FocusMgr",mixins:{observable:"Ext.util.Observable"},requires:["Ext.ComponentManager","Ext.ComponentQuery","Ext.util.HashMap","Ext.util.KeyNav"],enabled:false,focusElementCls:Ext.baseCSSPrefix+"focus-element",focusFrameCls:Ext.baseCSSPrefix+"focus-frame",whitelist:["textfield"],tabIndexWhitelist:["a","button","embed","frame","iframe","img","input","object","select","textarea"],constructor:function(){var d=this,c=Ext.ComponentQuery;d.addEvents("beforecomponentfocus","componentfocus","disable","enable");d.keyNav=Ext.create("Ext.util.KeyNav",Ext.getDoc(),{disabled:true,scope:d,backspace:d.focusLast,enter:d.navigateIn,esc:d.navigateOut,tab:d.navigateSiblings});d.focusData={};d.subscribers=Ext.create("Ext.util.HashMap");d.focusChain={};Ext.apply(c.pseudos,{focusable:function(k){var m=k.length,b=[],i=0,a,l=function(e){return e&&e.focusable!==false&&c.is(e,"[rendered]:not([destroying]):not([isDestroyed]):not([disabled]){isVisible(true)}{el && c.el.dom && c.el.isVisible()}")};for(;i<m;i++){a=k[i];if(l(a)){b.push(a)}}return b},nextFocus:function(k,l,b){b=b||1;l=parseInt(l,10);var m=k.length,i=l+b,a;for(;i!=l;i+=b){if(i>=m){i=0}else{if(i<0){i=m-1}}a=k[i];if(c.is(a,":focusable")){return[a]}else{if(a.placeholder&&c.is(a.placeholder,":focusable")){return[a.placeholder]}}}return[]},prevFocus:function(a,b){return this.nextFocus(a,b,-1)},root:function(j){var k=j.length,b=[],i=0,a;for(;i<k;i++){a=j[i];if(!a.ownerCt){b.push(a)}}return b}})},addXTypeToWhitelist:function(c){var d=this;if(Ext.isArray(c)){Ext.Array.forEach(c,d.addXTypeToWhitelist,d);return}if(!Ext.Array.contains(d.whitelist,c)){d.whitelist.push(c)}},clearComponent:function(b){clearTimeout(this.cmpFocusDelay);if(!b.isDestroyed){b.blur()}},disable:function(){var b=this;if(!b.enabled){return}delete b.options;b.enabled=false;Ext.ComponentManager.all.un("add",b.onComponentCreated,b);b.removeDOM();b.keyNav.disable();b.setFocusAll(false);b.fireEvent("disable",b)},enable:function(d){var c=this;if(d===true){d={focusFrame:true}}c.options=d=d||{};if(c.enabled){return}Ext.ComponentManager.all.on("add",c.onComponentCreated,c);c.initDOM(d);c.keyNav.enable();c.setFocusAll(true,d);c.focusEl.focus();delete c.focusedCmp;c.enabled=true;c.fireEvent("enable",c)},focusLast:function(c){var d=this;if(d.isWhitelisted(d.focusedCmp)){return true}if(d.previousFocusedCmp){d.previousFocusedCmp.focus()}},getRootComponents:function(){var f=this,h=Ext.ComponentQuery,e=h.query(":focusable:root:not([floating])"),g=h.query(":focusable:root[floating]");g.sort(function(a,b){return a.el.getZIndex()>b.el.getZIndex()});return g.concat(e)},initDOM:function(e){var h=this,g=" ",f=h.focusFrameCls;if(!Ext.isReady){Ext.onReady(h.initDOM,h);return}if(!h.focusEl){h.focusEl=Ext.getBody().createChild({tabIndex:"-1",cls:h.focusElementCls,html:g})}if(!h.focusFrame&&e.focusFrame){h.focusFrame=Ext.getBody().createChild({cls:f,children:[{cls:f+"-top"},{cls:f+"-bottom"},{cls:f+"-left"},{cls:f+"-right"}],style:"top: -100px; left: -100px;"});h.focusFrame.setVisibilityMode(Ext.Element.DISPLAY);h.focusFrameWidth=2;h.focusFrame.hide().setLeftTop(0,0)}},isWhitelisted:function(b){return b&&Ext.Array.some(this.whitelist,function(a){return b.isXType(a)})},navigateIn:function(i){var e=this,g=e.focusedCmp,h,j;if(!g){h=e.getRootComponents();if(h.length){h[0].focus()}}else{j=Ext.ComponentQuery.query(">:focusable",g)[0];if(j){j.focus()}else{if(Ext.isFunction(g.onClick)){i.button=0;g.onClick(i);g.focus()}}}},navigateOut:function(f){var d=this,e;if(!d.focusedCmp||!(e=d.focusedCmp.up(":focusable"))){d.focusEl.focus()}else{e.focus()}return true},navigateSiblings:function(t,y,o){var s=this,z=y||s,e=t.getKey(),v=Ext.EventObject,r=t.shiftKey||e==v.LEFT||e==v.UP,x=e==v.LEFT||e==v.RIGHT||e==v.UP||e==v.DOWN,u=r?"prev":"next",p,w,q;q=(z.focusedCmp&&z.focusedCmp.comp)||z.focusedCmp;if(!q&&!o){return}if(x&&s.isWhitelisted(q)){return true}o=o||q.up();if(o){p=q?Ext.Array.indexOf(o.getRefItems(),q):-1;w=Ext.ComponentQuery.query(">:"+u+"Focus("+p+")",o)[0];if(w&&q!==w){w.focus();return w}}},onComponentBlur:function(d,f){var e=this;if(e.focusedCmp===d){e.previousFocusedCmp=d;delete e.focusedCmp}if(e.focusFrame){e.focusFrame.hide()}},onComponentCreated:function(d,f,e){this.setFocus(e,true,this.options)},onComponentDestroy:function(b){this.setFocus(b,false)},onComponentFocus:function(v,y){var x=this,H=x.focusChain;if(!Ext.ComponentQuery.is(v,":focusable")){x.clearComponent(v);if(H[v.id]){return}var t=v.up();if(t){H[v.id]=true;t.focus()}return}x.focusChain={};clearTimeout(x.cmpFocusDelay);if(arguments.length!==2){x.cmpFocusDelay=Ext.defer(x.onComponentFocus,90,x,[v,y]);return}if(x.fireEvent("beforecomponentfocus",x,v,x.previousFocusedCmp)===false){x.clearComponent(v);return}x.focusedCmp=v;if(x.shouldShowFocusFrame(v)){var e="."+x.focusFrameCls+"-",G=x.focusFrame,D=x.focusFrameWidth,A=v.el.getPageBox(),s=A.top,F=A.left,w=A.width,C=A.height,B=G.child(e+"top"),E=G.child(e+"bottom"),u=G.child(e+"left"),z=G.child(e+"right");B.setWidth(w).setLeftTop(F,s);E.setWidth(w).setLeftTop(F,s+C-D);u.setHeight(C-D-D).setLeftTop(F,s+D);z.setHeight(C-D-D).setLeftTop(F+w-D,s+D);G.show()}x.fireEvent("componentfocus",x,v,x.previousFocusedCmp)},onComponentHide:function(j){var k=this,i=Ext.ComponentQuery,g=false,h,l;if(k.focusedCmp){h=i.query("[id="+k.focusedCmp.id+"]",j)[0];g=k.focusedCmp.id===j.id||h;if(h){k.clearComponent(h)}}k.clearComponent(j);if(g){l=i.query("^:focusable",j)[0];if(l){l.focus()}}},removeDOM:function(){var b=this;if(b.enabled||b.subscribers.length){return}Ext.destroy(b.focusEl,b.focusFrame);delete b.focusEl;delete b.focusFrame;delete b.focusFrameWidth},removeXTypeFromWhitelist:function(c){var d=this;if(Ext.isArray(c)){Ext.Array.forEach(c,d.removeXTypeFromWhitelist,d);return}Ext.Array.remove(d.whitelist,c)},setFocus:function(n,k,i){var o=this,p,l,m,j=function(a){return !Ext.Array.contains(o.tabIndexWhitelist,a.tagName.toLowerCase())&&a.tabIndex<=0};i=i||{};if(!n.rendered){n.on("afterrender",Ext.pass(o.setFocus,arguments,o),o,{single:true});return}p=n.getFocusEl();l=p.dom;if((k&&!o.focusData[n.id])||(!k&&o.focusData[n.id])){if(k){m={focusFrame:i.focusFrame};if(j(l)){m.tabIndex=l.tabIndex;l.tabIndex=-1}p.on({focus:m.focusFn=Ext.bind(o.onComponentFocus,o,[n],0),blur:m.blurFn=Ext.bind(o.onComponentBlur,o,[n],0),scope:o});n.on({hide:o.onComponentHide,close:o.onComponentHide,beforedestroy:o.onComponentDestroy,scope:o});o.focusData[n.id]=m}else{m=o.focusData[n.id];if("tabIndex" in m){l.tabIndex=m.tabIndex}p.un("focus",m.focusFn,o);p.un("blur",m.blurFn,o);n.un("hide",o.onComponentHide,o);n.un("close",o.onComponentHide,o);n.un("beforedestroy",o.onComponentDestroy,o);delete o.focusData[n.id]}}},setFocusAll:function(j,n){var k=this,h=Ext.ComponentManager.all.getArray(),i=h.length,l,m=0;for(;m<i;m++){k.setFocus(h[m],j,n)}},setupSubscriberKeys:function(i,k){var l=this,m=i.getFocusEl(),n=k.scope,h={backspace:l.focusLast,enter:l.navigateIn,esc:l.navigateOut,scope:l},j=function(a){if(l.focusedCmp===i){return l.navigateSiblings(a,l,i)}else{return l.navigateSiblings(a)}};Ext.iterate(k,function(a,b){h[a]=function(c){var d=j(c);if(Ext.isFunction(b)&&b.call(n||i,c,d)===true){return true}return d}},l);return Ext.create("Ext.util.KeyNav",m,h)},shouldShowFocusFrame:function(f){var d=this,e=d.options||{};if(!d.focusFrame||!f){return false}if(e.focusFrame){return true}if(d.focusData[f.id].focusFrame){return true}return false},subscribe:function(i,n){var k=this,l=Ext.Array,j={},m=k.subscribers,h=function(a){if(a.isContainer&&!m.containsKey(a.id)){l.forEach(a.query(">"),h);k.setFocus(a,true,n);a.on("add",j.onAdd,k)}else{if(!a.isContainer){k.setFocus(a,true,n)}}};if(!i||!i.isContainer){return}if(!i.rendered){i.on("afterrender",Ext.pass(k.subscribe,arguments,k),k,{single:true});return}k.initDOM(n);j.keyNav=k.setupSubscriberKeys(i,n.keys);j.onAdd=function(b,a,c){h(a)};i.on("beforedestroy",k.unsubscribe,k);h(i);m.add(i.id,j)},unsubscribe:function(h){var j=this,k=Ext.Array,l=j.subscribers,i,g=function(a){if(a.isContainer&&!l.containsKey(a.id)){k.forEach(a.query(">"),g);j.setFocus(a,false);a.un("add",i.onAdd,j)}else{if(!a.isContainer){j.setFocus(a,false)}}};if(!h||!l.containsKey(h.id)){return}i=l.get(h.id);i.keyNav.destroy();h.un("beforedestroy",j.unsubscribe,j);l.removeAtKey(h.id);g(h);j.removeDOM()}});Ext.define("Docs.view.cls.PackageLogic",{extend:"Docs.view.cls.Logic",create:function(){this.root={children:[],text:"Root"};this.packages={"":this.root};Ext.Array.forEach(this.classes,this.addClass,this);this.sortTree(this.root);return this.root},sortTree:function(b){b.children.sort(this.compare);Ext.Array.forEach(b.children,this.sortTree,this)},compare:function(g,h){if(g.leaf===h.leaf){var b=g.text.toLowerCase();var a=h.text.toLowerCase();return b>a?1:(b<a?-1:0)}else{return g.leaf?1:-1}},addClass:function(g){if(g["private"]&&!this.showPrivateClasses){return}if(this.packages[g.name]){var f=this.packages[g.name];var i=this.classNode(g);f.iconCls=i.iconCls;f.url=i.url}else{var h=this.packageName(g.name);var j=this.packages[h]||this.addPackage(h);if(j.leaf){j.leaf=false}var i=this.classNode(g);j.children.push(i);this.packages[g.name]=i}},addPackage:function(e){var g=this.packageName(e);var h=this.packages[g]||this.addPackage(g);var f=this.packageNode(e);h.children.push(f);this.packages[e]=f;return f},classNode:function(b){return{text:this.shortName(b.name),url:"#!/api/"+b.name,iconCls:b.icon,cls:b["private"]?"private":"",leaf:true,children:[]}},packageNode:function(b){return{text:this.shortName(b),iconCls:"icon-pkg",leaf:false,children:[]}},packageName:function(b){return b.slice(0,-this.shortName(b).length-1)||""},shortName:function(d){var c=d.split(/\./);return c.pop()}});Ext.define("Docs.view.cls.InheritanceLogic",{extend:"Docs.view.cls.Logic",create:function(){this.root={children:[],text:"Root"};this.subclasses=this.buildLookupTable(this.classes);Ext.Array.forEach(this.classes,this.addClass,this);this.sortTree(this.root);return this.root},sortTree:function(b){b.children.sort(this.compare,this);Ext.Array.forEach(b.children,this.sortTree,this)},compare:function(g,h){var b=g.text.toLowerCase();var a=h.text.toLowerCase();return b>a?1:(b<a?-1:0)},buildLookupTable:function(d){var c={};Ext.Array.forEach(d,function(b){if(b["private"]&&!this.showPrivateClasses){return}var a=b["extends"];if(a&&a!=="Object"){if(!c[a]){c[a]=[]}c[a].push(b)}},this);return c},classNode:function(b){return{text:b.name,url:"#!/api/"+b.name,iconCls:b.icon,cls:b["private"]?"private":""}},addClass:function(e){if(e["private"]&&!this.showPrivateClasses){return}var d=e["extends"];if(!d||d==="Object"){var f=this.classNode(e);this.root.children.push(f);f.children=this.getSubclasses(e.name);f.leaf=f.children.length===0}},getSubclasses:function(b){if(!this.subclasses[b]){return[]}return Ext.Array.map(this.subclasses[b],function(a){var d=this.classNode(a);d.children=this.getSubclasses(a.name);d.leaf=d.children.length===0;return d},this)}});Ext.define("Ext.form.Labelable",{requires:["Ext.XTemplate"],labelableRenderTpl:['<tpl if="!hideLabel && !(!fieldLabel && hideEmptyLabel)">','<label id="{id}-labelEl"<tpl if="inputId"> for="{inputId}"</tpl> class="{labelCls}"','<tpl if="labelStyle"> style="{labelStyle}"</tpl>>','<tpl if="fieldLabel">{fieldLabel}{labelSeparator}</tpl>',"</label>","</tpl>",'<div class="{baseBodyCls} {fieldBodyCls}" id="{id}-bodyEl" role="presentation">{subTplMarkup}</div>','<div id="{id}-errorEl" class="{errorMsgCls}" style="display:none"></div>','<div class="{clearCls}" role="presentation"><!-- --></div>',{compiled:true,disableFormats:true}],activeErrorsTpl:['<tpl if="errors && errors.length">','<ul><tpl for="errors"><li<tpl if="xindex == xcount"> class="last"</tpl>>{.}</li></tpl></ul>',"</tpl>"],isFieldLabelable:true,formItemCls:Ext.baseCSSPrefix+"form-item",labelCls:Ext.baseCSSPrefix+"form-item-label",errorMsgCls:Ext.baseCSSPrefix+"form-error-msg",baseBodyCls:Ext.baseCSSPrefix+"form-item-body",fieldBodyCls:"",clearCls:Ext.baseCSSPrefix+"clear",invalidCls:Ext.baseCSSPrefix+"form-invalid",fieldLabel:undefined,labelAlign:"left",labelWidth:100,labelPad:5,labelSeparator:":",hideLabel:false,hideEmptyLabel:true,preventMark:false,autoFitErrors:true,msgTarget:"qtip",initLabelable:function(){this.addCls(this.formItemCls);this.addEvents("errorchange")},getFieldLabel:function(){return this.fieldLabel||""},getLabelableRenderData:function(){var j=this,g=j.labelAlign,i=j.labelCls,k=j.labelClsExtra,l=j.labelPad,h;if(g==="top"){h="margin-bottom:"+l+"px;"}else{h="margin-right:"+l+"px;";if(Ext.isBorderBox){h+="width:"+j.labelWidth+"px;"}}return Ext.copyTo({inputId:j.getInputId(),fieldLabel:j.getFieldLabel(),labelCls:k?i+" "+k:i,labelStyle:h+(j.labelStyle||""),subTplMarkup:j.getSubTplMarkup()},j,"hideLabel,hideEmptyLabel,fieldBodyCls,baseBodyCls,errorMsgCls,clearCls,labelSeparator",true)},onLabelableRender:function(){this.addChildEls("labelEl","bodyEl","errorEl")},getSubTplMarkup:function(){return""},getInputId:function(){return""},getActiveError:function(){return this.activeError||""},hasActiveError:function(){return !!this.getActiveError()},setActiveError:function(b){this.activeError=b;this.activeErrors=[b];this.renderActiveError()},getActiveErrors:function(){return this.activeErrors||[]},setActiveErrors:function(b){this.activeErrors=b;this.activeError=this.getTpl("activeErrorsTpl").apply({errors:b});this.renderActiveError()},unsetActiveError:function(){delete this.activeError;delete this.activeErrors;this.renderActiveError()},renderActiveError:function(){var f=this,d=f.getActiveError(),e=!!d;if(d!==f.lastActiveError){f.fireEvent("errorchange",f,d);f.lastActiveError=d}if(f.rendered&&!f.isDestroyed&&!f.preventMark){f.el[e?"addCls":"removeCls"](f.invalidCls);f.getActionEl().dom.setAttribute("aria-invalid",e);f.errorEl.dom.innerHTML=d}},setFieldDefaults:function(c){var d=this;Ext.iterate(c,function(b,a){if(!d.hasOwnProperty(b)){d[b]=a}})},getBodyNaturalWidth:function(){return this.bodyEl.getWidth()}});Ext.define("Ext.layout.component.Component",{extend:"Ext.layout.Layout",type:"component",monitorChildren:true,initLayout:function(){var f=this,e=f.owner,d=e.el;if(!f.initialized){if(e.frameSize){f.frameSize=e.frameSize}else{e.frameSize=f.frameSize={top:0,left:0,bottom:0,right:0}}}f.callParent(arguments)},beforeLayout:function(u,m,l,o){this.callParent(arguments);var p=this,t=p.owner,s=t.ownerCt,q=t.layout,r=t.isVisible(true),v=t.el.child,n;p.previousComponentSize=p.lastComponentSize;if(!l&&((!Ext.isNumber(u)&&t.isFixedWidth())||(!Ext.isNumber(m)&&t.isFixedHeight()))&&o&&o!==s){p.doContainerLayout();return false}if(!r&&(t.hiddenAncestor||t.floating)){if(t.hiddenAncestor){n=t.hiddenAncestor.layoutOnShow;n.remove(t);n.add(t)}t.needsLayout={width:u,height:m,isSetSize:false}}if(r&&this.needsLayout(u,m)){return t.beforeComponentLayout(u,m,l,o)}else{return false}},needsLayout:function(i,g){var h=this,j,f;h.lastComponentSize=h.lastComponentSize||{width:-Infinity,height:-Infinity};j=!Ext.isDefined(i)||h.lastComponentSize.width!==i;f=!Ext.isDefined(g)||h.lastComponentSize.height!==g;return !h.isSizing&&(h.childrenChanged||j||f)},setElementSize:function(f,d,e){if(d!==undefined&&e!==undefined){f.setSize(d,e)}else{if(e!==undefined){f.setHeight(e)}else{if(d!==undefined){f.setWidth(d)}}}},getTarget:function(){return this.owner.el},getRenderTarget:function(){return this.owner.el},setTargetSize:function(m,i){var l=this;l.setElementSize(l.owner.el,m,i);if(l.owner.frameBody){var j=l.getTargetInfo(),k=j.padding,n=j.border,h=l.frameSize;l.setElementSize(l.owner.frameBody,Ext.isNumber(m)?(m-h.left-h.right-k.left-k.right-n.left-n.right):m,Ext.isNumber(i)?(i-h.top-h.bottom-k.top-k.bottom-n.top-n.bottom):i)}l.autoSized={width:!Ext.isNumber(m),height:!Ext.isNumber(i)};l.lastComponentSize={width:m,height:i}},getTargetInfo:function(){if(!this.targetInfo){var c=this.getTarget(),d=this.owner.getTargetEl();this.targetInfo={padding:{top:c.getPadding("t"),right:c.getPadding("r"),bottom:c.getPadding("b"),left:c.getPadding("l")},border:{top:c.getBorderWidth("t"),right:c.getBorderWidth("r"),bottom:c.getBorderWidth("b"),left:c.getBorderWidth("l")},bodyMargin:{top:d.getMargin("t"),right:d.getMargin("r"),bottom:d.getMargin("b"),left:d.getMargin("l")}}}return this.targetInfo},doOwnerCtLayouts:function(){var i=this.owner,n=i.ownerCt,p,k,o=this.lastComponentSize,l=this.previousComponentSize,j=(l&&o&&Ext.isNumber(o.width))?o.width!==l.width:true,m=(l&&o&&Ext.isNumber(o.height))?o.height!==l.height:true;if(!n||(!j&&!m)){return}p=n.componentLayout;k=n.layout;if(!i.floating&&p&&p.monitorChildren&&!p.layoutBusy){if(!n.suspendLayout&&k&&!k.layoutBusy){if(((j&&!n.isFixedWidth())||(m&&!n.isFixedHeight()))){this.isSizing=true;n.doComponentLayout();this.isSizing=false}else{if(k.bindToOwnerCtContainer===true){k.layout()}}}}},doContainerLayout:function(){var h=this,g=h.owner,j=g.ownerCt,i=g.layout,f;if(!g.suspendLayout&&i&&i.isLayout&&!i.layoutBusy&&!i.isAutoDock){i.layout()}if(j&&j.componentLayout){f=j.componentLayout;if(!g.floating&&f.monitorChildren&&!f.layoutBusy){f.childrenChanged=true}}},afterLayout:function(h,f,e,g){this.doContainerLayout();this.owner.afterComponentLayout(h,f,e,g)}});Ext.define("Ext.layout.component.field.Field",{alias:["layout.field"],extend:"Ext.layout.component.Component",uses:["Ext.tip.QuickTip","Ext.util.TextMetrics"],type:"field",beforeLayout:function(d,e){var f=this;return f.callParent(arguments)||(!f.owner.preventMark&&f.activeError!==f.owner.getActiveError())},onLayout:function(z,o){var u=this,y=u.owner,v=u.getLabelStrategy(),p=u.getErrorStrategy(),r=Ext.isDefined,n=Ext.isNumber,s,t,q,x,w;s=u.lastComponentSize||{};if(!r(z)){z=s.width;if(z<0){z=w}}if(!r(o)){o=s.height;if(o<0){o=w}}t=!n(z);q=!n(o);x={autoWidth:t,autoHeight:q,width:t?y.getBodyNaturalWidth():z,height:o,setOuterWidth:false,insets:{top:0,right:0,bottom:0,left:0}};v.prepare(y,x);p.prepare(y,x);v.adjustHorizInsets(y,x);p.adjustHorizInsets(y,x);v.layoutHoriz(y,x);p.layoutHoriz(y,x);v.adjustVertInsets(y,x);p.adjustVertInsets(y,x);v.layoutVert(y,x);p.layoutVert(y,x);if(t&&q){u.setElementSize(y.el,(x.setOuterWidth?x.width:w),x.height)}else{u.setTargetSize((!t||x.setOuterWidth?x.width:w),x.height)}u.sizeBody(x);u.activeError=y.getActiveError()},onFocus:function(){this.getErrorStrategy().onFocus(this.owner)},sizeBody:function(k){var l=this,p=l.owner,o=k.insets,i=k.width,n=k.height,m=Ext.isNumber(i)?i-o.left-o.right:i,j=Ext.isNumber(n)?n-o.top-o.bottom:n;l.setElementSize(p.bodyEl,m,j);l.sizeBodyContents(m,j)},sizeBodyContents:Ext.emptyFn,getLabelStrategy:function(){var d=this,f=d.labelStrategies,e=d.owner.labelAlign;return f[e]||f.base},getErrorStrategy:function(){var h=this,f=h.owner,g=h.errorStrategies,e=f.msgTarget;return !f.preventMark&&Ext.isString(e)?(g[e]||g.elementId):g.none},labelStrategies:(function(){var e=Ext.applyIf,f=Ext.emptyFn,h={prepare:function(d,a){var c=d.labelCls+"-"+d.labelAlign,b=d.labelEl;if(b&&!b.hasCls(c)){b.addCls(c)}},adjustHorizInsets:f,adjustVertInsets:f,layoutHoriz:f,layoutVert:f},g=e({prepare:function(b,a){h.prepare(b,a);if(a.autoWidth){a.width+=(!b.labelEl?0:b.labelWidth+b.labelPad)}a.setOuterWidth=true},adjustHorizInsets:function(b,a){if(b.labelEl){a.insets.left+=b.labelWidth+b.labelPad}},layoutHoriz:function(c,a){var b=c.labelEl;if(b&&!c.isLabelSized&&!Ext.isBorderBox){b.setWidth(c.labelWidth);c.isLabelSized=true}}},h);return{base:h,top:e({adjustVertInsets:function(c,a){var b=c.labelEl;if(b){a.insets.top+=Ext.util.TextMetrics.measure(b,c.fieldLabel,a.width).height+b.getFrameWidth("tb")+c.labelPad}}},h),left:g,right:g}})(),errorStrategies:(function(){function k(b,c){var a=b.getStyle("display")!=="none";if(c!==a){b.setDisplayed(c)}}function i(b,c,a){if(b.getStyle(c)!==a){b.setStyle(c,a)}}function l(c){var b=Ext.layout.component.field.Field.tip,a;if(b&&b.isVisible()){a=b.activeTarget;if(a&&a.el===c.getActionEl().dom){b.toFront(true)}}}var g=Ext.applyIf,h=Ext.emptyFn,j={prepare:function(a){k(a.errorEl,false)},adjustHorizInsets:h,adjustVertInsets:h,layoutHoriz:h,layoutVert:h,onFocus:h};return{none:j,side:g({prepare:function(b){var a=b.errorEl;a.addCls(Ext.baseCSSPrefix+"form-invalid-icon");Ext.layout.component.field.Field.initTip();a.dom.setAttribute("data-errorqtip",b.getActiveError()||"");k(a,b.hasActiveError())},adjustHorizInsets:function(b,a){if(b.autoFitErrors&&b.hasActiveError()){a.insets.right+=b.errorEl.getWidth()}},layoutHoriz:function(b,a){if(b.hasActiveError()){i(b.errorEl,"left",a.width-a.insets.right+"px")}},layoutVert:function(b,a){if(b.hasActiveError()){i(b.errorEl,"top",a.insets.top+"px")}},onFocus:l},j),under:g({prepare:function(c){var a=c.errorEl,b=Ext.baseCSSPrefix+"form-invalid-under";if(!a.hasCls(b)){a.addCls(b)}k(a,c.hasActiveError())},adjustVertInsets:function(b,a){if(b.autoFitErrors){a.insets.bottom+=b.errorEl.getHeight()}},layoutHoriz:function(d,b){var a=d.errorEl,c=b.insets;i(a,"width",b.width-c.right-c.left+"px");i(a,"marginLeft",c.left+"px")}},j),qtip:g({prepare:function(a){k(a.errorEl,false);Ext.layout.component.field.Field.initTip();a.getActionEl().dom.setAttribute("data-errorqtip",a.getActiveError()||"")},onFocus:l},j),title:g({prepare:function(a){k(a.errorEl,false);a.el.dom.title=a.getActiveError()||""}},j),elementId:g({prepare:function(b){k(b.errorEl,false);var a=Ext.fly(b.msgTarget);if(a){a.dom.innerHTML=b.getActiveError()||"";a.setDisplayed(b.hasActiveError())}}},j)}})(),statics:{initTip:function(){var b=this.tip;if(!b){b=this.tip=Ext.create("Ext.tip.QuickTip",{baseCls:Ext.baseCSSPrefix+"form-invalid-tip",renderTo:Ext.getBody()});b.tagConfig=Ext.apply({},{attribute:"errorqtip"},b.tagConfig)}},destroyTip:function(){var b=this.tip;if(b){b.destroy();delete this.tip}}}});Ext.define("Ext.layout.component.field.Trigger",{alias:["layout.triggerfield"],extend:"Ext.layout.component.field.Field",type:"triggerfield",sizeBodyContents:function(m,h){var l=this,i=l.owner,j=i.inputEl,n=i.triggerWrap,k=i.getTriggerWidth();if(i.hideTrigger||i.readOnly||k>0){l.setElementSize(j,Ext.isNumber(m)?m-k:m);n.setWidth(k)}}});Ext.define("Ext.layout.component.field.Text",{extend:"Ext.layout.component.field.Field",alias:"layout.textfield",requires:["Ext.util.TextMetrics"],type:"textfield",beforeLayout:function(k,g){var j=this,h=j.owner,l=this.lastValue,i=h.getRawValue();this.lastValue=i;return j.callParent(arguments)||(h.grow&&i!==l)},sizeBodyContents:function(f,e){var d=this.adjustForGrow(f,e);this.setElementSize(this.owner.inputEl,d[0],d[1])},adjustForGrow:function(n,p){var m=this,i=m.owner,k,l,o,j=[n,p];if(i.grow){k=i.inputEl;l=(k.dom.value||(i.hasFocus?"":i.emptyText)||"")+i.growAppend;o=k.getTextWidth(l)+k.getBorderWidth("lr")+k.getPadding("lr");j[0]=Ext.Number.constrain(o,i.growMin,Math.max(i.growMin,Math.min(i.growMax,Ext.isNumber(n)?n:Infinity)))}return j}});Ext.define("Ext.layout.component.AbstractDock",{extend:"Ext.layout.component.Component",type:"dock",autoSizing:true,beforeLayout:function(){var b=this.callParent(arguments);if(b!==false&&(!this.initializedBorders||this.childrenChanged)&&(!this.owner.border||this.owner.manageBodyBorders)){this.handleItemBorders();this.initializedBorders=true}return b},handleItemBorders:function(){var v=this.owner,r=v.body,i=this.getLayoutItems(),p={top:[],right:[],bottom:[],left:[]},u=this.borders,s={top:"bottom",right:"left",bottom:"top",left:"right"},t,o,m,n,q;for(t=0,o=i.length;t<o;t++){m=i[t];n=m.dock;if(m.ignoreBorderManagement){continue}if(!p[n].satisfied){p[n].push(m);p[n].satisfied=true}if(!p.top.satisfied&&s[n]!=="top"){p.top.push(m)}if(!p.right.satisfied&&s[n]!=="right"){p.right.push(m)}if(!p.bottom.satisfied&&s[n]!=="bottom"){p.bottom.push(m)}if(!p.left.satisfied&&s[n]!=="left"){p.left.push(m)}}if(u){for(q in u){if(u.hasOwnProperty(q)){o=u[q].length;if(!v.manageBodyBorders){for(t=0;t<o;t++){u[q][t].removeCls(Ext.baseCSSPrefix+"docked-noborder-"+q)}if(!u[q].satisfied&&!v.bodyBorder){r.removeCls(Ext.baseCSSPrefix+"docked-noborder-"+q)}}else{if(u[q].satisfied){r.setStyle("border-"+q+"-width","")}}}}}for(q in p){if(p.hasOwnProperty(q)){o=p[q].length;if(!v.manageBodyBorders){for(t=0;t<o;t++){p[q][t].addCls(Ext.baseCSSPrefix+"docked-noborder-"+q)}if((!p[q].satisfied&&!v.bodyBorder)||v.bodyBorder===false){r.addCls(Ext.baseCSSPrefix+"docked-noborder-"+q)}}else{if(p[q].satisfied){r.setStyle("border-"+q+"-width","1px")}}}}this.borders=p},onLayout:function(z,n){if(this.onLayout_running){return}this.onLayout_running=true;var r=this,y=r.owner,t=y.body,u=y.layout,s=r.getTarget(),p=false,o=false,q,v,w;var x=r.info={boxes:[],size:{width:z,height:n},bodyBox:{}};delete u.isAutoDock;Ext.applyIf(x,r.getTargetInfo());if(y&&y.ownerCt&&y.ownerCt.layout&&y.ownerCt.layout.isLayout){if(!Ext.isNumber(y.height)||!Ext.isNumber(y.width)){y.ownerCt.layout.bindToOwnerCtComponent=true}else{y.ownerCt.layout.bindToOwnerCtComponent=false}}if(n==null||z==null){q=x.padding;v=x.border;w=r.frameSize;if((n==null)&&(z==null)){o=true;p=true;r.setTargetSize(null);r.setBodyBox({width:null,height:null})}else{if(n==null){o=true;r.setTargetSize(z);r.setBodyBox({width:z-q.left-v.left-q.right-v.right-w.left-w.right,height:null})}else{p=true;r.setTargetSize(null,n);r.setBodyBox({width:null,height:n-q.top-q.bottom-v.top-v.bottom-w.top-w.bottom})}}if(u&&u.isLayout){u.bindToOwnerCtComponent=true;u.isAutoDock=u.autoSize!==true;u.layout();x.autoSizedCtLayout=u.autoSize===true;x.autoHeight=o;x.autoWidth=p}r.dockItems();r.setTargetSize(x.size.width,x.size.height)}else{r.setTargetSize(z,n);r.dockItems()}r.callParent(arguments);this.onLayout_running=false},dockItems:function(){this.calculateDockBoxes();var l=this.info,k=l.autoWidth,j=l.autoHeight,p=l.boxes,m=p.length,n,i,o;for(i=0;i<m;i++){n=p[i];o=n.item;o.setPosition(n.x,n.y);if((k||j)&&o.layout&&o.layout.isLayout){o.layout.bindToOwnerCtComponent=true}}if(!l.autoSizedCtLayout){if(k){l.bodyBox.width=null}if(j){l.bodyBox.height=null}}this.setBodyBox(l.bodyBox)},calculateDockBoxes:function(){if(this.calculateDockBoxes_running){return}this.calculateDockBoxes_running=true;var y=this,B=y.getTarget(),z=y.getLayoutItems(),H=y.owner,s=H.body,G=y.info,v=G.autoWidth,u=G.autoHeight,i=G.size,A=z.length,w=G.padding,E=G.border,F=y.frameSize,t,D,C,x;if(u){i.height=s.getHeight()+w.top+E.top+w.bottom+E.bottom+F.top+F.bottom}else{i.height=B.getHeight()}if(v){i.width=s.getWidth()+w.left+E.left+w.right+E.right+F.left+F.right}else{i.width=B.getWidth()}G.bodyBox={x:w.left+F.left,y:w.top+F.top,width:i.width-w.left-E.left-w.right-E.right-F.left-F.right,height:i.height-E.top-w.top-E.bottom-w.bottom-F.top-F.bottom};for(D=0;D<A;D++){t=z[D];C=y.initBox(t);if(u===true){C=y.adjustAutoBox(C,D)}else{C=y.adjustSizedBox(C,D)}G.boxes.push(C)}this.calculateDockBoxes_running=false},adjustSizedBox:function(n,o){var j=this.info.bodyBox,i=this.frameSize,l=this.info,m=l.padding,k=n.type,p=l.border;switch(k){case"top":n.y=j.y;break;case"left":n.x=j.x;break;case"bottom":n.y=(j.y+j.height)-n.height;break;case"right":n.x=(j.x+j.width)-n.width;break}if(n.ignoreFrame){if(k=="bottom"){n.y+=(i.bottom+m.bottom+p.bottom)}else{n.y-=(i.top+m.top+p.top)}if(k=="right"){n.x+=(i.right+m.right+p.right)}else{n.x-=(i.left+m.left+p.left)}}if(!n.overlay){switch(k){case"top":j.y+=n.height;j.height-=n.height;break;case"left":j.x+=n.width;j.width-=n.width;break;case"bottom":j.height-=n.height;break;case"right":j.width-=n.width;break}}return n},adjustAutoBox:function(y,v){var E=this.info,F=this.owner,u=E.bodyBox,i=E.size,x=E.boxes,A=x.length,s=y.type,B=this.frameSize,r=E.padding,C=E.border,D=E.autoSizedCtLayout,t=(A<v)?A:v,z,w;if(s=="top"||s=="bottom"){for(z=0;z<t;z++){w=x[z];if(w.stretched&&w.type=="left"||w.type=="right"){w.height+=y.height}else{if(w.type=="bottom"){w.y+=y.height}}}}switch(s){case"top":y.y=u.y;if(!y.overlay){u.y+=y.height;if(E.autoHeight){i.height+=y.height}else{u.height-=y.height}}break;case"bottom":if(!y.overlay){if(E.autoHeight){i.height+=y.height}else{u.height-=y.height}}y.y=(u.y+u.height);break;case"left":y.x=u.x;if(!y.overlay){u.x+=y.width;if(E.autoWidth){i.width+=y.width}else{u.width-=y.width}}break;case"right":if(!y.overlay){if(E.autoWidth){i.width+=y.width}else{u.width-=y.width}}y.x=(u.x+u.width);break}if(y.ignoreFrame){if(s=="bottom"){y.y+=(B.bottom+r.bottom+C.bottom)}else{y.y-=(B.top+r.top+C.top)}if(s=="right"){y.x+=(B.right+r.right+C.right)}else{y.x-=(B.left+r.left+C.left)}}return y},initBox:function(k){var m=this,n=m.info.bodyBox,t=(k.dock=="top"||k.dock=="bottom"),s=m.owner,p=m.frameSize,r=m.info,l=r.padding,q=r.border,o={item:k,overlay:k.overlay,type:k.dock,offsets:Ext.Element.parseBox(k.offsets||{}),ignoreFrame:k.ignoreParentFrame};if(k.stretch!==false){o.stretched=true;if(t){o.x=n.x+o.offsets.left;o.width=n.width-(o.offsets.left+o.offsets.right);if(o.ignoreFrame){o.width+=(p.left+p.right+q.left+q.right+l.left+l.right)}k.setCalculatedSize(o.width-k.el.getMargin("lr"),undefined,s)}else{o.y=n.y+o.offsets.top;o.height=n.height-(o.offsets.bottom+o.offsets.top);if(o.ignoreFrame){o.height+=(p.top+p.bottom+q.top+q.bottom+l.top+l.bottom)}k.setCalculatedSize(undefined,o.height-k.el.getMargin("tb"),s);if(!Ext.supports.ComputedStyle){k.el.repaint()}}}else{k.doComponentLayout();o.width=k.getWidth()-(o.offsets.left+o.offsets.right);o.height=k.getHeight()-(o.offsets.bottom+o.offsets.top);o.y+=o.offsets.top;if(t){o.x=(k.align=="right")?n.width-o.width:n.x;o.x+=o.offsets.left}}if(o.width===undefined){o.width=k.getWidth()+k.el.getMargin("lr")}if(o.height===undefined){o.height=k.getHeight()+k.el.getMargin("tb")}return o},getLayoutItems:function(){var h=this.owner.getDockedItems(),g=h.length,e=0,f=[];for(;e<g;e++){if(h[e].isVisible(true)){f.push(h[e])}}return f},renderItems:function(n,p){var t=p.dom.childNodes,q=t.length,o=n.length,j=0,r,s,m,i;for(r=0;r<q;r++){m=Ext.get(t[r]);for(s=0;s<o;s++){i=n[s];if(i.rendered&&(m.id==i.el.id||m.contains(i.el.id))){break}}if(s===o){j++}}for(r=0,s=0;r<o;r++,s++){i=n[r];if(r===s&&(i.dock==="right"||i.dock==="bottom")){s+=j}if(i&&!i.rendered){this.renderItem(i,p,s)}else{if(!this.isValidParent(i,p,s)){this.moveItem(i,p,s)}}}},setBodyBox:function(m){var k=this,r=k.owner,l=r.body,q=k.info,n=q.bodyMargin,j=q.padding,o=q.border,p=k.frameSize;if(r.collapsed){return}if(Ext.isNumber(m.width)){m.width-=n.left+n.right}if(Ext.isNumber(m.height)){m.height-=n.top+n.bottom}k.setElementSize(l,m.width,m.height);if(Ext.isNumber(m.x)){l.setLeft(m.x-j.left-p.left)}if(Ext.isNumber(m.y)){l.setTop(m.y-j.top-p.top)}},configureItem:function(d,c){this.callParent(arguments);if(d.dock=="top"||d.dock=="bottom"){d.layoutManagedWidth=1;d.layoutManagedHeight=2}else{d.layoutManagedWidth=2;d.layoutManagedHeight=1}d.addCls(Ext.baseCSSPrefix+"docked");d.addClsWithUI("docked-"+d.dock)},afterRemove:function(d){this.callParent(arguments);if(this.itemCls){d.el.removeCls(this.itemCls+"-"+d.dock)}var c=d.el.dom;if(!d.destroying&&c){c.parentNode.removeChild(c)}this.childrenChanged=true}});Ext.define("Ext.layout.component.Dock",{alias:["layout.dock"],extend:"Ext.layout.component.AbstractDock"});Ext.define("Ext.layout.container.Auto",{alias:["layout.auto","layout.autocontainer"],extend:"Ext.layout.container.Container",type:"autocontainer",bindToOwnerCtComponent:true,onLayout:function(h,i){var j=this,g=j.getLayoutItems(),k=g.length,l;if(k){if(!j.clearEl){j.clearEl=j.getRenderTarget().createChild({cls:Ext.baseCSSPrefix+"clear",role:"presentation"})}for(l=0;l<k;l++){j.setItemSize(g[l])}}},configureItem:function(b){this.callParent(arguments);b.layoutManagedHeight=2;b.layoutManagedWidth=2}});Ext.define("Ext.fx.target.Element",{extend:"Ext.fx.target.Target",type:"element",getElVal:function(d,e,f){if(f==undefined){if(e==="x"){f=d.getX()}else{if(e==="y"){f=d.getY()}else{if(e==="scrollTop"){f=d.getScroll().top}else{if(e==="scrollLeft"){f=d.getScroll().left}else{if(e==="height"){f=d.getHeight()}else{if(e==="width"){f=d.getWidth()}else{f=d.getStyle(e)}}}}}}}return f},getAttr:function(e,f){var d=this.target;return[[d,this.getElVal(d,e,f)]]},setAttr:function(n){var q=this.target,o=n.length,i,p,u,r,t,v,s,j;for(r=0;r<o;r++){i=n[r].attrs;for(p in i){if(i.hasOwnProperty(p)){v=i[p].length;for(t=0;t<v;t++){u=i[p][t];s=u[0];j=u[1];if(p==="x"){s.setX(j)}else{if(p==="y"){s.setY(j)}else{if(p==="scrollTop"){s.scrollTo("top",j)}else{if(p==="scrollLeft"){s.scrollTo("left",j)}else{s.setStyle(p,j)}}}}}}}}}});Ext.define("Ext.fx.target.CompositeElement",{extend:"Ext.fx.target.Element",isComposite:true,constructor:function(b){b.id=b.id||Ext.id(null,"ext-composite-");this.callParent([b])},getAttr:function(f,g){var e=[],h=this.target;h.each(function(a){e.push([a,this.getElVal(a,f,g)])},this);return e}});Ext.define("Ext.fx.target.Sprite",{extend:"Ext.fx.target.Target",type:"draw",getFromPrim:function(d,e){var f;if(e=="translate"){f={x:d.attr.translation.x||0,y:d.attr.translation.y||0}}else{if(e=="rotate"){f={degrees:d.attr.rotation.degrees||0,x:d.attr.rotation.x,y:d.attr.rotation.y}}else{f=d.attr[e]}}return f},getAttr:function(d,c){return[[this.target,c!=undefined?c:this.getFromPrim(this.target,d)]]},setAttr:function(t){var x=t.length,v=[],i,y,j,z,C,r,s,A,B,u,w,D;for(A=0;A<x;A++){i=t[A].attrs;for(y in i){j=i[y];D=j.length;for(B=0;B<D;B++){C=j[B][0];z=j[B][1];if(y==="translate"){s={x:z.x,y:z.y}}else{if(y==="rotate"){u=z.x;if(isNaN(u)){u=null}w=z.y;if(isNaN(w)){w=null}s={degrees:z.degrees,x:u,y:w}}else{if(y==="width"||y==="height"||y==="x"||y==="y"){s=parseFloat(z)}else{s=z}}}r=Ext.Array.indexOf(v,C);if(r==-1){v.push([C,{}]);r=v.length-1}v[r][1][y]=s}}}x=v.length;for(A=0;A<x;A++){C=v[A];C[0].setAttributes(C[1])}this.target.redraw()}});Ext.define("Ext.fx.target.CompositeSprite",{extend:"Ext.fx.target.Sprite",getAttr:function(f,g){var e=[],h=this.target;h.each(function(a){e.push([a,g!=undefined?g:this.getFromPrim(a,f)])},this);return e}});Ext.define("Ext.fx.target.Component",{extend:"Ext.fx.target.Target",type:"component",getPropMethod:{top:function(){return this.getPosition(true)[1]},left:function(){return this.getPosition(true)[0]},x:function(){return this.getPosition()[0]},y:function(){return this.getPosition()[1]},height:function(){return this.getHeight()},width:function(){return this.getWidth()},opacity:function(){return this.el.getStyle("opacity")}},compMethod:{top:"setPosition",left:"setPosition",x:"setPagePosition",y:"setPagePosition",height:"setSize",width:"setSize",opacity:"setOpacity"},getAttr:function(d,c){return[[this.target,c!==undefined?c:this.getPropMethod[d].call(this.target)]]},setAttr:function(H,A,D){var i=this,w=i.target,j=H.length,F,v,E,z,B,o,x,C,h,G,y;for(z=0;z<j;z++){F=H[z].attrs;for(v in F){x=F[v].length;o={setPosition:{},setPagePosition:{},setSize:{},setOpacity:{}};for(B=0;B<x;B++){E=F[v][B];o[i.compMethod[v]].target=E[0];o[i.compMethod[v]][v]=E[1]}if(o.setPosition.target){E=o.setPosition;C=(E.left===undefined)?undefined:parseInt(E.left,10);h=(E.top===undefined)?undefined:parseInt(E.top,10);E.target.setPosition(C,h)}if(o.setPagePosition.target){E=o.setPagePosition;E.target.setPagePosition(E.x,E.y)}if(o.setSize.target&&o.setSize.target.el){E=o.setSize;G=(E.width===undefined)?E.target.getWidth():parseInt(E.width,10);y=(E.height===undefined)?E.target.getHeight():parseInt(E.height,10);if(D||i.dynamic){E.target.componentLayout.childrenChanged=true;if(i.layoutAnimation){E.target.setCalculatedSize(G,y)}else{E.target.setSize(G,y)}}else{E.target.el.setSize(G,y)}}if(o.setOpacity.target){E=o.setOpacity;E.target.el.setStyle("opacity",E.opacity)}}}}});Ext.define("Ext.fx.Manager",{singleton:true,requires:["Ext.util.MixedCollection","Ext.fx.target.Element","Ext.fx.target.CompositeElement","Ext.fx.target.Sprite","Ext.fx.target.CompositeSprite","Ext.fx.target.Component"],mixins:{queue:"Ext.fx.Queue"},constructor:function(){this.items=Ext.create("Ext.util.MixedCollection");this.mixins.queue.constructor.call(this)},interval:16,forceJS:true,createTarget:function(g){var e=this,h=!e.forceJS&&Ext.supports.Transitions,f;e.useCSS3=h;if(Ext.isString(g)){g=Ext.get(g)}if(g&&g.tagName){g=Ext.get(g);f=Ext.create("Ext.fx.target.Element"+(h?"CSS":""),g);e.targets.add(f);return f}if(Ext.isObject(g)){if(g.dom){f=Ext.create("Ext.fx.target.Element"+(h?"CSS":""),g)}else{if(g.isComposite){f=Ext.create("Ext.fx.target.CompositeElement"+(h?"CSS":""),g)}else{if(g.isSprite){f=Ext.create("Ext.fx.target.Sprite",g)}else{if(g.isCompositeSprite){f=Ext.create("Ext.fx.target.CompositeSprite",g)}else{if(g.isComponent){f=Ext.create("Ext.fx.target.Component",g)}else{if(g.isAnimTarget){return g}else{return null}}}}}}e.targets.add(f);return f}else{return null}},addAnim:function(f){var d=this.items,e=this.task;d.add(f);if(!e&&d.length){e=this.task={run:this.runner,interval:this.interval,scope:this};Ext.TaskManager.start(e)}},removeAnim:function(f){var d=this.items,e=this.task;d.remove(f);if(e&&!d.length){Ext.TaskManager.stop(e);delete this.task}},startingFilter:function(b){return b.paused===false&&b.running===false&&b.iterations>0},runningFilter:function(b){return b.paused===false&&b.running===true&&b.isAnimator!==true},runner:function(){var c=this,d=c.items;c.targetData={};c.targetArr={};c.timestamp=new Date();d.filterBy(c.startingFilter).each(c.startAnim,c);d.filterBy(c.runningFilter).each(c.runAnim,c);c.applyPendingAttrs()},startAnim:function(b){b.start(this.timestamp)},runAnim:function(m){if(!m){return}var n=this,h=m.target.getId(),k=n.useCSS3&&m.target.type=="element",i=n.timestamp-m.startTime,l,j;this.collectTargetData(m,i,k);if(k){m.target.setAttr(n.targetData[h],true);n.targetData[h]=[];n.collectTargetData(m,m.duration,k);m.paused=true;l=m.target.target;if(m.target.isComposite){l=m.target.target.last()}j={};j[Ext.supports.CSS3TransitionEnd]=m.lastFrame;j.scope=m;j.single=true;l.on(j)}else{if(i>=m.duration){n.applyPendingAttrs(true);delete n.targetData[h];delete n.targetArr[h];m.lastFrame()}}},collectTargetData:function(k,h,j){var g=k.target.getId(),i=this.targetData[g],l;if(!i){i=this.targetData[g]=[];this.targetArr[g]=k.target}l={duration:k.duration,easing:(j&&k.reverse)?k.easingFn.reverse().toCSS3():k.easing,attrs:{}};Ext.apply(l.attrs,k.runAnim(h));i.push(l)},applyPendingAttrs:function(g){var h=this.targetData,e=this.targetArr,f;for(f in h){if(h.hasOwnProperty(f)){e[f].setAttr(h[f],false,g)}}}});Ext.define("Ext.fx.Animator",{mixins:{observable:"Ext.util.Observable"},requires:["Ext.fx.Manager"],isAnimator:true,duration:250,delay:0,delayStart:0,dynamic:false,easing:"ease",running:false,paused:false,damper:1,iterations:1,currentIteration:0,keyframeStep:0,animKeyFramesRE:/^(from|to|\d+%?)$/,constructor:function(d){var c=this;d=Ext.apply(c,d||{});c.config=d;c.id=Ext.id(null,"ext-animator-");c.addEvents("beforeanimate","keyframe","afteranimate");c.mixins.observable.constructor.call(c,d);c.timeline=[];c.createTimeline(c.keyframes);if(c.target){c.applyAnimator(c.target);Ext.fx.Manager.addAnim(c)}},sorter:function(a,b){return a.pct-b.pct},createTimeline:function(u){var r=this,o=[],q=r.to||{},x=r.duration,i,z,v,s,p,y,w,t;for(p in u){if(u.hasOwnProperty(p)&&r.animKeyFramesRE.test(p)){t={attrs:Ext.apply(u[p],q)};if(p=="from"){p=0}else{if(p=="to"){p=100}}t.pct=parseInt(p,10);o.push(t)}}Ext.Array.sort(o,r.sorter);s=o.length;for(v=0;v<s;v++){i=(o[v-1])?x*(o[v-1].pct/100):0;z=x*(o[v].pct/100);r.timeline.push({duration:z-i,attrs:o[v].attrs})}},applyAnimator:function(v){var r=this,q=[],i=r.timeline,u=r.reverse,s=i.length,y,t,z,w,o,p,x;if(r.fireEvent("beforeanimate",r)!==false){for(x=0;x<s;x++){y=i[x];o=y.attrs;t=o.easing||r.easing;z=o.damper||r.damper;delete o.easing;delete o.damper;y=Ext.create("Ext.fx.Anim",{target:v,easing:t,damper:z,duration:y.duration,paused:true,to:o});q.push(y)}r.animations=q;r.target=y.target;for(x=0;x<s-1;x++){y=q[x];y.nextAnim=q[x+1];y.on("afteranimate",function(){this.nextAnim.paused=false});y.on("afteranimate",function(){this.fireEvent("keyframe",this,++this.keyframeStep)},r)}q[s-1].on("afteranimate",function(){this.lastFrame()},r)}},start:function(i){var h=this,j=h.delay,f=h.delayStart,g;if(j){if(!f){h.delayStart=i;return}else{g=i-f;if(g<j){return}else{i=new Date(f.getTime()+j)}}}if(h.fireEvent("beforeanimate",h)!==false){h.startTime=i;h.running=true;h.animations[h.keyframeStep].paused=false}},lastFrame:function(){var f=this,e=f.iterations,d=f.currentIteration;d++;if(d<e){f.startTime=new Date();f.currentIteration=d;f.keyframeStep=0;f.applyAnimator(f.target);f.animations[f.keyframeStep].paused=false}else{f.currentIteration=0;f.end()}},end:function(){var b=this;b.fireEvent("afteranimate",b,b.startTime,new Date()-b.startTime)}});Ext.define("Ext.draw.Draw",{singleton:true,requires:["Ext.draw.Color"],pathToStringRE:/,?([achlmqrstvxz]),?/gi,pathCommandRE:/([achlmqstvz])[\s,]*((-?\d*\.?\d*(?:e[-+]?\d+)?\s*,?\s*)+)/ig,pathValuesRE:/(-?\d*\.?\d*(?:e[-+]?\d+)?)\s*,?\s*/ig,stopsRE:/^(\d+%?)$/,radian:Math.PI/180,availableAnimAttrs:{along:"along",blur:null,"clip-rect":"csv",cx:null,cy:null,fill:"color","fill-opacity":null,"font-size":null,height:null,opacity:null,path:"path",r:null,rotation:"csv",rx:null,ry:null,scale:"csv",stroke:"color","stroke-opacity":null,"stroke-width":null,translation:"csv",width:null,x:null,y:null},is:function(c,d){d=String(d).toLowerCase();return(d=="object"&&c===Object(c))||(d=="undefined"&&typeof c==d)||(d=="null"&&c===null)||(d=="array"&&Array.isArray&&Array.isArray(c))||(Object.prototype.toString.call(c).toLowerCase().slice(8,-1))==d},ellipsePath:function(c){var d=c.attr;return Ext.String.format("M{0},{1}A{2},{3},0,1,1,{0},{4}A{2},{3},0,1,1,{0},{1}z",d.x,d.y-d.ry,d.rx,d.ry,d.y+d.ry)},rectPath:function(c){var d=c.attr;if(d.radius){return Ext.String.format("M{0},{1}l{2},0a{3},{3},0,0,1,{3},{3}l0,{5}a{3},{3},0,0,1,{4},{3}l{6},0a{3},{3},0,0,1,{4},{4}l0,{7}a{3},{3},0,0,1,{3},{4}z",d.x+d.radius,d.y,d.width-d.radius*2,d.radius,-d.radius,d.height-d.radius*2,d.radius*2-d.width,d.radius*2-d.height)}else{return Ext.String.format("M{0},{1}l{2},0,0,{3},{4},0z",d.x,d.y,d.width,d.height,-d.width)}},path2string:function(){return this.join(",").replace(Ext.draw.Draw.pathToStringRE,"$1")},pathToString:function(b){return b.join(",").replace(Ext.draw.Draw.pathToStringRE,"$1")},parsePathString:function(f){if(!f){return null}var g={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},h=[],e=this;if(e.is(f,"array")&&e.is(f[0],"array")){h=e.pathClone(f)}if(!h.length){String(f).replace(e.pathCommandRE,function(d,j,a){var b=[],c=j.toLowerCase();a.replace(e.pathValuesRE,function(i,l){l&&b.push(+l)});if(c=="m"&&b.length>2){h.push([j].concat(Ext.Array.splice(b,0,2)));c="l";j=(j=="m")?"l":"L"}while(b.length>=g[c]){h.push([j].concat(Ext.Array.splice(b,0,g[c])));if(!g[c]){break}}})}h.toString=e.path2string;return h},mapPath:function(i,m){if(!m){return i}var l,n,p,j,r,o,q;i=this.path2curve(i);for(p=0,j=i.length;p<j;p++){q=i[p];for(r=1,o=q.length;r<o-1;r+=2){l=m.x(q[r],q[r+1]);n=m.y(q[r],q[r+1]);q[r]=l;q[r+1]=n}}return i},pathClone:function(i){var l=[],h,j,g,k;if(!this.is(i,"array")||!this.is(i&&i[0],"array")){i=this.parsePathString(i)}for(g=0,k=i.length;g<k;g++){l[g]=[];for(h=0,j=i[g].length;h<j;h++){l[g][h]=i[g][h]}}l.toString=this.path2string;return l},pathToAbsolute:function(v){if(!this.is(v,"array")||!this.is(v&&v[0],"array")){v=this.parsePathString(v)}var q=[],o=0,p=0,i=0,j=0,s=0,r=v.length,w,u,t,x;if(r&&v[0][0]=="M"){o=+v[0][1];p=+v[0][2];i=o;j=p;s++;q[0]=["M",o,p]}for(;s<r;s++){w=q[s]=[];u=v[s];if(u[0]!=u[0].toUpperCase()){w[0]=u[0].toUpperCase();switch(w[0]){case"A":w[1]=u[1];w[2]=u[2];w[3]=u[3];w[4]=u[4];w[5]=u[5];w[6]=+(u[6]+o);w[7]=+(u[7]+p);break;case"V":w[1]=+u[1]+p;break;case"H":w[1]=+u[1]+o;break;case"M":i=+u[1]+o;j=+u[2]+p;default:t=1;x=u.length;for(;t<x;t++){w[t]=+u[t]+((t%2)?o:p)}}}else{t=0;x=u.length;for(;t<x;t++){q[s][t]=u[t]}}switch(w[0]){case"Z":o=i;p=j;break;case"H":o=w[1];break;case"V":p=w[1];break;case"M":u=q[s];x=u.length;i=u[x-2];j=u[x-1];default:u=q[s];x=u.length;o=u[x-2];p=u[x-1]}}q.toString=this.path2string;return q},pathToRelative:function(A){if(!this.is(A,"array")||!this.is(A&&A[0],"array")){A=this.parsePathString(A)}var u=[],k=0,r=0,F=0,i=0,B=0;if(A[0][0]=="M"){k=A[0][1];r=A[0][2];F=k;i=r;B++;u.push(["M",k,r])}for(var x=B,E=A.length;x<E;x++){var D=u[x]=[],j=A[x];if(j[0]!=j[0].toLowerCase()){D[0]=j[0].toLowerCase();switch(D[0]){case"a":D[1]=j[1];D[2]=j[2];D[3]=j[3];D[4]=j[4];D[5]=j[5];D[6]=+(j[6]-k).toFixed(3);D[7]=+(j[7]-r).toFixed(3);break;case"v":D[1]=+(j[1]-r).toFixed(3);break;case"m":F=j[1];i=j[2];default:for(var y=1,w=j.length;y<w;y++){D[y]=+(j[y]-((y%2)?k:r)).toFixed(3)}}}else{D=u[x]=[];if(j[0]=="m"){F=j[1]+k;i=j[2]+r}for(var z=0,C=j.length;z<C;z++){u[x][z]=j[z]}}var v=u[x].length;switch(u[x][0]){case"z":k=F;r=i;break;case"h":k+=+u[x][v-1];break;case"v":r+=+u[x][v-1];break;default:k+=+u[x][v-2];r+=+u[x][v-1]}}u.toString=this.path2string;return u},path2curve:function(i){var o=this,l=o.pathToAbsolute(i),p=l.length,k={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},q,r,m,n;for(q=0;q<p;q++){l[q]=o.command2curve(l[q],k);if(l[q].length>7){l[q].shift();n=l[q];while(n.length){Ext.Array.splice(l,q++,0,["C"].concat(Ext.Array.splice(n,0,6)))}Ext.Array.erase(l,q,1);p=l.length}r=l[q];m=r.length;k.x=r[m-2];k.y=r[m-1];k.bx=parseFloat(r[m-4])||k.x;k.by=parseFloat(r[m-3])||k.y}return l},interpolatePaths:function(i,u){var w=this,A=w.pathToAbsolute(i),t=w.pathToAbsolute(u),s={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},D={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},C=function(c,b){if(c[b].length>7){c[b].shift();var a=c[b];while(a.length){Ext.Array.splice(c,b++,0,["C"].concat(Ext.Array.splice(a,0,6)))}Ext.Array.erase(c,b,1);r=Math.max(A.length,t.length||0)}},B=function(a,b,d,e,c){if(a&&b&&a[c][0]=="M"&&b[c][0]!="M"){Ext.Array.splice(b,c,0,["M",e.x,e.y]);d.bx=0;d.by=0;d.x=a[c][1];d.y=a[c][2];r=Math.max(A.length,t.length||0)}};for(var x=0,r=Math.max(A.length,t.length||0);x<r;x++){A[x]=w.command2curve(A[x],s);C(A,x);(t[x]=w.command2curve(t[x],D));C(t,x);B(A,t,s,D,x);B(t,A,D,s,x);var y=A[x],p=t[x],z=y.length,v=p.length;s.x=y[z-2];s.y=y[z-1];s.bx=parseFloat(y[z-4])||s.x;s.by=parseFloat(y[z-3])||s.y;D.bx=(parseFloat(p[v-4])||D.x);D.by=(parseFloat(p[v-3])||D.y);D.x=p[v-2];D.y=p[v-1]}return[A,t]},command2curve:function(f,d){var e=this;if(!f){return["C",d.x,d.y,d.x,d.y,d.x,d.y]}if(f[0]!="T"&&f[0]!="Q"){d.qx=d.qy=null}switch(f[0]){case"M":d.X=f[1];d.Y=f[2];break;case"A":f=["C"].concat(e.arc2curve.apply(e,[d.x,d.y].concat(f.slice(1))));break;case"S":f=["C",d.x+(d.x-(d.bx||d.x)),d.y+(d.y-(d.by||d.y))].concat(f.slice(1));break;case"T":d.qx=d.x+(d.x-(d.qx||d.x));d.qy=d.y+(d.y-(d.qy||d.y));f=["C"].concat(e.quadratic2curve(d.x,d.y,d.qx,d.qy,f[1],f[2]));break;case"Q":d.qx=f[1];d.qy=f[2];f=["C"].concat(e.quadratic2curve(d.x,d.y,f[1],f[2],f[3],f[4]));break;case"L":f=["C"].concat(d.x,d.y,f[1],f[2],f[1],f[2]);break;case"H":f=["C"].concat(d.x,d.y,f[1],d.y,f[1],d.y);break;case"V":f=["C"].concat(d.x,d.y,d.x,f[1],d.x,f[1]);break;case"Z":f=["C"].concat(d.x,d.y,d.X,d.Y,d.X,d.Y);break}return f},quadratic2curve:function(i,o,l,n,j,p){var m=1/3,k=2/3;return[m*i+k*l,m*o+k*n,m*j+k*l,m*p+k*n,j,p]},rotate:function(h,j,i){var m=Math.cos(i),n=Math.sin(i),k=h*m-j*n,l=h*n+j*m;return{x:k,y:l}},arc2curve:function(aM,aw,at,av,aH,aS,aW,aN,az,aF){var aK=this,aY=Math.PI,aJ=aK.radian,ax=aY*120/180,a1=aJ*(+aH||0),an=[],aq=Math,y=aq.cos,a2=aq.sin,t=aq.sqrt,aL=aq.abs,aR=aq.asin,ar,a0,aP,al,am,aG,aZ,ai,x,aB,aD,aT,aU,aO,aV,aA,aX,aC,ak,ah,aj,aE,aI,h,k,ao,i,ap,ay,au,aQ;if(!aF){ar=aK.rotate(aM,aw,-a1);aM=ar.x;aw=ar.y;ar=aK.rotate(aN,az,-a1);aN=ar.x;az=ar.y;a0=y(aJ*aH);aP=a2(aJ*aH);al=(aM-aN)/2;am=(aw-az)/2;aG=(al*al)/(at*at)+(am*am)/(av*av);if(aG>1){aG=t(aG);at=aG*at;av=aG*av}aZ=at*at;ai=av*av;x=(aS==aW?-1:1)*t(aL((aZ*ai-aZ*am*am-ai*al*al)/(aZ*am*am+ai*al*al)));aB=x*at*am/av+(aM+aN)/2;aD=x*-av*al/at+(aw+az)/2;aT=aR(((aw-aD)/av).toFixed(7));aU=aR(((az-aD)/av).toFixed(7));aT=aM<aB?aY-aT:aT;aU=aN<aB?aY-aU:aU;if(aT<0){aT=aY*2+aT}if(aU<0){aU=aY*2+aU}if(aW&&aT>aU){aT=aT-aY*2}if(!aW&&aU>aT){aU=aU-aY*2}}else{aT=aF[0];aU=aF[1];aB=aF[2];aD=aF[3]}aO=aU-aT;if(aL(aO)>ax){ay=aU;au=aN;aQ=az;aU=aT+ax*(aW&&aU>aT?1:-1);aN=aB+at*y(aU);az=aD+av*a2(aU);an=aK.arc2curve(aN,az,at,av,aH,0,aW,au,aQ,[aU,ay,aB,aD])}aO=aU-aT;aV=y(aT);aA=a2(aT);aX=y(aU);aC=a2(aU);ak=aq.tan(aO/4);ah=4/3*at*ak;aj=4/3*av*ak;aE=[aM,aw];aI=[aM+ah*aA,aw-aj*aV];h=[aN+ah*aC,az-aj*aX];k=[aN,az];aI[0]=2*aE[0]-aI[0];aI[1]=2*aE[1]-aI[1];if(aF){return[aI,h,k].concat(an)}else{an=[aI,h,k].concat(an).join().split(",");ao=[];ap=an.length;for(i=0;i<ap;i++){ao[i]=i%2?aK.rotate(an[i-1],an[i],a1).y:aK.rotate(an[i],an[i+1],a1).x}return ao}},rotateAndTranslatePath:function(q){var v=q.rotation.degrees,u=q.rotation.x,w=q.rotation.y,i=q.translation.x,p=q.translation.y,j,s,x,o,t,r=[];if(!v&&!i&&!p){return this.pathToAbsolute(q.attr.path)}i=i||0;p=p||0;j=this.pathToAbsolute(q.attr.path);for(s=j.length;s--;){x=r[s]=j[s].slice();if(x[0]=="A"){o=this.rotatePoint(x[6],x[7],v,u,w);x[6]=o.x+i;x[7]=o.y+p}else{t=1;while(x[t+1]!=null){o=this.rotatePoint(x[t],x[t+1],v,u,w);x[t]=o.x+i;x[t+1]=o.y+p;t+=2}}}return r},rotatePoint:function(h,j,l,i,k){if(!l){return{x:h,y:j}}i=i||0;k=k||0;h=h-i;j=j-k;l=l*this.radian;var m=Math.cos(l),n=Math.sin(l);return{x:h*m-j*n+i,y:h*n+j*m+k}},pathDimensions:function(i){if(!i||!(i+"")){return{x:0,y:0,width:0,height:0}}i=this.path2curve(i);var n=0,o=0,s=[],u=[],r=0,p=i.length,t,v,m,q;for(;r<p;r++){t=i[r];if(t[0]=="M"){n=t[1];o=t[2];s.push(n);u.push(o)}else{q=this.curveDim(n,o,t[1],t[2],t[3],t[4],t[5],t[6]);s=s.concat(q.min.x,q.max.x);u=u.concat(q.min.y,q.max.y);n=t[5];o=t[6]}}v=Math.min.apply(0,s);m=Math.min.apply(0,u);return{x:v,y:m,path:i,width:Math.max.apply(0,s)-v,height:Math.max.apply(0,u)-m}},intersectInside:function(d,f,e){return(e[0]-f[0])*(d[1]-f[1])>(e[1]-f[1])*(d[0]-f[0])},intersectIntersection:function(e,n,t,u){var v=[],w=t[0]-u[0],x=t[1]-u[1],p=e[0]-n[0],r=e[1]-n[1],o=t[0]*u[1]-t[1]*u[0],q=e[0]*n[1]-e[1]*n[0],s=1/(w*r-x*p);v[0]=(o*p-q*w)*s;v[1]=(o*r-q*x)*s;return v},intersect:function(r,z){var s=this,v=0,t=z.length,w=z[t-1],i=r,x,e,u,j,B,A,y;for(;v<t;++v){x=z[v];A=i;i=[];e=A[A.length-1];y=0;B=A.length;for(;y<B;y++){u=A[y];if(s.intersectInside(u,w,x)){if(!s.intersectInside(e,w,x)){i.push(s.intersectIntersection(e,u,w,x))}i.push(u)}else{if(s.intersectInside(e,w,x)){i.push(s.intersectIntersection(e,u,w,x))}}e=u}w=x}return i},curveDim:function(C,E,A,B,F,a,t,w){var b=(F-2*A+C)-(t-2*F+A),u=2*(A-C)-2*(F-A),x=C-A,y=(-u+Math.sqrt(u*u-4*b*x))/2/b,z=(-u-Math.sqrt(u*u-4*b*x))/2/b,v=[E,w],c=[C,t],D;if(Math.abs(y)>1000000000000){y=0.5}if(Math.abs(z)>1000000000000){z=0.5}if(y>0&&y<1){D=this.findDotAtSegment(C,E,A,B,F,a,t,w,y);c.push(D.x);v.push(D.y)}if(z>0&&z<1){D=this.findDotAtSegment(C,E,A,B,F,a,t,w,z);c.push(D.x);v.push(D.y)}b=(a-2*B+E)-(w-2*a+B);u=2*(B-E)-2*(a-B);x=E-B;y=(-u+Math.sqrt(u*u-4*b*x))/2/b;z=(-u-Math.sqrt(u*u-4*b*x))/2/b;if(Math.abs(y)>1000000000000){y=0.5}if(Math.abs(z)>1000000000000){z=0.5}if(y>0&&y<1){D=this.findDotAtSegment(C,E,A,B,F,a,t,w,y);c.push(D.x);v.push(D.y)}if(z>0&&z<1){D=this.findDotAtSegment(C,E,A,B,F,a,t,w,z);c.push(D.x);v.push(D.y)}return{min:{x:Math.min.apply(0,c),y:Math.min.apply(0,v)},max:{x:Math.max.apply(0,c),y:Math.max.apply(0,v)}}},getAnchors:function(P,Q,K,L,z,A,E){E=E||4;var M=Math,F=M.PI,D=F/2,I=M.abs,T=M.sin,S=M.cos,O=M.atan,B,C,N,J,G,H,x,y,R;B=(K-P)/E;C=(z-K)/E;if((L>=Q&&L>=A)||(L<=Q&&L<=A)){N=J=D}else{N=O((K-P)/I(L-Q));if(Q<L){N=F-N}J=O((z-K)/I(L-A));if(A<L){J=F-J}}R=D-((N+J)%(F*2))/2;if(R>D){R-=F}N+=R;J+=R;G=K-B*T(N);H=L+B*S(N);x=K+C*T(J);y=L+C*S(J);if((L>Q&&H<Q)||(L<Q&&H>Q)){G+=I(Q-H)*(G-K)/(H-L);H=Q}if((L>A&&y<A)||(L<A&&y>A)){x-=I(A-y)*(x-K)/(y-L);y=A}return{x1:G,y1:H,x2:x,y2:y}},smooth:function(R,D){var E=this.path2curve(R),N=[E[0]],K=E[0][1],L=E[0][2],C,A,y=1,J=E.length,M=1,H=K,I=L,P=0,Q=0;for(;y<J;y++){var i=E[y],j=i.length,x=E[y-1],G=x.length,B=E[y+1],F=B&&B.length;if(i[0]=="M"){H=i[1];I=i[2];C=y+1;while(E[C][0]!="C"){C++}P=E[C][5];Q=E[C][6];N.push(["M",H,I]);M=N.length;K=H;L=I;continue}if(i[j-2]==H&&i[j-1]==I&&(!B||B[0]=="M")){var O=N[M].length;A=this.getAnchors(x[G-2],x[G-1],H,I,N[M][O-2],N[M][O-1],D);N[M][1]=A.x2;N[M][2]=A.y2}else{if(!B||B[0]=="M"){A={x1:i[j-2],y1:i[j-1]}}else{A=this.getAnchors(x[G-2],x[G-1],i[j-2],i[j-1],B[F-2],B[F-1],D)}}N.push(["C",K,L,A.x1,A.y1,i[j-2],i[j-1]]);K=A.x2;L=A.y2}return N},findDotAtSegment:function(s,t,q,r,l,m,n,o,k){var p=1-k;return{x:Math.pow(p,3)*s+Math.pow(p,2)*3*k*q+p*3*k*k*l+Math.pow(k,3)*n,y:Math.pow(p,3)*t+Math.pow(p,2)*3*k*r+p*3*k*k*m+Math.pow(k,3)*o}},snapEnds:function(s,m,C){if(Ext.isDate(s)){return this.snapEndsByDate(s,m,C)}var D=(m-s)/C,F=Math.floor(Math.log(D)/Math.LN10)+1,B=Math.pow(10,F),i,u=Math.round((D%B)*Math.pow(10,2-F)),E=[[0,15],[20,4],[30,2],[40,4],[50,9],[60,4],[70,2],[80,4],[100,15]],z=0,t,x,y,A,w=1000000000,v=E.length;i=s=Math.floor(s/B)*B;for(y=0;y<v;y++){t=E[y][0];x=(t-u)<0?1000000:(t-u)/E[y][1];if(x<w){A=t;w=x}}D=Math.floor(D*Math.pow(10,-F))*Math.pow(10,F)+A*Math.pow(10,F-2);while(i<m){i+=D;z++}m=+i.toFixed(10);return{from:s,to:m,power:F,step:D,steps:z}},snapEndsByDate:function(k,l,i,j){var o=false,m=[[Ext.Date.MILLI,[1,2,3,5,10,20,30,50,100,200,300,500]],[Ext.Date.SECOND,[1,2,3,5,10,15,30]],[Ext.Date.MINUTE,[1,2,3,5,10,20,30]],[Ext.Date.HOUR,[1,2,3,4,6,12]],[Ext.Date.DAY,[1,2,3,7,14]],[Ext.Date.MONTH,[1,2,3,4,6]]],p,n;Ext.each(m,function(a,b){for(p=0;p<a[1].length;p++){if(l<Ext.Date.add(k,a[0],a[1][p]*i)){o=[a[0],a[1][p]];return false}}});if(!o){n=this.snapEnds(k.getFullYear(),l.getFullYear()+1,i,j);o=[Date.YEAR,Math.round(n.step)]}return this.snapEndsByDateAndStep(k,l,o,j)},snapEndsByDateAndStep:function(k,l,n,j){var o=[k.getFullYear(),k.getMonth(),k.getDate(),k.getHours(),k.getMinutes(),k.getSeconds(),k.getMilliseconds()],i=0,m,p;if(j){m=k}else{switch(n[0]){case Ext.Date.MILLI:m=new Date(o[0],o[1],o[2],o[3],o[4],o[5],Math.floor(o[6]/n[1])*n[1]);break;case Ext.Date.SECOND:m=new Date(o[0],o[1],o[2],o[3],o[4],Math.floor(o[5]/n[1])*n[1],0);break;case Ext.Date.MINUTE:m=new Date(o[0],o[1],o[2],o[3],Math.floor(o[4]/n[1])*n[1],0,0);break;case Ext.Date.HOUR:m=new Date(o[0],o[1],o[2],Math.floor(o[3]/n[1])*n[1],0,0,0);break;case Ext.Date.DAY:m=new Date(o[0],o[1],Math.floor(o[2]-1/n[1])*n[1]+1,0,0,0,0);break;case Ext.Date.MONTH:m=new Date(o[0],Math.floor(o[1]/n[1])*n[1],1,0,0,0,0);break;default:m=new Date(Math.floor(o[0]/n[1])*n[1],0,1,0,0,0,0);break}}p=m;while(p<l){p=Ext.Date.add(p,n[0],n[1]);i++}if(j){p=l}return{from:+m,to:+p,step:(p-m)/i,steps:i}},sorter:function(a,b){return a.offset-b.offset},rad:function(b){return b%360*Math.PI/180},degrees:function(b){return b*180/Math.PI%360},withinBox:function(e,f,d){d=d||{};return(e>=d.x&&e<=(d.x+d.width)&&f>=d.y&&f<=(d.y+d.height))},parseGradient:function(m){var r=this,q=m.type||"linear",t=m.angle||0,o=r.radian,l=m.stops,v=[],n,u,p,s;if(q=="linear"){u=[0,0,Math.cos(t*o),Math.sin(t*o)];p=1/(Math.max(Math.abs(u[2]),Math.abs(u[3]))||1);u[2]*=p;u[3]*=p;if(u[2]<0){u[0]=-u[2];u[2]=0}if(u[3]<0){u[1]=-u[3];u[3]=0}}for(n in l){if(l.hasOwnProperty(n)&&r.stopsRE.test(n)){s={offset:parseInt(n,10),color:Ext.draw.Color.toHex(l[n].color)||"#ffffff",opacity:l[n].opacity||1};v.push(s)}}Ext.Array.sort(v,r.sorter);if(q=="linear"){return{id:m.id,type:q,vector:u,stops:v}}else{return{id:m.id,type:q,centerX:m.centerX,centerY:m.centerY,focalX:m.focalX,focalY:m.focalY,radius:m.radius,vector:u,stops:v}}}});Ext.define("Ext.fx.PropertyHandler",{requires:["Ext.draw.Draw"],statics:{defaultHandler:{pixelDefaultsRE:/width|height|top$|bottom$|left$|right$/i,unitRE:/^(-?\d*\.?\d*){1}(em|ex|px|in|cm|mm|pt|pc|%)*$/,scrollRE:/^scroll/i,computeDelta:function(j,p,r,m,k){r=(typeof r=="number")?r:1;var l=this.unitRE,o=l.exec(j),q,n;if(o){j=o[1];n=o[2];if(!this.scrollRE.test(k)&&!n&&this.pixelDefaultsRE.test(k)){n="px"}}j=+j||0;o=l.exec(p);if(o){p=o[1];n=o[2]||n}p=+p||0;q=(m!=null)?m:j;return{from:j,delta:(p-q)*r,units:n}},get:function(i,w,x,j,q){var o=i.length,u=[],t,r,p,v,s;for(t=0;t<o;t++){if(j){r=j[t][1].from}if(Ext.isArray(i[t][1])&&Ext.isArray(w)){p=[];v=0;s=i[t][1].length;for(;v<s;v++){p.push(this.computeDelta(i[t][1][v],w[v],x,r,q))}u.push([i[t][0],p])}else{u.push([i[t][0],this.computeDelta(i[t][1],w,x,r,q)])}}return u},set:function(i,m){var l=i.length,p=[],o,r,j,n,q;for(o=0;o<l;o++){r=i[o][1];if(Ext.isArray(r)){j=[];q=0;n=r.length;for(;q<n;q++){j.push(r[q].from+(r[q].delta*m)+(r[q].units||0))}p.push([i[o][0],j])}else{p.push([i[o][0],r.from+(r.delta*m)+(r.units||0)])}}return p}},color:{rgbRE:/^rgb\(([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\)$/i,hexRE:/^#?([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})$/i,hex3RE:/^#?([0-9A-F]{1})([0-9A-F]{1})([0-9A-F]{1})$/i,parseColor:function(g,i){i=(typeof i=="number")?i:1;var h,j=false,f;Ext.each([this.hexRE,this.rgbRE,this.hex3RE],function(a,b){h=(b%2==0)?16:10;f=a.exec(g);if(f&&f.length==4){if(b==2){f[1]+=f[1];f[2]+=f[2];f[3]+=f[3]}j={red:parseInt(f[1],h),green:parseInt(f[2],h),blue:parseInt(f[3],h)};return false}});return j||g},computeDelta:function(j,i,l,n){j=this.parseColor(j);i=this.parseColor(i,l);var k=n?n:j,h=typeof k,m=typeof i;if(h=="string"||h=="undefined"||m=="string"||m=="undefined"){return i||k}return{from:j,delta:{red:Math.round((i.red-k.red)*l),green:Math.round((i.green-k.green)*l),blue:Math.round((i.blue-k.blue)*l)}}},get:function(k,j,m,o){var l=k.length,p=[],n,i;for(n=0;n<l;n++){if(o){i=o[n][1].from}p.push([k[n][0],this.computeDelta(k[n][1],j,m,i)])}return p},set:function(i,n){var m=i.length,p=[],o,q,r,l,k;for(o=0;o<m;o++){q=i[o][1];if(q){l=q.from;k=q.delta;q=(typeof q=="object"&&"red" in q)?"rgb("+q.red+", "+q.green+", "+q.blue+")":q;q=(typeof q=="object"&&q.length)?q[0]:q;if(typeof q=="undefined"){return[]}r=typeof q=="string"?q:"rgb("+[(l.red+Math.round(k.red*n))%256,(l.green+Math.round(k.green*n))%256,(l.blue+Math.round(k.blue*n))%256].join(",")+")";p.push([i[o][0],r])}}return p}},object:{interpolate:function(g,e){e=(typeof e=="number")?e:1;var f={},h;for(h in g){f[h]=parseInt(g[h],10)*e}return f},computeDelta:function(j,i,n,h){j=this.interpolate(j);i=this.interpolate(i,n);var k=h?h:j,l={},m;for(m in i){l[m]=i[m]-k[m]}return{from:j,delta:l}},get:function(k,j,m,o){var l=k.length,p=[],n,i;for(n=0;n<l;n++){if(o){i=o[n][1].from}p.push([k[n][0],this.computeDelta(k[n][1],j,m,i)])}return p},set:function(i,o){var n=i.length,r=[],p={},q,m,l,s,t;for(q=0;q<n;q++){s=i[q][1];m=s.from;l=s.delta;for(t in m){p[t]=Math.round(m[t]+l[t]*o)}r.push([i[q][0],p])}return r}},path:{computeDelta:function(h,g,j,f){j=(typeof j=="number")?j:1;var i;h=+h||0;g=+g||0;i=(f!=null)?f:h;return{from:h,delta:(g-i)*j}},forcePath:function(b){if(!Ext.isArray(b)&&!Ext.isArray(b[0])){b=Ext.draw.Draw.parsePathString(b)}return b},get:function(D,x,E,k){var C=this.forcePath(x),v=[],i=D.length,B,y,u,z,t,w,A,F,j;for(u=0;u<i;u++){j=this.forcePath(D[u][1]);z=Ext.draw.Draw.interpolatePaths(j,C);j=z[0];C=z[1];B=j.length;F=[];for(w=0;w<B;w++){z=[j[w][0]];y=j[w].length;for(A=1;A<y;A++){t=k&&k[0][1][w][A].from;z.push(this.computeDelta(j[w][A],C[w][A],E,t))}F.push(z)}v.push([D[u][0],F])}return v},set:function(i,k){var j=i.length,t=[],r,s,u,q,p,v,x,w;for(r=0;r<j;r++){v=i[r][1];q=[];x=v.length;for(s=0;s<x;s++){p=[v[s][0]];w=v[s].length;for(u=1;u<w;u++){p.push(v[s][u].from+v[s][u].delta*k)}q.push(p.join(","))}t.push([i[r][0],q.join(",")])}return t}}}},function(){Ext.each(["outlineColor","backgroundColor","borderColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","fill","stroke"],function(b){this[b]=this.color},this)});Ext.define("Ext.fx.Anim",{mixins:{observable:"Ext.util.Observable"},requires:["Ext.fx.Manager","Ext.fx.Animator","Ext.fx.Easing","Ext.fx.CubicBezier","Ext.fx.PropertyHandler"],isAnimation:true,duration:250,delay:0,delayStart:0,dynamic:false,easing:"ease",damper:1,bezierRE:/^(?:cubic-)?bezier\(([^,]+),([^,]+),([^,]+),([^\)]+)\)/,reverse:false,running:false,paused:false,iterations:1,alternate:false,currentIteration:0,startTime:0,constructor:function(e){var d=this,f;e=e||{};if(e.keyframes){return Ext.create("Ext.fx.Animator",e)}e=Ext.apply(d,e);if(d.from===undefined){d.from={}}d.propHandlers={};d.config=e;d.target=Ext.fx.Manager.createTarget(d.target);d.easingFn=Ext.fx.Easing[d.easing];d.target.dynamic=d.dynamic;if(!d.easingFn){d.easingFn=String(d.easing).match(d.bezierRE);if(d.easingFn&&d.easingFn.length==5){f=d.easingFn;d.easingFn=Ext.fx.CubicBezier.cubicBezier(+f[1],+f[2],+f[3],+f[4])}}d.id=Ext.id(null,"ext-anim-");Ext.fx.Manager.addAnim(d);d.addEvents("beforeanimate","afteranimate","lastframe");d.mixins.observable.constructor.call(d,e);if(e.callback){d.on("afteranimate",e.callback,e.scope)}return d},setAttr:function(d,c){return Ext.fx.Manager.items.get(this.id).setAttr(this.target,d,c)},initAttrs:function(){var n=this,l=n.from,k=n.to,m=n.initialFrom||{},p={},r,q,j,o;for(o in k){if(k.hasOwnProperty(o)){r=n.target.getAttr(o,l[o]);q=k[o];if(!Ext.fx.PropertyHandler[o]){if(Ext.isObject(q)){j=n.propHandlers[o]=Ext.fx.PropertyHandler.object}else{j=n.propHandlers[o]=Ext.fx.PropertyHandler.defaultHandler}}else{j=n.propHandlers[o]=Ext.fx.PropertyHandler[o]}p[o]=j.get(r,q,n.damper,m[o],o)}}n.currentAttrs=p},start:function(i){var h=this,j=h.delay,f=h.delayStart,g;if(j){if(!f){h.delayStart=i;return}else{g=i-f;if(g<j){return}else{i=new Date(f.getTime()+j)}}}if(h.fireEvent("beforeanimate",h)!==false){h.startTime=i;if(!h.paused&&!h.currentAttrs){h.initAttrs()}h.running=true}},runAnim:function(l){var o=this,m=o.currentAttrs,s=o.duration,t=o.easingFn,u=o.propHandlers,q={},p,n,r,v;if(l>=s){l=s;v=true}if(o.reverse){l=s-l}for(r in m){if(m.hasOwnProperty(r)){n=m[r];p=v?1:t(l/s);q[r]=u[r].set(n,p)}}return q},lastFrame:function(){var f=this,e=f.iterations,d=f.currentIteration;d++;if(d<e){if(f.alternate){f.reverse=!f.reverse}f.startTime=new Date();f.currentIteration=d;f.paused=false}else{f.currentIteration=0;f.end();f.fireEvent("lastframe",f,f.startTime)}},end:function(){var b=this;b.startTime=0;b.paused=false;b.running=false;Ext.fx.Manager.removeAnim(b);b.fireEvent("afteranimate",b,b.startTime)}});Ext.enableFx=true;Ext.define("Ext.data.Types",{singleton:true,requires:["Ext.data.SortTypes"]},function(){var b=Ext.data.SortTypes;Ext.apply(Ext.data.Types,{stripRe:/[\$,%]/g,AUTO:{convert:function(a){return a},sortType:b.none,type:"auto"},STRING:{convert:function(d){var a=this.useNull?null:"";return(d===undefined||d===null)?a:String(d)},sortType:b.asUCString,type:"string"},INT:{convert:function(a){return a!==undefined&&a!==null&&a!==""?parseInt(String(a).replace(Ext.data.Types.stripRe,""),10):(this.useNull?null:0)},sortType:b.none,type:"int"},FLOAT:{convert:function(a){return a!==undefined&&a!==null&&a!==""?parseFloat(String(a).replace(Ext.data.Types.stripRe,""),10):(this.useNull?null:0)},sortType:b.none,type:"float"},BOOL:{convert:function(a){if(this.useNull&&(a===undefined||a===null||a==="")){return null}return a===true||a==="true"||a==1},sortType:b.none,type:"bool"},DATE:{convert:function(f){var e=this.dateFormat,a;if(!f){return null}if(Ext.isDate(f)){return f}if(e){if(e=="timestamp"){return new Date(f*1000)}if(e=="time"){return new Date(parseInt(f,10))}return Ext.Date.parse(f,e)}a=Date.parse(f);return a?new Date(a):null},sortType:b.asDate,type:"date"}});Ext.apply(Ext.data.Types,{BOOLEAN:this.BOOL,INTEGER:this.INT,NUMBER:this.FLOAT})});Ext.define("Ext.data.Field",{requires:["Ext.data.Types","Ext.data.SortTypes"],alias:"data.field",constructor:function(e){if(Ext.isString(e)){e={name:e}}Ext.apply(this,e);var g=Ext.data.Types,f=this.sortType,h;if(this.type){if(Ext.isString(this.type)){this.type=g[this.type.toUpperCase()]||g.AUTO}}else{this.type=g.AUTO}if(Ext.isString(f)){this.sortType=Ext.data.SortTypes[f]}else{if(Ext.isEmpty(f)){this.sortType=this.type.sortType}}if(!this.convert){this.convert=this.type.convert}},dateFormat:null,useNull:false,defaultValue:"",mapping:null,sortType:null,sortDir:"ASC",allowBlank:true,persist:true});Ext.define("Ext.data.NodeInterface",{requires:["Ext.data.Field"],statics:{decorate:function(p){if(!p.isNode){var k=Ext.ModelManager,n=p.modelName,l=k.getModel(n),i=l.prototype.idProperty,m=[],q,r,o;l.override(this.getPrototypeBody());m=this.applyFields(l,[{name:i,type:"string",defaultValue:null},{name:"parentId",type:"string",defaultValue:null},{name:"index",type:"int",defaultValue:null},{name:"depth",type:"int",defaultValue:0},{name:"expanded",type:"bool",defaultValue:false,persist:false},{name:"expandable",type:"bool",defaultValue:true,persist:false},{name:"checked",type:"auto",defaultValue:null},{name:"leaf",type:"bool",defaultValue:false,persist:false},{name:"cls",type:"string",defaultValue:null,persist:false},{name:"iconCls",type:"string",defaultValue:null,persist:false},{name:"icon",type:"string",defaultValue:null,persist:false},{name:"root",type:"boolean",defaultValue:false,persist:false},{name:"isLast",type:"boolean",defaultValue:false,persist:false},{name:"isFirst",type:"boolean",defaultValue:false,persist:false},{name:"allowDrop",type:"boolean",defaultValue:true,persist:false},{name:"allowDrag",type:"boolean",defaultValue:true,persist:false},{name:"loaded",type:"boolean",defaultValue:false,persist:false},{name:"loading",type:"boolean",defaultValue:false,persist:false},{name:"href",type:"string",defaultValue:null,persist:false},{name:"hrefTarget",type:"string",defaultValue:null,persist:false},{name:"qtip",type:"string",defaultValue:null,persist:false},{name:"qtitle",type:"string",defaultValue:null,persist:false}]);o=m.length;for(q=0;q<o;++q){r=m[q];if(p.get(r.name)===undefined){p.data[r.name]=r.defaultValue}}}Ext.applyIf(p,{firstChild:null,lastChild:null,parentNode:null,previousSibling:null,nextSibling:null,childNodes:[]});p.commit(true);p.enableBubble(["append","remove","move","insert","beforeappend","beforeremove","beforemove","beforeinsert","expand","collapse","beforeexpand","beforecollapse","sort"]);return p},applyFields:function(m,l){var r=m.prototype,p=r.fields,i=p.keys,n=l.length,s,q,t,o=[];for(q=0;q<n;q++){s=l[q];if(!Ext.Array.contains(i,s.name)){s=Ext.create("data.field",s);o.push(s);p.add(s)}}return o},getPrototypeBody:function(){return{isNode:true,createNode:function(b){if(Ext.isObject(b)&&!b.isModel){b=Ext.ModelManager.create(b,this.modelName)}return Ext.data.NodeInterface.decorate(b)},isLeaf:function(){return this.get("leaf")===true},setFirstChild:function(b){this.firstChild=b},setLastChild:function(b){this.lastChild=b},updateInfo:function(n){var m=this,u=m.isRoot(),p=m.parentNode,t=(!p?true:p.firstChild==m),q=(!p?true:p.lastChild==m),r=0,i=m,v=m.childNodes,o=v.length,s=0;while(i.parentNode){++r;i=i.parentNode}m.beginEdit();m.set({isFirst:t,isLast:q,depth:r,index:p?p.indexOf(m):0,parentId:p?p.getId():null});m.endEdit(n);if(n){m.commit()}for(s=0;s<o;s++){v[s].updateInfo(n)}},isLast:function(){return this.get("isLast")},isFirst:function(){return this.get("isFirst")},hasChildNodes:function(){return !this.isLeaf()&&this.childNodes.length>0},isExpandable:function(){var b=this;if(b.get("expandable")){return !(b.isLeaf()||(b.isLoaded()&&!b.hasChildNodes()))}return false},appendChild:function(q,i,k){var m=this,p,n,o,l,r;if(Ext.isArray(q)){for(p=0,n=q.length;p<n;p++){m.appendChild(q[p])}}else{q=m.createNode(q);if(i!==true&&m.fireEvent("beforeappend",m,q)===false){return false}o=m.childNodes.length;l=q.parentNode;if(l){if(i!==true&&q.fireEvent("beforemove",q,l,m,o)===false){return false}l.removeChild(q,null,false,true)}o=m.childNodes.length;if(o===0){m.setFirstChild(q)}m.childNodes.push(q);q.parentNode=m;q.nextSibling=null;m.setLastChild(q);r=m.childNodes[o-1];if(r){q.previousSibling=r;r.nextSibling=q;r.updateInfo(k)}else{q.previousSibling=null}q.updateInfo(k);if(!m.isLoaded()){m.set("loaded",true)}else{if(m.childNodes.length===1){m.set("loaded",m.isLoaded())}}if(i!==true){m.fireEvent("append",m,q,o);if(l){q.fireEvent("move",q,l,m,o)}}return q}},getBubbleTarget:function(){return this.parentNode},removeChild:function(j,g,l,i){var k=this,h=k.indexOf(j);if(h==-1||(l!==true&&k.fireEvent("beforeremove",k,j)===false)){return false}Ext.Array.erase(k.childNodes,h,1);if(k.firstChild==j){k.setFirstChild(j.nextSibling)}if(k.lastChild==j){k.setLastChild(j.previousSibling)}if(j.previousSibling){j.previousSibling.nextSibling=j.nextSibling;j.previousSibling.updateInfo(i)}if(j.nextSibling){j.nextSibling.previousSibling=j.previousSibling;j.nextSibling.updateInfo(i)}if(l!==true){k.fireEvent("remove",k,j)}if(!k.childNodes.length){k.set("loaded",k.isLoaded())}if(g){j.destroy(true)}else{j.clear()}return j},copy:function(k,l){var i=this,g=i.callOverridden(arguments),h=i.childNodes?i.childNodes.length:0,j;if(l){for(j=0;j<h;j++){g.appendChild(i.childNodes[j].copy(true))}}return g},clear:function(d){var c=this;c.parentNode=c.previousSibling=c.nextSibling=null;if(d){c.firstChild=c.lastChild=null}},destroy:function(e){var f=this,d=f.destroyOptions;if(e===true){f.clear(true);Ext.each(f.childNodes,function(a){a.destroy(true)});f.childNodes=null;delete f.destroyOptions;f.callOverridden([d])}else{f.destroyOptions=e;f.remove(true)}},insertBefore:function(m,j,o){var n=this,i=n.indexOf(j),p=m.parentNode,l=i,k;if(!j){return n.appendChild(m)}if(m==j){return false}m=n.createNode(m);if(o!==true&&n.fireEvent("beforeinsert",n,m,j)===false){return false}if(p==n&&n.indexOf(m)<i){l--}if(p){if(o!==true&&m.fireEvent("beforemove",m,p,n,i,j)===false){return false}p.removeChild(m)}if(l===0){n.setFirstChild(m)}Ext.Array.splice(n.childNodes,l,0,m);m.parentNode=n;m.nextSibling=j;j.previousSibling=m;k=n.childNodes[l-1];if(k){m.previousSibling=k;k.nextSibling=m;k.updateInfo()}else{m.previousSibling=null}m.updateInfo();if(!n.isLoaded()){n.set("loaded",true)}else{if(n.childNodes.length===1){n.set("loaded",n.isLoaded())}}if(o!==true){n.fireEvent("insert",n,m,j);if(p){m.fireEvent("move",m,p,n,l,j)}}return m},insertChild:function(e,f){var d=this.childNodes[e];if(d){return this.insertBefore(f,d)}else{return this.appendChild(f)}},remove:function(d,f){var e=this.parentNode;if(e){e.removeChild(this,d,f,true)}return this},removeAll:function(f,e){var g=this.childNodes,h;while((h=g[0])){this.removeChild(h,f,e)}return this},getChildAt:function(b){return this.childNodes[b]},replaceChild:function(f,g,h){var e=g?g.nextSibling:null;this.removeChild(g,h);this.insertBefore(f,e,h);return g},indexOf:function(b){return Ext.Array.indexOf(this.childNodes,b)},getPath:function(g,h){g=g||this.idProperty;h=h||"/";var e=[this.get(g)],f=this.parentNode;while(f){e.unshift(f.get(g));f=f.parentNode}return h+e.join(h)},getDepth:function(){return this.get("depth")},bubble:function(h,e,f){var g=this;while(g){if(h.apply(e||g,f||[g])===false){break}g=g.parentNode}},cascade:function(){if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn("Ext.data.Node: cascade has been deprecated. Please use cascadeBy instead.")}return this.cascadeBy.apply(this,arguments)},cascadeBy:function(k,l,h){if(k.apply(l||this,h||[this])!==false){var i=this.childNodes,j=i.length,g;for(g=0;g<j;g++){i[g].cascadeBy(k,l,h)}}},eachChild:function(k,l,h){var i=this.childNodes,j=i.length,g;for(g=0;g<j;g++){if(k.apply(l||this,h||[i[g]])===false){break}}},findChild:function(d,f,e){return this.findChildBy(function(){return this.get(d)==f},null,e)},findChildBy:function(l,m,i){var n=this.childNodes,j=n.length,o=0,k,p;for(;o<j;o++){k=n[o];if(l.call(m||k,k)===true){return k}else{if(i){p=k.findChildBy(l,m,i);if(p!==null){return p}}}}return null},contains:function(b){return b.isAncestor(this)},isAncestor:function(d){var c=this.parentNode;while(c){if(c==d){return true}c=c.parentNode}return false},sort:function(k,h,i){var m=this.childNodes,l=m.length,n,j;if(l>0){Ext.Array.sort(m,k);for(n=0;n<l;n++){j=m[n];j.previousSibling=m[n-1];j.nextSibling=m[n+1];if(n===0){this.setFirstChild(j);j.updateInfo()}if(n==l-1){this.setLastChild(j);j.updateInfo()}if(h&&!j.isLeaf()){j.sort(k,true,true)}}if(i!==true){this.fireEvent("sort",this,m)}}},isExpanded:function(){return this.get("expanded")},isLoaded:function(){return this.get("loaded")},isLoading:function(){return this.get("loading")},isRoot:function(){return !this.parentNode},isVisible:function(){var b=this.parentNode;while(b){if(!b.isExpanded()){return false}b=b.parentNode}return true},expand:function(f,g,e){var h=this;if(!h.isLeaf()){if(h.isLoading()){h.on("expand",function(){h.expand(f,g,e)},h,{single:true})}else{if(!h.isExpanded()){h.fireEvent("beforeexpand",h,function(){h.set("expanded",true);h.fireEvent("expand",h,h.childNodes,false);if(f){h.expandChildren(true,g,e)}else{Ext.callback(g,e||h,[h.childNodes])}},h)}else{if(f){h.expandChildren(true,g,e)}else{Ext.callback(g,e||h,[h.childNodes])}}}}else{Ext.callback(g,e||h)}},expandChildren:function(o,k,i){var l=this,n=0,r=l.childNodes,m=r.length,p,q=0;for(;n<m;++n){p=r[n];if(!p.isLeaf()&&!p.isExpanded()){q++;r[n].expand(o,function(){q--;if(k&&!q){Ext.callback(k,i||l,[l.childNodes])}})}}if(!q&&k){Ext.callback(k,i||l,[l.childNodes])}},collapse:function(f,g,e){var h=this;if(!h.isLeaf()){if(!h.collapsing&&h.isExpanded()){h.fireEvent("beforecollapse",h,function(){h.set("expanded",false);h.fireEvent("collapse",h,h.childNodes,false);if(f){h.collapseChildren(true,g,e)}else{Ext.callback(g,e||h,[h.childNodes])}},h)}else{if(f){h.collapseChildren(true,g,e)}}}else{Ext.callback(g,e||h,[h.childNodes])}},collapseChildren:function(o,k,i){var l=this,n=0,q=l.childNodes,m=q.length,p,r=0;for(;n<m;++n){p=q[n];if(!p.isLeaf()&&p.isExpanded()){r++;q[n].collapse(o,function(){r--;if(k&&!r){Ext.callback(k,i||l,[l.childNodes])}})}}if(!r&&k){Ext.callback(k,i||l,[l.childNodes])}}}}}});Ext.define("Ext.data.Errors",{extend:"Ext.util.MixedCollection",isValid:function(){return this.length===0},getByField:function(h){var i=[],g,j,f;for(f=0;f<this.length;f++){g=this.items[f];if(g.field==h){i.push(g)}}return i}});Ext.define("Ext.layout.container.AbstractFit",{extend:"Ext.layout.container.Container",itemCls:Ext.baseCSSPrefix+"fit-item",targetCls:Ext.baseCSSPrefix+"layout-fit",type:"fit"});Ext.define("Ext.menu.Manager",{singleton:true,requires:["Ext.util.MixedCollection","Ext.util.KeyMap"],alternateClassName:"Ext.menu.MenuMgr",uses:["Ext.menu.Menu"],menus:{},groups:{},attached:false,lastShow:new Date(),init:function(){var b=this;b.active=Ext.create("Ext.util.MixedCollection");Ext.getDoc().addKeyListener(27,function(){if(b.active.length>0){b.hideAll()}},b)},hideAll:function(){var d=this.active,c;if(d&&d.length>0){c=d.clone();c.each(function(a){a.hide()});return true}return false},onHide:function(e){var d=this,f=d.active;f.remove(e);if(f.length<1){Ext.getDoc().un("mousedown",d.onMouseDown,d);d.attached=false}},onShow:function(i){var l=this,k=l.active,m=k.last(),n=l.attached,h=i.getEl(),j;l.lastShow=new Date();k.add(i);if(!n){Ext.getDoc().on("mousedown",l.onMouseDown,l);l.attached=true}i.toFront()},onBeforeHide:function(b){if(b.activeChild){b.activeChild.hide()}if(b.autoHideTimer){clearTimeout(b.autoHideTimer);delete b.autoHideTimer}},onBeforeShow:function(e){var f=this.active,d=e.parentMenu;f.remove(e);if(!d&&!e.allowOtherMenus){this.hideAll()}else{if(d&&d.activeChild&&e!=d.activeChild){d.activeChild.hide()}}},onMouseDown:function(h){var e=this,i=e.active,g=e.lastShow,j=h.target;if(Ext.Date.getElapsed(g)>50&&i.length>0&&!h.getTarget("."+Ext.baseCSSPrefix+"menu")){e.hideAll();if(Ext.isIE&&Ext.fly(j).focusable()){j.focus()}}},register:function(c){var d=this;if(!d.active){d.init()}if(c.floating){d.menus[c.id]=c;c.on({beforehide:d.onBeforeHide,hide:d.onHide,beforeshow:d.onBeforeShow,show:d.onShow,scope:d})}},get:function(c){var d=this.menus;if(typeof c=="string"){if(!d){return null}return d[c]}else{if(c.isMenu){return c}else{if(Ext.isArray(c)){return Ext.create("Ext.menu.Menu",{items:c})}else{return Ext.ComponentManager.create(c,"menu")}}}},unregister:function(g){var f=this,e=f.menus,h=f.active;delete e[g.id];h.remove(g);g.un({beforehide:f.onBeforeHide,hide:f.onHide,beforeshow:f.onBeforeShow,show:f.onShow,scope:f})},registerCheckable:function(f){var e=this.groups,d=f.group;if(d){if(!e[d]){e[d]=[]}e[d].push(f)}},unregisterCheckable:function(f){var e=this.groups,d=f.group;if(d){Ext.Array.remove(e[d],f)}},onCheckChange:function(o,m){var j=this.groups,p=o.group,i=0,k,n,l;if(p&&m){k=j[p];n=k.length;for(;i<n;i++){l=k[i];if(l!=o){l.setChecked(false)}}}}});Ext.define("Ext.layout.component.Button",{alias:["layout.button"],extend:"Ext.layout.component.Component",type:"button",cellClsRE:/-btn-(tl|br)\b/,htmlRE:/<.*>/,beforeLayout:function(){return this.callParent(arguments)||this.lastText!==this.owner.text},onLayout:function(B,q){var t=this,x=Ext.isNumber,A=t.owner,r=A.el,w=A.btnEl,z=A.btnInnerEl,y=A.btnIconEl,v=(A.icon||A.iconCls)&&(A.iconAlign=="top"||A.iconAlign=="bottom"),C=A.minWidth,s=A.maxWidth,D,p,u;t.getTargetInfo();t.callParent(arguments);z.unclip();t.setTargetSize(B,q);if(!x(B)){if(A.text&&(Ext.isIE6||Ext.isIE7)&&Ext.isStrict&&w&&w.getWidth()>20){p=t.btnFrameWidth;u=Ext.util.TextMetrics.measure(z,A.text);r.setWidth(u.width+p+t.adjWidth);w.setWidth(u.width+p);z.setWidth(u.width+p);if(v){y.setWidth(u.width+p)}}else{r.setWidth(null);w.setWidth(null);z.setWidth(null);y.setWidth(null)}if(C||s){D=r.getWidth();if(C&&(D<C)){t.setTargetSize(C,q)}else{if(s&&(D>s)){z.clip();t.setTargetSize(s,q)}}}}this.lastText=A.text},setTargetSize:function(v,l){var p=this,u=p.owner,r=Ext.isNumber,s=u.btnInnerEl,n=(r(v)?v-p.adjWidth:v),q=(r(l)?l-p.adjHeight:l),t=p.btnFrameHeight,m=u.getText(),o;p.callParent(arguments);p.setElementSize(u.btnEl,n,q);p.setElementSize(s,n,q);if(q>=0){s.setStyle("line-height",q-t+"px")}if(m&&this.htmlRE.test(m)){s.setStyle("line-height","normal");o=Ext.util.TextMetrics.measure(s,m).height;s.setStyle("padding-top",p.btnFrameTop+Math.max(s.getHeight()-t-o,0)/2+"px");p.setElementSize(s,n,q)}},getTargetInfo:function(){var l=this,i=l.owner,m=i.el,n=l.frameSize,j=i.frameBody,h=i.btnWrap,k=i.btnInnerEl;if(!("adjWidth" in l)){Ext.apply(l,{adjWidth:n.left+n.right+m.getBorderWidth("lr")+m.getPadding("lr")+h.getPadding("lr")+(j?j.getFrameWidth("lr"):0),adjHeight:n.top+n.bottom+m.getBorderWidth("tb")+m.getPadding("tb")+h.getPadding("tb")+(j?j.getFrameWidth("tb"):0),btnFrameWidth:k.getFrameWidth("lr"),btnFrameHeight:k.getFrameWidth("tb"),btnFrameTop:k.getFrameWidth("t")})}return l.callParent()}});Ext.define("Ext.layout.component.Tab",{alias:["layout.tab"],extend:"Ext.layout.component.Button",beforeLayout:function(){var c=this,d=c.lastClosable!==c.owner.closable;if(d){delete c.adjWidth}return this.callParent(arguments)||d},onLayout:function(){var b=this;b.callParent(arguments);b.lastClosable=b.owner.closable}});Ext.define("Ext.state.Manager",{singleton:true,requires:["Ext.state.Provider"],constructor:function(){this.provider=Ext.create("Ext.state.Provider")},setProvider:function(b){this.provider=b},get:function(c,d){return this.provider.get(c,d)},set:function(d,c){this.provider.set(d,c)},clear:function(b){this.provider.clear(b)},getProvider:function(){return this.provider}});Ext.define("Ext.state.Stateful",{mixins:{observable:"Ext.util.Observable"},requires:["Ext.state.Manager"],stateful:true,saveDelay:100,autoGenIdRe:/^((\w+-)|(ext-comp-))\d{4,}$/i,constructor:function(d){var c=this;d=d||{};if(Ext.isDefined(d.stateful)){c.stateful=d.stateful}if(Ext.isDefined(d.saveDelay)){c.saveDelay=d.saveDelay}c.stateId=c.stateId||d.stateId;if(!c.stateEvents){c.stateEvents=[]}if(d.stateEvents){c.stateEvents.concat(d.stateEvents)}this.addEvents("beforestaterestore","staterestore","beforestatesave","statesave");c.mixins.observable.constructor.call(c);if(c.stateful!==false){c.initStateEvents();c.initState()}},initStateEvents:function(){this.addStateEvents(this.stateEvents)},addStateEvents:function(h){if(!Ext.isArray(h)){h=[h]}var g=this,e=0,f=h.length;for(;e<f;++e){g.on(h[e],g.onStateChange,g)}},onStateChange:function(){var c=this,d=c.saveDelay;if(d>0){if(!c.stateTask){c.stateTask=Ext.create("Ext.util.DelayedTask",c.saveState,c)}c.stateTask.delay(c.saveDelay)}else{c.saveState()}},saveState:function(){var e=this,f,d;if(e.stateful!==false){f=e.getStateId();if(f){d=e.getState();if(e.fireEvent("beforestatesave",e,d)!==false){Ext.state.Manager.set(f,d);e.fireEvent("statesave",e,d)}}}},getState:function(){return null},applyState:function(b){if(b){Ext.apply(this,b)}},getStateId:function(){var d=this,c=d.stateId;if(!c){c=d.autoGenIdRe.test(String(d.id))?null:d.id}return c},initState:function(){var e=this,f=e.getStateId(),d;if(e.stateful!==false){if(f){d=Ext.state.Manager.get(f);if(d){d=Ext.apply({},d);if(e.fireEvent("beforestaterestore",e,d)!==false){e.applyState(d);e.fireEvent("staterestore",e,d)}}}}},savePropToState:function(i,j,k){var g=this,l=g[i],h=g.initialConfig;if(g.hasOwnProperty(i)){if(!h||h[i]!==l){if(j){j[k||i]=l}return true}}return false},savePropsToState:function(f,d){var e=this;Ext.each(f,function(a){e.savePropToState(a,d)});return d},destroy:function(){var b=this.stateTask;if(b){b.cancel()}this.clearListeners()}});Ext.define("Ext.AbstractComponent",{requires:["Ext.ComponentQuery","Ext.ComponentManager"],mixins:{observable:"Ext.util.Observable",animate:"Ext.util.Animate",state:"Ext.state.Stateful"},uses:["Ext.PluginManager","Ext.ComponentManager","Ext.Element","Ext.DomHelper","Ext.XTemplate","Ext.ComponentQuery","Ext.ComponentLoader","Ext.EventManager","Ext.layout.Layout","Ext.layout.component.Auto","Ext.LoadMask","Ext.ZIndexManager"],statics:{AUTO_ID:1000},isComponent:true,getAutoId:function(){return ++Ext.AbstractComponent.AUTO_ID},renderTpl:null,tplWriteMode:"overwrite",baseCls:Ext.baseCSSPrefix+"component",disabledCls:Ext.baseCSSPrefix+"item-disabled",ui:"default",uiCls:[],hidden:false,disabled:false,draggable:false,floating:false,hideMode:"display",styleHtmlContent:false,styleHtmlCls:Ext.baseCSSPrefix+"html",autoShow:false,autoRender:false,needsLayout:false,allowDomMove:true,rendered:false,componentLayoutCounter:0,weight:0,trimRe:/^\s+|\s+$/g,spacesRe:/\s+/,maskOnDisable:true,constructor:function(e){var g=this,h,f;e=e||{};g.initialConfig=e;Ext.apply(g,e);g.addEvents("beforeactivate","activate","beforedeactivate","deactivate","added","disable","enable","beforeshow","show","beforehide","hide","removed","beforerender","render","afterrender","beforedestroy","destroy","resize","move");g.getId();g.mons=[];g.additionalCls=[];g.renderData=g.renderData||{};g.renderSelectors=g.renderSelectors||{};if(g.plugins){g.plugins=[].concat(g.plugins);g.constructPlugins()}g.initComponent();Ext.ComponentManager.register(g);g.mixins.observable.constructor.call(g);g.mixins.state.constructor.call(g,e);this.addStateEvents("resize");if(g.plugins){g.plugins=[].concat(g.plugins);for(h=0,f=g.plugins.length;h<f;h++){g.plugins[h]=g.initPlugin(g.plugins[h])}}g.loader=g.getLoader();if(g.renderTo){g.render(g.renderTo)}if(g.autoShow){g.show()}if(Ext.isDefined(g.disabledClass)){if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn("Ext.Component: disabledClass has been deprecated. Please use disabledCls.")}g.disabledCls=g.disabledClass;delete g.disabledClass}},initComponent:function(){this.constructPlugins()},getState:function(){var k=this,l=k.ownerCt?(k.shadowOwnerCt||k.ownerCt).getLayout():null,j={collapsed:k.collapsed},n=k.width,h=k.height,i=k.collapseMemento,m;if(k.collapsed&&i){if(Ext.isDefined(i.data.width)){n=i.width}if(Ext.isDefined(i.data.height)){h=i.height}}if(l&&k.flex){j.flex=k.flex;if(l.perpendicularPrefix){j[l.perpendicularPrefix]=k["get"+l.perpendicularPrefixCap]()}else{if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn("Ext.Component: Specified a flex value on a component not inside a Box layout")}}}else{if(l&&k.anchor){j.anchor=k.anchor;m=k.anchor.split(" ").concat(null);if(!m[0]){if(k.width){j.width=n}}if(!m[1]){if(k.height){j.height=h}}}else{if(k.width){j.width=n}if(k.height){j.height=h}}}if(j.width==k.initialConfig.width){delete j.width}if(j.height==k.initialConfig.height){delete j.height}if(l&&l.align&&(l.align.indexOf("stretch")!==-1)){delete j[l.perpendicularPrefix]}return j},show:Ext.emptyFn,animate:function(s){var o=this,l;s=s||{};l=s.to||{};if(Ext.fx.Manager.hasFxBlock(o.id)){return o}if(!s.dynamic&&(l.height||l.width)){var p=o.getWidth(),h=p,q=o.getHeight(),r=q,t=false;if(l.height&&l.height>q){r=l.height;t=true}if(l.width&&l.width>p){h=l.width;t=true}if(t){var m=!Ext.isNumber(o.width),n=!Ext.isNumber(o.height);o.componentLayout.childrenChanged=true;o.setSize(h,r,o.ownerCt);o.el.setSize(p,q);if(m){delete o.width}if(n){delete o.height}}}return o.mixins.animate.animate.apply(o,arguments)},findLayoutController:function(){return this.findParentBy(function(b){return !b.ownerCt||(b.layout.layoutBusy&&!b.ownerCt.layout.layoutBusy)})},onShow:function(){var b=this.needsLayout;if(Ext.isObject(b)){this.doComponentLayout(b.width,b.height,b.isSetSize,b.ownerCt)}},constructPlugin:function(b){if(b.ptype&&typeof b.init!="function"){b.cmp=this;b=Ext.PluginManager.create(b)}else{if(typeof b=="string"){b=Ext.PluginManager.create({ptype:b,cmp:this})}}return b},constructPlugins:function(){var g=this,e=g.plugins,h,f;if(e){for(h=0,f=e.length;h<f;h++){e[h]=g.constructPlugin(e[h])}}},initPlugin:function(b){b.init(this);return b},doAutoRender:function(){var b=this;if(b.floating){b.render(document.body)}else{b.render(Ext.isBoolean(b.autoRender)?Ext.getBody():b.autoRender)}},render:function(d,e){var f=this;if(!f.rendered&&f.fireEvent("beforerender",f)!==false){f.rendering=true;if(f.el){f.el=Ext.get(f.el)}if(f.floating){f.onFloatRender()}d=f.initContainer(d);f.onRender(d,e);f.el.setVisibilityMode(Ext.Element[f.hideMode.toUpperCase()]);if(f.overCls){f.el.hover(f.addOverCls,f.removeOverCls,f)}f.fireEvent("render",f);f.initContent();f.afterRender(d);f.fireEvent("afterrender",f);f.initEvents();if(f.hidden){f.el.hide()}if(f.disabled){f.disable(true)}delete f.rendering}return f},onRender:function(i,j){var m=this,o=m.el,n=m.initStyles(),k,l,p;j=m.getInsertPosition(j);if(!o){if(j){o=Ext.DomHelper.insertBefore(j,m.getElConfig(),true)}else{o=Ext.DomHelper.append(i,m.getElConfig(),true)}}else{if(m.allowDomMove!==false){if(j){i.dom.insertBefore(o.dom,j)}else{i.dom.appendChild(o.dom)}}}if(Ext.scopeResetCSS&&!m.ownerCt){if(o.dom==Ext.getBody().dom){o.parent().addCls(Ext.baseCSSPrefix+"reset")}else{m.resetEl=o.wrap({cls:Ext.baseCSSPrefix+"reset"})}}m.setUI(m.ui);o.addCls(m.initCls());o.setStyle(n);m.el=o;m.initFrame();k=m.initRenderTpl();if(k){l=m.initRenderData();k.append(m.getTargetEl(),l)}m.applyRenderSelectors();m.rendered=true},afterRender:function(){var e=this,f,d;e.getComponentLayout();if(e.collapsed||(!e.ownerCt||(e.height||e.width))){e.setSize(e.width,e.height)}else{e.renderChildren()}if(e.floating&&(e.x===undefined||e.y===undefined)){if(e.floatParent){d=e.el.getAlignToXY(e.floatParent.getTargetEl(),"c-c");f=e.floatParent.getTargetEl().translatePoints(d[0],d[1])}else{d=e.el.getAlignToXY(e.container,"c-c");f=e.container.translatePoints(d[0],d[1])}e.x=e.x===undefined?f.left:e.x;e.y=e.y===undefined?f.top:e.y}if(Ext.isDefined(e.x)||Ext.isDefined(e.y)){e.setPosition(e.x,e.y)}if(e.styleHtmlContent){e.getTargetEl().addCls(e.styleHtmlCls)}},registerFloatingItem:function(c){var d=this;if(!d.floatingItems){d.floatingItems=Ext.create("Ext.ZIndexManager",d)}d.floatingItems.register(c)},renderChildren:function(){var c=this,d=c.getComponentLayout();c.suspendLayout=true;d.renderChildren();delete c.suspendLayout},frameCls:Ext.baseCSSPrefix+"frame",frameIdRegex:/[-]frame\d+[TMB][LCR]$/,frameElementCls:{tl:[],tc:[],tr:[],ml:[],mc:[],mr:[],bl:[],bc:[],br:[]},frameTpl:['<tpl if="top">','<tpl if="left"><div id="{fgid}TL" class="{frameCls}-tl {baseCls}-tl {baseCls}-{ui}-tl<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-tl</tpl></tpl>" style="background-position: {tl}; padding-left: {frameWidth}px" role="presentation"></tpl>','<tpl if="right"><div id="{fgid}TR" class="{frameCls}-tr {baseCls}-tr {baseCls}-{ui}-tr<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-tr</tpl></tpl>" style="background-position: {tr}; padding-right: {frameWidth}px" role="presentation"></tpl>','<div id="{fgid}TC" class="{frameCls}-tc {baseCls}-tc {baseCls}-{ui}-tc<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-tc</tpl></tpl>" style="background-position: {tc}; height: {frameWidth}px" role="presentation"></div>','<tpl if="right"></div></tpl>','<tpl if="left"></div></tpl>',"</tpl>",'<tpl if="left"><div id="{fgid}ML" class="{frameCls}-ml {baseCls}-ml {baseCls}-{ui}-ml<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-ml</tpl></tpl>" style="background-position: {ml}; padding-left: {frameWidth}px" role="presentation"></tpl>','<tpl if="right"><div id="{fgid}MR" class="{frameCls}-mr {baseCls}-mr {baseCls}-{ui}-mr<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-mr</tpl></tpl>" style="background-position: {mr}; padding-right: {frameWidth}px" role="presentation"></tpl>','<div id="{fgid}MC" class="{frameCls}-mc {baseCls}-mc {baseCls}-{ui}-mc<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-mc</tpl></tpl>" role="presentation"></div>','<tpl if="right"></div></tpl>','<tpl if="left"></div></tpl>','<tpl if="bottom">','<tpl if="left"><div id="{fgid}BL" class="{frameCls}-bl {baseCls}-bl {baseCls}-{ui}-bl<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-bl</tpl></tpl>" style="background-position: {bl}; padding-left: {frameWidth}px" role="presentation"></tpl>','<tpl if="right"><div id="{fgid}BR" class="{frameCls}-br {baseCls}-br {baseCls}-{ui}-br<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-br</tpl></tpl>" style="background-position: {br}; padding-right: {frameWidth}px" role="presentation"></tpl>','<div id="{fgid}BC" class="{frameCls}-bc {baseCls}-bc {baseCls}-{ui}-bc<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-bc</tpl></tpl>" style="background-position: {bc}; height: {frameWidth}px" role="presentation"></div>','<tpl if="right"></div></tpl>','<tpl if="left"></div></tpl>',"</tpl>"],frameTableTpl:["<table><tbody>",'<tpl if="top">',"<tr>",'<tpl if="left"><td id="{fgid}TL" class="{frameCls}-tl {baseCls}-tl {baseCls}-{ui}-tl<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-tl</tpl></tpl>" style="background-position: {tl}; padding-left:{frameWidth}px" role="presentation"></td></tpl>','<td id="{fgid}TC" class="{frameCls}-tc {baseCls}-tc {baseCls}-{ui}-tc<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-tc</tpl></tpl>" style="background-position: {tc}; height: {frameWidth}px" role="presentation"></td>','<tpl if="right"><td id="{fgid}TR" class="{frameCls}-tr {baseCls}-tr {baseCls}-{ui}-tr<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-tr</tpl></tpl>" style="background-position: {tr}; padding-left: {frameWidth}px" role="presentation"></td></tpl>',"</tr>","</tpl>","<tr>",'<tpl if="left"><td id="{fgid}ML" class="{frameCls}-ml {baseCls}-ml {baseCls}-{ui}-ml<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-ml</tpl></tpl>" style="background-position: {ml}; padding-left: {frameWidth}px" role="presentation"></td></tpl>','<td id="{fgid}MC" class="{frameCls}-mc {baseCls}-mc {baseCls}-{ui}-mc<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-mc</tpl></tpl>" style="background-position: 0 0;" role="presentation"></td>','<tpl if="right"><td id="{fgid}MR" class="{frameCls}-mr {baseCls}-mr {baseCls}-{ui}-mr<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-mr</tpl></tpl>" style="background-position: {mr}; padding-left: {frameWidth}px" role="presentation"></td></tpl>',"</tr>",'<tpl if="bottom">',"<tr>",'<tpl if="left"><td id="{fgid}BL" class="{frameCls}-bl {baseCls}-bl {baseCls}-{ui}-bl<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-bl</tpl></tpl>" style="background-position: {bl}; padding-left: {frameWidth}px" role="presentation"></td></tpl>','<td id="{fgid}BC" class="{frameCls}-bc {baseCls}-bc {baseCls}-{ui}-bc<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-bc</tpl></tpl>" style="background-position: {bc}; height: {frameWidth}px" role="presentation"></td>','<tpl if="right"><td id="{fgid}BR" class="{frameCls}-br {baseCls}-br {baseCls}-{ui}-br<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-br</tpl></tpl>" style="background-position: {br}; padding-left: {frameWidth}px" role="presentation"></td></tpl>',"</tr>","</tpl>","</tbody></table>"],initFrame:function(){if(Ext.supports.CSS3BorderRadius){return false}var h=this,i=h.getFrameInfo(),f=i.width,g=h.getFrameTpl(i.table),j;if(h.frame){h.frameGenId=j=(h.frameGenId||0)+1;j=h.id+"-frame"+j;g.insertFirst(h.el,Ext.apply({},{fgid:j,ui:h.ui,uiCls:h.uiCls,frameCls:h.frameCls,baseCls:h.baseCls,frameWidth:f,top:!!i.top,left:!!i.left,right:!!i.right,bottom:!!i.bottom},h.getFramePositions(i)));h.frameBody=h.el.down("."+h.frameCls+"-mc");h.removeChildEls(function(a){return a.id&&h.frameIdRegex.test(a.id)});Ext.each(["TL","TC","TR","ML","MC","MR","BL","BC","BR"],function(a){h.childEls.push({name:"frame"+a,id:j+a})})}},updateFrame:function(){if(Ext.supports.CSS3BorderRadius){return false}var l=this,j=this.frameSize&&this.frameSize.table,k=this.frameTL,m=this.frameBL,n=this.frameML,i=this.frameMC,h;this.initFrame();if(i){if(l.frame){delete l.frameTL;delete l.frameTC;delete l.frameTR;delete l.frameML;delete l.frameMC;delete l.frameMR;delete l.frameBL;delete l.frameBC;delete l.frameBR;this.applyRenderSelectors();h=this.frameMC.dom.className;i.insertAfter(this.frameMC);this.frameMC.remove();this.frameBody=this.frameMC=i;i.dom.className=h;if(j){l.el.query("> table")[1].remove()}else{if(k){k.remove()}if(m){m.remove()}n.remove()}}else{}}else{if(l.frame){this.applyRenderSelectors()}}},getFrameInfo:function(){if(Ext.supports.CSS3BorderRadius){return false}var l=this,i=l.el.getStyle("background-position-x"),j=l.el.getStyle("background-position-y"),k,g=false,h;if(!i&&!j){k=l.el.getStyle("background-position").split(" ");i=k[0];j=k[1]}if(parseInt(i,10)>=1000000&&parseInt(j,10)>=1000000){h=Math.max;g={table:i.substr(0,3)=="110",vertical:j.substr(0,3)=="110",top:h(i.substr(3,2),i.substr(5,2)),right:h(i.substr(5,2),j.substr(3,2)),bottom:h(j.substr(3,2),j.substr(5,2)),left:h(j.substr(5,2),i.substr(3,2))};g.width=h(g.top,g.right,g.bottom,g.left);l.el.setStyle("background-image","none")}if(l.frame===true&&!g){Ext.Error.raise("You have set frame: true explicity on this component while it doesn't have any framing defined in the CSS template. In this case IE can't figure out what sizes to use and thus framing on this component will be disabled.")}l.frame=l.frame||!!g;l.frameSize=g||false;return g},getFramePositions:function(n){var l=this,k=n.width,j=l.dock,o,q,m,p,r;if(n.vertical){q="0 -"+(k*0)+"px";m="0 -"+(k*1)+"px";if(j&&j=="right"){q="right -"+(k*0)+"px";m="right -"+(k*1)+"px"}o={tl:"0 -"+(k*0)+"px",tr:"0 -"+(k*1)+"px",bl:"0 -"+(k*2)+"px",br:"0 -"+(k*3)+"px",ml:"-"+(k*1)+"px 0",mr:"right 0",tc:q,bc:m}}else{p="-"+(k*0)+"px 0";r="right 0";if(j&&j=="bottom"){p="left bottom";r="right bottom"}o={tl:"0 -"+(k*2)+"px",tr:"right -"+(k*3)+"px",bl:"0 -"+(k*4)+"px",br:"right -"+(k*5)+"px",ml:p,mr:r,tc:"0 -"+(k*0)+"px",bc:"0 -"+(k*1)+"px"}}return o},getFrameTpl:function(b){return b?this.getTpl("frameTableTpl"):this.getTpl("frameTpl")},initCls:function(){var c=this,d=[];d.push(c.baseCls);if(Ext.isDefined(c.cmpCls)){if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn("Ext.Component: cmpCls has been deprecated. Please use componentCls.")}c.componentCls=c.cmpCls;delete c.cmpCls}if(c.componentCls){d.push(c.componentCls)}else{c.componentCls=c.baseCls}if(c.cls){d.push(c.cls);delete c.cls}return d.concat(c.additionalCls)},setUI:function(k){var l=this,h=Ext.Array.clone(l.uiCls),j=[],m=[],i,n;for(n=0;n<h.length;n++){i=h[n];m=m.concat(l.removeClsWithUI(i,true));j.push(i)}if(m.length){l.removeCls(m)}l.removeUIFromElement();l.ui=k;l.addUIToElement();m=[];for(n=0;n<j.length;n++){i=j[n];m=m.concat(l.addClsWithUI(i,true))}if(m.length){l.addCls(m)}},addClsWithUI:function(g,h){var i=this,j=[],f;if(!Ext.isArray(g)){g=[g]}for(f=0;f<g.length;f++){if(g[f]&&!i.hasUICls(g[f])){i.uiCls=Ext.Array.clone(i.uiCls);i.uiCls.push(g[f]);j=j.concat(i.addUIClsToElement(g[f]))}}if(h!==true){i.addCls(j)}return j},removeClsWithUI:function(g,h){var i=this,j=[],f;if(!Ext.isArray(g)){g=[g]}for(f=0;f<g.length;f++){if(g[f]&&i.hasUICls(g[f])){i.uiCls=Ext.Array.remove(i.uiCls,g[f]);j=j.concat(i.removeUIClsFromElement(g[f]))}}if(h!==true){i.removeCls(j)}return j},hasUICls:function(e){var d=this,f=d.uiCls||[];return Ext.Array.contains(f,e)},addUIClsToElement:function(j,t){var n=this,i=[],m=n.frameElementCls;i.push(Ext.baseCSSPrefix+j);i.push(n.baseCls+"-"+j);i.push(n.baseCls+"-"+n.ui+"-"+j);if(!t&&n.frame&&!Ext.supports.CSS3BorderRadius){var p=["tl","tc","tr","ml","mc","mr","bl","bc","br"],r,o,q,s;for(o=0;o<p.length;o++){s=n["frame"+p[o].toUpperCase()];r=[n.baseCls+"-"+n.ui+"-"+p[o],n.baseCls+"-"+n.ui+"-"+j+"-"+p[o]];if(s&&s.dom){s.addCls(r)}else{for(q=0;q<r.length;q++){if(Ext.Array.indexOf(m[p[o]],r[q])==-1){m[p[o]].push(r[q])}}}}}n.frameElementCls=m;return i},removeUIClsFromElement:function(i,k){var l=this,j=[],m=l.frameElementCls;j.push(Ext.baseCSSPrefix+i);j.push(l.baseCls+"-"+i);j.push(l.baseCls+"-"+l.ui+"-"+i);if(!k&&l.frame&&!Ext.supports.CSS3BorderRadius){var o=["tl","tc","tr","ml","mc","mr","bl","bc","br"],p,n;i=l.baseCls+"-"+l.ui+"-"+i+"-"+o[p];for(p=0;p<o.length;p++){n=l["frame"+o[p].toUpperCase()];if(n&&n.dom){n.removeCls(i)}else{Ext.Array.remove(m[o[p]],i)}}}l.frameElementCls=m;return j},addUIToElement:function(j){var k=this,l=k.frameElementCls;k.addCls(k.baseCls+"-"+k.ui);if(k.frame&&!Ext.supports.CSS3BorderRadius){var n=["tl","tc","tr","ml","mc","mr","bl","bc","br"],h,m,i;for(h=0;h<n.length;h++){m=k["frame"+n[h].toUpperCase()];i=k.baseCls+"-"+k.ui+"-"+n[h];if(m){m.addCls(i)}else{if(!Ext.Array.contains(l[n[h]],i)){l[n[h]].push(i)}}}}},removeUIFromElement:function(){var j=this,k=j.frameElementCls;j.removeCls(j.baseCls+"-"+j.ui);if(j.frame&&!Ext.supports.CSS3BorderRadius){var m=["tl","tc","tr","ml","mc","mr","bl","bc","br"],n,h,l,i;for(n=0;n<m.length;n++){l=j["frame"+m[n].toUpperCase()];i=j.baseCls+"-"+j.ui+"-"+m[n];if(l){l.removeCls(i)}else{Ext.Array.remove(k[m[n]],i)}}}},getElConfig:function(){if(Ext.isString(this.autoEl)){this.autoEl={tag:this.autoEl}}var b=this.autoEl||{tag:"div"};b.id=this.id;return b},getInsertPosition:function(b){if(b!==undefined){if(Ext.isNumber(b)){b=this.container.dom.childNodes[b]}else{b=Ext.getDom(b)}}return b},initContainer:function(d){var c=this;if(!d&&c.el){d=c.el.dom.parentNode;c.allowDomMove=false}c.container=Ext.get(d);if(c.ctCls){c.container.addCls(c.ctCls)}return c.container},initRenderData:function(){var b=this;return Ext.applyIf(b.renderData,{id:b.id,ui:b.ui,uiCls:b.uiCls,baseCls:b.baseCls,componentCls:b.componentCls,frame:b.frame})},getTpl:function(j){var h=this,f=h.self.prototype,i,g;if(h.hasOwnProperty(j)){g=h[j];if(g&&!(g instanceof Ext.XTemplate)){h[j]=Ext.ClassManager.dynInstantiate("Ext.XTemplate",g)}return h[j]}if(!(f[j] instanceof Ext.XTemplate)){i=f;do{if(i.hasOwnProperty(j)){g=i[j];if(g&&!(g instanceof Ext.XTemplate)){i[j]=Ext.ClassManager.dynInstantiate("Ext.XTemplate",g);break}}i=i.superclass}while(i)}return f[j]},initRenderTpl:function(){return this.getTpl("renderTpl")},initStyles:function(){var d={},f=this,e=Ext.Element;if(Ext.isString(f.style)){d=e.parseStyles(f.style)}else{d=Ext.apply({},f.style)}if(f.padding!==undefined){d.padding=e.unitizeBox((f.padding===true)?5:f.padding)}if(f.margin!==undefined){d.margin=e.unitizeBox((f.margin===true)?5:f.margin)}delete f.style;return d},initContent:function(){var e=this,g=e.getTargetEl(),f,h;if(e.html){g.update(Ext.DomHelper.markup(e.html));delete e.html}if(e.contentEl){f=Ext.get(e.contentEl);h=Ext.baseCSSPrefix;f.removeCls([h+"hidden",h+"hide-display",h+"hide-offsets",h+"hide-nosize"]);g.appendChild(f.dom)}if(e.tpl){if(!e.tpl.isTemplate){e.tpl=Ext.create("Ext.XTemplate",e.tpl)}if(e.data){e.tpl[e.tplWriteMode](g,e.data);delete e.data}}},initEvents:function(){var j=this,h=j.afterRenderEvents,f,i,g=function(a){j.mon(f,a)};if(h){for(i in h){if(h.hasOwnProperty(i)){f=j[i];if(f&&f.on){Ext.each(h[i],g)}}}}},addChildEls:function(){var c=this,d=c.childEls||(c.childEls=[]);d.push.apply(d,arguments)},removeChildEls:function(k){var l=this,i=l.childEls,m=(l.childEls=[]),j,h,n;for(h=0,j=i.length;h<j;++h){n=i[h];if(!k(n)){m.push(n)}}},applyRenderSelectors:function(){var o=this,n=o.childEls,m=o.renderSelectors,t=o.el,q=t.dom,l,i,r,p,s;if(n){l=o.id+"-";for(p=n.length;p--;){i=r=n[p];if(typeof(i)!="string"){r=i.id||(l+i.itemId);i=i.name}else{r=l+r}o[i]=t.getById(r)}}if(m){for(s in m){if(m.hasOwnProperty(s)&&m[s]){o[s]=Ext.get(Ext.DomQuery.selectNode(m[s],q))}}}},is:function(b){return Ext.ComponentQuery.is(this,b)},up:function(c){var d=this.ownerCt;if(c){for(;d;d=d.ownerCt){if(Ext.ComponentQuery.is(d,c)){return d}}}return d},nextSibling:function(c){var j=this.ownerCt,l,k,h,i;if(j){l=j.items;h=l.indexOf(this)+1;if(h){if(c){for(k=l.getCount();h<k;h++){if((i=l.getAt(h)).is(c)){return i}}}else{if(h<l.getCount()){return l.getAt(h)}}}}return null},previousSibling:function(c){var i=this.ownerCt,j,g,h;if(i){j=i.items;g=j.indexOf(this);if(g!=-1){if(c){for(--g;g>=0;g--){if((h=j.getAt(g)).is(c)){return h}}}else{if(g){return j.getAt(--g)}}}}return null},previousNode:function(n,m){var j=this,h,k,i,l;if(m&&j.is(n)){return j}h=this.prev(n);if(h){return h}if(j.ownerCt){for(k=j.ownerCt.items.items,l=Ext.Array.indexOf(k,j)-1;l>-1;l--){if(k[l].query){h=k[l].query(n);h=h[h.length-1];if(h){return h}}}return j.ownerCt.previousNode(n,true)}},nextNode:function(n,m){var j=this,h,k,i,l;if(m&&j.is(n)){return j}h=this.next(n);if(h){return h}if(j.ownerCt){for(k=j.ownerCt.items,l=k.indexOf(j)+1,k=k.items,i=k.length;l<i;l++){if(k[l].down){h=k[l].down(n);if(h){return h}}}return j.ownerCt.nextNode(n)}},getId:function(){return this.id||(this.id="ext-comp-"+(this.getAutoId()))},getItemId:function(){return this.itemId||this.id},getEl:function(){return this.el},getTargetEl:function(){return this.frameBody||this.el},isXType:function(c,d){if(Ext.isFunction(c)){c=c.xtype}else{if(Ext.isObject(c)){c=c.statics().xtype}}return !d?("/"+this.getXTypes()+"/").indexOf("/"+c+"/")!=-1:this.self.xtype==c},getXTypes:function(){var h=this.self,g,e,f;if(!h.xtypes){g=[];e=this;while(e){f=e.xtypes;if(f!==undefined){g.unshift.apply(g,f)}e=e.superclass}h.xtypeChain=g;h.xtypes=g.join("/")}return h.xtypes},update:function(e,h,f){var g=this;if(g.tpl&&!Ext.isString(e)){g.data=e;if(g.rendered){g.tpl[g.tplWriteMode](g.getTargetEl(),e||{})}}else{g.html=Ext.isObject(e)?Ext.DomHelper.markup(e):e;if(g.rendered){g.getTargetEl().update(g.html,h,f)}}if(g.rendered){g.doComponentLayout()}},setVisible:function(b){return this[b?"show":"hide"]()},isVisible:function(g){var j=this,h=j,i=!j.hidden,f=j.ownerCt;j.hiddenAncestor=false;if(j.destroyed){return false}if(g&&i&&j.rendered&&f){while(f){if(f.hidden||(f.collapsed&&!(f.getDockedItems&&Ext.Array.contains(f.getDockedItems(),h)))){j.hiddenAncestor=f;i=false;break}h=f;f=f.ownerCt}}return i},enable:function(d){var c=this;if(c.rendered){c.el.removeCls(c.disabledCls);c.el.dom.disabled=false;c.onEnable()}c.disabled=false;if(d!==true){c.fireEvent("enable",c)}return c},disable:function(d){var c=this;if(c.rendered){c.el.addCls(c.disabledCls);c.el.dom.disabled=true;c.onDisable()}c.disabled=true;if(d!==true){c.fireEvent("disable",c)}return c},onEnable:function(){if(this.maskOnDisable){this.el.unmask()}},onDisable:function(){if(this.maskOnDisable){this.el.mask()}},isDisabled:function(){return this.disabled},setDisabled:function(b){return this[b?"disable":"enable"]()},isHidden:function(){return this.hidden},addCls:function(d){var c=this;if(!d){return c}if(!Ext.isArray(d)){d=d.replace(c.trimRe,"").split(c.spacesRe)}if(c.rendered){c.el.addCls(d)}else{c.additionalCls=Ext.Array.unique(c.additionalCls.concat(d))}return c},addClass:function(){return this.addCls.apply(this,arguments)},removeCls:function(d){var c=this;if(!d){return c}if(!Ext.isArray(d)){d=d.replace(c.trimRe,"").split(c.spacesRe)}if(c.rendered){c.el.removeCls(d)}else{if(c.additionalCls.length){Ext.each(d,function(a){Ext.Array.remove(c.additionalCls,a)})}}return c},removeClass:function(){if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn("Ext.Component: removeClass has been deprecated. Please use removeCls.")}return this.removeCls.apply(this,arguments)},addOverCls:function(){var b=this;if(!b.disabled){b.el.addCls(b.overCls)}},removeOverCls:function(){this.el.removeCls(this.overCls)},addListener:function(h,k,l,i){var j=this,m,n;if(Ext.isString(h)&&(Ext.isObject(k)||i&&i.element)){if(i.element){m=k;k={};k[h]=m;h=i.element;if(l){k.scope=l}for(n in i){if(i.hasOwnProperty(n)){if(j.eventOptionsRe.test(n)){k[n]=i[n]}}}}if(j[h]&&j[h].on){j.mon(j[h],k)}else{j.afterRenderEvents=j.afterRenderEvents||{};if(!j.afterRenderEvents[h]){j.afterRenderEvents[h]=[]}j.afterRenderEvents[h].push(k)}}return j.mixins.observable.addListener.apply(j,arguments)},removeManagedListenerItem:function(i,j,k,o,m,n){var l=this,p=j.options?j.options.element:null;if(p){p=l[p];if(p&&p.un){if(i||(j.item===k&&j.ename===o&&(!m||j.fn===m)&&(!n||j.scope===n))){p.un(j.ename,j.fn,j.scope);if(!i){Ext.Array.remove(l.managedListeners,j)}}}}else{return l.mixins.observable.removeManagedListenerItem.apply(l,arguments)}},getBubbleTarget:function(){return this.ownerCt},isFloating:function(){return this.floating},isDraggable:function(){return !!this.draggable},isDroppable:function(){return !!this.droppable},onAdded:function(d,c){this.ownerCt=d;this.fireEvent("added",this,d,c)},onRemoved:function(){var b=this;b.fireEvent("removed",b,b.ownerCt);delete b.ownerCt},beforeDestroy:Ext.emptyFn,onResize:Ext.emptyFn,setSize:function(e,f){var h=this,g;if(Ext.isObject(e)){f=e.height;e=e.width}if(Ext.isNumber(e)){e=Ext.Number.constrain(e,h.minWidth,h.maxWidth)}if(Ext.isNumber(f)){f=Ext.Number.constrain(f,h.minHeight,h.maxHeight)}if(!h.rendered||!h.isVisible()){if(h.hiddenAncestor){g=h.hiddenAncestor.layoutOnShow;g.remove(h);g.add(h)}h.needsLayout={width:e,height:f,isSetSize:true};if(!h.rendered){h.width=(e!==undefined)?e:h.width;h.height=(f!==undefined)?f:h.height}return h}h.doComponentLayout(e,f,true);return h},isFixedWidth:function(){var c=this,d=c.layoutManagedWidth;if(Ext.isDefined(c.width)||d==1){return true}if(d==2){return false}return(c.ownerCt&&c.ownerCt.isFixedWidth())},isFixedHeight:function(){var d=this,c=d.layoutManagedHeight;if(Ext.isDefined(d.height)||c==1){return true}if(c==2){return false}return(d.ownerCt&&d.ownerCt.isFixedHeight())},setCalculatedSize:function(f,g,h){var j=this,i;if(Ext.isObject(f)){h=f.ownerCt;g=f.height;f=f.width}if(Ext.isNumber(f)){f=Ext.Number.constrain(f,j.minWidth,j.maxWidth)}if(Ext.isNumber(g)){g=Ext.Number.constrain(g,j.minHeight,j.maxHeight)}if(!j.rendered||!j.isVisible()){if(j.hiddenAncestor){i=j.hiddenAncestor.layoutOnShow;i.remove(j);i.add(j)}j.needsLayout={width:f,height:g,isSetSize:false,ownerCt:h};return j}j.doComponentLayout(f,g,false,h);return j},doComponentLayout:function(l,h,n,j){var k=this,m=k.getComponentLayout(),i=m.lastComponentSize||{width:undefined,height:undefined};if(k.rendered&&m){if(!Ext.isDefined(l)){if(k.isFixedWidth()){l=Ext.isDefined(k.width)?k.width:i.width}}if(!Ext.isDefined(h)){if(k.isFixedHeight()){h=Ext.isDefined(k.height)?k.height:i.height}}if(n){k.width=l;k.height=h}m.layout(l,h,n,j)}return k},forceComponentLayout:function(){this.doComponentLayout()},setComponentLayout:function(c){var d=this.componentLayout;if(d&&d.isLayout&&d!=c){d.setOwner(null)}this.componentLayout=c;c.setOwner(this)},getComponentLayout:function(){var b=this;if(!b.componentLayout||!b.componentLayout.isLayout){b.setComponentLayout(Ext.layout.Layout.create(b.componentLayout,"autocomponent"))}return b.componentLayout},afterComponentLayout:function(n,i,h,j){var k=this,l=k.componentLayout,m=k.preLayoutSize;++k.componentLayoutCounter;if(!m||((n!==m.width)||(i!==m.height))){k.fireEvent("resize",k,n,i)}},beforeComponentLayout:function(h,f,e,g){this.preLayoutSize=this.componentLayout.lastComponentSize;return true},setPosition:function(e,f){var d=this;if(Ext.isObject(e)){f=e.y;e=e.x}if(!d.rendered){return d}if(e!==undefined||f!==undefined){d.el.setBox(e,f);d.onPosition(e,f);d.fireEvent("move",d,e,f)}return d},onPosition:Ext.emptyFn,setWidth:function(b){return this.setSize(b)},setHeight:function(b){return this.setSize(undefined,b)},getSize:function(){return this.el.getSize()},getWidth:function(){return this.el.getWidth()},getHeight:function(){return this.el.getHeight()},getLoader:function(){var f=this,d=f.autoLoad?(Ext.isObject(f.autoLoad)?f.autoLoad:{url:f.autoLoad}):null,e=f.loader||d;if(e){if(!e.isLoader){f.loader=Ext.create("Ext.ComponentLoader",Ext.apply({target:f,autoLoad:d},e))}else{e.setTarget(f)}return f.loader}return null},setLoading:function(h,g){var e=this,f;if(e.rendered){if(h!==false&&!e.collapsed){if(Ext.isObject(h)){f=h}else{if(Ext.isString(h)){f={msg:h}}else{f={}}}e.loadMask=e.loadMask||Ext.create("Ext.LoadMask",g?e.getTargetEl():e.el,f);e.loadMask.show()}else{if(e.loadMask){Ext.destroy(e.loadMask);e.loadMask=null}}}return e.loadMask},setDocked:function(d,f){var e=this;e.dock=d;if(f&&e.ownerCt&&e.rendered){e.ownerCt.doComponentLayout()}return e},onDestroy:function(){var b=this;if(b.monitorResize&&Ext.EventManager.resizeEvent){Ext.EventManager.resizeEvent.removeListener(b.setSize,b)}Ext.destroy(b.componentLayout,b.loadMask,b.floatingItems)},cleanElementRefs:function(){var j=this,l=0,k=j.childEls,m=j.renderSelectors,h,n,i;if(j.rendered){if(k){for(i=k.length;l<i;++l){n=k[l];if(typeof(n)!="string"){n=n.name}delete j[n]}}if(m){for(h in m){if(m.hasOwnProperty(h)){delete j[h]}}}}delete j.rendered;delete j.el;delete j.frameBody},destroy:function(){var b=this;if(!b.isDestroyed){if(b.fireEvent("beforedestroy",b)!==false){b.destroying=true;b.beforeDestroy();if(b.floating){delete b.floatParent;if(b.zIndexManager){b.zIndexManager.unregister(b)}}else{if(b.ownerCt&&b.ownerCt.remove){b.ownerCt.remove(b,false)}}b.onDestroy();Ext.destroy(b.plugins);if(b.rendered){b.el.remove()}b.fireEvent("destroy",b);Ext.ComponentManager.unregister(b);b.mixins.state.destroy.call(b);b.clearListeners();b.cleanElementRefs();b.destroying=false;b.isDestroyed=true}}},getPlugin:function(e){var h=0,f=this.plugins,g=f.length;for(;h<g;h++){if(f[h].pluginId===e){return f[h]}}},isDescendantOf:function(b){return !!this.findParentBy(function(a){return a===b})}},function(){this.createAlias({on:"addListener",prev:"previousSibling",next:"nextSibling"})});Ext.define("Ext.Component",{alias:["widget.component","widget.box"],extend:"Ext.AbstractComponent",requires:["Ext.util.DelayedTask"],uses:["Ext.Layer","Ext.resizer.Resizer","Ext.util.ComponentDragger"],mixins:{floating:"Ext.util.Floating"},statics:{DIRECTION_TOP:"top",DIRECTION_RIGHT:"right",DIRECTION_BOTTOM:"bottom",DIRECTION_LEFT:"left",VERTICAL_DIRECTION_Re:/^(?:top|bottom)$/,INVALID_ID_CHARS_Re:/[\.,\s]/g},resizeHandles:"all",floating:false,toFrontOnShow:true,hideMode:"display",hideParent:false,ariaRole:"presentation",bubbleEvents:[],actionMode:"el",monPropRe:/^(?:scope|delay|buffer|single|stopEvent|preventDefault|stopPropagation|normalized|args|delegate)$/,constructor:function(d){var c=this;d=d||{};if(d.initialConfig){if(d.isAction){c.baseAction=d}d=d.initialConfig}else{if(d.tagName||d.dom||Ext.isString(d)){d={applyTo:d,id:d.id||d}}}c.callParent([d]);if(c.baseAction){c.baseAction.addComponent(c)}},initComponent:function(){var b=this;b.callParent();if(b.listeners){b.on(b.listeners);delete b.listeners}b.enableBubble(b.bubbleEvents);b.mons=[]},afterRender:function(){var c=this,d=c.resizable;if(c.floating){c.makeFloating(c.floating)}else{c.el.setVisibilityMode(Ext.Element[c.hideMode.toUpperCase()])}if(Ext.isDefined(c.autoScroll)){c.setAutoScroll(c.autoScroll)}c.callParent();if(!(c.x&&c.y)&&(c.pageX||c.pageY)){c.setPagePosition(c.pageX,c.pageY)}if(d){c.initResizable(d)}if(c.draggable){c.initDraggable()}c.initAria()},initAria:function(){var d=this.getActionEl(),c=this.ariaRole;if(c){d.dom.setAttribute("role",c)}},setAutoScroll:function(e){var d=this,f;e=!!e;if(d.rendered){f=d.getTargetEl();f.setStyle("overflow",e?"auto":"");if(e&&(Ext.isIE6||Ext.isIE7)){f.position()}}d.autoScroll=e;return d},makeFloating:function(b){this.mixins.floating.constructor.call(this,b)},initResizable:function(d){var c=this;d=Ext.apply({target:c,dynamic:false,constrainTo:c.constrainTo||(c.floatParent?c.floatParent.getTargetEl():c.el.getScopeParent()),handles:c.resizeHandles},d);d.target=c;c.resizer=Ext.create("Ext.resizer.Resizer",d)},getDragEl:function(){return this.el},initDraggable:function(){var c=this,d=Ext.applyIf({el:c.getDragEl(),constrainTo:c.constrain?(c.constrainTo||(c.floatParent?c.floatParent.getTargetEl():c.el.getScopeParent())):undefined},c.draggable);if(c.constrain||c.constrainDelegate){d.constrain=c.constrain;d.constrainDelegate=c.constrainDelegate}c.dd=Ext.create("Ext.util.ComponentDragger",c,d)},setPosition:function(m,o,v){var q=this,u=q.el,l={},p,n,r,s,t;if(Ext.isArray(m)){v=o;o=m[1];m=m[0]}q.x=m;q.y=o;if(!q.rendered){return q}p=q.adjustPosition(m,o);n=p.x;r=p.y;s=Ext.isNumber(n);t=Ext.isNumber(r);if(s||t){if(v){if(s){l.left=n}if(t){l.top=r}q.stopAnimation();q.animate(Ext.apply({duration:1000,listeners:{afteranimate:Ext.Function.bind(q.afterSetPosition,q,[n,r])},to:l},v))}else{if(!s){u.setTop(r)}else{if(!t){u.setLeft(n)}else{u.setLeftTop(n,r)}}q.afterSetPosition(n,r)}}return q},afterSetPosition:function(c,d){this.onPosition(c,d);this.fireEvent("move",this,c,d)},showAt:function(f,g,e){var h=this;if(h.floating){h.setPosition(f,g,e)}else{h.setPagePosition(f,g,e)}h.show()},setPagePosition:function(g,h,f){var j=this,i;if(Ext.isArray(g)){h=g[1];g=g[0]}j.pageX=g;j.pageY=h;if(j.floating&&j.floatParent){i=j.floatParent.getTargetEl().getViewRegion();if(Ext.isNumber(g)&&Ext.isNumber(i.left)){g-=i.left}if(Ext.isNumber(h)&&Ext.isNumber(i.top)){h-=i.top}j.setPosition(g,h,f)}else{i=j.el.translatePoints(g,h);j.setPosition(i.left,i.top,f)}return j},getBox:function(d){var f=this.getPosition(d),e=this.getSize();e.x=f[0];e.y=f[1];return e},updateBox:function(b){this.setSize(b.width,b.height);this.setPagePosition(b.x,b.y);return this},getOuterSize:function(){var b=this.el;return{width:b.getWidth()+b.getMargin("lr"),height:b.getHeight()+b.getMargin("tb")}},adjustPosition:function(e,f){if(this.floating&&this.floatParent){var d=this.floatParent.getTargetEl().getViewRegion();e+=d.left;f+=d.top}return{x:e,y:f}},getPosition:function(g){var j=this,f=j.el,i,h;if((g===true)||(j.floating&&!j.floatParent)){return[f.getLeft(true),f.getTop(true)]}i=j.xy||f.getXY();if(j.floating){h=j.floatParent.getTargetEl().getViewRegion();i[0]-=h.left;i[1]-=h.top}return i},getId:function(){var d=this,c;if(!d.id){c=d.getXType();c=c?c.replace(Ext.Component.INVALID_ID_CHARS_Re,"-"):"ext-comp";d.id=c+"-"+d.getAutoId()}return d.id},onEnable:function(){var b=this.getActionEl();b.dom.removeAttribute("aria-disabled");b.dom.disabled=false;this.callParent()},onDisable:function(){var b=this.getActionEl();b.dom.setAttribute("aria-disabled",true);b.dom.disabled=true;this.callParent()},show:function(g,f,e){var h=this;if(h.rendered&&h.isVisible()){if(h.toFrontOnShow&&h.floating){h.toFront()}}else{if(h.fireEvent("beforeshow",h)!==false){h.hidden=false;if(!h.rendered&&(h.autoRender||h.floating)){h.doAutoRender()}if(h.rendered){h.beforeShow();h.onShow.apply(h,arguments);if(h.ownerCt&&!h.floating&&!(h.ownerCt.suspendLayout||h.ownerCt.layout.layoutBusy)){h.ownerCt.doLayout()}h.afterShow.apply(h,arguments)}}}return h},beforeShow:Ext.emptyFn,onShow:function(){var b=this;b.el.show();b.callParent(arguments);if(b.floating&&b.constrain){b.doConstrain()}},afterShow:function(j,h,l){var k=this,i,n,m;j=j||k.animateTarget;if(!k.ghost){j=null}if(j){j=j.el?j.el:Ext.get(j);n=k.el.getBox();i=j.getBox();k.el.addCls(Ext.baseCSSPrefix+"hide-offsets");m=k.ghost();m.el.stopAnimation();m.el.setX(-10000);m.el.animate({from:i,to:n,listeners:{afteranimate:function(){delete m.componentLayout.lastComponentSize;k.unghost();k.el.removeCls(Ext.baseCSSPrefix+"hide-offsets");k.onShowComplete(h,l)}}})}else{k.onShowComplete(h,l)}},onShowComplete:function(e,d){var f=this;if(f.floating){f.toFront()}Ext.callback(e,d||f);f.fireEvent("show",f)},hide:function(){var b=this;b.showOnParentShow=false;if(!(b.rendered&&!b.isVisible())&&b.fireEvent("beforehide",b)!==false){b.hidden=true;if(b.rendered){b.onHide.apply(b,arguments);if(b.ownerCt&&!b.floating&&!(b.ownerCt.suspendLayout||b.ownerCt.layout.layoutBusy)){b.ownerCt.doLayout()}}}return b},onHide:function(i,h,k){var j=this,l,g;i=i||j.animateTarget;if(!j.ghost){i=null}if(i){i=i.el?i.el:Ext.get(i);l=j.ghost();l.el.stopAnimation();g=i.getBox();g.width+="px";g.height+="px";l.el.animate({to:g,listeners:{afteranimate:function(){delete l.componentLayout.lastComponentSize;l.el.hide();j.afterHide(h,k)}}})}j.el.hide();if(!i){j.afterHide(h,k)}},afterHide:function(d,c){Ext.callback(d,c||this);this.fireEvent("hide",this)},onDestroy:function(){var b=this;if(b.rendered){Ext.destroy(b.proxy,b.proxyWrap,b.resizer);if(b.actionMode=="container"||b.removeMode=="container"){b.container.remove()}}delete b.focusTask;b.callParent()},deleteMembers:function(){var d=arguments,e=d.length,f=0;for(;f<e;++f){delete this[d[f]]}},focus:function(g,e){var h=this,f;if(e){if(!h.focusTask){h.focusTask=Ext.create("Ext.util.DelayedTask",h.focus)}h.focusTask.delay(Ext.isNumber(e)?e:10,null,h,[g,false]);return h}if(h.rendered&&!h.isDestroyed){f=h.getFocusEl();f.focus();if(f.dom&&g===true){f.dom.select()}if(h.floating){h.toFront(true)}}return h},getFocusEl:function(){return this.el},blur:function(){if(this.rendered){this.getFocusEl().blur()}return this},getEl:function(){return this.el},getResizeEl:function(){return this.el},getPositionEl:function(){return this.el},getActionEl:function(){return this.el},getVisibilityEl:function(){return this.el},onResize:Ext.emptyFn,getBubbleTarget:function(){return this.ownerCt},getContentTarget:function(){return this.el},cloneConfig:function(h){h=h||{};var g=h.id||Ext.id(),f=Ext.applyIf(h,this.initialConfig),e;f.id=g;e=Ext.getClass(this);return new e(f)},getXType:function(){return this.self.xtype},findParentBy:function(d){var c;for(c=this.ownerCt;c&&!d(c,this);c=c.ownerCt){}return c||null},findParentByType:function(b){return Ext.isFunction(b)?this.findParentBy(function(a){return a.constructor===b}):this.up(b)},bubble:function(h,e,f){var g=this;while(g){if(h.apply(e||g,f||[g])===false){break}g=g.ownerCt}return this},getProxy:function(){var d=this,c;if(!d.proxy){c=Ext.getBody();if(Ext.scopeResetCSS){d.proxyWrap=c=Ext.getBody().createChild({cls:Ext.baseCSSPrefix+"reset"})}d.proxy=d.el.createProxy(Ext.baseCSSPrefix+"proxy-el",c,true)}return d.proxy}});Ext.define("Ext.toolbar.Spacer",{extend:"Ext.Component",alias:"widget.tbspacer",alternateClassName:"Ext.Toolbar.Spacer",baseCls:Ext.baseCSSPrefix+"toolbar-spacer",focusable:false});Ext.define("Ext.resizer.Splitter",{extend:"Ext.Component",requires:["Ext.XTemplate"],uses:["Ext.resizer.SplitterTracker"],alias:"widget.splitter",renderTpl:['<tpl if="collapsible===true">','<div id="{id}-collapseEl" class="',Ext.baseCSSPrefix,"collapse-el ",Ext.baseCSSPrefix,'layout-split-{collapseDir}"> </div>',"</tpl>"],baseCls:Ext.baseCSSPrefix+"splitter",collapsedClsInternal:Ext.baseCSSPrefix+"splitter-collapsed",collapsible:false,collapseOnDblClick:true,defaultSplitMin:40,defaultSplitMax:1000,width:5,height:5,collapseTarget:"next",onRender:function(){var e=this,d=e.getCollapseTarget(),f=e.getCollapseDirection();Ext.applyIf(e.renderData,{collapseDir:f,collapsible:e.collapsible||d.collapsible});e.addChildEls("collapseEl");this.callParent(arguments);if(e.performCollapse!==false){if(e.renderData.collapsible){e.mon(e.collapseEl,"click",e.toggleTargetCmp,e)}if(e.collapseOnDblClick){e.mon(e.el,"dblclick",e.toggleTargetCmp,e)}}e.mon(d,"collapse",e.onTargetCollapse,e);e.mon(d,"expand",e.onTargetExpand,e);e.el.addCls(e.baseCls+"-"+e.orientation);e.el.unselectable();e.tracker=Ext.create("Ext.resizer.SplitterTracker",{el:e.el});e.relayEvents(e.tracker,["beforedragstart","dragstart","dragend"])},getCollapseDirection:function(){var f=this,e,d=f.ownerCt.layout.type;if(f.collapseTarget.isComponent){e=Number(f.ownerCt.items.indexOf(f.collapseTarget)==f.ownerCt.items.indexOf(f)-1)<<1|Number(d=="hbox")}else{e=Number(f.collapseTarget=="prev")<<1|Number(d=="hbox")}f.orientation=["horizontal","vertical"][e&1];return["bottom","right","top","left"][e]},getCollapseTarget:function(){var b=this;return b.collapseTarget.isComponent?b.collapseTarget:b.collapseTarget=="prev"?b.previousSibling():b.nextSibling()},onTargetCollapse:function(b){this.el.addCls([this.collapsedClsInternal,this.collapsedCls])},onTargetExpand:function(b){this.el.removeCls([this.collapsedClsInternal,this.collapsedCls])},toggleTargetCmp:function(f,e){var d=this.getCollapseTarget();if(d.isVisible()){if(d.collapsed){d.expand(d.animCollapse)}else{d.collapse(this.renderData.collapseDir,d.animCollapse)}}},setSize:function(){var b=this;b.callParent(arguments);if(Ext.isIE){b.el.repaint()}}});Ext.define("Ext.form.field.Base",{extend:"Ext.Component",mixins:{labelable:"Ext.form.Labelable",field:"Ext.form.field.Field"},alias:"widget.field",alternateClassName:["Ext.form.Field","Ext.form.BaseField"],requires:["Ext.util.DelayedTask","Ext.XTemplate","Ext.layout.component.field.Field"],fieldSubTpl:['<input id="{id}" type="{type}" ','<tpl if="name">name="{name}" </tpl>','<tpl if="size">size="{size}" </tpl>','<tpl if="tabIdx">tabIndex="{tabIdx}" </tpl>','class="{fieldCls} {typeCls}" autocomplete="off" />',{compiled:true,disableFormats:true}],inputType:"text",invalidText:"The value in this field is invalid",fieldCls:Ext.baseCSSPrefix+"form-field",focusCls:Ext.baseCSSPrefix+"form-focus",dirtyCls:Ext.baseCSSPrefix+"form-dirty",checkChangeEvents:Ext.isIE&&(!document.documentMode||document.documentMode<9)?["change","propertychange"]:["change","input","textInput","keyup","dragdrop"],checkChangeBuffer:50,componentLayout:"field",readOnly:false,readOnlyCls:Ext.baseCSSPrefix+"form-readonly",validateOnBlur:true,hasFocus:false,baseCls:Ext.baseCSSPrefix+"field",maskOnDisable:false,initComponent:function(){var b=this;b.callParent();b.subTplData=b.subTplData||{};b.addEvents("focus","blur","specialkey");b.initLabelable();b.initField();if(!b.name){b.name=b.getInputId()}},getInputId:function(){return this.inputId||(this.inputId=Ext.id())},getSubTplData:function(){var f=this,d=f.inputType,e=f.getInputId();return Ext.applyIf(f.subTplData,{id:e,cmpId:f.id,name:f.name||e,type:d,size:f.size||20,cls:f.cls,fieldCls:f.fieldCls,tabIdx:f.tabIndex,typeCls:Ext.baseCSSPrefix+"form-"+(d==="password"?"text":d)})},afterRender:function(){this.callParent();if(this.inputEl){this.inputEl.selectable()}},getSubTplMarkup:function(){return this.getTpl("fieldSubTpl").apply(this.getSubTplData())},initRenderTpl:function(){var b=this;if(!b.hasOwnProperty("renderTpl")){b.renderTpl=b.getTpl("labelableRenderTpl")}return b.callParent()},initRenderData:function(){return Ext.applyIf(this.callParent(),this.getLabelableRenderData())},setFieldStyle:function(e){var d=this,f=d.inputEl;if(f){f.applyStyles(e)}d.fieldStyle=e},onRender:function(){var c=this,d=c.fieldStyle;c.onLabelableRender();c.addChildEls({name:"inputEl",id:c.getInputId()});c.callParent(arguments);c.setRawValue(c.rawValue);if(c.readOnly){c.setReadOnly(true)}if(c.disabled){c.disable()}if(d){c.setFieldStyle(d)}c.renderActiveError()},initAria:function(){var b=this;b.callParent();b.getActionEl().dom.setAttribute("aria-describedby",Ext.id(b.errorEl))},getFocusEl:function(){return this.inputEl},isFileUpload:function(){return this.inputType==="file"},extractFileInput:function(){var d=this,e=d.isFileUpload()?d.inputEl.dom:null,f;if(e){f=e.cloneNode(true);e.parentNode.replaceChild(f,e);d.inputEl=Ext.get(f)}return e},getSubmitData:function(){var e=this,d=null,f;if(!e.disabled&&e.submitValue&&!e.isFileUpload()){f=e.getSubmitValue();if(f!==null){d={};d[e.getName()]=f}}return d},getSubmitValue:function(){return this.processRawValue(this.getRawValue())},getRawValue:function(){var c=this,d=(c.inputEl?c.inputEl.getValue():Ext.value(c.rawValue,""));c.rawValue=d;return d},setRawValue:function(c){var d=this;c=Ext.value(c,"");d.rawValue=c;if(d.inputEl){d.inputEl.dom.value=c}return c},valueToRaw:function(b){return""+Ext.value(b,"")},rawToValue:function(b){return b},processRawValue:function(b){return b},getValue:function(){var d=this,c=d.rawToValue(d.processRawValue(d.getRawValue()));d.value=c;return c},setValue:function(c){var d=this;d.setRawValue(d.valueToRaw(c));return d.mixins.field.setValue.call(d,c)},onDisable:function(){var d=this,c=d.inputEl;d.callParent();if(c){c.dom.disabled=true}},onEnable:function(){var d=this,c=d.inputEl;d.callParent();if(c){c.dom.disabled=false}},setReadOnly:function(f){var e=this,d=e.inputEl;if(d){d.dom.readOnly=f;d.dom.setAttribute("aria-readonly",f)}e[f?"addCls":"removeCls"](e.readOnlyCls);e.readOnly=f},fireKey:function(b){if(b.isSpecialKey()){this.fireEvent("specialkey",this,Ext.create("Ext.EventObjectImpl",b))}},initEvents:function(){var e=this,h=e.inputEl,f,g;if(h){e.mon(h,Ext.EventManager.getKeyEvent(),e.fireKey,e);e.mon(h,"focus",e.onFocus,e);e.mon(h,"blur",e.onBlur,e,e.inEditor?{buffer:10}:null);f=Ext.create("Ext.util.DelayedTask",e.checkChange,e);e.onChangeEvent=g=function(){f.delay(e.checkChangeBuffer)};Ext.each(e.checkChangeEvents,function(a){if(a==="propertychange"){e.usesPropertychange=true}e.mon(h,a,g)},e)}e.callParent()},doComponentLayout:function(){var j=this,i=j.inputEl,g=j.usesPropertychange,f="propertychange",h=j.onChangeEvent;if(g){j.mun(i,f,h)}j.callParent(arguments);if(g){j.mon(i,f,h)}},preFocus:Ext.emptyFn,onFocus:function(){var d=this,e=d.focusCls,f=d.inputEl;d.preFocus();if(e&&f){f.addCls(e)}if(!d.hasFocus){d.hasFocus=true;d.componentLayout.onFocus();d.fireEvent("focus",d)}},beforeBlur:Ext.emptyFn,onBlur:function(){var d=this,e=d.focusCls,f=d.inputEl;if(d.destroying){return}d.beforeBlur();if(e&&f){f.removeCls(e)}if(d.validateOnBlur){d.validate()}d.hasFocus=false;d.fireEvent("blur",d);d.postBlur()},postBlur:Ext.emptyFn,onDirtyChange:function(b){this[b?"addCls":"removeCls"](this.dirtyCls)},isValid:function(){var b=this;return b.disabled||b.validateValue(b.processRawValue(b.getRawValue()))},validateValue:function(e){var f=this,g=f.getErrors(e),h=Ext.isEmpty(g);if(!f.preventMark){if(h){f.clearInvalid()}else{f.markInvalid(g)}}return h},markInvalid:function(f){var d=this,e=d.getActiveError();d.setActiveErrors(Ext.Array.from(f));if(e!==d.getActiveError()){d.doComponentLayout()}},clearInvalid:function(){var c=this,d=c.hasActiveError();c.unsetActiveError();if(d){c.doComponentLayout()}},renderActiveError:function(){var c=this,d=c.hasActiveError();if(c.inputEl){c.inputEl[d?"addCls":"removeCls"](c.invalidCls+"-field")}c.mixins.labelable.renderActiveError.call(c)},getActionEl:function(){return this.inputEl||this.el}});Ext.define("Ext.form.field.Text",{extend:"Ext.form.field.Base",alias:"widget.textfield",requires:["Ext.form.field.VTypes","Ext.layout.component.field.Text"],alternateClassName:["Ext.form.TextField","Ext.form.Text"],size:20,growMin:30,growMax:800,growAppend:"W",allowBlank:true,minLength:0,maxLength:Number.MAX_VALUE,minLengthText:"The minimum length for this field is {0}",maxLengthText:"The maximum length for this field is {0}",blankText:"This field is required",regexText:"",emptyCls:Ext.baseCSSPrefix+"form-empty-field",ariaRole:"textbox",componentLayout:"textfield",initComponent:function(){this.callParent();this.addEvents("autosize","keydown","keyup","keypress")},initEvents:function(){var c=this,d=c.inputEl;c.callParent();if(c.selectOnFocus||c.emptyText){c.mon(d,"mousedown",c.onMouseDown,c)}if(c.maskRe||(c.vtype&&c.disableKeyFilter!==true&&(c.maskRe=Ext.form.field.VTypes[c.vtype+"Mask"]))){c.mon(d,"keypress",c.filterKeys,c)}if(c.enableKeyEvents){c.mon(d,{scope:c,keyup:c.onKeyUp,keydown:c.onKeyDown,keypress:c.onKeyPress})}},isEqual:function(c,d){return this.isEqualAsString(c,d)},onChange:function(){this.callParent();this.autoSize()},afterRender:function(){var b=this;if(b.enforceMaxLength){b.inputEl.dom.maxLength=b.maxLength}b.applyEmptyText();b.autoSize();b.callParent()},onMouseDown:function(c){var d=this;if(!d.hasFocus){d.mon(d.inputEl,"mouseup",Ext.emptyFn,d,{single:true,preventDefault:true})}},processRawValue:function(e){var f=this,g=f.stripCharsRe,h;if(g){h=e.replace(g,"");if(h!==e){f.setRawValue(h);e=h}}return e},onDisable:function(){this.callParent();if(Ext.isIE){this.inputEl.dom.unselectable="on"}},onEnable:function(){this.callParent();if(Ext.isIE){this.inputEl.dom.unselectable=""}},onKeyDown:function(b){this.fireEvent("keydown",this,b)},onKeyUp:function(b){this.fireEvent("keyup",this,b)},onKeyPress:function(b){this.fireEvent("keypress",this,b)},reset:function(){this.callParent();this.applyEmptyText()},applyEmptyText:function(){var d=this,e=d.emptyText,f;if(d.rendered&&e){f=d.getRawValue().length<1&&!d.hasFocus;if(Ext.supports.Placeholder){d.inputEl.dom.placeholder=e}else{if(f){d.setRawValue(e)}}if(f){d.inputEl.addCls(d.emptyCls)}d.autoSize()}},preFocus:function(){var e=this,h=e.inputEl,f=e.emptyText,g;if(f&&!Ext.supports.Placeholder&&h.dom.value===f){e.setRawValue("");g=true;h.removeCls(e.emptyCls)}else{if(Ext.supports.Placeholder){e.inputEl.removeCls(e.emptyCls)}}if(e.selectOnFocus||g){h.dom.select()}},onFocus:function(){var b=this;b.callParent(arguments);if(b.emptyText){b.autoSize()}},postBlur:function(){this.applyEmptyText()},filterKeys:function(f){if(f.ctrlKey&&!f.altKey){return}var d=f.getKey(),e=String.fromCharCode(f.getCharCode());if(Ext.isGecko&&(f.isNavKeyPress()||d===f.BACKSPACE||(d===f.DELETE&&f.button===-1))){return}if(!Ext.isGecko&&f.isSpecialKey()&&!e){return}if(!this.maskRe.test(e)){f.stopEvent()}},getRawValue:function(){var c=this,d=c.callParent();if(d===c.emptyText){d=""}return d},setValue:function(d){var e=this,f=e.inputEl;if(f&&e.emptyText&&!Ext.isEmpty(d)){f.removeCls(e.emptyCls)}e.callParent(arguments);e.applyEmptyText();return e},getErrors:function(l){var q=this,m=q.callParent(arguments),v=q.validator,s=q.emptyText,t=q.allowBlank,r=q.vtype,p=Ext.form.field.VTypes,o=q.regex,n=Ext.String.format,u;l=l||q.processRawValue(q.getRawValue());if(Ext.isFunction(v)){u=v.call(q,l);if(u!==true){m.push(u)}}if(l.length<1||l===s){if(!t){m.push(q.blankText)}return m}if(l.length<q.minLength){m.push(n(q.minLengthText,q.minLength))}if(l.length>q.maxLength){m.push(n(q.maxLengthText,q.maxLength))}if(r){if(!p[r](l,q)){m.push(q.vtypeText||p[r+"Text"])}}if(o&&!o.test(l)){m.push(q.regexText||q.invalidText)}return m},selectText:function(k,j){var l=this,p=l.getRawValue(),o=true,m=l.inputEl.dom,n,i;if(p.length>0){k=k===n?0:k;j=j===n?p.length:j;if(m.setSelectionRange){m.setSelectionRange(k,j)}else{if(m.createTextRange){i=m.createTextRange();i.moveStart("character",k);i.moveEnd("character",j-p.length);i.select()}}o=Ext.isGecko||Ext.isOpera}if(o){l.focus()}},autoSize:function(){var c=this,d;if(c.grow&&c.rendered){c.doComponentLayout();d=c.inputEl.getWidth();if(d!==c.lastInputWidth){c.fireEvent("autosize",d);c.lastInputWidth=d}}},initAria:function(){this.callParent();this.getActionEl().dom.setAttribute("aria-required",this.allowBlank===false)},getBodyNaturalWidth:function(){return Math.round(this.size*6.5)+20}});Ext.define("Ext.form.field.Trigger",{extend:"Ext.form.field.Text",alias:["widget.triggerfield","widget.trigger"],requires:["Ext.DomHelper","Ext.util.ClickRepeater","Ext.layout.component.field.Trigger"],alternateClassName:["Ext.form.TriggerField","Ext.form.TwinTriggerField","Ext.form.Trigger"],fieldSubTpl:['<input id="{id}" type="{type}" ','<tpl if="name">name="{name}" </tpl>','<tpl if="size">size="{size}" </tpl>','<tpl if="tabIdx">tabIndex="{tabIdx}" </tpl>','class="{fieldCls} {typeCls}" autocomplete="off" />','<div id="{cmpId}-triggerWrap" class="{triggerWrapCls}" role="presentation">',"{triggerEl}",'<div class="{clearCls}" role="presentation"></div>',"</div>",{compiled:true,disableFormats:true}],triggerBaseCls:Ext.baseCSSPrefix+"form-trigger",triggerWrapCls:Ext.baseCSSPrefix+"form-trigger-wrap",hideTrigger:false,editable:true,readOnly:false,repeatTriggerClick:false,autoSize:Ext.emptyFn,monitorTab:true,mimicing:false,triggerIndexRe:/trigger-index-(\d+)/,componentLayout:"triggerfield",initComponent:function(){this.wrapFocusCls=this.triggerWrapCls+"-focus";this.callParent(arguments)},onRender:function(o,j){var n=this,k,m=n.triggerBaseCls,l=n.triggerWrapCls,i=[],p;if(!n.trigger1Cls){n.trigger1Cls=n.triggerCls}for(p=0;(k=n["trigger"+(p+1)+"Cls"])||p<1;p++){i.push({cls:[Ext.baseCSSPrefix+"trigger-index-"+p,m,k].join(" "),role:"button"})}i[p-1].cls+=" "+m+"-last";n.addChildEls("triggerWrap");Ext.applyIf(n.subTplData,{triggerWrapCls:l,triggerEl:Ext.DomHelper.markup(i),clearCls:n.clearCls});n.callParent(arguments);n.triggerEl=Ext.select("."+m,true,n.triggerWrap.dom);n.doc=Ext.getDoc();n.initTrigger()},onEnable:function(){this.callParent();this.triggerWrap.unmask()},onDisable:function(){this.callParent();this.triggerWrap.mask()},afterRender:function(){this.callParent();this.updateEditState();this.triggerEl.unselectable()},updateEditState:function(){var l=this,j=l.inputEl,h=l.triggerWrap,k=Ext.baseCSSPrefix+"trigger-noedit",g,i;if(l.rendered){if(l.readOnly){j.addCls(k);i=true;g=false}else{if(l.editable){j.removeCls(k);i=false}else{j.addCls(k);i=true}g=!l.hideTrigger}h.setDisplayed(g);j.dom.readOnly=i;l.doComponentLayout()}},getTriggerWidth:function(){var f=this,d=f.triggerWrap,e=0;if(d&&!f.hideTrigger&&!f.readOnly){f.triggerEl.each(function(a){e+=a.getWidth()});e+=f.triggerWrap.getFrameWidth("lr")}return e},setHideTrigger:function(b){if(b!=this.hideTrigger){this.hideTrigger=b;this.updateEditState()}},setEditable:function(b){if(b!=this.editable){this.editable=b;this.updateEditState()}},setReadOnly:function(b){if(b!=this.readOnly){this.readOnly=b;this.updateEditState()}},initTrigger:function(){var f=this,e=f.triggerWrap,d=f.triggerEl;if(f.repeatTriggerClick){f.triggerRepeater=Ext.create("Ext.util.ClickRepeater",e,{preventDefault:true,handler:function(b,a){f.onTriggerWrapClick(a)}})}else{f.mon(f.triggerWrap,"click",f.onTriggerWrapClick,f)}d.addClsOnOver(f.triggerBaseCls+"-over");d.each(function(b,a,c){b.addClsOnOver(f["trigger"+(c+1)+"Cls"]+"-over")});d.addClsOnClick(f.triggerBaseCls+"-click");d.each(function(b,a,c){b.addClsOnClick(f["trigger"+(c+1)+"Cls"]+"-click")})},onDestroy:function(){var b=this;Ext.destroyMembers(b,"triggerRepeater","triggerWrap","triggerEl");delete b.doc;b.callParent()},onFocus:function(){var b=this;b.callParent();if(!b.mimicing){b.bodyEl.addCls(b.wrapFocusCls);b.mimicing=true;b.mon(b.doc,"mousedown",b.mimicBlur,b,{delay:10});if(b.monitorTab){b.on("specialkey",b.checkTab,b)}}},checkTab:function(d,c){if(!this.ignoreMonitorTab&&c.getKey()==c.TAB){this.triggerBlur()}},onBlur:Ext.emptyFn,mimicBlur:function(b){if(!this.isDestroyed&&!this.bodyEl.contains(b.target)&&this.validateBlur(b)){this.triggerBlur()}},triggerBlur:function(){var b=this;b.mimicing=false;b.mun(b.doc,"mousedown",b.mimicBlur,b);if(b.monitorTab&&b.inputEl){b.un("specialkey",b.checkTab,b)}Ext.form.field.Trigger.superclass.onBlur.call(b);if(b.bodyEl){b.bodyEl.removeCls(b.wrapFocusCls)}},beforeBlur:Ext.emptyFn,validateBlur:function(b){return true},onTriggerWrapClick:function(i){var j=this,k=i&&i.getTarget("."+Ext.baseCSSPrefix+"form-trigger",null),l=k&&k.className.match(j.triggerIndexRe),h,e;if(l&&!j.readOnly){h=parseInt(l[1],10);e=j["onTrigger"+(h+1)+"Click"]||j.onTriggerClick;if(e){e.call(j,i)}}},onTriggerClick:Ext.emptyFn});Ext.define("Ext.container.AbstractContainer",{extend:"Ext.Component",requires:["Ext.util.MixedCollection","Ext.layout.container.Auto","Ext.ZIndexManager"],suspendLayout:false,autoDestroy:true,defaultType:"panel",isContainer:true,layoutCounter:0,baseCls:Ext.baseCSSPrefix+"container",bubbleEvents:["add","remove"],initComponent:function(){var b=this;b.addEvents("afterlayout","beforeadd","beforeremove","add","remove");b.layoutOnShow=Ext.create("Ext.util.MixedCollection");b.callParent();b.initItems()},initItems:function(){var c=this,d=c.items;c.items=Ext.create("Ext.util.MixedCollection",false,c.getComponentId);if(d){if(!Ext.isArray(d)){d=[d]}c.add(d)}},afterRender:function(){this.getLayout();this.callParent()},renderChildren:function(){var c=this,d=c.getLayout();c.callParent();if(d){c.suspendLayout=true;d.renderChildren();delete c.suspendLayout}},setLayout:function(c){var d=this.layout;if(d&&d.isLayout&&d!=c){d.setOwner(null)}this.layout=c;c.setOwner(this)},getLayout:function(){var b=this;if(!b.layout||!b.layout.isLayout){b.setLayout(Ext.layout.Layout.create(b.layout,"autocontainer"))}return b.layout},doLayout:function(){var c=this,d=c.getLayout();if(c.rendered&&d&&!c.suspendLayout){if(!c.isFixedWidth()||!c.isFixedHeight()){if(c.componentLayout.layoutBusy!==true){c.doComponentLayout();if(c.componentLayout.layoutCancelled===true){d.layout()}}}else{if(d.layoutBusy!==true){d.layout()}}}return c},afterLayout:function(b){++this.layoutCounter;this.fireEvent("afterlayout",this,b)},prepareItems:function(f,i){if(!Ext.isArray(f)){f=[f]}var j=0,g=f.length,h;for(;j<g;j++){h=f[j];if(i){h=this.applyDefaults(h)}f[j]=this.lookupComponent(h)}return f},applyDefaults:function(d){var c=this.defaults;if(c){if(Ext.isFunction(c)){c=c.call(this,d)}if(Ext.isString(d)){d=Ext.ComponentManager.get(d)}Ext.applyIf(d,c)}return d},lookupComponent:function(b){return Ext.isString(b)?Ext.ComponentManager.get(b):this.createComponent(b)},createComponent:function(d,c){return Ext.ComponentManager.create(d,c||this.defaultType)},getComponentId:function(b){return b.getItemId()},add:function(){var m=this,o=Array.prototype.slice.call(arguments),t,n,s=[],r,p,i,q=-1,l;if(typeof o[0]=="number"){q=o.shift()}t=o.length>1;if(t||Ext.isArray(o[0])){n=t?o:o[0];m.suspendLayout=true;for(r=0,p=n.length;r<p;r++){i=n[r];if(!i){Ext.Error.raise("Trying to add a null item as a child of Container with itemId/id: "+m.getItemId())}if(q!=-1){i=m.add(q+r,i)}else{i=m.add(i)}s.push(i)}m.suspendLayout=false;m.doLayout();return s}l=m.prepareItems(o[0],true)[0];if(l.floating){l.onAdded(m,q)}else{q=(q!==-1)?q:m.items.length;if(m.fireEvent("beforeadd",m,l,q)!==false&&m.onBeforeAdd(l)!==false){m.items.insert(q,l);l.onAdded(m,q);m.onAdd(l,q);m.fireEvent("add",m,l,q)}m.doLayout()}return l},onAdd:Ext.emptyFn,onRemove:Ext.emptyFn,insert:function(c,d){return this.add(c,d)},move:function(e,g){var f=this.items,h;h=f.removeAt(e);if(h===false){return false}f.insert(g,h);this.doLayout();return h},onBeforeAdd:function(c){var d=this;if(c.ownerCt){c.ownerCt.remove(c,false)}if(d.border===false||d.border===0){c.border=(c.border===true)}},remove:function(f,c){var h=this,g=h.getComponent(f);if(Ext.isDefined(Ext.global.console)&&!g){console.warn("Attempted to remove a component that does not exist. Ext.container.Container: remove takes an argument of the component to remove. cmp.remove() is incorrect usage.")}if(g&&h.fireEvent("beforeremove",h,g)!==false){h.doRemove(g,c);h.fireEvent("remove",h,g)}return g},doRemove:function(j,f){var h=this,i=h.layout,g=i&&h.rendered;h.items.remove(j);j.onRemoved();if(g){i.onRemove(j)}h.onRemove(j,f);if(f===true||(f!==false&&h.autoDestroy)){j.destroy()}if(g&&!f){i.afterRemove(j)}if(!h.destroying){h.doLayout()}},removeAll:function(n){var j=this,l=j.items.items.slice(),h=[],m=0,i=l.length,k;j.suspendLayout=true;for(;m<i;m++){k=l[m];j.remove(k,n);if(k.ownerCt!==j){h.push(k)}}j.suspendLayout=false;if(i){j.doLayout()}return h},getRefItems:function(n){var j=this,m=j.items.items,h=m.length,l=0,k,i=[];for(;l<h;l++){k=m[l];i.push(k);if(n&&k.getRefItems){i.push.apply(i,k.getRefItems(true))}}if(j.floatingItems&&j.floatingItems.accessList){i.push.apply(i,j.floatingItems.accessList)}return i},cascade:function(i,c,t){var m=this,q=m.items?m.items.items:[],p=q.length,r=0,n,o=t?t.concat(m):[m],s=o.length-1;if(i.apply(c||m,o)!==false){for(;r<p;r++){n=q[r];if(n.cascade){n.cascade(i,c,t)}else{o[s]=n;i.apply(c||q,o)}}}return this},getComponent:function(b){if(Ext.isObject(b)){b=b.getItemId()}return this.items.get(b)},query:function(b){b=b||"*";return Ext.ComponentQuery.query(b,this)},child:function(b){b=b||"";return this.query("> "+b)[0]||null},down:function(b){return this.query(b)[0]||null},show:function(){this.callParent(arguments);this.performDeferredLayouts();return this},performDeferredLayouts:function(){var h=this.layoutOnShow,i=h.getCount(),f=0,g,j;for(;f<i;f++){j=h.get(f);g=j.needsLayout;if(Ext.isObject(g)){j.doComponentLayout(g.width,g.height,g.isSetSize,g.ownerCt)}}h.clear()},onEnable:function(){Ext.Array.each(this.query("[isFormField]"),function(b){if(b.resetDisable){b.enable();delete b.resetDisable}});this.callParent()},onDisable:function(){Ext.Array.each(this.query("[isFormField]"),function(b){if(b.resetDisable!==false&&!b.disabled){b.disable();b.resetDisable=true}});this.callParent()},beforeLayout:function(){return true},beforeDestroy:function(){var c=this,e=c.items,f;if(e){while((f=e.first())){c.doRemove(f,true)}}Ext.destroy(c.layout);c.callParent()}});Ext.define("Ext.container.Container",{extend:"Ext.container.AbstractContainer",alias:"widget.container",alternateClassName:"Ext.Container",getChildByElement:function(k){var i,g,h=0,l=this.items.items,j=l.length;k=Ext.getDom(k);for(;h<j;h++){i=l[h];g=i.getEl();if((g.dom===k)||g.contains(k)){return i}}return null}});Ext.define("Ext.layout.container.Border",{alias:["layout.border"],extend:"Ext.layout.container.Container",requires:["Ext.resizer.Splitter","Ext.container.Container","Ext.fx.Anim"],alternateClassName:"Ext.layout.BorderLayout",targetCls:Ext.baseCSSPrefix+"border-layout-ct",itemCls:Ext.baseCSSPrefix+"border-item",bindToOwnerCtContainer:true,percentageRe:/(\d+)%/,slideDirection:{north:"t",south:"b",west:"l",east:"r"},constructor:function(b){this.initialConfig=b;this.callParent(arguments)},onLayout:function(){var b=this;if(!b.borderLayoutInitialized){b.initializeBorderLayout()}b.fixHeightConstraints();b.shadowLayout.onLayout();if(b.embeddedContainer){b.embeddedContainer.layout.onLayout()}if(!b.initialCollapsedComplete){Ext.iterate(b.regions,function(a,d){if(d.borderCollapse){b.onBeforeRegionCollapse(d,d.collapseDirection,false,0)}});b.initialCollapsedComplete=true}},isValidParent:function(d,f,e){if(!this.borderLayoutInitialized){this.initializeBorderLayout()}return this.shadowLayout.isValidParent(d,f,e)},beforeLayout:function(){if(!this.borderLayoutInitialized){this.initializeBorderLayout()}this.shadowLayout.beforeLayout()},renderItems:function(d,c){Ext.Error.raise("This should not be called")},renderItem:function(b){Ext.Error.raise("This should not be called")},renderChildren:function(){if(!this.borderLayoutInitialized){this.initializeBorderLayout()}this.shadowLayout.renderChildren()},getVisibleItems:function(){return Ext.ComponentQuery.query(":not([slideOutAnim])",this.callParent(arguments))},initializeBorderLayout:function(){var n=this,t=0,o=n.getLayoutItems(),p=o.length,u=(n.regions={}),r=[],q=[],v=0,i=0,s,m;n.splitters={};for(;t<p;t++){s=o[t];u[s.region]=s;if(s.region!="center"&&s.collapsible&&s.collapseMode!="header"){s.borderCollapse=s.collapsed;s.collapsed=false;s.on({beforecollapse:n.onBeforeRegionCollapse,beforeexpand:n.onBeforeRegionExpand,destroy:n.onRegionDestroy,scope:n});n.setupState(s)}}if(!u.center){Ext.Error.raise("You must specify a center region when defining a BorderLayout.")}s=u.center;if(!s.flex){s.flex=1}delete s.width;s.maintainFlex=true;s=u.west;if(s){s.collapseDirection=Ext.Component.DIRECTION_LEFT;q.push(s);if(s.split){q.push(n.splitters.west=n.createSplitter(s))}m=Ext.isString(s.width)&&s.width.match(n.percentageRe);if(m){v+=(s.flex=parseInt(m[1],10)/100);delete s.width}}s=u.north;if(s){s.collapseDirection=Ext.Component.DIRECTION_TOP;r.push(s);if(s.split){r.push(n.splitters.north=n.createSplitter(s))}m=Ext.isString(s.height)&&s.height.match(n.percentageRe);if(m){i+=(s.flex=parseInt(m[1],10)/100);delete s.height}}if(u.north||u.south){if(u.east||u.west){r.push(n.embeddedContainer=Ext.create("Ext.container.Container",{xtype:"container",region:"center",id:n.owner.id+"-embedded-center",cls:Ext.baseCSSPrefix+"border-item",flex:u.center.flex,maintainFlex:true,layout:{type:"hbox",align:"stretch",getVisibleItems:n.getVisibleItems}}));q.push(u.center)}else{r.push(u.center)}}else{q.push(u.center)}s=u.south;if(s){s.collapseDirection=Ext.Component.DIRECTION_BOTTOM;if(s.split){r.push(n.splitters.south=n.createSplitter(s))}m=Ext.isString(s.height)&&s.height.match(n.percentageRe);if(m){i+=(s.flex=parseInt(m[1],10)/100);delete s.height}r.push(s)}s=u.east;if(s){s.collapseDirection=Ext.Component.DIRECTION_RIGHT;if(s.split){q.push(n.splitters.east=n.createSplitter(s))}m=Ext.isString(s.width)&&s.width.match(n.percentageRe);if(m){v+=(s.flex=parseInt(m[1],10)/100);delete s.width}q.push(s)}if(u.north||u.south){n.shadowContainer=Ext.create("Ext.container.Container",{ownerCt:n.owner,el:n.getTarget(),layout:Ext.applyIf({type:"vbox",align:"stretch",getVisibleItems:n.getVisibleItems},n.initialConfig)});n.createItems(n.shadowContainer,r);if(n.splitters.north){n.splitters.north.ownerCt=n.shadowContainer}if(n.splitters.south){n.splitters.south.ownerCt=n.shadowContainer}if(n.embeddedContainer){n.embeddedContainer.ownerCt=n.shadowContainer;n.createItems(n.embeddedContainer,q);if(n.splitters.east){n.splitters.east.ownerCt=n.embeddedContainer}if(n.splitters.west){n.splitters.west.ownerCt=n.embeddedContainer}Ext.each([n.splitters.north,n.splitters.south],function(a){if(a){a.on("beforedragstart",n.fixHeightConstraints,n)}});if(v){u.center.flex-=v}if(i){n.embeddedContainer.flex-=i}}else{if(i){u.center.flex-=i}}}else{n.shadowContainer=Ext.create("Ext.container.Container",{ownerCt:n.owner,el:n.getTarget(),layout:Ext.applyIf({type:(q.length==1)?"fit":"hbox",align:"stretch"},n.initialConfig)});n.createItems(n.shadowContainer,q);if(n.splitters.east){n.splitters.east.ownerCt=n.shadowContainer}if(n.splitters.west){n.splitters.west.ownerCt=n.shadowContainer}if(v){u.center.flex-=i}}for(t=0,o=n.shadowContainer.items.items,p=o.length;t<p;t++){o[t].shadowOwnerCt=n.shadowContainer}if(n.embeddedContainer){for(t=0,o=n.embeddedContainer.items.items,p=o.length;t<p;t++){o[t].shadowOwnerCt=n.embeddedContainer}}n.shadowLayout=n.shadowContainer.getLayout();n.borderLayoutInitialized=true},setupState:function(c){var d=c.getState;c.getState=function(){var b=d.call(c)||{},a=c.region;b.collapsed=!!c.collapsed;if(a=="west"||a=="east"){b.width=c.getWidth()}else{b.height=c.getHeight()}return b};c.addStateEvents(["collapse","expand","resize"])},createItems:function(d,c){delete d.items;d.initItems();d.items.addAll(c)},createSplitter:function(f){var e=this,h=(f.collapseMode!="header"),g;g=Ext.create("Ext.resizer.Splitter",{hidden:!!f.hidden,collapseTarget:f,performCollapse:!h,listeners:h?{click:{fn:Ext.Function.bind(e.onSplitterCollapseClick,e,[f]),element:"collapseEl"}}:null});if(f.collapseMode=="mini"){f.placeholder=g;g.collapsedCls=f.collapsedCls}f.on({hide:e.onRegionVisibilityChange,show:e.onRegionVisibilityChange,scope:e});return g},fixHeightConstraints:function(){var h=this,f=h.embeddedContainer,e=1e+99,g=-1;if(!f){return}f.items.each(function(a){if(Ext.isNumber(a.maxHeight)){e=Math.max(e,a.maxHeight)}if(Ext.isNumber(a.minHeight)){g=Math.max(g,a.minHeight)}});f.maxHeight=e;f.minHeight=g},onRegionVisibilityChange:function(b){this.splitters[b.region][b.hidden?"hide":"show"]();this.layout()},onSplitterCollapseClick:function(b){if(b.collapsed){this.onPlaceHolderToolClick(null,null,null,{client:b})}else{b.collapse()}},getPlaceholder:function(n){var m=this,k=n.placeholder,h=n.shadowOwnerCt,l=h.layout,i=Ext.panel.Panel.prototype.getOppositeDirection(n.collapseDirection),j=(n.region=="north"||n.region=="south");if(n.collapseMode=="header"){return}if(!k){if(n.collapseMode=="mini"){k=Ext.create("Ext.resizer.Splitter",{id:"collapse-placeholder-"+n.id,collapseTarget:n,performCollapse:false,listeners:{click:{fn:Ext.Function.bind(m.onSplitterCollapseClick,m,[n]),element:"collapseEl"}}});k.addCls(k.collapsedCls)}else{k={id:"collapse-placeholder-"+n.id,margins:n.initialConfig.margins||Ext.getClass(n).prototype.margins,xtype:"header",orientation:j?"horizontal":"vertical",title:n.title,textCls:n.headerTextCls,iconCls:n.iconCls,baseCls:n.baseCls+"-header",ui:n.ui,indicateDrag:n.draggable,cls:Ext.baseCSSPrefix+"region-collapsed-placeholder "+Ext.baseCSSPrefix+"region-collapsed-"+n.collapseDirection+"-placeholder "+n.collapsedCls,listeners:n.floatable?{click:{fn:function(a){m.floatCollapsedPanel(a,n)},element:"el"}}:null};if((Ext.isIE6||Ext.isIE7||(Ext.isIEQuirks))&&!j){k.width=25}if(!n.hideCollapseTool){k[j?"tools":"items"]=[{xtype:"tool",client:n,type:"expand-"+i,handler:m.onPlaceHolderToolClick,scope:m}]}}k=m.owner.createComponent(k);if(n.isXType("panel")){n.on({titlechange:m.onRegionTitleChange,iconchange:m.onRegionIconChange,scope:m})}}n.placeholder=k;k.comp=n;return k},onRegionTitleChange:function(d,c){d.placeholder.setTitle(c)},onRegionIconChange:function(c,d){c.placeholder.setIconCls(d)},calculateChildBox:function(d){var c=this;if(c.shadowContainer.items.contains(d)){return c.shadowContainer.layout.calculateChildBox(d)}else{if(c.embeddedContainer&&c.embeddedContainer.items.contains(d)){return c.embeddedContainer.layout.calculateChildBox(d)}}},onBeforeRegionCollapse:function(v,s,y){if(v.collapsedChangingLayout){if(Ext.global.console&&Ext.global.console.warn){Ext.global.console.warn(Ext.getDisplayName(arguments.callee),"aborted because the collapsed state is in the middle of changing")}return false}v.collapsedChangingLayout=true;var t=this,o=v.el,z,A=v.collapseMode=="mini",u=v.shadowOwnerCt,B=u.layout,q=v.placeholder,w=t.owner.suspendLayout,r=u.suspendLayout,p=(v.region=="north"||v.region=="west");t.owner.suspendLayout=true;u.suspendLayout=true;B.layoutBusy=true;if(u.componentLayout){u.componentLayout.layoutBusy=true}t.shadowContainer.layout.layoutBusy=true;t.layoutBusy=true;t.owner.componentLayout.layoutBusy=true;if(!q){q=t.getPlaceholder(v)}if(q.shadowOwnerCt===u){q.show()}else{u.insert(u.items.indexOf(v)+(p?0:1),q);q.shadowOwnerCt=u;q.ownerCt=t.owner}v.hidden=true;if(!q.rendered){B.renderItem(q,B.innerCt);if(v.region=="north"||v.region=="south"){q.setCalculatedSize(v.getWidth())}else{q.setCalculatedSize(undefined,v.getHeight())}}function x(){t.owner.suspendLayout=w;u.suspendLayout=r;delete B.layoutBusy;if(u.componentLayout){delete u.componentLayout.layoutBusy}delete t.shadowContainer.layout.layoutBusy;delete t.layoutBusy;delete t.owner.componentLayout.layoutBusy;delete v.collapsedChangingLayout;v.collapsed=true;v.fireEvent("collapse",v)}if(v.animCollapse&&t.initialCollapsedComplete){B.layout();o.dom.style.zIndex=100;if(!A){q.el.hide()}o.slideOut(t.slideDirection[v.region],{duration:Ext.Number.from(v.animCollapse,Ext.fx.Anim.prototype.duration),listeners:{afteranimate:function(){o.show().setLeftTop(-10000,-10000);o.dom.style.zIndex="";if(!A){q.el.slideIn(t.slideDirection[v.region],{easing:"linear",duration:100})}x()}}})}else{o.setLeftTop(-10000,-10000);B.layout();x()}return false},onBeforeRegionExpand:function(c,d){this.onPlaceHolderToolClick(null,null,null,{client:c,shouldFireBeforeexpand:false});return false},onPlaceHolderToolClick:function(y,e,J,H){var t=this,w=H.client,D=(w.collapseMode!="mini")||!w.split,u=w.el,B,G=w.placeholder,A=G.el,v=w.shadowOwnerCt,I=v.layout,C,x=t.owner.suspendLayout,z=v.suspendLayout,E;if(w.collapsedChangingLayout){if(Ext.global.console&&Ext.global.console.warn){Ext.global.console.warn(Ext.getDisplayName(arguments.callee),"aborted because the collapsed state is in the middle of changing")}return false}if(H.shouldFireBeforeexpand!==false&&w.fireEvent("beforeexpand",w,true)===false){return false}w.collapsedChangingLayout=true;if(w.getActiveAnimation()){w.stopAnimation()}if(w.slideOutAnim){u.un(w.panelMouseMon);A.un(w.placeholderMouseMon);delete w.slideOutAnim;delete w.panelMouseMon;delete w.placeholderMouseMon;E=true}t.owner.suspendLayout=true;v.suspendLayout=true;I.layoutBusy=true;if(v.componentLayout){v.componentLayout.layoutBusy=true}t.shadowContainer.layout.layoutBusy=true;t.layoutBusy=true;t.owner.componentLayout.layoutBusy=true;w.hidden=false;w.collapsed=false;if(D){G.hidden=true}B=I.calculateChildBox(w);if(w.collapseTool){w.collapseTool.show()}if(w.animCollapse&&!E){u.setStyle("visibility","hidden")}u.setLeftTop(B.left,B.top);C=w.getSize();if(C.height!=B.height||C.width!=B.width){t.setItemSize(w,B.width,B.height)}function F(){t.owner.suspendLayout=x;v.suspendLayout=z;delete I.layoutBusy;if(v.componentLayout){delete v.componentLayout.layoutBusy}delete t.shadowContainer.layout.layoutBusy;delete t.layoutBusy;delete t.owner.componentLayout.layoutBusy;delete w.collapsedChangingLayout;w.removeCls(Ext.baseCSSPrefix+"border-region-slide-in");w.fireEvent("expand",w)}if(D){G.el.hide()}if(w.animCollapse&&!E){u.dom.style.zIndex=100;u.slideIn(t.slideDirection[w.region],{duration:Ext.Number.from(w.animCollapse,Ext.fx.Anim.prototype.duration),listeners:{afteranimate:function(){u.dom.style.zIndex="";w.hidden=false;I.onLayout();F()}}})}else{I.onLayout();F()}},floatCollapsedPanel:function(u,w){if(w.floatable===false){return}var t=this,e=w.el,q=w.placeholder,p=q.el,v=w.shadowOwnerCt,A=v.layout,x=A.getChildBox(q),r=v.suspendLayout,B,y,s;if(u.getTarget("."+Ext.baseCSSPrefix+"tool")){return}if(e.getActiveAnimation()){return}if(w.slideOutAnim){t.slideOutFloatedComponent(w);return}function z(a){var b=e.getRegion().union(p.getRegion()).adjust(1,-1,-1,1);if(!b.contains(a.getPoint())){t.slideOutFloatedComponent(w)}}w.placeholderMouseMon=p.monitorMouseLeave(500,z);v.suspendLayout=true;t.layoutBusy=true;t.owner.componentLayout.layoutBusy=true;if(w.collapseTool){w.collapseTool.hide()}w.hidden=false;w.collapsed=false;q.hidden=true;y=A.calculateChildBox(w);q.hidden=false;if(w.region=="north"||w.region=="west"){y[A.parallelBefore]+=x[A.parallelPrefix]-1}else{y[A.parallelBefore]-=(x[A.parallelPrefix]-1)}e.setStyle("visibility","hidden");e.setLeftTop(y.left,y.top);B=w.getSize();if(B.height!=y.height||B.width!=y.width){t.setItemSize(w,y.width,y.height)}s={listeners:{afteranimate:function(){v.suspendLayout=r;delete t.layoutBusy;delete t.owner.componentLayout.layoutBusy;s.listeners={afterAnimate:function(){e.show().removeCls(Ext.baseCSSPrefix+"border-region-slide-in").setLeftTop(-10000,-10000);w.hidden=true;w.collapsed=true;delete w.slideOutAnim;delete w.panelMouseMon;delete w.placeholderMouseMon}};w.slideOutAnim=s}},duration:500};e.addCls(Ext.baseCSSPrefix+"border-region-slide-in");e.slideIn(t.slideDirection[w.region],s);w.panelMouseMon=e.monitorMouseLeave(500,z)},slideOutFloatedComponent:function(e){var f=e.el,d;f.un(e.panelMouseMon);e.placeholder.el.un(e.placeholderMouseMon);f.slideOut(this.slideDirection[e.region],e.slideOutAnim);delete e.slideOutAnim;delete e.panelMouseMon;delete e.placeholderMouseMon},onRegionDestroy:function(d){var c=d.placeholder;if(c){delete c.ownerCt;c.destroy()}},onDestroy:function(){var d=this,e=d.shadowContainer,f=d.embeddedContainer;if(e){delete e.ownerCt;Ext.destroy(e)}if(f){delete f.ownerCt;Ext.destroy(f)}delete d.regions;delete d.splitters;delete d.shadowContainer;delete d.embeddedContainer;d.callParent(arguments)}});Ext.define("Ext.container.Viewport",{extend:"Ext.container.Container",alias:"widget.viewport",requires:["Ext.EventManager"],alternateClassName:"Ext.Viewport",isViewport:true,ariaRole:"application",initComponent:function(){var f=this,e=Ext.fly(document.body.parentNode),d;f.callParent(arguments);e.addCls(Ext.baseCSSPrefix+"viewport");if(f.autoScroll){e.setStyle("overflow","auto")}f.el=d=Ext.getBody();d.setHeight=Ext.emptyFn;d.setWidth=Ext.emptyFn;d.setSize=Ext.emptyFn;d.dom.scroll="no";f.allowDomMove=false;Ext.EventManager.onWindowResize(f.fireResize,f);f.renderTo=f.el;f.width=Ext.Element.getViewportWidth();f.height=Ext.Element.getViewportHeight()},fireResize:function(d,c){this.setSize(d,c)}});Ext.define("Docs.view.search.Container",{extend:"Ext.container.Container",alias:"widget.searchcontainer",initComponent:function(){if(Docs.data.search.length){this.cls="search";this.items=[{xtype:"triggerfield",triggerCls:"reset",emptyText:"Search",width:170,id:"search-field",enableKeyEvents:true,hideTrigger:true,onTriggerClick:function(){this.reset();this.focus();this.setHideTrigger(true);Ext.getCmp("search-dropdown").hide()}},{xtype:"searchdropdown"}]}this.callParent()}});Ext.define("Docs.view.Header",{extend:"Ext.container.Container",alias:"widget.docheader",contentEl:"header-content",initComponent:function(){if(Docs.otherProducts){this.style="cursor: pointer;",this.cls="dropdown";this.menu=Ext.create("Ext.menu.Menu",{renderTo:Ext.getBody(),plain:true,items:Docs.otherProducts})}this.callParent()},listeners:{afterrender:function(b){if(this.menu){b.el.addListener("click",function(d,a){this.menu.showBy(this.el,"bl",[120,0])},this)}}}});Ext.define("Docs.view.Tabs",{extend:"Ext.container.Container",alias:"widget.doctabs",id:"doctabs",componentCls:"doctabs",minTabWidth:80,maxTabWidth:160,animDuration:150,tabs:[],tabsInBar:[],tabCache:{},staticTabs:[],initComponent:function(){this.tpl=Ext.create("Ext.XTemplate",'<tpl for=".">','<div class="doctab overview {cls}{active}">','<div class="l"></div>','<div class="m"><a class="tabUrl" href="{href}"> </a></div>','<div class="r"></div>',"</div>","</tpl>",'<div style="float: left; width: 8px"> </div>','<div id="tabOverflow"></div>');this.html=this.tpl.applyTemplate(this.staticTabs);this.tabTpl=Ext.create("Ext.XTemplate",'<div class="doctab','{[values.active ? (" active") : ""]}','" style="','{[values.width ? ("width: " + values.width + "px;") : ""]}','{[values.visible ? "" : "visibility: hidden;"]}">','<div class="l"></div>','<div class="m">','<span class="icn {iconCls}"> </span>','<a class="tabUrl" href="{href}">{text}</a>',"</div>",'<div class="r"><a class="close" href="#"> </a></div>',"</div>");this.callParent()},listeners:{afterrender:function(){this.createOverflow()}},setStaticTabs:function(b){this.staticTabs=b;this.refresh()},addTab:function(d,c){this.tabCache[d.href]=d;if(!this.hasTab(d.href)){this.tabs.push(d.href);if(this.roomForNewTab()){this.addTabToBar(d,c)}this.addTabToOverflow(d,c)}if(c.activate){this.activateTab(d.href)}this.saveTabs()},removeTab:function(c){if(!this.hasTab(c)){return}var d=Ext.Array.indexOf(this.tabs,c);if(d!==false){Ext.Array.erase(this.tabs,d,1)}var d=Ext.Array.indexOf(this.tabsInBar,c);if(d!==false){Ext.Array.erase(this.tabsInBar,d,1)}if(this.tabs[this.tabsInBar.length]){this.tabsInBar.push(this.tabs[this.tabsInBar.length])}if(this.activeTab===c){if(this.tabs.length===0){Docs.App.getController(this.getControllerName(c)).loadIndex()}else{if(d===this.tabs.length){d-=1}this.activateTab(this.tabs[d]);Docs.History.push(this.tabs[d],{navigate:true})}}if(this.tabs.length>=this.maxTabsInBar()){this.refresh()}else{this.removeTabFromBar(c)}this.saveTabs()},activateTab:function(d){this.activeTab=d;if(!this.inTabs(d)){this.swapLastTabWith(d)}Ext.Array.each(Ext.query(".doctab a[class=tabUrl]"),function(a){Ext.get(a).up(".doctab").removeCls(["active","highlight"])});var e=Ext.query('.doctab a[href="'+d+'"]')[0];if(e){var f=Ext.get(e).up(".doctab");f.addCls("active")}this.highlightOverviewTab(d)},refresh:function(){var i=this.tpl.applyTemplate(this.staticTabs);var f=this.maxTabsInBar()<this.tabs.length?this.maxTabsInBar():this.tabs.length;this.tabsInBar=this.tabs.slice(0,f);for(var j=0;j<f;j++){var h=this.tabCache[this.tabs[j]];var g=Ext.apply(h,{visible:true,active:this.activeTab===h.href,width:this.tabWidth()});i+=this.tabTpl.applyTemplate(g)}this.el.dom.innerHTML=i;if(this.activeTab!==this.tabs[f-1]){this.activateTab(this.activeTab);Docs.History.push(this.activeTab)}this.highlightOverviewTab(this.activeTab);this.createOverflow();this.addToolTips()},closeAllTabs:function(){if(this.inTabBar(this.activeTab)){this.tabs=this.tabsInBar=[this.activeTab]}else{this.tabs=this.tabsInBar=[]}this.refresh();this.saveTabs()},tabData:function(){return Ext.Array.map(this.tabs,function(b){return this.tabCache[b]},this)},roomForNewTab:function(){return this.tabsInBar.length<this.maxTabsInBar()},hasTab:function(b){return Ext.Array.contains(this.tabs,b)},addTabToBar:function(e,d){this.tabsInBar.push(e.href);var f=Ext.get(this.tabTpl.append(this.el.dom,e));if(d.animate&&!Ext.isIE){f.setStyle("width","10px");f.setStyle({visibility:"visible"});f.animate({to:{width:this.tabWidth()}})}else{f.setStyle({visibility:"visible"})}this.resizeTabs(d)},inTabBar:function(b){return Ext.Array.contains(this.tabsInBar,b)},inTabs:function(d){var c=Ext.Array.pluck(this.staticTabs,"href").concat(this.tabsInBar);return Ext.Array.contains(c,d)},removeTabFromBar:function(d){var c=this.getTabEl(d);c.dom.removed=true;if(Ext.isIE){c.remove();this.createOverflow()}else{c.animate({to:{top:30},duration:this.animDuration}).animate({to:{width:10},duration:this.animDuration,listeners:{afteranimate:function(){c.remove();this.shouldResize=true;this.createOverflow()},scope:this}})}},addTabToOverflow:function(j,i){var k=this.inTabBar(j.href);var h=Ext.Array.indexOf(this.tabs,j.href);if(this.tabs.length>this.tabsInBar.length&&h===this.maxTabsInBar()){var g=Ext.ComponentQuery.query("#tabOverflowMenu menuitem[href="+this.tabs[h-1]+"]");Ext.Array.each(g,function(a){a.addCls("overflow")})}var l=Ext.getCmp("tabOverflowMenu").items.length-1;Ext.getCmp("tabOverflowMenu").insert(l,{text:j.text,iconCls:j.iconCls,origIcon:j.iconCls,href:j.href,cls:(k?"":" overflow")})},swapLastTabWith:function(d){var e=this.getTabEl(this.tabsInBar[this.tabsInBar.length-1]);if(e){var f=this.tabTpl.append(document.body,this.tabCache[d]);e.dom.parentNode.replaceChild(f,e.dom);this.tabsInBar[this.tabsInBar.length-1]=d;Ext.get(f).setStyle({visibility:"visible",width:String(this.tabWidth())+"px"})}},highlightOverviewTab:function(d){var c=Ext.query(".doctab."+this.getControllerName(d).toLowerCase());if(c&&c[0]){Ext.get(c[0]).addCls("highlight")}},maxTabsInBar:function(){return Math.floor(this.tabBarWidth()/this.minTabWidth)},tabWidth:function(){var b=Math.floor(this.tabBarWidth()/this.tabsInBar.length)+6;if(b>this.maxTabWidth){return this.maxTabWidth}else{if(b<this.minTabWidth){return this.minTabWidth}else{return b}}},tabBarWidth:function(){return this.getWidth()-(this.staticTabs.length*50)-15},resizeTabs:function(b){this.shouldResize=false;Ext.Array.each(Ext.query(".doctab"),function(a){var d=Ext.get(a);if(!d.dom.removed&&!d.hasCls("overview")){if(b&&b.animate&&!Ext.isIE){d.animate({to:{width:this.tabWidth()}})}else{d.setWidth(this.tabWidth())}}},this)},getTabEl:function(c){var d=Ext.query('.doctab a[href="'+c+'"]');if(d&&d[0]){return Ext.get(d[0]).up(".doctab")}},createOverflow:function(){if(this.overflowButton){this.overflowButton.destroy()}this.overflowButton=Ext.create("Ext.button.Button",{baseCls:"",renderTo:"tabOverflow",menu:{id:"tabOverflowMenu",plain:true,items:[{text:"Close all tabs",iconCls:"close",cls:"overflow close-all",handler:function(){this.closeAllTabs()},scope:this}]}});Ext.Array.each(this.tabs,function(b){this.addTabToOverflow(this.tabCache[b])},this)},addToolTips:function(){Ext.Array.each(this.staticTabs,function(c){var d=Ext.get(Ext.query(".doctab."+c.cls)[0]);if(d){Ext.create("Ext.tip.ToolTip",{target:d,html:c.tooltip})}})},saveTabs:function(){Docs.Settings.set("tabs",this.tabs)},getControllerName:function(b){if(/#!?\/api/.test(b)){return"Classes"}else{if(/#!?\/guide/.test(b)){return"Guides"}else{if(/#!?\/video/.test(b)){return"Videos"}else{if(/#!?\/example/.test(b)){return"Examples"}else{return"Index"}}}}}});Ext.define("Docs.view.welcome.Index",{extend:"Ext.container.Container",alias:"widget.welcomeindex",requires:["Docs.ContentGrabber"],cls:"welcome iScroll",initComponent:function(){this.html=Docs.ContentGrabber.get("welcome-content");this.hasContent=!!this.html;this.callParent(arguments)},getTab:function(){return this.hasContent?{cls:"index",href:"#",tooltip:"Home"}:false}});Ext.define("Docs.view.cls.Index",{extend:"Ext.container.Container",alias:"widget.classindex",requires:["Docs.ContentGrabber"],cls:"class-list iScroll",margin:"15 10",autoScroll:true,initComponent:function(){this.tpl=new Ext.XTemplate('<h1 class="top" style="padding-bottom: 10px">API Documentation</h1>','<tpl if="notice">','<div class="notice">{notice}</div>',"</tpl>","{categories}");this.data={notice:Docs.ContentGrabber.get("notice-text"),categories:Docs.ContentGrabber.get("categories-content")};this.callParent(arguments)},getTab:function(){return Docs.data.classes.length>0?{cls:"classes",href:"#!/api",tooltip:"API Documentation"}:false}});Ext.define("Docs.view.guides.Container",{extend:"Ext.container.Container",alias:"widget.guidecontainer",componentCls:"guide-container",initComponent:function(){this.addEvents("afterload");this.callParent(arguments)},load:function(b){this.tpl=this.tpl||new Ext.XTemplate(Docs.showPrintButton?'<a class="print guide" href="?print=/guide/{name}" target="_blank">Print</a>':"","{content}");this.update(this.tpl.apply(b));Docs.Syntax.highlight(this.getEl());this.fireEvent("afterload")}});Ext.define("Docs.view.videos.Container",{extend:"Ext.container.Container",alias:"widget.videocontainer",load:function(b){this.tpl=this.tpl||new Ext.XTemplate('<object width="640" height="360" id="video_player">','<param name="allowfullscreen" value="true" />','<param name="allowscriptaccess" value="always" />','<param name="flashvars" value="api=1" />','<param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id={id}&server=vimeo.com&color=4CC208&fullscreen=1" />','<embed src="http://vimeo.com/moogaloop.swf?clip_id={id}&server=vimeo.com&color=4CC208&fullscreen=1" ','type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="640" height="360"></embed>',"</object>","<h1>{title}</h1>","<p>{[this.linkify(values.description)]}</p>",{linkify:function(a){return a.replace(/(\bhttps?:\/\/\S+)/ig,"<a href='$1'>$1</a>")}});this.update(this.tpl.apply(b))},listeners:{hide:function(){var b=document.getElementById("video_player");if(b&&b.api_pause){b.api_pause()}}}});Ext.define("Docs.view.examples.Container",{extend:"Ext.container.Container",alias:"widget.examplecontainer",layout:"fit",initComponent:function(){this.tpl=new Ext.XTemplate('<iframe style="width: 100%; height: 100%; border: 0;" src="extjs/examples/{url}"></iframe>');this.callParent(arguments)},load:function(b){this.update(this.tpl.apply(b))},clear:function(){this.update("")}});Ext.define("Docs.view.cls.Header",{extend:"Ext.container.Container",padding:"10 0 17 0",height:55,alias:"widget.classheader",cls:"classheader",initComponent:function(){this.tpl=Ext.create("Ext.XTemplate",'<h1 class="{[this.getClass(values)]}">','<tpl if="private">','<span class="private">Private</span>',"</tpl>",'<a href="#" class="class-source-link">{name}','<span class="class-source-tip">View source...</span>',"</a>","{[this.renderXTypes(values.xtypes)]}","</h1>",Docs.showPrintButton?'<a class="print" href="?print=/api/{name}" target="_blank">Print</a>':"",{getClass:function(b){if(b.component){return"component"}else{if(b.singleton){return"singleton"}else{return"class"}}},renderXTypes:function(d){var f={widget:"xtype",plugin:"ptype",feature:"ftype"};var e=[];d&&Ext.Object.each(d,function(a,b){e.push((f[a]||a)+": "+b.join(", "))});if(e.length>0){return"<span>"+e.join(", ")+"</span>"}else{return""}}});this.on("render",this.initSourceLink,this);this.callParent()},initSourceLink:function(){this.classLinkEvent("click",function(){var d=this.loadedCls.files;if(d.length===1){window.open("source/"+d[0].href)}else{var c=this.createFileMenu(d);c.showBy(this,undefined,[58,-20])}},this);this.classLinkEvent("mouseover",function(){this.el.down(".class-source-tip").show()},this);this.classLinkEvent("mouseout",function(){this.el.down(".class-source-tip").hide()},this)},classLinkEvent:function(d,e,f){this.el.on(d,e,f,{preventDefault:true,delegate:"a.class-source-link"})},createFileMenu:function(b){return new Ext.menu.Menu({items:Ext.Array.map(b,function(a){return{text:a.filename,handler:function(){window.open("source/"+a.href)}}},this)})},load:function(b){this.loadedCls=b;this.update(this.tpl.apply(b))}});Ext.define("Ext.panel.Header",{extend:"Ext.container.Container",uses:["Ext.panel.Tool","Ext.draw.Component","Ext.util.CSS"],alias:"widget.header",isHeader:true,defaultType:"tool",indicateDrag:false,weight:-1,renderTpl:['<div id="{id}-body" class="{baseCls}-body<tpl if="bodyCls"> {bodyCls}</tpl>','<tpl if="uiCls">','<tpl for="uiCls"> {parent.baseCls}-body-{parent.ui}-{.}</tpl>','</tpl>"','<tpl if="bodyStyle"> style="{bodyStyle}"</tpl>></div>'],initComponent:function(){var l=this,i,j,g,h,k;l.indicateDragCls=l.baseCls+"-draggable";l.title=l.title||" ";l.tools=l.tools||[];l.items=l.items||[];l.orientation=l.orientation||"horizontal";l.dock=(l.dock)?l.dock:(l.orientation=="horizontal")?"top":"left";l.addClsWithUI(l.orientation);l.addClsWithUI(l.dock);l.addChildEls("body");if(!Ext.isEmpty(l.iconCls)){l.initIconCmp();l.items.push(l.iconCmp)}if(l.orientation=="vertical"){if(Ext.isIE6||Ext.isIE7){l.width=this.width||24}else{if(Ext.isIEQuirks){l.width=this.width||25}}l.layout={type:"vbox",align:"center",clearInnerCtOnLayout:true,bindToOwnerCtContainer:false};l.textConfig={cls:l.baseCls+"-text",type:"text",text:l.title,rotate:{degrees:90}};k=l.ui;if(Ext.isArray(k)){k=k[0]}i="."+l.baseCls+"-text-"+k;if(Ext.scopeResetCSS){i="."+Ext.baseCSSPrefix+"reset "+i}j=Ext.util.CSS.getRule(i);if(j){g=j.style}if(g){Ext.apply(l.textConfig,{"font-family":g.fontFamily,"font-weight":g.fontWeight,"font-size":g.fontSize,fill:g.color})}l.titleCmp=Ext.create("Ext.draw.Component",{ariaRole:"heading",focusable:false,viewBox:false,flex:1,autoSize:true,margins:"5 0 0 0",items:[l.textConfig],renderSelectors:{textEl:"."+l.baseCls+"-text"}})}else{l.layout={type:"hbox",align:"middle",clearInnerCtOnLayout:true,bindToOwnerCtContainer:false};l.titleCmp=Ext.create("Ext.Component",{xtype:"component",ariaRole:"heading",focusable:false,flex:1,cls:l.baseCls+"-text-container",renderTpl:['<span id="{id}-textEl" class="{cls}-text {cls}-text-{ui}">{title}</span>'],renderData:{title:l.title,cls:l.baseCls,ui:l.ui},childEls:["textEl"]})}l.items.push(l.titleCmp);l.items=l.items.concat(l.tools);this.callParent()},initIconCmp:function(){this.iconCmp=Ext.create("Ext.Component",{focusable:false,renderTpl:['<img id="{id}-iconEl" alt="" src="{blank}" class="{cls}-icon {iconCls}"/>'],renderData:{blank:Ext.BLANK_IMAGE_URL,cls:this.baseCls,iconCls:this.iconCls,orientation:this.orientation},childEls:["iconEl"],iconCls:this.iconCls})},afterRender:function(){var b=this;b.el.unselectable();if(b.indicateDrag){b.el.addCls(b.indicateDragCls)}b.mon(b.el,{click:b.onClick,scope:b});b.callParent()},afterLayout:function(){var b=this;b.callParent(arguments);if(Ext.isIE7){b.el.repaint()}},addUIClsToElement:function(h,k){var l=this,i=l.callParent(arguments),m=[l.baseCls+"-body-"+h,l.baseCls+"-body-"+l.ui+"-"+h],j,n;if(!k&&l.rendered){if(l.bodyCls){l.body.addCls(l.bodyCls)}else{l.body.addCls(m)}}else{if(l.bodyCls){j=l.bodyCls.split(" ");for(n=0;n<m.length;n++){if(!Ext.Array.contains(j,m[n])){j.push(m[n])}}l.bodyCls=j.join(" ")}else{l.bodyCls=m.join(" ")}}return i},removeUIClsFromElement:function(h,k){var l=this,i=l.callParent(arguments),m=[l.baseCls+"-body-"+h,l.baseCls+"-body-"+l.ui+"-"+h],j,n;if(!k&&l.rendered){if(l.bodyCls){l.body.removeCls(l.bodyCls)}else{l.body.removeCls(m)}}else{if(l.bodyCls){j=l.bodyCls.split(" ");for(n=0;n<m.length;n++){Ext.Array.remove(j,m[n])}l.bodyCls=j.join(" ")}}return i},addUIToElement:function(h){var e=this,g,f;e.callParent(arguments);f=e.baseCls+"-body-"+e.ui;if(!h&&e.rendered){if(e.bodyCls){e.body.addCls(e.bodyCls)}else{e.body.addCls(f)}}else{if(e.bodyCls){g=e.bodyCls.split(" ");if(!Ext.Array.contains(g,f)){g.push(f)}e.bodyCls=g.join(" ")}else{e.bodyCls=f}}if(!h&&e.titleCmp&&e.titleCmp.rendered&&e.titleCmp.textEl){e.titleCmp.textEl.addCls(e.baseCls+"-text-"+e.ui)}},removeUIFromElement:function(){var d=this,f,e;d.callParent(arguments);e=d.baseCls+"-body-"+d.ui;if(d.rendered){if(d.bodyCls){d.body.removeCls(d.bodyCls)}else{d.body.removeCls(e)}}else{if(d.bodyCls){f=d.bodyCls.split(" ");Ext.Array.remove(f,e);d.bodyCls=f.join(" ")}else{d.bodyCls=e}}if(d.titleCmp&&d.titleCmp.rendered&&d.titleCmp.textEl){d.titleCmp.textEl.removeCls(d.baseCls+"-text-"+d.ui)}},onClick:function(b){if(!b.getTarget(Ext.baseCSSPrefix+"tool")){this.fireEvent("click",b)}},getTargetEl:function(){return this.body||this.frameBody||this.el},setTitle:function(g){var h=this;if(h.rendered){if(h.titleCmp.rendered){if(h.titleCmp.surface){h.title=g||"";var e=h.titleCmp.surface.items.items[0],f=h.titleCmp.surface;f.remove(e);h.textConfig.type="text";h.textConfig.text=g;e=f.add(h.textConfig);e.setAttributes({rotate:{degrees:90}},true);h.titleCmp.autoSizeSurface()}else{h.title=g||" ";h.titleCmp.textEl.update(h.title)}}else{h.titleCmp.on({render:function(){h.setTitle(g)},single:true})}}else{h.on({render:function(){h.layout.layout();h.setTitle(g)},single:true})}},setIconCls:function(g){var j=this,h=!g||!g.length,i=j.iconCmp,f;j.iconCls=g;if(!j.iconCmp&&!h){j.initIconCmp();j.insert(0,j.iconCmp)}else{if(i){if(h){j.iconCmp.destroy()}else{f=i.iconEl;f.removeCls(i.iconCls);f.addCls(g);i.iconCls=g}}}},addTool:function(b){this.tools.push(this.add(b))},onAdd:function(c,d){this.callParent([arguments]);if(c instanceof Ext.panel.Tool){c.bindTo(this.ownerCt);this.tools[c.type]=c}}});Ext.define("Ext.grid.header.Container",{extend:"Ext.container.Container",uses:["Ext.grid.ColumnLayout","Ext.grid.column.Column","Ext.menu.Menu","Ext.menu.CheckItem","Ext.menu.Separator","Ext.grid.plugin.HeaderResizer","Ext.grid.plugin.HeaderReorderer"],border:true,alias:"widget.headercontainer",baseCls:Ext.baseCSSPrefix+"grid-header-ct",dock:"top",weight:100,defaultType:"gridcolumn",defaultWidth:100,sortAscText:"Sort Ascending",sortDescText:"Sort Descending",sortClearText:"Clear Sort",columnsText:"Columns",lastHeaderCls:Ext.baseCSSPrefix+"column-header-last",firstHeaderCls:Ext.baseCSSPrefix+"column-header-first",headerOpenCls:Ext.baseCSSPrefix+"column-header-open",triStateSort:false,ddLock:false,dragging:false,sortable:true,initComponent:function(){var b=this;b.headerCounter=0;b.plugins=b.plugins||[];if(!b.isHeader){b.resizer=Ext.create("Ext.grid.plugin.HeaderResizer");b.reorderer=Ext.create("Ext.grid.plugin.HeaderReorderer");if(!b.enableColumnResize){b.resizer.disable()}if(!b.enableColumnMove){b.reorderer.disable()}b.plugins.push(b.reorderer,b.resizer)}if(b.isHeader&&!b.items){b.layout="auto"}else{b.layout={type:"gridcolumn",availableSpaceOffset:b.availableSpaceOffset,align:"stretchmax",resetStretch:true}}b.defaults=b.defaults||{};Ext.applyIf(b.defaults,{width:b.defaultWidth,triStateSort:b.triStateSort,sortable:b.sortable});b.callParent();b.addEvents("columnresize","headerclick","headertriggerclick","columnmove","columnhide","columnshow","sortchange","menucreate")},onDestroy:function(){Ext.destroy(this.resizer,this.reorderer);this.callParent()},applyDefaults:function(b){if(b&&!b.isComponent&&b.xtype=="rownumberer"){return b}return this.callParent([b])},applyColumnsState:function(i){if(!i||!i.length){return}var h=this,j=0,f,g;Ext.each(i,function(a){g=h.down("gridcolumn[headerId="+a.id+"]");if(g){f=h.items.indexOf(g);if(j!==f){h.moveHeader(f,j)}if(g.applyColumnState){g.applyColumnState(a)}++j}})},getColumnsState:function(){var d=this,e=[],f;d.items.each(function(a){f=a.getColumnState&&a.getColumnState();if(f){e.push(f)}});return e},onAdd:function(c){var d=this;if(!c.headerId){c.headerId=c.initialConfig.id||("h"+(++d.headerCounter))}if(Ext.global.console&&Ext.global.console.warn){if(!d._usedIDs){d._usedIDs={}}if(d._usedIDs[c.headerId]){Ext.global.console.warn(this.$className,"attempted to reuse an existing id",c.headerId)}d._usedIDs[c.headerId]=true}d.callParent(arguments);d.purgeCache()},onRemove:function(c){var d=this;d.callParent(arguments);d.purgeCache()},afterRender:function(){this.callParent();var f=this.up("[store]").store,h=f.sorters,g=h.first(),e;if(g){e=this.down("gridcolumn[dataIndex="+g.property+"]");if(e){e.setSortState(g.direction,false,true)}}},afterLayout:function(){if(!this.isHeader){var h=this,i=h.query(">gridcolumn:not([hidden])"),j,f,g;h.callParent(arguments);if(i.length){f=i[0].el;if(f!==h.pastFirstHeaderEl){if(h.pastFirstHeaderEl){h.pastFirstHeaderEl.removeCls(h.firstHeaderCls)}f.addCls(h.firstHeaderCls);h.pastFirstHeaderEl=f}g=i[i.length-1].el;if(g!==h.pastLastHeaderEl){if(h.pastLastHeaderEl){h.pastLastHeaderEl.removeCls(h.lastHeaderCls)}g.addCls(h.lastHeaderCls);h.pastLastHeaderEl=g}}}},onHeaderShow:function(p,u){var m=this,i=m.ownerCt,s=m.getMenu(),r,t,o,v,n,q;if(s){o=s.down("menucheckitem[headerId="+p.id+"]");if(o){o.setChecked(true,true)}r=s.query("#columnItem>menucheckitem[checked]");t=r.length;if((m.getVisibleGridColumns().length>1)&&m.disabledMenuItems&&m.disabledMenuItems.length){if(t==1){Ext.Array.remove(m.disabledMenuItems,r[0])}for(q=0,n=m.disabledMenuItems.length;q<n;q++){v=m.disabledMenuItems[q];if(!v.isDestroyed){v[v.menu?"enableCheckChange":"enable"]()}}if(t==1){m.disabledMenuItems=r}else{m.disabledMenuItems=[]}}}if(!p.isGroupHeader){if(m.view){m.view.onHeaderShow(m,p,true)}if(i){i.onHeaderShow(m,p)}}m.fireEvent("columnshow",m,p);if(u!==true){m.doLayout()}},doComponentLayout:function(){var b=this;if(b.view&&b.view.saveScrollState){b.view.saveScrollState()}b.callParent(arguments);if(b.view&&b.view.restoreScrollState){b.view.restoreScrollState()}},onHeaderHide:function(i,l){var g=this,h=g.ownerCt,j=g.getMenu(),k;if(j){k=j.down("menucheckitem[headerId="+i.id+"]");if(k){k.setChecked(false,true)}g.setDisabledItems()}if(!i.isGroupHeader){if(g.view){g.view.onHeaderHide(g,i,true)}if(h){h.onHeaderHide(g,i)}if(!l){g.doLayout()}}g.fireEvent("columnhide",g,i)},setDisabledItems:function(){var k=this,i=k.getMenu(),g=0,h,j,l;j=i.query("#columnItem>menucheckitem[checked]");if((j.length===1)){if(!k.disabledMenuItems){k.disabledMenuItems=[]}if((k.getVisibleGridColumns().length===1)&&j[0].menu){j=j.concat(j[0].menu.query("menucheckitem[checked]"))}h=j.length;for(g=0;g<h;g++){l=j[g];if(!Ext.Array.contains(k.disabledMenuItems,l)){l.disabled=false;l[l.menu?"disableCheckChange":"disable"]();k.disabledMenuItems.push(l)}}}},tempLock:function(){this.ddLock=true;Ext.Function.defer(function(){this.ddLock=false},200,this)},onHeaderResize:function(f,e,d){this.tempLock();if(this.view&&this.view.rendered){this.view.onHeaderResize(f,e,d)}},onHeaderClick:function(f,d,e){this.fireEvent("headerclick",this,f,d,e)},onHeaderTriggerClick:function(f,d,e){if(this.fireEvent("headertriggerclick",this,f,d,e)!==false){this.showMenuBy(e,f)}},showMenuBy:function(g,i){var k=this.getMenu(),j=k.down("#ascItem"),l=k.down("#descItem"),h;k.activeHeader=k.ownerCt=i;k.setFloatParent(i);i.titleContainer.addCls(this.headerOpenCls);h=i.sortable?"enable":"disable";if(j){j[h]()}if(l){l[h]()}k.showBy(g)},onMenuDeactivate:function(){var b=this.getMenu();b.activeHeader.titleContainer.removeCls(this.headerOpenCls)},moveHeader:function(d,c){this.tempLock();this.onHeaderMoved(this.move(d,c),d,c)},purgeCache:function(){var b=this;delete b.gridDataColumns;delete b.hideableColumns;if(b.menu){b.menu.destroy();delete b.menu}},onHeaderMoved:function(h,f,i){var j=this,g=j.ownerCt;if(g&&g.onHeaderMove){g.onHeaderMove(j,h,f,i)}j.fireEvent("columnmove",j,h,f,i)},getMenu:function(){var b=this;if(!b.menu){b.menu=Ext.create("Ext.menu.Menu",{hideOnParentHide:false,items:b.getMenuItems(),listeners:{deactivate:b.onMenuDeactivate,scope:b}});b.setDisabledItems();b.fireEvent("menucreate",b,b.menu)}return b.menu},getMenuItems:function(){var f=this,d=[],e=f.enableColumnHide?f.getColumnMenu(f):null;if(f.sortable){d=[{itemId:"ascItem",text:f.sortAscText,cls:Ext.baseCSSPrefix+"hmenu-sort-asc",handler:f.onSortAscClick,scope:f},{itemId:"descItem",text:f.sortDescText,cls:Ext.baseCSSPrefix+"hmenu-sort-desc",handler:f.onSortDescClick,scope:f}]}if(e&&e.length){d.push("-",{itemId:"columnItem",text:f.columnsText,cls:Ext.baseCSSPrefix+"cols-icon",menu:e})}return d},onSortAscClick:function(){var c=this.getMenu(),d=c.activeHeader;d.setSortState("ASC")},onSortDescClick:function(){var c=this.getMenu(),d=c.activeHeader;d.setSortState("DESC")},getColumnMenu:function(k){var n=[],h=0,l,i=k.query(">gridcolumn[hideable]"),j=i.length,m;for(;h<j;h++){l=i[h];m=Ext.create("Ext.menu.CheckItem",{text:l.text,checked:!l.hidden,hideOnClick:false,headerId:l.id,menu:l.isGroupHeader?this.getColumnMenu(l):undefined,checkHandler:this.onColumnCheckChange,scope:this});if(j===1){m.disabled=true}n.push(m);l.on({destroy:Ext.Function.bind(m.destroy,m)})}return n},onColumnCheckChange:function(e,d){var f=Ext.getCmp(e.headerId);f[d?"show":"hide"]()},getColumnsForTpl:function(l){var n=[],m=this.getGridColumns(l),j=m.length,i=0,k,h;for(;i<j;i++){k=m[i];if(k.hidden||k.up("headercontainer[hidden=true]")){h=0}else{h=k.getDesiredWidth();if((i===0)&&(Ext.isIE6||Ext.isIE7)){h+=1}}n.push({dataIndex:k.dataIndex,align:k.align,width:h,id:k.id,cls:k.tdCls,columnId:k.getItemId()})}return n},getColumnCount:function(){return this.getGridColumns().length},getFullWidth:function(i){var j=0,f=this.getVisibleGridColumns(i),h=f.length,g=0;for(;g<h;g++){if(!isNaN(f[g].width)){if(f[g].getDesiredWidth){j+=f[g].getDesiredWidth()}else{j+=f[g].getWidth()}}}return j},clearOtherSortStates:function(g){var j=this.getGridColumns(),h=j.length,f=0,i;for(;f<h;f++){if(j[f]!==g){i=j[f].sortState;j[f].setSortState(null,true)}}},getVisibleGridColumns:function(b){return Ext.ComponentQuery.query(":not([hidden])",this.getGridColumns(b))},getGridColumns:function(d){var f=this,e=d?null:f.gridDataColumns;if(!e){f.gridDataColumns=e=[];f.cascade(function(a){if((a!==f)&&!a.isGroupHeader){e.push(a)}})}return e},getHideableColumns:function(d){var f=this,e=d?null:f.hideableColumns;if(!e){e=f.hideableColumns=f.query("[hideable]")}return e},getHeaderIndex:function(c){var d=this.getGridColumns();return Ext.Array.indexOf(d,c)},getHeaderAtIndex:function(d){var c=this.getGridColumns();return c[d]},prepareData:function(w,B,u,s,D){var x={},A=this.gridDataColumns||this.getGridColumns(),z=A.length,y=0,v,p,t,q,C,r=D.store;for(;y<z;y++){C={tdCls:"",style:""};v=A[y];p=v.id;t=v.renderer;q=w[v.dataIndex];if(typeof t==="string"){v.renderer=t=Ext.util.Format[t]}if(typeof t==="function"){q=t.call(v.scope||this.ownerCt,q,C,u,B,y,r,s)}if(C.css){x.cssWarning=true;C.tdCls=C.css;delete C.css}x[p+"-modified"]=u.isModified(v.dataIndex)?Ext.baseCSSPrefix+"grid-dirty-cell":"";x[p+"-tdCls"]=C.tdCls;x[p+"-tdAttr"]=C.tdAttr;x[p+"-style"]=C.style;if(q===undefined||q===null||q===""){q=" "}x[p]=q}return x},expandToFit:function(b){if(this.view){this.view.expandToFit(b)}}});Ext.define("Ext.grid.column.Column",{extend:"Ext.grid.header.Container",alias:"widget.gridcolumn",requires:["Ext.util.KeyNav"],alternateClassName:"Ext.grid.Column",baseCls:Ext.baseCSSPrefix+"column-header "+Ext.baseCSSPrefix+"unselectable",hoverCls:Ext.baseCSSPrefix+"column-header-over",handleWidth:5,sortState:null,possibleSortStates:["ASC","DESC"],renderTpl:'<div id="{id}-titleContainer" class="'+Ext.baseCSSPrefix+'column-header-inner"><span id="{id}-textEl" class="'+Ext.baseCSSPrefix+'column-header-text">{text}</span><tpl if="!values.menuDisabled"><div id="{id}-triggerEl" class="'+Ext.baseCSSPrefix+'column-header-trigger"></div></tpl></div>',dataIndex:null,text:" ",sortable:true,hideable:true,menuDisabled:false,renderer:false,align:"left",draggable:true,initDraggable:Ext.emptyFn,isHeader:true,initComponent:function(){var g=this,e,f,h;if(Ext.isDefined(g.header)){g.text=g.header;delete g.header}if(g.flex){g.minWidth=g.minWidth||Ext.grid.plugin.HeaderResizer.prototype.minColWidth}else{g.minWidth=g.width}if(!g.triStateSort){g.possibleSortStates.length=2}if(Ext.isDefined(g.columns)){g.isGroupHeader=true;if(g.dataIndex){Ext.Error.raise("Ext.grid.column.Column: Group header may not accept a dataIndex")}if((g.width&&g.width!==Ext.grid.header.Container.prototype.defaultWidth)||g.flex){Ext.Error.raise("Ext.grid.column.Column: Group header does not support setting explicit widths or flexs. The group header width is calculated by the sum of its children.")}g.items=g.columns;delete g.columns;delete g.flex;g.width=0;for(e=0,f=g.items.length;e<f;e++){h=g.items[e];if(!h.hidden){g.width+=h.width||Ext.grid.header.Container.prototype.defaultWidth}if(h.flex){Ext.Error.raise("Ext.grid.column.Column: items of a grouped header do not support flexed values. Each item must explicitly define its width.")}}g.minWidth=g.width;g.cls=(g.cls||"")+" "+Ext.baseCSSPrefix+"group-header";g.sortable=false;g.resizable=false;g.align="center"}g.addChildEls("titleContainer","triggerEl","textEl");g.callParent(arguments)},onAdd:function(b){b.isSubHeader=true;b.addCls(Ext.baseCSSPrefix+"group-sub-header");this.callParent(arguments)},onRemove:function(b){b.isSubHeader=false;b.removeCls(Ext.baseCSSPrefix+"group-sub-header");this.callParent(arguments)},initRenderData:function(){var b=this;Ext.applyIf(b.renderData,{text:b.text,menuDisabled:b.menuDisabled});return b.callParent(arguments)},applyColumnState:function(d){var e=this,f=Ext.isDefined;e.applyColumnsState(d.columns);if(f(d.hidden)){e.hidden=d.hidden}if(f(d.locked)){e.locked=d.locked}if(f(d.sortable)){e.sortable=d.sortable}if(f(d.width)){delete e.flex;e.width=d.width}else{if(f(d.flex)){delete e.width;e.flex=d.flex}}},getColumnState:function(){var d=this,e=[],f={id:d.headerId};d.savePropsToState(["hidden","sortable","locked","flex","width"],f);if(d.isGroupHeader){d.items.each(function(a){e.push(a.getColumnState())});if(e.length){f.columns=e}}else{if(d.isSubHeader&&d.ownerCt.hidden){delete d.hidden}}if("width" in f){delete f.flex}return f},setText:function(b){this.text=b;if(this.rendered){this.textEl.update(b)}},getOwnerHeaderCt:function(){return this.up(":not([isHeader])")},getIndex:function(){return this.isGroupColumn?false:this.getOwnerHeaderCt().getHeaderIndex(this)},onRender:function(){var c=this,d=c.up("tablepanel");if(d&&(!c.sortable||d.sortableColumns===false)&&!c.groupable&&!c.lockable&&(d.enableColumnHide===false||!c.getOwnerHeaderCt().getHideableColumns().length)){c.menuDisabled=true}c.callParent(arguments)},afterRender:function(){var c=this,d=c.el;c.callParent(arguments);d.addCls(Ext.baseCSSPrefix+"column-header-align-"+c.align).addClsOnOver(c.overCls);c.mon(d,{click:c.onElClick,dblclick:c.onElDblClick,scope:c});if(!Ext.isIE8||!Ext.isStrict){c.mon(c.getFocusEl(),{focus:c.onTitleMouseOver,blur:c.onTitleMouseOut,scope:c})}c.mon(c.titleContainer,{mouseenter:c.onTitleMouseOver,mouseleave:c.onTitleMouseOut,scope:c});c.keyNav=Ext.create("Ext.util.KeyNav",d,{enter:c.onEnterKey,down:c.onDownKey,scope:c})},setWidth:function(s,t){var m=this,r=m.ownerCt,l,n,o,q=m.getWidth(),p=0,i;if(s!==q){m.oldWidth=q;m.minWidth=m.width=s;if(r.isGroupHeader){l=r.items.items;n=l.length;for(o=0;o<n;o++){i=l[o];if(!i.hidden){p+=(i===m)?s:i.getWidth()}}r.setWidth(p,t)}else{if(t!==false){r.doLayout()}}}},afterComponentLayout:function(h,f){var g=this,e=this.getOwnerHeaderCt();g.callParent(arguments);if(h&&!g.isGroupHeader&&e){e.onHeaderResize(g,h,true)}if(g.oldWidth&&(h!==g.oldWidth)){e.fireEvent("columnresize",e,this,h)}delete g.oldWidth},setPadding:function(e){var f=this,d=Ext.util.TextMetrics.measure(f.textEl.dom,f.text).height;if(!f.isGroupHeader){if(f.titleContainer.getHeight()<e){f.titleContainer.dom.style.height=e+"px"}}e=f.titleContainer.getViewSize().height;if(d){f.titleContainer.setStyle({paddingTop:Math.max(((e-d)/2),0)+"px"})}if(Ext.isIE&&f.triggerEl){f.triggerEl.setHeight(e)}},onDestroy:function(){var b=this;Ext.destroy(b.textEl,b.keyNav);delete b.keyNav;b.callParent(arguments)},onTitleMouseOver:function(){this.titleContainer.addCls(this.hoverCls)},onTitleMouseOut:function(){this.titleContainer.removeCls(this.hoverCls)},onDownKey:function(b){if(this.triggerEl){this.onElClick(b,this.triggerEl.dom||this.el.dom)}},onEnterKey:function(b){this.onElClick(b,this.el.dom)},onElDblClick:function(g,f){var h=this,e=h.ownerCt;if(e&&Ext.Array.indexOf(e.items,h)!==0&&h.isOnLeftEdge(g)){e.expandToFit(h.previousSibling("gridcolumn"))}},onElClick:function(g,e){var h=this,f=h.getOwnerHeaderCt();if(f&&!f.ddLock){if(h.triggerEl&&(g.target===h.triggerEl.dom||e===h.triggerEl.dom||g.within(h.triggerEl))){f.onHeaderTriggerClick(h,g,e)}else{if(g.getKey()||(!h.isOnLeftEdge(g)&&!h.isOnRightEdge(g))){h.toggleSortState();f.onHeaderClick(h,g,e)}}}},processEvent:function(j,e,h,l,k,i){return this.fireEvent.apply(this,arguments)},toggleSortState:function(){var d=this,e,f;if(d.sortable){e=Ext.Array.indexOf(d.possibleSortStates,d.sortState);f=(e+1)%d.possibleSortStates.length;d.setSortState(d.possibleSortStates[f])}},doSort:function(c){var d=this.up("tablepanel").store;d.sort({property:this.getSortParam(),direction:c})},getSortParam:function(){return this.dataIndex},setSortState:function(t,k,o){var n=this,m=Ext.baseCSSPrefix+"column-header-sort-",l=m+"ASC",r=m+"DESC",s=m+"null",p=n.getOwnerHeaderCt(),q=n.sortState;if(q!==t&&n.getSortParam()){n.addCls(m+t);if(t&&!o){n.doSort(t)}switch(t){case"DESC":n.removeCls([l,s]);break;case"ASC":n.removeCls([r,s]);break;case null:n.removeCls([l,r]);break}if(p&&!n.triStateSort&&!k){p.clearOtherSortStates(n)}n.sortState=t;p.fireEvent("sortchange",p,n,t)}},hide:function(){var k=this,n,i,m,j,l=0,h=k.getOwnerHeaderCt();k.oldWidth=k.getWidth();if(k.isGroupHeader){n=k.items.items;k.callParent(arguments);h.onHeaderHide(k);for(m=0,i=n.length;m<i;m++){n[m].hidden=true;h.onHeaderHide(n[m],true)}return}j=k.ownerCt.componentLayout.layoutBusy;k.ownerCt.componentLayout.layoutBusy=true;k.callParent(arguments);k.ownerCt.componentLayout.layoutBusy=j;h.onHeaderHide(k);if(k.ownerCt.isGroupHeader){n=k.ownerCt.query(">:not([hidden])");if(!n.length){k.ownerCt.hide()}else{for(m=0,i=n.length;m<i;m++){l+=n[m].getWidth()}k.ownerCt.minWidth=l;k.ownerCt.setWidth(l)}}},show:function(){var m=this,u=m.ownerCt,q=u.componentLayout,t=q.layoutBusy,v=u.layout,p=v.layoutBusy,n,o,r,i,s=0;q.layoutBusy=v.layoutBusy=true;m.callParent(arguments);q.layoutBusy=t;v.layoutBusy=p;if(m.isSubHeader){if(!u.isVisible()){u.show()}}if(m.isGroupHeader&&!m.query(":not([hidden])").length){n=m.query(">*");for(r=0,o=n.length;r<o;r++){i=n[r];i.preventLayout=true;i.show();s+=i.getWidth();delete i.preventLayout}m.setWidth(s)}if(u.isGroupHeader&&m.preventLayout!==true){n=u.query(">:not([hidden])");for(r=0,o=n.length;r<o;r++){s+=n[r].getWidth()}u.minWidth=s;u.setWidth(s)}u=m.getOwnerHeaderCt();if(u){u.onHeaderShow(m,m.preventLayout)}},getDesiredWidth:function(){var b=this;if(b.rendered&&b.componentLayout&&b.componentLayout.lastComponentSize){return b.componentLayout.lastComponentSize.width}else{if(b.flex){return b.width}else{return b.width}}},getCellSelector:function(){return"."+Ext.baseCSSPrefix+"grid-cell-"+this.getItemId()},getCellInnerSelector:function(){return this.getCellSelector()+" ."+Ext.baseCSSPrefix+"grid-cell-inner"},isOnLeftEdge:function(b){return(b.getXY()[0]-this.el.getLeft()<=this.handleWidth)},isOnRightEdge:function(b){return(this.el.getRight()-b.getXY()[0]<=this.handleWidth)}});Ext.define("Ext.grid.column.Action",{extend:"Ext.grid.column.Column",alias:["widget.actioncolumn"],alternateClassName:"Ext.grid.ActionColumn",header:" ",actionIdRe:new RegExp(Ext.baseCSSPrefix+"action-col-(\\d+)"),altText:"",sortable:false,constructor:function(m){var j=this,h=Ext.apply({},m),n=h.items||[j],i=n.length,l,k;delete h.items;j.callParent([h]);j.items=n;j.renderer=function(b,a){b=Ext.isFunction(h.renderer)?h.renderer.apply(this,arguments)||"":"";a.tdCls+=" "+Ext.baseCSSPrefix+"action-col-cell";for(l=0;l<i;l++){k=n[l];k.disable=Ext.Function.bind(j.disableAction,j,[l]);k.enable=Ext.Function.bind(j.enableAction,j,[l]);b+='<img alt="'+(k.altText||j.altText)+'" src="'+(k.icon||Ext.BLANK_IMAGE_URL)+'" class="'+Ext.baseCSSPrefix+"action-col-icon "+Ext.baseCSSPrefix+"action-col-"+String(l)+" "+(k.disabled?Ext.baseCSSPrefix+"item-disabled":" ")+(k.iconCls||"")+" "+(Ext.isFunction(k.getClass)?k.getClass.apply(k.scope||j.scope||j,arguments):(j.iconCls||""))+'"'+((k.tooltip)?' data-qtip="'+k.tooltip+'"':"")+" />"}return b}},enableAction:function(d){var c=this;if(!d){d=0}else{if(!Ext.isNumber(d)){d=Ext.Array.indexOf(c.items,d)}}c.items[d].disabled=false;c.up("tablepanel").el.select("."+Ext.baseCSSPrefix+"action-col-"+d).removeCls(c.disabledCls)},disableAction:function(d){var c=this;if(!d){d=0}else{if(!Ext.isNumber(d)){d=Ext.Array.indexOf(c.items,d)}}c.items[d].disabled=true;c.up("tablepanel").el.select("."+Ext.baseCSSPrefix+"action-col-"+d).addCls(c.disabledCls)},destroy:function(){delete this.items;delete this.renderer;return this.callParent(arguments)},processEvent:function(p,m,l,t,o,r){var q=this,s=r.getTarget().className.match(q.actionIdRe),e,n;if(s){e=q.items[parseInt(s[1],10)];if(e){if(p=="click"){n=e.handler||q.handler;if(n&&!e.disabled){n.call(e.scope||q.scope||q,m,t,o,e,r)}}else{if(p=="mousedown"&&e.stopSelection!==false){return false}}}}return q.callParent(arguments)},cascade:function(c,d){c.call(d||this,this)},getRefItems:function(){return[]}});Ext.define("Ext.button.Button",{alias:"widget.button",extend:"Ext.Component",requires:["Ext.menu.Manager","Ext.util.ClickRepeater","Ext.layout.component.Button","Ext.util.TextMetrics","Ext.util.KeyMap"],alternateClassName:"Ext.Button",isButton:true,componentLayout:"button",hidden:false,disabled:false,pressed:false,enableToggle:false,menuAlign:"tl-bl?",textAlign:"center",type:"button",clickEvent:"click",preventDefault:true,handleMouseEvents:true,tooltipType:"qtip",baseCls:Ext.baseCSSPrefix+"btn",pressedCls:"pressed",overCls:"over",focusCls:"focus",menuActiveCls:"menu-active",ariaRole:"button",renderTpl:'<em id="{id}-btnWrap" class="{splitCls}"><tpl if="href"><a id="{id}-btnEl" href="{href}" target="{target}"<tpl if="tabIndex"> tabIndex="{tabIndex}"</tpl> role="link"><span id="{id}-btnInnerEl" class="{baseCls}-inner">{text}</span><span id="{id}-btnIconEl" class="{baseCls}-icon"></span></a></tpl><tpl if="!href"><button id="{id}-btnEl" type="{type}" hidefocus="true"<tpl if="tabIndex"> tabIndex="{tabIndex}"</tpl> role="button" autocomplete="off"><span id="{id}-btnInnerEl" class="{baseCls}-inner" style="{innerSpanStyle}">{text}</span><span id="{id}-btnIconEl" class="{baseCls}-icon {iconCls}"> </span></button></tpl></em>',scale:"small",allowedScales:["small","medium","large"],iconAlign:"left",arrowAlign:"right",arrowCls:"arrow",maskOnDisable:false,initComponent:function(){var b=this;b.callParent(arguments);b.addEvents("click","toggle","mouseover","mouseout","menushow","menuhide","menutriggerover","menutriggerout");if(b.menu){b.split=true;b.menu=Ext.menu.Manager.get(b.menu);b.menu.ownerCt=b}if(b.url){b.href=b.url}if(b.href&&!b.hasOwnProperty("preventDefault")){b.preventDefault=false}if(Ext.isString(b.toggleGroup)){b.enableToggle=true}},initAria:function(){this.callParent();var b=this.getActionEl();if(this.menu){b.dom.setAttribute("aria-haspopup",true)}},getActionEl:function(){return this.btnEl},getFocusEl:function(){return this.btnEl},setButtonCls:function(){var g=this,e=[],f=g.btnIconEl,h="x-hide-display";if(g.useSetClass){if(!Ext.isEmpty(g.oldCls)){g.removeClsWithUI(g.oldCls);g.removeClsWithUI(g.pressedCls)}if(g.iconCls||g.icon){if(g.text){e.push("icon-text-"+g.iconAlign)}else{e.push("icon")}if(f){f.removeCls(h)}}else{if(g.text){e.push("noicon")}if(f){f.addCls(h)}}g.oldCls=e;g.addClsWithUI(e);g.addClsWithUI(g.pressed?g.pressedCls:null)}},onRender:function(i,g){var h=this,j,f;Ext.applyIf(h.renderData,h.getTemplateArgs());h.addChildEls("btnEl","btnWrap","btnInnerEl","btnIconEl");if(h.scale){h.ui=h.ui+"-"+h.scale}h.callParent(arguments);if(h.split&&h.arrowTooltip){h.arrowEl.dom.setAttribute(h.getTipAttr(),h.arrowTooltip)}h.mon(h.btnEl,{scope:h,focus:h.onFocus,blur:h.onBlur});f=h.el;if(h.icon){h.setIcon(h.icon)}if(h.iconCls){h.setIconCls(h.iconCls)}if(h.tooltip){h.setTooltip(h.tooltip,true)}if(h.textAlign){h.setTextAlign(h.textAlign)}if(h.handleMouseEvents){h.mon(f,{scope:h,mouseover:h.onMouseOver,mouseout:h.onMouseOut,mousedown:h.onMouseDown});if(h.split){h.mon(f,{mousemove:h.onMouseMove,scope:h})}}if(h.menu){h.mon(h.menu,{scope:h,show:h.onMenuShow,hide:h.onMenuHide});h.keyMap=Ext.create("Ext.util.KeyMap",h.el,{key:Ext.EventObject.DOWN,handler:h.onDownKey,scope:h})}if(h.repeat){j=Ext.create("Ext.util.ClickRepeater",f,Ext.isObject(h.repeat)?h.repeat:{});h.mon(j,"click",h.onRepeatClick,h)}else{h.mon(f,h.clickEvent,h.onClick,h)}Ext.ButtonToggleManager.register(h)},getTemplateArgs:function(){var f=this,d=f.getPersistentBtnPadding(),e="";if(Math.max.apply(Math,d)>0){e="margin:"+Ext.Array.map(d,function(a){return -a+"px"}).join(" ")}return{href:f.getHref(),target:f.target||"_blank",type:f.type,splitCls:f.getSplitCls(),cls:f.cls,iconCls:f.iconCls||"",text:f.text||" ",tabIndex:f.tabIndex,innerSpanStyle:e}},getHref:function(){var d=this,c=Ext.apply({},d.baseParams);c=Ext.apply(c,d.params);return d.href?Ext.urlAppend(d.href,Ext.Object.toQueryString(c)):false},setParams:function(b){this.params=b;this.btnEl.dom.href=this.getHref()},getSplitCls:function(){var b=this;return b.split?(b.baseCls+"-"+b.arrowCls)+" "+(b.baseCls+"-"+b.arrowCls+"-"+b.arrowAlign):""},afterRender:function(){var b=this;b.useSetClass=true;b.setButtonCls();b.doc=Ext.getDoc();this.callParent(arguments)},setIconCls:function(e){var g=this,f=g.btnIconEl,h=g.iconCls;g.iconCls=e;if(f){f.removeCls(h);f.addCls(e||"");g.setButtonCls()}return g},setTooltip:function(f,e){var d=this;if(d.rendered){if(!e){d.clearTip()}if(Ext.isObject(f)){Ext.tip.QuickTipManager.register(Ext.apply({target:d.btnEl.id},f));d.tooltip=f}else{d.btnEl.dom.setAttribute(d.getTipAttr(),f)}}else{d.tooltip=f}return d},setTextAlign:function(f){var d=this,e=d.btnEl;if(e){e.removeCls(d.baseCls+"-"+d.textAlign);e.addCls(d.baseCls+"-"+f)}d.textAlign=f;return d},getTipAttr:function(){return this.tooltipType=="qtip"?"data-qtip":"title"},getRefItems:function(e){var f=this.menu,d;if(f){d=f.getRefItems(e);d.unshift(f)}return d||[]},clearTip:function(){if(Ext.isObject(this.tooltip)){Ext.tip.QuickTipManager.unregister(this.btnEl)}},beforeDestroy:function(){var b=this;if(b.rendered){b.clearTip()}if(b.menu&&b.destroyMenu!==false){Ext.destroy(b.menu)}Ext.destroy(b.btnInnerEl,b.repeater);b.callParent()},onDestroy:function(){var b=this;if(b.rendered){b.doc.un("mouseover",b.monitorMouseOver,b);b.doc.un("mouseup",b.onMouseUp,b);delete b.doc;Ext.ButtonToggleManager.unregister(b);Ext.destroy(b.keyMap);delete b.keyMap}b.callParent()},setHandler:function(c,d){this.handler=c;this.scope=d;return this},setText:function(c){var d=this;d.text=c;if(d.el){d.btnInnerEl.update(c||" ");d.setButtonCls()}d.doComponentLayout();return d},setIcon:function(d){var f=this,e=f.btnIconEl;f.icon=d;if(e){e.setStyle("background-image",d?"url("+d+")":"");f.setButtonCls()}return f},getText:function(){return this.text},toggle:function(f,e){var d=this;f=f===undefined?!d.pressed:!!f;if(f!==d.pressed){if(d.rendered){d[f?"addClsWithUI":"removeClsWithUI"](d.pressedCls)}d.btnEl.dom.setAttribute("aria-pressed",f);d.pressed=f;if(!e){d.fireEvent("toggle",d,f);Ext.callback(d.toggleHandler,d.scope||d,[d,f])}}return d},maybeShowMenu:function(){var b=this;if(b.menu&&!b.hasVisibleMenu()&&!b.ignoreNextClick){b.showMenu()}},showMenu:function(){var b=this;if(b.rendered&&b.menu){if(b.tooltip&&b.getTipAttr()!="title"){Ext.tip.QuickTipManager.getQuickTip().cancelShow(b.btnEl)}if(b.menu.isVisible()){b.menu.hide()}b.menu.showBy(b.el,b.menuAlign)}return b},hideMenu:function(){if(this.hasVisibleMenu()){this.menu.hide()}return this},hasVisibleMenu:function(){var b=this.menu;return b&&b.rendered&&b.isVisible()},onRepeatClick:function(d,c){this.onClick(c)},onClick:function(c){var d=this;if(d.preventDefault||(d.disabled&&d.getHref())&&c){c.preventDefault()}if(c.button!==0){return}if(!d.disabled){d.doToggle();d.maybeShowMenu();d.fireHandler(c)}},fireHandler:function(f){var d=this,e=d.handler;d.fireEvent("click",d,f);if(e){e.call(d.scope||d,d,f)}d.onBlur()},doToggle:function(){var b=this;if(b.enableToggle&&b.allowDepress!==false&&!b.pressed){b.toggle()}},onMouseOver:function(c){var d=this;if(!d.disabled&&!c.within(d.el,true,true)){d.onMouseEnter(c)}},onMouseOut:function(c){var d=this;if(!c.within(d.el,true,true)){if(d.overMenuTrigger){d.onMenuTriggerOut(c)}d.onMouseLeave(c)}},onMouseMove:function(i){var k=this,l=k.el,j=k.overMenuTrigger,e,h;if(k.split){if(k.arrowAlign==="right"){e=i.getX()-l.getX();h=l.getWidth()}else{e=i.getY()-l.getY();h=l.getHeight()}if(e>(h-k.getTriggerSize())){if(!j){k.onMenuTriggerOver(i)}}else{if(j){k.onMenuTriggerOut(i)}}}},getTriggerSize:function(){var h=this,j=h.triggerSize,f,g,i;if(j===i){f=h.arrowAlign;g=f.charAt(0);j=h.triggerSize=h.el.getFrameWidth(g)+h.btnWrap.getFrameWidth(g)+(h.frameSize&&h.frameSize[f]||0)}return j},onMouseEnter:function(c){var d=this;d.addClsWithUI(d.overCls);d.fireEvent("mouseover",d,c)},onMouseLeave:function(c){var d=this;d.removeClsWithUI(d.overCls);d.fireEvent("mouseout",d,c)},onMenuTriggerOver:function(c){var d=this;d.overMenuTrigger=true;d.fireEvent("menutriggerover",d,d.menu,c)},onMenuTriggerOut:function(c){var d=this;delete d.overMenuTrigger;d.fireEvent("menutriggerout",d,d.menu,c)},enable:function(d){var c=this;c.callParent(arguments);c.removeClsWithUI("disabled");return c},disable:function(d){var c=this;c.callParent(arguments);c.addClsWithUI("disabled");c.removeClsWithUI(c.overCls);return c},setScale:function(f){var e=this,d=e.ui.replace("-"+e.scale,"");if(!Ext.Array.contains(e.allowedScales,f)){throw ("#setScale: scale must be an allowed scale ("+e.allowedScales.join(", ")+")")}e.scale=f;e.setUI(d)},setUI:function(c){var d=this;if(d.scale&&!c.match(d.scale)){c=c+"-"+d.scale}d.callParent([c])},onFocus:function(c){var d=this;if(!d.disabled){d.addClsWithUI(d.focusCls)}},onBlur:function(c){var d=this;d.removeClsWithUI(d.focusCls)},onMouseDown:function(c){var d=this;if(!d.disabled&&c.button===0){d.addClsWithUI(d.pressedCls);d.doc.on("mouseup",d.onMouseUp,d)}},onMouseUp:function(c){var d=this;if(c.button===0){if(!d.pressed){d.removeClsWithUI(d.pressedCls)}d.doc.un("mouseup",d.onMouseUp,d)}},onMenuShow:function(c){var d=this;d.ignoreNextClick=0;d.addClsWithUI(d.menuActiveCls);d.fireEvent("menushow",d,d.menu)},onMenuHide:function(c){var d=this;d.removeClsWithUI(d.menuActiveCls);d.ignoreNextClick=Ext.defer(d.restoreClick,250,d);d.fireEvent("menuhide",d,d.menu)},restoreClick:function(){this.ignoreNextClick=0},onDownKey:function(){var b=this;if(!b.disabled){if(b.menu){b.showMenu()}}},getPersistentBtnPadding:function(){var h=Ext.button.Button,j=h.persistentPadding,l,g,k,i;if(!j){j=h.persistentPadding=[0,0,0,0];if(!Ext.isIE){l=Ext.create("Ext.button.Button",{renderTo:Ext.getBody(),text:"test",style:"position:absolute;top:-999px;"});k=l.btnEl;i=l.btnInnerEl;k.setSize(null,null);g=i.getOffsetsTo(k);j[0]=g[1];j[1]=k.getWidth()-i.getWidth()-g[0];j[2]=k.getHeight()-i.getHeight()-g[1];j[3]=g[0];l.destroy()}}return j}},function(){var d={};function c(g,a){var b,i,j;if(a){b=d[g.toggleGroup];for(i=0,j=b.length;i<j;i++){if(b[i]!==g){b[i].toggle(false)}}}}Ext.ButtonToggleManager={register:function(b){if(!b.toggleGroup){return}var a=d[b.toggleGroup];if(!a){a=d[b.toggleGroup]=[]}a.push(b);b.on("toggle",c)},unregister:function(b){if(!b.toggleGroup){return}var a=d[b.toggleGroup];if(a){Ext.Array.remove(a,b);b.un("toggle",c)}},getPressed:function(a){var b=d[a],g=0,h;if(b){for(h=b.length;g<h;g++){if(b[g].pressed===true){return b[g]}}}return null}}});Ext.define("Ext.tab.Tab",{extend:"Ext.button.Button",alias:"widget.tab",requires:["Ext.layout.component.Tab","Ext.util.KeyNav"],componentLayout:"tab",isTab:true,baseCls:Ext.baseCSSPrefix+"tab",activeCls:"active",closableCls:"closable",closable:true,closeText:"Close Tab",active:false,scale:false,position:"top",initComponent:function(){var b=this;b.addEvents("activate","deactivate","beforeclose","close");b.callParent(arguments);if(b.card){b.setCard(b.card)}},onRender:function(){var d=this,e=d.up("tabbar"),f=d.up("tabpanel");d.addClsWithUI(d.position);d.syncClosableUI();if(!d.minWidth){d.minWidth=(e)?e.minTabWidth:d.minWidth;if(!d.minWidth&&f){d.minWidth=f.minTabWidth}if(d.minWidth&&d.iconCls){d.minWidth+=25}}if(!d.maxWidth){d.maxWidth=(e)?e.maxTabWidth:d.maxWidth;if(!d.maxWidth&&f){d.maxWidth=f.maxTabWidth}}d.callParent(arguments);if(d.active){d.activate(true)}d.syncClosableElements();d.keyNav=Ext.create("Ext.util.KeyNav",d.el,{enter:d.onEnterKey,del:d.onDeleteKey,scope:d})},enable:function(d){var c=this;c.callParent(arguments);c.removeClsWithUI(c.position+"-disabled");return c},disable:function(d){var c=this;c.callParent(arguments);c.addClsWithUI(c.position+"-disabled");return c},onDestroy:function(){var b=this;if(b.closeEl){b.closeEl.un("click",Ext.EventManager.preventDefault);b.closeEl=null}Ext.destroy(b.keyNav);delete b.keyNav;b.callParent(arguments)},setClosable:function(d){var c=this;d=(!arguments.length||!!d);if(c.closable!=d){c.closable=d;if(c.card){c.card.closable=d}c.syncClosableUI();if(c.rendered){c.syncClosableElements();c.doComponentLayout();if(c.ownerCt){c.ownerCt.doLayout()}}}},syncClosableElements:function(){var d=this;if(d.closable){if(!d.closeEl){d.closeEl=d.el.createChild({tag:"a",cls:d.baseCls+"-close-btn",href:"#",title:d.closeText}).on("click",Ext.EventManager.preventDefault)}}else{var c=d.closeEl;if(c){c.un("click",Ext.EventManager.preventDefault);c.remove();d.closeEl=null}}},syncClosableUI:function(){var c=this,d=[c.closableCls,c.closableCls+"-"+c.position];if(c.closable){c.addClsWithUI(d)}else{c.removeClsWithUI(d)}},setCard:function(d){var c=this;c.card=d;c.setText(c.title||d.title);c.setIconCls(c.iconCls||d.iconCls)},onCloseClick:function(){var b=this;if(b.fireEvent("beforeclose",b)!==false){if(b.tabBar){if(b.tabBar.closeTab(b)===false){return}}else{b.fireEvent("close",b)}}},fireClose:function(){this.fireEvent("close",this)},onEnterKey:function(c){var d=this;if(d.tabBar){d.tabBar.onClick(c,d.el)}},onDeleteKey:function(c){var d=this;if(d.closable){d.onCloseClick()}},activate:function(c){var d=this;d.active=true;d.addClsWithUI([d.activeCls,d.position+"-"+d.activeCls]);if(c!==true){d.fireEvent("activate",d)}},deactivate:function(c){var d=this;d.active=false;d.removeClsWithUI([d.activeCls,d.position+"-"+d.activeCls]);if(c!==true){d.fireEvent("deactivate",d)}}});Ext.define("Ext.tab.Bar",{extend:"Ext.panel.Header",alias:"widget.tabbar",baseCls:Ext.baseCSSPrefix+"tab-bar",requires:["Ext.tab.Tab","Ext.FocusManager"],isTabBar:true,defaultType:"tab",plain:false,renderTpl:['<div id="{id}-body" class="{baseCls}-body <tpl if="bodyCls"> {bodyCls}</tpl> <tpl if="ui"> {baseCls}-body-{ui}<tpl for="uiCls"> {parent.baseCls}-body-{parent.ui}-{.}</tpl></tpl>"<tpl if="bodyStyle"> style="{bodyStyle}"</tpl>></div>','<div id="{id}-strip" class="{baseCls}-strip<tpl if="ui"> {baseCls}-strip-{ui}<tpl for="uiCls"> {parent.baseCls}-strip-{parent.ui}-{.}</tpl></tpl>"></div>'],initComponent:function(){var c=this,d;if(c.plain){c.setUI(c.ui+"-plain")}c.addClsWithUI(c.dock);c.addEvents("change");c.addChildEls("body","strip");c.callParent(arguments);c.layout.align=(c.orientation=="vertical")?"left":"top";c.layout.overflowHandler=Ext.create("Ext.layout.container.boxOverflow.Scroller",c.layout);c.remove(c.titleCmp);delete c.titleCmp;d=c.orientation=="vertical"?["up","down"]:["left","right"];Ext.FocusManager.subscribe(c,{keys:d});Ext.apply(c.renderData,{bodyCls:c.bodyCls})},onAdd:function(b){b.position=this.dock;this.callParent(arguments)},onRemove:function(d){var c=this;if(d===c.previousTab){c.previousTab=null}if(c.items.getCount()===0){c.activeTab=null}c.callParent(arguments)},afterRender:function(){var b=this;b.mon(b.el,{scope:b,click:b.onClick,delegate:"."+Ext.baseCSSPrefix+"tab"});b.callParent(arguments)},afterComponentLayout:function(){var b=this;b.callParent(arguments);b.strip.setWidth(b.el.getWidth())},onClick:function(h,e){var f=Ext.getCmp(e.id),g=this.tabPanel;e=h.getTarget();if(f&&f.isDisabled&&!f.isDisabled()){if(f.closable&&e===f.closeEl.dom){f.onCloseClick()}else{if(g){g.setActiveTab(f.card)}else{this.setActiveTab(f)}f.focus()}}},closeTab:function(j){var i=this,f=j.card,h=i.tabPanel,g;if(f&&f.fireEvent("beforeclose",f)===false){return false}if(j.active&&i.items.getCount()>1){g=i.previousTab||j.next("tab")||i.items.first();i.setActiveTab(g);if(h){h.setActiveTab(g.card)}}j.fireClose();i.remove(j);if(h&&f){f.fireEvent("close",f);h.remove(f)}if(g){g.focus()}},setActiveTab:function(d){if(d.disabled){return}var c=this;if(c.activeTab){c.previousTab=c.activeTab;c.activeTab.deactivate()}d.activate();if(c.rendered){c.layout.layout();d.el.scrollIntoView(c.layout.getRenderTarget())}c.activeTab=d;c.fireEvent("change",c,d,d.card)}});Ext.define("Ext.toolbar.Fill",{extend:"Ext.Component",alias:"widget.tbfill",alternateClassName:"Ext.Toolbar.Fill",isFill:true,flex:1});Ext.define("Ext.Ajax",{extend:"Ext.data.Connection",singleton:true,autoAbort:false});Ext.define("Ext.tree.Column",{extend:"Ext.grid.column.Column",alias:"widget.treecolumn",initComponent:function(){var d=this.renderer||this.defaultRenderer,c=this.scope||window;this.renderer=function(C,A,J,K,D,H,E){var w=[],y=Ext.String.format,b=J.getDepth(),x=Ext.baseCSSPrefix+"tree-",I=x+"elbow-",B=x+"expander",F='<img src="{1}" class="{0}" />',a='<input type="button" role="checkbox" class="{0}" {1} />',G=d.apply(c,arguments),z=J.get("href"),v=J.get("hrefTarget"),L=J.get("cls");while(J){if(!J.isRoot()||(J.isRoot()&&E.rootVisible)){if(J.getDepth()===b){w.unshift(y(F,x+"icon "+x+"icon"+(J.get("icon")?"-inline ":(J.isLeaf()?"-leaf ":"-parent "))+(J.get("iconCls")||""),J.get("icon")||Ext.BLANK_IMAGE_URL));if(J.get("checked")!==null){w.unshift(y(a,(x+"checkbox")+(J.get("checked")?" "+x+"checkbox-checked":""),J.get("checked")?'aria-checked="true"':""));if(J.get("checked")){A.tdCls+=(" "+x+"checked")}}if(J.isLast()){if(J.isExpandable()){w.unshift(y(F,(I+"end-plus "+B),Ext.BLANK_IMAGE_URL))}else{w.unshift(y(F,(I+"end"),Ext.BLANK_IMAGE_URL))}}else{if(J.isExpandable()){w.unshift(y(F,(I+"plus "+B),Ext.BLANK_IMAGE_URL))}else{w.unshift(y(F,(x+"elbow"),Ext.BLANK_IMAGE_URL))}}}else{if(J.isLast()||J.getDepth()===0){w.unshift(y(F,(I+"empty"),Ext.BLANK_IMAGE_URL))}else{if(J.getDepth()!==0){w.unshift(y(F,(I+"line"),Ext.BLANK_IMAGE_URL))}}}}J=J.parentNode}if(z){w.push('<a href="',z,'" target="',v,'">',G,"</a>")}else{w.push(G)}if(L){A.tdCls+=" "+L}return w.join("")};this.callParent(arguments)},defaultRenderer:function(b){return b}});Ext.define("Ext.form.CheckboxManager",{extend:"Ext.util.MixedCollection",singleton:true,getByName:function(b){return this.filterBy(function(a){return a.name==b})},getWithValue:function(d,c){return this.filterBy(function(a){return a.name==d&&a.inputValue==c})},getChecked:function(b){return this.filterBy(function(a){return a.name==b&&a.checked})}});Ext.define("Ext.form.field.Checkbox",{extend:"Ext.form.field.Base",alias:["widget.checkboxfield","widget.checkbox"],alternateClassName:"Ext.form.Checkbox",requires:["Ext.XTemplate","Ext.form.CheckboxManager"],fieldSubTpl:["<tpl if=\"boxLabel && boxLabelAlign == 'before'\">",'<label id="{cmpId}-boxLabelEl" class="{boxLabelCls} {boxLabelCls}-{boxLabelAlign}" for="{id}">{boxLabel}</label>',"</tpl>",'<input type="button" id="{id}" ','<tpl if="tabIdx">tabIndex="{tabIdx}" </tpl>','class="{fieldCls} {typeCls}" autocomplete="off" hidefocus="true" />',"<tpl if=\"boxLabel && boxLabelAlign == 'after'\">",'<label id="{cmpId}-boxLabelEl" class="{boxLabelCls} {boxLabelCls}-{boxLabelAlign}" for="{id}">{boxLabel}</label>',"</tpl>",{disableFormats:true,compiled:true}],isCheckbox:true,focusCls:Ext.baseCSSPrefix+"form-cb-focus",fieldBodyCls:Ext.baseCSSPrefix+"form-cb-wrap",checked:false,checkedCls:Ext.baseCSSPrefix+"form-cb-checked",boxLabelCls:Ext.baseCSSPrefix+"form-cb-label",boxLabelAlign:"after",inputValue:"on",checkChangeEvents:[],inputType:"checkbox",ariaRole:"checkbox",onRe:/^on$/i,initComponent:function(){this.callParent(arguments);this.getManager().add(this)},initValue:function(){var c=this,d=!!c.checked;c.originalValue=c.lastValue=d;c.setValue(d)},onRender:function(d,e){var f=this;f.addChildEls("boxLabelEl");Ext.applyIf(f.subTplData,{boxLabel:f.boxLabel,boxLabelCls:f.boxLabelCls,boxLabelAlign:f.boxLabelAlign});f.callParent(arguments)},initEvents:function(){var b=this;b.callParent();b.mon(b.inputEl,"click",b.onBoxClick,b)},onBoxClick:function(c){var d=this;if(!d.disabled&&!d.readOnly){this.setValue(!this.checked)}},getRawValue:function(){return this.checked},getValue:function(){return this.checked},getSubmitValue:function(){var d=this.uncheckedValue,c=Ext.isDefined(d)?d:null;return this.checked?this.inputValue:c},setRawValue:function(i){var j=this,h=j.inputEl,g=j.inputValue,f=(i===true||i==="true"||i==="1"||i===1||(((Ext.isString(i)||Ext.isNumber(i))&&g)?i==g:j.onRe.test(i)));if(h){h.dom.setAttribute("aria-checked",f);j[f?"addCls":"removeCls"](j.checkedCls)}j.checked=j.rawValue=f;return f},setValue:function(c){var d=this;if(Ext.isArray(c)){d.getManager().getByName(d.name).each(function(a){a.setValue(Ext.Array.contains(c,a.inputValue))})}else{d.callParent(arguments)}return d},valueToRaw:function(b){return b},onChange:function(e,f){var g=this,h=g.handler;if(h){h.call(g.scope||g,g,e)}g.callParent(arguments)},beforeDestroy:function(){this.callParent();this.getManager().removeAtKey(this.id)},getManager:function(){return Ext.form.CheckboxManager},onEnable:function(){var d=this,c=d.inputEl;d.callParent();if(c){c.dom.disabled=d.readOnly}},setReadOnly:function(f){var e=this,d=e.inputEl;if(d){d.dom.disabled=f||e.disabled}e.readOnly=f},getBodyNaturalWidth:function(){var g=this,e=g.bodyEl,f="white-space",h;e.setStyle(f,"nowrap");h=e.getWidth();e.setStyle(f,"");return h}});Ext.define("Ext.LoadMask",{extend:"Ext.Component",alias:"widget.loadmask",mixins:{floating:"Ext.util.Floating"},uses:["Ext.data.StoreManager"],msg:"Loading...",msgCls:Ext.baseCSSPrefix+"mask-loading",useMsg:true,disabled:false,baseCls:Ext.baseCSSPrefix+"mask-msg",renderTpl:'<div style="position:relative" class="{msgCls}"></div>',modal:true,floating:{shadow:"frame"},focusOnToFront:false,constructor:function(d,e){var f=this;if(d.isComponent){f.ownerCt=d;f.bindComponent(d)}else{f.ownerCt=new Ext.Component({el:Ext.get(d),rendered:true,componentLayoutCounter:1});f.container=d}f.callParent([e]);if(f.store){f.bindStore(f.store,true)}f.renderData={msgCls:f.msgCls};f.renderSelectors={msgEl:"div"}},bindComponent:function(b){this.mon(b,{resize:this.onComponentResize,scope:this})},afterRender:function(){this.callParent(arguments);this.container=this.floatParent.getContentTarget()},onComponentResize:function(){var b=this;if(b.rendered&&b.isVisible()){b.toFront();b.center()}},bindStore:function(e,d){var f=this;if(!d&&f.store){f.mun(f.store,{scope:f,beforeload:f.onBeforeLoad,load:f.onLoad,exception:f.onLoad});if(!e){f.store=null}}if(e){e=Ext.data.StoreManager.lookup(e);f.mon(e,{scope:f,beforeload:f.onBeforeLoad,load:f.onLoad,exception:f.onLoad})}f.store=e;if(e&&e.isLoading()){f.onBeforeLoad()}},onDisable:function(){this.callParent(arguments);if(this.loading){this.onLoad()}},onBeforeLoad:function(){var f=this,e=f.ownerCt||f.floatParent,d;if(!this.disabled){if(e.componentLayoutCounter){Ext.Component.prototype.show.call(f)}else{d=e.afterComponentLayout;e.afterComponentLayout=function(){e.afterComponentLayout=d;d.apply(e,arguments);if(f.loading){Ext.Component.prototype.show.call(f)}}}}},onShow:function(){var c=this,d=c.msgEl;c.callParent(arguments);c.loading=true;if(c.useMsg){d.show().update(c.msg)}else{d.parent().hide()}},afterShow:function(){this.callParent(arguments);this.center()},onLoad:function(){this.loading=false;Ext.Component.prototype.hide.call(this)}});Ext.define("Ext.util.Region",{requires:["Ext.util.Offset"],statics:{getRegion:function(b){return Ext.fly(b).getPageBox(true)},from:function(b){return new this(b.top,b.right,b.bottom,b.left)}},constructor:function(i,g,b,j){var h=this;h.y=h.top=h[1]=i;h.right=g;h.bottom=b;h.x=h.left=h[0]=j},contains:function(c){var d=this;return(c.x>=d.x&&c.right<=d.right&&c.y>=d.y&&c.bottom<=d.bottom)},intersect:function(h){var i=this,k=Math.max(i.y,h.y),j=Math.min(i.right,h.right),b=Math.min(i.bottom,h.bottom),l=Math.max(i.x,h.x);if(b>k&&j>l){return new this.self(k,j,b,l)}else{return false}},union:function(h){var i=this,k=Math.min(i.y,h.y),j=Math.max(i.right,h.right),b=Math.max(i.bottom,h.bottom),l=Math.min(i.x,h.x);return new this.self(k,j,b,l)},constrainTo:function(d){var e=this,f=Ext.Number.constrain;e.top=e.y=f(e.top,d.y,d.bottom);e.bottom=f(e.bottom,d.y,d.bottom);e.left=e.x=f(e.left,d.x,d.right);e.right=f(e.right,d.x,d.right);return e},adjust:function(i,g,b,j){var h=this;h.top=h.y+=i;h.left=h.x+=j;h.right+=g;h.bottom+=b;return h},getOutOfBoundOffset:function(e,d){if(!Ext.isObject(e)){if(e=="x"){return this.getOutOfBoundOffsetX(d)}else{return this.getOutOfBoundOffsetY(d)}}else{d=e;var f=Ext.create("Ext.util.Offset");f.x=this.getOutOfBoundOffsetX(d.x);f.y=this.getOutOfBoundOffsetY(d.y);return f}},getOutOfBoundOffsetX:function(b){if(b<=this.x){return this.x-b}else{if(b>=this.right){return this.right-b}}return 0},getOutOfBoundOffsetY:function(b){if(b<=this.y){return this.y-b}else{if(b>=this.bottom){return this.bottom-b}}return 0},isOutOfBound:function(d,c){if(!Ext.isObject(d)){if(d=="x"){return this.isOutOfBoundX(c)}else{return this.isOutOfBoundY(c)}}else{c=d;return(this.isOutOfBoundX(c.x)||this.isOutOfBoundY(c.y))}},isOutOfBoundX:function(b){return(b<this.x||b>this.right)},isOutOfBoundY:function(b){return(b<this.y||b>this.bottom)},restrict:function(e,g,f){if(Ext.isObject(e)){var h;f=g;g=e;if(g.copy){h=g.copy()}else{h={x:g.x,y:g.y}}h.x=this.restrictX(g.x,f);h.y=this.restrictY(g.y,f);return h}else{if(e=="x"){return this.restrictX(g,f)}else{return this.restrictY(g,f)}}},restrictX:function(c,d){if(!d){d=1}if(c<=this.x){c-=(c-this.x)*d}else{if(c>=this.right){c-=(c-this.right)*d}}return c},restrictY:function(c,d){if(!d){d=1}if(c<=this.y){c-=(c-this.y)*d}else{if(c>=this.bottom){c-=(c-this.bottom)*d}}return c},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(c){var d=this;d.top=d.y=d[1]=c.y;d.right=c.right;d.bottom=c.bottom;d.left=d.x=d[0]=c.x;return this},toString:function(){return"Region["+this.top+","+this.right+","+this.bottom+","+this.left+"]"},translateBy:function(e,f){if(arguments.length==1){f=e.y;e=e.x}var d=this;d.top=d.y+=f;d.right+=e;d.bottom+=f;d.left=d.x+=e;return d},round:function(){var b=this;b.top=b.y=Math.round(b.y);b.right=Math.round(b.right);b.bottom=Math.round(b.bottom);b.left=b.x=Math.round(b.x);return b},equals:function(b){return(this.top==b.top&&this.right==b.right&&this.bottom==b.bottom&&this.left==b.left)}});Ext.define("Ext.dd.DragDropManager",{singleton:true,requires:["Ext.util.Region"],uses:["Ext.tip.QuickTipManager"],alternateClassName:["Ext.dd.DragDropMgr","Ext.dd.DDM"],ids:{},handleIds:{},dragCurrent:null,dragOvers:{},deltaX:0,deltaY:0,preventDefault:true,stopPropagation:true,initialized:false,locked:false,init:function(){this.initialized=true},POINT:0,INTERSECT:1,mode:0,_execOnAll:function(j,f){for(var i in this.ids){for(var g in this.ids[i]){var h=this.ids[i][g];if(!this.isTypeOfDD(h)){continue}h[j].apply(h,f)}}},_onLoad:function(){this.init();var b=Ext.EventManager;b.on(document,"mouseup",this.handleMouseUp,this,true);b.on(document,"mousemove",this.handleMouseMove,this,true);b.on(window,"unload",this._onUnload,this,true);b.on(window,"resize",this._onResize,this,true)},_onResize:function(b){this._execOnAll("resetConstraints",[])},lock:function(){this.locked=true},unlock:function(){this.locked=false},isLocked:function(){return this.locked},locationCache:{},useCache:true,clickPixelThresh:3,clickTimeThresh:350,dragThreshMet:false,clickTimeout:null,startX:0,startY:0,regDragDrop:function(c,d){if(!this.initialized){this.init()}if(!this.ids[d]){this.ids[d]={}}this.ids[d][c.id]=c},removeDDFromGroup:function(f,e){if(!this.ids[e]){this.ids[e]={}}var d=this.ids[e];if(d&&d[f.id]){delete d[f.id]}},_remove:function(c){for(var d in c.groups){if(d&&this.ids[d]&&this.ids[d][c.id]){delete this.ids[d][c.id]}}delete this.handleIds[c.id]},regHandle:function(c,d){if(!this.handleIds[c]){this.handleIds[c]={}}this.handleIds[c][d]=d},isDragDrop:function(b){return(this.getDDById(b))?true:false},getRelated:function(i,g){var j=[];for(var k in i.groups){for(var l in this.ids[k]){var h=this.ids[k][l];if(!this.isTypeOfDD(h)){continue}if(!g||h.isTarget){j[j.length]=h}}}return j},isLegalTarget:function(h,i){var f=this.getRelated(h,true);for(var j=0,g=f.length;j<g;++j){if(f[j].id==i.id){return true}}return false},isTypeOfDD:function(b){return(b&&b.__ygDragDrop)},isHandle:function(c,d){return(this.handleIds[c]&&this.handleIds[c][d])},getDDById:function(c){for(var d in this.ids){if(this.ids[d][c]){return this.ids[d][c]}}return null},handleMouseDown:function(f,d){if(Ext.tip.QuickTipManager){Ext.tip.QuickTipManager.ddDisable()}if(this.dragCurrent){this.handleMouseUp(f)}this.currentTarget=f.getTarget();this.dragCurrent=d;var e=d.getEl();this.startX=f.getPageX();this.startY=f.getPageY();this.deltaX=this.startX-e.offsetLeft;this.deltaY=this.startY-e.offsetTop;this.dragThreshMet=false;this.clickTimeout=setTimeout(function(){var a=Ext.dd.DragDropManager;a.startDrag(a.startX,a.startY)},this.clickTimeThresh)},startDrag:function(d,c){clearTimeout(this.clickTimeout);if(this.dragCurrent){this.dragCurrent.b4StartDrag(d,c);this.dragCurrent.startDrag(d,c)}this.dragThreshMet=true},handleMouseUp:function(b){if(Ext.tip&&Ext.tip.QuickTipManager){Ext.tip.QuickTipManager.ddEnable()}if(!this.dragCurrent){return}clearTimeout(this.clickTimeout);if(this.dragThreshMet){this.fireEvents(b,true)}else{}this.stopDrag(b);this.stopEvent(b)},stopEvent:function(b){if(this.stopPropagation){b.stopPropagation()}if(this.preventDefault){b.preventDefault()}},stopDrag:function(b){if(this.dragCurrent){if(this.dragThreshMet){this.dragCurrent.b4EndDrag(b);this.dragCurrent.endDrag(b)}this.dragCurrent.onMouseUp(b)}this.dragCurrent=null;this.dragOvers={}},handleMouseMove:function(f){if(!this.dragCurrent){return true}if(Ext.isIE&&(f.button!==0&&f.button!==1&&f.button!==2)){this.stopEvent(f);return this.handleMouseUp(f)}if(!this.dragThreshMet){var d=Math.abs(this.startX-f.getPageX());var e=Math.abs(this.startY-f.getPageY());if(d>this.clickPixelThresh||e>this.clickPixelThresh){this.startDrag(this.startX,this.startY)}}if(this.dragThreshMet){this.dragCurrent.b4Drag(f);this.dragCurrent.onDrag(f);if(!this.dragCurrent.moveOnly){this.fireEvents(f,false)}}this.stopEvent(f);return true},fireEvents:function(s,r){var i=this.dragCurrent;if(!i||i.isLocked()){return}var e=s.getPoint();var B=[];var y=[];var u=[];var w=[];var z=[];for(var x in this.dragOvers){var A=this.dragOvers[x];if(!this.isTypeOfDD(A)){continue}if(!this.isOverTarget(e,A,this.mode)){y.push(A)}B[x]=true;delete this.dragOvers[x]}for(var q in i.groups){if("string"!=typeof q){continue}for(x in this.ids[q]){var v=this.ids[q][x];if(!this.isTypeOfDD(v)){continue}if(v.isTarget&&!v.isLocked()&&((v!=i)||(i.ignoreSelf===false))){if(this.isOverTarget(e,v,this.mode)){if(r){w.push(v)}else{if(!B[v.id]){z.push(v)}else{u.push(v)}this.dragOvers[v.id]=v}}}}}if(this.mode){if(y.length){i.b4DragOut(s,y);i.onDragOut(s,y)}if(z.length){i.onDragEnter(s,z)}if(u.length){i.b4DragOver(s,u);i.onDragOver(s,u)}if(w.length){i.b4DragDrop(s,w);i.onDragDrop(s,w)}}else{var t=0;for(x=0,t=y.length;x<t;++x){i.b4DragOut(s,y[x].id);i.onDragOut(s,y[x].id)}for(x=0,t=z.length;x<t;++x){i.onDragEnter(s,z[x].id)}for(x=0,t=u.length;x<t;++x){i.b4DragOver(s,u[x].id);i.onDragOver(s,u[x].id)}for(x=0,t=w.length;x<t;++x){i.b4DragDrop(s,w[x].id);i.onDragDrop(s,w[x].id)}}if(r&&!w.length){i.onInvalidDrop(s)}},getBestMatch:function(j){var h=null;var f=j.length;if(f==1){h=j[0]}else{for(var i=0;i<f;++i){var g=j[i];if(g.cursorIsOver){h=g;break}else{if(!h||h.overlap.getArea()<g.overlap.getArea()){h=g}}}}return h},refreshCache:function(f){for(var g in f){if("string"!=typeof g){continue}for(var j in this.ids[g]){var i=this.ids[g][j];if(this.isTypeOfDD(i)){var h=this.getLocation(i);if(h){this.locationCache[i.id]=h}else{delete this.locationCache[i.id]}}}}},verifyEl:function(d){if(d){var e;if(Ext.isIE){try{e=d.offsetParent}catch(f){}}else{e=d.offsetParent}if(e){return true}}return false},getLocation:function(s){if(!this.isTypeOfDD(s)){return null}if(s.getRegion){return s.getRegion()}var u=s.getEl(),p,v,w,e,l,b,x,q,t;try{p=Ext.Element.getXY(u)}catch(r){}if(!p){return null}v=p[0];w=v+u.offsetWidth;e=p[1];l=e+u.offsetHeight;b=e-s.padding[0];x=w+s.padding[1];q=l+s.padding[2];t=v-s.padding[3];return Ext.create("Ext.util.Region",b,x,q,t)},isOverTarget:function(j,r,p){var n=this.locationCache[r.id];if(!n||!this.useCache){n=this.getLocation(r);this.locationCache[r.id]=n}if(!n){return false}r.cursorIsOver=n.contains(j);var k=this.dragCurrent;if(!k||!k.getTargetCoord||(!p&&!k.constrainX&&!k.constrainY)){return r.cursorIsOver}r.overlap=null;var m=k.getTargetCoord(j.x,j.y);var q=k.getDragEl();var o=Ext.create("Ext.util.Region",m.y,m.x+q.offsetWidth,m.y+q.offsetHeight,m.x);var l=o.intersect(n);if(l){r.overlap=l;return(p)?true:r.cursorIsOver}else{return false}},_onUnload:function(c,d){Ext.dd.DragDropManager.unregAll()},unregAll:function(){if(this.dragCurrent){this.stopDrag();this.dragCurrent=null}this._execOnAll("unreg",[]);for(var b in this.elementCache){delete this.elementCache[b]}this.elementCache={};this.ids={}},elementCache:{},getElWrapper:function(c){var d=this.elementCache[c];if(!d||!d.el){d=this.elementCache[c]=new this.ElementWrapper(Ext.getDom(c))}return d},getElement:function(b){return Ext.getDom(b)},getCss:function(c){var d=Ext.getDom(c);return(d)?d.style:null},ElementWrapper:function(b){this.el=b||null;this.id=this.el&&b.id;this.css=this.el&&b.style},getPosX:function(b){return Ext.Element.getX(b)},getPosY:function(b){return Ext.Element.getY(b)},swapNode:function(h,f){if(h.swapNode){h.swapNode(f)}else{var g=f.parentNode;var e=f.nextSibling;if(e==h){g.insertBefore(h,f)}else{if(f==h.nextSibling){g.insertBefore(f,h)}else{h.parentNode.replaceChild(f,h);g.insertBefore(h,e)}}}},getScroll:function(){var i=window.document,h=i.documentElement,g=i.body,j=0,f=0;if(Ext.isGecko4){j=window.scrollYOffset;f=window.scrollXOffset}else{if(h&&(h.scrollTop||h.scrollLeft)){j=h.scrollTop;f=h.scrollLeft}else{if(g){j=g.scrollTop;f=g.scrollLeft}}}return{top:j,left:f}},getStyle:function(c,d){return Ext.fly(c).getStyle(d)},getScrollTop:function(){return this.getScroll().top},getScrollLeft:function(){return this.getScroll().left},moveToEl:function(e,f){var d=Ext.Element.getXY(f);Ext.Element.setXY(e,d)},numericSort:function(a,b){return(a-b)},_timeoutCount:0,_addListeners:function(){if(document){this._onLoad()}else{if(this._timeoutCount>2000){}else{setTimeout(this._addListeners,10);if(document&&document.body){this._timeoutCount+=1}}}},handleWasClicked:function(e,f){if(this.isHandle(f,e.id)){return true}else{var d=e.parentNode;while(d){if(this.isHandle(f,d.id)){return true}else{d=d.parentNode}}}return false}},function(){this._addListeners()});Ext.define("Ext.layout.container.boxOverflow.Scroller",{extend:"Ext.layout.container.boxOverflow.None",requires:["Ext.util.ClickRepeater","Ext.Element"],alternateClassName:"Ext.layout.boxOverflow.Scroller",mixins:{observable:"Ext.util.Observable"},animateScroll:false,scrollIncrement:20,wheelIncrement:10,scrollRepeatInterval:60,scrollDuration:400,scrollerCls:Ext.baseCSSPrefix+"box-scroller",constructor:function(c,d){this.layout=c;Ext.apply(this,d||{});this.addEvents("scroll")},initCSSClasses:function(){var c=this,d=c.layout;if(!c.CSSinitialized){c.beforeCtCls=c.beforeCtCls||Ext.baseCSSPrefix+"box-scroller-"+d.parallelBefore;c.afterCtCls=c.afterCtCls||Ext.baseCSSPrefix+"box-scroller-"+d.parallelAfter;c.beforeScrollerCls=c.beforeScrollerCls||Ext.baseCSSPrefix+d.owner.getXType()+"-scroll-"+d.parallelBefore;c.afterScrollerCls=c.afterScrollerCls||Ext.baseCSSPrefix+d.owner.getXType()+"-scroll-"+d.parallelAfter;c.CSSinitializes=true}},handleOverflow:function(h,i){var j=this,k=j.layout,l="get"+k.parallelPrefixCap,g={};j.initCSSClasses();j.callParent(arguments);this.createInnerElements();this.showScrollers();g[k.perpendicularPrefix]=i[k.perpendicularPrefix];g[k.parallelPrefix]=i[k.parallelPrefix]-(j.beforeCt[l]()+j.afterCt[l]());return{targetSize:g}},createInnerElements:function(){var d=this,c=d.layout.getRenderTarget();if(!d.beforeCt){c.addCls(Ext.baseCSSPrefix+d.layout.direction+"-box-overflow-body");d.beforeCt=c.insertSibling({cls:Ext.layout.container.Box.prototype.innerCls+" "+d.beforeCtCls},"before");d.afterCt=c.insertSibling({cls:Ext.layout.container.Box.prototype.innerCls+" "+d.afterCtCls},"after");d.createWheelListener()}},createWheelListener:function(){this.layout.innerCt.on({scope:this,mousewheel:function(b){b.stopEvent();this.scrollBy(b.getWheelDelta()*this.wheelIncrement*-1,false)}})},clearOverflow:function(){this.hideScrollers()},showScrollers:function(){this.createScrollers();this.beforeScroller.show();this.afterScroller.show();this.updateScrollButtons();this.layout.owner.addClsWithUI("scroller")},hideScrollers:function(){if(this.beforeScroller!=undefined){this.beforeScroller.hide();this.afterScroller.hide();this.layout.owner.removeClsWithUI("scroller")}},createScrollers:function(){if(!this.beforeScroller&&!this.afterScroller){var d=this.beforeCt.createChild({cls:Ext.String.format("{0} {1} ",this.scrollerCls,this.beforeScrollerCls)});var c=this.afterCt.createChild({cls:Ext.String.format("{0} {1}",this.scrollerCls,this.afterScrollerCls)});d.addClsOnOver(this.beforeScrollerCls+"-hover");c.addClsOnOver(this.afterScrollerCls+"-hover");d.setVisibilityMode(Ext.Element.DISPLAY);c.setVisibilityMode(Ext.Element.DISPLAY);this.beforeRepeater=Ext.create("Ext.util.ClickRepeater",d,{interval:this.scrollRepeatInterval,handler:this.scrollLeft,scope:this});this.afterRepeater=Ext.create("Ext.util.ClickRepeater",c,{interval:this.scrollRepeatInterval,handler:this.scrollRight,scope:this});this.beforeScroller=d;this.afterScroller=c}},destroy:function(){Ext.destroy(this.beforeRepeater,this.afterRepeater,this.beforeScroller,this.afterScroller,this.beforeCt,this.afterCt)},scrollBy:function(c,d){this.scrollTo(this.getScrollPosition()+c,d)},getScrollAnim:function(){return{duration:this.scrollDuration,callback:this.updateScrollButtons,scope:this}},updateScrollButtons:function(){if(this.beforeScroller==undefined||this.afterScroller==undefined){return}var g=this.atExtremeBefore()?"addCls":"removeCls",h=this.atExtremeAfter()?"addCls":"removeCls",f=this.beforeScrollerCls+"-disabled",e=this.afterScrollerCls+"-disabled";this.beforeScroller[g](f);this.afterScroller[h](e);this.scrolling=false},atExtremeBefore:function(){return this.getScrollPosition()===0},scrollLeft:function(){this.scrollBy(-this.scrollIncrement,false)},scrollRight:function(){this.scrollBy(this.scrollIncrement,false)},getScrollPosition:function(){var b=this.layout;return parseInt(b.innerCt.dom["scroll"+b.parallelBeforeCap],10)||0},getMaxScrollPosition:function(){var b=this.layout;return b.innerCt.dom["scroll"+b.parallelPrefixCap]-this.layout.innerCt["get"+b.parallelPrefixCap]()},atExtremeAfter:function(){return this.getScrollPosition()>=this.getMaxScrollPosition()},scrollTo:function(h,g){var i=this,j=i.layout,k=i.getScrollPosition(),l=Ext.Number.constrain(h,0,i.getMaxScrollPosition());if(l!=k&&!i.scrolling){if(g==undefined){g=i.animateScroll}j.innerCt.scrollTo(j.parallelBefore,l,g?i.getScrollAnim():false);if(g){i.scrolling=true}else{i.scrolling=false;i.updateScrollButtons()}i.fireEvent("scroll",i,l,g?i.getScrollAnim():false)}},scrollToItem:function(j,h){var k=this,l=k.layout,i,m,n;j=k.getItem(j);if(j!=undefined){i=this.getItemVisibility(j);if(!i.fullyVisible){m=j.getBox(true,true);n=m[l.parallelPosition];if(i.hiddenEnd){n-=(this.layout.innerCt["get"+l.parallelPrefixCap]()-m[l.parallelPrefix])}this.scrollTo(n,h)}}},getItemVisibility:function(m){var n=this,o=n.getItem(m).getBox(true,true),p=n.layout,i=o[p.parallelPosition],l=i+o[p.parallelPrefix],k=n.getScrollPosition(),j=k+p.innerCt["get"+p.parallelPrefixCap]();return{hiddenStart:i<k,hiddenEnd:l>j,fullyVisible:i>k&&l<j}}});Ext.define("Ext.toolbar.Item",{extend:"Ext.Component",alias:"widget.tbitem",alternateClassName:"Ext.Toolbar.Item",enable:Ext.emptyFn,disable:Ext.emptyFn,focus:Ext.emptyFn});Ext.define("Ext.toolbar.TextItem",{extend:"Ext.toolbar.Item",requires:["Ext.XTemplate"],alias:"widget.tbtext",alternateClassName:"Ext.Toolbar.TextItem",text:"",renderTpl:"{text}",baseCls:Ext.baseCSSPrefix+"toolbar-text",onRender:function(){Ext.apply(this.renderData,{text:this.text});this.callParent(arguments)},setText:function(b){if(this.rendered){this.el.update(b);this.ownerCt.doLayout()}else{this.text=b}}});Ext.define("Ext.selection.Model",{extend:"Ext.util.Observable",alternateClassName:"Ext.AbstractSelectionModel",requires:["Ext.data.StoreManager"],allowDeselect:false,selected:null,pruneRemoved:true,constructor:function(d){var c=this;d=d||{};Ext.apply(c,d);c.addEvents("selectionchange");c.modes={SINGLE:true,SIMPLE:true,MULTI:true};c.setSelectionMode(d.mode||c.mode);c.selected=Ext.create("Ext.util.MixedCollection");c.callParent(arguments)},bind:function(e,d){var f=this;if(!d&&f.store){if(e!==f.store&&f.store.autoDestroy){f.store.destroyStore()}else{f.store.un("add",f.onStoreAdd,f);f.store.un("clear",f.onStoreClear,f);f.store.un("remove",f.onStoreRemove,f);f.store.un("update",f.onStoreUpdate,f)}}if(e){e=Ext.data.StoreManager.lookup(e);e.on({add:f.onStoreAdd,clear:f.onStoreClear,remove:f.onStoreRemove,update:f.onStoreUpdate,scope:f})}f.store=e;if(e&&!d){f.refresh()}},selectAll:function(g){var j=this,k=j.store.getRange(),l=0,h=k.length,i=j.getSelection().length;j.bulkChange=true;for(;l<h;l++){j.doSelect(k[l],true,g)}delete j.bulkChange;j.maybeFireSelectionChange(j.getSelection().length!==i)},deselectAll:function(g){var j=this,k=j.getSelection(),l=0,h=k.length,i=j.getSelection().length;j.bulkChange=true;for(;l<h;l++){j.doDeselect(k[l],g)}delete j.bulkChange;j.maybeFireSelectionChange(j.getSelection().length!==i)},selectWithEvent:function(f,g,h){var e=this;switch(e.selectionMode){case"MULTI":if(g.ctrlKey&&e.isSelected(f)){e.doDeselect(f,false)}else{if(g.shiftKey&&e.lastFocused){e.selectRange(e.lastFocused,f,g.ctrlKey)}else{if(g.ctrlKey){e.doSelect(f,true,false)}else{if(e.isSelected(f)&&!g.shiftKey&&!g.ctrlKey&&e.selected.getCount()>1){e.doSelect(f,h,false)}else{e.doSelect(f,false)}}}}break;case"SIMPLE":if(e.isSelected(f)){e.doDeselect(f)}else{e.doSelect(f,true)}break;case"SINGLE":if(e.allowDeselect&&e.isSelected(f)){e.doDeselect(f)}else{e.doSelect(f,false)}break}},selectRange:function(m,r,i,t){var o=this,n=o.store,s=0,p,q,v,u=[];if(o.isLocked()){return}if(!i){o.deselectAll(true)}if(!Ext.isNumber(m)){m=n.indexOf(m)}if(!Ext.isNumber(r)){r=n.indexOf(r)}if(m>r){q=r;r=m;m=q}for(p=m;p<=r;p++){if(o.isSelected(n.getAt(p))){s++}}if(!t){v=-1}else{v=(t=="up")?m:r}for(p=m;p<=r;p++){if(s==(r-m+1)){if(p!=v){o.doDeselect(p,true)}}else{u.push(n.getAt(p))}}o.doMultiSelect(u,true)},select:function(d,f,e){if(Ext.isDefined(d)){this.doSelect(d,f,e)}},deselect:function(c,d){this.doDeselect(c,d)},doSelect:function(j,h,f){var i=this,g;if(i.locked){return}if(typeof j==="number"){j=[i.store.getAt(j)]}if(i.selectionMode=="SINGLE"&&j){g=j.length?j[0]:j;i.doSingleSelect(g,f)}else{i.doMultiSelect(j,h,f)}},doMultiSelect:function(t,i,l){var n=this,s=n.selected,m=false,q=0,o,p;if(n.locked){return}t=!Ext.isArray(t)?[t]:t;o=t.length;if(!i&&s.getCount()>0){if(n.doDeselect(n.getSelection(),l)===false){return}}function r(){s.add(p);m=true}for(;q<o;q++){p=t[q];if(i&&n.isSelected(p)){continue}n.lastSelected=p;n.onSelectChange(p,true,l,r)}n.setLastFocused(p,l);n.maybeFireSelectionChange(m&&!l)},doDeselect:function(t,l){var m=this,s=m.selected,q=0,n,p,i=0,o=0;if(m.locked){return false}if(typeof t==="number"){t=[m.store.getAt(t)]}else{if(!Ext.isArray(t)){t=[t]}}function r(){++o;s.remove(p)}n=t.length;for(;q<n;q++){p=t[q];if(m.isSelected(p)){if(m.lastSelected==p){m.lastSelected=s.last()}++i;m.onSelectChange(p,false,l,r)}}m.maybeFireSelectionChange(o>0&&!l);return o===i},doSingleSelect:function(h,g){var k=this,i=false,l=k.selected;if(k.locked){return}if(k.isSelected(h)){return}function j(){k.bulkChange=true;if(l.getCount()>0&&k.doDeselect(k.lastSelected,g)===false){delete k.bulkChange;return false}delete k.bulkChange;l.add(h);k.lastSelected=h;i=true}k.onSelectChange(h,true,g,j);if(i){if(!g){k.setLastFocused(h)}k.maybeFireSelectionChange(!g)}},setLastFocused:function(h,e){var g=this,f=g.lastFocused;g.lastFocused=h;g.onLastFocusChanged(f,h,e)},isFocused:function(b){return b===this.getLastFocused()},maybeFireSelectionChange:function(d){var c=this;if(d&&!c.bulkChange){c.fireEvent("selectionchange",c,c.getSelection())}},getLastSelected:function(){return this.lastSelected},getLastFocused:function(){return this.lastFocused},getSelection:function(){return this.selected.getRange()},getSelectionMode:function(){return this.selectionMode},setSelectionMode:function(b){b=b?b.toUpperCase():"SINGLE";this.selectionMode=this.modes[b]?b:"SINGLE"},isLocked:function(){return this.locked},setLocked:function(b){this.locked=!!b},isSelected:function(b){b=Ext.isNumber(b)?this.store.getAt(b):b;return this.selected.indexOf(b)!==-1},hasSelection:function(){return this.selected.getCount()>0},refresh:function(){var l=this,i=[],m=l.getSelection(),j=m.length,n,k,o=0,p=this.getLastFocused();for(;o<j;o++){n=m[o];if(!this.pruneRemoved||l.store.indexOf(n)!==-1){i.push(n)}}if(l.selected.getCount()!=i.length){k=true}l.clearSelections();if(l.store.indexOf(p)!==-1){this.setLastFocused(p,true)}if(i.length){l.doSelect(i,false,true)}l.maybeFireSelectionChange(k)},clearSelections:function(){this.selected.clear();this.lastSelected=null;this.setLastFocused(null)},onStoreAdd:function(){},onStoreClear:function(){if(this.selected.getCount>0){this.clearSelections();this.maybeFireSelectionChange(true)}},onStoreRemove:function(e,f){var g=this,h=g.selected;if(g.locked||!g.pruneRemoved){return}if(h.remove(f)){if(g.lastSelected==f){g.lastSelected=null}if(g.getLastFocused()==f){g.setLastFocused(null)}g.maybeFireSelectionChange(true)}},getCount:function(){return this.selected.getCount()},destroy:function(){},onStoreUpdate:function(){},onSelectChange:function(e,f,d){},onLastFocusChanged:function(c,d){},onEditorKey:function(c,d){},bindComponent:function(b){}});Ext.define("Ext.selection.DataViewModel",{extend:"Ext.selection.Model",requires:["Ext.util.KeyNav"],deselectOnContainerClick:true,enableKeyNav:true,constructor:function(b){this.addEvents("beforedeselect","beforeselect","deselect","select");this.callParent(arguments)},bindComponent:function(e){var d=this,f={refresh:d.refresh,scope:d};d.view=e;d.bind(e.getStore());e.on(e.triggerEvent,d.onItemClick,d);e.on(e.triggerCtEvent,d.onContainerClick,d);e.on(f);if(d.enableKeyNav){d.initKeyNav(e)}},onItemClick:function(e,g,i,j,h){this.selectWithEvent(g,h)},onContainerClick:function(){if(this.deselectOnContainerClick){this.deselectAll()}},initKeyNav:function(d){var c=this;if(!d.rendered){d.on("render",Ext.Function.bind(c.initKeyNav,c,[d],0),c,{single:true});return}d.el.set({tabIndex:-1});c.keyNav=Ext.create("Ext.util.KeyNav",d.el,{down:Ext.pass(c.onNavKey,[1],c),right:Ext.pass(c.onNavKey,[1],c),left:Ext.pass(c.onNavKey,[-1],c),up:Ext.pass(c.onNavKey,[-1],c),scope:c})},onNavKey:function(i){i=i||1;var j=this,g=j.view,k=j.getSelection()[0],l=j.view.store.getCount(),h;if(k){h=g.indexOf(g.getNode(k))+i}else{h=0}if(h<0){h=l-1}else{if(h>=l){h=0}}j.select(h)},onSelectChange:function(h,l,m,j){var k=this,i=k.view,n=l?"select":"deselect";if((m||k.fireEvent("before"+n,k,h))!==false&&j()!==false){if(l){i.onItemSelect(h)}else{i.onItemDeselect(h)}if(!m){k.fireEvent(n,k,h)}}},destroy:function(){Ext.destroy(this.keyNav);this.callParent()}});Ext.define("Ext.view.AbstractView",{extend:"Ext.Component",alternateClassName:"Ext.view.AbstractView",requires:["Ext.LoadMask","Ext.data.StoreManager","Ext.CompositeElementLite","Ext.DomQuery","Ext.selection.DataViewModel"],inheritableStatics:{getRecord:function(b){return this.getBoundView(b).getRecord(b)},getBoundView:function(b){return Ext.getCmp(b.boundView)}},deferInitialRefresh:true,itemCls:Ext.baseCSSPrefix+"dataview-item",loadingText:"Loading...",loadMask:true,loadingUseMsg:true,selectedItemCls:Ext.baseCSSPrefix+"item-selected",emptyText:"",deferEmptyText:true,trackOver:false,blockRefresh:false,last:false,triggerEvent:"itemclick",triggerCtEvent:"containerclick",addCmpEvents:function(){},initComponent:function(){var h=this,f=Ext.isDefined,g=h.itemTpl,e={};if(g){if(Ext.isArray(g)){g=g.join("")}else{if(Ext.isObject(g)){e=Ext.apply(e,g.initialConfig);g=g.html}}if(!h.itemSelector){h.itemSelector="."+h.itemCls}g=Ext.String.format('<tpl for="."><div class="{0}">{1}</div></tpl>',h.itemCls,g);h.tpl=Ext.create("Ext.XTemplate",g,e)}if(!f(h.tpl)||!f(h.itemSelector)){Ext.Error.raise({sourceClass:"Ext.view.View",tpl:h.tpl,itemSelector:h.itemSelector,msg:"DataView requires both tpl and itemSelector configurations to be defined."})}h.callParent();if(Ext.isString(h.tpl)||Ext.isArray(h.tpl)){h.tpl=Ext.create("Ext.XTemplate",h.tpl)}if(f(h.overCls)||f(h.overClass)){if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn("Ext.view.View: Using the deprecated overCls or overClass configuration. Use overItemCls instead.")}h.overItemCls=h.overCls||h.overClass;delete h.overCls;delete h.overClass}if(h.overItemCls){h.trackOver=true}if(f(h.selectedCls)||f(h.selectedClass)){if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn("Ext.view.View: Using the deprecated selectedCls or selectedClass configuration. Use selectedItemCls instead.")}h.selectedItemCls=h.selectedCls||h.selectedClass;delete h.selectedCls;delete h.selectedClass}h.addEvents("beforerefresh","refresh","viewready","itemupdate","itemadd","itemremove");h.addCmpEvents();h.store=Ext.data.StoreManager.lookup(h.store||"ext-empty-store");h.all=new Ext.CompositeElementLite()},onRender:function(){var f=this,d=f.loadMask,e={msg:f.loadingText,msgCls:f.loadingCls,useMsg:f.loadingUseMsg};f.callParent(arguments);if(d){if(Ext.isObject(d)){e=Ext.apply(e,d)}f.loadMask=Ext.create("Ext.LoadMask",f,e);f.loadMask.on({scope:f,beforeshow:f.onMaskBeforeShow,hide:f.onMaskHide})}},onMaskBeforeShow:function(){var b=this.loadingHeight;this.getSelectionModel().deselectAll();if(b){this.setCalculatedSize(undefined,b)}},onMaskHide:function(){var b=this;if(!b.destroying&&b.loadingHeight){b.setHeight(b.height)}},afterRender:function(){this.callParent(arguments);this.getSelectionModel().bindComponent(this)},getSelectionModel:function(){var d=this,c="SINGLE";if(!d.selModel){d.selModel={}}if(d.simpleSelect){c="SIMPLE"}else{if(d.multiSelect){c="MULTI"}}Ext.applyIf(d.selModel,{allowDeselect:d.allowDeselect,mode:c});if(!d.selModel.events){d.selModel=Ext.create("Ext.selection.DataViewModel",d.selModel)}if(!d.selModel.hasRelaySetup){d.relayEvents(d.selModel,["selectionchange","beforeselect","beforedeselect","select","deselect"]);d.selModel.hasRelaySetup=true}if(d.disableSelection){d.selModel.locked=true}return d.selModel},refresh:function(){var f=this,d,e;if(!f.rendered||f.isDestroyed){return}f.fireEvent("beforerefresh",f);d=f.getTargetEl();e=f.store.getRange();d.update("");if(e.length<1){if(!f.deferEmptyText||f.hasSkippedEmptyText){d.update(f.emptyText)}f.all.clear()}else{f.tpl.overwrite(d,f.collectData(e,0));f.all.fill(Ext.query(f.getItemSelector(),d.dom));f.updateIndexes(0)}f.selModel.refresh();f.hasSkippedEmptyText=true;f.fireEvent("refresh",f);if(!f.viewReady){f.viewReady=true;f.fireEvent("viewready",f)}},prepareData:function(f,d,e){if(e){Ext.apply(f,e.getAssociatedData())}return f},collectData:function(l,i){var j=[],k=0,h=l.length,g;for(;k<h;k++){g=l[k];j[j.length]=this.prepareData(g[g.persistenceProperty],i+k,g)}return j},bufferRender:function(e,d){var f=document.createElement("div");this.tpl.overwrite(f,this.collectData(e,d));return Ext.query(this.getItemSelector(),f)},onUpdate:function(h,g){var i=this,f=i.store.indexOf(g),j;if(f>-1){j=i.bufferRender([g],f)[0];if(i.getNode(g)){i.all.replaceElement(f,j,true);i.updateIndexes(f,f);i.selModel.refresh();i.fireEvent("itemupdate",g,f,j)}}},onAdd:function(h,f,j){var i=this,g;if(i.all.getCount()===0){i.refresh();return}g=i.bufferRender(f,j);i.doAdd(g,f,j);i.selModel.refresh();i.updateIndexes(j);i.fireEvent("itemadd",f,j,g)},doAdd:function(e,f,h){var g=this.all;if(h<g.getCount()){g.item(h).insertSibling(e,"before",true)}else{g.last().insertSibling(e,"after",true)}Ext.Array.insert(g.elements,h,e)},onRemove:function(g,f,e){var h=this;h.doRemove(f,e);h.updateIndexes(e);if(h.store.getCount()===0){h.refresh()}h.fireEvent("itemremove",f,e)},doRemove:function(d,c){this.all.removeElement(c,true)},refreshNode:function(b){this.onUpdate(this.store,this.store.getAt(b))},updateIndexes:function(h,i){var j=this.all.elements,g=this.store.getRange(),f;h=h||0;i=i||((i===0)?0:(j.length-1));for(f=h;f<=i;f++){j[f].viewIndex=f;j[f].viewRecordId=g[f].internalId;if(!j[f].boundView){j[f].boundView=this.id}}},getStore:function(){return this.store},bindStore:function(f,e){var g=this,h;if(!e&&g.store){if(f!==g.store&&g.store.autoDestroy){g.store.destroyStore()}else{g.mun(g.store,{scope:g,datachanged:g.onDataChanged,add:g.onAdd,remove:g.onRemove,update:g.onUpdate,clear:g.refresh})}if(!f){if(g.loadMask&&g.loadMask.bindStore){g.loadMask.bindStore(null)}g.store=null}}if(f){f=Ext.data.StoreManager.lookup(f);g.mon(f,{scope:g,datachanged:g.onDataChanged,add:g.onAdd,remove:g.onRemove,update:g.onUpdate,clear:g.refresh});if(g.loadMask&&g.loadMask.bindStore){if(Ext.Array.contains(f.alias,"store.node")){h=this.ownerCt.store}else{h=f}g.loadMask.bindStore(h)}}g.viewReady=false;g.store=f;g.getSelectionModel().bind(f);if(f){if(e&&g.deferInitialRefresh){Ext.Function.defer(function(){if(!g.isDestroyed){g.refresh(true)}},1)}else{g.refresh(true)}}},onDataChanged:function(){if(this.blockRefresh!==true){this.refresh.apply(this,arguments)}},findItemByChild:function(b){return Ext.fly(b).findParent(this.getItemSelector(),this.getTargetEl())},findTargetByEvent:function(b){return b.getTarget(this.getItemSelector(),this.getTargetEl())},getSelectedNodes:function(){var e=[],f=this.selModel.getSelection(),g=f.length,h=0;for(;h<g;h++){e.push(this.getNode(f[h]))}return e},getRecords:function(j){var f=[],i=0,g=j.length,h=this.store.data;for(;i<g;i++){f[f.length]=h.getByKey(j[i].viewRecordId)}return f},getRecord:function(b){return this.store.data.getByKey(Ext.getDom(b).viewRecordId)},isSelected:function(c){var d=this.getRecord(c);return this.selModel.isSelected(d)},select:function(d,f,e){this.selModel.select(d,f,e)},deselect:function(c,d){this.selModel.deselect(c,d)},getNode:function(b){if(!this.rendered){return null}if(Ext.isString(b)){return document.getElementById(b)}if(Ext.isNumber(b)){return this.all.elements[b]}if(b instanceof Ext.data.Model){return this.getNodeByRecord(b)}return b},getNodeByRecord:function(f){var h=this.all.elements,g=h.length,e=0;for(;e<g;e++){if(h[e].viewRecordId===f.internalId){return h[e]}}return null},getNodes:function(h,g){var i=this.all.elements,f=[],j;h=h||0;g=!Ext.isDefined(g)?Math.max(i.length-1,0):g;if(h<=g){for(j=h;j<=g&&i[j];j++){f.push(i[j])}}else{for(j=h;j>=g&&i[j];j--){f.push(i[j])}}return f},indexOf:function(b){b=this.getNode(b);if(Ext.isNumber(b.viewIndex)){return b.viewIndex}return this.all.indexOf(b)},onDestroy:function(){var b=this;b.all.clear();b.callParent();b.bindStore(null);b.selModel.destroy()},onItemSelect:function(d){var c=this.getNode(d);if(c){Ext.fly(c).addCls(this.selectedItemCls)}},onItemDeselect:function(d){var c=this.getNode(d);if(c){Ext.fly(c).removeCls(this.selectedItemCls)}},getItemSelector:function(){return this.itemSelector}},function(){Ext.deprecate("extjs","4.0",function(){Ext.view.AbstractView.override({getSelectionCount:function(){if(Ext.global.console){Ext.global.console.warn("DataView: getSelectionCount will be removed, please interact with the Ext.selection.DataViewModel")}return this.selModel.getSelection().length},getSelectedRecords:function(){if(Ext.global.console){Ext.global.console.warn("DataView: getSelectedRecords will be removed, please interact with the Ext.selection.DataViewModel")}return this.selModel.getSelection()},select:function(f,e,g){if(Ext.global.console){Ext.global.console.warn("DataView: select will be removed, please access select through a DataView's SelectionModel, ie: view.getSelectionModel().select()")}var h=this.getSelectionModel();return h.select.apply(h,arguments)},clearSelections:function(){if(Ext.global.console){Ext.global.console.warn("DataView: clearSelections will be removed, please access deselectAll through DataView's SelectionModel, ie: view.getSelectionModel().deselectAll()")}var b=this.getSelectionModel();return b.deselectAll()}})})});Ext.define("Ext.view.View",{extend:"Ext.view.AbstractView",alternateClassName:"Ext.DataView",alias:"widget.dataview",inheritableStatics:{EventMap:{mousedown:"MouseDown",mouseup:"MouseUp",click:"Click",dblclick:"DblClick",contextmenu:"ContextMenu",mouseover:"MouseOver",mouseout:"MouseOut",mouseenter:"MouseEnter",mouseleave:"MouseLeave",keydown:"KeyDown",focus:"Focus"}},addCmpEvents:function(){this.addEvents("beforeitemmousedown","beforeitemmouseup","beforeitemmouseenter","beforeitemmouseleave","beforeitemclick","beforeitemdblclick","beforeitemcontextmenu","beforeitemkeydown","itemmousedown","itemmouseup","itemmouseenter","itemmouseleave","itemclick","itemdblclick","itemcontextmenu","itemkeydown","beforecontainermousedown","beforecontainermouseup","beforecontainermouseover","beforecontainermouseout","beforecontainerclick","beforecontainerdblclick","beforecontainercontextmenu","beforecontainerkeydown","containermouseup","containermouseover","containermouseout","containerclick","containerdblclick","containercontextmenu","containerkeydown","selectionchange","beforeselect")},afterRender:function(){var c=this,d;c.callParent();d={scope:c,freezeEvent:true,click:c.handleEvent,mousedown:c.handleEvent,mouseup:c.handleEvent,dblclick:c.handleEvent,contextmenu:c.handleEvent,mouseover:c.handleEvent,mouseout:c.handleEvent,keydown:c.handleEvent};c.mon(c.getTargetEl(),d);if(c.store){c.bindStore(c.store,true)}},handleEvent:function(b){if(this.processUIEvent(b)!==false){this.processSpecialEvent(b)}},processItemEvent:Ext.emptyFn,processContainerEvent:Ext.emptyFn,processSpecialEvent:Ext.emptyFn,stillOverItem:function(d,e){var f;if(e&&typeof(e.offsetParent)==="object"){f=(d.type=="mouseout")?d.getRelatedTarget():d.getTarget();return Ext.fly(e).contains(f)}return false},processUIEvent:function(m){var l=this,e=m.getTarget(l.getItemSelector(),l.getTargetEl()),r=this.statics().EventMap,n,p,k=m.type,o=l.mouseOverItem,q;if(!e){if(k=="mouseover"&&l.stillOverItem(m,o)){e=o}if(k=="keydown"){p=l.getSelectionModel().getLastSelected();if(p){e=l.getNode(p)}}}if(e){n=l.indexOf(e);if(!p){p=l.getRecord(e)}if(l.processItemEvent(p,e,n,m)===false){return false}q=l.isNewItemEvent(e,m);if(q===false){return false}if((l["onBeforeItem"+r[q]](p,e,n,m)===false)||(l.fireEvent("beforeitem"+q,l,p,e,n,m)===false)||(l["onItem"+r[q]](p,e,n,m)===false)){return false}l.fireEvent("item"+q,l,p,e,n,m)}else{if((l.processContainerEvent(m)===false)||(l["onBeforeContainer"+r[k]](m)===false)||(l.fireEvent("beforecontainer"+k,l,m)===false)||(l["onContainer"+r[k]](m)===false)){return false}l.fireEvent("container"+k,l,m)}return true},isNewItemEvent:function(i,h){var j=this,g=j.mouseOverItem,e=h.type;switch(e){case"mouseover":if(i===g){return false}j.mouseOverItem=i;return"mouseenter";case"mouseout":if(j.stillOverItem(h,g)){return false}j.mouseOverItem=null;return"mouseleave"}return e},onItemMouseEnter:function(f,h,e,g){if(this.trackOver){this.highlightItem(h)}},onItemMouseLeave:function(f,h,e,g){if(this.trackOver){this.clearHighlight()}},onItemMouseDown:Ext.emptyFn,onItemMouseUp:Ext.emptyFn,onItemFocus:Ext.emptyFn,onItemClick:Ext.emptyFn,onItemDblClick:Ext.emptyFn,onItemContextMenu:Ext.emptyFn,onItemKeyDown:Ext.emptyFn,onBeforeItemMouseDown:Ext.emptyFn,onBeforeItemMouseUp:Ext.emptyFn,onBeforeItemFocus:Ext.emptyFn,onBeforeItemMouseEnter:Ext.emptyFn,onBeforeItemMouseLeave:Ext.emptyFn,onBeforeItemClick:Ext.emptyFn,onBeforeItemDblClick:Ext.emptyFn,onBeforeItemContextMenu:Ext.emptyFn,onBeforeItemKeyDown:Ext.emptyFn,onContainerMouseDown:Ext.emptyFn,onContainerMouseUp:Ext.emptyFn,onContainerMouseOver:Ext.emptyFn,onContainerMouseOut:Ext.emptyFn,onContainerClick:Ext.emptyFn,onContainerDblClick:Ext.emptyFn,onContainerContextMenu:Ext.emptyFn,onContainerKeyDown:Ext.emptyFn,onBeforeContainerMouseDown:Ext.emptyFn,onBeforeContainerMouseUp:Ext.emptyFn,onBeforeContainerMouseOver:Ext.emptyFn,onBeforeContainerMouseOut:Ext.emptyFn,onBeforeContainerClick:Ext.emptyFn,onBeforeContainerDblClick:Ext.emptyFn,onBeforeContainerContextMenu:Ext.emptyFn,onBeforeContainerKeyDown:Ext.emptyFn,highlightItem:function(c){var d=this;d.clearHighlight();d.highlightedItem=c;Ext.fly(c).addCls(d.overItemCls)},clearHighlight:function(){var c=this,d=c.highlightedItem;if(d){Ext.fly(d).removeCls(c.overItemCls);delete c.highlightedItem}},refresh:function(){var b=this;b.clearHighlight();b.callParent(arguments);if(!b.isFixedHeight()){b.doComponentLayout()}}});Ext.define("Docs.view.ThumbList",{extend:"Ext.view.View",alias:"widget.thumblist",cls:"demos",itemSelector:"dl",urlField:"url",itemTpl:[],initComponent:function(){this.addEvents("urlclick");Ext.Array.forEach(this.data,function(c,d){c.id="sample-"+d});this.store=Ext.create("Ext.data.JsonStore",{fields:["id","title","items"],data:this.data});this.tpl=new Ext.XTemplate(Ext.Array.flatten(['<div id="sample-ct">','<tpl for=".">','<div><a name="{id}"></a><h2><div>{title}</div></h2>',"<dl>",'<tpl for="items">',this.itemTpl,"</tpl>",'<div style="clear:left"></div></dl></div>',"</tpl>","</div>"]));this.itemTpl=undefined;this.on({afterrender:function(b){b.el.addListener("mouseover",function(a,d){Ext.get(d).addCls("over")},this,{delegate:"dd"});b.el.addListener("mouseout",function(a,d){Ext.get(d).removeCls("over")},this,{delegate:"dd"})}});this.callParent(arguments)},onContainerClick:function(c){var d=c.getTarget("h2",3,true);if(d){d.up("div").toggleCls("collapsed")}},onItemClick:function(h,j,l,i){var k=i.getTarget("dd",5,true);if(k&&!i.getTarget("a",2)){var e=k.getAttributeNS("ext",this.urlField);this.fireEvent("urlclick",e)}return this.callParent(arguments)}});Ext.define("Docs.view.guides.Index",{extend:"Ext.container.Container",alias:"widget.guideindex",requires:["Docs.view.ThumbList"],cls:"all-demos iScroll",margin:"10 0 0 0",autoScroll:true,initComponent:function(){this.items=[{xtype:"container",html:'<h1 class="eg">Guides</h1>'},Ext.create("Docs.view.ThumbList",{itemTpl:['<dd ext:url="#!/guide/{name}"><div class="thumb"><img src="guides/{name}/icon-lg.png"/></div>',"<div><h4>{title}</h4><p>{description}</p></div>","</dd>"],data:Docs.data.guides})];this.callParent(arguments)},getTab:function(){return Docs.data.guides.length>0?{cls:"guides",href:"#!/guide",tooltip:"Guides"}:false}});Ext.define("Docs.view.videos.Index",{extend:"Ext.container.Container",alias:"widget.videoindex",requires:["Docs.view.ThumbList"],cls:"all-demos iScroll",margin:"10 0 0 0",autoScroll:true,initComponent:function(){this.items=[{xtype:"container",html:'<h1 class="eg">Videos</h1>'},Ext.create("Docs.view.ThumbList",{itemTpl:['<dd ext:url="#!/video/{id}"><div class="thumb"><img src="{thumb}"/></div>',"<div><h4>{title}","</h4><p>{[values.description.substr(0,80)]}...</p></div>","</dd>"],data:Docs.data.videos})];this.callParent(arguments)},getTab:function(){return Docs.data.videos.length>0?{cls:"videos",href:"#!/video",tooltip:"Videos"}:false}});Ext.define("Docs.view.examples.Index",{extend:"Ext.container.Container",alias:"widget.exampleindex",requires:["Docs.view.ThumbList"],cls:"all-demos iScroll",margin:"10 0 0 0",autoScroll:true,initComponent:function(){this.cls+=Docs.touchExamplesUi?" touch-examples-ui":"";var c=Docs.exampleBaseUrl?Docs.exampleBaseUrl:"touch/examples";var d=Docs.touchExamplesUi?c:"extjs/examples/shared/screens";this.items=[{xtype:"container",html:'<h1 class="eg">Examples</h1>'},Ext.create("Docs.view.ThumbList",{itemTpl:['<dd ext:url="#!/example/{url}">','<div class="thumb"><img src="'+d+'/{icon}"/></div>',"<div><h4>{text}","<tpl if=\"status === 'new'\">",'<span class="new-sample"> (New)</span>',"</tpl>","<tpl if=\"status === 'updated'\">",'<span class="updated-sample"> (Updated)</span>',"</tpl>","<tpl if=\"status === 'experimental'\">",'<span class="new-sample"> (Experimental)</span>',"</tpl>","</h4><p>{desc}</p></div>","</dd>"],data:Docs.data.examples})];this.callParent(arguments)},getTab:function(){return Docs.data.examples.length>0?{cls:"examples",href:"#!/example",tooltip:"Examples"}:false}});Ext.define("Docs.view.HoverMenu",{extend:"Ext.view.View",componentCls:"hover-menu",itemSelector:"div.item",deferEmptyText:false,columnHeight:25,showCloseButtons:false,initComponent:function(){this.renderTo=Ext.getBody();this.tpl=new Ext.XTemplate("<table>","<tr>","<td>",'<tpl for=".">','<div class="item">',"{[this.renderLink(values)]}",'<tpl if="this.showCloseButtons">','<a class="close" href="#" rel="{cls}">x</a>',"</tpl>","</div>",'<tpl if="xindex % this.columnHeight === 0 && xcount > xindex">',"</td><td>","</tpl>","</tpl>","</td>","</tr>","</table>",{columnHeight:this.columnHeight,showCloseButtons:this.showCloseButtons,renderLink:function(f){var g=f.url||f.cls;var h=f.label||f.cls;var e=Ext.Array.map(["static","protected","deprecated","template","required"],function(a){return f[a]?'<span class="'+a+'">'+a+"</span>":""}).join(" ");return Ext.String.format('<a href="#!/api/{0}" rel="{0}" class="docClass">{1} {2}</a>',g,h,e)}});this.callParent()}});Ext.define("Docs.view.HoverMenuButton",{extend:"Ext.toolbar.TextItem",alias:"widget.hovermenubutton",componentCls:"hover-menu-button",requires:["Docs.view.HoverMenu"],menuCfg:{},showCount:false,statics:{menus:[]},initComponent:function(){this.addEvents("click","closeclick");if(this.showCount){this.initialText=this.text;this.text+=" <sup>"+this.store.getCount()+"</sup>";this.store.on("datachanged",function(){this.setText(this.initialText+" <sup>"+this.store.getCount()+"</sup>")},this)}this.menu=Ext.create("Docs.view.HoverMenu",Ext.apply({store:this.store},this.menuCfg));this.callParent(arguments)},onRender:function(){this.callParent(arguments);this.renderMenu();this.getEl().on({click:function(){this.fireEvent("click")},mouseover:function(){Ext.Array.forEach(Docs.view.HoverMenuButton.menus,function(a){if(a!==this.menu){a.hide()}});clearTimeout(this.hideTimeout);this.menu.show();var j=this.getEl().getXY(),n=Ext.ComponentQuery.query("classoverview toolbar")[0],k=j[0]-10,l=n.getEl().getXY(),i=n.getWidth(),m=this.menu.getEl().getWidth(),h=Ext.getCmp("doctabs").getWidth();if(m>h){k=0}else{if((k+m)>h){k=h-m-30}}if(k<l[0]){k=l[0]}this.menu.getEl().setStyle({left:k+"px",top:(j[1]+25)+"px"})},mouseout:this.deferHideMenu,scope:this});this.menu.getEl().on({mouseover:function(){clearTimeout(this.hideTimeout)},mouseout:this.deferHideMenu,scope:this})},onDestroy:function(){this.menu.destroy();Ext.Array.remove(Docs.view.HoverMenuButton.menus,this.menu);this.callParent(arguments)},renderMenu:function(){this.menu.getEl().setVisibilityMode(Ext.core.Element.DISPLAY);this.menu.hide();this.menu.getEl().addListener("click",function(b){if(b.getTarget(".close")){this.fireEvent("closeclick",b.getTarget().rel)}else{this.menu.hide()}b.preventDefault()},this);Docs.view.HoverMenuButton.menus.push(this.menu)},deferHideMenu:function(){this.hideTimeout=Ext.Function.defer(function(){this.menu.hide()},200,this)},getStore:function(){return this.store}});Ext.define("Ext.view.Table",{extend:"Ext.view.View",alias:"widget.tableview",uses:["Ext.view.TableChunker","Ext.util.DelayedTask","Ext.util.MixedCollection"],baseCls:Ext.baseCSSPrefix+"grid-view",itemSelector:"."+Ext.baseCSSPrefix+"grid-row",cellSelector:"."+Ext.baseCSSPrefix+"grid-cell",selectedItemCls:Ext.baseCSSPrefix+"grid-row-selected",selectedCellCls:Ext.baseCSSPrefix+"grid-cell-selected",focusedItemCls:Ext.baseCSSPrefix+"grid-row-focused",overItemCls:Ext.baseCSSPrefix+"grid-row-over",altRowCls:Ext.baseCSSPrefix+"grid-row-alt",rowClsRe:/(?:^|\s*)grid-row-(first|last|alt)(?:\s+|$)/g,cellRe:new RegExp("x-grid-cell-([^\\s]+) ",""),trackOver:true,getRowClass:null,initComponent:function(){var b=this;b.scrollState={};b.selModel.view=b;b.headerCt.view=b;b.initFeatures();b.tpl="<div></div>";b.callParent();b.mon(b.store,{load:b.onStoreLoad,scope:b})},onStoreLoad:function(){var b=this;if(b.invalidateScrollerOnRefresh){if(Ext.isGecko){if(!b.scrollToTopTask){b.scrollToTopTask=Ext.create("Ext.util.DelayedTask",b.scrollToTop,b)}b.scrollToTopTask.delay(1)}else{b.scrollToTop()}}},scrollToTop:Ext.emptyFn,addElListener:function(e,f,d){this.mon(this,e,f,d,{element:"el"})},getGridColumns:function(){return this.headerCt.getGridColumns()},getHeaderAtIndex:function(b){return this.headerCt.getHeaderAtIndex(b)},getCell:function(e,d){var f=this.getNode(e);return Ext.fly(f).down(d.getCellSelector())},getFeature:function(c){var d=this.featuresMC;if(d){return d.get(c)}},initFeatures:function(){var g=this,e=0,h,f;g.features=g.features||[];h=g.features;f=h.length;g.featuresMC=Ext.create("Ext.util.MixedCollection");for(;e<f;e++){if(!h[e].isFeature){h[e]=Ext.create("feature."+h[e].ftype,h[e])}h[e].view=g;g.featuresMC.add(h[e])}},attachEventsForFeatures:function(){var d=this.features,f=d.length,e=0;for(;e<f;e++){if(d[e].isFeature){d[e].attachEvents()}}},afterRender:function(){var b=this;b.callParent();b.mon(b.el,{scroll:b.fireBodyScroll,scope:b});b.el.unselectable();b.attachEventsForFeatures()},fireBodyScroll:function(c,d){this.fireEvent("bodyscroll",c,d)},prepareData:function(r,l,p){var n=this,m=n.headerCt.prepareData(r,l,p,n,n.ownerCt),t=n.features,o=t.length,q=0,s,i;for(;q<o;q++){i=t[q];if(i.isFeature){Ext.apply(m,i.getAdditionalData(r,l,p,m,n))}}return m},collectData:function(w,o){var j=this.callParent(arguments),x=this.headerCt,q=x.getFullWidth(),y=this.features,s=y.length,z={rows:j,fullWidth:q},u=0,i,v=0,r,t;r=j.length;if(this.getRowClass){for(;v<r;v++){t={};j[v]["rowCls"]=this.getRowClass(w[v],v,t,this.store);if(t.alt){Ext.Error.raise("The getRowClass alt property is no longer supported.")}if(t.tstyle){Ext.Error.raise("The getRowClass tstyle property is no longer supported.")}if(t.cells){Ext.Error.raise("The getRowClass cells property is no longer supported.")}if(t.body){Ext.Error.raise("The getRowClass body property is no longer supported. Use the getAdditionalData method of the rowbody feature.")}if(t.bodyStyle){Ext.Error.raise("The getRowClass bodyStyle property is no longer supported.")}if(t.cols){Ext.Error.raise("The getRowClass cols property is no longer supported.")}}}for(;u<s;u++){i=y[u];if(i.isFeature&&i.collectData&&!i.disabled){z=i.collectData(w,j,o,q,z);break}}return z},onHeaderResize:function(h,g,i){var j=this,f=j.el;if(f){j.saveScrollState();if(Ext.isIE6||Ext.isIE7){if(h.el.hasCls(Ext.baseCSSPrefix+"column-header-first")){g+=1}}f.select("."+Ext.baseCSSPrefix+"grid-col-resizer-"+h.id).setWidth(g);f.select("."+Ext.baseCSSPrefix+"grid-table-resizer").setWidth(j.headerCt.getFullWidth());j.restoreScrollState();if(!j.ignoreTemplate){j.setNewTemplate()}if(!i){j.el.focus()}}},onHeaderShow:function(h,g,e){var f=this;f.ignoreTemplate=true;if(g.oldWidth){f.onHeaderResize(g,g.oldWidth,e);delete g.oldWidth}else{if(g.width&&!g.flex){f.onHeaderResize(g,g.width,e)}}delete f.ignoreTemplate;f.setNewTemplate()},onHeaderHide:function(d,f,e){this.onHeaderResize(f,0,e)},setNewTemplate:function(){var c=this,d=c.headerCt.getColumnsForTpl(true);c.tpl=c.getTableChunker().getTableTpl({columns:d,features:c.features})},getTableChunker:function(){return this.chunker||Ext.view.TableChunker},addRowCls:function(d,e){var f=this.getNode(d);if(f){Ext.fly(f).addCls(e)}},removeRowCls:function(d,e){var f=this.getNode(d);if(f){Ext.fly(f).removeCls(e)}},onRowSelect:function(b){this.addRowCls(b,this.selectedItemCls)},onRowDeselect:function(c){var d=this;d.removeRowCls(c,d.selectedItemCls);d.removeRowCls(c,d.focusedItemCls)},onCellSelect:function(c){var d=this.getCellByPosition(c);if(d){d.addCls(this.selectedCellCls)}},onCellDeselect:function(c){var d=this.getCellByPosition(c);if(d){d.removeCls(this.selectedCellCls)}},onCellFocus:function(b){this.focusCell(b)},getCellByPosition:function(i){var l=i.row,n=i.column,o=this.store,m=this.getNode(l),k=this.headerCt.getHeaderAtIndex(n),p,j=false;if(k&&m){p=k.getCellSelector();j=Ext.fly(m).down(p)}return j},onRowFocus:function(i,f,g){var j=this,h=j.getNode(i);if(f){j.addRowCls(i,j.focusedItemCls);if(!g){j.focusRow(i)}}else{j.removeRowCls(i,j.focusedItemCls)}},focusRow:function(q){var m=this,j=m.getNode(q),p=m.el,l=0,r=m.ownerCt,k,o,n;if(j&&p){o=p.getRegion();k=Ext.fly(j).getRegion();if(k.top<o.top){l=k.top-o.top}else{if(k.bottom>o.bottom){l=k.bottom-o.bottom}}n=m.getRecord(j);q=m.store.indexOf(n);if(l){r.scrollByDeltaY(l)}m.fireEvent("rowfocus",n,j,q)}},focusCell:function(n){var l=this,k=l.getCellByPosition(n),s=l.el,q=0,p=0,r=s.getRegion(),t=l.ownerCt,m,o;if(k){m=k.getRegion();if(m.top<r.top){q=m.top-r.top}else{if(m.bottom>r.bottom){q=m.bottom-r.bottom}}if(m.left<r.left){p=m.left-r.left}else{if(m.right>r.right){p=m.right-r.right}}if(q){t.scrollByDeltaY(q)}if(p){t.scrollByDeltaX(p)}s.focus();l.fireEvent("cellfocus",o,k,n)}},scrollByDelta:function(f,d){d=d||"scrollTop";var e=this.el.dom;e[d]=(e[d]+=f)},onUpdate:function(c,d){this.callParent(arguments)},saveScrollState:function(){if(this.rendered){var c=this.el.dom,d=this.scrollState;d.left=c.scrollLeft;d.top=c.scrollTop}},restoreScrollState:function(){if(this.rendered){var d=this.el.dom,e=this.scrollState,f=this.headerCt.el.dom;f.scrollLeft=d.scrollLeft=e.left;d.scrollTop=e.top}},refresh:function(){this.setNewTemplate();this.callParent(arguments)},processItemEvent:function(u,e,o,s){var q=this,n=s.getTarget(q.cellSelector,e),p=n?n.cellIndex:-1,v=q.statics().EventMap,t=q.getSelectionModel(),r=s.type,m;if(r=="keydown"&&!n&&t.getCurrentPosition){n=q.getCellByPosition(t.getCurrentPosition());if(n){n=n.dom;p=n.cellIndex}}m=q.fireEvent("uievent",r,q,n,o,p,s);if(m===false||q.callParent(arguments)===false){return false}if(r=="mouseover"||r=="mouseout"){return true}return !((q["onBeforeCell"+v[r]](n,p,u,e,o,s)===false)||(q.fireEvent("beforecell"+r,q,n,p,u,e,o,s)===false)||(q["onCell"+v[r]](n,p,u,e,o,s)===false)||(q.fireEvent("cell"+r,q,n,p,u,e,o,s)===false))},processSpecialEvent:function(s){var p=this,y=p.statics().EventMap,w=p.features,q=w.length,i=s.type,v,e,u,t,x,r,z=p.ownerCt;p.callParent(arguments);if(i=="mouseover"||i=="mouseout"){return}for(v=0;v<q;v++){e=w[v];if(e.hasFeatureEvent){t=s.getTarget(e.eventSelector,p.getTargetEl());if(t){u=e.eventPrefix;x=e.getFireEventArgs("before"+u+i,p,t,s);r=e.getFireEventArgs(u+i,p,t,s);if((p.fireEvent.apply(p,x)===false)||(z.fireEvent.apply(z,x)===false)||(p.fireEvent.apply(p,r)===false)||(z.fireEvent.apply(z,r)===false)){return false}}}}return true},onCellMouseDown:Ext.emptyFn,onCellMouseUp:Ext.emptyFn,onCellClick:Ext.emptyFn,onCellDblClick:Ext.emptyFn,onCellContextMenu:Ext.emptyFn,onCellKeyDown:Ext.emptyFn,onBeforeCellMouseDown:Ext.emptyFn,onBeforeCellMouseUp:Ext.emptyFn,onBeforeCellClick:Ext.emptyFn,onBeforeCellDblClick:Ext.emptyFn,onBeforeCellContextMenu:Ext.emptyFn,onBeforeCellKeyDown:Ext.emptyFn,expandToFit:function(c){if(c){var d=this.getMaxContentWidth(c);delete c.flex;c.setWidth(d)}},getMaxContentWidth:function(j){var i=j.getCellInnerSelector(),n=this.el.query(i),m=0,k=n.length,l=j.el.dom.scrollWidth,h;for(;m<k;m++){h=n[m].scrollWidth;if(h>l){l=h}}return l},getPositionByEvent:function(j){var k=this,e=j.getTarget(k.cellSelector),l=j.getTarget(k.itemSelector),h=k.getRecord(l),i=k.getHeaderByCell(e);return k.getPosition(h,i)},getHeaderByCell:function(c){if(c){var d=c.className.match(this.cellRe);if(d&&d[1]){return Ext.getCmp(d[1])}}return false},walkCells:function(s,r,w,q,B,p){var u=this,e=s.row,y=s.column,t=u.store.getCount(),x=u.getFirstVisibleColumnIndex(),A=u.getLastVisibleColumnIndex(),v={row:e,column:y},z=u.headerCt.getHeaderAtIndex(y);if(!z||z.hidden){return false}w=w||{};r=r.toLowerCase();switch(r){case"right":if(y===A){if(q||e===t-1){return false}if(!w.ctrlKey){v.row=e+1;v.column=x}}else{if(!w.ctrlKey){v.column=y+u.getRightGap(z)}else{v.column=A}}break;case"left":if(y===x){if(q||e===0){return false}if(!w.ctrlKey){v.row=e-1;v.column=A}}else{if(!w.ctrlKey){v.column=y+u.getLeftGap(z)}else{v.column=x}}break;case"up":if(e===0){return false}else{if(!w.ctrlKey){v.row=e-1}else{v.row=0}}break;case"down":if(e===t-1){return false}else{if(!w.ctrlKey){v.row=e+1}else{v.row=t-1}}break}if(B&&B.call(p||window,v)!==true){return false}else{return v}},getFirstVisibleColumnIndex:function(){var h=this.getHeaderCt(),f=h.getGridColumns(),g=Ext.ComponentQuery.query(":not([hidden])",f),e=g[0];return h.getHeaderIndex(e)},getLastVisibleColumnIndex:function(){var h=this.getHeaderCt(),f=h.getGridColumns(),g=Ext.ComponentQuery.query(":not([hidden])",f),e=g[g.length-1];return h.getHeaderIndex(e)},getHeaderCt:function(){return this.headerCt},getPosition:function(g,h){var i=this,f=i.store,j=i.headerCt.getGridColumns();return{row:f.indexOf(g),column:Ext.Array.indexOf(j,h)}},getRightGap:function(h){var i=this.getHeaderCt(),j=i.getGridColumns(),g=Ext.Array.indexOf(j,h),l=g+1,k;for(;l<=j.length;l++){if(!j[l].hidden){k=l;break}}return k-g},beforeDestroy:function(){if(this.rendered){this.el.removeAllListeners()}this.callParent(arguments)},getLeftGap:function(h){var i=this.getHeaderCt(),j=i.getGridColumns(),l=Ext.Array.indexOf(j,h),k=l-1,g;for(;k>=0;k--){if(!j[k].hidden){g=k;break}}return g-l}});Ext.define("Ext.tree.View",{extend:"Ext.view.Table",alias:"widget.treeview",loadingCls:Ext.baseCSSPrefix+"grid-tree-loading",expandedCls:Ext.baseCSSPrefix+"grid-tree-node-expanded",expanderSelector:"."+Ext.baseCSSPrefix+"tree-expander",checkboxSelector:"."+Ext.baseCSSPrefix+"tree-checkbox",expanderIconOverCls:Ext.baseCSSPrefix+"tree-expander-over",nodeAnimWrapCls:Ext.baseCSSPrefix+"tree-animator-wrap",blockRefresh:true,rootVisible:true,expandDuration:250,collapseDuration:250,toggleOnDblClick:true,initComponent:function(){var b=this;if(b.initialConfig.animate===undefined){b.animate=Ext.enableFx}b.store=Ext.create("Ext.data.NodeStore",{recursive:true,rootVisible:b.rootVisible,listeners:{beforeexpand:b.onBeforeExpand,expand:b.onExpand,beforecollapse:b.onBeforeCollapse,collapse:b.onCollapse,scope:b}});if(b.node){b.setRootNode(b.node)}b.animQueue={};b.callParent(arguments)},processUIEvent:function(b){if(b.getTarget("."+this.nodeAnimWrapCls,this.el)){return false}return this.callParent(arguments)},onClear:function(){this.store.removeAll()},setRootNode:function(c){var d=this;d.store.setNode(c);d.node=c;if(!d.rootVisible){c.expand()}},onRender:function(){var c=this,d;c.callParent(arguments);d=c.el;d.on({scope:c,delegate:c.expanderSelector,mouseover:c.onExpanderMouseOver,mouseout:c.onExpanderMouseOut});d.on({scope:c,delegate:c.checkboxSelector,click:c.onCheckboxChange})},onCheckboxChange:function(g,f){var h=this,e=g.getTarget(h.getItemSelector(),h.getTargetEl());if(e){h.onCheckChange(h.getRecord(e))}},onCheckChange:function(d){var c=d.get("checked");if(Ext.isBoolean(c)){c=!c;d.set("checked",c);this.fireEvent("checkchange",d,c)}},getChecked:function(){var b=[];this.node.cascadeBy(function(a){if(a.get("checked")){b.push(a)}});return b},isItemChecked:function(b){return b.get("checked")},createAnimWrap:function(o,n){var q="",r=this.panel.headerCt,u=r.getGridColumns(),p=0,m=u.length,i,s=this.getNode(o),v,t;for(;p<m;p++){i=u[p];q+='<th style="width: '+(i.hidden?0:i.getDesiredWidth())+'px; height: 0px;"></th>'}t=Ext.get(s);v=t.insertSibling({tag:"tr",html:['<td colspan="'+r.getColumnCount()+'">','<div class="'+this.nodeAnimWrapCls+'">','<table class="'+Ext.baseCSSPrefix+'grid-table" style="width: '+r.getFullWidth()+'px;"><tbody>',q,"</tbody></table>","</div>","</td>"].join("")},"after");return{record:o,node:s,el:v,expanding:false,collapsing:false,animating:false,animateEl:v.down("div"),targetEl:v.down("tbody")}},getAnimWrap:function(b){if(!this.animate){return null}while(b){if(b.animWrap){return b.animWrap}b=b.parentNode}return null},doAdd:function(x,v,r){var q=this,t=v[0],o=t.parentNode,p=q.all.elements,a=0,u=q.getAnimWrap(o),n,w,s;if(!u||!u.expanding){q.resetScrollers();return q.callParent(arguments)}o=u.record;n=u.targetEl;w=n.dom.childNodes;s=w.length-1;a=r-q.indexOf(o)-1;if(!s||a>=s){n.appendChild(x)}else{Ext.fly(w[a+1]).insertSibling(x,"before",true)}Ext.Array.insert(p,r,x);if(u.isAnimating){q.onExpand(o)}},beginBulkUpdate:function(){this.bulkUpdate=true;this.ownerCt.changingScrollbars=true},endBulkUpdate:function(){var c=this,d=c.ownerCt;c.bulkUpdate=false;c.ownerCt.changingScrollbars=true;c.resetScrollers()},onRemove:function(h,g,f){var i=this,j=i.bulkUpdate;i.doRemove(g,f);if(!j){i.updateIndexes(f)}if(i.store.getCount()===0){i.refresh()}if(!j){i.fireEvent("itemremove",g,f)}},doRemove:function(i,n){var j=this,l=i.parentNode,m=j.all,h=j.getAnimWrap(i),k=m.item(n).dom;if(!h||!h.collapsing){j.resetScrollers();return j.callParent(arguments)}h.targetEl.appendChild(k);m.removeElement(n)},onBeforeExpand:function(i,f,j){var h=this,g;if(!h.rendered||!h.animate){return}if(h.getNode(i)){g=h.getAnimWrap(i);if(!g){g=i.animWrap=h.createAnimWrap(i);g.animateEl.setHeight(0)}else{if(g.collapsing){g.targetEl.select(h.itemSelector).remove()}}g.expanding=true;g.collapsing=false}},onExpand:function(p){var o=this,j=o.animQueue,k=p.getId(),i,n,m,l;if(o.singleExpand){o.ensureSingleExpand(p)}i=o.getAnimWrap(p);if(!i){o.resetScrollers();return}n=i.animateEl;m=i.targetEl;n.stopAnimation();j[k]=true;n.slideIn("t",{duration:o.expandDuration,listeners:{scope:o,lastframe:function(){i.el.insertSibling(m.query(o.itemSelector),"before");i.el.remove();o.resetScrollers();delete i.record.animWrap;delete j[k]}}});i.isAnimating=true},resetScrollers:function(){if(!this.bulkUpdate){var b=this.panel;b.determineScrollbars();b.invalidateScroller()}},onBeforeCollapse:function(i,f,j){var h=this,g;if(!h.rendered||!h.animate){return}if(h.getNode(i)){g=h.getAnimWrap(i);if(!g){g=i.animWrap=h.createAnimWrap(i,j)}else{if(g.expanding){g.targetEl.select(this.itemSelector).remove()}}g.expanding=false;g.collapsing=true}},onCollapse:function(n){var m=this,i=m.animQueue,j=n.getId(),h=m.getAnimWrap(n),l,k;if(!h){m.resetScrollers();return}l=h.animateEl;k=h.targetEl;i[j]=true;l.stopAnimation();l.slideOut("t",{duration:m.collapseDuration,listeners:{scope:m,lastframe:function(){h.el.remove();delete h.record.animWrap;m.resetScrollers();delete i[j]}}});h.isAnimating=true},isAnimating:function(b){return !!this.animQueue[b.getId()]},collectData:function(n){var k=this.callParent(arguments),l=k.rows,i=l.length,m=0,j,h;for(;m<i;m++){j=l[m];h=n[m];if(h.get("qtip")){j.rowAttr='data-qtip="'+h.get("qtip")+'"';if(h.get("qtitle")){j.rowAttr+=' data-qtitle="'+h.get("qtitle")+'"'}}if(h.isExpanded()){j.rowCls=(j.rowCls||"")+" "+this.expandedCls}if(h.isLoading()){j.rowCls=(j.rowCls||"")+" "+this.loadingCls}}return k},expand:function(e,f,g,h){return e.expand(f,g,h)},collapse:function(e,f,g,h){return e.collapse(f,g,h)},toggle:function(b){this[b.isExpanded()?"collapse":"expand"](b)},onItemDblClick:function(e,f,d){this.callParent(arguments);if(this.toggleOnDblClick){this.toggle(e)}},onBeforeItemMouseDown:function(f,h,e,g){if(g.getTarget(this.expanderSelector,h)){return false}return this.callParent(arguments)},onItemClick:function(f,h,e,g){if(g.getTarget(this.expanderSelector,h)){this.toggle(f);return false}return this.callParent(arguments)},onExpanderMouseOver:function(c,d){c.getTarget(this.cellSelector,10,true).addCls(this.expanderIconOverCls)},onExpanderMouseOut:function(c,d){c.getTarget(this.cellSelector,10,true).removeCls(this.expanderIconOverCls)},getTreeStore:function(){return this.panel.store},ensureSingleExpand:function(c){var d=c.parentNode;if(d){d.eachChild(function(a){if(a!==c&&a.isExpanded()){a.collapse()}})}}});Ext.define("Ext.selection.RowModel",{extend:"Ext.selection.Model",alias:"selection.rowmodel",requires:["Ext.util.KeyNav"],deltaScroll:5,enableKeyNav:true,ignoreRightMouseSelection:true,constructor:function(){this.addEvents("beforedeselect","beforeselect","deselect","select");this.callParent(arguments)},bindComponent:function(d){var c=this;c.views=c.views||[];c.views.push(d);c.bind(d.getStore(),true);d.on({itemmousedown:c.onRowMouseDown,scope:c});if(c.enableKeyNav){c.initKeyNav(d)}},initKeyNav:function(d){var c=this;if(!d.rendered){d.on("render",Ext.Function.bind(c.initKeyNav,c,[d],0),c,{single:true});return}d.el.set({tabIndex:-1});c.keyNav=new Ext.util.KeyNav(d.el,{up:c.onKeyUp,down:c.onKeyDown,right:c.onKeyRight,left:c.onKeyLeft,pageDown:c.onKeyPageDown,pageUp:c.onKeyPageUp,home:c.onKeyHome,end:c.onKeyEnd,scope:c});d.el.on(Ext.EventManager.getKeyEvent(),c.onKeyPress,c)},getRowsVisible:function(){var h=false,g=this.views[0],i=g.getNode(0),f,j;if(i){f=Ext.fly(i).getHeight();j=g.el.getHeight();h=Math.floor(j/f)}return h},onKeyEnd:function(g,f){var h=this,e=h.store.getAt(h.store.getCount()-1);if(e){if(g.shiftKey){h.selectRange(e,h.lastFocused||0);h.setLastFocused(e)}else{if(g.ctrlKey){h.setLastFocused(e)}else{h.doSelect(e)}}}},onKeyHome:function(h,f){var e=this,g=e.store.getAt(0);if(g){if(h.shiftKey){e.selectRange(g,e.lastFocused||0);e.setLastFocused(g)}else{if(h.ctrlKey){e.setLastFocused(g)}else{e.doSelect(g,false)}}}},onKeyPageUp:function(l,o){var m=this,k=m.getRowsVisible(),e,p,j,n;if(k){e=m.lastFocused?m.store.indexOf(m.lastFocused):0;p=e-k;if(p<0){p=0}j=m.store.getAt(p);if(l.shiftKey){n=m.store.getAt(e);m.selectRange(j,n,l.ctrlKey,"up");m.setLastFocused(j)}else{if(l.ctrlKey){l.preventDefault();m.setLastFocused(j)}else{m.doSelect(j)}}}},onKeyPageDown:function(l,e){var n=this,k=n.getRowsVisible(),j,m,o,p;if(k){j=n.lastFocused?n.store.indexOf(n.lastFocused):0;m=j+k;if(m>=n.store.getCount()){m=n.store.getCount()-1}o=n.store.getAt(m);if(l.shiftKey){p=n.store.getAt(j);n.selectRange(o,p,l.ctrlKey,"down");n.setLastFocused(o)}else{if(l.ctrlKey){l.preventDefault();n.setLastFocused(o)}else{n.doSelect(o)}}}},onKeyPress:function(g,e){if(g.getKey()===g.SPACE){g.stopEvent();var h=this,f=h.lastFocused;if(f){if(h.isSelected(f)){h.doDeselect(f,false)}else{h.doSelect(f,true)}}}},onKeyUp:function(i,k){var j=this,l=j.views[0],h=j.store.indexOf(j.lastFocused),e;if(h>0){e=j.store.getAt(h-1);if(i.shiftKey&&j.lastFocused){if(j.isSelected(j.lastFocused)&&j.isSelected(e)){j.doDeselect(j.lastFocused,true);j.setLastFocused(e)}else{if(!j.isSelected(j.lastFocused)){j.doSelect(j.lastFocused,true);j.doSelect(e,true)}else{j.doSelect(e,true)}}}else{if(i.ctrlKey){j.setLastFocused(e)}else{j.doSelect(e)}}}},onKeyDown:function(i,k){var j=this,l=j.views[0],h=j.store.indexOf(j.lastFocused),e;if(h+1<j.store.getCount()){e=j.store.getAt(h+1);if(j.selected.getCount()===0){j.doSelect(e)}else{if(i.shiftKey&&j.lastFocused){if(j.isSelected(j.lastFocused)&&j.isSelected(e)){j.doDeselect(j.lastFocused,true);j.setLastFocused(e)}else{if(!j.isSelected(j.lastFocused)){j.doSelect(j.lastFocused,true);j.doSelect(e,true)}else{j.doSelect(e,true)}}}else{if(i.ctrlKey){j.setLastFocused(e)}else{j.doSelect(e)}}}}},scrollByDeltaX:function(g){var f=this.views[0],h=f.up(),e=h.horizontalScroller;if(e){e.scrollByDeltaX(g)}},onKeyLeft:function(c,d){this.scrollByDeltaX(-this.deltaScroll)},onKeyRight:function(c,d){this.scrollByDeltaX(this.deltaScroll)},onRowMouseDown:function(e,g,i,j,h){e.el.focus();if(!this.allowRightMouseSelection(h)){return}this.selectWithEvent(g,h)},allowRightMouseSelection:function(d){var c=this.ignoreRightMouseSelection&&d.button!==0;if(c){c=this.hasSelection()}return !c},onSelectChange:function(q,t,m,v){var o=this,i=o.views,s=i.length,n=o.store,u=n.indexOf(q),p=t?"select":"deselect",r=0;if((m||o.fireEvent("before"+p,o,q,u))!==false&&v()!==false){for(;r<s;r++){if(t){i[r].onRowSelect(u,m)}else{i[r].onRowDeselect(u,m)}}if(!m){o.fireEvent(p,o,q,u)}}},onLastFocusChanged:function(k,o,i){var j=this.views,l=j.length,p=this.store,m,n=0;if(k){m=p.indexOf(k);if(m!=-1){for(;n<l;n++){j[n].onRowFocus(m,false)}}}if(o){m=p.indexOf(o);if(m!=-1){for(n=0;n<l;n++){j[n].onRowFocus(m,true,i)}}}},onEditorTab:function(l,n){var m=this,k=m.views[0],p=l.getActiveRecord(),q=l.getActiveColumn(),o=k.getPosition(p,q),e=n.shiftKey?"left":"right",r=k.walkCells(o,e,n,this.preventWrap);if(r){l.startEditByPosition(r)}},selectByPosition:function(d){var c=this.store.getAt(d.row);this.select(c)}});Ext.define("Ext.selection.TreeModel",{extend:"Ext.selection.RowModel",alias:"selection.treemodel",pruneRemoved:false,onKeyRight:function(g,e){var h=this.getLastFocused(),f=this.view;if(h){if(h.isExpanded()){this.onKeyDown(g,e)}else{if(!h.isLeaf()){f.expand(h)}}}},onKeyLeft:function(j,m){var k=this.getLastFocused(),n=this.view,e=n.getSelectionModel(),i,l;if(k){i=k.parentNode;if(k.isExpanded()){n.collapse(k)}else{if(i&&!i.isRoot()){if(j.shiftKey){e.selectRange(i,k,j.ctrlKey,"up");e.setLastFocused(i)}else{if(j.ctrlKey){e.setLastFocused(i)}else{e.select(i)}}}}}},onKeyPress:function(h,e){var g=h.getKey(),j,i;if(g===h.SPACE||g===h.ENTER){h.stopEvent();j=this.getLastSelected();if(j){this.view.onCheckChange(j)}}else{this.callParent(arguments)}}});Ext.define("Ext.dd.DragDrop",{requires:["Ext.dd.DragDropManager"],constructor:function(f,e,d){if(f){this.init(f,e,d)}},id:null,config:null,dragElId:null,handleElId:null,invalidHandleTypes:null,invalidHandleIds:null,invalidHandleClasses:null,startPageX:0,startPageY:0,groups:null,locked:false,lock:function(){this.locked=true},moveOnly:false,unlock:function(){this.locked=false},isTarget:true,padding:null,_domRef:null,__ygDragDrop:true,constrainX:false,constrainY:false,minX:0,maxX:0,minY:0,maxY:0,maintainOffset:false,xTicks:null,yTicks:null,primaryButtonOnly:true,available:false,hasOuterHandles:false,b4StartDrag:function(d,c){},startDrag:function(d,c){},b4Drag:function(b){},onDrag:function(b){},onDragEnter:function(d,c){},b4DragOver:function(b){},onDragOver:function(d,c){},b4DragOut:function(b){},onDragOut:function(d,c){},b4DragDrop:function(b){},onDragDrop:function(d,c){},onInvalidDrop:function(b){},b4EndDrag:function(b){},endDrag:function(b){},b4MouseDown:function(b){},onMouseDown:function(b){},onMouseUp:function(b){},onAvailable:function(){},defaultPadding:{left:0,right:0,top:0,bottom:0},constrainTo:function(q,s,b){if(Ext.isNumber(s)){s={left:s,right:s,top:s,bottom:s}}s=s||this.defaultPadding;var o=Ext.get(this.getEl()).getBox(),v=Ext.get(q),c=v.getScroll(),p,u=v.dom;if(u==document.body){p={x:c.left,y:c.top,width:Ext.Element.getViewWidth(),height:Ext.Element.getViewHeight()}}else{var n=v.getXY();p={x:n[0],y:n[1],width:u.clientWidth,height:u.clientHeight}}var r=o.y-p.y,t=o.x-p.x;this.resetConstraints();this.setXConstraint(t-(s.left||0),p.width-t-o.width-(s.right||0),this.xTickSize);this.setYConstraint(r-(s.top||0),p.height-r-o.height-(s.bottom||0),this.yTickSize)},getEl:function(){if(!this._domRef){this._domRef=Ext.getDom(this.id)}return this._domRef},getDragEl:function(){return Ext.getDom(this.dragElId)},init:function(f,e,d){this.initTarget(f,e,d);Ext.EventManager.on(this.id,"mousedown",this.handleMouseDown,this)},initTarget:function(f,e,d){this.config=d||{};this.DDMInstance=Ext.dd.DragDropManager;this.groups={};if(typeof f!=="string"){f=Ext.id(f)}this.id=f;this.addToGroup((e)?e:"default");this.handleElId=f;this.setDragElId(f);this.invalidHandleTypes={A:"A"};this.invalidHandleIds={};this.invalidHandleClasses=[];this.applyConfig();this.handleOnAvailable()},applyConfig:function(){this.padding=this.config.padding||[0,0,0,0];this.isTarget=(this.config.isTarget!==false);this.maintainOffset=(this.config.maintainOffset);this.primaryButtonOnly=(this.config.primaryButtonOnly!==false)},handleOnAvailable:function(){this.available=true;this.resetConstraints();this.onAvailable()},setPadding:function(h,f,g,e){if(!f&&0!==f){this.padding=[h,h,h,h]}else{if(!g&&0!==g){this.padding=[h,f,h,f]}else{this.padding=[h,f,g,e]}}},setInitPosition:function(k,l){var j=this.getEl();if(!this.DDMInstance.verifyEl(j)){return}var g=k||0;var h=l||0;var i=Ext.Element.getXY(j);this.initPageX=i[0]-g;this.initPageY=i[1]-h;this.lastPageX=i[0];this.lastPageY=i[1];this.setStartPosition(i)},setStartPosition:function(c){var d=c||Ext.Element.getXY(this.getEl());this.deltaSetXY=null;this.startPageX=d[0];this.startPageY=d[1]},addToGroup:function(b){this.groups[b]=true;this.DDMInstance.regDragDrop(this,b)},removeFromGroup:function(b){if(this.groups[b]){delete this.groups[b]}this.DDMInstance.removeDDFromGroup(this,b)},setDragElId:function(b){this.dragElId=b},setHandleElId:function(b){if(typeof b!=="string"){b=Ext.id(b)}this.handleElId=b;this.DDMInstance.regHandle(this.id,b)},setOuterHandleElId:function(b){if(typeof b!=="string"){b=Ext.id(b)}Ext.EventManager.on(b,"mousedown",this.handleMouseDown,this);this.setHandleElId(b);this.hasOuterHandles=true},unreg:function(){Ext.EventManager.un(this.id,"mousedown",this.handleMouseDown,this);this._domRef=null;this.DDMInstance._remove(this)},destroy:function(){this.unreg()},isLocked:function(){return(this.DDMInstance.isLocked()||this.locked)},handleMouseDown:function(f,d){if(this.primaryButtonOnly&&f.button!=0){return}if(this.isLocked()){return}this.DDMInstance.refreshCache(this.groups);var e=f.getPoint();if(!this.hasOuterHandles&&!this.DDMInstance.isOverTarget(e,this)){}else{if(this.clickValidator(f)){this.setStartPosition();this.b4MouseDown(f);this.onMouseDown(f);this.DDMInstance.handleMouseDown(f,this);this.DDMInstance.stopEvent(f)}else{}}},clickValidator:function(c){var d=c.getTarget();return(this.isValidHandleChild(d)&&(this.id==this.handleElId||this.DDMInstance.handleWasClicked(d,this.id)))},addInvalidHandleType:function(d){var c=d.toUpperCase();this.invalidHandleTypes[c]=c},addInvalidHandleId:function(b){if(typeof b!=="string"){b=Ext.id(b)}this.invalidHandleIds[b]=b},addInvalidHandleClass:function(b){this.invalidHandleClasses.push(b)},removeInvalidHandleType:function(d){var c=d.toUpperCase();delete this.invalidHandleTypes[c]},removeInvalidHandleId:function(b){if(typeof b!=="string"){b=Ext.id(b)}delete this.invalidHandleIds[b]},removeInvalidHandleClass:function(d){for(var f=0,e=this.invalidHandleClasses.length;f<e;++f){if(this.invalidHandleClasses[f]==d){delete this.invalidHandleClasses[f]}}},isValidHandleChild:function(k){var l=true;var i;try{i=k.nodeName.toUpperCase()}catch(j){i=k.nodeName}l=l&&!this.invalidHandleTypes[i];l=l&&!this.invalidHandleIds[k.id];for(var e=0,h=this.invalidHandleClasses.length;l&&e<h;++e){l=!Ext.fly(k).hasCls(this.invalidHandleClasses[e])}return l},setXTicks:function(g,f){this.xTicks=[];this.xTickSize=f;var h={};for(var e=this.initPageX;e>=this.minX;e=e-f){if(!h[e]){this.xTicks[this.xTicks.length]=e;h[e]=true}}for(e=this.initPageX;e<=this.maxX;e=e+f){if(!h[e]){this.xTicks[this.xTicks.length]=e;h[e]=true}}Ext.Array.sort(this.xTicks,this.DDMInstance.numericSort)},setYTicks:function(g,f){this.yTicks=[];this.yTickSize=f;var h={};for(var e=this.initPageY;e>=this.minY;e=e-f){if(!h[e]){this.yTicks[this.yTicks.length]=e;h[e]=true}}for(e=this.initPageY;e<=this.maxY;e=e+f){if(!h[e]){this.yTicks[this.yTicks.length]=e;h[e]=true}}Ext.Array.sort(this.yTicks,this.DDMInstance.numericSort)},setXConstraint:function(f,d,e){this.leftConstraint=f;this.rightConstraint=d;this.minX=this.initPageX-f;this.maxX=this.initPageX+d;if(e){this.setXTicks(this.initPageX,e)}this.constrainX=true},clearConstraints:function(){this.constrainX=false;this.constrainY=false;this.clearTicks()},clearTicks:function(){this.xTicks=null;this.yTicks=null;this.xTickSize=0;this.yTickSize=0},setYConstraint:function(e,f,d){this.topConstraint=e;this.bottomConstraint=f;this.minY=this.initPageY-e;this.maxY=this.initPageY+f;if(d){this.setYTicks(this.initPageY,d)}this.constrainY=true},resetConstraints:function(){if(this.initPageX||this.initPageX===0){var c=(this.maintainOffset)?this.lastPageX-this.initPageX:0;var d=(this.maintainOffset)?this.lastPageY-this.initPageY:0;this.setInitPosition(c,d)}else{this.setInitPosition()}if(this.constrainX){this.setXConstraint(this.leftConstraint,this.rightConstraint,this.xTickSize)}if(this.constrainY){this.setYConstraint(this.topConstraint,this.bottomConstraint,this.yTickSize)}},getTick:function(j,m){if(!m){return j}else{if(m[0]>=j){return m[0]}else{for(var h=0,i=m.length;h<i;++h){var n=h+1;if(m[n]&&m[n]>=j){var k=j-m[h];var l=m[n]-j;return(l>k)?m[h]:m[n]}}return m[m.length-1]}}},toString:function(){return("DragDrop "+this.id)}});Ext.define("Ext.dd.DD",{extend:"Ext.dd.DragDrop",requires:["Ext.dd.DragDropManager"],constructor:function(f,e,d){if(f){this.init(f,e,d)}},scroll:true,autoOffset:function(h,e){var f=h-this.startPageX;var g=e-this.startPageY;this.setDelta(f,g)},setDelta:function(c,d){this.deltaX=c;this.deltaY=d},setDragElPos:function(f,d){var e=this.getDragEl();this.alignElWithMouse(e,f,d)},alignElWithMouse:function(u,r,t){var q=this.getTargetCoord(r,t),s=u.dom?u:Ext.fly(u,"_dd"),l=s.getSize(),o=Ext.Element,n;if(!this.deltaSetXY){n=this.cachedViewportSize={width:o.getDocumentWidth(),height:o.getDocumentHeight()};var v=[Math.max(0,Math.min(q.x,n.width-l.width)),Math.max(0,Math.min(q.y,n.height-l.height))];s.setXY(v);var m=s.getLeft(true);var p=s.getTop(true);this.deltaSetXY=[m-q.x,p-q.y]}else{n=this.cachedViewportSize;s.setLeftTop(Math.max(0,Math.min(q.x+this.deltaSetXY[0],n.width-l.width)),Math.max(0,Math.min(q.y+this.deltaSetXY[1],n.height-l.height)))}this.cachePosition(q.x,q.y);this.autoScroll(q.x,q.y,u.offsetHeight,u.offsetWidth);return q},cachePosition:function(d,e){if(d){this.lastPageX=d;this.lastPageY=e}else{var f=Ext.Element.getXY(this.getEl());this.lastPageX=f[0];this.lastPageY=f[1]}},autoScroll:function(s,t,x,r){if(this.scroll){var q=Ext.Element.getViewHeight();var A=Ext.Element.getViewWidth();var h=this.DDMInstance.getScrollTop();var y=this.DDMInstance.getScrollLeft();var u=x+t;var p=r+s;var v=(q+h-t-this.deltaY);var w=(A+y-s-this.deltaX);var z=40;var B=(document.all)?80:30;if(u>q&&v<z){window.scrollTo(y,h+B)}if(t<h&&h>0&&t-h<z){window.scrollTo(y,h-B)}if(p>A&&w<z){window.scrollTo(y+B,h)}if(s<y&&y>0&&s-y<z){window.scrollTo(y-B,h)}}},getTargetCoord:function(h,e){var f=h-this.deltaX;var g=e-this.deltaY;if(this.constrainX){if(f<this.minX){f=this.minX}if(f>this.maxX){f=this.maxX}}if(this.constrainY){if(g<this.minY){g=this.minY}if(g>this.maxY){g=this.maxY}}f=this.getTick(f,this.xTicks);g=this.getTick(g,this.yTicks);return{x:f,y:g}},applyConfig:function(){this.callParent();this.scroll=(this.config.scroll!==false)},b4MouseDown:function(b){this.autoOffset(b.getPageX(),b.getPageY())},b4Drag:function(b){this.setDragElPos(b.getPageX(),b.getPageY())},toString:function(){return("DD "+this.id)}});Ext.define("Ext.dd.DDProxy",{extend:"Ext.dd.DD",statics:{dragElId:"ygddfdiv"},constructor:function(f,e,d){if(f){this.init(f,e,d);this.initFrame()}},resizeFrame:true,centerFrame:false,createFrame:function(){var e=this;var f=document.body;if(!f||!f.firstChild){setTimeout(function(){e.createFrame()},50);return}var g=this.getDragEl();if(!g){g=document.createElement("div");g.id=this.dragElId;var h=g.style;h.position="absolute";h.visibility="hidden";h.cursor="move";h.border="2px solid #aaa";h.zIndex=999;f.insertBefore(g,f.firstChild)}},initFrame:function(){this.createFrame()},applyConfig:function(){this.callParent();this.resizeFrame=(this.config.resizeFrame!==false);this.centerFrame=(this.config.centerFrame);this.setDragElId(this.config.dragElId||Ext.dd.DDProxy.dragElId)},showFrame:function(h,i){var j=this.getEl();var g=this.getDragEl();var f=g.style;this._resizeProxy();if(this.centerFrame){this.setDelta(Math.round(parseInt(f.width,10)/2),Math.round(parseInt(f.height,10)/2))}this.setDragElPos(h,i);Ext.fly(g).show()},_resizeProxy:function(){if(this.resizeFrame){var b=this.getEl();Ext.fly(this.getDragEl()).setSize(b.offsetWidth,b.offsetHeight)}},b4MouseDown:function(d){var e=d.getPageX();var f=d.getPageY();this.autoOffset(e,f);this.setDragElPos(e,f)},b4StartDrag:function(d,c){this.showFrame(d,c)},b4EndDrag:function(b){Ext.fly(this.getDragEl()).hide()},endDrag:function(f){var d=this.getEl();var e=this.getDragEl();e.style.visibility="";this.beforeMove();d.style.visibility="hidden";Ext.dd.DDM.moveToEl(d,e);e.style.visibility="hidden";d.style.visibility="";this.afterDrag()},beforeMove:function(){},afterDrag:function(){},toString:function(){return("DDProxy "+this.id)}});Ext.define("Ext.dd.DragSource",{extend:"Ext.dd.DDProxy",requires:["Ext.dd.StatusProxy","Ext.dd.DragDropManager"],dropAllowed:Ext.baseCSSPrefix+"dd-drop-ok",dropNotAllowed:Ext.baseCSSPrefix+"dd-drop-nodrop",animRepair:true,repairHighlightColor:"c3daf9",constructor:function(c,d){this.el=Ext.get(c);if(!this.dragData){this.dragData={}}Ext.apply(this,d);if(!this.proxy){this.proxy=Ext.create("Ext.dd.StatusProxy",{animRepair:this.animRepair})}this.callParent([this.el.dom,this.ddGroup||this.group,{dragElId:this.proxy.id,resizeFrame:false,isTarget:false,scroll:this.scroll===true}]);this.dragging=false},getDragData:function(b){return this.dragData},onDragEnter:function(h,g){var e=Ext.dd.DragDropManager.getDDById(g);this.cachedTarget=e;if(this.beforeDragEnter(e,h,g)!==false){if(e.isNotifyTarget){var f=e.notifyEnter(this,h,this.dragData);this.proxy.setStatus(f)}else{this.proxy.setStatus(this.dropAllowed)}if(this.afterDragEnter){this.afterDragEnter(e,h,g)}}},beforeDragEnter:function(d,e,f){return true},alignElWithMouse:function(){this.callParent(arguments);this.proxy.sync()},onDragOver:function(h,g){var e=this.cachedTarget||Ext.dd.DragDropManager.getDDById(g);if(this.beforeDragOver(e,h,g)!==false){if(e.isNotifyTarget){var f=e.notifyOver(this,h,this.dragData);this.proxy.setStatus(f)}if(this.afterDragOver){this.afterDragOver(e,h,g)}}},beforeDragOver:function(d,e,f){return true},onDragOut:function(d,f){var e=this.cachedTarget||Ext.dd.DragDropManager.getDDById(f);if(this.beforeDragOut(e,d,f)!==false){if(e.isNotifyTarget){e.notifyOut(this,d,this.dragData)}this.proxy.reset();if(this.afterDragOut){this.afterDragOut(e,d,f)}}this.cachedTarget=null},beforeDragOut:function(d,e,f){return true},onDragDrop:function(d,f){var e=this.cachedTarget||Ext.dd.DragDropManager.getDDById(f);if(this.beforeDragDrop(e,d,f)!==false){if(e.isNotifyTarget){if(e.notifyDrop(this,d,this.dragData)!==false){this.onValidDrop(e,d,f)}else{this.onInvalidDrop(e,d,f)}}else{this.onValidDrop(e,d,f)}if(this.afterDragDrop){this.afterDragDrop(e,d,f)}}delete this.cachedTarget},beforeDragDrop:function(d,e,f){return true},onValidDrop:function(d,e,f){this.hideProxy();if(this.afterValidDrop){this.afterValidDrop(d,e,f)}},getRepairXY:function(c,d){return this.el.getXY()},onInvalidDrop:function(d,e,f){this.beforeInvalidDrop(d,e,f);if(this.cachedTarget){if(this.cachedTarget.isNotifyTarget){this.cachedTarget.notifyOut(this,e,this.dragData)}this.cacheTarget=null}this.proxy.repair(this.getRepairXY(e,this.dragData),this.afterRepair,this);if(this.afterInvalidDrop){this.afterInvalidDrop(e,f)}},afterRepair:function(){var b=this;if(Ext.enableFx){b.el.highlight(b.repairHighlightColor)}b.dragging=false},beforeInvalidDrop:function(d,e,f){return true},handleMouseDown:function(c){if(this.dragging){return}var d=this.getDragData(c);if(d&&this.onBeforeDrag(d,c)!==false){this.dragData=d;this.proxy.stop();this.callParent(arguments)}},onBeforeDrag:function(d,c){return true},onStartDrag:Ext.emptyFn,startDrag:function(d,c){this.proxy.reset();this.dragging=true;this.proxy.update("");this.onInitDrag(d,c);this.proxy.show()},onInitDrag:function(e,f){var d=this.el.dom.cloneNode(true);d.id=Ext.id();this.proxy.update(d);this.onStartDrag(e,f);return true},getProxy:function(){return this.proxy},hideProxy:function(){this.proxy.hide();this.proxy.reset(true);this.dragging=false},triggerCacheRefresh:function(){Ext.dd.DDM.refreshCache(this.groups)},b4EndDrag:function(b){},endDrag:function(b){this.onEndDrag(this.dragData,b)},onEndDrag:function(d,c){},autoOffset:function(d,c){this.setDelta(-12,-20)},destroy:function(){this.callParent();Ext.destroy(this.proxy)}});Ext.define("Ext.panel.DD",{extend:"Ext.dd.DragSource",requires:["Ext.panel.Proxy"],constructor:function(c,d){this.panel=c;this.dragData={panel:c};this.proxy=Ext.create("Ext.panel.Proxy",c,d);this.callParent([c.el,d]);Ext.defer(function(){var a=c.header,b=c.body;if(a){this.setHandleElId(a.id);b=a.el}b.setStyle("cursor","move");this.scroll=false},200,this)},showFrame:Ext.emptyFn,startDrag:Ext.emptyFn,b4StartDrag:function(d,c){this.proxy.show()},b4MouseDown:function(d){var e=d.getPageX(),f=d.getPageY();this.autoOffset(e,f)},onInitDrag:function(d,c){this.onStartDrag(d,c);return true},createFrame:Ext.emptyFn,getDragEl:function(b){return this.proxy.ghost.el.dom},endDrag:function(b){this.proxy.hide();this.panel.saveState()},autoOffset:function(d,c){d-=this.startPageX;c-=this.startPageY;this.setDelta(d,c)}});Ext.define("Ext.toolbar.Separator",{extend:"Ext.toolbar.Item",alias:"widget.tbseparator",alternateClassName:"Ext.Toolbar.Separator",baseCls:Ext.baseCSSPrefix+"toolbar-separator",focusable:false});Ext.define("Ext.layout.container.boxOverflow.Menu",{extend:"Ext.layout.container.boxOverflow.None",requires:["Ext.toolbar.Separator","Ext.button.Button"],alternateClassName:"Ext.layout.boxOverflow.Menu",noItemsMenuText:'<div class="'+Ext.baseCSSPrefix+'toolbar-no-items">(None)</div>',constructor:function(c){var d=this;d.callParent(arguments);c.beforeLayout=Ext.Function.createInterceptor(c.beforeLayout,this.clearOverflow,this);d.afterCtCls=d.afterCtCls||Ext.baseCSSPrefix+"box-menu-"+c.parallelAfter;d.menuItems=[]},onRemove:function(b){Ext.Array.remove(this.menuItems,b)},handleOverflow:function(i,j){var k=this,l=k.layout,n="get"+l.parallelPrefixCap,h={},m=[null,null];k.callParent(arguments);this.createMenu(i,j);h[l.perpendicularPrefix]=j[l.perpendicularPrefix];h[l.parallelPrefix]=j[l.parallelPrefix]-k.afterCt[n]();m[l.perpendicularSizeIndex]=(i.meta.maxSize-k.menuTrigger["get"+l.perpendicularPrefixCap]())/2;k.menuTrigger.setPosition.apply(k.menuTrigger,m);return{targetSize:h}},clearOverflow:function(j,k){var l=this,m=k?k.width+(l.afterCt?l.afterCt.getWidth():0):0,i=l.menuItems,p=0,n=i.length,o;l.hideTrigger();for(;p<n;p++){i[p].show()}i.length=0;return k?{targetSize:{height:k.height,width:m}}:null},showTrigger:function(){this.menuTrigger.show()},hideTrigger:function(){if(this.menuTrigger!==undefined){this.menuTrigger.hide()}},beforeMenuShow:function(k){var l=this,i=l.menuItems,o=0,j=i.length,m,n;var p=function(a,b){return a.isXType("buttongroup")&&!(b instanceof Ext.toolbar.Separator)};l.clearMenu();k.removeAll();for(;o<j;o++){m=i[o];if(!o&&(m instanceof Ext.toolbar.Separator)){continue}if(n&&(p(m,n)||p(n,m))){k.add("-")}l.addComponentToMenu(k,m);n=m}if(k.items.length<1){k.add(l.noItemsMenuText)}},createMenuConfig:function(h,f){var e=Ext.apply({},h.initialConfig),g=h.toggleGroup;Ext.copyTo(e,h,["iconCls","icon","itemId","disabled","handler","scope","menu"]);Ext.apply(e,{text:h.overflowText||h.text,hideOnClick:f,destroyMenu:false});if(g||h.enableToggle){Ext.apply(e,{group:g,checked:h.pressed,listeners:{checkchange:function(a,b){h.toggle(b)}}})}delete e.ownerCt;delete e.xtype;delete e.id;return e},addComponentToMenu:function(f,e){var d=this;if(e instanceof Ext.toolbar.Separator){f.add("-")}else{if(e.isComponent){if(e.isXType("splitbutton")){f.add(d.createMenuConfig(e,true))}else{if(e.isXType("button")){f.add(d.createMenuConfig(e,!e.menu))}else{if(e.isXType("buttongroup")){e.items.each(function(a){d.addComponentToMenu(f,a)})}else{f.add(Ext.create(Ext.getClassName(e),d.createMenuConfig(e)))}}}}}},clearMenu:function(){var b=this.moreMenu;if(b&&b.items){b.items.each(function(a){if(a.menu){delete a.menu}})}},createMenu:function(v,t){var m=this,o=m.layout,i=o.parallelBefore,r=o.parallelPrefix,u=t[r],p=v.boxes,s=0,n=p.length,q;if(!m.menuTrigger){m.createInnerElements();m.menu=Ext.create("Ext.menu.Menu",{listeners:{scope:m,beforeshow:m.beforeMenuShow}});m.menuTrigger=Ext.create("Ext.button.Button",{ownerCt:m.layout.owner,iconCls:m.layout.owner.menuTriggerCls,ui:o.owner instanceof Ext.toolbar.Toolbar?"default-toolbar":"default",menu:m.menu,getSplitCls:function(){return""},renderTo:m.afterCt})}m.showTrigger();u-=m.afterCt.getWidth();m.menuItems.length=0;for(;s<n;s++){q=p[s];if(q[i]+q[r]>u){m.menuItems.push(q.component);q.component.hide()}}},createInnerElements:function(){var d=this,c=d.layout.getRenderTarget();if(!this.afterCt){c.addCls(Ext.baseCSSPrefix+d.layout.direction+"-box-overflow-body");this.afterCt=c.insertSibling({cls:Ext.layout.container.Box.prototype.innerCls+" "+this.afterCtCls},"before")}},destroy:function(){Ext.destroy(this.menu,this.menuTrigger)}});Ext.define("Ext.layout.container.Box",{alias:["layout.box"],extend:"Ext.layout.container.Container",alternateClassName:"Ext.layout.BoxLayout",requires:["Ext.layout.container.boxOverflow.None","Ext.layout.container.boxOverflow.Menu","Ext.layout.container.boxOverflow.Scroller","Ext.util.Format","Ext.dd.DragDropManager"],defaultMargins:{top:0,right:0,bottom:0,left:0},padding:"0",pack:"start",type:"box",scrollOffset:0,itemCls:Ext.baseCSSPrefix+"box-item",targetCls:Ext.baseCSSPrefix+"box-layout-ct",innerCls:Ext.baseCSSPrefix+"box-inner",bindToOwnerCtContainer:true,availableSpaceOffset:0,reserveOffset:true,shrinkToFit:true,clearInnerCtOnLayout:false,flexSortFn:function(g,h){var b="max"+this.parallelPrefixCap,a=Infinity;g=g.component[b]||a;h=h.component[b]||a;if(!isFinite(g)&&!isFinite(h)){return false}return g-h},minSizeSortFn:function(a,b){return b.available-a.available},constructor:function(d){var c=this;c.callParent(arguments);c.flexSortFn=Ext.Function.bind(c.flexSortFn,c);c.initOverflowHandler()},getChildBox:function(c){c=c.el||this.owner.getComponent(c).el;var d=c.getBox(false,true);return{left:d.left,top:d.top,width:d.width,height:d.height}},calculateChildBox:function(h){var i=this,f=i.calculateChildBoxes(i.getVisibleItems(),i.getLayoutTargetSize()).boxes,j=f.length,g=0;h=i.owner.getComponent(h);for(;g<j;g++){if(f[g].component===h){return f[g]}}},calculateChildBoxes:function(bc,bp){var a4=this,aI=Math,bg=aI.max,bd=Infinity,a6,a9=a4.parallelPrefix,be=a4.parallelPrefixCap,aC=a4.perpendicularPrefix,a8=a4.perpendicularPrefixCap,aW="min"+be,aQ="min"+a8,aH="max"+a8,bo=bp[a9]-a4.scrollOffset,i=bp[aC],aU=a4.padding,ba=aU[a4.parallelBefore],a7=ba+aU[a4.parallelAfter],ay=aU[a4.perpendicularLeftTop],aG=ay+aU[a4.perpendicularRightBottom],aN=bg(0,i-aG),aK=a4.innerCt.getBorderWidth(a4.perpendicularLT+a4.perpendicularRB),a0=a4.pack=="start",aB=a4.pack=="center",aS=a4.pack=="end",aV=Ext.Number.constrain,aA=bc.length,bn=0,aM=0,aF=0,a5=0,aO=0,ax=[],aE=[],aP,aR,bj,a1,aZ,aY,aD,ao,aq,ap,bf,bm,a2,aJ,a3,az,bi,aw,aX,bl,aT,au,bq,bb,bh,aL,av,ar,bk,at;for(aR=0;aR<aA;aR++){bj=bc[aR];aZ=bj[aC];if(!bj.flex||!(a4.align=="stretch"||a4.align=="stretchmax")){if(bj.componentLayout.initialized!==true){a4.layoutItem(bj)}}aY=bj.margins;aL=aY[a4.parallelBefore]+aY[a4.parallelAfter];aq={component:bj,margins:aY};if(bj.flex){aM+=bj.flex;a1=a6}else{if(!(bj[a9]&&aZ)){aD=bj.getSize()}a1=bj[a9]||aD[a9];aZ=aZ||aD[aC]}bn+=aL+(a1||0);aF+=aL+(bj.flex?bj[aW]||0:a1);a5+=aL+(bj[aW]||a1||0);if(typeof aZ!="number"){aZ=bj["get"+a8]()}aO=bg(aO,bg(aZ,bj[aQ]||0)+aY[a4.perpendicularLeftTop]+aY[a4.perpendicularRightBottom]);aq[a9]=a1||a6;aq.dirtySize=bj.componentLayout.lastComponentSize?(aq[a9]!==bj.componentLayout.lastComponentSize[a9]):false;aq[aC]=aZ||a6;ax.push(aq)}if(!a4.autoSize){ap=aF-bo;bf=a5>bo}bm=bg(0,bo-bn-a7-(a4.reserveOffset?a4.availableSpaceOffset:0));if(bf){for(aR=0;aR<aA;aR++){bi=ax[aR];a2=bc[aR][aW]||bc[aR][a9]||bi[a9];bi.dirtySize=bi.dirtySize||bi[a9]!=a2;bi[a9]=a2}}else{if(ap>0){for(aR=0;aR<aA;aR++){aJ=bc[aR];a2=aJ[aW]||0;if(aJ.flex){bi=ax[aR];bi.dirtySize=bi.dirtySize||bi[a9]!=a2;bi[a9]=a2}else{if(a4.shrinkToFit){aE.push({minSize:a2,available:ax[aR][a9]-a2,index:aR})}}}Ext.Array.sort(aE,a4.minSizeSortFn);for(aR=0,a3=aE.length;aR<a3;aR++){az=aE[aR].index;if(az==a6){continue}aJ=bc[az];a2=aE[aR].minSize;bi=ax[az];aw=bi[a9];aX=bg(a2,aw-aI.ceil(ap/(a3-aR)));bl=aw-aX;bi.dirtySize=bi.dirtySize||bi[a9]!=aX;bi[a9]=aX;ap-=bl}bf=(ap>0)}else{bq=bm;bb=aM;au=[];for(aR=0;aR<aA;aR++){bj=bc[aR];if(a0&&bj.flex){au.push(ax[Ext.Array.indexOf(bc,bj)])}}Ext.Array.sort(au,a4.flexSortFn);for(aR=0;aR<au.length;aR++){av=au[aR];bj=av.component;aY=av.margins;bh=aI.ceil((bj.flex/bb)*bq);bh=Math.max(bj["min"+be]||0,aI.min(bj["max"+be]||bd,bh));bq-=bh;bb-=bj.flex;av.dirtySize=av.dirtySize||av[a9]!=bh;av[a9]=bh}}}if(aB){ba+=bm/2}else{if(aS){ba+=bm}}if(a4.owner.dock&&(Ext.isIE6||Ext.isIE7||Ext.isIEQuirks)&&!a4.owner.width&&a4.direction=="vertical"){aP=aO+a4.owner.el.getPadding("lr")+a4.owner.el.getBorderWidth("lr");if(a4.owner.frameSize){aP+=a4.owner.frameSize.left+a4.owner.frameSize.right}aN=Math.min(aN,bp.width=aO+aU.left+aU.right)}for(aR=0;aR<aA;aR++){bj=bc[aR];av=ax[aR];aY=av.margins;bk=aY[a4.perpendicularLeftTop]+aY[a4.perpendicularRightBottom];ba+=aY[a4.parallelBefore];av[a4.parallelBefore]=ba;av[a4.perpendicularLeftTop]=ay+aY[a4.perpendicularLeftTop];if(a4.align=="stretch"){at=aV(aN-bk,bj[aQ]||0,bj[aH]||bd);av.dirtySize=av.dirtySize||av[aC]!=at;av[aC]=at}else{if(a4.align=="stretchmax"){at=aV(aO-bk,bj[aQ]||0,bj[aH]||bd);av.dirtySize=av.dirtySize||av[aC]!=at;av[aC]=at}else{if(a4.align==a4.alignCenteringString){aT=bg(aN,aO)-aK-av[aC];if(aT>0){av[a4.perpendicularLeftTop]=ay+Math.round(aT/2)}}}}ba+=(av[a9]||0)+aY[a4.parallelAfter]}return{boxes:ax,meta:{calculatedWidth:aP,maxSize:aO,nonFlexSize:bn,desiredSize:aF,minimumSize:a5,shortfall:ap,tooNarrow:bf}}},onRemove:function(b){this.callParent(arguments);if(this.overflowHandler){this.overflowHandler.onRemove(b)}},initOverflowHandler:function(){var f=this.overflowHandler;if(typeof f=="string"){f={type:f}}var d="None";if(f&&f.type!==undefined){d=f.type}var e=Ext.layout.container.boxOverflow[d];if(e[this.type]){e=e[this.type]}this.overflowHandler=Ext.create("Ext.layout.container.boxOverflow."+d,this,f)},onLayout:function(){this.callParent();if(this.clearInnerCtOnLayout===true&&this.adjustmentPass!==true){this.innerCt.setSize(null,null)}var l=this,p=l.getLayoutTargetSize(),m=l.getVisibleItems(),q=l.calculateChildBoxes(m,p),n=q.boxes,k=q.meta,j,r,o;if(l.autoSize&&q.meta.desiredSize){p[l.parallelPrefix]=q.meta.desiredSize}if(k.shortfall>0){j=l.overflowHandler;r=k.tooNarrow?"handleOverflow":"clearOverflow";o=j[r](q,p);if(o){if(o.targetSize){p=o.targetSize}if(o.recalculate){m=l.getVisibleItems();q=l.calculateChildBoxes(m,p);n=q.boxes}}}else{l.overflowHandler.clearOverflow()}l.layoutTargetLastSize=p;l.childBoxCache=q;l.updateInnerCtSize(p,q);l.updateChildBoxes(n);l.handleTargetOverflow(p)},animCallback:Ext.emptyFn,updateChildBoxes:function(v){var r=this,x=0,z=v.length,i=[],p=Ext.dd.DDM.getDDById(r.innerCt.id),B,w,y,u,t,A;for(;x<z;x++){w=v[x];u=w.component;if(p&&(p.getDragEl()===u.el.dom)){continue}y=false;B=r.getChildBox(u);if(r.animate){A=r.animate.callback||r.animate;t={layoutAnimation:true,target:u,from:{},to:{},listeners:{}};if(!isNaN(w.width)&&(w.width!=B.width)){y=true;t.to.width=w.width}if(!isNaN(w.height)&&(w.height!=B.height)){y=true;t.to.height=w.height}if(!isNaN(w.left)&&(w.left!=B.left)){y=true;t.to.left=w.left}if(!isNaN(w.top)&&(w.top!=B.top)){y=true;t.to.top=w.top}if(y){i.push(t)}}else{if(w.dirtySize){if(w.width!==B.width||w.height!==B.height){r.setItemSize(u,w.width,w.height)}}if(isNaN(w.left)||isNaN(w.top)){continue}u.setPosition(w.left,w.top)}}z=i.length;if(z){var q=function(a){z-=1;if(!z){r.animCallback(a);r.layoutBusy=false;if(Ext.isFunction(A)){A()}}};var s=function(){r.layoutBusy=true};for(x=0,z=i.length;x<z;x++){t=i[x];t.listeners.afteranimate=q;if(!x){t.listeners.beforeanimate=s}if(r.animate.duration){t.duration=r.animate.duration}u=t.target;delete t.target;u.stopAnimation();u.animate(t)}}},updateInnerCtSize:function(t,v){var p=this,r=Math.max,q=p.align,o=p.padding,u=t.width,m=t.height,l=v.meta,s,n;if(p.direction=="horizontal"){s=u;n=l.maxSize+o.top+o.bottom+p.innerCt.getBorderWidth("tb");if(q=="stretch"){n=m}else{if(q=="middle"){n=r(m,n)}}}else{n=m;s=l.maxSize+o.left+o.right+p.innerCt.getBorderWidth("lr");if(q=="stretch"){s=u}else{if(q=="center"){s=r(u,s)}}}p.getRenderTarget().setSize(s||undefined,n||undefined);if(l.calculatedWidth&&p.owner.el.getWidth()>l.calculatedWidth){p.owner.el.setWidth(l.calculatedWidth)}if(p.innerCt.dom.scrollTop){p.innerCt.dom.scrollTop=0}},handleTargetOverflow:function(h){var e=this.getTarget(),g=e.getStyle("overflow"),f;if(g&&g!="hidden"&&!this.adjustmentPass){f=this.getLayoutTargetSize();if(f.width!=h.width||f.height!=h.height){this.adjustmentPass=true;this.onLayout();return true}}delete this.adjustmentPass},isValidParent:function(h,g,f){var e=h.el?h.el.dom:Ext.getDom(h);return(e&&this.innerCt&&e.parentNode===this.innerCt.dom)||false},getRenderTarget:function(){if(!this.innerCt){this.innerCt=this.getTarget().createChild({cls:this.innerCls,role:"presentation"});this.padding=Ext.util.Format.parseBox(this.padding)}return this.innerCt},renderItem:function(k,i){this.callParent(arguments);var l=this,h=k.getEl(),g=h.dom.style,j=k.margins||k.margin;if(j){if(Ext.isString(j)||Ext.isNumber(j)){j=Ext.util.Format.parseBox(j)}else{Ext.applyIf(j,{top:0,right:0,bottom:0,left:0})}}else{j=Ext.apply({},l.defaultMargins)}j.top+=h.getMargin("t");j.right+=h.getMargin("r");j.bottom+=h.getMargin("b");j.left+=h.getMargin("l");j.height=j.top+j.bottom;j.width=j.left+j.right;g.marginTop=g.marginRight=g.marginBottom=g.marginLeft="0";k.margins=j},destroy:function(){Ext.destroy(this.innerCt,this.overflowHandler);this.callParent(arguments)}});Ext.define("Ext.layout.container.Fit",{extend:"Ext.layout.container.AbstractFit",alias:"layout.fit",alternateClassName:"Ext.layout.FitLayout",requires:["Ext.layout.container.Box"],defaultMargins:{top:0,right:0,bottom:0,left:0},onLayout:function(){var h=this,f,e,g;h.callParent();if(h.owner.items.length){e=h.owner.items.get(0);g=e.margins||h.defaultMargins;f=h.getLayoutTargetSize();f.width-=g.width;f.height-=g.height;h.setItemBox(e,f);if(g.left||g.top){e.setPosition(g.left,g.top)}}},getTargetBox:function(){return this.getLayoutTargetSize()},setItemBox:function(f,d){var e=this;if(f&&d.height>0){if(!e.owner.isFixedWidth()){d.width=undefined}if(!e.owner.isFixedHeight()){d.height=undefined}e.setItemSize(f,d.width,d.height)}},configureItem:function(b){b.layoutManagedHeight=0;b.layoutManagedWidth=0;this.callParent(arguments)}},function(){this.prototype.renderItem=Ext.layout.container.Box.prototype.renderItem});Ext.define("Ext.layout.container.AbstractCard",{extend:"Ext.layout.container.Fit",type:"card",sizeAllCards:false,hideInactive:true,deferredRender:false,beforeLayout:function(){var b=this;b.getActiveItem();if(b.activeItem&&b.deferredRender){b.renderItems([b.activeItem],b.getRenderTarget());return true}else{return this.callParent(arguments)}},renderChildren:function(){if(!this.deferredRender){this.getActiveItem();this.callParent()}},onLayout:function(){var k=this,j=k.activeItem,h=k.getVisibleItems(),l=h.length,i=k.getTargetBox(),n,m;for(n=0;n<l;n++){m=h[n];k.setItemBox(m,i)}if(!k.firstActivated&&j){if(j.fireEvent("beforeactivate",j)!==false){j.fireEvent("activate",j)}k.firstActivated=true}},isValidParent:function(h,g,f){var e=h.el?h.el.dom:Ext.getDom(h);return(e&&e.parentNode===(g.dom||g))||false},getActiveItem:function(){var b=this;if(!b.activeItem&&b.owner){b.activeItem=b.parseActiveItem(b.owner.activeItem)}if(b.activeItem&&b.owner.items.indexOf(b.activeItem)!=-1){return b.activeItem}return null},parseActiveItem:function(b){if(b&&b.isComponent){return b}else{if(typeof b=="number"||b===undefined){return this.getLayoutItems()[b||0]}else{return this.owner.getComponent(b)}}},configureItem:function(c,d){this.callParent([c,d]);if(this.hideInactive&&this.activeItem!==c){c.hide()}else{c.show()}},onRemove:function(b){if(b===this.activeItem){this.activeItem=null;if(this.owner.items.getCount()===0){this.firstActivated=false}}},getAnimation:function(d,e){var f=(d||{}).cardSwitchAnimation;if(f===false){return false}return f||e.cardSwitchAnimation},getNext:function(){var f=arguments[0];var e=this.getLayoutItems(),d=Ext.Array.indexOf(e,this.activeItem);return e[d+1]||(f?e[0]:false)},next:function(){var c=arguments[0],d=arguments[1];return this.setActiveItem(this.getNext(d),c)},getPrev:function(){var f=arguments[0];var e=this.getLayoutItems(),d=Ext.Array.indexOf(e,this.activeItem);return e[d-1]||(f?e[e.length-1]:false)},prev:function(){var c=arguments[0],d=arguments[1];return this.setActiveItem(this.getPrev(d),c)}});Ext.define("Ext.layout.container.Card",{alias:["layout.card"],alternateClassName:"Ext.layout.CardLayout",extend:"Ext.layout.container.AbstractCard",setActiveItem:function(f){var h=this,g=h.owner,i=h.activeItem,j;f=h.parseActiveItem(f);j=g.items.indexOf(f);if(j==-1){j=g.items.items.length;g.add(f)}if(f&&i!=f){if(!f.rendered){h.renderItem(f,h.getRenderTarget(),g.items.length);h.configureItem(f,0)}h.activeItem=f;if(f.fireEvent("beforeactivate",f,i)===false){return false}if(i&&i.fireEvent("beforedeactivate",i,f)===false){return false}if(h.sizeAllCards){h.onLayout()}else{h.setItemBox(f,h.getTargetBox())}h.owner.suspendLayout=true;if(i){if(h.hideInactive){i.hide()}i.fireEvent("deactivate",i,f)}h.owner.suspendLayout=false;if(f.hidden){f.show()}else{h.onLayout()}f.fireEvent("activate",f,i);return f}return false},configureItem:function(b){b.layoutManagedHeight=0;b.layoutManagedWidth=0;this.callParent(arguments)}});Ext.define("Ext.layout.container.HBox",{alias:["layout.hbox"],extend:"Ext.layout.container.Box",alternateClassName:"Ext.layout.HBoxLayout",align:"top",alignCenteringString:"middle",type:"hbox",direction:"horizontal",parallelSizeIndex:0,perpendicularSizeIndex:1,parallelPrefix:"width",parallelPrefixCap:"Width",parallelLT:"l",parallelRB:"r",parallelBefore:"left",parallelBeforeCap:"Left",parallelAfter:"right",parallelPosition:"x",perpendicularPrefix:"height",perpendicularPrefixCap:"Height",perpendicularLT:"t",perpendicularRB:"b",perpendicularLeftTop:"top",perpendicularRightBottom:"bottom",perpendicularPosition:"y",configureItem:function(b){if(b.flex){b.layoutManagedWidth=1}else{b.layoutManagedWidth=2}if(this.align==="stretch"||this.align==="stretchmax"){b.layoutManagedHeight=1}else{b.layoutManagedHeight=2}this.callParent(arguments)}});Ext.define("Ext.layout.container.VBox",{alias:["layout.vbox"],extend:"Ext.layout.container.Box",alternateClassName:"Ext.layout.VBoxLayout",align:"left",alignCenteringString:"center",type:"vbox",direction:"vertical",parallelSizeIndex:1,perpendicularSizeIndex:0,parallelPrefix:"height",parallelPrefixCap:"Height",parallelLT:"t",parallelRB:"b",parallelBefore:"top",parallelBeforeCap:"Top",parallelAfter:"bottom",parallelPosition:"y",perpendicularPrefix:"width",perpendicularPrefixCap:"Width",perpendicularLT:"l",perpendicularRB:"r",perpendicularLeftTop:"left",perpendicularRightBottom:"right",perpendicularPosition:"x",configureItem:function(b){if(b.flex){b.layoutManagedHeight=1}else{b.layoutManagedHeight=2}if(this.align==="stretch"||this.align==="stretchmax"){b.layoutManagedWidth=1}else{b.layoutManagedWidth=2}this.callParent(arguments)}});Ext.define("Ext.toolbar.Toolbar",{extend:"Ext.container.Container",requires:["Ext.toolbar.Fill","Ext.layout.container.HBox","Ext.layout.container.VBox","Ext.FocusManager"],uses:["Ext.toolbar.Separator"],alias:"widget.toolbar",alternateClassName:"Ext.Toolbar",isToolbar:true,baseCls:Ext.baseCSSPrefix+"toolbar",ariaRole:"toolbar",defaultType:"button",vertical:false,enableOverflow:false,menuTriggerCls:Ext.baseCSSPrefix+"toolbar-more-icon",trackMenus:true,itemCls:Ext.baseCSSPrefix+"toolbar-item",initComponent:function(){var c=this,d;if(!c.layout&&c.enableOverflow){c.layout={overflowHandler:"Menu"}}if(c.dock==="right"||c.dock==="left"){c.vertical=true}c.layout=Ext.applyIf(Ext.isString(c.layout)?{type:c.layout}:c.layout||{},{type:c.vertical?"vbox":"hbox",align:c.vertical?"stretchmax":"middle",clearInnerCtOnLayout:true});if(c.vertical){c.addClsWithUI("vertical")}if(c.ui==="footer"){c.ignoreBorderManagement=true}c.callParent();c.addEvents("overflowchange");d=c.vertical?["up","down"]:["left","right"];Ext.FocusManager.subscribe(c,{keys:d})},getRefItems:function(g){var h=this,f=h.callParent(arguments),i=h.layout,j;if(g&&h.enableOverflow){j=i.overflowHandler;if(j&&j.menu){f=f.concat(j.menu.getRefItems(g))}}return f},lookupComponent:function(c){if(Ext.isString(c)){var d=Ext.toolbar.Toolbar.shortcuts[c];if(d){c={xtype:d}}else{c={xtype:"tbtext",text:c}}this.applyDefaults(c)}return this.callParent(arguments)},applyDefaults:function(c){if(!Ext.isString(c)){c=this.callParent(arguments);var d=this.internalDefaults;if(c.events){Ext.applyIf(c.initialConfig,d);Ext.apply(c,d)}else{Ext.applyIf(c,d)}}return c},trackMenu:function(h,f){if(this.trackMenus&&h.menu){var g=f?"mun":"mon",e=this;e[g](h,"mouseover",e.onButtonOver,e);e[g](h,"menushow",e.onButtonMenuShow,e);e[g](h,"menuhide",e.onButtonMenuHide,e)}},constructButton:function(b){return b.events?b:this.createComponent(b,b.split?"splitbutton":this.defaultType)},onBeforeAdd:function(b){if(b.is("field")||(b.is("button")&&this.ui!="footer")){b.ui=b.ui+"-toolbar"}if(b instanceof Ext.toolbar.Separator){b.setUI((this.vertical)?"vertical":"horizontal")}this.callParent(arguments)},onAdd:function(b){this.callParent(arguments);this.trackMenu(b);if(this.disabled){b.disable()}},onRemove:function(b){this.callParent(arguments);this.trackMenu(b,true)},onButtonOver:function(b){if(this.activeMenuBtn&&this.activeMenuBtn!=b){this.activeMenuBtn.hideMenu();b.showMenu();this.activeMenuBtn=b}},onButtonMenuShow:function(b){this.activeMenuBtn=b},onButtonMenuHide:function(b){delete this.activeMenuBtn}},function(){this.shortcuts={"-":"tbseparator"," ":"tbspacer","->":"tbfill"}});Ext.define("Ext.panel.AbstractPanel",{extend:"Ext.container.Container",requires:["Ext.util.MixedCollection","Ext.Element","Ext.toolbar.Toolbar"],baseCls:Ext.baseCSSPrefix+"panel",isPanel:true,componentLayout:"dock",defaultDockWeights:{top:1,left:3,right:5,bottom:7},renderTpl:['<div id="{id}-body" class="{baseCls}-body<tpl if="bodyCls"> {bodyCls}</tpl>',' {baseCls}-body-{ui}<tpl if="uiCls">','<tpl for="uiCls"> {parent.baseCls}-body-{parent.ui}-{.}</tpl>','</tpl>"<tpl if="bodyStyle"> style="{bodyStyle}"</tpl>>',"</div>"],border:true,initComponent:function(){var b=this;b.addEvents("bodyresize");b.addChildEls("body");if(b.frame&&b.border&&b.bodyBorder===undefined){b.bodyBorder=false}if(b.frame&&b.border&&(b.bodyBorder===false||b.bodyBorder===0)){b.manageBodyBorders=true}b.callParent()},initItems:function(){var c=this,d=c.dockedItems;c.callParent();c.dockedItems=Ext.create("Ext.util.MixedCollection",false,c.getComponentId);if(d){c.addDocked(d)}},getDockedComponent:function(b){if(Ext.isObject(b)){b=b.getItemId()}return this.dockedItems.get(b)},getComponent:function(d){var c=this.callParent(arguments);if(c===undefined&&!Ext.isNumber(d)){c=this.getDockedComponent(d)}return c},initBodyStyles:function(){var i=this,g=i.bodyStyle,j=[],f=Ext.Element,h;if(Ext.isFunction(g)){g=g()}if(Ext.isString(g)){j=g.split(";")}else{for(h in g){if(g.hasOwnProperty(h)){j.push(h+":"+g[h])}}}if(i.bodyPadding!==undefined){j.push("padding: "+f.unitizeBox((i.bodyPadding===true)?5:i.bodyPadding))}if(i.frame&&i.bodyBorder){if(!Ext.isNumber(i.bodyBorder)){i.bodyBorder=1}j.push("border-width: "+f.unitizeBox(i.bodyBorder))}delete i.bodyStyle;return j.length?j.join(";"):undefined},initBodyCls:function(){var d=this,e="",f=d.bodyCls;if(f){Ext.each(f,function(a){e+=" "+a});delete d.bodyCls}return e.length>0?e:undefined},initRenderData:function(){return Ext.applyIf(this.callParent(),{bodyStyle:this.initBodyStyles(),bodyCls:this.initBodyCls()})},addDocked:function(h,i){var j=this,g=0,k,l;h=j.prepareItems(h);l=h.length;for(;g<l;g++){k=h[g];k.dock=k.dock||"top";if(j.border===false){}if(i!==undefined){j.dockedItems.insert(i+g,k)}else{j.dockedItems.add(k)}k.onAdded(j,g);j.onDockedAdd(k)}j.componentLayout.childrenChanged=true;if(j.rendered&&!j.suspendLayout){j.doComponentLayout()}return h},onDockedAdd:Ext.emptyFn,onDockedRemove:Ext.emptyFn,insertDocked:function(c,d){this.addDocked(d,c)},removeDocked:function(h,f){var i=this,j,g;if(!i.dockedItems.contains(h)){return h}j=i.componentLayout;g=j&&i.rendered;if(g){j.onRemove(h)}i.dockedItems.remove(h);h.onRemoved();i.onDockedRemove(h);if(f===true||(f!==false&&i.autoDestroy)){h.destroy()}else{if(g){j.afterRemove(h)}}i.componentLayout.childrenChanged=true;if(!i.destroying&&!i.suspendLayout){i.doComponentLayout()}return h},getDockedItems:function(h){var g=this,e=g.defaultDockWeights,f;if(g.dockedItems&&g.dockedItems.items.length){if(h){f=Ext.ComponentQuery.query(h,g.dockedItems.items)}else{f=g.dockedItems.items.slice()}Ext.Array.sort(f,function(c,d){var b=c.weight||e[c.dock],a=d.weight||e[d.dock];if(Ext.isNumber(b)&&Ext.isNumber(a)){return b-a}return 0});return f}return[]},addUIClsToElement:function(h,k){var l=this,i=l.callParent(arguments),m=[Ext.baseCSSPrefix+h,l.baseCls+"-body-"+h,l.baseCls+"-body-"+l.ui+"-"+h],j,n;if(!k&&l.rendered){if(l.bodyCls){l.body.addCls(l.bodyCls)}else{l.body.addCls(m)}}else{if(l.bodyCls){j=l.bodyCls.split(" ");for(n=0;n<m.length;n++){if(!Ext.Array.contains(j,m[n])){j.push(m[n])}}l.bodyCls=j.join(" ")}else{l.bodyCls=m.join(" ")}}return i},removeUIClsFromElement:function(h,k){var l=this,i=l.callParent(arguments),m=[Ext.baseCSSPrefix+h,l.baseCls+"-body-"+h,l.baseCls+"-body-"+l.ui+"-"+h],j,n;if(!k&&l.rendered){if(l.bodyCls){l.body.removeCls(l.bodyCls)}else{l.body.removeCls(m)}}else{if(l.bodyCls){j=l.bodyCls.split(" ");for(n=0;n<m.length;n++){Ext.Array.remove(j,m[n])}l.bodyCls=j.join(" ")}}return i},addUIToElement:function(h){var e=this,f=e.baseCls+"-body-"+e.ui,g;e.callParent(arguments);if(!h&&e.rendered){if(e.bodyCls){e.body.addCls(e.bodyCls)}else{e.body.addCls(f)}}else{if(e.bodyCls){g=e.bodyCls.split(" ");if(!Ext.Array.contains(g,f)){g.push(f)}e.bodyCls=g.join(" ")}else{e.bodyCls=f}}},removeUIFromElement:function(){var d=this,e=d.baseCls+"-body-"+d.ui,f;d.callParent(arguments);if(d.rendered){if(d.bodyCls){d.body.removeCls(d.bodyCls)}else{d.body.removeCls(e)}}else{if(d.bodyCls){f=d.bodyCls.split(" ");Ext.Array.remove(f,e);d.bodyCls=f.join(" ")}else{d.bodyCls=e}}},getTargetEl:function(){return this.body},getRefItems:function(h){var g=this.callParent(arguments),k=this.getDockedItems(h?"*,* *":undefined),i=k.length,l=0,j;for(;l<i;l++){j=k[l];if(j.dock==="right"||j.dock==="bottom"){break}}return Ext.Array.splice(k,0,l).concat(g).concat(k)},beforeDestroy:function(){var c=this.dockedItems,d;if(c){while((d=c.first())){this.removeDocked(d,true)}}this.callParent()},setBorder:function(d){var c=this;c.border=(d!==undefined)?d:true;if(c.rendered){c.doComponentLayout()}}});Ext.define("Ext.panel.Panel",{extend:"Ext.panel.AbstractPanel",requires:["Ext.panel.Header","Ext.fx.Anim","Ext.util.KeyMap","Ext.panel.DD","Ext.XTemplate","Ext.layout.component.Dock","Ext.util.Memento"],alias:"widget.panel",alternateClassName:"Ext.Panel",collapsedCls:"collapsed",animCollapse:Ext.enableFx,minButtonWidth:75,collapsed:false,collapseFirst:true,hideCollapseTool:false,titleCollapse:false,floatable:true,collapsible:false,closable:false,closeAction:"destroy",preventHeader:false,headerPosition:"top",frame:false,frameHeader:true,initComponent:function(){var c=this,d;c.addEvents("beforeclose","beforeexpand","beforecollapse","expand","collapse","titlechange","iconchange");this.addStateEvents("expand","collapse");if(c.unstyled){c.setUI("plain")}if(c.frame){c.setUI(c.ui+"-framed")}c.bridgeToolbars();c.callParent();c.collapseDirection=c.collapseDirection||c.headerPosition||Ext.Component.DIRECTION_TOP},setBorder:function(b){this.callParent(arguments)},beforeDestroy:function(){Ext.destroy(this.ghostPanel,this.dd);this.callParent()},initAria:function(){this.callParent();this.initHeaderAria()},initHeaderAria:function(){var d=this,e=d.el,f=d.header;if(e&&f){e.dom.setAttribute("aria-labelledby",f.titleCmp.id)}},getHeader:function(){return this.header},setTitle:function(f){var d=this,e=this.title;d.title=f;if(d.header){d.header.setTitle(f)}else{d.updateHeader()}if(d.reExpander){d.reExpander.setTitle(f)}d.fireEvent("titlechange",d,f,e)},setIconCls:function(f){var h=this,e=h.iconCls;h.iconCls=f;var g=h.header;if(g){g.setIconCls(f)}h.fireEvent("iconchange",h,f,e)},bridgeToolbars:function(){var h=this,i=[],l,g,j=h.minButtonWidth;function k(c,a,b){if(Ext.isArray(c)){c={xtype:"toolbar",items:c}}else{if(!c.xtype){c.xtype="toolbar"}}c.dock=a;if(a=="left"||a=="right"){c.vertical=true}if(b){c.layout=Ext.applyIf(c.layout||{},{pack:{left:"start",center:"center"}[h.buttonAlign]||"end"})}return c}if(h.tbar){i.push(k(h.tbar,"top"));h.tbar=null}if(h.bbar){i.push(k(h.bbar,"bottom"));h.bbar=null}if(h.buttons){h.fbar=h.buttons;h.buttons=null}if(h.fbar){l=k(h.fbar,"bottom",true);l.ui="footer";if(j){g=l.defaults;l.defaults=function(b){var a=g||{};if((!b.xtype||b.xtype==="button"||(b.isComponent&&b.isXType("button")))&&!("minWidth" in a)){a=Ext.apply({minWidth:j},a)}return a}}i.push(l);h.fbar=null}if(h.lbar){i.push(k(h.lbar,"left"));h.lbar=null}if(h.rbar){i.push(k(h.rbar,"right"));h.rbar=null}if(h.dockedItems){if(!Ext.isArray(h.dockedItems)){h.dockedItems=[h.dockedItems]}h.dockedItems=h.dockedItems.concat(i)}else{h.dockedItems=i}},initTools:function(){var b=this;b.tools=b.tools?Ext.Array.clone(b.tools):[];if(b.collapsible&&!(b.hideCollapseTool||b.header===false)){b.collapseDirection=b.collapseDirection||b.headerPosition||"top";b.collapseTool=b.expandTool=b.createComponent({xtype:"tool",type:"collapse-"+b.collapseDirection,expandType:b.getOppositeDirection(b.collapseDirection),handler:b.toggleCollapse,scope:b});if(b.collapseFirst){b.tools.unshift(b.collapseTool)}}b.addTools();if(b.closable){b.addClsWithUI("closable");b.addTool({type:"close",handler:Ext.Function.bind(b.close,this,[])})}if(b.collapseTool&&!b.collapseFirst){b.tools.push(b.collapseTool)}},addTools:Ext.emptyFn,close:function(){if(this.fireEvent("beforeclose",this)!==false){this.doClose()}},doClose:function(){this.fireEvent("close",this);this[this.closeAction]()},onRender:function(e,f){var g=this,h;g.initTools();g.updateHeader();g.callParent(arguments)},afterRender:function(){var b=this;b.callParent(arguments);if(b.collapsed){b.collapsed=false;b.collapse(null,false,true)}},updateHeader:function(f){var g=this,h=g.header,i=g.title,j=g.tools;if(!g.preventHeader&&(f||i||(j&&j.length))){if(!h){h=g.header=Ext.create("Ext.panel.Header",{title:i,orientation:(g.headerPosition=="left"||g.headerPosition=="right")?"vertical":"horizontal",dock:g.headerPosition||"top",textCls:g.headerTextCls,iconCls:g.iconCls,baseCls:g.baseCls+"-header",tools:j,ui:g.ui,indicateDrag:g.draggable,border:g.border,frame:g.frame&&g.frameHeader,ignoreParentFrame:g.frame||g.overlapHeader,ignoreBorderManagement:g.frame||g.ignoreHeaderBorderManagement,listeners:g.collapsible&&g.titleCollapse?{click:g.toggleCollapse,scope:g}:null});g.addDocked(h,0);g.tools=h.tools}h.show();g.initHeaderAria()}else{if(h){h.hide()}}},setUI:function(c){var d=this;d.callParent(arguments);if(d.header){d.header.setUI(c)}},getContentTarget:function(){return this.body},getTargetEl:function(){return this.body||this.frameBody||this.el},isVisible:function(d){var c=this;if(c.collapsed&&c.placeholder){return c.placeholder.isVisible(d)}return c.callParent(arguments)},onHide:function(){var b=this;if(b.collapsed&&b.placeholder){b.placeholder.hide()}else{b.callParent(arguments)}},onShow:function(){var b=this;if(b.collapsed&&b.placeholder){b.hidden=true;b.placeholder.show()}else{b.callParent(arguments)}},addTool:function(e){var d=this,f=d.header;if(Ext.isArray(e)){Ext.each(e,d.addTool,d);return}d.tools.push(e);if(f){f.addTool(e)}d.updateHeader()},getOppositeDirection:function(d){var c=Ext.Component;switch(d){case c.DIRECTION_TOP:return c.DIRECTION_BOTTOM;case c.DIRECTION_RIGHT:return c.DIRECTION_LEFT;case c.DIRECTION_BOTTOM:return c.DIRECTION_TOP;case c.DIRECTION_LEFT:return c.DIRECTION_RIGHT}},collapse:function(w,J,H){var i=this,x=Ext.Component,G=i.getHeight(),F=i.getWidth(),c,N=0,A=i.dockedItems.items,z=A.length,B=0,y,I,C={from:{height:G,width:F},to:{height:G,width:F},listeners:{afteranimate:i.afterCollapse,scope:i},duration:Ext.Number.from(J,Ext.fx.Anim.prototype.duration)},K,L,E,M,D;if(!w){w=i.collapseDirection}if(H){J=false}else{if(i.collapsed||i.fireEvent("beforecollapse",i,w,J)===false){return false}}E=w;i.expandDirection=i.getOppositeDirection(w);i.hiddenDocked=[];switch(w){case x.DIRECTION_TOP:case x.DIRECTION_BOTTOM:L="horizontal";D="height";M="getHeight";for(;B<z;B++){y=A[B];if(y.isVisible()){if(y.isXType("header",true)&&(!y.dock||y.dock=="top"||y.dock=="bottom")){K=y}else{i.hiddenDocked.push(y)}}else{if(y===i.reExpander){K=y}}}if(w==Ext.Component.DIRECTION_BOTTOM){I=i.getPosition()[1]-Ext.fly(i.el.dom.offsetParent).getRegion().top;C.from.top=I}break;case x.DIRECTION_LEFT:case x.DIRECTION_RIGHT:L="vertical";D="width";M="getWidth";for(;B<z;B++){y=A[B];if(y.isVisible()){if(y.isHeader&&(y.dock=="left"||y.dock=="right")){K=y}else{i.hiddenDocked.push(y)}}else{if(y===i.reExpander){K=y}}}if(w==Ext.Component.DIRECTION_RIGHT){I=i.getPosition()[0]-Ext.fly(i.el.dom.offsetParent).getRegion().left;C.from.left=I}break;default:throw ("Panel collapse must be passed a valid Component collapse direction")}if(J&&i.collapseTool){i.collapseTool.disable()}i.addClsWithUI(i.collapsedCls);if(K&&K.rendered){K.addClsWithUI(i.collapsedCls);K.addClsWithUI(i.collapsedCls+"-"+K.dock);if(i.border&&(!i.frame||(i.frame&&Ext.supports.CSS3BorderRadius))){K.addClsWithUI(i.collapsedCls+"-border-"+K.dock)}c=K.getFrameInfo();N=K[M]()+(c?c[w]:0);K.removeClsWithUI(i.collapsedCls);K.removeClsWithUI(i.collapsedCls+"-"+K.dock);if(i.border&&(!i.frame||(i.frame&&Ext.supports.CSS3BorderRadius))){K.removeClsWithUI(i.collapsedCls+"-border-"+K.dock)}}else{K={hideMode:"offsets",temporary:true,title:i.title,orientation:L,dock:E,textCls:i.headerTextCls,iconCls:i.iconCls,baseCls:i.baseCls+"-header",ui:i.ui,frame:i.frame&&i.frameHeader,ignoreParentFrame:i.frame||i.overlapHeader,indicateDrag:i.draggable,cls:i.baseCls+"-collapsed-placeholder "+Ext.baseCSSPrefix+"docked "+i.baseCls+"-"+i.ui+"-collapsed",renderTo:i.el};if(!i.hideCollapseTool){K[(K.orientation=="horizontal")?"tools":"items"]=[{xtype:"tool",type:"expand-"+i.expandDirection,handler:i.toggleCollapse,scope:i}]}K=i.reExpander=Ext.create("Ext.panel.Header",K);N=K[M]()+((K.frame)?K.frameSize[w]:0);K.hide();i.insertDocked(0,K)}i.reExpander=K;i.reExpander.addClsWithUI(i.collapsedCls);i.reExpander.addClsWithUI(i.collapsedCls+"-"+K.dock);if(i.border&&(!i.frame||(i.frame&&Ext.supports.CSS3BorderRadius))){i.reExpander.addClsWithUI(i.collapsedCls+"-border-"+i.reExpander.dock)}if(w==Ext.Component.DIRECTION_RIGHT){C.to.left=I+(F-N)}else{if(w==Ext.Component.DIRECTION_BOTTOM){C.to.top=I+(G-N)}}C.to[D]=N;if(!i.collapseMemento){i.collapseMemento=new Ext.util.Memento(i)}i.collapseMemento.capture(["width","height","minWidth","minHeight","layoutManagedHeight","layoutManagedWidth"]);i.savedFlex=i.flex;i.minWidth=0;i.minHeight=0;delete i.flex;i.suspendLayout=true;if(J){i.animate(C)}else{i.setSize(C.to.width,C.to.height);if(Ext.isDefined(C.to.left)||Ext.isDefined(C.to.top)){i.setPosition(C.to.left,C.to.top)}i.afterCollapse(false,H)}return i},afterCollapse:function(h,f){var i=this,j=0,g=i.hiddenDocked.length;i.collapseMemento.restore(["minWidth","minHeight"]);if(Ext.Component.VERTICAL_DIRECTION_Re.test(i.expandDirection)){i.layoutManagedHeight=2;i.collapseMemento.restore("width",false)}else{i.layoutManagedWidth=2;i.collapseMemento.restore("height",false)}i.saveScrollTop=i.body.dom.scrollTop;i.body.setStyle("display","none");for(;j<g;j++){i.hiddenDocked[j].hide()}if(i.reExpander){i.reExpander.updateFrame();i.reExpander.show()}i.collapsed=true;i.suspendLayout=false;if(!f){if(i.ownerCt){if(h){i.ownerCt.layout.layout()}}else{if(i.reExpander.temporary){i.doComponentLayout()}}}if(i.resizer){i.resizer.disable()}if(i.collapseTool){i.collapseTool.setType("expand-"+i.expandDirection)}if(!f){i.fireEvent("collapse",i)}if(h&&i.collapseTool){i.collapseTool.enable()}},expand:function(q){var m=this;if(!m.collapsed||m.fireEvent("beforeexpand",m,q)===false){return false}var n=0,p=m.hiddenDocked.length,k=m.expandDirection,i=m.getHeight(),r=m.getWidth(),l,o;if(q&&m.collapseTool){m.collapseTool.disable()}for(;n<p;n++){m.hiddenDocked[n].hidden=false;m.hiddenDocked[n].el.show()}if(m.reExpander){if(m.reExpander.temporary){m.reExpander.hide()}else{m.reExpander.removeClsWithUI(m.collapsedCls);m.reExpander.removeClsWithUI(m.collapsedCls+"-"+m.reExpander.dock);if(m.border&&(!m.frame||(m.frame&&Ext.supports.CSS3BorderRadius))){m.reExpander.removeClsWithUI(m.collapsedCls+"-border-"+m.reExpander.dock)}m.reExpander.updateFrame()}}if(m.collapseTool){m.collapseTool.setType("collapse-"+m.collapseDirection)}m.body.setStyle("display","");m.body.dom.scrollTop=m.saveScrollTop;m.collapsed=false;m.removeClsWithUI(m.collapsedCls);o={to:{},from:{height:i,width:r},listeners:{afteranimate:m.afterExpand,scope:m}};if((k==Ext.Component.DIRECTION_TOP)||(k==Ext.Component.DIRECTION_BOTTOM)){m.collapseMemento.restore("height",false);if(m.height===undefined){m.setCalculatedSize(m.width,null);o.to.height=m.getHeight();m.setCalculatedSize(m.width,o.from.height)}else{if(m.savedFlex){m.flex=m.savedFlex;o.to.height=m.ownerCt.layout.calculateChildBox(m).height;delete m.flex}else{o.to.height=m.height}}if(k==Ext.Component.DIRECTION_TOP){l=m.getPosition()[1]-Ext.fly(m.el.dom.offsetParent).getRegion().top;o.from.top=l;o.to.top=l-(o.to.height-i)}}else{if((k==Ext.Component.DIRECTION_LEFT)||(k==Ext.Component.DIRECTION_RIGHT)){m.collapseMemento.restore("width",false);if(m.width===undefined){m.setCalculatedSize(null,m.height);o.to.width=m.getWidth();m.setCalculatedSize(o.from.width,m.height)}else{if(m.savedFlex){m.flex=m.savedFlex;o.to.width=m.ownerCt.layout.calculateChildBox(m).width;delete m.flex}else{o.to.width=m.width}}if(k==Ext.Component.DIRECTION_LEFT){l=m.getPosition()[0]-Ext.fly(m.el.dom.offsetParent).getRegion().left;o.from.left=l;o.to.left=l-(o.to.width-r)}}}if(q){m.animate(o)}else{m.setCalculatedSize(o.to.width,o.to.height);if(o.to.x){m.setLeft(o.to.x)}if(o.to.y){m.setTop(o.to.y)}m.afterExpand(false)}return m},afterExpand:function(c){var d=this;if(d.savedFlex){d.flex=d.savedFlex;delete d.savedFlex;delete d.width;delete d.height}if(d.collapseMemento){d.collapseMemento.restoreAll()}if(c&&d.ownerCt){Ext.defer(d.ownerCt.doLayout,Ext.isIE6?1:0,d)}if(d.resizer){d.resizer.enable()}d.fireEvent("expand",d);if(c&&d.collapseTool){d.collapseTool.enable()}},toggleCollapse:function(){if(this.collapsed){this.expand(this.animCollapse)}else{this.collapse(this.collapseDirection,this.animCollapse)}return this},getKeyMap:function(){if(!this.keyMap){this.keyMap=Ext.create("Ext.util.KeyMap",this.el,this.keys)}return this.keyMap},initDraggable:function(){this.dd=Ext.create("Ext.panel.DD",this,Ext.isBoolean(this.draggable)?null:this.draggable)},ghostTools:function(){var c=[],d=this.header.query("tool[hidden=false]");if(d.length){Ext.each(d,function(a){c.push({type:a.type})})}else{c=[{type:"placeholder"}]}return c},ghost:function(g){var i=this,f=i.ghostPanel,j=i.getBox(),h;if(!f){f=Ext.create("Ext.panel.Panel",{renderTo:i.floating?i.el.dom.parentNode:document.body,floating:{shadow:false},frame:Ext.supports.CSS3BorderRadius?i.frame:false,overlapHeader:i.overlapHeader,headerPosition:i.headerPosition,baseCls:i.baseCls,cls:i.baseCls+"-ghost "+(g||"")});i.ghostPanel=f}f.floatParent=i.floatParent;if(i.floating){f.setZIndex(Ext.Number.from(i.el.getStyle("zIndex"),0))}else{f.toFront()}h=f.header;if(h){h.suspendLayout=true;Ext.Array.forEach(h.query("tool"),function(a){h.remove(a)});h.suspendLayout=false}f.addTool(i.ghostTools());f.setTitle(i.title);f.setIconCls(i.iconCls);f.el.show();f.setPosition(j.x,j.y);f.setSize(j.width,j.height);i.el.hide();if(i.floatingItems){i.floatingItems.hide()}return f},unghost:function(d,e){var f=this;if(!f.ghostPanel){return}if(d!==false){f.el.show();if(e!==false){f.setPosition(f.ghostPanel.getPosition())}if(f.floatingItems){f.floatingItems.show()}Ext.defer(f.focus,10,f)}f.ghostPanel.el.hide()},initResizable:function(b){if(this.collapsed){b.disabled=true}this.callParent([b])}},function(){this.prototype.animCollapse=Ext.enableFx});Ext.define("Ext.tab.Panel",{extend:"Ext.panel.Panel",alias:"widget.tabpanel",alternateClassName:["Ext.TabPanel"],requires:["Ext.layout.container.Card","Ext.tab.Bar"],tabPosition:"top",removePanelHeader:true,plain:false,itemCls:"x-tabpanel-child",minTabWidth:undefined,maxTabWidth:undefined,deferredRender:true,initComponent:function(){var f=this,d=f.dockedItems||[],e=f.activeTab||0;f.layout=Ext.create("Ext.layout.container.Card",Ext.apply({owner:f,deferredRender:f.deferredRender,itemCls:f.itemCls},f.layout));f.tabBar=Ext.create("Ext.tab.Bar",Ext.apply({},f.tabBar,{dock:f.tabPosition,plain:f.plain,border:f.border,cardLayout:f.layout,tabPanel:f}));if(d&&!Ext.isArray(d)){d=[d]}d.push(f.tabBar);f.dockedItems=d;f.addEvents("beforetabchange","tabchange");f.callParent(arguments);f.setActiveTab(e);f.on("afterlayout",f.afterInitialLayout,f,{single:true})},afterInitialLayout:function(){var c=this,d=c.getComponent(c.activeTab);if(d){c.layout.setActiveItem(d)}},setActiveTab:function(e){var f=this,d;e=f.getComponent(e);if(e){d=f.getActiveTab();if(d&&d!==e&&f.fireEvent("beforetabchange",f,e,d)===false){return false}f.tabBar.setActiveTab(e.tab);f.activeTab=e;if(f.rendered){f.layout.setActiveItem(e)}if(d&&d!==e){f.fireEvent("tabchange",f,e,d)}}},getActiveTab:function(){return this.activeTab},getTabBar:function(){return this.tabBar},onAdd:function(h,j){var i=this,f=h.tabConfig||{},g={xtype:"tab",card:h,disabled:h.disabled,closable:h.closable,hidden:h.hidden,tabBar:i.tabBar};if(h.closeText){g.closeText=h.closeText}f=Ext.applyIf(f,g);h.tab=i.tabBar.insert(j,f);h.on({scope:i,enable:i.onItemEnable,disable:i.onItemDisable,beforeshow:i.onItemBeforeShow,iconchange:i.onItemIconChange,titlechange:i.onItemTitleChange});if(h.isPanel){if(i.removePanelHeader){h.preventHeader=true;if(h.rendered){h.updateHeader()}}if(h.isPanel&&i.border){h.setBorder(false)}}if(this.rendered&&i.items.getCount()===1){i.setActiveTab(0)}},onItemEnable:function(b){b.tab.enable()},onItemDisable:function(b){b.tab.disable()},onItemBeforeShow:function(b){if(b!==this.activeTab){this.setActiveTab(b);return false}},onItemIconChange:function(c,d){c.tab.setIconCls(d);this.getTabBar().doLayout()},onItemTitleChange:function(d,c){d.tab.setText(c);this.getTabBar().doLayout()},doRemove:function(i,f){var j=this,g=j.items,h=g.getCount()>1;if(j.destroying||!h){j.activeTab=null}else{if(i===j.activeTab){j.setActiveTab(i.next()||g.getAt(0))}}j.callParent(arguments);delete i.tab.card;delete i.tab},onRemove:function(f,e){var d=this;f.un({scope:d,enable:d.onItemEnable,disable:d.onItemDisable,beforeshow:d.onItemBeforeShow});if(!d.destroying&&f.tab.ownerCt==d.tabBar){d.tabBar.remove(f.tab)}}});Ext.define("Docs.view.examples.TouchContainer",{extend:"Ext.panel.Panel",alias:"widget.touchexamplecontainer",requires:["Docs.view.examples.Device"],layout:"fit",cls:"example-container iScroll",autoScroll:true,bodyPadding:"10 0 5 0",exampleBaseUrl:"touch/examples/",initComponent:function(){this.dockedItems=[{xtype:"container",dock:"top",html:['<h1 class="example-title">Example</h1>','<div class="cls-grouping example-toolbar">','<div class="devices">','<button class="phone selected">Phone</button>','<button class="tablet">Tablet</button>',"</div>",'<span class="separator"> </span>','<div class="orientations">','<button class="landscape selected">Landscape</button>','<button class="portrait">Portrait</button>',"<div>",'<span class="separator"> </span>',"<div>",'<button class="new-window">Open in new window</button>',"<div>","</div>"].join("")}];if(Docs.exampleBaseUrl){this.exampleBaseUrl=Docs.exampleBaseUrl}this.callParent(arguments)},load:function(b){this.title=b.text+" Example";this.device=Ext.create("Docs.view.examples.Device",{url:this.exampleBaseUrl+b.url,device:b.device||"phone",orientation:b.orientation||"landscape"});this.refresh()},refresh:function(){this.update(this.device.toHtml());this.updateScale();this.updateTitle();this.updateButtons()},setDevice:function(b){this.device.setDevice(b);this.refresh()},setOrientation:function(b){this.device.setOrientation(b);this.refresh()},updateScale:function(){var b=Ext.query("iframe",this.el.dom)[0];if(b){b.onload=Ext.Function.bind(function(){var d=document.createElement("style");var a="html { overflow: hidden }";if(this.device.getDevice()==="tablet"){a+="body { font-size: 79.8% !important; }"}d.innerHTML=a;b.contentWindow.document.body.appendChild(d)},this)}},updateTitle:function(){Ext.get(Ext.query(".example-title")).update(this.title)},updateButtons:function(){Ext.Array.each(Ext.query(".example-toolbar .orientations button"),function(b){Ext.get(b).removeCls("selected")});Ext.get(Ext.query(".example-toolbar .orientations button."+this.device.getOrientation())).addCls("selected");Ext.Array.each(Ext.query(".example-toolbar .devices button"),function(b){Ext.get(b).removeCls("selected")});Ext.get(Ext.query(".example-toolbar .devices button."+this.device.getDevice())).addCls("selected")},clear:function(){this.update("")}});Ext.define("Docs.view.cls.Toolbar",{extend:"Ext.toolbar.Toolbar",requires:["Docs.view.HoverMenuButton","Docs.Settings","Ext.form.field.Checkbox"],dock:"top",cls:"member-links",padding:"3 5",style:"border-width: 1px 1px 1px 1px !important;",docClass:{},initComponent:function(){this.addEvents("hideInherited","filter","toggleExpanded");this.items=[];this.memberButtons={};var g=this;var i={cfg:"Configs",property:"Properties",method:"Methods",event:"Events"};for(var k in i){var h=this.docClass.members[k];var j=this.docClass.statics[k];if(h.length||j.length){var l=this.createMemberButton({text:i[k],type:k,members:h.concat(j)});this.memberButtons[k]=l;this.items.push(l)}}if(this.docClass.subclasses.length){this.items.push(this.createClassListButton("Sub Classes",this.docClass.subclasses))}if(this.docClass.mixedInto.length){this.items.push(this.createClassListButton("Mixed Into",this.docClass.mixedInto))}this.items=this.items.concat([{xtype:"tbspacer",width:10},this.filterField=Ext.widget("triggerfield",{triggerCls:"reset",cls:"member-filter",hideTrigger:true,emptyText:"Filter class members",enableKeyEvents:true,listeners:{keyup:function(a){this.fireEvent("filter",a.getValue());a.setHideTrigger(a.getValue().length===0)},specialkey:function(a,b){if(b.keyCode===Ext.EventObject.ESC){a.reset();this.fireEvent("filter","")}},scope:this},onTriggerClick:function(){this.reset();this.focus();g.fireEvent("filter","");this.setHideTrigger(true)}}),{xtype:"tbfill"},{boxLabel:"Hide inherited",boxLabelAlign:"before",xtype:"checkbox",margin:"0 5 0 0",padding:"0 0 5 0",checked:Docs.Settings.get("hideInherited"),handler:function(a){this.fireEvent("hideInherited",a.checked)},scope:this},{xtype:"button",iconCls:"expandAllMembers",tooltip:"Expand all",enableToggle:true,toggleHandler:function(b,a){b.setIconCls(a?"collapseAllMembers":"expandAllMembers");b.setTooltip(a?"Collapse all":"Expand all");this.fireEvent("toggleExpanded",a)},scope:this}]);this.callParent(arguments)},createMemberButton:function(d){var c=Ext.Array.map(d.members,function(a){return this.createLinkRecord(this.docClass.name,a)},this);return Ext.create("Docs.view.HoverMenuButton",{text:d.text,cls:"icon-"+d.type,store:this.createStore(c),showCount:true,listeners:{click:function(){this.up("classoverview").scrollToEl("#m-"+d.type)},scope:this}})},createClassListButton:function(f,e){var d=Ext.Array.map(e,function(a){return this.createLinkRecord(a)},this);return Ext.create("Docs.view.HoverMenuButton",{text:f,cls:"icon-subclass",showCount:true,store:this.createStore(d)})},createStore:function(c){var d=Ext.create("Ext.data.Store",{fields:["id","cls","url","label","inherited","static","protected","deprecated","template","required"]});d.add(c);return d},createLinkRecord:function(d,c){return{cls:d,url:c?(d+"-"+c.id):d,label:c?((c.tagname==="method"&&c.name==="constructor")?"new "+d:c.name):d,inherited:c?c.owner!==d:false,"protected":c?c["protected"]:false,"static":c?c["static"]:false,deprecated:c?c.deprecated:false,template:c?c.template:false,required:c?c.required:false}},hideInherited:function(b){Ext.Array.forEach(["cfg","property","method","event"],function(d){if(this.memberButtons[d]){var a=this.memberButtons[d].getStore();if(b){a.filterBy(function(c){return !c.get("inherited")})}else{a.clearFilter()}}},this)},getFilterValue:function(){return this.filterField.getValue()}});Ext.define("Docs.view.examples.InlineEditor",{extend:"Ext.Panel",style:"border: 0",bodyPadding:2,bodyStyle:"background: #f7f7f7",autoScroll:true,initComponent:function(){this.addEvents("change");this.on("afterlayout",this.initCodeMirror,this);this.callParent(arguments)},initCodeMirror:function(b){if(!this.codemirror){this.codemirror=CodeMirror(this.body,{mode:"javascript",indentUnit:4,value:this.value,onChange:Ext.Function.bind(function(a){this.fireEvent("change")},this)})}},refresh:function(){this.codemirror.refresh()},getValue:function(){return this.codemirror?this.codemirror.getValue():this.value},getHeight:function(){var b=this.el.down(".CodeMirror-lines");return b?b.getHeight():undefined},selectAll:function(){var d=this.codemirror.lineCount()-1;var c=this.codemirror.getLine(d).length;this.codemirror.setSelection({line:0,ch:0},{line:d,ch:c})}});Ext.define("Docs.view.examples.InlinePreview",{extend:"Ext.Panel",requires:["Docs.view.examples.Device"],bodyPadding:"0 10",statics:{iframeId:0},options:{},initComponent:function(){this.html=this.getHtml();this.callParent(arguments)},getHtml:function(){if(Docs.touchExamplesUi){return Ext.create("Docs.view.examples.Device",{id:this.getIframeId(),device:this.options.device,orientation:this.options.orientation}).toHtml()}else{var b=new Ext.XTemplate('<iframe id="{id}" style="width: 100%; height: 100%; border: 0"></iframe>');return b.apply({id:this.getIframeId()})}},update:function(f){var e=this.options;var d=document.getElementById(this.getIframeId());if(d){d.onload=function(){Ext.Function.defer(function(){d.contentWindow.refreshPage(f,e)},100)};d.src=Docs.touchExamplesUi?"touchIframe.html":"extIframe.html"}},getIframeId:function(){if(!this.iframeId){this.statics().iframeId+=1;this.iframeId="egIframe"+this.statics().iframeId}return this.iframeId},getHeight:function(){return document.getElementById(this.getIframeId()).parentNode.clientHeight}});Ext.define("Docs.view.examples.Inline",{extend:"Ext.Panel",alias:"widget.inlineexample",requires:["Docs.view.examples.InlineEditor","Docs.view.examples.InlinePreview"],componentCls:"inline-example-cmp",layout:"card",border:0,resizable:{transparent:true,handles:"s",constrainTo:false},maxCodeHeight:400,dockedItems:[{xtype:"toolbar",dock:"left",padding:"0 2",style:"background: none;",items:[{iconCls:"code",padding:"0 2 0 0",margin:0,tooltip:"Code"},{padding:0,margin:0,iconCls:"preview",tooltip:"Preview"},{padding:0,margin:0,iconCls:"copy",tooltip:"Select"}]}],options:{},initComponent:function(){this.options=Ext.apply({device:"phone",orientation:"landscape"},this.options);this.items=[this.editor=Ext.create("Docs.view.examples.InlineEditor",{cmpName:"code",value:this.value,listeners:{change:this.updateHeight,scope:this}}),this.preview=Ext.create("Docs.view.examples.InlinePreview",{cmpName:"preview",options:this.options})];this.activeItem=this.options.preview?1:0;this.on("afterrender",this.init,this);this.callParent(arguments)},init:function(){var b=this.layout.getActiveItem();if(b.cmpName==="preview"){this.showPreview()}this.updateHeight()},showCode:function(){this.layout.setActiveItem(0);this.updateHeight()},showPreview:function(){this.preview.update(this.editor.getValue());this.layout.setActiveItem(1);this.updateHeight()},updateHeight:function(){var c=this.preview.getHeight();var d=this.editor.getHeight();if(Docs.touchExamplesUi&&c>0){this.setHeight(c)}else{if(d>0){this.setHeight(Ext.Number.constrain(d,0,this.maxCodeHeight))}}}});Ext.define("Docs.view.cls.Overview",{extend:"Ext.panel.Panel",alias:"widget.classoverview",requires:["Docs.view.cls.Toolbar","Docs.view.examples.Inline","Docs.Syntax","Docs.Settings"],cls:"class-overview iScroll",autoScroll:true,border:false,bodyPadding:"20 8 20 5",initComponent:function(){this.addEvents("afterload");this.callParent(arguments)},scrollToEl:function(i){var k=Ext.get(Ext.query(i)[0]);if(k){var j=k.hasCls("member");var g=k.getY()-(j?165:155);var l=this.getEl().down(".x-panel-body");var h=l.getScroll()["top"];l.scrollTo("top",h+g);if(j&&k.down(".expandable")){k.addCls("open")}k.highlight()}},load:function(b){this.docClass=b;if(this.toolbar){this.removeDocked(this.toolbar,false);this.toolbar.destroy()}this.toolbar=Ext.create("Docs.view.cls.Toolbar",{docClass:this.docClass,listeners:{hideInherited:function(a){this.filterMembers(this.toolbar.getFilterValue(),a)},filter:function(a){this.filterMembers(a,Docs.Settings.get("hideInherited"))},scope:this}});this.addDocked(this.toolbar);this.update(b.html);Docs.Syntax.highlight(this.getEl());if(Docs.Settings.get("hideInherited")){this.filterMembers("",true)}this.fireEvent("afterload")},filterMembers:function(e,g){Docs.Settings.set("hideInherited",g);var f=e.length>0;Ext.Array.forEach(Ext.query(".doc-contents, .hierarchy"),function(a){Ext.get(a).setStyle({display:f?"none":"block"})});var h=new RegExp(Ext.String.escapeRegex(e),"i");this.eachMember(function(b){var a=Ext.get(b.id);var c=!g||(b.owner===this.docClass.name);var d=!f||h.test(b.name);if(c&&d){a.setStyle({display:"block"})}else{a.setStyle({display:"none"})}},this);Ext.Array.forEach(Ext.query(".member.first-child"),function(a){Ext.get(a).removeCls("first-child")});Ext.Array.forEach(["cfg","property","method","event","css_var","css_mixin"],function(d){var c="#m-"+d;var a=this.getVisibleElements(c+" .member");var b=Ext.query(c)[0];b&&Ext.get(b).setStyle({display:a.length>0?"block":"none"});Ext.Array.forEach(Ext.query(c+" .subsection"),function(l){var k=this.getVisibleElements(".member",l);if(k.length>0){k[0].addCls("first-child");Ext.get(l).setStyle({display:"block"})}else{Ext.get(l).setStyle({display:"none"})}},this)},this);this.toolbar.hideInherited(g)},getVisibleElements:function(e,d){var f=Ext.Array.map(Ext.query(e,d),function(a){return Ext.get(a)});return Ext.Array.filter(f,function(a){return a.isVisible()})},eachMember:function(c,d){Ext.Array.forEach(["members","statics"],function(a){Ext.Object.each(this.docClass[a],function(b,f){Ext.Array.forEach(f,c,d)},this)},this)}});Ext.define("Docs.view.cls.Container",{extend:"Ext.container.Container",alias:"widget.classcontainer",requires:["Docs.view.cls.Header","Docs.view.cls.Overview"],layout:{type:"vbox",align:"stretch"},padding:"5 10 0 10",initComponent:function(){this.items=[Ext.create("Docs.view.cls.Header"),Ext.create("Docs.view.cls.Overview",{flex:1})];this.callParent(arguments)}});Ext.define("Ext.panel.Table",{extend:"Ext.panel.Panel",alias:"widget.tablepanel",uses:["Ext.selection.RowModel","Ext.grid.Scroller","Ext.grid.header.Container","Ext.grid.Lockable"],extraBaseCls:Ext.baseCSSPrefix+"grid",extraBodyCls:Ext.baseCSSPrefix+"grid-body",layout:"fit",hasView:false,viewType:null,selType:"rowmodel",scrollDelta:40,scroll:true,deferRowRender:true,sortableColumns:true,enableLocking:false,verticalScrollDock:"right",verticalScrollerType:"gridscroller",horizontalScrollerPresentCls:Ext.baseCSSPrefix+"horizontal-scroller-present",verticalScrollerPresentCls:Ext.baseCSSPrefix+"vertical-scroller-present",scrollerOwner:true,invalidateScrollerOnRefresh:true,enableColumnMove:true,enableColumnResize:true,enableColumnHide:true,initComponent:function(){if(!this.viewType){Ext.Error.raise("You must specify a viewType config.")}if(this.headers){Ext.Error.raise("The headers config is not supported. Please specify columns instead.")}var l=this,j=l.scroll,o=false,p=false,k=l.columns||l.colModel,m=0,i,n=l.border;if(l.hideHeaders){n=false}l.store=Ext.data.StoreManager.lookup(l.store||"ext-empty-store");if(k instanceof Ext.grid.header.Container){l.headerCt=k;l.headerCt.border=n;l.columns=l.headerCt.items.items}else{if(Ext.isArray(k)){k={items:k,border:n}}Ext.apply(k,{forceFit:l.forceFit,sortable:l.sortableColumns,enableColumnMove:l.enableColumnMove,enableColumnResize:l.enableColumnResize,enableColumnHide:l.enableColumnHide,border:n});l.columns=k.items;if(l.enableLocking||Ext.ComponentQuery.query("{locked !== undefined}{processed != true}",l.columns).length){l.self.mixin("lockable",Ext.grid.Lockable);l.injectLockable()}}l.addEvents("reconfigure","viewready","scrollerhide","scrollershow");l.bodyCls=l.bodyCls||"";l.bodyCls+=(" "+l.extraBodyCls);l.cls=l.cls||"";l.cls+=(" "+l.extraBaseCls);delete l.autoScroll;if(!l.hasView){if(!l.headerCt){l.headerCt=Ext.create("Ext.grid.header.Container",k)}l.columns=l.headerCt.items.items;if(l.hideHeaders){l.headerCt.height=0;l.headerCt.border=false;l.headerCt.addCls(Ext.baseCSSPrefix+"grid-header-ct-hidden");l.addCls(Ext.baseCSSPrefix+"grid-header-hidden");if(Ext.isIEQuirks){l.headerCt.style={display:"none"}}}if(j===true||j==="both"){o=p=true}else{if(j==="horizontal"){p=true}else{if(j==="vertical"){o=true}else{l.headerCt.availableSpaceOffset=0}}}if(o){l.verticalScroller=Ext.ComponentManager.create(l.initVerticalScroller());l.mon(l.verticalScroller,{bodyscroll:l.onVerticalScroll,scope:l})}if(p){l.horizontalScroller=Ext.ComponentManager.create(l.initHorizontalScroller());l.mon(l.horizontalScroller,{bodyscroll:l.onHorizontalScroll,scope:l})}l.headerCt.on("resize",l.onHeaderResize,l);l.relayHeaderCtEvents(l.headerCt);l.features=l.features||[];if(!Ext.isArray(l.features)){l.features=[l.features]}l.dockedItems=l.dockedItems||[];l.dockedItems.unshift(l.headerCt);l.viewConfig=l.viewConfig||{};l.viewConfig.invalidateScrollerOnRefresh=l.invalidateScrollerOnRefresh;i=l.getView();i.on({afterrender:function(){i.el.scroll=Ext.Function.bind(l.elScroll,l);l.mon(i.el,{mousewheel:l.onMouseWheel,scope:l})},single:true});l.items=[i];l.hasView=true;l.mon(i.store,{load:l.onStoreLoad,scope:l});l.mon(i,{viewReady:l.onViewReady,resize:l.onViewResize,refresh:{fn:l.onViewRefresh,scope:l,buffer:50},scope:l});this.relayEvents(i,["beforeitemmousedown","beforeitemmouseup","beforeitemmouseenter","beforeitemmouseleave","beforeitemclick","beforeitemdblclick","beforeitemcontextmenu","itemmousedown","itemmouseup","itemmouseenter","itemmouseleave","itemclick","itemdblclick","itemcontextmenu","beforecontainermousedown","beforecontainermouseup","beforecontainermouseover","beforecontainermouseout","beforecontainerclick","beforecontainerdblclick","beforecontainercontextmenu","containermouseup","containermouseover","containermouseout","containerclick","containerdblclick","containercontextmenu","selectionchange","beforeselect","select","beforedeselect","deselect"])}l.callParent(arguments)},onRender:function(){var d=this.verticalScroller,c=this.horizontalScroller;if(d){d.ensureDimension()}if(c){c.ensureDimension()}this.callParent(arguments)},initStateEvents:function(){var b=this.stateEvents;Ext.each(["columnresize","columnmove","columnhide","columnshow","sortchange"],function(a){if(Ext.Array.indexOf(b,a)){b.push(a)}});this.callParent()},initHorizontalScroller:function(){var c=this,d={xtype:"gridscroller",dock:"bottom",section:c,store:c.store};return d},initVerticalScroller:function(){var c=this,d=c.verticalScroller||{};Ext.applyIf(d,{xtype:c.verticalScrollerType,dock:c.verticalScrollDock,store:c.store});return d},relayHeaderCtEvents:function(b){this.relayEvents(b,["columnresize","columnmove","columnhide","columnshow","sortchange"])},getState:function(){var e=this,d=e.callParent(),f=e.store.sorters.first();d.columns=(e.headerCt||e).getColumnsState();if(f){d.sort={property:f.property,direction:f.direction}}return d},applyState:function(i){var j=this,h=i.sort,g=j.store,f=i.columns;delete i.columns;j.callParent(arguments);if(f){(j.headerCt||j).applyColumnsState(f)}if(h){if(g.remoteSort){g.sorters.add(Ext.create("Ext.util.Sorter",{property:h.property,direction:h.direction}))}else{g.sort(h.property,h.direction)}}},getStore:function(){return this.store},getView:function(){var d=this,c;if(!d.view){c=d.getSelectionModel();d.view=d.createComponent(Ext.apply({},d.viewConfig,{deferInitialRefresh:d.deferRowRender,xtype:d.viewType,store:d.store,headerCt:d.headerCt,selModel:c,features:d.features,panel:d}));d.mon(d.view,{uievent:d.processEvent,scope:d});c.view=d.view;d.headerCt.view=d.view;d.relayEvents(d.view,["cellclick","celldblclick"])}return d.view},setAutoScroll:Ext.emptyFn,elScroll:function(i,h,f){var j=this,g;if(i==="up"||i==="left"){h=-h}if(i==="down"||i==="up"){g=j.getVerticalScroller();if(g){g.scrollByDeltaY(h)}}else{g=j.getHorizontalScroller();if(g){g.scrollByDeltaX(h)}}},processEvent:function(n,e,j,p,o,l){var m=this,k;if(o!==-1){k=m.headerCt.getGridColumns()[o];return k.processEvent.apply(k,arguments)}},determineScrollbars:function(){if(this.determineScrollbarsRunning){return}this.determineScrollbarsRunning=true;var q=this,p=q.view,u,x,t,o,m,s,r=q.verticalScroller,v=q.horizontalScroller,n=(r&&r.ownerCt===q?1:0)|(v&&v.ownerCt===q?2:0),w=0;if(!q.collapsed&&p&&p.viewReady){u=p.el.getSize();o=u.width+((n&1)?r.width:0);s=u.height+((n&2)?v.height:0);t=(q.headerCt.query("[flex]").length&&!q.headerCt.layout.tooNarrow)?0:q.headerCt.getFullWidth();if(r&&r.el){m=r.getSizeCalculation().height}else{x=p.el.child("table",true);m=x?x.offsetHeight:0}if(m>s){w=1;if(v&&((o-t)<r.width)){w=3}}else{if(t>o){w=2;if(r&&((s-m)<v.height)){w=3}}}if(w!==n){q.suspendLayout=true;if(w&1){q.showVerticalScroller()}else{q.hideVerticalScroller()}if(w&2){q.showHorizontalScroller()}else{q.hideHorizontalScroller()}q.suspendLayout=false;q.doComponentLayout();q.getLayout().layout()}}delete q.determineScrollbarsRunning},onViewResize:function(){this.determineScrollbars()},afterComponentLayout:function(){this.callParent(arguments);this.determineScrollbars();this.invalidateScroller()},onHeaderResize:function(){if(!this.componentLayout.layoutBusy&&this.view&&this.view.rendered){this.determineScrollbars();this.invalidateScroller()}},afterCollapse:function(){var b=this;if(b.verticalScroller){b.verticalScroller.saveScrollPos()}if(b.horizontalScroller){b.horizontalScroller.saveScrollPos()}b.callParent(arguments)},afterExpand:function(){var b=this;b.callParent(arguments);if(b.verticalScroller){b.verticalScroller.restoreScrollPos()}if(b.horizontalScroller){b.horizontalScroller.restoreScrollPos()}},hideHorizontalScroller:function(){var b=this;if(b.horizontalScroller&&b.horizontalScroller.ownerCt===b){b.verticalScroller.setReservedSpace(0);b.removeDocked(b.horizontalScroller,false);b.removeCls(b.horizontalScrollerPresentCls);b.fireEvent("scrollerhide",b.horizontalScroller,"horizontal")}},showHorizontalScroller:function(){var b=this;if(b.verticalScroller){b.verticalScroller.setReservedSpace(Ext.getScrollbarSize().height-1)}if(b.horizontalScroller&&b.horizontalScroller.ownerCt!==b){b.addDocked(b.horizontalScroller);b.addCls(b.horizontalScrollerPresentCls);b.fireEvent("scrollershow",b.horizontalScroller,"horizontal")}},hideVerticalScroller:function(){var b=this;b.setHeaderReserveOffset(false);if(b.verticalScroller&&b.verticalScroller.ownerCt===b){b.removeDocked(b.verticalScroller,false);b.removeCls(b.verticalScrollerPresentCls);b.fireEvent("scrollerhide",b.verticalScroller,"vertical")}},showVerticalScroller:function(){var b=this;b.setHeaderReserveOffset(true);if(b.verticalScroller&&b.verticalScroller.ownerCt!==b){b.addDocked(b.verticalScroller);b.addCls(b.verticalScrollerPresentCls);b.fireEvent("scrollershow",b.verticalScroller,"vertical")}},setHeaderReserveOffset:function(e){var f=this.headerCt,d=f.layout;if(d&&d.reserveOffset!==e){d.reserveOffset=e;if(!this.suspendLayout){f.doLayout()}}},invalidateScroller:function(){var d=this,e=d.verticalScroller,f=d.horizontalScroller;if(e){e.invalidate()}if(f){f.invalidate()}},onHeaderMove:function(h,g,f,e){this.view.refresh()},onHeaderHide:function(d,c){this.invalidateScroller()},onHeaderShow:function(d,c){this.invalidateScroller()},getVerticalScroller:function(){return this.getScrollerOwner().down("gridscroller[dock="+this.verticalScrollDock+"]")},getHorizontalScroller:function(){return this.getScrollerOwner().down("gridscroller[dock=bottom]")},onMouseWheel:function(u){var t=this,x=t.getVerticalScroller(),s=t.getHorizontalScroller(),E=-t.scrollDelta,D=u.getWheelDeltas(),z=E*D.x,A=E*D.y,v,r,F,e,C,y,w,B;if(s){r=s.scrollEl;if(r){e=r.dom;y=e.scrollLeft!==e.scrollWidth-e.clientWidth;C=e.scrollLeft!==0}}if(x){v=x.scrollEl;if(v){F=v.dom;w=F.scrollTop!==F.scrollHeight-F.clientHeight;B=F.scrollTop!==0}}if(s){if((z<0&&C)||(z>0&&y)){u.stopEvent();s.scrollByDeltaX(z)}}if(x){if((A<0&&B)||(A>0&&w)){u.stopEvent();x.scrollByDeltaY(A)}}},onViewReady:function(){var b=this;b.fireEvent("viewready",b);if(b.deferRowRender){b.determineScrollbars();b.invalidateScroller()}},onViewRefresh:function(){var b=this;if(!b.rendering){this.determineScrollbars();if(this.invalidateScrollerOnRefresh){this.invalidateScroller()}}},setScrollTop:function(g){var h=this,e=h.getScrollerOwner(),f=h.getVerticalScroller();e.virtualScrollTop=g;if(f){f.setScrollTop(g)}},getScrollerOwner:function(){var b=this;if(!this.scrollerOwner){b=this.up("[scrollerOwner]")}return b},scrollByDeltaY:function(d){var c=this.getVerticalScroller();if(c){c.scrollByDeltaY(d)}},scrollByDeltaX:function(d){var c=this.getHorizontalScroller();if(c){c.scrollByDeltaX(d)}},getLhsMarker:function(){var b=this;if(!b.lhsMarker){b.lhsMarker=Ext.DomHelper.append(b.el,{cls:Ext.baseCSSPrefix+"grid-resize-marker"},true)}return b.lhsMarker},getRhsMarker:function(){var b=this;if(!b.rhsMarker){b.rhsMarker=Ext.DomHelper.append(b.el,{cls:Ext.baseCSSPrefix+"grid-resize-marker"},true)}return b.rhsMarker},getSelectionModel:function(){if(!this.selModel){this.selModel={}}var c="SINGLE",d;if(this.simpleSelect){c="SIMPLE"}else{if(this.multiSelect){c="MULTI"}}Ext.applyIf(this.selModel,{allowDeselect:this.allowDeselect,mode:c});if(!this.selModel.events){d=this.selModel.selType||this.selType;this.selModel=Ext.create("selection."+d,this.selModel)}if(!this.selModel.hasRelaySetup){this.relayEvents(this.selModel,["selectionchange","beforeselect","beforedeselect","select","deselect"]);this.selModel.hasRelaySetup=true}if(this.disableSelection){this.selModel.locked=true}return this.selModel},onVerticalScroll:function(j,i){var g=this.getScrollerOwner(),l=g.query("tableview"),k=0,h=l.length;for(;k<h;k++){l[k].el.dom.scrollTop=i.scrollTop}},onHorizontalScroll:function(i,h){var f=this.getScrollerOwner(),j=f.query("tableview"),g=j[1]||j[0];g.el.dom.scrollLeft=h.scrollLeft;this.headerCt.el.dom.scrollLeft=h.scrollLeft},onStoreLoad:Ext.emptyFn,getEditorParent:function(){return this.body},bindStore:function(d){var c=this;c.store=d;c.getView().bindStore(d)},beforeDestroy:function(){Ext.destroy(this.horizontalScroller,this.verticalScroller);this.callParent()},reconfigure:function(f,e){var h=this,g=h.headerCt;if(h.lockable){h.reconfigureLockable(f,e)}else{if(e){g.suspendLayout=true;g.removeAll();g.add(e)}if(f){f=Ext.StoreManager.lookup(f);h.bindStore(f)}else{h.getView().refresh()}if(e){g.suspendLayout=false;h.forceComponentLayout()}}h.fireEvent("reconfigure",h)}});Ext.define("Ext.tree.Panel",{extend:"Ext.panel.Table",alias:"widget.treepanel",alternateClassName:["Ext.tree.TreePanel","Ext.TreePanel"],requires:["Ext.tree.View","Ext.selection.TreeModel","Ext.tree.Column"],viewType:"treeview",selType:"treemodel",treeCls:Ext.baseCSSPrefix+"tree-panel",deferRowRender:false,lines:true,useArrows:false,singleExpand:false,ddConfig:{enableDrag:true,enableDrop:true},rootVisible:true,displayField:"text",root:null,normalCfgCopy:["displayField","root","singleExpand","useArrows","lines","rootVisible","scroll"],lockedCfgCopy:["displayField","root","singleExpand","useArrows","lines","rootVisible"],constructor:function(b){b=b||{};if(b.animate===undefined){b.animate=Ext.enableFx}this.enableAnimations=b.animate;delete b.animate;this.callParent([b])},initComponent:function(){var c=this,d=[c.treeCls];if(c.useArrows){d.push(Ext.baseCSSPrefix+"tree-arrows");c.lines=false}if(c.lines){d.push(Ext.baseCSSPrefix+"tree-lines")}else{if(!c.useArrows){d.push(Ext.baseCSSPrefix+"tree-no-lines")}}if(Ext.isString(c.store)){c.store=Ext.StoreMgr.lookup(c.store)}else{if(!c.store||Ext.isObject(c.store)&&!c.store.isStore){c.store=Ext.create("Ext.data.TreeStore",Ext.apply({},c.store||{},{root:c.root,fields:c.fields,model:c.model,folderSort:c.folderSort}))}else{if(c.root){c.store=Ext.data.StoreManager.lookup(c.store);c.store.setRootNode(c.root);if(c.folderSort!==undefined){c.store.folderSort=c.folderSort;c.store.sort()}}}}c.viewConfig=Ext.applyIf(c.viewConfig||{},{rootVisible:c.rootVisible,animate:c.enableAnimations,singleExpand:c.singleExpand,node:c.store.getRootNode(),hideHeaders:c.hideHeaders});c.mon(c.store,{scope:c,rootchange:c.onRootChange,clear:c.onClear});c.relayEvents(c.store,["beforeload","load"]);c.store.on({append:c.createRelayer("itemappend"),remove:c.createRelayer("itemremove"),move:c.createRelayer("itemmove"),insert:c.createRelayer("iteminsert"),beforeappend:c.createRelayer("beforeitemappend"),beforeremove:c.createRelayer("beforeitemremove"),beforemove:c.createRelayer("beforeitemmove"),beforeinsert:c.createRelayer("beforeiteminsert"),expand:c.createRelayer("itemexpand"),collapse:c.createRelayer("itemcollapse"),beforeexpand:c.createRelayer("beforeitemexpand"),beforecollapse:c.createRelayer("beforeitemcollapse")});if(!c.columns){if(c.initialConfig.hideHeaders===undefined){c.hideHeaders=true}c.columns=[{xtype:"treecolumn",text:"Name",flex:1,dataIndex:c.displayField}]}if(c.cls){d.push(c.cls)}c.cls=d.join(" ");c.callParent();c.relayEvents(c.getView(),["checkchange"]);if(!c.getView().rootVisible&&!c.getRootNode()){c.setRootNode({expanded:true})}},onClear:function(){this.view.onClear()},setRootNode:function(){return this.store.setRootNode.apply(this.store,arguments)},getRootNode:function(){return this.store.getRootNode()},onRootChange:function(b){this.view.setRootNode(b)},getChecked:function(){return this.getView().getChecked()},isItemChecked:function(b){return b.get("checked")},expandAll:function(h,i){var f=this.getRootNode(),j=this.enableAnimations,g=this.getView();if(f){if(!j){g.beginBulkUpdate()}f.expand(true,h,i);if(!j){g.endBulkUpdate()}}},collapseAll:function(h,i){var f=this.getRootNode(),j=this.enableAnimations,g=this.getView();if(f){if(!j){g.beginBulkUpdate()}if(g.rootVisible){f.collapse(true,h,i)}else{f.collapseChildren(true,h,i)}if(!j){g.endBulkUpdate()}}},expandPath:function(l,q,v,p,m){var s=this,t=s.getRootNode(),u=1,r=s.getView(),n,o;q=q||s.getRootNode().idProperty;v=v||"/";if(Ext.isEmpty(l)){Ext.callback(p,m||s,[false,null]);return}n=l.split(v);if(t.get(q)!=n[1]){Ext.callback(p,m||s,[false,t]);return}o=function(){if(++u===n.length){Ext.callback(p,m||s,[true,t]);return}var a=t.findChild(q,n[u]);if(!a){Ext.callback(p,m||s,[false,t]);return}t=a;t.expand(false,o)};t.expand(false,o)},selectPath:function(l,m,n,k,j){var o=this,p,i;m=m||o.getRootNode().idProperty;n=n||"/";p=l.split(n);i=p.pop();o.expandPath(p.join(n),m,n,function(a,b){var c=false;if(a&&b){b=b.findChild(m,i);if(b){o.getSelectionModel().select(b);Ext.callback(k,j||o,[true,b]);c=true}}else{if(b===o.getRootNode()){c=true}}Ext.callback(k,j||o,[c,b])},o)}});Ext.define("Docs.view.DocTree",{extend:"Ext.tree.Panel",alias:"widget.doctree",cls:"doc-tree iScroll",useArrows:true,rootVisible:false,border:false,bodyBorder:false,initComponent:function(){this.addEvents("urlclick");this.root.expanded=true;if(this.root.children[0]){this.root.children[0].expanded=true}this.on("itemclick",this.onItemClick,this);this.on("beforeitemcollapse",this.handleBeforeExpandCollapse,this);this.on("beforeitemexpand",this.handleBeforeExpandCollapse,this);this.callParent();this.nodeTpl=new Ext.XTemplate('<a href="{url}" rel="{url}">{text}</a>');this.initNodeLinks()},initNodeLinks:function(){this.getRootNode().cascadeBy(this.applyNodeTpl,this)},applyNodeTpl:function(b){if(b.get("leaf")){b.set("text",this.nodeTpl.apply({text:b.get("text"),url:b.raw.url}));b.commit()}},onItemClick:function(h,j,k,l,i){var e=j.raw?j.raw.url:j.data.url;if(e){this.fireEvent("urlclick",e,i)}else{if(!j.isLeaf()){if(j.isExpanded()){j.collapse(false)}else{j.expand(false)}}}},selectUrl:function(d){var c=this.findRecordByUrl(d);if(c){c.bubble(function(a){a.expand()});this.getSelectionModel().select(c)}else{this.getSelectionModel().deselectAll()}},findRecordByUrl:function(b){return this.getRootNode().findChildBy(function(a){return b===a.raw.url},this,true)},handleBeforeExpandCollapse:function(b){if(this.getView().isAnimating(b)){return false}}});Ext.define("Docs.view.cls.Tree",{extend:"Docs.view.DocTree",alias:"widget.classtree",requires:["Docs.view.cls.PackageLogic","Docs.view.cls.InheritanceLogic"],initComponent:function(){this.setLogic(Docs.view.cls.PackageLogic);this.dockedItems=[{xtype:"container",dock:"bottom",cls:"cls-grouping",html:['<button class="by-package selected">By Package</button>','<button class="by-inheritance">By Inheritance</button>'].join("")}];this.callParent()},setLogic:function(h){var f=new h({classes:this.data,showPrivateClasses:true});if(this.root){var g=this.getSelectionModel().getLastSelected();var e=f.create();this.setRootNode(e);this.initNodeLinks();this.getRootNode().getChildAt(0).expand();g&&this.selectUrl(g.raw.url)}else{this.root=f.create()}}});Ext.define("Docs.view.GroupTree",{extend:"Docs.view.DocTree",alias:"widget.grouptree",initComponent:function(){this.root={children:[],text:"Root"};Ext.Array.each(this.data,function(b){this.root.children.push({text:b.title,expanded:true,children:Ext.Array.map(b.items,this.convert),iconCls:"icon-pkg"})},this);this.callParent()}});Ext.define("Docs.view.TreeContainer",{extend:"Ext.panel.Panel",alias:"widget.treecontainer",requires:["Docs.view.cls.Tree","Docs.view.GroupTree"],cls:"iScroll",layout:"card",resizable:true,resizeHandles:"e",collapsible:true,hideCollapseTool:true,animCollapse:true,initComponent:function(){this.items=[{},{xtype:"classtree",id:"classtree",data:Docs.data.classes},{xtype:"grouptree",id:"exampletree",data:Docs.data.examples,convert:function(b){return{leaf:true,text:b.text,url:"#!/example/"+b.url,iconCls:"icon-example"}}},{xtype:"grouptree",id:"guidetree",data:Docs.data.guides,convert:function(b){return{leaf:true,text:b.title,url:"#!/guide/"+b.name,iconCls:"icon-guide"}}},{xtype:"grouptree",id:"videotree",data:Docs.data.videos,convert:function(b){return{leaf:true,text:b.title,url:"#!/video/"+b.id,iconCls:"icon-video"}}}];this.callParent()},showTree:function(b){this.show();this.layout.setActiveItem(b)}});Ext.define("Docs.view.Viewport",{extend:"Ext.container.Viewport",requires:["Docs.view.search.Container","Docs.view.Header","Docs.view.Tabs","Docs.view.TreeContainer","Docs.view.welcome.Index","Docs.view.cls.Index","Docs.view.cls.Container","Docs.view.guides.Index","Docs.view.guides.Container","Docs.view.videos.Index","Docs.view.videos.Container","Docs.view.examples.Index","Docs.view.examples.Container","Docs.view.examples.TouchContainer"],id:"viewport",layout:"border",defaults:{xtype:"container"},initComponent:function(){this.items=[{region:"north",id:"north-region",height:65,layout:{type:"vbox",align:"stretch"},items:[{height:37,xtype:"container",layout:"hbox",items:[{xtype:"docheader"},{xtype:"container",flex:1},{xtype:"searchcontainer",id:"search-container",width:230,margin:"5 0 0 0"}]},{xtype:"doctabs"}]},{region:"center",layout:"border",minWidth:800,items:[{region:"west",xtype:"treecontainer",id:"treecontainer",border:1,bodyPadding:"10 9 4 9",width:240},{region:"center",id:"center-container",layout:"fit",minWidth:800,border:false,padding:"5 10",items:{id:"card-panel",cls:"card-panel",xtype:"container",layout:{type:"card",deferredRender:true},items:[{autoScroll:true,xtype:"welcomeindex",id:"welcomeindex"},{xtype:"container",id:"failure"},{autoScroll:true,xtype:"classindex",id:"classindex"},{xtype:"classcontainer",id:"classcontainer"},{autoScroll:true,xtype:"guideindex",id:"guideindex"},{autoScroll:true,xtype:"guidecontainer",id:"guide",cls:"iScroll"},{xtype:"videoindex",id:"videoindex"},{xtype:"videocontainer",id:"video"},{xtype:"exampleindex",id:"exampleindex"},{xtype:Docs.touchExamplesUi?"touchexamplecontainer":"examplecontainer",id:"example"}]}}]},{region:"south",id:"footer",height:20,contentEl:"footer-content"}];this.callParent(arguments)},setPageTitle:function(b){b=Ext.util.Format.stripTags(b);if(!this.origTitle){this.origTitle=document.title}document.title=b?(b+" - "+this.origTitle):this.origTitle}});Ext.define("Ext.data.writer.Json",{extend:"Ext.data.writer.Writer",alternateClassName:"Ext.data.JsonWriter",alias:"writer.json",root:undefined,encode:false,allowSingle:true,writeRecords:function(d,f){var e=this.root;if(this.allowSingle&&f.length==1){f=f[0]}if(this.encode){if(e){d.params[e]=Ext.encode(f)}else{Ext.Error.raise("Must specify a root when using encode")}}else{d.jsonData=d.jsonData||{};if(e){d.jsonData[e]=f}else{d.jsonData=f}}return d}});Ext.define("Ext.layout.component.Tip",{alias:["layout.tip"],extend:"Ext.layout.component.Dock",type:"tip",onLayout:function(s,l){var n=this,r=n.owner,q=r.el,t,m,o,p,k=q.getXY();q.setXY([-9999,-9999]);this.callParent(arguments);if(!Ext.isNumber(s)){t=r.minWidth;m=r.maxWidth;if(Ext.isStrict&&(Ext.isIE6||Ext.isIE7)){p=n.doAutoWidth()}else{o=q.getWidth()}if(o<t){p=t}else{if(o>m){p=m}}if(p){this.callParent([p,l])}}q.setXY(k)},doAutoWidth:function(){var g=this,e=g.owner,f=e.body,h=f.getTextWidth();if(e.header){h=Math.max(h,e.header.getWidth())}if(!Ext.isDefined(g.frameWidth)){g.frameWidth=e.el.getWidth()-f.getWidth()}h+=g.frameWidth+f.getPadding("lr");return h}});Ext.define("Ext.tip.Tip",{extend:"Ext.panel.Panel",requires:["Ext.layout.component.Tip"],alternateClassName:"Ext.Tip",minWidth:40,maxWidth:300,shadow:"sides",defaultAlign:"tl-bl?",constrainPosition:true,frame:false,autoRender:true,hidden:true,baseCls:Ext.baseCSSPrefix+"tip",floating:{shadow:true,shim:true,constrain:true},focusOnToFront:false,componentLayout:"tip",closeAction:"hide",ariaRole:"tooltip",initComponent:function(){var b=this;b.floating=Ext.apply({},{shadow:b.shadow},b.self.prototype.floating);b.callParent(arguments);b.constrain=b.constrain||b.constrainPosition},showAt:function(c){var d=this;this.callParent(arguments);if(d.isVisible()){d.setPagePosition(c[0],c[1]);if(d.constrainPosition||d.constrain){d.doConstrain()}d.toFront(true)}},showBy:function(d,c){this.showAt(this.el.getAlignToXY(d,c||this.defaultAlign))},initDraggable:function(){var b=this;b.draggable={el:b.getDragEl(),delegate:b.header.el,constrain:b,constrainTo:b.el.getScopeParent()};Ext.Component.prototype.initDraggable.call(b)},ghost:undefined,unghost:undefined});Ext.define("Ext.tip.ToolTip",{extend:"Ext.tip.Tip",alias:"widget.tooltip",alternateClassName:"Ext.ToolTip",showDelay:500,hideDelay:200,dismissDelay:5000,trackMouse:false,anchorToTarget:true,anchorOffset:0,targetCounter:0,quickShowInterval:250,initComponent:function(){var b=this;b.callParent(arguments);b.lastActive=new Date();b.setTarget(b.target);b.origAnchor=b.anchor},onRender:function(d,e){var f=this;f.callParent(arguments);f.anchorCls=Ext.baseCSSPrefix+"tip-anchor-"+f.getAnchorPosition();f.anchorEl=f.el.createChild({cls:Ext.baseCSSPrefix+"tip-anchor "+f.anchorCls})},afterRender:function(){var d=this,c;d.callParent(arguments);c=parseInt(d.el.getZIndex(),10)||0;d.anchorEl.setStyle("z-index",c+1).setVisibilityMode(Ext.Element.DISPLAY)},setTarget:function(g){var e=this,f=Ext.get(g),h;if(e.target){h=Ext.get(e.target);e.mun(h,"mouseover",e.onTargetOver,e);e.mun(h,"mouseout",e.onTargetOut,e);e.mun(h,"mousemove",e.onMouseMove,e)}e.target=f;if(f){e.mon(f,{freezeEvent:true,mouseover:e.onTargetOver,mouseout:e.onTargetOut,mousemove:e.onMouseMove,scope:e})}if(e.anchor){e.anchorTarget=e.target}},onMouseMove:function(g){var e=this,f=e.delegate?g.getTarget(e.delegate):e.triggerElement=true,h;if(f){e.targetXY=g.getXY();if(f===e.triggerElement){if(!e.hidden&&e.trackMouse){h=e.getTargetXY();if(e.constrainPosition){h=e.el.adjustForConstraints(h,e.el.getScopeParent())}e.setPagePosition(h)}}else{e.hide();e.lastActive=new Date(0);e.onTargetOver(g)}}else{if((!e.closable&&e.isVisible())&&e.autoHide!==false){e.hide()}}},getTargetXY:function(){var r=this,w;if(r.delegate){r.anchorTarget=r.triggerElement}if(r.anchor){r.targetCounter++;var x=r.getOffsets(),n=(r.anchorToTarget&&!r.trackMouse)?r.el.getAlignToXY(r.anchorTarget,r.getAnchorAlign()):r.targetXY,z=Ext.Element.getViewWidth()-5,s=Ext.Element.getViewHeight()-5,p=document.documentElement,v=document.body,o=(p.scrollLeft||v.scrollLeft||0)+5,q=(p.scrollTop||v.scrollTop||0)+5,y=[n[0]+x[0],n[1]+x[1]],t=r.getSize(),u=r.constrainPosition;r.anchorEl.removeCls(r.anchorCls);if(r.targetCounter<2&&u){if(y[0]<o){if(r.anchorToTarget){r.defaultAlign="l-r";if(r.mouseOffset){r.mouseOffset[0]*=-1}}r.anchor="left";return r.getTargetXY()}if(y[0]+t.width>z){if(r.anchorToTarget){r.defaultAlign="r-l";if(r.mouseOffset){r.mouseOffset[0]*=-1}}r.anchor="right";return r.getTargetXY()}if(y[1]<q){if(r.anchorToTarget){r.defaultAlign="t-b";if(r.mouseOffset){r.mouseOffset[1]*=-1}}r.anchor="top";return r.getTargetXY()}if(y[1]+t.height>s){if(r.anchorToTarget){r.defaultAlign="b-t";if(r.mouseOffset){r.mouseOffset[1]*=-1}}r.anchor="bottom";return r.getTargetXY()}}r.anchorCls=Ext.baseCSSPrefix+"tip-anchor-"+r.getAnchorPosition();r.anchorEl.addCls(r.anchorCls);r.targetCounter=0;return y}else{w=r.getMouseOffset();return(r.targetXY)?[r.targetXY[0]+w[0],r.targetXY[1]+w[1]]:w}},getMouseOffset:function(){var d=this,c=d.anchor?[0,0]:[15,18];if(d.mouseOffset){c[0]+=d.mouseOffset[0];c[1]+=d.mouseOffset[1]}return c},getAnchorPosition:function(){var c=this,d;if(c.anchor){c.tipAnchor=c.anchor.charAt(0)}else{d=c.defaultAlign.match(/^([a-z]+)-([a-z]+)(\?)?$/);if(!d){Ext.Error.raise('The AnchorTip.defaultAlign value "'+c.defaultAlign+'" is invalid.')}c.tipAnchor=d[1].charAt(0)}switch(c.tipAnchor){case"t":return"top";case"b":return"bottom";case"r":return"right"}return"left"},getAnchorAlign:function(){switch(this.anchor){case"top":return"tl-bl";case"left":return"tl-tr";case"right":return"tr-tl";default:return"bl-tl"}},getOffsets:function(){var h=this,g,e,f=h.getAnchorPosition().charAt(0);if(h.anchorToTarget&&!h.trackMouse){switch(f){case"t":e=[0,9];break;case"b":e=[0,-13];break;case"r":e=[-13,0];break;default:e=[9,0];break}}else{switch(f){case"t":e=[-15-h.anchorOffset,30];break;case"b":e=[-19-h.anchorOffset,-13-h.el.dom.offsetHeight];break;case"r":e=[-15-h.el.dom.offsetWidth,-13-h.anchorOffset];break;default:e=[25,-13-h.anchorOffset];break}}g=h.getMouseOffset();e[0]+=g[0];e[1]+=g[1];return e},onTargetOver:function(f){var d=this,e;if(d.disabled||f.within(d.target.dom,true)){return}e=f.getTarget(d.delegate);if(e){d.triggerElement=e;d.clearTimer("hide");d.targetXY=f.getXY();d.delayShow()}},delayShow:function(){var b=this;if(b.hidden&&!b.showTimer){if(Ext.Date.getElapsed(b.lastActive)<b.quickShowInterval){b.show()}else{b.showTimer=Ext.defer(b.show,b.showDelay,b)}}else{if(!b.hidden&&b.autoHide!==false){b.show()}}},onTargetOut:function(c){var d=this;if(d.disabled||c.within(d.target.dom,true)){return}d.clearTimer("show");if(d.autoHide!==false){d.delayHide()}},delayHide:function(){var b=this;if(!b.hidden&&!b.hideTimer){b.hideTimer=Ext.defer(b.hide,b.hideDelay,b)}},hide:function(){var b=this;b.clearTimer("dismiss");b.lastActive=new Date();if(b.anchorEl){b.anchorEl.hide()}b.callParent(arguments);delete b.triggerElement},show:function(){var b=this;this.callParent();if(this.hidden===false){b.setPagePosition(-10000,-10000);if(b.anchor){b.anchor=b.origAnchor}b.showAt(b.getTargetXY());if(b.anchor){b.syncAnchor();b.anchorEl.show()}else{b.anchorEl.hide()}}},showAt:function(c){var d=this;d.lastActive=new Date();d.clearTimers();if(!d.isVisible()){this.callParent(arguments)}if(d.isVisible()){d.setPagePosition(c[0],c[1]);if(d.constrainPosition||d.constrain){d.doConstrain()}d.toFront(true)}if(d.dismissDelay&&d.autoHide!==false){d.dismissTimer=Ext.defer(d.hide,d.dismissDelay,d)}if(d.anchor){d.syncAnchor();if(!d.anchorEl.isVisible()){d.anchorEl.show()}}else{d.anchorEl.hide()}},syncAnchor:function(){var h=this,f,e,g;switch(h.tipAnchor.charAt(0)){case"t":f="b";e="tl";g=[20+h.anchorOffset,1];break;case"r":f="l";e="tr";g=[-1,12+h.anchorOffset];break;case"b":f="t";e="bl";g=[20+h.anchorOffset,-1];break;default:f="r";e="tl";g=[1,12+h.anchorOffset];break}h.anchorEl.alignTo(h.el,f+"-"+e,g)},setPagePosition:function(e,f){var d=this;d.callParent(arguments);if(d.anchor){d.syncAnchor()}},clearTimer:function(b){b=b+"Timer";clearTimeout(this[b]);delete this[b]},clearTimers:function(){var b=this;b.clearTimer("show");b.clearTimer("dismiss");b.clearTimer("hide")},onShow:function(){var b=this;b.callParent();b.mon(Ext.getDoc(),"mousedown",b.onDocMouseDown,b)},onHide:function(){var b=this;b.callParent();b.mun(Ext.getDoc(),"mousedown",b.onDocMouseDown,b)},onDocMouseDown:function(c){var d=this;if(d.autoHide!==true&&!d.closable&&!c.within(d.el.dom)){d.disable();Ext.defer(d.doEnable,100,d)}},doEnable:function(){if(!this.isDestroyed){this.enable()}},onDisable:function(){this.callParent();this.clearTimers();this.hide()},beforeDestroy:function(){var b=this;b.clearTimers();Ext.destroy(b.anchorEl);delete b.anchorEl;delete b.target;delete b.anchorTarget;delete b.triggerElement;b.callParent()},onDestroy:function(){Ext.getDoc().un("mousedown",this.onDocMouseDown,this);this.callParent()}});Ext.define("Ext.tip.QuickTip",{extend:"Ext.tip.ToolTip",alternateClassName:"Ext.QuickTip",interceptTitles:false,title:" ",tagConfig:{namespace:"data-",attribute:"qtip",width:"qwidth",target:"target",title:"qtitle",hide:"hide",cls:"qclass",align:"qalign",anchor:"anchor"},initComponent:function(){var b=this;b.target=b.target||Ext.getDoc();b.targets=b.targets||{};b.callParent()},register:function(n){var j=Ext.isArray(n)?n:arguments,m=0,i=j.length,k,h,l;for(;m<i;m++){n=j[m];k=n.target;if(k){if(Ext.isArray(k)){for(h=0,l=k.length;h<l;h++){this.targets[Ext.id(k[h])]=n}}else{this.targets[Ext.id(k)]=n}}}},unregister:function(b){delete this.targets[Ext.id(b)]},cancelShow:function(e){var d=this,f=d.activeTarget;e=Ext.get(e).dom;if(d.isVisible()){if(f&&f.el==e){d.hide()}}else{if(f&&f.el==e){d.clearTimer("show")}}},getTipCfg:function(g){var h=g.getTarget(),e=h.title,f;if(this.interceptTitles&&e&&Ext.isString(e)){h.qtip=e;h.removeAttribute("title");g.preventDefault();return{text:e}}else{f=this.tagConfig;h=g.getTarget("["+f.namespace+f.attribute+"]");if(h){return{target:h,text:h.getAttribute(f.namespace+f.attribute)}}}},onTargetOver:function(l){var n=this,m=l.getTarget(),k,p,o,e,j;if(n.disabled){return}n.targetXY=l.getXY();if(!m||m.nodeType!==1||m==document||m==document.body){return}if(n.activeTarget&&((m==n.activeTarget.el)||Ext.fly(n.activeTarget.el).contains(m))){n.clearTimer("hide");n.show();return}if(m){Ext.Object.each(n.targets,function(c,b){var a=Ext.fly(b.target);if(a&&(a.dom===m||a.contains(m))){k=a.dom;return false}});if(k){n.activeTarget=n.targets[k.id];n.activeTarget.el=m;n.anchor=n.activeTarget.anchor;if(n.anchor){n.anchorTarget=m}n.delayShow();return}}k=Ext.get(m);p=n.tagConfig;o=p.namespace;e=n.getTipCfg(l);if(e){if(e.target){m=e.target;k=Ext.get(m)}j=k.getAttribute(o+p.hide);n.activeTarget={el:m,text:e.text,width:+k.getAttribute(o+p.width)||null,autoHide:j!="user"&&j!=="false",title:k.getAttribute(o+p.title),cls:k.getAttribute(o+p.cls),align:k.getAttribute(o+p.align)};n.anchor=k.getAttribute(o+p.anchor);if(n.anchor){n.anchorTarget=m}n.delayShow()}},onTargetOut:function(c){var d=this;if(d.activeTarget&&c.within(d.activeTarget.el)&&!d.getTipCfg(c)){return}d.clearTimer("show");if(d.autoHide!==false){d.delayHide()}},showAt:function(f){var e=this,d=e.activeTarget;if(d){if(!e.rendered){e.render(Ext.getBody());e.activeTarget=d}if(d.title){e.setTitle(d.title||"");e.header.show()}else{e.header.hide()}e.body.update(d.text);e.autoHide=d.autoHide;e.dismissDelay=d.dismissDelay||e.dismissDelay;if(e.lastCls){e.el.removeCls(e.lastCls);delete e.lastCls}if(d.cls){e.el.addCls(d.cls);e.lastCls=d.cls}e.setWidth(d.width);if(e.anchor){e.constrainPosition=false}else{if(d.align){f=e.el.getAlignToXY(d.el,d.align);e.constrainPosition=false}else{e.constrainPosition=true}}}e.callParent([f])},hide:function(){delete this.activeTarget;this.callParent()}});Ext.define("Ext.tip.QuickTipManager",function(){var c,d=false;return{requires:["Ext.tip.QuickTip"],singleton:true,alternateClassName:"Ext.QuickTips",init:function(b,i){if(!c){if(!Ext.isReady){Ext.onReady(function(){Ext.tip.QuickTipManager.init(b)});return}var j=Ext.apply({disabled:d},i),h=j.className,a=j.xtype;if(h){delete j.className}else{if(a){h="widget."+a;delete j.xtype}}if(b!==false){j.renderTo=document.body;if(j.renderTo.tagName!="BODY"){Ext.Error.raise({sourceClass:"Ext.tip.QuickTipManager",sourceMethod:"init",msg:"Cannot init QuickTipManager: no document body"})}}c=Ext.create(h||"Ext.tip.QuickTip",j)}},destroy:function(){if(c){var a;c.destroy();c=a}},ddDisable:function(){if(c&&!d){c.disable()}},ddEnable:function(){if(c&&!d){c.enable()}},enable:function(){if(c){c.enable()}d=false},disable:function(){if(c){c.disable()}d=true},isEnabled:function(){return c!==undefined&&!c.disabled},getQuickTip:function(){return c},register:function(){c.register.apply(c,arguments)},unregister:function(){c.unregister.apply(c,arguments)},tips:function(){c.register.apply(c,arguments)}}}());Ext.define("Ext.data.reader.Reader",{requires:["Ext.data.ResultSet"],alternateClassName:["Ext.data.Reader","Ext.data.DataReader"],totalProperty:"total",successProperty:"success",root:"",implicitIncludes:true,isReader:true,constructor:function(d){var c=this;Ext.apply(c,d||{});c.fieldCount=0;c.model=Ext.ModelManager.getModel(d.model);if(c.model){c.buildExtractors()}},setModel:function(e,f){var d=this;d.model=Ext.ModelManager.getModel(e);d.buildExtractors(true);if(f&&d.proxy){d.proxy.setModel(d.model,true)}},read:function(d){var c=d;if(d&&d.responseText){c=this.getResponseData(d)}if(c){return this.readRecords(c)}else{return this.nullResultSet}},readRecords:function(p){var o=this;if(o.fieldCount!==o.getFields().length){o.buildExtractors(true)}o.rawData=p;p=o.getData(p);var m=Ext.isArray(p)?p:o.getRoot(p),k=true,q=0,n,l,r,j;if(m){n=m.length}if(o.totalProperty){l=parseInt(o.getTotal(p),10);if(!isNaN(l)){n=l}}if(o.successProperty){l=o.getSuccess(p);if(l===false||l==="false"){k=false}}if(o.messageProperty){j=o.getMessage(p)}if(m){r=o.extractData(m);q=r.length}else{q=0;r=[]}return Ext.create("Ext.data.ResultSet",{total:n||q,count:q,records:r,success:k,message:j})},extractData:function(n){var o=this,m=[],r=[],s=o.model,q=0,u=n.length,i=o.getIdProperty(),t,v,p;if(!n.length&&Ext.isObject(n)){n=[n];u=1}for(;q<u;q++){t=n[q];m=o.extractValues(t);v=o.getId(t);p=new s(m,v,t);r.push(p);if(o.implicitIncludes){o.readAssociated(p,t)}}return r},readAssociated:function(l,n){var o=l.associations.items,m=0,r=o.length,p,q,i,k;for(;m<r;m++){p=o[m];q=this.getAssociatedDataRoot(n,p.associationKey||p.name);if(q){k=p.getReader();if(!k){i=p.associatedModel.proxy;if(i){k=i.getReader()}else{k=new this.constructor({model:p.associatedName})}}p.read(l,k,q)}}},getAssociatedDataRoot:function(c,d){return c[d]},getFields:function(){return this.model.prototype.fields.items},extractValues:function(k){var i=this.getFields(),n=0,m=i.length,h={},j,l;for(;n<m;n++){j=i[n];l=this.extractorFunctions[n](k);h[j.name]=l}return h},getData:function(b){return b},getRoot:function(b){return b},getResponseData:function(b){Ext.Error.raise("getResponseData must be implemented in the Ext.data.reader.Reader subclass")},onMetaChange:function(f){var e=f.fields,d;Ext.apply(this,f);if(e){d=Ext.define("Ext.data.reader.Json-Model"+Ext.id(),{extend:"Ext.data.Model",fields:e});this.setModel(d,true)}else{this.buildExtractors(true)}},getIdProperty:function(){var b=this.idProperty;if(Ext.isEmpty(b)){b=this.model.prototype.idProperty}return b},buildExtractors:function(l){var n=this,j=n.getIdProperty(),m=n.totalProperty,h=n.successProperty,k=n.messageProperty,i;if(l===true){delete n.extractorFunctions}if(n.extractorFunctions){return}if(m){n.getTotal=n.createAccessor(m)}if(h){n.getSuccess=n.createAccessor(h)}if(k){n.getMessage=n.createAccessor(k)}if(j){i=n.createAccessor(j);n.getId=function(b){var a=i.call(n,b);return(a===undefined||a==="")?null:a}}else{n.getId=function(){return null}}n.buildFieldExtractors()},buildFieldExtractors:function(){var m=this,i=m.getFields(),n=i.length,h=0,j=[],k,l;for(;h<n;h++){k=i[h];l=(k.mapping!==undefined&&k.mapping!==null)?k.mapping:k.name;j.push(m.createAccessor(l))}m.fieldCount=n;m.extractorFunctions=j}},function(){Ext.apply(this,{nullResultSet:Ext.create("Ext.data.ResultSet",{total:0,count:0,records:[],success:true})})});Ext.define("Ext.data.reader.Json",{extend:"Ext.data.reader.Reader",alternateClassName:"Ext.data.JsonReader",alias:"reader.json",root:"",useSimpleAccessors:false,readRecords:function(b){if(b.metaData){this.onMetaChange(b.metaData)}this.jsonData=b;return this.callParent([b])},getResponseData:function(e){var f;try{f=Ext.decode(e.responseText)}catch(d){Ext.Error.raise({response:e,json:e.responseText,parseError:d,msg:"Unable to parse the JSON returned by the server: "+d.toString()})}if(!f){Ext.Error.raise("JSON object not found")}return f},buildExtractors:function(){var b=this;b.callParent(arguments);if(b.root){b.getRoot=b.createAccessor(b.root)}else{b.getRoot=function(a){return a}}},extractData:function(g){var h=this.record,i=[],j,f;if(h){j=g.length;if(!j&&Ext.isObject(g)){j=1;g=[g]}for(f=0;f<j;f++){i[f]=g[f][h]}}else{i=g}return this.callParent([i])},createAccessor:function(){var b=/[\[\.]/;return function(d){if(Ext.isEmpty(d)){return Ext.emptyFn}if(Ext.isFunction(d)){return d}if(this.useSimpleAccessors!==true){var a=String(d).search(b);if(a>=0){return Ext.functionFactory("obj","return obj"+(a>0?".":"")+d)}}return function(c){return c[d]}}}()});Ext.define("Ext.data.proxy.Proxy",{alias:"proxy.proxy",alternateClassName:["Ext.data.DataProxy","Ext.data.Proxy"],requires:["Ext.data.reader.Json","Ext.data.writer.Json"],uses:["Ext.data.Batch","Ext.data.Operation","Ext.data.Model"],mixins:{observable:"Ext.util.Observable"},batchOrder:"create,update,destroy",batchActions:true,defaultReaderType:"json",defaultWriterType:"json",isProxy:true,constructor:function(b){b=b||{};if(b.model===undefined){delete b.model}this.mixins.observable.constructor.call(this,b);if(this.model!==undefined&&!(this.model instanceof Ext.data.Model)){this.setModel(this.model)}},setModel:function(e,h){this.model=Ext.ModelManager.getModel(e);var f=this.reader,g=this.writer;this.setReader(f);this.setWriter(g);if(h&&this.store){this.store.setModel(this.model)}},getModel:function(){return this.model},setReader:function(d){var c=this;if(d===undefined||typeof d=="string"){d={type:d}}if(d.isReader){d.setModel(c.model)}else{Ext.applyIf(d,{proxy:c,model:c.model,type:c.defaultReaderType});d=Ext.createByAlias("reader."+d.type,d)}c.reader=d;return c.reader},getReader:function(){return this.reader},setWriter:function(b){if(b===undefined||typeof b=="string"){b={type:b}}if(!(b instanceof Ext.data.writer.Writer)){Ext.applyIf(b,{model:this.model,type:this.defaultWriterType});b=Ext.createByAlias("writer."+b.type,b)}this.writer=b;return this.writer},getWriter:function(){return this.writer},create:Ext.emptyFn,read:Ext.emptyFn,update:Ext.emptyFn,destroy:Ext.emptyFn,batch:function(k,j){var i=this,l=Ext.create("Ext.data.Batch",{proxy:i,listeners:j||{}}),g=i.batchActions,h;Ext.each(i.batchOrder.split(","),function(a){h=k[a];if(h){if(g){l.add(Ext.create("Ext.data.Operation",{action:a,records:h}))}else{Ext.each(h,function(b){l.add(Ext.create("Ext.data.Operation",{action:a,records:[b]}))})}}},i);l.start();return l}},function(){Ext.data.DataProxy=this});Ext.define("Ext.data.proxy.Server",{extend:"Ext.data.proxy.Proxy",alias:"proxy.server",alternateClassName:"Ext.data.ServerProxy",uses:["Ext.data.Request"],pageParam:"page",startParam:"start",limitParam:"limit",groupParam:"group",sortParam:"sort",filterParam:"filter",directionParam:"dir",simpleSortMode:false,noCache:true,cacheString:"_dc",timeout:30000,constructor:function(d){var c=this;d=d||{};this.addEvents("exception");c.callParent([d]);c.extraParams=d.extraParams||{};c.api=d.api||{};c.nocache=c.noCache},create:function(){return this.doRequest.apply(this,arguments)},read:function(){return this.doRequest.apply(this,arguments)},update:function(){return this.doRequest.apply(this,arguments)},destroy:function(){return this.doRequest.apply(this,arguments)},buildRequest:function(e){var f=Ext.applyIf(e.params||{},this.extraParams||{}),d;f=Ext.applyIf(f,this.getParams(e));if(e.id&&!f.id){f.id=e.id}d=Ext.create("Ext.data.Request",{params:f,action:e.action,records:e.records,operation:e,url:e.url});d.url=this.buildUrl(d);e.request=d;return d},processResponse:function(l,r,p,q,m,k){var n=this,o,j;if(l===true){o=n.getReader();j=o.read(n.extractResponseData(q));if(j.success!==false){Ext.apply(r,{response:q,resultSet:j});r.commitRecords(j.records);r.setCompleted();r.setSuccessful()}else{r.setException(j.message);n.fireEvent("exception",this,q,r)}}else{n.setException(r,q);n.fireEvent("exception",this,q,r)}if(typeof m=="function"){m.call(k||n,r)}n.afterRequest(p,l)},setException:function(c,d){c.setException({status:d.status,statusText:d.statusText})},extractResponseData:function(b){return b},applyEncoding:function(b){return Ext.encode(b)},encodeSorters:function(g){var e=[],h=g.length,f=0;for(;f<h;f++){e[f]={property:g[f].property,direction:g[f].direction}}return this.applyEncoding(e)},encodeFilters:function(g){var e=[],h=g.length,f=0;for(;f<h;f++){e[f]={property:g[f].property,value:g[f].value}}return this.applyEncoding(e)},getParams:function(z){var s=this,t={},w=Ext.isDefined,v=z.groupers,J=z.sorters,B=z.filters,D=z.page,E=z.start,u=z.limit,C=s.simpleSortMode,x=s.pageParam,G=s.startParam,I=s.limitParam,H=s.groupParam,F=s.sortParam,y=s.filterParam,A=s.directionParam;if(x&&w(D)){t[x]=D}if(G&&w(E)){t[G]=E}if(I&&w(u)){t[I]=u}if(H&&v&&v.length>0){t[H]=s.encodeSorters(v)}if(F&&J&&J.length>0){if(C){t[F]=J[0].property;t[A]=J[0].direction}else{t[F]=s.encodeSorters(J)}}if(y&&B&&B.length>0){t[y]=s.encodeFilters(B)}return t},buildUrl:function(f){var d=this,e=d.getUrl(f);if(!e){Ext.Error.raise("You are using a ServerProxy but have not supplied it with a url.")}if(d.noCache){e=Ext.urlAppend(e,Ext.String.format("{0}={1}",d.cacheString,Ext.Date.now()))}return e},getUrl:function(b){return b.url||this.api[b.action]||this.url},doRequest:function(e,f,d){Ext.Error.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,onDestroy:function(){Ext.destroy(this.reader,this.writer)}});Ext.define("Ext.data.proxy.Ajax",{requires:["Ext.util.MixedCollection","Ext.Ajax"],extend:"Ext.data.proxy.Server",alias:"proxy.ajax",alternateClassName:["Ext.data.HttpProxy","Ext.data.AjaxProxy"],actionMethods:{create:"POST",read:"GET",update:"POST",destroy:"POST"},doRequest:function(g,h,f){var i=this.getWriter(),j=this.buildRequest(g,h,f);if(g.allowWrite()){j=i.write(j)}Ext.apply(j,{headers:this.headers,timeout:this.timeout,scope:this,callback:this.createRequestCallback(j,g,h,f),method:this.getMethod(j),disableCaching:false});Ext.Ajax.request(j);return j},getMethod:function(b){return this.actionMethods[b.action]},createRequestCallback:function(i,g,h,f){var j=this;return function(b,a,c){j.processResponse(a,g,i,c,h,f)}}},function(){Ext.data.HttpProxy=this});Ext.define("Ext.data.Model",{alternateClassName:"Ext.data.Record",mixins:{observable:"Ext.util.Observable"},requires:["Ext.ModelManager","Ext.data.IdGenerator","Ext.data.Field","Ext.data.Errors","Ext.data.Operation","Ext.data.validations","Ext.data.proxy.Ajax","Ext.util.MixedCollection"],onClassExtended:function(e,d){var f=d.onBeforeClassCreated;d.onBeforeClassCreated=function(P,b){var c=this,a=Ext.getClassName(P),I=P.prototype,D=P.prototype.superclass,O=b.validations||[],G=b.fields||[],B=b.associations||[],C=b.belongsTo,H=b.hasMany,F=b.idgen,z=new Ext.util.MixedCollection(false,function(g){return g.name}),A=new Ext.util.MixedCollection(false,function(g){return g.name}),J=D.validations,i=D.fields,M=D.associations,N,E,L,K=[];P.modelName=a;I.modelName=a;if(J){O=J.concat(O)}b.validations=O;if(i){G=i.items.concat(G)}for(E=0,L=G.length;E<L;++E){z.add(new Ext.data.Field(G[E]))}b.fields=z;if(F){b.idgen=Ext.data.IdGenerator.get(F)}if(C){C=Ext.Array.from(C);for(E=0,L=C.length;E<L;++E){N=C[E];if(!Ext.isObject(N)){N={model:N}}N.type="belongsTo";B.push(N)}delete b.belongsTo}if(H){H=Ext.Array.from(H);for(E=0,L=H.length;E<L;++E){N=H[E];if(!Ext.isObject(N)){N={model:N}}N.type="hasMany";B.push(N)}delete b.hasMany}if(M){B=M.items.concat(B)}for(E=0,L=B.length;E<L;++E){K.push("association."+B[E].type.toLowerCase())}if(b.proxy){if(typeof b.proxy==="string"){K.push("proxy."+b.proxy)}else{if(typeof b.proxy.type==="string"){K.push("proxy."+b.proxy.type)}}}Ext.require(K,function(){Ext.ModelManager.registerType(a,P);for(E=0,L=B.length;E<L;++E){N=B[E];Ext.apply(N,{ownerModel:a,associatedModel:N.model});if(Ext.ModelManager.getModel(N.model)===undefined){Ext.ModelManager.registerDeferredAssociation(N)}else{A.add(Ext.data.Association.create(N))}}b.associations=A;f.call(c,P,b);P.setProxy(P.prototype.proxy||P.prototype.defaultProxyType);Ext.ModelManager.onModelDefined(P)})}},inheritableStatics:{setProxy:function(b){if(!b.isProxy){if(typeof b=="string"){b={type:b}}b=Ext.createByAlias("proxy."+b.type,b)}b.setModel(this);this.proxy=this.prototype.proxy=b;return b},getProxy:function(){return this.proxy},load:function(i,l){l=Ext.apply({},l);l=Ext.applyIf(l,{action:"read",id:i});var g=Ext.create("Ext.data.Operation",l),k=l.scope||this,h=null,j;j=function(a){if(a.wasSuccessful()){h=a.getRecords()[0];Ext.callback(l.success,k,[h,a])}else{Ext.callback(l.failure,k,[h,a])}Ext.callback(l.callback,k,[h,a])};this.proxy.read(g,j,this)}},statics:{PREFIX:"ext-record",AUTO_ID:1,EDIT:"edit",REJECT:"reject",COMMIT:"commit",id:function(d){var c=[this.PREFIX,"-",this.AUTO_ID++].join("");d.phantom=true;d.internalId=c;return c}},idgen:{isGenerator:true,type:"default",generate:function(){return null},getRecId:function(b){return b.modelName+"-"+b.internalId}},editing:false,dirty:false,persistenceProperty:"data",evented:false,isModel:true,phantom:false,idProperty:"id",defaultProxyType:"ajax",constructor:function(s,w,n){s=s||{};var p=this,q,v,o,x,t,u,r=Ext.isArray(s),i=r?{}:null;p.internalId=(w||w===0)?w:Ext.data.Model.id(p);p.raw=n;Ext.applyIf(p,{data:{}});p.modified={};if(p.persistanceProperty){if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn("Ext.data.Model: persistanceProperty has been deprecated. Use persistenceProperty instead.")}p.persistenceProperty=p.persistanceProperty}p[p.persistenceProperty]={};p.mixins.observable.constructor.call(p);q=p.fields.items;v=q.length;for(t=0;t<v;t++){o=q[t];x=o.name;if(r){i[x]=s[t]}else{if(s[x]===undefined){s[x]=o.defaultValue}}}p.set(i||s);if(p.getId()){p.phantom=false}else{if(p.phantom){u=p.idgen.generate();if(u!==null){p.setId(u)}}}p.dirty=false;p.modified={};if(typeof p.init=="function"){p.init()}p.id=p.idgen.getRecId(p)},get:function(b){return this[this.persistenceProperty][b]},set:function(i,r){var t=this,v=t.fields,o=t.modified,w=[],s,p,x,q,y,u,z;if(arguments.length==1&&Ext.isObject(i)){y=!t.editing;u=0;for(p in i){if(i.hasOwnProperty(p)){s=v.get(p);if(s&&s.convert!==s.type.convert){w.push(p);continue}if(!u&&y){t.beginEdit()}++u;t.set(p,i[p])}}z=w.length;if(z){if(!u&&y){t.beginEdit()}u+=z;for(x=0;x<z;x++){s=w[x];t.set(s,i[s])}}if(y&&u){t.endEdit()}}else{if(v){s=v.get(i);if(s&&s.convert){r=s.convert(r,t)}}q=t.get(i);t[t.persistenceProperty][i]=r;if(s&&s.persist&&!t.isEqual(q,r)){if(t.isModified(i)){if(t.isEqual(o[i],r)){delete o[i];t.dirty=false;for(p in o){if(o.hasOwnProperty(p)){t.dirty=true;break}}}}else{t.dirty=true;o[i]=q}}if(!t.editing){t.afterEdit()}}},isEqual:function(a,b){if(Ext.isDate(a)&&Ext.isDate(b)){return a.getTime()===b.getTime()}return a===b},beginEdit:function(){var b=this;if(!b.editing){b.editing=true;b.dirtySave=b.dirty;b.dataSave=Ext.apply({},b[b.persistenceProperty]);b.modifiedSave=Ext.apply({},b.modified)}},cancelEdit:function(){var b=this;if(b.editing){b.editing=false;b.modified=b.modifiedSave;b[b.persistenceProperty]=b.dataSave;b.dirty=b.dirtySave;delete b.modifiedSave;delete b.dataSave;delete b.dirtySave}},endEdit:function(e){var d=this,f;if(d.editing){d.editing=false;f=d.dirty||d.changedWhileEditing();delete d.modifiedSave;delete d.dataSave;delete d.dirtySave;if(e!==true&&f){d.afterEdit()}}},changedWhileEditing:function(){var h=this,e=h.dataSave,g=h[h.persistenceProperty],f;for(f in g){if(g.hasOwnProperty(f)){if(!h.isEqual(g[f],e[f])){return true}}}return false},getChanges:function(){var e=this.modified,d={},f;for(f in e){if(e.hasOwnProperty(f)){d[f]=this.get(f)}}return d},isModified:function(b){return this.modified.hasOwnProperty(b)},setDirty:function(){var c=this,d;c.dirty=true;c.fields.each(function(a){if(a.persist){d=a.name;c.modified[d]=c.get(d)}},c)},markDirty:function(){if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn("Ext.data.Model: markDirty has been deprecated. Use setDirty instead.")}return this.setDirty.apply(this,arguments)},reject:function(f){var h=this,e=h.modified,g;for(g in e){if(e.hasOwnProperty(g)){if(typeof e[g]!="function"){h[h.persistenceProperty][g]=e[g]}}}h.dirty=false;h.editing=false;h.modified={};if(f!==true){h.afterReject()}},commit:function(d){var c=this;c.phantom=c.dirty=c.editing=false;c.modified={};if(d!==true){c.afterCommit()}},copy:function(d){var c=this;return new c.self(Ext.apply({},c[c.persistenceProperty]),d||c.internalId)},setProxy:function(b){if(!b.isProxy){if(typeof b==="string"){b={type:b}}b=Ext.createByAlias("proxy."+b.type,b)}b.setModel(this.self);this.proxy=b;return b},getProxy:function(){return this.proxy},validate:function(){var i=Ext.create("Ext.data.Errors"),p=this.validations,n=Ext.data.validations,q,o,k,r,l,m;if(p){q=p.length;for(m=0;m<q;m++){o=p[m];k=o.field||o.name;l=o.type;r=n[l](o,this.get(k));if(!r){i.add({field:k,message:o.message||n[l+"Message"]})}}}return i},isValid:function(){return this.validate().isValid()},save:function(n){n=Ext.apply({},n);var l=this,k=l.phantom?"create":"update",i=null,m=n.scope||l,h,j;Ext.apply(n,{records:[l],action:k});h=Ext.create("Ext.data.Operation",n);j=function(a){if(a.wasSuccessful()){i=a.getRecords()[0];l.set(i.data);i.dirty=false;Ext.callback(n.success,m,[i,a])}else{Ext.callback(n.failure,m,[i,a])}Ext.callback(n.callback,m,[i,a])};l.getProxy()[k](h,j,l);return l},destroy:function(l){l=Ext.apply({},l);var j=this,h=null,k=l.scope||j,g,i;Ext.apply(l,{records:[j],action:"destroy"});g=Ext.create("Ext.data.Operation",l);i=function(a){if(a.wasSuccessful()){Ext.callback(l.success,k,[h,a])}else{Ext.callback(l.failure,k,[h,a])}Ext.callback(l.callback,k,[h,a])};j.getProxy().destroy(g,i,j);return j},getId:function(){return this.get(this.idProperty)},setId:function(b){this.set(this.idProperty,b)},join:function(b){this.store=b},unjoin:function(b){delete this.store},afterEdit:function(){this.callStore("afterEdit")},afterReject:function(){this.callStore("afterReject")},afterCommit:function(){this.callStore("afterCommit")},callStore:function(c){var d=this.store;if(d!==undefined&&typeof d[c]=="function"){d[c](this)}},getAssociatedData:function(){return this.prepareAssociatedData(this,[],null)},prepareAssociatedData:function(t,F,u){var y=t.associations.items,w=y.length,B={},A,G,z,i,H,C,D,v,x,j,E;for(v=0;v<w;v++){C=y[v];j=C.type;E=true;if(u){E=j==u}if(E&&j=="hasMany"){A=t[C.storeName];B[C.name]=[];if(A&&A.data.length>0){z=A.data.items;H=z.length;for(x=0;x<H;x++){i=z[x];D=i.id;if(Ext.Array.indexOf(F,D)==-1){F.push(D);B[C.name][x]=i.data;Ext.apply(B[C.name][x],this.prepareAssociatedData(i,F,j))}}}}else{if(E&&j=="belongsTo"){i=t[C.instanceName];if(i!==undefined){D=i.id;if(Ext.Array.indexOf(F,D)==-1){F.push(D);B[C.name]=i.data;Ext.apply(B[C.name],this.prepareAssociatedData(i,F,j))}}}}}return B}});Ext.define("Ext.app.Application",{extend:"Ext.app.Controller",requires:["Ext.ModelManager","Ext.data.Model","Ext.data.StoreManager","Ext.tip.QuickTipManager","Ext.ComponentManager","Ext.app.EventBus"],scope:undefined,enableQuickTips:true,appFolder:"app",autoCreateViewport:false,constructor:function(g){g=g||{};Ext.apply(this,g);var k=g.requires||[];Ext.Loader.setPath(this.name,this.appFolder);if(this.paths){Ext.Object.each(this.paths,function(b,a){Ext.Loader.setPath(b,a)})}this.callParent(arguments);this.eventbus=Ext.create("Ext.app.EventBus");var i=Ext.Array.from(this.controllers),j=i&&i.length,l,h;this.controllers=Ext.create("Ext.util.MixedCollection");if(this.autoCreateViewport){k.push(this.getModuleClassName("Viewport","view"))}for(l=0;l<j;l++){k.push(this.getModuleClassName(i[l],"controller"))}Ext.require(k);Ext.onReady(function(){for(l=0;l<j;l++){h=this.getController(i[l]);h.init(this)}this.onBeforeLaunch.call(this)},this)},control:function(d,f,e){this.eventbus.control(d,f,e)},launch:Ext.emptyFn,onBeforeLaunch:function(){if(this.enableQuickTips){Ext.tip.QuickTipManager.init()}if(this.autoCreateViewport){this.getView("Viewport").create()}this.launch.call(this.scope||this);this.launched=true;this.fireEvent("launch",this);this.controllers.each(function(b){b.onLaunch(this)},this)},getModuleClassName:function(e,f){var d=Ext.Loader.getPrefix(e);if(d.length>0&&d!==e){return e}return this.name+"."+f+"."+e},getController:function(c){var d=this.controllers.get(c);if(!d){d=Ext.create(this.getModuleClassName(c,"controller"),{application:this,id:c});this.controllers.add(d)}return d},getStore:function(c){var d=Ext.StoreManager.get(c);if(!d){d=Ext.create(this.getModuleClassName(c,"store"),{storeId:c})}return d},getModel:function(b){b=this.getModuleClassName(b,"model");return Ext.ModelManager.getModel(b)},getView:function(b){b=this.getModuleClassName(b,"view");return Ext.ClassManager.get(b)}});Ext.define("Docs.Application",{extend:"Ext.app.Application",name:"Docs",requires:["Docs.History","Docs.Settings"],uses:["Ext.util.History","Ext.data.JsonP"],controllers:["Welcome","Classes","Search","InlineExamples","Examples","Guides","Videos","Tabs"],launch:function(){Docs.App=this;Docs.Settings.init();Ext.create("Docs.view.Viewport");Docs.History.init();if(Docs.initEventTracking){Docs.initEventTracking()}}});Ext.define("Ext.data.Store",{extend:"Ext.data.AbstractStore",alias:"store.store",requires:["Ext.data.StoreManager","Ext.ModelManager","Ext.data.Model","Ext.util.Grouper"],uses:["Ext.data.proxy.Memory"],remoteSort:false,remoteFilter:false,remoteGroup:false,groupField:undefined,groupDir:"ASC",pageSize:25,currentPage:1,clearOnPageLoad:true,loading:false,sortOnFilter:true,buffered:false,purgePageCount:5,isStore:true,onClassExtended:function(f,h){var e=h.model;if(typeof e=="string"){var g=h.onBeforeClassCreated;h.onBeforeClassCreated=function(c,a){var b=this;Ext.require(e,function(){g.call(b,c,a)})}}},constructor:function(g){g=Ext.Object.merge({},g);var k=this,i=g.groupers||k.groupers,h=g.groupField||k.groupField,l,j;if(g.buffered||k.buffered){k.prefetchData=Ext.create("Ext.util.MixedCollection",false,function(a){return a.index});k.pendingRequests=[];k.pagesRequested=[];k.sortOnLoad=false;k.filterOnLoad=false}k.addEvents("beforeprefetch","groupchange","prefetch");j=g.data||k.data;k.data=Ext.create("Ext.util.MixedCollection",false,function(a){return a.internalId});if(j){k.inlineData=j;delete g.data}if(!i&&h){i=[{property:h,direction:g.groupDir||k.groupDir}]}delete g.groupers;k.groupers=Ext.create("Ext.util.MixedCollection");k.groupers.addAll(k.decodeGroupers(i));this.callParent([g]);if(k.groupers.items.length){k.sort(k.groupers.items,"prepend",false)}l=k.proxy;j=k.inlineData;if(j){if(l instanceof Ext.data.proxy.Memory){l.data=j;k.read()}else{k.add.apply(k,j)}k.sort();delete k.inlineData}else{if(k.autoLoad){Ext.defer(k.load,10,k,[typeof k.autoLoad==="object"?k.autoLoad:undefined])}}},onBeforeSort:function(){var b=this.groupers;if(b.getCount()>0){this.sort(b.items,"prepend",false)}},decodeGroupers:function(i){if(!Ext.isArray(i)){if(i===undefined){i=[]}else{i=[i]}}var j=i.length,h=Ext.util.Grouper,g,f;for(f=0;f<j;f++){g=i[f];if(!(g instanceof h)){if(Ext.isString(g)){g={property:g}}Ext.applyIf(g,{root:"data",direction:"ASC"});if(g.fn){g.sorterFn=g.fn}if(typeof g=="function"){g={sorterFn:g}}i[f]=new h(g)}}return i},group:function(j,i){var k=this,l=false,g,h;if(Ext.isArray(j)){h=j}else{if(Ext.isObject(j)){h=[j]}else{if(Ext.isString(j)){g=k.groupers.get(j);if(!g){g={property:j,direction:i};h=[g]}else{if(i===undefined){g.toggle()}else{g.setDirection(i)}}}}}if(h&&h.length){l=true;h=k.decodeGroupers(h);k.groupers.clear();k.groupers.addAll(h)}if(k.remoteGroup){k.load({scope:k,callback:k.fireGroupChange})}else{k.sort(null,null,null,l);k.fireGroupChange()}},clearGrouping:function(){var b=this;b.groupers.each(function(a){b.sorters.remove(a)});b.groupers.clear();if(b.remoteGroup){b.load({scope:b,callback:b.fireGroupChange})}else{b.sort();b.fireEvent("groupchange",b,b.groupers)}},isGrouped:function(){return this.groupers.getCount()>0},fireGroupChange:function(){this.fireEvent("groupchange",this,this.groupers)},getGroups:function(q){var o=this.data.items,r=o.length,p=[],i={},m,l,k,n;for(n=0;n<r;n++){m=o[n];l=this.getGroupString(m);k=i[l];if(k===undefined){k={name:l,children:[]};p.push(k);i[l]=k}k.children.push(m)}return q?i[q]:p},getGroupsForGrouper:function(m,q){var o=m.length,n=[],r,p,k,i,l;for(l=0;l<o;l++){k=m[l];p=q.getGroupString(k);if(p!==r){i={name:p,grouper:q,records:[]};n.push(i)}i.records.push(k);r=p}return n},getGroupsForGrouperIndex:function(p,k){var m=this,l=m.groupers,i=l.getAt(k),j=m.getGroupsForGrouper(p,i),n=j.length,o;if(k+1<l.length){for(o=0;o<n;o++){j[o].children=m.getGroupsForGrouperIndex(j[o].records,k+1)}}for(o=0;o<n;o++){j[o].depth=k}return j},getGroupData:function(d){var c=this;if(d!==false){c.sort()}return c.getGroupsForGrouperIndex(c.data.items,0)},getGroupString:function(d){var c=this.groupers.first();if(c){return d.get(c.property)}return""},insert:function(m,n){var j=this,k=false,l,h,i;n=[].concat(n);for(l=0,i=n.length;l<i;l++){h=j.createModel(n[l]);h.set(j.modelDefaults);n[l]=h;j.data.insert(m+l,h);h.join(j);k=k||h.phantom===true}if(j.snapshot){j.snapshot.addAll(n)}j.fireEvent("add",j,n,m);j.fireEvent("datachanged",j);if(j.autoSync&&k){j.sync()}},add:function(f){if(!Ext.isArray(f)){f=Array.prototype.slice.apply(arguments)}var h=this,j=0,i=f.length,g;for(;j<i;j++){g=h.createModel(f[j]);f[j]=g}h.insert(h.data.length,f);return f},createModel:function(b){if(!b.isModel){b=Ext.ModelManager.create(b,this.model)}return b},each:function(c,d){this.data.each(c,d)},remove:function(q,i){if(!Ext.isArray(q)){q=[q]}i=i===true;var m=this,l=false,p=0,r=q.length,k,n,o;for(;p<r;p++){o=q[p];n=m.data.indexOf(o);if(m.snapshot){m.snapshot.remove(o)}if(n>-1){k=o.phantom===true;if(!i&&!k){m.removed.push(o)}o.unjoin(m);m.data.remove(o);l=l||!k;m.fireEvent("remove",m,o,n)}}m.fireEvent("datachanged",m);if(!i&&m.autoSync&&l){m.sync()}},removeAt:function(c){var d=this.getAt(c);if(d){this.remove(d)}},load:function(d){var c=this;d=d||{};if(Ext.isFunction(d)){d={callback:d}}Ext.applyIf(d,{groupers:c.groupers.items,page:c.currentPage,start:(c.currentPage-1)*c.pageSize,limit:c.pageSize,addRecords:false});return c.callParent([d])},onProxyLoad:function(f){var i=this,j=f.getResultSet(),g=f.getRecords(),h=f.wasSuccessful();if(j){i.totalCount=j.total}if(h){i.loadRecords(g,f)}i.loading=false;i.fireEvent("load",i,g,h);i.fireEvent("read",i,g,f.wasSuccessful());Ext.callback(f.callback,f.scope||i,[g,f,h])},onCreateRecords:function(s,r,i){if(i){var p=0,q=this.data,v=this.snapshot,u=s.length,m=r.records,o,t,n;for(;p<u;++p){o=s[p];t=m[p];if(t){n=q.indexOf(t);if(n>-1){q.removeAt(n);q.insert(n,o)}if(v){n=v.indexOf(t);if(n>-1){v.removeAt(n);v.insert(n,o)}}o.phantom=false;o.join(this)}}}},onUpdateRecords:function(o,p,k){if(k){var n=0,m=o.length,l=this.data,i=this.snapshot,j;for(;n<m;++n){j=o[n];l.replace(j);if(i){i.replace(j)}j.join(this)}}},onDestroyRecords:function(p,o,i){if(i){var k=this,m=0,q=p.length,n=k.data,r=k.snapshot,l;for(;m<q;++m){l=p[m];l.unjoin(k);n.remove(l);if(r){r.remove(l)}}k.removed=[]}},getNewRecords:function(){return this.data.filterBy(this.filterNew).items},getUpdatedRecords:function(){return this.data.filterBy(this.filterUpdated).items},filter:function(l,k){if(Ext.isString(l)){l={property:l,value:k}}var m=this,i=m.decodeFilters(l),h=0,j=m.sortOnFilter&&!m.remoteSort,n=i.length;for(;h<n;h++){m.filters.replace(i[h])}if(m.remoteFilter){m.load()}else{if(m.filters.getCount()){m.snapshot=m.snapshot||m.data.clone();m.data=m.data.filter(m.filters.items);if(j){m.sort()}if(!j||m.sorters.length<1){m.fireEvent("datachanged",m)}}}},clearFilter:function(d){var c=this;c.filters.clear();if(c.remoteFilter){c.load()}else{if(c.isFiltered()){c.data=c.snapshot.clone();delete c.snapshot;if(d!==true){c.fireEvent("datachanged",c)}}}},isFiltered:function(){var b=this.snapshot;return !!b&&b!==this.data},filterBy:function(d,e){var f=this;f.snapshot=f.snapshot||f.data.clone();f.data=f.queryBy(d,e||f);f.fireEvent("datachanged",f)},queryBy:function(e,f){var h=this,g=h.snapshot||h.data;return g.filterBy(e,f||h)},loadData:function(j,i){var n=this.model,k=j.length,l=[],m,h;for(m=0;m<k;m++){h=j[m];if(!(h instanceof Ext.data.Model)){h=Ext.ModelManager.create(h,n)}l.push(h)}this.loadRecords(l,{addRecords:i})},loadRawData:function(h,f){var i=this,g=i.proxy.reader.read(h),j=g.records;if(g.success){i.loadRecords(j,{addRecords:f});i.fireEvent("load",i,j,true)}},loadRecords:function(g,f){var h=this,j=0,i=g.length;f=f||{};if(!f.addRecords){delete h.snapshot;h.clearData()}h.data.addAll(g);for(;j<i;j++){if(f.start!==undefined){g[j].index=f.start+j}g[j].join(h)}h.suspendEvents();if(h.filterOnLoad&&!h.remoteFilter){h.filter()}if(h.sortOnLoad&&!h.remoteSort){h.sort()}h.resumeEvents();h.fireEvent("datachanged",h,g)},loadPage:function(f,e){var d=this;e=Ext.apply({},e);d.currentPage=f;d.read(Ext.applyIf(e,{page:f,start:(f-1)*d.pageSize,limit:d.pageSize,addRecords:!d.clearOnPageLoad}))},nextPage:function(b){this.loadPage(this.currentPage+1,b)},previousPage:function(b){this.loadPage(this.currentPage-1,b)},clearData:function(){var b=this;b.data.each(function(a){a.unjoin(b)});b.data.clear()},prefetch:function(e){var h=this,f,g=h.getRequestId();e=e||{};Ext.applyIf(e,{action:"read",filters:h.filters.items,sorters:h.sorters.items,requestId:g});h.pendingRequests.push(g);f=Ext.create("Ext.data.Operation",e);if(h.fireEvent("beforeprefetch",h,f)!==false){h.loading=true;h.proxy.read(f,h.onProxyPrefetch,h)}return h},prefetchPage:function(j,l){var k=this,g=k.pageSize,i=(j-1)*k.pageSize,h=i+g;if(Ext.Array.indexOf(k.pagesRequested,j)===-1&&!k.rangeSatisfied(i,h)){l=l||{};k.pagesRequested.push(j);Ext.applyIf(l,{page:j,start:i,limit:g,callback:k.onWaitForGuarantee,scope:k});k.prefetch(l)}},getRequestId:function(){this.requestSeed=this.requestSeed||1;return this.requestSeed++},onProxyPrefetch:function(f){var i=this,j=f.getResultSet(),g=f.getRecords(),h=f.wasSuccessful();if(j){i.totalCount=j.total;i.fireEvent("totalcountchange",i.totalCount)}if(h){i.cacheRecords(g,f)}Ext.Array.remove(i.pendingRequests,f.requestId);if(f.page){Ext.Array.remove(i.pagesRequested,f.page)}i.loading=false;i.fireEvent("prefetch",i,g,h,f);if(f.blocking){i.fireEvent("load",i,g,h)}Ext.callback(f.callback,f.scope||i,[g,f,h])},cacheRecords:function(g,h){var j=this,l=0,k=g.length,i=h?h.start:0;if(!Ext.isDefined(j.totalCount)){j.totalCount=g.length;j.fireEvent("totalcountchange",j.totalCount)}for(;l<k;l++){g[l].index=i+l}j.prefetchData.addAll(g);if(j.purgePageCount){j.purgeRecords()}},purgeRecords:function(){var j=this,f=j.prefetchData.getCount(),i=j.purgePageCount*j.pageSize,h=f-i-1,g=0;for(;g<=h;g++){j.prefetchData.removeAt(0)}},rangeSatisfied:function(h,g){var j=this,f=h,i=true;for(;f<g;f++){if(!j.prefetchData.getByKey(f)){i=false;if(g-f>j.pageSize){Ext.Error.raise("A single page prefetch could never satisfy this request.")}break}}return i},getPageFromRecordIndex:function(b){return Math.floor(b/this.pageSize)+1},onGuaranteedRange:function(){var k=this,n=k.getTotalCount(),j=k.requestStart,h=((n-1)<k.requestEnd)?n-1:k.requestEnd,m=[],i,l=j;h=Math.max(0,h);if(j>h){Ext.log({level:"warn",msg:"Start ("+j+") was greater than end ("+h+") for the range of records requested ("+k.requestStart+"-"+k.requestEnd+")"+(this.storeId?' from store "'+this.storeId+'"':"")})}if(j!==k.guaranteedStart&&h!==k.guaranteedEnd){k.guaranteedStart=j;k.guaranteedEnd=h;for(;l<=h;l++){i=k.prefetchData.getByKey(l);if(i){m.push(i)}}k.fireEvent("guaranteedrange",m,j,h);if(k.cb){k.cb.call(k.scope||k,m)}}k.unmask()},mask:function(){this.masked=true;this.fireEvent("beforeload")},unmask:function(){if(this.masked){this.fireEvent("load")}},hasPendingRequests:function(){return this.pendingRequests.length},onWaitForGuarantee:function(){if(!this.hasPendingRequests()){this.onGuaranteedRange()}},guaranteeRange:function(x,v,w,i){if(x&&v){if(v-x>this.pageSize){Ext.Error.raise({start:x,end:v,pageSize:this.pageSize,msg:"Requested a bigger range than the specified pageSize"})}}v=(v>this.totalCount)?this.totalCount-1:v;var q=this,u=x,o=q.prefetchData,t=[],r=!!o.getByKey(x),p=!!o.getByKey(v),s=q.getPageFromRecordIndex(x),n=q.getPageFromRecordIndex(v);q.cb=w;q.scope=i;q.requestStart=x;q.requestEnd=v;if(!r||!p){if(s===n){q.mask();q.prefetchPage(s,{callback:q.onWaitForGuarantee,scope:q})}else{q.mask();q.prefetchPage(s,{callback:q.onWaitForGuarantee,scope:q});q.prefetchPage(n,{callback:q.onWaitForGuarantee,scope:q})}}else{q.onGuaranteedRange()}},sort:function(){var k=this,l=k.prefetchData,j,i,h,g;if(k.buffered){if(k.remoteSort){l.clear();k.callParent(arguments)}else{j=k.getSorters();i=k.guaranteedStart;h=k.guaranteedEnd;if(j.length){l.sort(j);g=l.getRange();l.clear();k.cacheRecords(g);delete k.guaranteedStart;delete k.guaranteedEnd;k.guaranteeRange(i,h)}k.callParent(arguments)}}else{k.callParent(arguments)}},doSort:function(f){var h=this;if(h.remoteSort){h.load()}else{h.data.sortBy(f);if(!h.buffered){var g=h.getRange(),i=g.length,j=0;for(;j<i;j++){g[j].index=j}}h.fireEvent("datachanged",h)}},find:function(l,m,j,k,i,n){var h=this.createFilterFn(l,m,k,i,n);return h?this.data.findIndexBy(h,null,j):-1},findRecord:function(){var c=this,d=c.find.apply(c,arguments);return d!==-1?c.getAt(d):null},createFilterFn:function(i,j,h,g,f){if(Ext.isEmpty(j)){return false}j=this.data.createValueMatcher(j,h,g,f);return function(a){return j.test(a.data[i])}},findExact:function(d,e,f){return this.data.findIndexBy(function(a){return a.get(d)==e},this,f)},findBy:function(d,e,f){return this.data.findIndexBy(d,e,f)},collect:function(f,g,j){var i=this,h=(j===true&&i.snapshot)?i.snapshot:i.data;return h.collect(f,"data",g)},getCount:function(){return this.data.length||0},getTotalCount:function(){return this.totalCount},getAt:function(b){return this.data.getAt(b)},getRange:function(c,d){return this.data.getRange(c,d)},getById:function(b){return(this.snapshot||this.data).findBy(function(a){return a.getId()===b})},indexOf:function(b){return this.data.indexOf(b)},indexOfTotal:function(d){var c=d.index;if(c||c===0){return c}return this.indexOf(d)},indexOfId:function(b){return this.indexOf(this.getById(b))},removeAll:function(d){var c=this;c.clearData();if(c.snapshot){c.snapshot.clear()}if(d!==true){c.fireEvent("clear",c)}},first:function(d){var c=this;if(d&&c.isGrouped()){return c.aggregate(function(a){return a.length?a[0]:undefined},c,true)}else{return c.data.first()}},last:function(d){var c=this;if(d&&c.isGrouped()){return c.aggregate(function(a){var b=a.length;return b?a[b-1]:undefined},c,true)}else{return c.data.last()}},sum:function(f,e){var d=this;if(e&&d.isGrouped()){return d.aggregate(d.getSum,d,true,[f])}else{return d.getSum(d.data.items,f)}},getSum:function(f,h){var i=0,j=0,g=f.length;for(;j<g;++j){i+=f[j].get(h)}return i},count:function(d){var c=this;if(d&&c.isGrouped()){return c.aggregate(function(a){return a.length},c,true)}else{return c.getCount()}},min:function(f,e){var d=this;if(e&&d.isGrouped()){return d.aggregate(d.getMin,d,true,[f])}else{return d.getMin(d.data.items,f)}},getMin:function(g,i){var k=1,h=g.length,j,l;if(h>0){l=g[0].get(i)}for(;k<h;++k){j=g[k].get(i);if(j<l){l=j}}return l},max:function(f,e){var d=this;if(e&&d.isGrouped()){return d.aggregate(d.getMax,d,true,[f])}else{return d.getMax(d.data.items,f)}},getMax:function(l,i){var k=1,g=l.length,j,h;if(g>0){h=l[0].get(i)}for(;k<g;++k){j=l[k].get(i);if(j>h){h=j}}return h},average:function(f,e){var d=this;if(e&&d.isGrouped()){return d.aggregate(d.getAverage,d,true,[f])}else{return d.getAverage(d.data.items,f)}},getAverage:function(f,h){var j=0,g=f.length,i=0;if(f.length>0){for(;j<g;++j){i+=f[j].get(h)}return i/g}return 0},aggregate:function(l,i,n,m){m=m||[];if(n&&this.isGrouped()){var r=this.getGroups(),p=0,o=r.length,q={},k;for(;p<o;++p){k=r[p];q[k.name]=l.apply(i||this,[k.children].concat(m))}return q}else{return l.apply(i||this,[this.data.items].concat(m))}}},function(){Ext.regStore("ext-empty-store",{fields:[],proxy:"proxy"})});Ext.define("Ext.data.NodeStore",{extend:"Ext.data.Store",alias:"store.node",requires:["Ext.data.NodeInterface"],node:null,recursive:false,rootVisible:false,constructor:function(e){var f=this,d;e=e||{};Ext.apply(f,e);if(Ext.isDefined(f.proxy)){Ext.Error.raise("A NodeStore cannot be bound to a proxy. Instead bind it to a record decorated with the NodeInterface by setting the node config.")}e.proxy={type:"proxy"};f.callParent([e]);f.addEvents("expand","collapse","beforeexpand","beforecollapse");d=f.node;if(d){f.node=null;f.setNode(d)}},setNode:function(c){var d=this;if(d.node&&d.node!=c){d.mun(d.node,{expand:d.onNodeExpand,collapse:d.onNodeCollapse,append:d.onNodeAppend,insert:d.onNodeInsert,remove:d.onNodeRemove,sort:d.onNodeSort,scope:d});d.node=null}if(c){Ext.data.NodeInterface.decorate(c);d.removeAll();if(d.rootVisible){d.add(c)}d.mon(c,{expand:d.onNodeExpand,collapse:d.onNodeCollapse,append:d.onNodeAppend,insert:d.onNodeInsert,remove:d.onNodeRemove,sort:d.onNodeSort,scope:d});d.node=c;if(c.isExpanded()&&c.isLoaded()){d.onNodeExpand(c,c.childNodes,true)}}},onNodeSort:function(d,f){var e=this;if((e.indexOf(d)!==-1||(d===e.node&&!e.rootVisible)&&d.isExpanded())){e.onNodeCollapse(d,f,true);e.onNodeExpand(d,f,true)}},onNodeExpand:function(m,o,p){var k=this,j=k.indexOf(m)+1,l=o?o.length:0,n,i;if(!k.recursive&&m!==k.node){return}if(!k.isVisible(m)){return}if(!p&&k.fireEvent("beforeexpand",m,o,j)===false){return}if(l){k.insert(j,o);for(n=0;n<l;n++){i=o[n];if(i.isExpanded()){if(i.isLoaded()){k.onNodeExpand(i,i.childNodes,true)}else{i.set("expanded",false);i.expand()}}}}if(!p){k.fireEvent("expand",m,o)}},onNodeCollapse:function(m,p,i){var k=this,l=p.length,n=k.indexOf(m)+1,o,j;if(!k.recursive&&m!==k.node){return}if(!i&&k.fireEvent("beforecollapse",m,p,n)===false){return}for(o=0;o<l;o++){j=p[o];k.remove(j);if(j.isExpanded()){k.onNodeCollapse(j,j.childNodes,true)}}if(!i){k.fireEvent("collapse",m,p,n)}},onNodeAppend:function(k,i,g){var j=this,h,l;if(j.isVisible(i)){if(g===0){h=k}else{l=i.previousSibling;while(l.isExpanded()&&l.lastChild){l=l.lastChild}h=l}j.insert(j.indexOf(h)+1,i);if(!i.isLeaf()&&i.isExpanded()){if(i.isLoaded()){j.onNodeExpand(i,i.childNodes,true)}else{i.set("expanded",false);i.expand()}}}},onNodeInsert:function(j,h,g){var i=this,f=this.indexOf(g);if(f!=-1&&i.isVisible(h)){i.insert(f,h);if(!h.isLeaf()&&h.isExpanded()){if(h.isLoaded()){i.onNodeExpand(h,h.childNodes,true)}else{h.set("expanded",false);h.expand()}}}},onNodeRemove:function(e,g,f){var h=this;if(h.indexOf(g)!=-1){if(!g.isLeaf()&&g.isExpanded()){h.onNodeCollapse(g,g.childNodes,true)}h.remove(g)}},isVisible:function(c){var d=c.parentNode;while(d){if(d===this.node&&!this.rootVisible&&d.isExpanded()){return true}if(this.indexOf(d)===-1||!d.isExpanded()){return false}d=d.parentNode}return true}});Ext.define("Ext.data.TreeStore",{extend:"Ext.data.AbstractStore",alias:"store.tree",requires:["Ext.data.Tree","Ext.data.NodeInterface","Ext.data.NodeStore"],clearOnLoad:true,nodeParam:"node",defaultRootId:"root",defaultRootProperty:"children",folderSort:false,constructor:function(h){var g=this,e,f;h=Ext.apply({},h);f=h.fields||g.fields;if(!f){h.fields=[{name:"text",type:"string"}]}g.callParent([h]);g.tree=Ext.create("Ext.data.Tree");g.relayEvents(g.tree,["append","remove","move","insert","beforeappend","beforeremove","beforemove","beforeinsert","expand","collapse","beforeexpand","beforecollapse","rootchange"]);g.tree.on({scope:g,remove:g.onNodeRemove,beforeexpand:g.onBeforeNodeExpand,beforecollapse:g.onBeforeNodeCollapse,append:g.onNodeAdded,insert:g.onNodeAdded});g.onBeforeSort();e=g.root;if(e){delete g.root;g.setRootNode(e)}g.addEvents("sort");if(Ext.isDefined(g.nodeParameter)){if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn("Ext.data.TreeStore: nodeParameter has been deprecated. Please use nodeParam instead.")}g.nodeParam=g.nodeParameter;delete g.nodeParameter}},setProxy:function(f){var e,d;if(f instanceof Ext.data.proxy.Proxy){d=Ext.isEmpty(f.getReader().root)}else{if(Ext.isString(f)){d=true}else{e=f.reader;d=!(e&&!Ext.isEmpty(e.root))}}f=this.callParent(arguments);if(d){e=f.getReader();e.root=this.defaultRootProperty;e.buildExtractors(true)}},onBeforeSort:function(){if(this.folderSort){this.sort({property:"leaf",direction:"ASC"},"prepend",false)}},onBeforeNodeExpand:function(d,f,e){if(d.isLoaded()){Ext.callback(f,e||d,[d.childNodes])}else{if(d.isLoading()){this.on("load",function(){Ext.callback(f,e||d,[d.childNodes])},this,{single:true})}else{this.read({node:d,callback:function(){Ext.callback(f,e||d,[d.childNodes])}})}}},getNewRecords:function(){return Ext.Array.filter(this.tree.flatten(),this.filterNew)},getUpdatedRecords:function(){return Ext.Array.filter(this.tree.flatten(),this.filterUpdated)},onBeforeNodeCollapse:function(d,f,e){f.call(e||d,d.childNodes)},onNodeRemove:function(e,d){var f=this.removed;if(!d.isReplace&&Ext.Array.indexOf(f,d)==-1){f.push(d)}},onNodeAdded:function(m,l){var n=this.getProxy(),i=n.getReader(),k=l.raw||l.data,j,h;Ext.Array.remove(this.removed,l);if(!l.isLeaf()&&!l.isLoaded()){j=i.getRoot(k);if(j){this.fillNode(l,i.extractData(j));delete k[i.root]}}},setRootNode:function(d){var c=this;d=d||{};if(!d.isNode){Ext.applyIf(d,{id:c.defaultRootId,text:"Root",allowDrag:false});d=Ext.ModelManager.create(d,c.model)}Ext.data.NodeInterface.decorate(d);c.getProxy().getReader().buildExtractors(true);c.tree.setRootNode(d);if(!d.isLoaded()&&(c.autoLoad===true||d.isExpanded())){c.load({node:d})}return d},getRootNode:function(){return this.tree.getRootNode()},getNodeById:function(b){return this.tree.getNodeById(b)},load:function(e){e=e||{};e.params=e.params||{};var g=this,h=e.node||g.tree.getRootNode(),f;if(!h){h=g.setRootNode({expanded:true})}if(g.clearOnLoad){h.removeAll(true)}Ext.applyIf(e,{node:h});e.params[g.nodeParam]=h?h.getId():"root";if(h){h.set("loading",true)}return g.callParent([e])},fillNode:function(i,g){var j=this,k=g?g.length:0,l=0,h;if(k&&j.sortOnLoad&&!j.remoteSort&&j.sorters&&j.sorters.items){h=Ext.create("Ext.util.MixedCollection");h.addAll(g);h.sort(j.sorters.items);g=h.items}i.set("loaded",true);for(;l<k;l++){i.appendChild(g[l],undefined,true)}return g},onProxyLoad:function(f){var i=this,h=f.wasSuccessful(),g=f.getRecords(),j=f.node;i.loading=false;j.set("loading",false);if(h){g=i.fillNode(j,g)}i.fireEvent("read",i,f.node,g,h);i.fireEvent("load",i,f.node,g,h);Ext.callback(f.callback,f.scope||i,[g,f,h])},onCreateRecords:function(r,q,i){if(i){var p=0,t=r.length,l=q.records,n,o,s,m;for(;p<t;++p){o=r[p];s=l[p];if(s){n=s.parentNode;if(n){s.isReplace=true;n.replaceChild(o,s);delete s.isReplace}o.phantom=false}}}},onUpdateRecords:function(r,q,i){if(i){var l=this,o=0,t=r.length,p=l.data,s,m,n;for(;o<t;++o){n=r[o];s=l.tree.getNodeById(n.getId());m=s.parentNode;if(m){s.isReplace=true;m.replaceChild(n,s);s.isReplace=false}}}},onDestroyRecords:function(d,e,f){if(f){this.removed=[]}},removeAll:function(){this.getRootNode().destroy(true);this.fireEvent("clear",this)},doSort:function(d){var c=this;if(c.remoteSort){c.load()}else{c.tree.sort(d,true);c.fireEvent("datachanged",c)}c.fireEvent("sort",c)}});Ext.define("Ext.util.Point",{extend:"Ext.util.Region",statics:{fromEvent:function(b){b=(b.changedTouches&&b.changedTouches.length>0)?b.changedTouches[0]:b;return new this(b.pageX,b.pageY)}},constructor:function(d,c){this.callParent([c,d,c,d])},toString:function(){return"Point["+this.x+","+this.y+"]"},equals:function(b){return(this.x==b.x&&this.y==b.y)},isWithin:function(c,d){if(!Ext.isObject(d)){d={x:d,y:d}}return(this.x<=c.x+d.x&&this.x>=c.x-d.x&&this.y<=c.y+d.y&&this.y>=c.y-d.y)},roundedEquals:function(b){return(Math.round(this.x)==Math.round(b.x)&&Math.round(this.y)==Math.round(b.y))}},function(){this.prototype.translate=Ext.util.Region.prototype.translateBy});Ext.define("Ext.Layer",{uses:["Ext.Shadow"],statics:{shims:[]},extend:"Ext.Element",constructor:function(h,i){h=h||{};var n=this,m=Ext.DomHelper,k=h.parentEl,l=k?Ext.getDom(k):document.body,j=h.hideMode;if(i){n.dom=Ext.getDom(i)}if(!n.dom){n.dom=m.append(l,h.dh||{tag:"div",cls:Ext.baseCSSPrefix+"layer"})}else{n.addCls(Ext.baseCSSPrefix+"layer");if(!n.dom.parentNode){l.appendChild(n.dom)}}if(h.cls){n.addCls(h.cls)}n.constrain=h.constrain!==false;if(j){n.setVisibilityMode(Ext.Element[j.toUpperCase()]);if(n.visibilityMode==Ext.Element.ASCLASS){n.visibilityCls=h.visibilityCls}}else{if(h.useDisplay){n.setVisibilityMode(Ext.Element.DISPLAY)}else{n.setVisibilityMode(Ext.Element.VISIBILITY)}}if(h.id){n.id=n.dom.id=h.id}else{n.id=Ext.id(n.dom)}n.position("absolute");if(h.shadow){n.shadowOffset=h.shadowOffset||4;n.shadow=Ext.create("Ext.Shadow",{offset:n.shadowOffset,mode:h.shadow});n.disableShadow()}else{n.shadowOffset=0}n.useShim=h.shim!==false&&Ext.useShims;if(h.hidden===true){n.hide()}else{n.show()}},getZIndex:function(){return parseInt((this.getShim()||this).getStyle("z-index"),10)},getShim:function(){var d=this,f,e;if(!d.useShim){return null}if(!d.shim){f=d.self.shims.shift();if(!f){f=d.createShim();f.enableDisplayMode("block");f.hide()}e=d.dom.parentNode;if(f.dom.parentNode!=e){e.insertBefore(f.dom,d.dom)}d.shim=f}return d.shim},hideShim:function(){var b=this;if(b.shim){b.shim.setDisplayed(false);b.self.shims.push(b.shim);delete b.shim}},disableShadow:function(){var b=this;if(b.shadow&&!b.shadowDisabled){b.shadowDisabled=true;b.shadow.hide();b.lastShadowOffset=b.shadowOffset;b.shadowOffset=0}},enableShadow:function(d){var c=this;if(c.shadow&&c.shadowDisabled){c.shadowDisabled=false;c.shadowOffset=c.lastShadowOffset;delete c.lastShadowOffset;if(d){c.sync(true)}}},sync:function(w){var q=this,l=q.shadow,r,t,x;if(!q.updating&&q.isVisible()&&(l||q.useShim)){var u=q.getShim(),v=q.getLeft(true),h=q.getTop(true),o=q.dom.offsetWidth,s=q.dom.offsetHeight,p;if(l&&!q.shadowDisabled){if(w&&!l.isVisible()){l.show(q)}else{l.realign(v,h,o,s)}if(u){p=u.getStyle("z-index");if(p>q.zindex){q.shim.setStyle("z-index",q.zindex-2)}u.show();if(l.isVisible()){r=l.el.getXY();t=u.dom.style;x=l.el.getSize();if(Ext.supports.CSS3BoxShadow){x.height+=6;x.width+=4;r[0]-=2;r[1]-=4}t.left=(r[0])+"px";t.top=(r[1])+"px";t.width=(x.width)+"px";t.height=(x.height)+"px"}else{u.setSize(o,s);u.setLeftTop(v,h)}}}else{if(u){p=u.getStyle("z-index");if(p>q.zindex){q.shim.setStyle("z-index",q.zindex-2)}u.show();u.setSize(o,s);u.setLeftTop(v,h)}}}return q},remove:function(){this.hideUnders();this.callParent()},beginUpdate:function(){this.updating=true},endUpdate:function(){this.updating=false;this.sync(true)},hideUnders:function(){if(this.shadow){this.shadow.hide()}this.hideShim()},constrainXY:function(){if(this.constrain){var o=Ext.Element.getViewWidth(),s=Ext.Element.getViewHeight(),h=Ext.getDoc().getScroll(),l=this.getXY(),n=l[0],p=l[1],t=this.shadowOffset,m=this.dom.offsetWidth+t,r=this.dom.offsetHeight+t,q=false;if((n+m)>o+h.left){n=o-m-t;q=true}if((p+r)>s+h.top){p=s-r-t;q=true}if(n<h.left){n=h.left;q=true}if(p<h.top){p=h.top;q=true}if(q){Ext.Layer.superclass.setXY.call(this,[n,p]);this.sync()}}return this},getConstrainOffset:function(){return this.shadowOffset},setVisible:function(l,h,m,j,k){var n=this,i;i=function(){if(l){n.sync(true)}if(j){j()}};if(!l){n.hideUnders(true)}n.callParent([l,h,m,j,k]);if(!h){i()}return n},beforeFx:function(){this.beforeAction();return this.callParent(arguments)},afterFx:function(){this.callParent(arguments);this.sync(this.isVisible())},beforeAction:function(){if(!this.updating&&this.shadow){this.shadow.hide()}},setLeft:function(b){this.callParent(arguments);return this.sync()},setTop:function(b){this.callParent(arguments);return this.sync()},setLeftTop:function(c,d){this.callParent(arguments);return this.sync()},setXY:function(k,h,l,i,j){var g=this;i=g.createCB(i);g.fixDisplay();g.beforeAction();g.callParent([k,h,l,i,j]);if(!h){i()}return g},createCB:function(f){var e=this,d=e.shadow&&e.shadow.isVisible();return function(){e.constrainXY();e.sync(d);if(f){f()}}},setX:function(g,f,j,h,i){this.setXY([g,this.getY()],f,j,h,i);return this},setY:function(h,g,f,i,j){this.setXY([this.getX(),h],g,f,i,j);return this},setSize:function(i,n,h,l,j,k){var m=this;j=m.createCB(j);m.beforeAction();m.callParent([i,n,h,l,j,k]);if(!h){j()}return m},setWidth:function(h,g,k,i,j){var l=this;i=l.createCB(i);l.beforeAction();l.callParent([h,g,k,i,j]);if(!g){i()}return l},setHeight:function(g,h,k,i,j){var l=this;i=l.createCB(i);l.beforeAction();l.callParent([g,h,k,i,j]);if(!h){i()}return l},setBounds:function(l,m,r,j,q,p,k,o){var n=this;k=n.createCB(k);n.beforeAction();if(!q){Ext.Layer.superclass.setXY.call(n,[l,m]);Ext.Layer.superclass.setSize.call(n,r,j);k()}else{n.callParent([l,m,r,j,q,p,k,o])}return n},setZIndex:function(d){var c=this;c.zindex=d;if(c.getShim()){c.shim.setStyle("z-index",d++)}if(c.shadow){c.shadow.setZIndex(d++)}return c.setStyle("z-index",d)},setOpacity:function(b){if(this.shadow){this.shadow.setOpacity(b)}return this.callParent(arguments)}});Ext.define("Ext.data.ArrayStore",{extend:"Ext.data.Store",alias:"store.array",uses:["Ext.data.reader.Array"],constructor:function(b){b=b||{};Ext.applyIf(b,{proxy:{type:"memory",reader:"array"}});this.callParent([b])},loadData:function(h,g){if(this.expandData===true){var i=[],f=0,j=h.length;for(;f<j;f++){i[i.length]=[h[f]]}h=i}this.callParent([h,g])}},function(){Ext.data.SimpleStore=Ext.data.ArrayStore});Ext.define("Ext.PluginManager",{extend:"Ext.AbstractManager",alternateClassName:"Ext.PluginMgr",singleton:true,typeName:"ptype",create:function(d,c){if(d.init){return d}else{return Ext.createByAlias("plugin."+(d.ptype||c),d)}},findByType:function(l,i){var j=[],g=this.types;for(var h in g){if(!g.hasOwnProperty(h)){continue}var k=g[h];if(k.type==l&&(!i||(i===true&&k.isDefault))){j.push(k)}}return j}},function(){Ext.preg=function(){return Ext.PluginManager.registerType.apply(Ext.PluginManager,arguments)}});Ext.define("Ext.layout.component.Auto",{alias:"layout.autocomponent",extend:"Ext.layout.component.Component",type:"autocomponent",onLayout:function(c,d){this.setTargetSize(c,d)}});Ext.define("Ext.resizer.Resizer",{mixins:{observable:"Ext.util.Observable"},uses:["Ext.resizer.ResizeTracker","Ext.Component"],alternateClassName:"Ext.Resizable",handleCls:Ext.baseCSSPrefix+"resizable-handle",pinnedCls:Ext.baseCSSPrefix+"resizable-pinned",overCls:Ext.baseCSSPrefix+"resizable-over",wrapCls:Ext.baseCSSPrefix+"resizable-wrap",dynamic:true,handles:"s e se",height:null,width:null,heightIncrement:0,widthIncrement:0,minHeight:20,minWidth:20,maxHeight:10000,maxWidth:10000,pinned:false,preserveRatio:false,transparent:false,possiblePositions:{n:"north",s:"south",e:"east",w:"west",se:"southeast",sw:"southwest",nw:"northwest",ne:"northeast"},constructor:function(v){var p=this,q,i,m=p.handles,u,n,r,t=0,o;this.addEvents("beforeresize","resizedrag","resize");if(Ext.isString(v)||Ext.isElement(v)||v.dom){q=v;v=arguments[1]||{};v.target=q}p.mixins.observable.constructor.call(p,v);q=p.target;if(q){if(q.isComponent){p.el=q.getEl();if(q.minWidth){p.minWidth=q.minWidth}if(q.minHeight){p.minHeight=q.minHeight}if(q.maxWidth){p.maxWidth=q.maxWidth}if(q.maxHeight){p.maxHeight=q.maxHeight}if(q.floating){if(!this.hasOwnProperty("handles")){this.handles="n ne e se s sw w nw"}}}else{p.el=p.target=Ext.get(q)}}else{p.target=p.el=Ext.get(p.el)}i=p.el.dom.tagName;if(i=="TEXTAREA"||i=="IMG"){p.originalTarget=p.target;p.target=p.el=p.el.wrap({cls:p.wrapCls,id:p.el.id+"-rzwrap"});p.el.setPositioning(p.originalTarget.getPositioning());p.originalTarget.clearPositioning();var s=p.originalTarget.getBox();p.el.setBox(s)}p.el.position();if(p.pinned){p.el.addCls(p.pinnedCls)}p.resizeTracker=Ext.create("Ext.resizer.ResizeTracker",{disabled:p.disabled,target:p.target,constrainTo:p.constrainTo,overCls:p.overCls,throttle:p.throttle,originalTarget:p.originalTarget,delegate:"."+p.handleCls,dynamic:p.dynamic,preserveRatio:p.preserveRatio,heightIncrement:p.heightIncrement,widthIncrement:p.widthIncrement,minHeight:p.minHeight,maxHeight:p.maxHeight,minWidth:p.minWidth,maxWidth:p.maxWidth});p.resizeTracker.on("mousedown",p.onBeforeResize,p);p.resizeTracker.on("drag",p.onResize,p);p.resizeTracker.on("dragend",p.onResizeEnd,p);if(p.handles=="all"){p.handles="n s e w ne nw se sw"}m=p.handles=p.handles.split(/ |\s*?[,;]\s*?/);n=p.possiblePositions;r=m.length;u=p.handleCls+" "+(this.target.isComponent?(p.target.baseCls+"-handle "):"")+p.handleCls+"-";for(;t<r;t++){if(m[t]&&n[m[t]]){o=n[m[t]];p[o]=Ext.create("Ext.Component",{owner:this,region:o,cls:u+o,renderTo:p.el});p[o].el.unselectable();if(p.transparent){p[o].el.setOpacity(0)}}}if(Ext.isNumber(p.width)){p.width=Ext.Number.constrain(p.width,p.minWidth,p.maxWidth)}if(Ext.isNumber(p.height)){p.height=Ext.Number.constrain(p.height,p.minHeight,p.maxHeight)}if(p.width!=null||p.height!=null){if(p.originalTarget){p.originalTarget.setWidth(p.width);p.originalTarget.setHeight(p.height)}p.resizeTo(p.width,p.height)}p.forceHandlesHeight()},disable:function(){this.resizeTracker.disable()},enable:function(){this.resizeTracker.enable()},onBeforeResize:function(f,e){var b=this.target.getBox();return this.fireEvent("beforeresize",this,b.width,b.height,e)},onResize:function(g,e){var h=this,b=h.target.getBox();h.forceHandlesHeight();return h.fireEvent("resizedrag",h,b.width,b.height,e)},onResizeEnd:function(g,e){var h=this,b=h.target.getBox();h.forceHandlesHeight();return h.fireEvent("resize",h,b.width,b.height,e)},resizeTo:function(c,d){this.target.setSize(c,d);this.fireEvent("resize",this,c,d,null)},getEl:function(){return this.el},getTarget:function(){return this.target},destroy:function(){var f;for(var d=0,e=this.handles.length;d<e;d++){f=this[this.possiblePositions[this.handles[d]]];delete f.owner;Ext.destroy(f)}},forceHandlesHeight:function(){var d=this,c;if(Ext.isIE6){c=d.east;if(c){c.setHeight(d.el.getHeight())}c=d.west;if(c){c.setHeight(d.el.getHeight())}d.el.repaint()}}});Ext.define("Ext.panel.Tool",{extend:"Ext.Component",requires:["Ext.tip.QuickTipManager"],alias:"widget.tool",baseCls:Ext.baseCSSPrefix+"tool",disabledCls:Ext.baseCSSPrefix+"tool-disabled",toolPressedCls:Ext.baseCSSPrefix+"tool-pressed",toolOverCls:Ext.baseCSSPrefix+"tool-over",ariaRole:"button",renderTpl:['<img id="{id}-toolEl" src="{blank}" class="{baseCls}-{type}" role="presentation"/>'],tooltipType:"qtip",stopEvent:true,initComponent:function(){var c=this;c.addEvents("click");var d=["close","collapse","down","expand","gear","help","left","maximize","minimize","minus","move","next","pin","plus","prev","print","refresh","resize","restore","right","save","search","toggle","unpin","up"];if(c.id&&Ext.Array.indexOf(d,c.id)>-1&&Ext.global.console){Ext.global.console.warn("When specifying a tool you should use the type option, the id can conflict now that tool is a Component")}c.type=c.type||c.id;Ext.applyIf(c.renderData,{baseCls:c.baseCls,blank:Ext.BLANK_IMAGE_URL,type:c.type});c.addChildEls("toolEl");c.tooltip=c.tooltip||c.qtip;c.callParent()},afterRender:function(){var c=this,d;c.callParent(arguments);if(c.tooltip){if(Ext.isObject(c.tooltip)){Ext.tip.QuickTipManager.register(Ext.apply({target:c.id},c.tooltip))}else{d=c.tooltipType=="qtip"?"data-qtip":"title";c.toolEl.dom.setAttribute(d,c.tooltip)}}c.mon(c.toolEl,{click:c.onClick,mousedown:c.onMouseDown,mouseover:c.onMouseOver,mouseout:c.onMouseOut,scope:c})},setType:function(d){var c=this;c.type=d;if(c.rendered){c.toolEl.dom.className=c.baseCls+"-"+d}return c},bindTo:function(b){this.owner=b},onClick:function(g,h){var e=this,f;if(e.disabled){return false}f=e.owner||e.ownerCt;e.el.removeCls(e.toolPressedCls);e.el.removeCls(e.toolOverCls);if(e.stopEvent!==false){g.stopEvent()}Ext.callback(e.handler,e.scope||e,[g,h,f,e]);e.fireEvent("click",e,g);return true},onDestroy:function(){if(Ext.isObject(this.tooltip)){Ext.tip.QuickTipManager.unregister(this.id)}this.callParent()},onMouseDown:function(){if(this.disabled){return false}this.el.addCls(this.toolPressedCls)},onMouseOver:function(){if(this.disabled){return false}this.el.addCls(this.toolOverCls)},onMouseOut:function(){this.el.removeCls(this.toolOverCls)}});Ext.define("Ext.util.CSS",function(){var g=null;var h=document;var e=/(-[a-z])/gi;var f=function(b,a){return a.charAt(1).toUpperCase()};return{singleton:true,constructor:function(){this.rules={};this.initialized=false},createStyleSheet:function(d,a){var l,m=h.getElementsByTagName("head")[0],b=h.createElement("style");b.setAttribute("type","text/css");if(a){b.setAttribute("id",a)}if(Ext.isIE){m.appendChild(b);l=b.styleSheet;l.cssText=d}else{try{b.appendChild(h.createTextNode(d))}catch(c){b.cssText=d}m.appendChild(b);l=b.styleSheet?b.styleSheet:(b.sheet||h.styleSheets[h.styleSheets.length-1])}this.cacheStyleSheet(l);return l},removeStyleSheet:function(a){var b=document.getElementById(a);if(b){b.parentNode.removeChild(b)}},swapStyleSheet:function(a,d){var b=document;this.removeStyleSheet(a);var c=b.createElement("link");c.setAttribute("rel","stylesheet");c.setAttribute("type","text/css");c.setAttribute("id",a);c.setAttribute("href",d);b.getElementsByTagName("head")[0].appendChild(c)},refreshCache:function(){return this.getRules(true)},cacheStyleSheet:function(c){if(!g){g={}}try{var o=c.cssRules||c.rules,b,d=o.length-1,j,i;for(;d>=0;--d){b=o[d].selectorText;if(b){b=b.split(",");i=b.length;for(j=0;j<i;j++){g[Ext.String.trim(b[j]).toLowerCase()]=o[d]}}}}catch(a){}},getRules:function(d){if(g===null||d){g={};var b=h.styleSheets,c=0,i=b.length;for(;c<i;c++){try{if(!b[c].disabled){this.cacheStyleSheet(b[c])}}catch(a){}}}return g},getRule:function(d,b){var c=this.getRules(b);if(!Ext.isArray(d)){return c[d.toLowerCase()]}for(var a=0;a<d.length;a++){if(c[d[a]]){return c[d[a].toLowerCase()]}}return null},updateRule:function(i,b,c){if(!Ext.isArray(i)){var a=this.getRule(i);if(a){a.style[b.replace(e,f)]=c;return true}}else{for(var d=0;d<i.length;d++){if(this.updateRule(i[d],b,c)){return true}}}return false}}}());Ext.define("Ext.grid.ColumnLayout",{extend:"Ext.layout.container.HBox",alias:"layout.gridcolumn",type:"column",reserveOffset:false,shrinkToFit:false,clearInnerCtOnLayout:true,beforeLayout:function(){var j=this,n=0,h=j.getLayoutItems(),i=h.length,k,l,m;if(!Ext.isDefined(j.availableSpaceOffset)){m=j.owner.up("tablepanel").verticalScroller;j.availableSpaceOffset=m?m.width-1:0}l=j.callParent(arguments);j.innerCt.setHeight(23);for(;n<i;n++){k=h[n];k.el.setStyle({height:"auto"});k.titleContainer.setStyle({height:"auto",paddingTop:"0"});if(k.componentLayout&&k.componentLayout.lastComponentSize){k.componentLayout.lastComponentSize.height=k.el.dom.offsetHeight}}return l},calculateChildBoxes:function(i,r){var m=this,s=m.callParent(arguments),o=s.boxes,t=s.meta,n=o.length,q=0,p,l;if(r.width&&!m.isHeader){if(m.owner.forceFit){for(;q<n;q++){p=o[q];l=p.component;l.minWidth=Ext.grid.plugin.HeaderResizer.prototype.minColWidth;l.flex=p.width}s=m.callParent(arguments)}else{if(t.tooNarrow){r.width=t.desiredSize}}}return s},afterLayout:function(){var n=this,x=n.owner,o,i,r,w,s,v,t=0,p,q,u;n.callParent(arguments);if(!n.owner.hideHeaders){if(x.lockableInjected){o=x.up("tablepanel").up("tablepanel");i=o.query("headercontainer:not([isHeader])");r=(i[0]===x)?i[1]:i[0];if(!r.rendered){return}s=r.layout.getRenderTarget().getViewSize().height;if(!s){return}w=this.getRenderTarget().getViewSize().height;if(!w){return}o.componentLayout.layoutBusy=true;u=w;if(w>s){r.layout.align="stretch";r.setCalculatedSize(r.getWidth(),x.getHeight(),r.ownerCt);delete r.layout.align;v=r.up("tablepanel")}else{if(s>w){u=s;this.align="stretch";x.setCalculatedSize(x.getWidth(),r.getHeight(),x.ownerCt);delete this.align;v=x.up("tablepanel")}}o.componentLayout.layoutBusy=false;p=i[0].layout.getLayoutItems().concat(i[1].layout.getLayoutItems())}else{u=this.getRenderTarget().getViewSize().height;p=n.getLayoutItems()}q=p.length;for(;t<q;t++){p[t].setPadding(u)}if(v){setTimeout(function(){v.doLayout()},1)}}},updateInnerCtSize:function(e,g){var h=this,f;if(!h.isHeader){h.tooNarrow=g.meta.tooNarrow;f=(h.reserveOffset?h.availableSpaceOffset:0);if(g.meta.tooNarrow){e.width=g.meta.desiredSize+f}else{e.width+=f}}return h.callParent(arguments)},doOwnerCtLayouts:function(){var b=this.owner.ownerCt;if(!b.componentLayout.layoutBusy){b.doComponentLayout()}}});Ext.define("Ext.view.TableChunker",{singleton:true,requires:["Ext.XTemplate"],metaTableTpl:["{[this.openTableWrap()]}",'<table class="'+Ext.baseCSSPrefix+"grid-table "+Ext.baseCSSPrefix+'grid-table-resizer" border="0" cellspacing="0" cellpadding="0" {[this.embedFullWidth()]}>',"<tbody>",'<tr class="'+Ext.baseCSSPrefix+'grid-header-row">','<tpl for="columns">','<th class="'+Ext.baseCSSPrefix+'grid-col-resizer-{id}" style="width: {width}px; height: 0px;"></th>',"</tpl>","</tr>","{[this.openRows()]}","{row}",'<tpl for="features">',"{[this.embedFeature(values, parent, xindex, xcount)]}","</tpl>","{[this.closeRows()]}","</tbody>","</table>","{[this.closeTableWrap()]}"],constructor:function(){Ext.XTemplate.prototype.recurse=function(c,d){return this.apply(d?c[d]:c)}},embedFeature:function(f,i,g,h){var j="";if(!f.disabled){j=f.getFeatureTpl(f,i,g,h)}return j},embedFullWidth:function(){return'style="width: {fullWidth}px;"'},openRows:function(){return'<tpl for="rows">'},closeRows:function(){return"</tpl>"},metaRowTpl:['<tr class="'+Ext.baseCSSPrefix+'grid-row {addlSelector} {[this.embedRowCls()]}" {[this.embedRowAttr()]}>','<tpl for="columns">','<td class="{cls} '+Ext.baseCSSPrefix+"grid-cell "+Ext.baseCSSPrefix+'grid-cell-{columnId} {{id}-modified} {{id}-tdCls} {[this.firstOrLastCls(xindex, xcount)]}" {{id}-tdAttr}><div unselectable="on" class="'+Ext.baseCSSPrefix+"grid-cell-inner "+Ext.baseCSSPrefix+'unselectable" style="{{id}-style}; text-align: {align};">{{id}}</div></td>',"</tpl>","</tr>"],firstOrLastCls:function(d,f){var e="";if(d===1){e=Ext.baseCSSPrefix+"grid-cell-first"}else{if(d===f){e=Ext.baseCSSPrefix+"grid-cell-last"}}return e},embedRowCls:function(){return"{rowCls}"},embedRowAttr:function(){return"{rowAttr}"},openTableWrap:function(){return""},closeTableWrap:function(){return""},getTableTpl:function(n,u){var o,p={openRows:this.openRows,closeRows:this.closeRows,embedFeature:this.embedFeature,embedFullWidth:this.embedFullWidth,openTableWrap:this.openTableWrap,closeTableWrap:this.closeTableWrap},q={},t=n.features||[],i=t.length,r=0,m={embedRowCls:this.embedRowCls,embedRowAttr:this.embedRowAttr,firstOrLastCls:this.firstOrLastCls},s=Array.prototype.slice.call(this.metaRowTpl,0),v;for(;r<i;r++){if(!t[r].disabled){t[r].mutateMetaRowTpl(s);Ext.apply(m,t[r].getMetaRowTplFragments());Ext.apply(q,t[r].getFragmentTpl());Ext.apply(p,t[r].getTableFragments())}}s=Ext.create("Ext.XTemplate",s.join(""),m);n.row=s.applyTemplate(n);v=Ext.create("Ext.XTemplate",this.metaTableTpl.join(""),p);o=v.applyTemplate(n);if(!u){o=Ext.create("Ext.XTemplate",o,q)}return o}});Ext.define("Ext.grid.Scroller",{extend:"Ext.Component",alias:"widget.gridscroller",weight:110,baseCls:Ext.baseCSSPrefix+"scroller",focusable:false,reservedSpace:0,renderTpl:['<div class="'+Ext.baseCSSPrefix+'scroller-ct" id="{baseId}_ct">','<div class="'+Ext.baseCSSPrefix+'stretcher" id="{baseId}_stretch"></div>',"</div>"],initComponent:function(){var f=this,d=f.dock,e=Ext.baseCSSPrefix+"scroller-vertical";f.offsets={bottom:0};f.scrollProp="scrollTop";f.vertical=true;f.sizeProp="width";if(d==="top"||d==="bottom"){e=Ext.baseCSSPrefix+"scroller-horizontal";f.sizeProp="height";f.scrollProp="scrollLeft";f.vertical=false;f.weight+=5}f.cls+=(" "+e);Ext.applyIf(f.renderSelectors,{stretchEl:"."+Ext.baseCSSPrefix+"stretcher",scrollEl:"."+Ext.baseCSSPrefix+"scroller-ct"});f.callParent()},ensureDimension:function(){var d=this,c=d.sizeProp;d[c]=d.scrollerSize=Ext.getScrollbarSize()[c]},initRenderData:function(){var c=this,d=c.callParent(arguments)||{};d.baseId=c.id;return d},afterRender:function(){var b=this;b.callParent();b.mon(b.scrollEl,"scroll",b.onElScroll,b);Ext.cache[b.el.id].skipGarbageCollection=true},onAdded:function(b){this.ownerGrid=b;this.callParent(arguments)},getSizeCalculation:function(){var l=this,p=l.getPanel(),m=1,i=1,o,k;if(!l.vertical){var n=p.query("tableview"),j=n[1]||n[0];if(!j){return false}m=j.headerCt.getFullWidth();if(Ext.isIEQuirks){m--}}else{o=p.down("tableview:not([lockableInjected])");if(!o||!o.el){return false}k=o.el.child("table",true);if(!k){return false}i=k.offsetHeight}if(isNaN(m)){m=1}if(isNaN(i)){i=1}return{width:m,height:i}},invalidate:function(o){var m=this,n=m.stretchEl;if(!n||!m.ownerCt){return}var j=m.getSizeCalculation(),k=m.scrollEl,q=k.dom,p=m.reservedSpace,l,r=5;if(j){n.setSize(j);j=m.el.getSize(true);if(m.vertical){j.width+=r;j.height-=p;l="left"}else{j.width-=p;j.height+=r;l="top"}k.setSize(j);q.style[l]=(-r)+"px";q.scrollTop=q.scrollTop}},afterComponentLayout:function(){this.callParent(arguments);this.invalidate()},restoreScrollPos:function(){var f=this,d=this.scrollEl,e=d&&d.dom;if(f._scrollPos!==null&&e){e[f.scrollProp]=f._scrollPos;f._scrollPos=null}},setReservedSpace:function(c){var d=this;if(d.reservedSpace!==c){d.reservedSpace=c;d.invalidate()}},saveScrollPos:function(){var f=this,d=this.scrollEl,e=d&&d.dom;f._scrollPos=e?e[f.scrollProp]:null},setScrollTop:function(f){var d=this.scrollEl,e=d&&d.dom;if(e){return e.scrollTop=Ext.Number.constrain(f,0,e.scrollHeight-e.clientHeight)}},setScrollLeft:function(f){var d=this.scrollEl,e=d&&d.dom;if(e){return e.scrollLeft=Ext.Number.constrain(f,0,e.scrollWidth-e.clientWidth)}},scrollByDeltaY:function(f){var d=this.scrollEl,e=d&&d.dom;if(e){return this.setScrollTop(e.scrollTop+f)}},scrollByDeltaX:function(f){var d=this.scrollEl,e=d&&d.dom;if(e){return this.setScrollLeft(e.scrollLeft+f)}},scrollToTop:function(){this.setScrollTop(0)},onElScroll:function(d,c){this.fireEvent("bodyscroll",d,c)},getPanel:function(){var b=this;if(!b.panel){b.panel=this.up("[scrollerOwner]")}return b.panel}});Ext.define("Ext.data.Batch",{mixins:{observable:"Ext.util.Observable"},autoStart:false,current:-1,total:0,isRunning:false,isComplete:false,hasException:false,pauseOnException:true,constructor:function(d){var c=this;c.addEvents("complete","exception","operationcomplete");c.mixins.observable.constructor.call(c,d);c.operations=[]},add:function(b){this.total++;b.setBatch(this);this.operations.push(b)},start:function(){this.hasException=false;this.isRunning=true;this.runNextOperation()},runNextOperation:function(){this.runOperation(this.current+1)},pause:function(){this.isRunning=false},runOperation:function(i){var h=this,j=h.operations,f=j[i],g;if(f===undefined){h.isRunning=false;h.isComplete=true;h.fireEvent("complete",h,j[j.length-1])}else{h.current=i;g=function(b){var a=b.hasException();if(a){h.hasException=true;h.fireEvent("exception",h,b)}else{h.fireEvent("operationcomplete",h,b)}if(a&&h.pauseOnException){h.pause()}else{b.setCompleted();h.runNextOperation()}};f.setStarted();h.proxy[f.action](f,g,h)}}});Ext.define("Ext.data.Request",{action:undefined,params:undefined,method:"GET",url:undefined,constructor:function(b){Ext.apply(this,b)}});Ext.define("Ext.util.History",{singleton:true,alternateClassName:"Ext.History",mixins:{observable:"Ext.util.Observable"},constructor:function(){var b=this;b.oldIEMode=Ext.isIE6||Ext.isIE7||!Ext.isStrict&&Ext.isIE8;b.iframe=null;b.hiddenField=null;b.ready=false;b.currentToken=null},getHash:function(){var d=window.location.href,c=d.indexOf("#");return c>=0?d.substr(c+1):null},doSave:function(){this.hiddenField.value=this.currentToken},handleStateChange:function(b){this.currentToken=b;this.fireEvent("change",b)},updateIFrame:function(e){var f='<html><body><div id="state">'+Ext.util.Format.htmlEncode(e)+"</div></body></html>";try{var g=this.iframe.contentWindow.document;g.open();g.write(f);g.close();return true}catch(h){return false}},checkIFrame:function(){var k=this,g=k.iframe.contentWindow;if(!g||!g.document){Ext.Function.defer(this.checkIFrame,10,this);return}var j=g.document,l=j.getElementById("state"),h=l?l.innerText:null,i=k.getHash();Ext.TaskManager.start({run:function(){var a=g.document,b=a.getElementById("state"),d=b?b.innerText:null,c=k.getHash();if(d!==h){h=d;k.handleStateChange(d);window.top.location.hash=d;i=d;k.doSave()}else{if(c!==i){i=c;k.updateIFrame(c)}}},interval:50,scope:k});k.ready=true;k.fireEvent("ready",k)},startUp:function(){var d=this;d.currentToken=d.hiddenField.value||this.getHash();if(d.oldIEMode){d.checkIFrame()}else{var c=d.getHash();Ext.TaskManager.start({run:function(){var a=d.getHash();if(a!==c){c=a;d.handleStateChange(c);d.doSave()}},interval:50,scope:d});d.ready=true;d.fireEvent("ready",d)}},fieldId:Ext.baseCSSPrefix+"history-field",iframeId:Ext.baseCSSPrefix+"history-frame",init:function(f,e){var d=this;if(d.ready){Ext.callback(f,e,[d]);return}if(!Ext.isReady){Ext.onReady(function(){d.init(f,e)});return}d.hiddenField=Ext.getDom(d.fieldId);if(d.oldIEMode){d.iframe=Ext.getDom(d.iframeId)}d.addEvents("ready","change");if(f){d.on("ready",f,e,{single:true})}d.startUp()},add:function(e,f){var d=this;if(f!==false){if(d.getToken()===e){return true}}if(d.oldIEMode){return d.updateIFrame(e)}else{window.top.location.hash=e;return true}},back:function(){window.history.go(-1)},forward:function(){window.history.go(1)},getToken:function(){return this.ready?this.currentToken:this.getHash()}});Ext.define("Ext.data.JsonP",{singleton:true,statics:{requestCount:0,requests:{}},timeout:30000,disableCaching:true,disableCachingParam:"_dc",callbackKey:"callback",request:function(n){n=Ext.apply({},n);if(!n.url){Ext.Error.raise("A url must be specified for a JSONP request.")}var r=this,w=Ext.isDefined(n.disableCaching)?n.disableCaching:r.disableCaching,t=n.disableCachingParam||r.disableCachingParam,x=++r.statics().requestCount,p=n.callbackName||"callback"+x,s=n.callbackKey||r.callbackKey,o=Ext.isDefined(n.timeout)?n.timeout:r.timeout,v=Ext.apply({},n.params),y=n.url,z=Ext.isSandboxed?Ext.getUniqueGlobalNamespace():"Ext",u,q;v[s]=z+".data.JsonP."+p;if(w){v[t]=new Date().getTime()}q=r.createScript(y,v);r.statics().requests[x]=u={url:y,params:v,script:q,id:x,scope:n.scope,success:n.success,failure:n.failure,callback:n.callback,callbackName:p};if(o>0){u.timeout=setTimeout(Ext.bind(r.handleTimeout,r,[u]),o)}r.setupErrorHandling(u);r[p]=Ext.bind(r.handleResponse,r,[u],true);Ext.getHead().appendChild(q);return u},abort:function(d){var f=this.statics().requests,e;if(d){if(!d.id){d=f[d]}this.abort(d)}else{for(e in f){if(f.hasOwnProperty(e)){this.abort(f[e])}}}},setupErrorHandling:function(b){b.script.onerror=Ext.bind(this.handleError,this,[b])},handleAbort:function(b){b.errorType="abort";this.handleResponse(null,b)},handleError:function(b){b.errorType="error";this.handleResponse(null,b)},cleanupErrorHandling:function(b){b.script.onerror=null},handleTimeout:function(b){b.errorType="timeout";this.handleResponse(null,b)},handleResponse:function(e,d){var f=true;if(d.timeout){clearTimeout(d.timeout)}delete this[d.callbackName];delete this.statics()[d.id];this.cleanupErrorHandling(d);Ext.fly(d.script).remove();if(d.errorType){f=false;Ext.callback(d.failure,d.scope,[d.errorType])}else{Ext.callback(d.success,d.scope,[e])}Ext.callback(d.callback,d.scope,[f,e,d.errorType])},createScript:function(d,f){var e=document.createElement("script");e.setAttribute("src",Ext.urlAppend(d,Ext.Object.toQueryString(f)));e.setAttribute("async",true);e.setAttribute("type","text/javascript");return e}});Ext.define("Ext.dd.DragZone",{extend:"Ext.dd.DragSource",constructor:function(c,d){this.callParent([c,d]);if(this.containerScroll){Ext.dd.ScrollManager.register(this.el)}},getDragData:function(b){return Ext.dd.Registry.getHandleFromEvent(b)},onInitDrag:function(d,c){this.proxy.update(this.dragData.ddel.cloneNode(true));this.onStartDrag(d,c);return true},afterRepair:function(){var b=this;if(Ext.enableFx){Ext.fly(b.dragData.ddel).highlight(b.repairHighlightColor)}b.dragging=false},getRepairXY:function(b){return Ext.Element.fly(this.dragData.ddel).getXY()},destroy:function(){this.callParent();if(this.containerScroll){Ext.dd.ScrollManager.unregister(this.el)}}});Ext.define("Ext.menu.Item",{extend:"Ext.Component",alias:"widget.menuitem",alternateClassName:"Ext.menu.TextItem",activeCls:Ext.baseCSSPrefix+"menu-item-active",ariaRole:"menuitem",canActivate:true,clickHideDelay:1,destroyMenu:true,disabledCls:Ext.baseCSSPrefix+"menu-item-disabled",hideOnClick:true,isMenuItem:true,menuAlign:"tl-tr?",menuExpandDelay:200,menuHideDelay:200,renderTpl:['<tpl if="plain">',"{text}","</tpl>",'<tpl if="!plain">','<a id="{id}-itemEl" class="'+Ext.baseCSSPrefix+'menu-item-link" href="{href}" <tpl if="hrefTarget">target="{hrefTarget}"</tpl> hidefocus="true" unselectable="on">','<img id="{id}-iconEl" src="{icon}" class="'+Ext.baseCSSPrefix+'menu-item-icon {iconCls}" />','<span id="{id}-textEl" class="'+Ext.baseCSSPrefix+'menu-item-text" <tpl if="menu">style="margin-right: 17px;"</tpl> >{text}</span>','<tpl if="menu">','<img id="{id}-arrowEl" src="{blank}" class="'+Ext.baseCSSPrefix+'menu-item-arrow" />',"</tpl>","</a>","</tpl>"],maskOnDisable:false,activate:function(){var b=this;if(!b.activated&&b.canActivate&&b.rendered&&!b.isDisabled()&&b.isVisible()){b.el.addCls(b.activeCls);b.focus();b.activated=true;b.fireEvent("activate",b)}},blur:function(){this.$focused=false;this.callParent(arguments)},deactivate:function(){var b=this;if(b.activated){b.el.removeCls(b.activeCls);b.blur();b.hideMenu();b.activated=false;b.fireEvent("deactivate",b)}},deferExpandMenu:function(){var b=this;if(!b.menu.rendered||!b.menu.isVisible()){b.parentMenu.activeChild=b.menu;b.menu.parentItem=b;b.menu.parentMenu=b.menu.ownerCt=b.parentMenu;b.menu.showBy(b,b.menuAlign)}},deferHideMenu:function(){if(this.menu.isVisible()){this.menu.hide()}},deferHideParentMenus:function(){Ext.menu.Manager.hideAll()},expandMenu:function(d){var c=this;if(c.menu){clearTimeout(c.hideMenuTimer);if(d===0){c.deferExpandMenu()}else{c.expandMenuTimer=Ext.defer(c.deferExpandMenu,Ext.isNumber(d)?d:c.menuExpandDelay,c)}}},focus:function(){this.$focused=true;this.callParent(arguments)},getRefItems:function(e){var f=this.menu,d;if(f){d=f.getRefItems(e);d.unshift(f)}return d||[]},hideMenu:function(d){var c=this;if(c.menu){clearTimeout(c.expandMenuTimer);c.hideMenuTimer=Ext.defer(c.deferHideMenu,Ext.isNumber(d)?d:c.menuHideDelay,c)}},initComponent:function(){var d=this,f=Ext.baseCSSPrefix,e=[f+"menu-item"];d.addEvents("activate","click","deactivate");if(d.plain){e.push(f+"menu-item-plain")}if(d.cls){e.push(d.cls)}d.cls=e.join(" ");if(d.menu){d.menu=Ext.menu.Manager.get(d.menu)}d.callParent(arguments)},onClick:function(c){var d=this;if(!d.href){c.stopEvent()}if(d.disabled){return}if(d.hideOnClick){d.deferHideParentMenusTimer=Ext.defer(d.deferHideParentMenus,d.clickHideDelay,d)}Ext.callback(d.handler,d.scope||d,[d,c]);d.fireEvent("click",d,c);if(!d.hideOnClick){d.focus()}},onDestroy:function(){var b=this;clearTimeout(b.expandMenuTimer);clearTimeout(b.hideMenuTimer);clearTimeout(b.deferHideParentMenusTimer);if(b.menu){delete b.menu.parentItem;delete b.menu.parentMenu;delete b.menu.ownerCt;if(b.destroyMenu!==false){b.menu.destroy()}}b.callParent(arguments)},onRender:function(f,g){var e=this,h=Ext.BLANK_IMAGE_URL;Ext.applyIf(e.renderData,{href:e.href||"#",hrefTarget:e.hrefTarget,icon:e.icon||h,iconCls:e.iconCls+(e.checkChangeDisabled?" "+e.disabledCls:""),menu:Ext.isDefined(e.menu),plain:e.plain,text:e.text,blank:h});e.addChildEls("itemEl","iconEl","textEl","arrowEl");e.callParent(arguments)},setHandler:function(c,d){this.handler=c||null;this.scope=d},setIconCls:function(d){var c=this;if(c.iconEl){if(c.iconCls){c.iconEl.removeCls(c.iconCls)}if(d){c.iconEl.addCls(d)}}c.iconCls=d},setText:function(f){var d=this,e=d.textEl||d.el;d.text=f;if(d.rendered){e.update(f||"");d.ownerCt.redoComponentLayout()}}});Ext.define("Ext.menu.KeyNav",{extend:"Ext.util.KeyNav",requires:["Ext.FocusManager"],constructor:function(c){var d=this;d.menu=c;d.callParent([c.el,{down:d.down,enter:d.enter,esc:d.escape,left:d.left,right:d.right,space:d.enter,tab:d.tab,up:d.up}])},down:function(d){var e=this,f=e.menu.focusedItem;if(f&&d.getKey()==Ext.EventObject.DOWN&&e.isWhitelisted(f)){return true}e.focusNextItem(1)},enter:function(d){var f=this.menu,e=f.focusedItem;if(f.activeItem){f.onClick(d)}else{if(e&&e.isFormField){return true}}},escape:function(b){Ext.menu.Manager.hideAll()},focusNextItem:function(k){var j=this.menu,h=j.items,m=j.focusedItem,n=m?h.indexOf(m):-1,i=n+k;while(i!=n){if(i<0){i=h.length-1}else{if(i>=h.length){i=0}}var l=h.getAt(i);if(j.canActivateItem(l)){j.setActiveItem(l);break}i+=k}},isWhitelisted:function(b){return Ext.FocusManager.isWhitelisted(b)},left:function(e){var h=this.menu,g=h.focusedItem,f=h.activeItem;if(g&&this.isWhitelisted(g)){return true}h.hide();if(h.parentMenu){h.parentMenu.focus()}},right:function(j){var i=this.menu,h=i.focusedItem,g=i.activeItem,e;if(h&&this.isWhitelisted(h)){return true}if(g){e=i.activeItem.menu;if(e){g.expandMenu(0);Ext.defer(function(){e.setActiveItem(e.items.getAt(0))},25)}}},tab:function(c){var d=this;if(c.shiftKey){d.up(c)}else{d.down(c)}},up:function(d){var e=this,f=e.menu.focusedItem;if(f&&d.getKey()==Ext.EventObject.UP&&e.isWhitelisted(f)){return true}e.focusNextItem(-1)}});Ext.define("Ext.ElementLoader",{mixins:{observable:"Ext.util.Observable"},uses:["Ext.data.Connection","Ext.Ajax"],statics:{Renderer:{Html:function(e,d,f){e.getTarget().update(d.responseText,f.scripts===true);return true}}},url:null,params:null,baseParams:null,autoLoad:false,target:null,loadMask:false,ajaxOptions:null,scripts:false,isLoader:true,constructor:function(d){var f=this,e;d=d||{};Ext.apply(f,d);f.setTarget(f.target);f.addEvents("beforeload","exception","load");f.mixins.observable.constructor.call(f);if(f.autoLoad){e=f.autoLoad;if(e===true){e={}}f.load(e)}},setTarget:function(c){var d=this;c=Ext.get(c);if(d.target&&d.target!=c){d.abort()}d.target=c},getTarget:function(){return this.target||null},abort:function(){var b=this.active;if(b!==undefined){Ext.Ajax.abort(b.request);if(b.mask){this.removeMask()}delete this.active}},removeMask:function(){this.target.unmask()},addMask:function(b){this.target.mask(b===true?null:b)},load:function(k){if(!this.target){Ext.Error.raise("A valid target is required when loading content")}k=Ext.apply({},k);var n=this,o=n.target,j=Ext.isDefined(k.loadMask)?k.loadMask:n.loadMask,q=Ext.apply({},k.params),r=Ext.apply({},k.ajaxOptions),m=k.callback||n.callback,l=k.scope||n.scope||n,p;Ext.applyIf(r,n.ajaxOptions);Ext.applyIf(k,r);Ext.applyIf(q,n.params);Ext.apply(q,n.baseParams);Ext.applyIf(k,{url:n.url});if(!k.url){Ext.Error.raise("You must specify the URL from which content should be loaded")}Ext.apply(k,{scope:n,params:q,callback:n.onComplete});if(n.fireEvent("beforeload",n,k)===false){return}if(j){n.addMask(j)}p=Ext.Ajax.request(k);n.active={request:p,options:k,mask:j,scope:l,callback:m,success:k.success||n.success,failure:k.failure||n.failure,renderer:k.renderer||n.renderer,scripts:Ext.isDefined(k.scripts)?k.scripts:n.scripts};n.setOptions(n.active,k)},setOptions:Ext.emptyFn,onComplete:function(h,j,i){var m=this,k=m.active,n=k.scope,l=m.getRenderer(k.renderer);if(j){j=l.call(m,m,i,k)}if(j){Ext.callback(k.success,n,[m,i,h]);m.fireEvent("load",m,i,h)}else{Ext.callback(k.failure,n,[m,i,h]);m.fireEvent("exception",m,i,h)}Ext.callback(k.callback,n,[m,j,i,h]);if(k.mask){m.removeMask()}delete m.active},getRenderer:function(b){if(Ext.isFunction(b)){return b}return this.statics().Renderer.Html},startAutoRefresh:function(e,d){var f=this;f.stopAutoRefresh();f.autoRefresh=setInterval(function(){f.load(d)},e)},stopAutoRefresh:function(){clearInterval(this.autoRefresh);delete this.autoRefresh},isAutoRefreshing:function(){return Ext.isDefined(this.autoRefresh)},destroy:function(){var b=this;b.stopAutoRefresh();delete b.target;b.abort();b.clearListeners()}});Ext.define("Ext.dd.DragTracker",{uses:["Ext.util.Region"],mixins:{observable:"Ext.util.Observable"},active:false,trackOver:false,tolerance:5,autoStart:false,constructor:function(b){Ext.apply(this,b);this.addEvents("mouseover","mouseout","mousedown","mouseup","mousemove","beforedragstart","dragstart","dragend","drag");this.dragRegion=Ext.create("Ext.util.Region",0,0,0,0);if(this.el){this.initEl(this.el)}this.mixins.observable.constructor.call(this);if(this.disabled){this.disable()}},initEl:function(b){this.el=Ext.get(b);this.handle=Ext.get(this.delegate);this.delegate=this.handle?undefined:this.delegate;if(!this.handle){this.handle=this.el}this.mon(this.handle,{mousedown:this.onMouseDown,delegate:this.delegate,scope:this});if(this.trackOver||this.overCls){this.mon(this.handle,{mouseover:this.onMouseOver,mouseout:this.onMouseOut,delegate:this.delegate,scope:this})}},disable:function(){this.disabled=true},enable:function(){this.disabled=false},destroy:function(){this.clearListeners();delete this.el},onMouseOver:function(f,d){var e=this;if(!e.disabled){if(Ext.EventManager.contains(f)||e.delegate){e.mouseIsOut=false;if(e.overCls){e.el.addCls(e.overCls)}e.fireEvent("mouseover",e,f,e.delegate?f.getTarget(e.delegate,d):e.handle)}}},onMouseOut:function(b){if(this.mouseIsDown){this.mouseIsOut=true}else{if(this.overCls){this.el.removeCls(this.overCls)}this.fireEvent("mouseout",this,b)}},onMouseDown:function(c,d){if(this.disabled||c.dragTracked){return}this.dragTarget=this.delegate?d:this.handle.dom;this.startXY=this.lastXY=c.getXY();this.startRegion=Ext.fly(this.dragTarget).getRegion();if(this.fireEvent("mousedown",this,c)===false||this.fireEvent("beforedragstart",this,c)===false||this.onBeforeStart(c)===false){return}this.mouseIsDown=true;c.dragTracked=true;if(this.preventDefault!==false){c.preventDefault()}Ext.getDoc().on({scope:this,mouseup:this.onMouseUp,mousemove:this.onMouseMove,selectstart:this.stopSelect});if(this.autoStart){this.timer=Ext.defer(this.triggerStart,this.autoStart===true?1000:this.autoStart,this,[c])}},onMouseMove:function(g,h){if(this.active&&Ext.isIE&&!g.browserEvent.button){g.preventDefault();this.onMouseUp(g);return}g.preventDefault();var e=g.getXY(),f=this.startXY;this.lastXY=e;if(!this.active){if(Math.max(Math.abs(f[0]-e[0]),Math.abs(f[1]-e[1]))>this.tolerance){this.triggerStart(g)}else{return}}if(this.fireEvent("mousemove",this,g)===false){this.onMouseUp(g)}else{this.onDrag(g);this.fireEvent("drag",this,g)}},onMouseUp:function(b){this.mouseIsDown=false;if(this.mouseIsOut){this.mouseIsOut=false;this.onMouseOut(b)}b.preventDefault();this.fireEvent("mouseup",this,b);this.endDrag(b)},endDrag:function(f){var d=Ext.getDoc(),e=this.active;d.un("mousemove",this.onMouseMove,this);d.un("mouseup",this.onMouseUp,this);d.un("selectstart",this.stopSelect,this);this.clearStart();this.active=false;if(e){this.onEnd(f);this.fireEvent("dragend",this,f)}delete this._constrainRegion;delete Ext.EventObject.dragTracked},triggerStart:function(b){this.clearStart();this.active=true;this.onStart(b);this.fireEvent("dragstart",this,b)},clearStart:function(){if(this.timer){clearTimeout(this.timer);delete this.timer}},stopSelect:function(b){b.stopEvent();return false},onBeforeStart:function(b){},onStart:function(b){},onDrag:function(b){},onEnd:function(b){},getDragTarget:function(){return this.dragTarget},getDragCt:function(){return this.el},getConstrainRegion:function(){if(this.constrainTo){if(this.constrainTo instanceof Ext.util.Region){return this.constrainTo}if(!this._constrainRegion){this._constrainRegion=Ext.fly(this.constrainTo).getViewRegion()}}else{if(!this._constrainRegion){this._constrainRegion=this.getDragCt().getViewRegion()}}return this._constrainRegion},getXY:function(b){return b?this.constrainModes[b](this,this.lastXY):this.lastXY},getOffset:function(f){var d=this.getXY(f),e=this.startXY;return[d[0]-e[0],d[1]-e[1]]},constrainModes:{point:function(e,g){var h=e.dragRegion,f=e.getConstrainRegion();if(!f){return g}h.x=h.left=h[0]=h.right=g[0];h.y=h.top=h[1]=h.bottom=g[1];h.constrainTo(f);return[h.left,h.top]},dragTarget:function(l,i){var g=l.startXY,j=l.startRegion.copy(),h=l.getConstrainRegion(),k;if(!h){return i}j.translateBy(i[0]-g[0],i[1]-g[1]);if(j.right>h.right){i[0]+=k=(h.right-j.right);j.left+=k}if(j.left<h.left){i[0]+=(h.left-j.left)}if(j.bottom>h.bottom){i[1]+=k=(h.bottom-j.bottom);j.top+=k}if(j.top<h.top){i[1]+=(h.top-j.top)}return i}}});Ext.define("Ext.layout.component.Draw",{alias:"layout.draw",extend:"Ext.layout.component.Auto",type:"draw",onLayout:function(c,d){this.owner.surface.setSize(c,d);this.callParent(arguments)}});Ext.define("Ext.grid.header.DragZone",{extend:"Ext.dd.DragZone",colHeaderCls:Ext.baseCSSPrefix+"column-header",maxProxyWidth:120,constructor:function(b){this.headerCt=b;this.ddGroup=this.getDDGroup();this.callParent([b.el]);this.proxy.el.addCls(Ext.baseCSSPrefix+"grid-col-dd")},getDDGroup:function(){return"header-dd-zone-"+this.headerCt.up("[scrollerOwner]").id},getDragData:function(e){var g=e.getTarget("."+this.colHeaderCls),f;if(g){f=Ext.getCmp(g.id);if(!this.headerCt.dragging&&f.draggable&&!(f.isOnLeftEdge(e)||f.isOnRightEdge(e))){var h=document.createElement("div");h.innerHTML=Ext.getCmp(g.id).text;return{ddel:h,header:f}}}return false},onBeforeDrag:function(){return !(this.headerCt.dragging||this.disabled)},onInitDrag:function(){this.headerCt.dragging=true;this.callParent(arguments)},onDragDrop:function(){this.headerCt.dragging=false;this.callParent(arguments)},afterRepair:function(){this.callParent();this.headerCt.dragging=false},getRepairXY:function(){return this.dragData.header.el.getXY()},disable:function(){this.disabled=true},enable:function(){this.disabled=false}});Ext.define("Ext.grid.LockingView",{mixins:{observable:"Ext.util.Observable"},eventRelayRe:/^(beforeitem|beforecontainer|item|container|cell)/,constructor:function(p){var m=this,k=[],j=m.eventRelayRe,i=p.locked.getView(),l=p.normal.getView(),o,n;Ext.apply(m,{lockedView:i,normalView:l,lockedGrid:p.locked,normalGrid:p.normal,panel:p.panel});m.mixins.observable.constructor.call(m,p);o=i.events;for(n in o){if(o.hasOwnProperty(n)&&j.test(n)){k.push(n)}}m.relayEvents(i,k);m.relayEvents(l,k);l.on({scope:m,itemmouseleave:m.onItemMouseLeave,itemmouseenter:m.onItemMouseEnter});i.on({scope:m,itemmouseleave:m.onItemMouseLeave,itemmouseenter:m.onItemMouseEnter})},getGridColumns:function(){var b=this.lockedGrid.headerCt.getGridColumns();return b.concat(this.normalGrid.headerCt.getGridColumns())},getEl:function(b){return this.getViewForColumn(b).getEl()},getViewForColumn:function(d){var e=this.lockedView,f;e.headerCt.cascade(function(a){if(a===d){f=true;return false}});return f?e:this.normalView},onItemMouseEnter:function(l,g){var i=this,k=i.lockedView,h=i.normalView,j;if(l.trackOver){if(l!==k){h=k}j=h.getNode(g);h.highlightItem(j)}},onItemMouseLeave:function(j,f){var h=this,i=h.lockedView,g=h.normalView;if(j.trackOver){if(j!==i){g=i}g.clearHighlight()}},relayFn:function(f,d){d=d||[];var e=this.lockedView;e[f].apply(e,d||[]);e=this.normalView;e[f].apply(e,d||[])},getSelectionModel:function(){return this.panel.getSelectionModel()},getStore:function(){return this.panel.store},getNode:function(b){return this.normalView.getNode(b)},getCell:function(e,h){var f=this.getViewForColumn(h),g;g=f.getNode(e);return Ext.fly(g).down(h.getCellSelector())},getRecord:function(c){var d=this.lockedView.getRecord(c);if(!c){d=this.normalView.getRecord(c)}return d},addElListener:function(e,f,d){this.relayFn("addElListener",arguments)},refreshNode:function(){this.relayFn("refreshNode",arguments)},refresh:function(){this.relayFn("refresh",arguments)},bindStore:function(){this.relayFn("bindStore",arguments)},addRowCls:function(){this.relayFn("addRowCls",arguments)},removeRowCls:function(){this.relayFn("removeRowCls",arguments)}});Ext.define("Ext.data.proxy.Client",{extend:"Ext.data.proxy.Proxy",alternateClassName:"Ext.data.ClientProxy",clear:function(){Ext.Error.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.draw.CompositeSprite",{extend:"Ext.util.MixedCollection",mixins:{animate:"Ext.util.Animate"},isCompositeSprite:true,constructor:function(d){var c=this;d=d||{};Ext.apply(c,d);c.addEvents("mousedown","mouseup","mouseover","mouseout","click");c.id=Ext.id(null,"ext-sprite-group-");c.callParent()},onClick:function(b){this.fireEvent("click",b)},onMouseUp:function(b){this.fireEvent("mouseup",b)},onMouseDown:function(b){this.fireEvent("mousedown",b)},onMouseOver:function(b){this.fireEvent("mouseover",b)},onMouseOut:function(b){this.fireEvent("mouseout",b)},attachEvents:function(c){var d=this;c.on({scope:d,mousedown:d.onMouseDown,mouseup:d.onMouseUp,mouseover:d.onMouseOver,mouseout:d.onMouseOut,click:d.onClick})},add:function(d,f){var e=this.callParent(arguments);this.attachEvents(e);return e},insert:function(e,d,f){return this.callParent(arguments)},remove:function(c){var d=this;c.un({scope:d,mousedown:d.onMouseDown,mouseup:d.onMouseUp,mouseover:d.onMouseOver,mouseout:d.onMouseOut,click:d.onClick});return d.callParent(arguments)},getBBox:function(){var t=0,i,q,p=this.items,s=this.length,r=Infinity,v=r,n=-r,w=r,o=-r,u,x;for(;t<s;t++){i=p[t];if(i.el){q=i.getBBox();v=Math.min(v,q.x);w=Math.min(w,q.y);n=Math.max(n,q.height+q.y);o=Math.max(o,q.width+q.x)}}return{x:v,y:w,height:n-w,width:o-v}},setAttributes:function(j,h){var i=0,f=this.items,g=this.length;for(;i<g;i++){f[i].setAttributes(j,h)}return this},hide:function(g){var h=0,e=this.items,f=this.length;for(;h<f;h++){e[h].hide(g)}return this},show:function(g){var h=0,e=this.items,f=this.length;for(;h<f;h++){e[h].show(g)}return this},redraw:function(){var h=this,i=0,j=h.items,f=h.getSurface(),g=h.length;if(f){for(;i<g;i++){f.renderItem(j[i])}}return h},setStyle:function(i){var l=0,g=this.items,h=this.length,j,k;for(;l<h;l++){j=g[l];k=j.el;if(k){k.setStyle(i)}}},addCls:function(h){var i=0,j=this.items,f=this.getSurface(),g=this.length;if(f){for(;i<g;i++){f.addCls(j[i],h)}}},removeCls:function(h){var i=0,j=this.items,f=this.getSurface(),g=this.length;if(f){for(;i<g;i++){f.removeCls(j[i],h)}}},getSurface:function(){var b=this.first();if(b){return b.surface}return null},destroy:function(){var f=this,e=f.getSurface(),d;if(e){while(f.getCount()>0){d=f.first();f.remove(d);e.remove(d)}}f.clearListeners()}});Ext.define("Ext.dd.Registry",{singleton:true,constructor:function(){this.elements={};this.handles={};this.autoIdSeed=0},getId:function(d,e){if(typeof d=="string"){return d}var f=d.id;if(!f&&e!==false){f="extdd-"+(++this.autoIdSeed);d.id=f}return f},register:function(i,h){h=h||{};if(typeof i=="string"){i=document.getElementById(i)}h.ddel=i;this.elements[this.getId(i)]=h;if(h.isHandle!==false){this.handles[h.ddel.id]=h}if(h.handles){var j=h.handles;for(var f=0,g=j.length;f<g;f++){this.handles[this.getId(j[f])]=h}}},unregister:function(k){var i=this.getId(k,false);var j=this.elements[i];if(j){delete this.elements[i];if(j.handles){var l=j.handles;for(var g=0,h=l.length;g<h;g++){delete this.handles[this.getId(l[g],false)]}}}},getHandle:function(b){if(typeof b!="string"){b=b.id}return this.handles[b]},getHandleFromEvent:function(c){var d=c.getTarget();return d?this.handles[d.id]:null},getTarget:function(b){if(typeof b!="string"){b=b.id}return this.elements[b]},getTargetFromEvent:function(c){var d=c.getTarget();return d?this.elements[d.id]||this.handles[d.id]:null}});Ext.define("Ext.dd.DDTarget",{extend:"Ext.dd.DragDrop",constructor:function(f,e,d){if(f){this.initTarget(f,e,d)}},getDragEl:Ext.emptyFn,isValidHandleChild:Ext.emptyFn,startDrag:Ext.emptyFn,endDrag:Ext.emptyFn,onDrag:Ext.emptyFn,onDragDrop:Ext.emptyFn,onDragEnter:Ext.emptyFn,onDragOut:Ext.emptyFn,onDragOver:Ext.emptyFn,onInvalidDrop:Ext.emptyFn,onMouseDown:Ext.emptyFn,onMouseUp:Ext.emptyFn,setXConstraint:Ext.emptyFn,setYConstraint:Ext.emptyFn,resetConstraints:Ext.emptyFn,clearConstraints:Ext.emptyFn,clearTicks:Ext.emptyFn,setInitPosition:Ext.emptyFn,setDragElId:Ext.emptyFn,setHandleElId:Ext.emptyFn,setOuterHandleElId:Ext.emptyFn,addInvalidHandleClass:Ext.emptyFn,addInvalidHandleId:Ext.emptyFn,addInvalidHandleType:Ext.emptyFn,removeInvalidHandleClass:Ext.emptyFn,removeInvalidHandleId:Ext.emptyFn,removeInvalidHandleType:Ext.emptyFn,toString:function(){return("DDTarget "+this.id)}});Ext.define("Ext.dd.ScrollManager",{singleton:true,requires:["Ext.dd.DragDropManager"],constructor:function(){var b=Ext.dd.DragDropManager;b.fireEvents=Ext.Function.createSequence(b.fireEvents,this.onFire,this);b.stopDrag=Ext.Function.createSequence(b.stopDrag,this.onStop,this);this.doScroll=Ext.Function.bind(this.doScroll,this);this.ddmInstance=b;this.els={};this.dragEl=null;this.proc={}},onStop:function(d){var c=Ext.dd.ScrollManager;c.dragEl=null;c.clearProc()},triggerRefresh:function(){if(this.ddmInstance.dragCurrent){this.ddmInstance.refreshCache(this.ddmInstance.dragCurrent.groups)}},doScroll:function(){if(this.ddmInstance.dragCurrent){var f=this.proc,e=f.el,h=f.el.ddScrollConfig,g=h?h.increment:this.increment;if(!this.animate){if(e.scroll(f.dir,g)){this.triggerRefresh()}}else{e.scroll(f.dir,g,true,this.animDuration,this.triggerRefresh)}}},clearProc:function(){var b=this.proc;if(b.id){clearInterval(b.id)}b.id=0;b.el=null;b.dir=""},startProc:function(e,f){this.clearProc();this.proc.el=e;this.proc.dir=f;var g=e.ddScrollConfig?e.ddScrollConfig.ddGroup:undefined,h=(e.ddScrollConfig&&e.ddScrollConfig.frequency)?e.ddScrollConfig.frequency:this.frequency;if(g===undefined||this.ddmInstance.dragCurrent.ddGroup==g){this.proc.id=setInterval(this.doScroll,h)}},onFire:function(p,m){if(m||!this.ddmInstance.dragCurrent){return}if(!this.dragEl||this.dragEl!=this.ddmInstance.dragCurrent){this.dragEl=this.ddmInstance.dragCurrent;this.refreshCache()}var e=p.getXY(),c=p.getPoint(),o=this.proc,q=this.els;for(var s in q){var r=q[s],t=r._region;var n=r.ddScrollConfig?r.ddScrollConfig:this;if(t&&t.contains(c)&&r.isScrollable()){if(t.bottom-c.y<=n.vthresh){if(o.el!=r){this.startProc(r,"down")}return}else{if(t.right-c.x<=n.hthresh){if(o.el!=r){this.startProc(r,"left")}return}else{if(c.y-t.top<=n.vthresh){if(o.el!=r){this.startProc(r,"up")}return}else{if(c.x-t.left<=n.hthresh){if(o.el!=r){this.startProc(r,"right")}return}}}}}}this.clearProc()},register:function(f){if(Ext.isArray(f)){for(var d=0,e=f.length;d<e;d++){this.register(f[d])}}else{f=Ext.get(f);this.els[f.id]=f}},unregister:function(f){if(Ext.isArray(f)){for(var d=0,e=f.length;d<e;d++){this.unregister(f[d])}}else{f=Ext.get(f);delete this.els[f.id]}},vthresh:25,hthresh:25,increment:100,frequency:500,animate:true,animDuration:0.4,ddGroup:undefined,refreshCache:function(){var d=this.els,c;for(c in d){if(typeof d[c]=="object"){d[c]._region=d[c].getRegion()}}}});Ext.define("Ext.view.DragZone",{extend:"Ext.dd.DragZone",containerScroll:false,constructor:function(d){var c=this;Ext.apply(c,d);if(!c.ddGroup){c.ddGroup="view-dd-zone-"+c.view.id}c.callParent([c.view.el.dom.parentNode]);c.ddel=Ext.get(document.createElement("div"));c.ddel.addCls(Ext.baseCSSPrefix+"grid-dd-wrap")},init:function(f,e,d){this.initTarget(f,e,d);this.view.mon(this.view,{itemmousedown:this.onItemMouseDown,scope:this})},onItemMouseDown:function(e,g,i,j,h){if(!this.isPreventDrag(h,g,i,j)){this.handleMouseDown(h);if(e.getSelectionModel().selectionMode=="MULTI"&&!h.ctrlKey&&e.getSelectionModel().isSelected(g)){return false}}},isPreventDrag:function(b){return false},getDragData:function(i){var l=this.view,j=i.getTarget(l.getItemSelector()),e,h,k;if(j){e=l.getRecord(j);h=l.getSelectionModel();k=h.getSelection();return{copy:this.view.copy||(this.view.allowCopy&&i.ctrlKey),event:new Ext.EventObjectImpl(i),view:l,ddel:this.ddel,item:j,records:k,fromPosition:Ext.fly(j).getXY()}}},onInitDrag:function(e,k){var n=this,m=n.dragData,o=m.view,j=o.getSelectionModel(),p=o.getRecord(m.item),l=m.event;if(!j.isSelected(p)||l.hasModifier()){j.selectWithEvent(p,l,true)}m.records=j.getSelection();n.ddel.update(n.getDragText());n.proxy.update(n.ddel.dom);n.onStartDrag(e,k);return true},getDragText:function(){var b=this.dragData.records.length;return Ext.String.format(this.dragText,b,b==1?"":"s")},getRepairXY:function(c,d){return d?d.fromPosition:false}});Ext.define("Ext.ComponentLoader",{extend:"Ext.ElementLoader",statics:{Renderer:{Data:function(g,e,i){var h=true;try{g.getTarget().update(Ext.decode(e.responseText))}catch(j){h=false}return h},Component:function(i,n,k){var j=true,l=i.getTarget(),e=[];if(!l.isContainer){Ext.Error.raise({target:l,msg:"Components can only be loaded into a container"})}try{e=Ext.decode(n.responseText)}catch(m){j=false}if(j){if(k.removeAll){l.removeAll()}l.add(e)}return j}}},target:null,loadMask:false,renderer:"html",setTarget:function(c){var d=this;if(Ext.isString(c)){c=Ext.getCmp(c)}if(d.target&&d.target!=c){d.abort()}d.target=c},removeMask:function(){this.target.setLoading(false)},addMask:function(b){this.target.setLoading(b)},setOptions:function(c,d){c.removeAll=Ext.isDefined(d.removeAll)?d.removeAll:this.removeAll},getRenderer:function(c){if(Ext.isFunction(c)){return c}var d=this.statics().Renderer;switch(c){case"component":return d.Component;case"data":return d.Data;default:return Ext.ElementLoader.Renderer.Html}}});Ext.define("Ext.util.ComponentDragger",{extend:"Ext.dd.DragTracker",autoStart:500,constructor:function(d,c){this.comp=d;this.initialConstrainTo=c.constrainTo;this.callParent([c])},onStart:function(f){var d=this,e=d.comp;this.startPosition=e.getPosition();if(e.ghost&&!e.liveDrag){d.proxy=e.ghost();d.dragTarget=d.proxy.header.el}if(d.constrain||d.constrainDelegate){d.constrainTo=d.calculateConstrainRegion()}},calculateConstrainRegion:function(){var l=this,h=l.comp,i=l.initialConstrainTo,k,j,c=h.el.shadow?h.el.shadow.offset:0;if(!(i instanceof Ext.util.Region)){i=Ext.fly(i).getViewRegion()}if(c){i.adjust(0,-c,-c,c)}if(!l.constrainDelegate){k=Ext.fly(l.dragTarget).getRegion();j=l.proxy?l.proxy.el.getRegion():h.el.getRegion();i.adjust(k.top-j.top,k.right-j.right,k.bottom-j.bottom,k.left-j.left)}return i},onDrag:function(h){var e=this,f=(e.proxy&&!e.comp.liveDrag)?e.proxy:e.comp,g=e.getOffset(e.constrain||e.constrainDelegate?"dragTarget":null);f.setPosition(e.startPosition[0]+g[0],e.startPosition[1]+g[1])},onEnd:function(b){if(this.proxy&&!this.comp.liveDrag){this.comp.unghost()}}});Ext.define("Ext.window.Window",{extend:"Ext.panel.Panel",alternateClassName:"Ext.Window",requires:["Ext.util.ComponentDragger","Ext.util.Region","Ext.EventManager"],alias:"widget.window",baseCls:Ext.baseCSSPrefix+"window",resizable:true,draggable:true,constrain:false,constrainHeader:false,plain:false,minimizable:false,maximizable:false,minHeight:100,minWidth:200,expandOnShow:true,collapsible:false,closable:true,hidden:true,autoRender:true,hideMode:"visibility",floating:true,ariaRole:"alertdialog",itemCls:"x-window-item",overlapHeader:true,ignoreHeaderBorderManagement:true,initComponent:function(){var b=this;b.callParent();b.addEvents("resize","maximize","minimize","restore");if(b.plain){b.addClsWithUI("plain")}if(b.modal){b.ariaRole="dialog"}},initStateEvents:function(){var b=this.stateEvents;Ext.each(["maximize","restore","resize","dragend"],function(a){if(Ext.Array.indexOf(b,a)){b.push(a)}});this.callParent()},getState:function(){var d=this,f=d.callParent()||{},e=!!d.maximized;f.maximized=e;Ext.apply(f,{size:e?d.restoreSize:d.getSize(),pos:e?d.restorePos:d.getPosition()});return f},applyState:function(c){var d=this;if(c){d.maximized=c.maximized;if(d.maximized){d.hasSavedRestore=true;d.restoreSize=c.size;d.restorePos=c.pos}else{Ext.apply(d,{width:c.size.width,height:c.size.height,x:c.pos[0],y:c.pos[1]})}}},onMouseDown:function(c){var d;if(this.floating){if(Ext.fly(c.getTarget()).focusable()){d=true}this.toFront(d)}},onRender:function(d,e){var f=this;f.callParent(arguments);f.focusEl=f.el;if(f.maximizable){f.header.on({dblclick:{fn:f.toggleMaximize,element:"el",scope:f}})}},afterRender:function(){var e=this,d=e.hidden,f;e.hidden=false;e.callParent();e.hidden=d;e.proxy=e.getProxy();e.mon(e.el,"mousedown",e.onMouseDown,e);e.el.set({tabIndex:-1});if(e.maximized){e.maximized=false;e.maximize()}if(e.closable){f=e.getKeyMap();f.on(27,e.onEsc,e);f.disable()}if(!d){e.syncMonitorWindowResize();e.doConstrain()}},initDraggable:function(){var c=this,d;if(!c.header){c.updateHeader(true)}if(c.header){d=Ext.applyIf({el:c.el,delegate:"#"+c.header.id},c.draggable);if(c.constrain||c.constrainHeader){d.constrain=c.constrain;d.constrainDelegate=c.constrainHeader;d.constrainTo=c.constrainTo||c.container}c.dd=Ext.create("Ext.util.ComponentDragger",this,d);c.relayEvents(c.dd,["dragstart","drag","dragend"])}},onEsc:function(d,c){c.stopEvent();this[this.closeAction]()},beforeDestroy:function(){var b=this;if(b.rendered){delete this.animateTarget;b.hide();Ext.destroy(b.keyMap)}b.callParent()},addTools:function(){var b=this;b.callParent();if(b.minimizable){b.addTool({type:"minimize",handler:Ext.Function.bind(b.minimize,b,[])})}if(b.maximizable){b.addTool({type:"maximize",handler:Ext.Function.bind(b.maximize,b,[])});b.addTool({type:"restore",handler:Ext.Function.bind(b.restore,b,[]),hidden:true})}},getFocusEl:function(){var k=this,i=k.focusEl,j=k.defaultButton||k.defaultFocus,f=typeof db,l,h;if(Ext.isDefined(j)){if(Ext.isNumber(j)){i=k.query("button")[j]}else{if(Ext.isString(j)){i=k.down("#"+j)}else{i=j}}}return i||k.focusEl},beforeShow:function(){this.callParent();if(this.expandOnShow){this.expand(false)}},afterShow:function(f){var d=this,e=f||d.animateTarget;d.callParent(arguments);if(d.maximized){d.fitContainer()}d.syncMonitorWindowResize();if(!e){d.doConstrain()}if(d.keyMap){d.keyMap.enable()}},doClose:function(){var b=this;if(b.hidden){b.fireEvent("close",b);if(b.closeAction=="destroy"){this.destroy()}}else{b.hide(b.animateTarget,b.doClose,b)}},afterHide:function(){var b=this;b.syncMonitorWindowResize();if(b.keyMap){b.keyMap.disable()}b.callParent(arguments)},onWindowResize:function(){if(this.maximized){this.fitContainer()}this.doConstrain()},minimize:function(){this.fireEvent("minimize",this);return this},afterCollapse:function(){var b=this;if(b.maximizable){b.tools.maximize.hide();b.tools.restore.hide()}if(b.resizer){b.resizer.disable()}b.callParent(arguments)},afterExpand:function(){var b=this;if(b.maximized){b.tools.restore.show()}else{if(b.maximizable){b.tools.maximize.show()}}if(b.resizer){b.resizer.enable()}b.callParent(arguments)},maximize:function(){var b=this;if(!b.maximized){b.expand(false);if(!b.hasSavedRestore){b.restoreSize=b.getSize();b.restorePos=b.getPosition(true)}if(b.maximizable){b.tools.maximize.hide();b.tools.restore.show()}b.maximized=true;b.el.disableShadow();if(b.dd){b.dd.disable()}if(b.collapseTool){b.collapseTool.hide()}b.el.addCls(Ext.baseCSSPrefix+"window-maximized");b.container.addCls(Ext.baseCSSPrefix+"window-maximized-ct");b.syncMonitorWindowResize();b.setPosition(0,0);b.fitContainer();b.fireEvent("maximize",b)}return b},restore:function(){var d=this,c=d.tools;if(d.maximized){delete d.hasSavedRestore;d.removeCls(Ext.baseCSSPrefix+"window-maximized");if(c.restore){c.restore.hide()}if(c.maximize){c.maximize.show()}if(d.collapseTool){d.collapseTool.show()}d.setPosition(d.restorePos);d.setSize(d.restoreSize);delete d.restorePos;delete d.restoreSize;d.maximized=false;d.el.enableShadow(true);if(d.dd){d.dd.enable()}d.container.removeCls(Ext.baseCSSPrefix+"window-maximized-ct");d.syncMonitorWindowResize();d.doConstrain();d.fireEvent("restore",d)}return d},syncMonitorWindowResize:function(){var e=this,h=e._monitoringResize,g=e.monitorResize||e.constrain||e.constrainHeader||e.maximized,f=e.hidden||e.destroying||e.isDestroyed;if(g&&!f){if(!h){Ext.EventManager.onWindowResize(e.onWindowResize,e);e._monitoringResize=true}}else{if(h){Ext.EventManager.removeResizeListener(e.onWindowResize,e);e._monitoringResize=false}}},toggleMaximize:function(){return this[this.maximized?"restore":"maximize"]()}});Ext.define("Ext.resizer.SplitterTracker",{extend:"Ext.dd.DragTracker",requires:["Ext.util.Region"],enabled:true,overlayCls:Ext.baseCSSPrefix+"resizable-overlay",getPrevCmp:function(){var b=this.getSplitter();return b.previousSibling()},getNextCmp:function(){var b=this.getSplitter();return b.nextSibling()},onBeforeStart:function(i){var k=this,j=k.getPrevCmp(),h=k.getNextCmp(),l=k.getSplitter().collapseEl,e;if(l&&(i.getTarget()===k.getSplitter().collapseEl.dom)){return false}if(h.collapsed||j.collapsed){return false}e=k.overlay=Ext.getBody().createChild({cls:k.overlayCls,html:" "});e.unselectable();e.setSize(Ext.Element.getViewWidth(true),Ext.Element.getViewHeight(true));e.show();k.prevBox=j.getEl().getBox();k.nextBox=h.getEl().getBox();k.constrainTo=k.calculateConstrainRegion()},onStart:function(c){var d=this.getSplitter();d.addCls(d.baseCls+"-active")},calculateConstrainRegion:function(){var q=this,v=q.getSplitter(),p=v.getWidth(),o=v.defaultSplitMin,u=v.orientation,s=q.prevBox,n=q.getPrevCmp(),t=q.nextBox,r=q.getNextCmp(),l,m;if(u==="vertical"){l=Ext.create("Ext.util.Region",s.y,(n.maxWidth?s.x+n.maxWidth:t.right-(r.minWidth||o))+p,s.bottom,s.x+(n.minWidth||o));m=Ext.create("Ext.util.Region",t.y,t.right-(r.minWidth||o),t.bottom,(r.maxWidth?t.right-r.maxWidth:s.x+(s.minWidth||o))-p)}else{l=Ext.create("Ext.util.Region",s.y+(n.minHeight||o),s.right,(n.maxHeight?s.y+n.maxHeight:t.bottom-(r.minHeight||o))+p,s.x);m=Ext.create("Ext.util.Region",(r.maxHeight?t.bottom-r.maxHeight:s.y+(n.minHeight||o))-p,t.right,t.bottom-(r.minHeight||o),t.x)}return l.intersect(m)},performResize:function(m){var k=this,p=k.getOffset("dragTarget"),r=k.getSplitter(),o=r.orientation,e=k.getPrevCmp(),l=k.getNextCmp(),q=r.ownerCt,n=q.getLayout();q.suspendLayout=true;if(o==="vertical"){if(e){if(!e.maintainFlex){delete e.flex;e.setSize(k.prevBox.width+p[0],e.getHeight())}}if(l){if(!l.maintainFlex){delete l.flex;l.setSize(k.nextBox.width-p[0],l.getHeight())}}}else{if(e){if(!e.maintainFlex){delete e.flex;e.setSize(e.getWidth(),k.prevBox.height+p[1])}}if(l){if(!l.maintainFlex){delete l.flex;l.setSize(e.getWidth(),k.nextBox.height-p[1])}}}delete q.suspendLayout;n.onLayout()},endDrag:function(){var b=this;if(b.overlay){b.overlay.remove();delete b.overlay}b.callParent(arguments)},onEnd:function(f){var e=this,d=e.getSplitter();d.removeCls(d.baseCls+"-active");e.performResize()},onDrag:function(j){var l=this,i=l.getOffset("dragTarget"),k=l.getSplitter(),e=k.getEl(),h=k.orientation;if(h==="vertical"){e.setX(l.startRegion.left+i[0])}else{e.setY(l.startRegion.top+i[1])}},getSplitter:function(){return Ext.getCmp(this.getDragCt().id)}});Ext.define("Ext.menu.CheckItem",{extend:"Ext.menu.Item",alias:"widget.menucheckitem",checkedCls:Ext.baseCSSPrefix+"menu-item-checked",uncheckedCls:Ext.baseCSSPrefix+"menu-item-unchecked",groupCls:Ext.baseCSSPrefix+"menu-group-icon",hideOnClick:false,afterRender:function(){var b=this;this.callParent();b.checked=!b.checked;b.setChecked(!b.checked,true)},initComponent:function(){var b=this;b.addEvents("beforecheckchange","checkchange");b.callParent(arguments);Ext.menu.Manager.registerCheckable(b);if(b.group){if(!b.iconCls){b.iconCls=b.groupCls}if(b.initialConfig.hideOnClick!==false){b.hideOnClick=true}}},disableCheckChange:function(){var b=this;if(b.iconEl){b.iconEl.addCls(b.disabledCls)}b.checkChangeDisabled=true},enableCheckChange:function(){var b=this;b.iconEl.removeCls(b.disabledCls);b.checkChangeDisabled=false},onClick:function(c){var d=this;if(!d.disabled&&!d.checkChangeDisabled&&!(d.checked&&d.group)){d.setChecked(!d.checked)}this.callParent([c])},onDestroy:function(){Ext.menu.Manager.unregisterCheckable(this);this.callParent(arguments)},setChecked:function(f,e){var d=this;if(d.checked!==f&&(e||d.fireEvent("beforecheckchange",d,f)!==false)){if(d.el){d.el[f?"addCls":"removeCls"](d.checkedCls)[!f?"addCls":"removeCls"](d.uncheckedCls)}d.checked=f;Ext.menu.Manager.onCheckChange(d,f);if(!e){Ext.callback(d.checkHandler,d.scope,[d,f]);d.fireEvent("checkchange",d,f)}}}});Ext.define("Ext.menu.Separator",{extend:"Ext.menu.Item",alias:"widget.menuseparator",canActivate:false,focusable:false,hideOnClick:false,plain:true,separatorCls:Ext.baseCSSPrefix+"menu-item-separator",text:" ",onRender:function(e,g){var h=this,f=h.separatorCls;h.cls+=" "+f;h.callParent(arguments)}});Ext.define("Ext.menu.Menu",{extend:"Ext.panel.Panel",alias:"widget.menu",requires:["Ext.layout.container.Fit","Ext.layout.container.VBox","Ext.menu.CheckItem","Ext.menu.Item","Ext.menu.KeyNav","Ext.menu.Manager","Ext.menu.Separator"],allowOtherMenus:false,ariaRole:"menu",defaultAlign:"tl-bl?",floating:true,constrain:true,hidden:true,hideMode:"visibility",ignoreParentClicks:false,isMenu:true,showSeparator:true,minWidth:120,initComponent:function(){var e=this,g=Ext.baseCSSPrefix,f=[g+"menu"],h=e.bodyCls?[e.bodyCls]:[];e.addEvents("click","mouseenter","mouseleave","mouseover");Ext.menu.Manager.register(e);if(e.plain){f.push(g+"menu-plain")}e.cls=f.join(" ");h.unshift(g+"menu-body");e.bodyCls=h.join(" ");e.layout={type:"vbox",align:"stretchmax",autoSize:true,clearInnerCtOnLayout:true,overflowHandler:"Scroller"};if(e.floating===false&&e.initialConfig.hidden!==true){e.hidden=false}e.callParent(arguments);e.on("beforeshow",function(){var a=!!e.items.length;if(a&&e.rendered){e.el.setStyle("visibility",null)}return a})},afterRender:function(f){var e=this,g=Ext.baseCSSPrefix,h=" ";e.callParent(arguments);if(e.showSeparator){e.iconSepEl=e.layout.getRenderTarget().insertFirst({cls:g+"menu-icon-separator",html:h})}e.focusEl=e.el.createChild({cls:g+"menu-focus",tabIndex:"-1",html:h});e.mon(e.el,{click:e.onClick,mouseover:e.onMouseOver,scope:e});e.mouseMonitor=e.el.monitorMouseLeave(100,e.onMouseLeave,e);if(e.showSeparator&&((!Ext.isStrict&&Ext.isIE)||Ext.isIE6)){e.iconSepEl.setHeight(e.el.getHeight())}e.keyNav=Ext.create("Ext.menu.KeyNav",e)},afterLayout:function(){var i=this;i.callParent(arguments);if((!Ext.isStrict&&Ext.isIE)||Ext.isIE6){var r=i.layout.getRenderTarget(),p=0,q=i.dockedItems,o=q.length,m=0,l,k,n;p=r.getWidth();n=p+i.body.getBorderWidth("lr")+i.body.getPadding("lr");i.body.setWidth(n);for(;m<o,l=q.getAt(m);m++){if(l.dock=="left"||l.dock=="right"){n+=l.getWidth()}}i.el.setWidth(n)}},getBubbleTarget:function(){return this.parentMenu||this.callParent()},canActivateItem:function(b){return b&&!b.isDisabled()&&b.isVisible()&&(b.canActivate||b.getXTypes().indexOf("menuitem")<0)},deactivateActiveItem:function(){var b=this;if(b.activeItem){b.activeItem.deactivate();if(!b.activeItem.activated){delete b.activeItem}}if(b.focusedItem&&!b.filtered){b.focusedItem.blur();if(!b.focusedItem.$focused){delete b.focusedItem}}},clearStretch:function(){if(this.rendered){this.items.each(function(b){if(b.componentLayout){delete b.componentLayout.lastComponentSize}if(b.el){b.el.setWidth(null)}})}},onAdd:function(){var b=this;b.clearStretch();b.callParent(arguments);if(Ext.isIE6||Ext.isIE7){Ext.Function.defer(b.doComponentLayout,10,b)}},onRemove:function(){this.clearStretch();this.callParent(arguments)},redoComponentLayout:function(){if(this.rendered){this.clearStretch();this.doComponentLayout()}},getFocusEl:function(){return this.focusEl},hide:function(){this.deactivateActiveItem();this.callParent(arguments)},getItemFromEvent:function(b){return this.getChildByElement(b.getTarget())},lookupComponent:function(c){var d=this;if(Ext.isString(c)){c=d.lookupItemFromString(c)}else{if(Ext.isObject(c)){c=d.lookupItemFromObject(c)}}c.minWidth=c.minWidth||d.minWidth;return c},lookupItemFromObject:function(j){var f=this,i=Ext.baseCSSPrefix,g,h;if(!j.isComponent){if(!j.xtype){j=Ext.create("Ext.menu."+(Ext.isBoolean(j.checked)?"Check":"")+"Item",j)}else{j=Ext.ComponentManager.create(j,j.xtype)}}if(j.isMenuItem){j.parentMenu=f}if(!j.isMenuItem&&!j.dock){g=[i+"menu-item",i+"menu-item-cmp"];h=Ext.Function.createInterceptor;j.focus=h(j.focus,function(){this.$focused=true},j);j.blur=h(j.blur,function(){this.$focused=false},j);if(!f.plain&&(j.indent===true||j.iconCls==="no-icon")){g.push(i+"menu-item-indent")}if(j.rendered){j.el.addCls(g)}else{j.cls=(j.cls?j.cls:"")+" "+g.join(" ")}j.isMenuItem=true}return j},lookupItemFromString:function(b){return(b=="separator"||b=="-")?Ext.createWidget("menuseparator"):Ext.createWidget("menuitem",{canActivate:false,hideOnClick:false,plain:true,text:b})},onClick:function(f){var d=this,e;if(d.disabled){f.stopEvent();return}if((f.getTarget()==d.focusEl.dom)||f.within(d.layout.getRenderTarget())){e=d.getItemFromEvent(f)||d.activeItem;if(e){if(e.getXTypes().indexOf("menuitem")>=0){if(!e.menu||!d.ignoreParentClicks){e.onClick(f)}else{f.stopEvent()}}}d.fireEvent("click",d,e,f)}},onDestroy:function(){var b=this;Ext.menu.Manager.unregister(b);if(b.rendered){b.el.un(b.mouseMonitor);b.keyNav.destroy();delete b.keyNav}b.callParent(arguments)},onMouseLeave:function(c){var d=this;d.deactivateActiveItem();if(d.disabled){return}d.fireEvent("mouseleave",d,c)},onMouseOver:function(i){var j=this,h=i.getRelatedTarget(),g=!j.el.contains(h),e=j.getItemFromEvent(i);if(g&&j.parentMenu){j.parentMenu.setActiveItem(j.parentItem);j.parentMenu.mouseMonitor.mouseenter()}if(j.disabled){return}if(e){j.setActiveItem(e);if(e.activated&&e.expandMenu){e.expandMenu()}}if(g){j.fireEvent("mouseenter",j,i)}j.fireEvent("mouseover",j,e,i)},setActiveItem:function(c){var d=this;if(c&&(c!=d.activeItem&&c!=d.focusedItem)){d.deactivateActiveItem();if(d.canActivateItem(c)){if(c.activate){c.activate();if(c.activated){d.activeItem=c;d.focusedItem=c;d.focus()}}else{c.focus();d.focusedItem=c}}c.el.scrollIntoView(d.layout.getRenderTarget())}},showBy:function(g,i,j){var h=this,k,l;if(h.floating&&g){h.layout.autoSize=true;h.doAutoRender();delete h.needsLayout;g=g.el||g;k=h.el.getAlignToXY(g,i||h.defaultAlign,j);if(h.floatParent){l=h.floatParent.getTargetEl().getViewRegion();k[0]-=l.x;k[1]-=l.y}h.showAt(k)}return h},doConstrain:function(){var o=this,n=o.el.getY(),m,p,s,l=n,k,q,t,r;delete o.height;o.setSize();p=o.getHeight();if(o.floating){q=Ext.fly(o.el.getScopeParent());t=q.getScroll().top;r=q.getViewSize().height;k=n-t;m=o.maxHeight?o.maxHeight:r-k;if(p>r){m=r;l=n-k}else{if(m<p){l=n-(p-m);m=p}}}else{m=o.getHeight()}if(o.maxHeight){m=Math.min(o.maxHeight,m)}if(p>m&&m>0){o.layout.autoSize=false;o.setHeight(m);if(o.showSeparator){o.iconSepEl.setHeight(o.layout.getRenderTarget().dom.scrollHeight)}}s=o.getConstrainVector(o.el.getScopeParent());if(s){o.setPosition(o.getPosition()[0]+s[0])}o.el.setY(l)}});Ext.define("Ext.grid.plugin.HeaderResizer",{extend:"Ext.util.Observable",requires:["Ext.dd.DragTracker","Ext.util.Region"],alias:"plugin.gridheaderresizer",disabled:false,configs:{dynamic:true},colHeaderCls:Ext.baseCSSPrefix+"column-header",minColWidth:40,maxColWidth:1000,wResizeCursor:"col-resize",eResizeCursor:"col-resize",init:function(b){this.headerCt=b;b.on("render",this.afterHeaderRender,this,{single:true})},destroy:function(){if(this.tracker){this.tracker.destroy()}},afterHeaderRender:function(){var c=this.headerCt,d=c.el;c.mon(d,"mousemove",this.onHeaderCtMouseMove,this);this.tracker=Ext.create("Ext.dd.DragTracker",{disabled:this.disabled,onBeforeStart:Ext.Function.bind(this.onBeforeStart,this),onStart:Ext.Function.bind(this.onStart,this),onDrag:Ext.Function.bind(this.onDrag,this),onEnd:Ext.Function.bind(this.onEnd,this),tolerance:3,autoStart:300,el:d})},onHeaderCtMouseMove:function(j,g){if(this.headerCt.dragging){if(this.activeHd){this.activeHd.el.dom.style.cursor="";delete this.activeHd}}else{var h=j.getTarget("."+this.colHeaderCls,3,true),e,i;if(h){e=Ext.getCmp(h.id);if(e.isOnLeftEdge(j)){i=e.previousNode("gridcolumn:not([hidden])")}else{if(e.isOnRightEdge(j)){i=e}else{i=null}}if(i){if(i.isGroupHeader){i=i.down(":not([isGroupHeader]):not([hidden]):last")}if(i&&!(i.fixed||(i.resizable===false)||this.disabled)){this.activeHd=i;e.el.dom.style.cursor=this.eResizeCursor}}else{e.el.dom.style.cursor="";delete this.activeHd}}}},onBeforeStart:function(c){var d=c.getTarget();this.dragHd=this.activeHd;if(!!this.dragHd&&!Ext.fly(d).hasCls("x-column-header-trigger")&&!this.headerCt.dragging){this.tracker.constrainTo=this.getConstrainRegion();return true}else{this.headerCt.dragging=false;return false}},getConstrainRegion:function(){var d=this.dragHd.el,c=Ext.util.Region.getRegion(d);return c.adjust(0,this.maxColWidth-d.getWidth(),0,this.minColWidth)},onStart:function(t){var e=this,G=e.dragHd,K=G.el,z=K.getWidth(),E=e.headerCt,C=t.getTarget();if(e.dragHd&&!Ext.fly(C).hasCls("x-column-header-trigger")){E.dragging=true}e.origWidth=z;if(!e.dynamic){var I=K.getXY(),w=E.up("[scrollerOwner]"),H=e.dragHd.up(":not([isGroupHeader])"),D=H.up(),J=w.getLhsMarker(),A=w.getRhsMarker(),L=A.parent(),F=L.getLeft(true),v=L.getTop(true),x=L.translatePoints(I),y=D.body.getHeight()+E.getHeight(),B=x.top-v;J.setTop(B);A.setTop(B);J.setHeight(y);A.setHeight(y);J.setLeft(x.left-F);A.setLeft(x.left+z-F)}},onDrag:function(k){if(!this.dynamic){var l=this.tracker.getXY("point"),i=this.headerCt.up("[scrollerOwner]"),j=i.getRhsMarker(),n=j.parent(),e=n.translatePoints(l),m=n.getLeft(true);j.setLeft(e.left-m)}else{this.doResize()}},onEnd:function(m){this.headerCt.dragging=false;if(this.dragHd){if(!this.dynamic){var n=this.dragHd,p=this.headerCt.up("[scrollerOwner]"),o=p.getLhsMarker(),k=p.getRhsMarker(),j=n.getWidth(),l=this.tracker.getOffset("point"),e=-9999;o.setLeft(e);k.setLeft(e)}this.doResize()}},doResize:function(){if(this.dragHd){var d=this.dragHd,e,f=this.tracker.getOffset("point");if(d.flex){delete d.flex}this.headerCt.suspendLayout=true;d.setWidth(this.origWidth+f[0],false);if(this.headerCt.forceFit){e=d.nextNode("gridcolumn:not([hidden]):not([isGroupHeader])");if(e){delete e.flex;e.setWidth(e.getWidth()-f[0],false)}}this.headerCt.suspendLayout=false;this.headerCt.doComponentLayout(this.headerCt.getFullWidth())}},disable:function(){this.disabled=true;if(this.tracker){this.tracker.disable()}},enable:function(){this.disabled=false;if(this.tracker){this.tracker.enable()}}});Ext.define("Ext.grid.Lockable",{requires:["Ext.grid.LockingView"],syncRowHeight:true,spacerHidden:true,headerCounter:0,unlockText:"Unlock",lockText:"Lock",determineXTypeToCreate:function(){var l=this,i;if(l.subGridXType){i=l.subGridXType}else{var k=this.getXTypes().split("/"),g=k.length,j=k[g-1],h=k[g-2];if(h!=="tablepanel"){i=h}else{i=j}}return i},injectLockable:function(){this.lockable=true;this.hasView=true;var i=this,r=i.determineXTypeToCreate(),l=i.getSelectionModel(),q={xtype:r,enableAnimations:false,scroll:false,scrollerOwner:false,selModel:l,border:false,cls:Ext.baseCSSPrefix+"grid-inner-locked"},k={xtype:r,enableAnimations:false,scrollerOwner:false,selModel:l,border:false},n=0,o,p,m;i.addCls(Ext.baseCSSPrefix+"grid-locked");Ext.copyTo(k,i,i.normalCfgCopy);Ext.copyTo(q,i,i.lockedCfgCopy);for(;n<i.normalCfgCopy.length;n++){delete i[i.normalCfgCopy[n]]}for(n=0;n<i.lockedCfgCopy.length;n++){delete i[i.lockedCfgCopy[n]]}i.addEvents("lockcolumn","unlockcolumn");i.addStateEvents(["lockcolumn","unlockcolumn"]);i.lockedHeights=[];i.normalHeights=[];o=i.processColumns(i.columns);q.width=o.lockedWidth+Ext.num(l.headerWidth,0);q.columns=o.locked;k.columns=o.normal;i.store=Ext.StoreManager.lookup(i.store);q.store=i.store;k.store=i.store;k.flex=1;q.viewConfig=i.lockedViewConfig||{};q.viewConfig.loadingUseMsg=false;k.viewConfig=i.normalViewConfig||{};Ext.applyIf(q.viewConfig,i.viewConfig);Ext.applyIf(k.viewConfig,i.viewConfig);i.normalGrid=Ext.ComponentManager.create(k);i.lockedGrid=Ext.ComponentManager.create(q);i.view=Ext.create("Ext.grid.LockingView",{locked:i.lockedGrid,normal:i.normalGrid,panel:i});if(i.syncRowHeight){i.lockedGrid.getView().on({refresh:i.onLockedGridAfterRefresh,itemupdate:i.onLockedGridAfterUpdate,scope:i});i.normalGrid.getView().on({refresh:i.onNormalGridAfterRefresh,itemupdate:i.onNormalGridAfterUpdate,scope:i})}p=i.lockedGrid.headerCt;m=i.normalGrid.headerCt;p.lockedCt=true;p.lockableInjected=true;m.lockableInjected=true;p.on({columnshow:i.onLockedHeaderShow,columnhide:i.onLockedHeaderHide,columnmove:i.onLockedHeaderMove,sortchange:i.onLockedHeaderSortChange,columnresize:i.onLockedHeaderResize,scope:i});m.on({columnmove:i.onNormalHeaderMove,sortchange:i.onNormalHeaderSortChange,scope:i});i.normalGrid.on({scrollershow:i.onScrollerShow,scrollerhide:i.onScrollerHide,scope:i});i.lockedGrid.on("afterlayout",i.onLockedGridAfterLayout,i,{single:true});i.modifyHeaderCt();i.items=[i.lockedGrid,i.normalGrid];i.relayHeaderCtEvents(p);i.relayHeaderCtEvents(m);i.layout={type:"hbox",align:"stretch"}},processColumns:function(k){var l=0,i=k.length,h=1,m=[],n=[],j;for(;l<i;++l){j=k[l];j.processed=true;if(j.locked){if(j.flex){Ext.Error.raise("Columns which are locked do NOT support a flex width. You must set a width on the "+k[l].text+"column.")}if(!j.hidden){h+=j.width||Ext.grid.header.Container.prototype.defaultWidth}m.push(j)}else{n.push(j)}if(!j.headerId){j.headerId=(j.initialConfig||j).id||("L"+(++this.headerCounter))}}return{lockedWidth:h,locked:m,normal:n}},onLockedGridAfterLayout:function(){var c=this,d=c.lockedGrid.getView();d.on({beforerefresh:c.destroySpacer,scope:c})},onLockedHeaderMove:function(){if(this.syncRowHeight){this.onNormalGridAfterRefresh()}},onNormalHeaderMove:function(){if(this.syncRowHeight){this.onLockedGridAfterRefresh()}},getSpacerEl:function(){var g=this,e,f,h;if(!g.spacerEl){e=Ext.getScrollBarWidth()+(Ext.isIE?2:0);f=g.lockedGrid.getView();h=f.el;g.spacerEl=Ext.DomHelper.append(h,{cls:g.spacerHidden?(Ext.baseCSSPrefix+"hidden"):"",style:"height: "+e+"px;"},true)}return g.spacerEl},destroySpacer:function(){var b=this;if(b.spacerEl){b.spacerEl.destroy();delete b.spacerEl}},onLockedGridAfterRefresh:function(){var j=this,h=j.lockedGrid.getView(),l=h.el,i=l.query(h.getItemSelector()),k=i.length,g=0;j.lockedHeights=[];for(;g<k;g++){j.lockedHeights[g]=i[g].clientHeight}j.syncRowHeights()},onNormalGridAfterRefresh:function(){var j=this,h=j.normalGrid.getView(),l=h.el,i=l.query(h.getItemSelector()),k=i.length,g=0;j.normalHeights=[];for(;g<k;g++){j.normalHeights[g]=i[g].clientHeight}j.syncRowHeights()},onLockedGridAfterUpdate:function(e,d,f){this.lockedHeights[d]=f.clientHeight;this.syncRowHeights()},onNormalGridAfterUpdate:function(e,d,f){this.normalHeights[d]=f.clientHeight;this.syncRowHeights()},syncRowHeights:function(){var o=this,w=o.lockedHeights,n=o.normalHeights,x=[],p=w.length,r=0,i,u,t,q,s=o.getVerticalScroller(),v;if(w.length&&n.length){i=o.lockedGrid.getView();u=o.normalGrid.getView();t=i.el.query(i.getItemSelector());q=u.el.query(u.getItemSelector());for(;r<p;r++){if(!isNaN(w[r])&&!isNaN(n[r])){if(w[r]>n[r]){Ext.fly(q[r]).setHeight(w[r])}else{if(w[r]<n[r]){Ext.fly(t[r]).setHeight(n[r])}}}}o.normalGrid.invalidateScroller();if(s&&s.setViewScrollTop){s.setViewScrollTop(o.virtualScrollTop)}else{v=u.el.dom.scrollTop;u.el.dom.scrollTop=v;i.el.dom.scrollTop=v}o.lockedHeights=[];o.normalHeights=[]}},onScrollerShow:function(d,c){if(c==="horizontal"){this.spacerHidden=false;this.getSpacerEl().removeCls(Ext.baseCSSPrefix+"hidden")}},onScrollerHide:function(d,c){if(c==="horizontal"){this.spacerHidden=true;if(this.spacerEl){this.spacerEl.addCls(Ext.baseCSSPrefix+"hidden")}}},modifyHeaderCt:function(){var b=this;b.lockedGrid.headerCt.getMenuItems=b.getMenuItems(true);b.normalGrid.headerCt.getMenuItems=b.getMenuItems(false)},onUnlockMenuClick:function(){this.unlock()},onLockMenuClick:function(){this.lock()},getMenuItems:function(i){var m=this,l=m.unlockText,k=m.lockText,p=Ext.baseCSSPrefix+"hmenu-unlock",n=Ext.baseCSSPrefix+"hmenu-lock",j=Ext.Function.bind(m.onUnlockMenuClick,m),o=Ext.Function.bind(m.onLockMenuClick,m);return function(){var a=Ext.grid.header.Container.prototype.getMenuItems.call(this);a.push("-",{cls:p,text:l,handler:j,disabled:!i});a.push({cls:n,text:k,handler:o,disabled:i});return a}},lock:function(i,m){var n=this,l=n.normalGrid,j=n.lockedGrid,k=l.headerCt,h=j.headerCt;i=i||k.getMenu().activeHeader;if(i.flex){i.width=i.getWidth();delete i.flex}k.remove(i,false);h.suspendLayout=true;i.locked=true;if(Ext.isDefined(m)){h.insert(m,i)}else{h.add(i)}h.suspendLayout=false;n.syncLockedSection();n.fireEvent("lockcolumn",n,i)},syncLockedSection:function(){var b=this;b.syncLockedWidth();b.lockedGrid.getView().refresh();b.normalGrid.getView().refresh()},syncLockedWidth:function(){var c=this,d=c.lockedGrid.headerCt.getFullWidth(true);c.lockedGrid.setWidth(d+1);c.doComponentLayout()},onLockedHeaderResize:function(){this.syncLockedWidth()},onLockedHeaderHide:function(){this.syncLockedWidth()},onLockedHeaderShow:function(){this.syncLockedWidth()},onLockedHeaderSortChange:function(d,f,e){if(e){this.normalGrid.headerCt.clearOtherSortStates(null,true)}},onNormalHeaderSortChange:function(d,f,e){if(e){this.lockedGrid.headerCt.clearOtherSortStates(null,true)}},unlock:function(i,m){var n=this,l=n.normalGrid,j=n.lockedGrid,k=l.headerCt,h=j.headerCt;if(!Ext.isDefined(m)){m=0}i=i||h.getMenu().activeHeader;h.remove(i,false);n.syncLockedWidth();n.lockedGrid.getView().refresh();i.locked=false;k.insert(m,i);n.normalGrid.getView().refresh();n.fireEvent("unlockcolumn",n,i)},applyColumnsState:function(t){var n=this,v=n.lockedGrid,u=v.headerCt,p=n.normalGrid.headerCt,m=u.items,s=p.items,x,q=[],o=[],w,r=1;Ext.each(t,function(a){function b(c){return c.headerId==a.id}w=true;if(!(x=m.findBy(b))){x=s.findBy(b);w=false}if(x){if(x.applyColumnState){x.applyColumnState(a)}if(!Ext.isDefined(x.locked)){x.locked=w}if(x.locked){q.push(x);if(!x.hidden&&Ext.isNumber(x.width)){r+=x.width}}else{o.push(x)}}});if(q.length+o.length==m.getCount()+s.getCount()){u.removeAll(false);p.removeAll(false);u.add(q);p.add(o);v.setWidth(r)}},getColumnsState:function(){var d=this,e=d.lockedGrid.headerCt.getColumnsState(),f=d.normalGrid.headerCt.getColumnsState();return e.concat(f)},reconfigureLockable:function(g,f){var j=this,h=j.lockedGrid,i=j.normalGrid;if(f){h.headerCt.suspendLayout=true;i.headerCt.suspendLayout=true;h.headerCt.removeAll();i.headerCt.removeAll();f=j.processColumns(f);h.setWidth(f.lockedWidth);h.headerCt.add(f.locked);i.headerCt.add(f.normal)}if(g){g=Ext.data.StoreManager.lookup(g);j.store=g;h.bindStore(g);i.bindStore(g)}else{h.getView().refresh();i.getView().refresh()}if(f){h.headerCt.suspendLayout=false;i.headerCt.suspendLayout=false;h.headerCt.forceComponentLayout();i.headerCt.forceComponentLayout()}}});Ext.define("Ext.data.proxy.Memory",{extend:"Ext.data.proxy.Client",alias:"proxy.memory",alternateClassName:"Ext.data.MemoryProxy",constructor:function(b){this.callParent([b]);this.setReader(this.reader)},read:function(l,i,k){var j=this,g=j.getReader(),h=g.read(j.data);Ext.apply(l,{resultSet:h});l.setCompleted();l.setSuccessful();Ext.callback(i,k||j,[l])},clear:Ext.emptyFn});Ext.define("Ext.draw.Surface",{mixins:{observable:"Ext.util.Observable"},requires:["Ext.draw.CompositeSprite"],uses:["Ext.draw.engine.Svg","Ext.draw.engine.Vml"],separatorRe:/[, ]+/,statics:{create:function(f,i){i=i||["Svg","Vml"];var j=0,g=i.length,h;for(;j<g;j++){if(Ext.supports[i[j]]){return Ext.create("Ext.draw.engine."+i[j],f)}}return false}},availableAttrs:{blur:0,"clip-rect":"0 0 1e9 1e9",cursor:"default",cx:0,cy:0,"dominant-baseline":"auto",fill:"none","fill-opacity":1,font:'10px "Arial"',"font-family":'"Arial"',"font-size":"10","font-style":"normal","font-weight":400,gradient:"",height:0,hidden:false,href:"http://sencha.com/",opacity:1,path:"M0,0",radius:0,rx:0,ry:0,scale:"1 1",src:"",stroke:"#000","stroke-dasharray":"","stroke-linecap":"butt","stroke-linejoin":"butt","stroke-miterlimit":0,"stroke-opacity":1,"stroke-width":1,target:"_blank",text:"","text-anchor":"middle",title:"Ext Draw",width:0,x:0,y:0,zIndex:0},container:undefined,height:352,width:512,x:0,y:0,orderSpritesByZIndex:true,constructor:function(d){var c=this;d=d||{};Ext.apply(c,d);c.domRef=Ext.getDoc().dom;c.customAttributes={};c.addEvents("mousedown","mouseup","mouseover","mouseout","mousemove","mouseenter","mouseleave","click");c.mixins.observable.constructor.call(c);c.getId();c.initGradients();c.initItems();if(c.renderTo){c.render(c.renderTo);delete c.renderTo}c.initBackground(d.background)},initSurface:Ext.emptyFn,renderItem:Ext.emptyFn,renderItems:Ext.emptyFn,setViewBox:function(e,g,h,f){if(isFinite(e)&&isFinite(g)&&isFinite(h)&&isFinite(f)){this.viewBox={x:e,y:g,width:h,height:f};this.applyViewBox()}},addCls:Ext.emptyFn,removeCls:Ext.emptyFn,setStyle:Ext.emptyFn,initGradients:function(){var b=this.gradients;if(b){Ext.each(b,this.addGradient,this)}},initItems:function(){var b=this.items;this.items=Ext.create("Ext.draw.CompositeSprite");this.groups=Ext.create("Ext.draw.CompositeSprite");if(b){this.add(b)}},initBackground:function(h){var l=this,m=l.width,i=l.height,k,j,n;if(h){if(h.gradient){j=h.gradient;k=j.id;l.addGradient(j);l.background=l.add({type:"rect",x:0,y:0,width:m,height:i,fill:"url(#"+k+")"})}else{if(h.fill){l.background=l.add({type:"rect",x:0,y:0,width:m,height:i,fill:h.fill})}else{if(h.image){l.background=l.add({type:"image",x:0,y:0,width:m,height:i,src:h.image})}}}}},setSize:function(d,c){if(this.background){this.background.setAttributes({width:d,height:c,hidden:false},true)}this.applyViewBox()},scrubAttrs:function(i){var j,f={},g={},h=i.attr;for(j in h){if(this.translateAttrs.hasOwnProperty(j)){f[this.translateAttrs[j]]=h[j];g[this.translateAttrs[j]]=true}else{if(this.availableAttrs.hasOwnProperty(j)&&!g[j]){f[j]=h[j]}}}return f},onClick:function(b){this.processEvent("click",b)},onMouseUp:function(b){this.processEvent("mouseup",b)},onMouseDown:function(b){this.processEvent("mousedown",b)},onMouseOver:function(b){this.processEvent("mouseover",b)},onMouseOut:function(b){this.processEvent("mouseout",b)},onMouseMove:function(b){this.fireEvent("mousemove",b)},onMouseEnter:Ext.emptyFn,onMouseLeave:Ext.emptyFn,addGradient:Ext.emptyFn,add:function(){var m=Array.prototype.slice.call(arguments),k,o;var r=m.length>1;if(r||Ext.isArray(m[0])){var l=r?m:m[0],q=[],p,n,i;for(p=0,n=l.length;p<n;p++){i=l[p];i=this.add(i);q.push(i)}return q}k=this.prepareItems(m[0],true)[0];this.insertByZIndex(k);this.onAdd(k);return k},insertByZIndex:function(l){var o=this,q=o.items.items,r=q.length,k=Math.ceil,n=l.attr.zIndex,m=r,s=m-1,p=0,t;if(o.orderSpritesByZIndex&&r&&n<q[s].attr.zIndex){while(p<=s){m=k((p+s)/2);t=q[m].attr.zIndex;if(t>n){s=m-1}else{if(t<n){p=m+1}else{break}}}while(m<r&&q[m].attr.zIndex<=n){m++}}o.items.insert(m,l);return m},onAdd:function(k){var i=k.group,g=k.draggable,h,j,l;if(i){h=[].concat(i);j=h.length;for(l=0;l<j;l++){i=h[l];this.getGroup(i).add(k)}delete k.group}if(g){k.initDraggable()}},remove:function(d,c){if(d){this.items.remove(d);this.groups.each(function(a){a.remove(d)});d.onRemove();if(c===true){d.destroy()}}},removeAll:function(g){var f=this.items.items,h=f.length,e;for(e=h-1;e>-1;e--){this.remove(f[e],g)}},onRemove:Ext.emptyFn,onDestroy:Ext.emptyFn,applyViewBox:function(){var s=this,l=s.viewBox,v=s.width,p=s.height,q,r,n,u,o,t,m;if(l&&(v||p)){q=l.x;r=l.y;n=l.width;u=l.height;o=p/u;t=v/n;if(n*o<v){q-=(v-n*o)/2/o}if(u*t<p){r-=(p-u*t)/2/t}m=1/Math.min(n,o);s.viewBoxShift={dx:-q,dy:-r,scale:m}}},transformToViewBox:function(f,g){if(this.viewBoxShift){var h=this,e=h.viewBoxShift;return[f*e.scale-e.dx,g*e.scale-e.dy]}else{return[f,g]}},applyTransformations:function(e){e.bbox.transform=0;this.transform(e);var g=this,h=false,f=e.attr;if(f.translation.x!=null||f.translation.y!=null){g.translate(e);h=true}if(f.scaling.x!=null||f.scaling.y!=null){g.scale(e);h=true}if(f.rotation.degrees!=null){g.rotate(e);h=true}if(h){e.bbox.transform=0;this.transform(e);e.transformations=[]}},rotate:function(g){var h,f=g.attr.rotation.degrees,i=g.attr.rotation.x,j=g.attr.rotation.y;if(!Ext.isNumber(i)||!Ext.isNumber(j)){h=this.getBBox(g);i=!Ext.isNumber(i)?h.x+h.width/2:i;j=!Ext.isNumber(j)?h.y+h.height/2:j}g.transformations.push({type:"rotate",degrees:f,x:i,y:j})},translate:function(d){var e=d.attr.translation.x||0,f=d.attr.translation.y||0;d.transformations.push({type:"translate",x:e,y:f})},scale:function(g){var j,h=g.attr.scaling.x||1,i=g.attr.scaling.y||1,k=g.attr.scaling.centerX,l=g.attr.scaling.centerY;if(!Ext.isNumber(k)||!Ext.isNumber(l)){j=this.getBBox(g);k=!Ext.isNumber(k)?j.x+j.width/2:k;l=!Ext.isNumber(l)?j.y+j.height/2:l}g.transformations.push({type:"scale",x:h,y:i,centerX:k,centerY:l})},rectPath:function(g,h,f,j,i){if(i){return[["M",g+i,h],["l",f-i*2,0],["a",i,i,0,0,1,i,i],["l",0,j-i*2],["a",i,i,0,0,1,-i,i],["l",i*2-f,0],["a",i,i,0,0,1,-i,-i],["l",0,i*2-j],["a",i,i,0,0,1,i,-i],["z"]]}return[["M",g,h],["l",f,0],["l",0,j],["l",-f,0],["z"]]},ellipsePath:function(f,g,h,e){if(e==null){e=h}return[["M",f,g],["m",0,-e],["a",h,e,0,1,1,0,2*e],["a",h,e,0,1,1,0,-2*e],["z"]]},getPathpath:function(b){return b.attr.path},getPathcircle:function(d){var a=d.attr;return this.ellipsePath(a.x,a.y,a.radius,a.radius)},getPathellipse:function(d){var a=d.attr;return this.ellipsePath(a.x,a.y,a.radiusX||(a.width/2)||0,a.radiusY||(a.height/2)||0)},getPathrect:function(d){var a=d.attr;return this.rectPath(a.x,a.y,a.width,a.height,a.r)},getPathimage:function(d){var a=d.attr;return this.rectPath(a.x||0,a.y||0,a.width,a.height)},getPathtext:function(d){var c=this.getBBoxText(d);return this.rectPath(c.x,c.y,c.width,c.height)},createGroup:function(c){var d=this.groups.get(c);if(!d){d=Ext.create("Ext.draw.CompositeSprite",{surface:this});d.id=c||Ext.id(null,"ext-surface-group-");this.groups.add(d)}return d},getGroup:function(c){if(typeof c=="string"){var d=this.groups.get(c);if(!d){d=this.createGroup(c)}}else{d=c}return d},prepareItems:function(g,j){g=[].concat(g);var h,f,i;for(f=0,i=g.length;f<i;f++){h=g[f];if(!(h instanceof Ext.draw.Sprite)){h.surface=this;g[f]=this.createItem(h)}else{h.surface=this}}return g},setText:Ext.emptyFn,createItem:Ext.emptyFn,getId:function(){return this.id||(this.id=Ext.id(null,"ext-surface-"))},destroy:function(){delete this.domRef;this.removeAll()}});Ext.define("Ext.draw.Component",{alias:"widget.draw",extend:"Ext.Component",requires:["Ext.draw.Surface","Ext.layout.component.Draw"],enginePriority:["Svg","Vml"],baseCls:Ext.baseCSSPrefix+"surface",componentLayout:"draw",viewBox:true,autoSize:false,initComponent:function(){this.callParent(arguments);this.addEvents("mousedown","mouseup","mousemove","mouseenter","mouseleave","click")},onRender:function(){var o=this,j=o.viewBox,q=o.autoSize,l,p,r,k,m,n;o.callParent(arguments);if(o.createSurface()!==false){p=o.surface.items;if(j||q){l=p.getBBox();r=l.width;k=l.height;m=l.x;n=l.y;if(o.viewBox){o.surface.setViewBox(m,n,r,k)}else{o.autoSizeSurface()}}}},autoSizeSurface:function(){var i=this,f=i.surface.items,h=f.getBBox(),j=h.width,g=h.height;f.setAttributes({translate:{x:-h.x,y:-h.y+(+Ext.isOpera)}},true);if(i.rendered){i.setSize(j,g);i.surface.setSize(j,g)}else{i.surface.setSize(j,g)}i.el.setSize(j,g)},createSurface:function(){var d=Ext.draw.Surface.create(Ext.apply({},{width:this.width,height:this.height,renderTo:this.el},this.initialConfig));if(!d){return false}this.surface=d;function c(a){return function(b){this.fireEvent(a,b)}}d.on({scope:this,mouseup:c("mouseup"),mousedown:c("mousedown"),mousemove:c("mousemove"),mouseenter:c("mouseenter"),mouseleave:c("mouseleave"),click:c("click")})},onDestroy:function(){var b=this.surface;if(b){b.destroy()}this.callParent(arguments)}});Ext.define("Ext.dd.DropTarget",{extend:"Ext.dd.DDTarget",requires:["Ext.dd.ScrollManager"],constructor:function(c,d){this.el=Ext.get(c);Ext.apply(this,d);if(this.containerScroll){Ext.dd.ScrollManager.register(this.el)}this.callParent([this.el.dom,this.ddGroup||this.group,{isTarget:true}])},dropAllowed:Ext.baseCSSPrefix+"dd-drop-ok",dropNotAllowed:Ext.baseCSSPrefix+"dd-drop-nodrop",isTarget:true,isNotifyTarget:true,notifyEnter:function(e,f,d){if(this.overClass){this.el.addCls(this.overClass)}return this.dropAllowed},notifyOver:function(e,f,d){return this.dropAllowed},notifyOut:function(e,f,d){if(this.overClass){this.el.removeCls(this.overClass)}},notifyDrop:function(e,f,d){return false},destroy:function(){this.callParent();if(this.containerScroll){Ext.dd.ScrollManager.unregister(this.el)}}});Ext.define("Ext.dd.DropZone",{extend:"Ext.dd.DropTarget",requires:["Ext.dd.Registry"],getTargetFromEvent:function(b){return Ext.dd.Registry.getTargetFromEvent(b)},onNodeEnter:function(g,f,h,e){},onNodeOver:function(g,f,h,e){return this.dropAllowed},onNodeOut:function(g,f,h,e){},onNodeDrop:function(g,f,h,e){return false},onContainerOver:function(e,f,d){return this.dropNotAllowed},onContainerDrop:function(e,f,d){return false},notifyEnter:function(e,f,d){return this.dropNotAllowed},notifyOver:function(f,h,e){var g=this.getTargetFromEvent(h);if(!g){if(this.lastOverNode){this.onNodeOut(this.lastOverNode,f,h,e);this.lastOverNode=null}return this.onContainerOver(f,h,e)}if(this.lastOverNode!=g){if(this.lastOverNode){this.onNodeOut(this.lastOverNode,f,h,e)}this.onNodeEnter(g,f,h,e);this.lastOverNode=g}return this.onNodeOver(g,f,h,e)},notifyOut:function(e,f,d){if(this.lastOverNode){this.onNodeOut(this.lastOverNode,e,f,d);this.lastOverNode=null}},notifyDrop:function(f,h,e){if(this.lastOverNode){this.onNodeOut(this.lastOverNode,f,h,e);this.lastOverNode=null}var g=this.getTargetFromEvent(h);return g?this.onNodeDrop(g,f,h,e):this.onContainerDrop(f,h,e)},triggerCacheRefresh:function(){Ext.dd.DDM.refreshCache(this.groups)}});Ext.define("Ext.view.DropZone",{extend:"Ext.dd.DropZone",indicatorHtml:'<div class="x-grid-drop-indicator-left"></div><div class="x-grid-drop-indicator-right"></div>',indicatorCls:"x-grid-drop-indicator",constructor:function(d){var c=this;Ext.apply(c,d);if(!c.ddGroup){c.ddGroup="view-dd-zone-"+c.view.id}c.callParent([c.view.el])},fireViewEvent:function(){var c=this,d;c.lock();d=c.view.fireEvent.apply(c.view,arguments);c.unlock();return d},getTargetFromEvent:function(k){var l=k.getTarget(this.view.getItemSelector()),o,p,e,n,i,m;if(!l){o=k.getPageY();for(n=0,p=this.view.getNodes(),i=p.length;n<i;n++){e=p[n];m=Ext.fly(e).getBox();if(o<=m.bottom){return e}}}return l},getIndicator:function(){var b=this;if(!b.indicator){b.indicator=Ext.createWidget("component",{html:b.indicatorHtml,cls:b.indicatorCls,ownerCt:b.view,floating:true,shadow:false})}return b.indicator},getPosition:function(j,g){var h=j.getXY()[1],e=Ext.fly(g).getRegion(),i;if((e.bottom-h)>=(e.bottom-e.top)/2){i="before"}else{i="after"}return i},containsRecordAtOffset:function(m,h,k){if(!h){return false}var i=this.view,n=i.indexOf(h),l=i.getNode(n+k),j=l?i.getRecord(l):null;return j&&Ext.Array.contains(m,j)},positionIndicator:function(s,r,q){var p=this,n=p.view,o=p.getPosition(q,s),e=n.getRecord(s),t=r.records,m,l;if(!Ext.Array.contains(t,e)&&(o=="before"&&!p.containsRecordAtOffset(t,e,-1)||o=="after"&&!p.containsRecordAtOffset(t,e,1))){p.valid=true;if(p.overRecord!=e||p.currentPosition!=o){l=Ext.fly(s).getY()-n.el.getY()-1;if(o=="after"){l+=Ext.fly(s).getHeight()}p.getIndicator().setWidth(Ext.fly(n.el).getWidth()).showAt(0,l);p.overRecord=e;p.currentPosition=o}}else{p.invalidateDrop()}},invalidateDrop:function(){if(this.valid){this.valid=false;this.getIndicator().hide()}},onNodeOver:function(j,g,h,i){var e=this;if(!Ext.Array.contains(i.records,e.view.getRecord(j))){e.positionIndicator(j,i,h)}return e.valid?e.dropAllowed:e.dropNotAllowed},notifyOut:function(j,g,h,i){var e=this;e.callParent(arguments);delete e.overRecord;delete e.currentPosition;if(e.indicator){e.indicator.hide()}},onContainerOver:function(h,i,j){var k=this,e=k.view,l=e.store.getCount();if(l){k.positionIndicator(e.getNode(l-1),j,i)}else{delete k.overRecord;delete k.currentPosition;k.getIndicator().setWidth(Ext.fly(e.el).getWidth()).showAt(0,0);k.valid=true}return k.dropAllowed},onContainerDrop:function(e,f,d){return this.onNodeDrop(e,null,f,d)},onNodeDrop:function(o,j,m,n){var p=this,k=false,e=function(){p.invalidateDrop();p.handleNodeDrop(n,p.overRecord,p.currentPosition);k=true;p.fireViewEvent("drop",o,n,p.overRecord,p.currentPosition)},l=false;if(p.valid){l=p.fireViewEvent("beforedrop",o,n,p.overRecord,p.currentPosition,e);if(l!==false){if(!k){e()}}}return l},destroy:function(){Ext.destroy(this.indicator);delete this.indicator;this.callParent()}});Ext.define("Ext.grid.ViewDropZone",{extend:"Ext.view.DropZone",indicatorHtml:'<div class="x-grid-drop-indicator-left"></div><div class="x-grid-drop-indicator-right"></div>',indicatorCls:"x-grid-drop-indicator",handleNodeDrop:function(q,o,n){var k=this.view,i=k.getStore(),l,r,p,m;if(q.copy){r=q.records;q.records=[];for(p=0,m=r.length;p<m;p++){q.records.push(r[p].copy(r[p].getId()))}}else{q.view.store.remove(q.records,q.view===k)}l=i.indexOf(o);if(n!=="before"){l++}i.insert(l,q.records);k.getSelectionModel().select(q.records)}});Ext.define("Ext.grid.header.DropZone",{extend:"Ext.dd.DropZone",colHeaderCls:Ext.baseCSSPrefix+"column-header",proxyOffsets:[-4,-9],constructor:function(b){this.headerCt=b;this.ddGroup=this.getDDGroup();this.callParent([b.el])},getDDGroup:function(){return"header-dd-zone-"+this.headerCt.up("[scrollerOwner]").id},getTargetFromEvent:function(b){return b.getTarget("."+this.colHeaderCls)},getTopIndicator:function(){if(!this.topIndicator){this.topIndicator=Ext.DomHelper.append(Ext.getBody(),{cls:"col-move-top",html:" "},true)}return this.topIndicator},getBottomIndicator:function(){if(!this.bottomIndicator){this.bottomIndicator=Ext.DomHelper.append(Ext.getBody(),{cls:"col-move-bottom",html:" "},true)}return this.bottomIndicator},getLocation:function(k,e){var h=k.getXY()[0],l=Ext.fly(e).getRegion(),i,j;if((l.right-h)<=(l.right-l.left)/2){i="after"}else{i="before"}return{pos:i,header:Ext.getCmp(e.id),node:e}},positionIndicator:function(i,F,z){var R=this.getLocation(z,F),D=R.header,M=R.pos,N=i.nextSibling("gridcolumn:not([hidden])"),A=i.previousSibling("gridcolumn:not([hidden])"),O,I,C,B,Q,P,J,H,e,y;if(!D.draggable&&D.getIndex()==0){return false}this.lastLocation=R;if((i!==D)&&((M==="before"&&N!==D)||(M==="after"&&A!==D))&&!D.isDescendantOf(i)){var G=Ext.dd.DragDropManager.getRelated(this),K=G.length,E=0,L;for(;E<K;E++){L=G[E];if(L!==this&&L.invalidateDrop){L.invalidateDrop()}}this.valid=true;I=this.getTopIndicator();C=this.getBottomIndicator();if(M==="before"){B="tl";Q="bl"}else{B="tr";Q="br"}P=D.el.getAnchorXY(B);J=D.el.getAnchorXY(Q);H=this.headerCt.el;e=H.getLeft();y=H.getRight();P[0]=Ext.Number.constrain(P[0],e,y);J[0]=Ext.Number.constrain(J[0],e,y);P[0]-=4;P[1]-=9;J[0]-=4;I.setXY(P);C.setXY(J);I.show();C.show()}else{this.invalidateDrop()}},invalidateDrop:function(){this.valid=false;this.hideIndicators()},onNodeOver:function(e,f,g,h){if(h.header.el.dom!==e){this.positionIndicator(h.header,e,g)}return this.valid?this.dropAllowed:this.dropNotAllowed},hideIndicators:function(){this.getTopIndicator().hide();this.getBottomIndicator().hide()},onNodeOut:function(){this.hideIndicators()},onNodeDrop:function(w,q,r,v){if(this.valid){this.invalidateDrop();var t=v.header,u=this.lastLocation,o=t.ownerCt,z=o.items.indexOf(t),s=u.header.ownerCt,e=s.items.indexOf(u.header),x=this.headerCt,p,y;if(u.pos==="after"){e++}if(o!==s&&o.lockableInjected&&s.lockableInjected&&s.lockedCt){y=o.up("[scrollerOwner]");y.lock(t,e)}else{if(o!==s&&o.lockableInjected&&s.lockableInjected&&o.lockedCt){y=o.up("[scrollerOwner]");y.unlock(t,e)}else{if((o===s)&&(e>o.items.indexOf(t))){e--}if(o!==s){o.suspendLayout=true;o.remove(t,false);o.suspendLayout=false}if(o.isGroupHeader){if(!o.items.getCount()){p=o.ownerCt;p.suspendLayout=true;p.remove(o,false);o.el.dom.parentNode.removeChild(o.el.dom);p.suspendLayout=false}else{o.minWidth=o.getWidth()-t.getWidth();o.setWidth(o.minWidth)}}s.suspendLayout=true;if(o===s){s.move(z,e)}else{s.insert(e,t)}s.suspendLayout=false;if(s.isGroupHeader){t.savedFlex=t.flex;delete t.flex;t.width=t.getWidth();s.minWidth=s.getWidth()+t.getWidth()-(t.savedFlex?1:0);s.setWidth(s.minWidth)}else{if(t.savedFlex){t.flex=t.savedFlex;delete t.width}}x.purgeCache();x.doLayout();x.onHeaderMoved(t,z,e);if(!o.items.getCount()){o.destroy()}}}}}});Ext.define("Ext.grid.plugin.HeaderReorderer",{extend:"Ext.util.Observable",requires:["Ext.grid.header.DragZone","Ext.grid.header.DropZone"],alias:"plugin.gridheaderreorderer",init:function(b){this.headerCt=b;b.on("render",this.onHeaderCtRender,this)},destroy:function(){Ext.destroy(this.dragZone,this.dropZone)},onHeaderCtRender:function(){this.dragZone=Ext.create("Ext.grid.header.DragZone",this.headerCt);this.dropZone=Ext.create("Ext.grid.header.DropZone",this.headerCt);if(this.disabled){this.dragZone.disable()}},enable:function(){this.disabled=false;if(this.dragZone){this.dragZone.enable()}},disable:function(){this.disabled=true;if(this.dragZone){this.dragZone.disable()}}});Ext.define("Ext.data.reader.Array",{extend:"Ext.data.reader.Json",alternateClassName:"Ext.data.ArrayReader",alias:"reader.array",buildExtractors:function(){this.callParent(arguments);var g=this.model.prototype.fields.items,f=0,j=g.length,h=[],i;for(;f<j;f++){i=g[f].mapping;h.push(function(a){return function(b){return b[a]}}(i!==null?i:f))}this.extractorFunctions=h}});Ext.define("Ext.resizer.ResizeTracker",{extend:"Ext.dd.DragTracker",dynamic:true,preserveRatio:false,constrainTo:null,proxyCls:Ext.baseCSSPrefix+"resizable-proxy",constructor:function(f){var i=this;if(!f.el){if(f.target.isComponent){i.el=f.target.getEl()}else{i.el=f.target}}this.callParent(arguments);if(i.preserveRatio&&i.minWidth&&i.minHeight){var j=i.minWidth/i.el.getWidth(),g=i.minHeight/i.el.getHeight();if(g>j){i.minWidth=i.el.getWidth()*g}else{i.minHeight=i.el.getHeight()*j}}if(i.throttle){var h=Ext.Function.createThrottled(function(){Ext.resizer.ResizeTracker.prototype.resize.apply(i,arguments)},i.throttle);i.resize=function(b,a,c){if(c){Ext.resizer.ResizeTracker.prototype.resize.apply(i,arguments)}else{h.apply(null,arguments)}}}},onBeforeStart:function(b){this.startBox=this.el.getBox()},getDynamicTarget:function(){var d=this,c=d.target;if(d.dynamic){return c}else{if(!d.proxy){d.proxy=d.createProxy(c)}}d.proxy.show();return d.proxy},createProxy:function(h){var e,f=this.proxyCls,g;if(h.isComponent){e=h.getProxy().addCls(f)}else{g=Ext.getBody();if(Ext.scopeResetCSS){g=Ext.getBody().createChild({cls:Ext.baseCSSPrefix+"reset"})}e=h.createProxy({tag:"div",cls:f,id:h.id+"-rzproxy"},g)}e.removeCls(Ext.baseCSSPrefix+"proxy-el");return e},onStart:function(b){this.activeResizeHandle=Ext.getCmp(this.getDragTarget().id);if(!this.dynamic){this.resize(this.startBox,{horizontal:"none",vertical:"none"})}},onDrag:function(b){if(this.dynamic||this.proxy){this.updateDimensions(b)}},updateDimensions:function(z,F){var y=this,N=y.activeResizeHandle.region,L=y.getOffset(y.constrainTo?"dragTarget":null),H=y.startBox,K,C=0,x=0,I,B,P=0,e=0,w,E=L[0]<0?"right":"left",A=L[1]<0?"down":"up",J,O;switch(N){case"south":x=L[1];O=2;break;case"north":x=-L[1];e=-x;O=2;break;case"east":C=L[0];O=1;break;case"west":C=-L[0];P=-C;O=1;break;case"northeast":x=-L[1];e=-x;C=L[0];J=[H.x,H.y+H.height];O=3;break;case"southeast":x=L[1];C=L[0];J=[H.x,H.y];O=3;break;case"southwest":C=-L[0];P=-C;x=L[1];J=[H.x+H.width,H.y];O=3;break;case"northwest":x=-L[1];e=-x;C=-L[0];P=-C;J=[H.x+H.width,H.y+H.height];O=3;break}var M={width:H.width+C,height:H.height+x,x:H.x+P,y:H.y+e};I=Ext.Number.snap(M.width,y.widthIncrement);B=Ext.Number.snap(M.height,y.heightIncrement);if(I!=M.width||B!=M.height){switch(N){case"northeast":M.y-=B-M.height;break;case"north":M.y-=B-M.height;break;case"southwest":M.x-=I-M.width;break;case"west":M.x-=I-M.width;break;case"northwest":M.x-=I-M.width;M.y-=B-M.height}M.width=I;M.height=B}if(M.width<y.minWidth||M.width>y.maxWidth){M.width=Ext.Number.constrain(M.width,y.minWidth,y.maxWidth);if(P){M.x=H.x+(H.width-M.width)}}else{y.lastX=M.x}if(M.height<y.minHeight||M.height>y.maxHeight){M.height=Ext.Number.constrain(M.height,y.minHeight,y.maxHeight);if(e){M.y=H.y+(H.height-M.height)}}else{y.lastY=M.y}if(y.preserveRatio||z.shiftKey){var D,G;K=y.startBox.width/y.startBox.height;D=Math.min(Math.max(y.minHeight,M.width/K),y.maxHeight);G=Math.min(Math.max(y.minWidth,M.height*K),y.maxWidth);if(O==1){M.height=D}else{if(O==2){M.width=G}else{w=Math.abs(J[0]-this.lastXY[0])/Math.abs(J[1]-this.lastXY[1]);if(w>K){M.height=D}else{M.width=G}if(N=="northeast"){M.y=H.y-(M.height-H.height)}else{if(N=="northwest"){M.y=H.y-(M.height-H.height);M.x=H.x-(M.width-H.width)}else{if(N=="southwest"){M.x=H.x-(M.width-H.width)}}}}}}if(x===0){A="none"}if(C===0){E="none"}y.resize(M,{horizontal:E,vertical:A},F)},getResizeTarget:function(b){return b?this.target:this.getDynamicTarget()},resize:function(e,g,f){var h=this.getResizeTarget(f);if(h.isComponent){if(h.floating){h.setPagePosition(e.x,e.y)}h.setSize(e.width,e.height)}else{h.setBox(e);if(this.originalTarget){this.originalTarget.setBox(e)}}},onEnd:function(b){this.updateDimensions(b,true);if(this.proxy){this.proxy.hide()}}});Ext.define("Ext.ShadowPool",{singleton:true,requires:["Ext.DomHelper"],markup:function(){if(Ext.supports.CSS3BoxShadow){return'<div class="'+Ext.baseCSSPrefix+'css-shadow" role="presentation"></div>'}else{if(Ext.isIE){return'<div class="'+Ext.baseCSSPrefix+'ie-shadow" role="presentation"></div>'}else{return'<div class="'+Ext.baseCSSPrefix+'frame-shadow" role="presentation"><div class="xst" role="presentation"><div class="xstl" role="presentation"></div><div class="xstc" role="presentation"></div><div class="xstr" role="presentation"></div></div><div class="xsc" role="presentation"><div class="xsml" role="presentation"></div><div class="xsmc" role="presentation"></div><div class="xsmr" role="presentation"></div></div><div class="xsb" role="presentation"><div class="xsbl" role="presentation"></div><div class="xsbc" role="presentation"></div><div class="xsbr" role="presentation"></div></div></div>'}}}(),shadows:[],pull:function(){var b=this.shadows.shift();if(!b){b=Ext.get(Ext.DomHelper.insertHtml("beforeBegin",document.body.firstChild,this.markup));b.autoBoxAdjust=false}return b},push:function(b){this.shadows.push(b)},reset:function(){Ext.Array.each(this.shadows,function(b){b.remove()});this.shadows=[]}});Ext.define("Ext.draw.Matrix",{requires:["Ext.draw.Draw"],constructor:function(e,f,a,b,c,d){if(e!=null){this.matrix=[[e,a,c],[f,b,d],[0,0,1]]}else{this.matrix=[[1,0,0],[0,1,0],[0,0,1]]}},add:function(z,c,f,u,w,x){var e=this,y=[[],[],[]],a=[[z,f,w],[c,u,x],[0,0,1]],b,d,t,v;for(b=0;b<3;b++){for(d=0;d<3;d++){v=0;for(t=0;t<3;t++){v+=e.matrix[b][t]*a[t][d]}y[b][d]=v}}e.matrix=y},prepend:function(z,c,f,u,w,x){var e=this,y=[[],[],[]],a=[[z,f,w],[c,u,x],[0,0,1]],b,d,t,v;for(b=0;b<3;b++){for(d=0;d<3;d++){v=0;for(t=0;t<3;t++){v+=a[b][t]*e.matrix[t][d]}y[b][d]=v}}e.matrix=y},invert:function(){var d=this.matrix,e=d[0][0],f=d[1][0],p=d[0][1],a=d[1][1],b=d[0][2],c=d[1][2],o=e*a-f*p;return new Ext.draw.Matrix(a/o,-f/o,-p/o,e/o,(p*c-a*b)/o,(f*b-e*c)/o)},clone:function(){var e=this.matrix,f=e[0][0],n=e[1][0],a=e[0][1],b=e[1][1],c=e[0][2],d=e[1][2];return new Ext.draw.Matrix(f,n,a,b,c,d)},translate:function(d,c){this.prepend(1,0,0,1,d,c)},scale:function(f,h,g,i){var j=this;if(h==null){h=f}j.add(1,0,0,1,g,i);j.add(f,0,0,h,0,0);j.add(1,0,0,1,-g,-i)},rotate:function(l,a,h){l=Ext.draw.Draw.rad(l);var j=this,i=+Math.cos(l).toFixed(9),k=+Math.sin(l).toFixed(9);j.add(i,k,-k,i,a,h);j.add(1,0,0,1,-a,-h)},x:function(e,f){var d=this.matrix;return e*d[0][0]+f*d[0][1]+d[0][2]},y:function(e,f){var d=this.matrix;return e*d[1][0]+f*d[1][1]+d[1][2]},get:function(c,d){return +this.matrix[c][d].toFixed(4)},toString:function(){var b=this;return[b.get(0,0),b.get(0,1),b.get(1,0),b.get(1,1),0,0].join()},toSvg:function(){var b=this;return"matrix("+[b.get(0,0),b.get(1,0),b.get(0,1),b.get(1,1),b.get(0,2),b.get(1,2)].join()+")"},toFilter:function(){var b=this;return"progid:DXImageTransform.Microsoft.Matrix(sizingMethod='auto expand',FilterType=bilinear,M11="+b.get(0,0)+", M12="+b.get(0,1)+", M21="+b.get(1,0)+", M22="+b.get(1,1)+", Dx="+b.get(0,2)+", Dy="+b.get(1,2)+")"},offset:function(){var b=this.matrix;return[(b[0][2]||0).toFixed(4),(b[1][2]||0).toFixed(4)]},split:function(){function i(a){return a[0]*a[0]+a[1]*a[1]}function f(b){var a=Math.sqrt(i(b));b[0]/=a;b[1]/=a}var g=this.matrix,j={translateX:g[0][2],translateY:g[1][2]},h;h=[[g[0][0],g[0][1]],[g[1][0],g[1][1]]];j.scaleX=Math.sqrt(i(h[0]));f(h[0]);j.shear=h[0][0]*h[1][0]+h[0][1]*h[1][1];h[1]=[h[1][0]-h[0][0]*j.shear,h[1][1]-h[0][1]*j.shear];j.scaleY=Math.sqrt(i(h[1]));f(h[1]);j.shear/=j.scaleY;j.rotate=Math.asin(-h[0][1]);j.isSimple=!+j.shear.toFixed(9)&&(j.scaleX.toFixed(9)==j.scaleY.toFixed(9)||!j.rotate);return j}});Ext.define("Ext.draw.SpriteDD",{extend:"Ext.dd.DragSource",constructor:function(e,f){var g=this,h=e.el;g.sprite=e;g.el=h;g.dragData={el:h,sprite:e};g.callParent([h,f]);g.sprite.setStyle("cursor","move")},showFrame:Ext.emptyFn,createFrame:Ext.emptyFn,getDragEl:function(b){return this.el},getRegion:function(){var v=this,y=v.el,t,z,A,r,s,b,B,u,x,e,l;l=v.sprite;e=l.getBBox();try{t=Ext.Element.getXY(y)}catch(w){}if(!t){return null}z=t[0];A=z+e.width;r=t[1];s=r+e.height;return Ext.create("Ext.util.Region",r,A,s,z)},startDrag:function(e,g){var h=this,f=h.sprite.attr;h.prev=h.sprite.surface.transformToViewBox(e,g)},onDrag:function(j){var k=j.getXY(),l=this,m=l.sprite,i=m.attr,n,e;k=l.sprite.surface.transformToViewBox(k[0],k[1]);n=k[0]-l.prev[0];e=k[1]-l.prev[1];m.setAttributes({translate:{x:i.translation.x+n,y:i.translation.y+e}},true);l.prev=k},setDragElPos:function(){return false}});Ext.define("Ext.Shadow",{requires:["Ext.ShadowPool"],constructor:function(f){var j=this,i={h:0},h,g;Ext.apply(j,f);if(!Ext.isString(j.mode)){j.mode=j.defaultMode}h=j.offset;g=Math.floor(h/2);j.opacity=50;switch(j.mode.toLowerCase()){case"drop":if(Ext.supports.CSS3BoxShadow){i.w=i.h=-h;i.l=i.t=h}else{i.w=0;i.l=i.t=h;i.t-=1;if(Ext.isIE){i.l-=h+g;i.t-=h+g;i.w-=g;i.h-=g;i.t+=1}}break;case"sides":if(Ext.supports.CSS3BoxShadow){i.h-=h;i.t=h;i.l=i.w=0}else{i.w=(h*2);i.l=-h;i.t=h-1;if(Ext.isIE){i.l-=(h-g);i.t-=h+g;i.l+=1;i.w-=(h-g)*2;i.w-=g+1;i.h-=1}}break;case"frame":if(Ext.supports.CSS3BoxShadow){i.l=i.w=i.t=0}else{i.w=i.h=(h*2);i.l=i.t=-h;i.t+=1;i.h-=2;if(Ext.isIE){i.l-=(h-g);i.t-=(h-g);i.l+=1;i.w-=(h+g+1);i.h-=(h+g);i.h+=1}break}}j.adjusts=i},offset:4,defaultMode:"drop",show:function(f){var d=this,e;f=Ext.get(f);if(!d.el){d.el=Ext.ShadowPool.pull();if(d.el.dom.nextSibling!=f.dom){d.el.insertBefore(f)}}e=(parseInt(f.getStyle("z-index"),10)-1)||0;d.el.setStyle("z-index",d.zIndex||e);if(Ext.isIE&&!Ext.supports.CSS3BoxShadow){d.el.dom.style.filter="progid:DXImageTransform.Microsoft.alpha(opacity="+d.opacity+") progid:DXImageTransform.Microsoft.Blur(pixelradius="+(d.offset)+")"}d.realign(f.getLeft(true),f.getTop(true),f.dom.offsetWidth,f.dom.offsetHeight);d.el.dom.style.display="block"},isVisible:function(){return this.el?true:false},realign:function(y,d,q,u){if(!this.el){return}var z=this.adjusts,s=this.el.dom,r=s.style,x,v,p,w,t,l;r.left=(y+z.l)+"px";r.top=(d+z.t)+"px";x=Math.max(q+z.w,0);v=Math.max(u+z.h,0);t=x+"px";l=v+"px";if(r.width!=t||r.height!=l){r.width=t;r.height=l;if(Ext.supports.CSS3BoxShadow){r.boxShadow="0 0 "+this.offset+"px 0 #888"}else{if(!Ext.isIE){p=s.childNodes;w=Math.max(0,(x-12))+"px";p[0].childNodes[1].style.width=w;p[1].childNodes[1].style.width=w;p[2].childNodes[1].style.width=w;p[1].style.height=Math.max(0,(v-12))+"px"}}}},hide:function(){var b=this;if(b.el){b.el.dom.style.display="none";Ext.ShadowPool.push(b.el);delete b.el}},setZIndex:function(b){this.zIndex=b;if(this.el){this.el.setStyle("z-index",b)}},setOpacity:function(b){if(this.el){if(Ext.isIE&&!Ext.supports.CSS3BoxShadow){b=Math.floor(b*100/2)/100}this.opacity=b;this.el.setOpacity(b)}}});Ext.define("Ext.draw.Sprite",{mixins:{observable:"Ext.util.Observable",animate:"Ext.util.Animate"},requires:["Ext.draw.SpriteDD"],dirty:false,dirtyHidden:false,dirtyTransform:false,dirtyPath:true,dirtyFont:true,zIndexDirty:true,isSprite:true,zIndex:0,fontProperties:["font","font-size","font-weight","font-style","font-family","text-anchor","text"],pathProperties:["x","y","d","path","height","width","radius","r","rx","ry","cx","cy"],constructor:function(d){var c=this;d=d||{};c.id=Ext.id(null,"ext-sprite-");c.transformations=[];Ext.copyTo(this,d,"surface,group,type,draggable");c.bbox={};c.attr={zIndex:0,translation:{x:null,y:null},rotation:{degrees:null,x:null,y:null},scaling:{x:null,y:null,cx:null,cy:null}};delete d.surface;delete d.group;delete d.type;delete d.draggable;c.setAttributes(d);c.addEvents("beforedestroy","destroy","render","mousedown","mouseup","mouseover","mouseout","mousemove","click");c.mixins.observable.constructor.apply(this,arguments)},initDraggable:function(){var b=this;b.draggable=true;if(!b.el){b.surface.createSpriteElement(b)}b.dd=Ext.create("Ext.draw.SpriteDD",b,Ext.isBoolean(b.draggable)?null:b.draggable);b.on("beforedestroy",b.dd.destroy,b.dd)},setAttributes:function(B,y){var t=this,C=t.fontProperties,v=C.length,E=t.pathProperties,F=E.length,u=!!t.surface,J=u&&t.surface.customAttributes||{},I=t.attr,A,x,D,H,w,z,i,G;B=Ext.apply({},B);for(A in J){if(B.hasOwnProperty(A)&&typeof J[A]=="function"){Ext.apply(B,J[A].apply(t,[].concat(B[A])))}}if(!!B.hidden!==!!I.hidden){t.dirtyHidden=true}for(x=0;x<F;x++){A=E[x];if(A in B&&B[A]!==I[A]){t.dirtyPath=true;break}}if("zIndex" in B){t.zIndexDirty=true}for(x=0;x<v;x++){A=C[x];if(A in B&&B[A]!==I[A]){t.dirtyFont=true;break}}D=B.translate;H=I.translation;if(D){if((D.x&&D.x!==H.x)||(D.y&&D.y!==H.y)){Ext.apply(H,D);t.dirtyTransform=true}delete B.translate}w=B.rotate;z=I.rotation;if(w){if((w.x&&w.x!==z.x)||(w.y&&w.y!==z.y)||(w.degrees&&w.degrees!==z.degrees)){Ext.apply(z,w);t.dirtyTransform=true}delete B.rotate}i=B.scale;G=I.scaling;if(i){if((i.x&&i.x!==G.x)||(i.y&&i.y!==G.y)||(i.cx&&i.cx!==G.cx)||(i.cy&&i.cy!==G.cy)){Ext.apply(G,i);t.dirtyTransform=true}delete B.scale}Ext.apply(I,B);t.dirty=true;if(y===true&&u){t.redraw()}return this},getBBox:function(){return this.surface.getBBox(this)},setText:function(b){return this.surface.setText(this,b)},hide:function(b){this.setAttributes({hidden:true},b);return this},show:function(b){this.setAttributes({hidden:false},b);return this},remove:function(){if(this.surface){this.surface.remove(this);return true}return false},onRemove:function(){this.surface.onRemove(this)},destroy:function(){var b=this;if(b.fireEvent("beforedestroy",b)!==false){b.remove();b.surface.onDestroy(b);b.clearListeners();b.fireEvent("destroy")}},redraw:function(){this.surface.renderItem(this);return this},setStyle:function(){this.el.setStyle.apply(this.el,arguments);return this},addCls:function(b){this.surface.addCls(this,b);return this},removeCls:function(b){this.surface.removeCls(this,b);return this}});Ext.define("Ext.draw.engine.Svg",{extend:"Ext.draw.Surface",requires:["Ext.draw.Draw","Ext.draw.Sprite","Ext.draw.Matrix","Ext.Element"],engine:"Svg",trimRe:/^\s+|\s+$/g,spacesRe:/\s+/,xlink:"http://www.w3.org/1999/xlink",translateAttrs:{radius:"r",radiusX:"rx",radiusY:"ry",path:"d",lineWidth:"stroke-width",fillOpacity:"fill-opacity",strokeOpacity:"stroke-opacity",strokeLinejoin:"stroke-linejoin"},parsers:{},minDefaults:{circle:{cx:0,cy:0,r:0,fill:"none",stroke:null,"stroke-width":null,opacity:null,"fill-opacity":null,"stroke-opacity":null},ellipse:{cx:0,cy:0,rx:0,ry:0,fill:"none",stroke:null,"stroke-width":null,opacity:null,"fill-opacity":null,"stroke-opacity":null},rect:{x:0,y:0,width:0,height:0,rx:0,ry:0,fill:"none",stroke:null,"stroke-width":null,opacity:null,"fill-opacity":null,"stroke-opacity":null},text:{x:0,y:0,"text-anchor":"start","font-family":null,"font-size":null,"font-weight":null,"font-style":null,fill:"#000",stroke:null,"stroke-width":null,opacity:null,"fill-opacity":null,"stroke-opacity":null},path:{d:"M0,0",fill:"none",stroke:null,"stroke-width":null,opacity:null,"fill-opacity":null,"stroke-opacity":null},image:{x:0,y:0,width:0,height:0,preserveAspectRatio:"none",opacity:null}},createSvgElement:function(g,f){var h=this.domRef.createElementNS("http://www.w3.org/2000/svg",g),e;if(f){for(e in f){h.setAttribute(e,String(f[e]))}}return h},createSpriteElement:function(d){var c=this.createSvgElement(d.type);c.id=d.id;if(c.style){c.style.webkitTapHighlightColor="rgba(0,0,0,0)"}d.el=Ext.get(c);this.applyZIndex(d);d.matrix=Ext.create("Ext.draw.Matrix");d.bbox={plain:0,transform:0};d.fireEvent("render",d);return c},getBBox:function(e,d){var f=this["getPath"+e.type](e);if(d){e.bbox.plain=e.bbox.plain||Ext.draw.Draw.pathDimensions(f);return e.bbox.plain}e.bbox.transform=e.bbox.transform||Ext.draw.Draw.pathDimensions(Ext.draw.Draw.mapPath(f,e.matrix));return e.bbox.transform},getBBoxText:function(l){var i={},n,e,r,p,m,q;if(l&&l.el){q=l.el.dom;try{i=q.getBBox();return i}catch(o){}i={x:i.x,y:Infinity,width:0,height:0};m=q.getNumberOfChars();for(p=0;p<m;p++){n=q.getExtentOfChar(p);i.y=Math.min(n.y,i.y);e=n.y+n.height-i.y;i.height=Math.max(i.height,e);r=n.x+n.width-i.x;i.width=Math.max(i.width,r)}return i}},hide:function(){Ext.get(this.el).hide()},show:function(){Ext.get(this.el).show()},hidePrim:function(b){this.addCls(b,Ext.baseCSSPrefix+"hide-visibility")},showPrim:function(b){this.removeCls(b,Ext.baseCSSPrefix+"hide-visibility")},getDefs:function(){return this._defs||(this._defs=this.createSvgElement("defs"))},transform:function(o){var l=this,j=Ext.create("Ext.draw.Matrix"),m=o.transformations,k=m.length,p=0,i,n;for(;p<k;p++){i=m[p];n=i.type;if(n=="translate"){j.translate(i.x,i.y)}else{if(n=="rotate"){j.rotate(i.degrees,i.x,i.y)}else{if(n=="scale"){j.scale(i.x,i.y,i.centerX,i.centerY)}}}}o.matrix=j;o.el.set({transform:j.toSvg()})},setSize:function(f,h){var g=this,e=g.el;f=+f||g.width;h=+h||g.height;g.width=f;g.height=h;e.setSize(f,h);e.set({width:f,height:h});g.callParent([f,h])},getRegion:function(){var h=this.el.getXY(),j=this.bgRect.getXY(),f=Math.max,g=f(h[0],j[0]),i=f(h[1],j[1]);return{left:g,top:i,right:g+this.width,bottom:i+this.height}},onRemove:function(b){if(b.el){b.el.remove();delete b.el}this.callParent(arguments)},setViewBox:function(e,g,h,f){if(isFinite(e)&&isFinite(g)&&isFinite(h)&&isFinite(f)){this.callParent(arguments);this.el.dom.setAttribute("viewBox",[e,g,h,f].join(" "))}},render:function(p){var m=this;if(!m.el){var n=m.width||10,i=m.height||10,o=m.createSvgElement("svg",{xmlns:"http://www.w3.org/2000/svg",version:1.1,width:n,height:i}),j=m.getDefs(),l=m.createSvgElement("rect",{width:"100%",height:"100%",fill:"#000",stroke:"none",opacity:0}),k;if(Ext.isSafari3){k=m.createSvgElement("rect",{x:-10,y:-10,width:"110%",height:"110%",fill:"none",stroke:"#000"})}o.appendChild(j);if(Ext.isSafari3){o.appendChild(k)}o.appendChild(l);p.appendChild(o);m.el=Ext.get(o);m.bgRect=Ext.get(l);if(Ext.isSafari3){m.webkitRect=Ext.get(k);m.webkitRect.hide()}m.el.on({scope:m,mouseup:m.onMouseUp,mousedown:m.onMouseDown,mouseover:m.onMouseOver,mouseout:m.onMouseOut,mousemove:m.onMouseMove,mouseenter:m.onMouseEnter,mouseleave:m.onMouseLeave,click:m.onClick})}m.renderAll()},onMouseEnter:function(b){if(this.el.parent().getRegion().contains(b.getPoint())){this.fireEvent("mouseenter",b)}},onMouseLeave:function(b){if(!this.el.parent().getRegion().contains(b.getPoint())){this.fireEvent("mouseleave",b)}},processEvent:function(e,h){var i=h.getTarget(),g=this.surface,j;this.fireEvent(e,h);if(i.nodeName=="tspan"&&i.parentNode){i=i.parentNode}j=this.items.get(i.id);if(j){j.fireEvent(e,j,h)}},tuneText:function(o,n){var v=o.el.dom,u=[],i,p,m,s,r,t,q;if(n.hasOwnProperty("text")){u=this.setText(o,n.text)}if(u.length){i=this.getBBoxText(o).height;for(s=0,r=u.length;s<r;s++){q=(Ext.isFF3_0||Ext.isFF3_5)?2:4;u[s].setAttribute("dy",s?i*1.2:i/q)}o.dirty=true}},setText:function(o,u){var r=this,x=o.el.dom,p=x.getAttribute("x"),w=[],i,q,n,t,s,v;while(x.firstChild){x.removeChild(x.firstChild)}v=String(u).split("\n");for(t=0,s=v.length;t<s;t++){n=v[t];if(n){q=r.createSvgElement("tspan");q.appendChild(document.createTextNode(Ext.htmlDecode(n)));q.setAttribute("x",p);x.appendChild(q);w[t]=q}}return w},renderAll:function(){this.items.each(this.renderItem,this)},renderItem:function(b){if(!this.el){return}if(!b.el){this.createSpriteElement(b)}if(b.zIndexDirty){this.applyZIndex(b)}if(b.dirty){this.applyAttrs(b);this.applyTransformations(b)}},redraw:function(b){b.dirty=b.zIndexDirty=true;this.renderItem(b)},applyAttrs:function(s){var x=this,F=s.el,t=s.group,A=s.attr,i=x.parsers,C=x.gradientsMap||{},z=Ext.isSafari&&!Ext.isStrict,D,B,y,u,E,v,G,H,w;if(t){D=[].concat(t);y=D.length;for(B=0;B<y;B++){t=D[B];x.getGroup(t).add(s)}delete s.group}u=x.scrubAttrs(s)||{};s.bbox.plain=0;s.bbox.transform=0;if(s.type=="circle"||s.type=="ellipse"){u.cx=u.cx||u.x;u.cy=u.cy||u.y}else{if(s.type=="rect"){u.rx=u.ry=u.r}else{if(s.type=="path"&&u.d){u.d=Ext.draw.Draw.pathToString(Ext.draw.Draw.pathToAbsolute(u.d))}}}s.dirtyPath=false;if(u["clip-rect"]){x.setClip(s,u);delete u["clip-rect"]}if(s.type=="text"&&u.font&&s.dirtyFont){F.set({style:"font: "+u.font});s.dirtyFont=false}if(s.type=="image"){F.dom.setAttributeNS(x.xlink,"href",u.src)}Ext.applyIf(u,x.minDefaults[s.type]);if(s.dirtyHidden){(A.hidden)?x.hidePrim(s):x.showPrim(s);s.dirtyHidden=false}for(v in u){if(u.hasOwnProperty(v)&&u[v]!=null){if(z&&("color|stroke|fill".indexOf(v)>-1)&&(u[v] in C)){u[v]=C[u[v]]}if(v in i){F.dom.setAttribute(v,i[v](u[v],s,x))}else{F.dom.setAttribute(v,u[v])}}}if(s.type=="text"){x.tuneText(s,u)}G=A.style;if(G){F.setStyle(G)}s.dirty=false;if(Ext.isSafari3){x.webkitRect.show();setTimeout(function(){x.webkitRect.hide()})}},setClip:function(g,i){var j=this,k=i["clip-rect"],h,l;if(k){if(g.clip){g.clip.parentNode.parentNode.removeChild(g.clip.parentNode)}h=j.createSvgElement("clipPath");l=j.createSvgElement("rect");h.id=Ext.id(null,"ext-clip-");l.setAttribute("x",k.x);l.setAttribute("y",k.y);l.setAttribute("width",k.width);l.setAttribute("height",k.height);h.appendChild(l);j.getDefs().appendChild(h);g.el.dom.setAttribute("clip-path","url(#"+h.id+")");g.clip=l}},applyZIndex:function(k){var i=this,g=i.items,h=g.indexOf(k),j=k.el,l;if(i.el.dom.childNodes[h+2]!==j.dom){if(h>0){do{l=g.getAt(--h).el}while(!l&&h>0)}j.insertAfter(l||i.bgRect)}k.zIndexDirty=false},createItem:function(d){var c=Ext.create("Ext.draw.Sprite",d);c.surface=this;return c},addGradient:function(n){n=Ext.draw.Draw.parseGradient(n);var p=this,q=n.stops.length,t=n.vector,i=Ext.isSafari&&!Ext.isStrict,m,o,l,r,s;s=p.gradientsMap||{};if(!i){if(n.type=="linear"){m=p.createSvgElement("linearGradient");m.setAttribute("x1",t[0]);m.setAttribute("y1",t[1]);m.setAttribute("x2",t[2]);m.setAttribute("y2",t[3])}else{m=p.createSvgElement("radialGradient");m.setAttribute("cx",n.centerX);m.setAttribute("cy",n.centerY);m.setAttribute("r",n.radius);if(Ext.isNumber(n.focalX)&&Ext.isNumber(n.focalY)){m.setAttribute("fx",n.focalX);m.setAttribute("fy",n.focalY)}}m.id=n.id;p.getDefs().appendChild(m);for(r=0;r<q;r++){o=n.stops[r];l=p.createSvgElement("stop");l.setAttribute("offset",o.offset+"%");l.setAttribute("stop-color",o.color);l.setAttribute("stop-opacity",o.opacity);m.appendChild(l)}}else{s["url(#"+n.id+")"]=n.stops[0].color}p.gradientsMap=s},hasCls:function(d,c){return c&&(" "+(d.el.dom.getAttribute("class")||"")+" ").indexOf(" "+c+" ")!=-1},addCls:function(n,l){var m=n.el,o,j,p,i=[],k=m.getAttribute("class")||"";if(!Ext.isArray(l)){if(typeof l=="string"&&!this.hasCls(n,l)){m.set({"class":k+" "+l})}}else{for(o=0,j=l.length;o<j;o++){p=l[o];if(typeof p=="string"&&(" "+k+" ").indexOf(" "+p+" ")==-1){i.push(p)}}if(i.length){m.set({"class":" "+i.join(" ")})}}},removeCls:function(l,o){var n=this,s=l.el,q=s.getAttribute("class")||"",r,m,p,i,t;if(!Ext.isArray(o)){o=[o]}if(q){t=q.replace(n.trimRe," ").split(n.spacesRe);for(r=0,p=o.length;r<p;r++){i=o[r];if(typeof i=="string"){i=i.replace(n.trimRe,"");m=Ext.Array.indexOf(t,i);if(m!=-1){Ext.Array.erase(t,m,1)}}}s.set({"class":t.join(" ")})}},destroy:function(){var b=this;b.callParent();if(b.el){b.el.remove()}delete b.el}});Ext.define("Ext.draw.engine.Vml",{extend:"Ext.draw.Surface",requires:["Ext.draw.Draw","Ext.draw.Color","Ext.draw.Sprite","Ext.draw.Matrix","Ext.Element"],engine:"Vml",map:{M:"m",L:"l",C:"c",Z:"x",m:"t",l:"r",c:"v",z:"x"},bitesRe:/([clmz]),?([^clmz]*)/gi,valRe:/-?[^,\s-]+/g,fillUrlRe:/^url\(\s*['"]?([^\)]+?)['"]?\s*\)$/i,pathlike:/^(path|rect)$/,NonVmlPathRe:/[ahqstv]/ig,partialPathRe:/[clmz]/g,fontFamilyRe:/^['"]+|['"]+$/g,baseVmlCls:Ext.baseCSSPrefix+"vml-base",vmlGroupCls:Ext.baseCSSPrefix+"vml-group",spriteCls:Ext.baseCSSPrefix+"vml-sprite",measureSpanCls:Ext.baseCSSPrefix+"vml-measure-span",zoom:21600,coordsize:1000,coordorigin:"0 0",orderSpritesByZIndex:false,path2vml:function(F){var r=this,E=r.NonVmlPathRe,C=r.map,z=r.valRe,i=r.zoom,A=r.bitesRe,y=Ext.Function.bind(Ext.draw.Draw.pathToAbsolute,Ext.draw.Draw),u,p,B,D,w,j,x,v;if(String(F).match(E)){y=Ext.Function.bind(Ext.draw.Draw.path2curve,Ext.draw.Draw)}else{if(!String(F).match(r.partialPathRe)){u=String(F).replace(A,function(e,a,c){var b=[],d=a.toLowerCase()=="m",f=C[a];c.replace(z,function(g){if(d&&b[length]==2){f+=b+C[a=="m"?"l":"L"];b=[]}b.push(Math.round(g*i))});return f+b});return u}}p=y(F);u=[];for(w=0,j=p.length;w<j;w++){B=p[w];D=p[w][0].toLowerCase();if(D=="z"){D="x"}for(x=1,v=B.length;x<v;x++){D+=Math.round(B[x]*r.zoom)+(x!=v-1?",":"")}u.push(D)}return u.join(" ")},translateAttrs:{radius:"r",radiusX:"rx",radiusY:"ry",lineWidth:"stroke-width",fillOpacity:"fill-opacity",strokeOpacity:"stroke-opacity",strokeLinejoin:"stroke-linejoin"},minDefaults:{circle:{fill:"none",stroke:null,"stroke-width":null,opacity:null,"fill-opacity":null,"stroke-opacity":null},ellipse:{cx:0,cy:0,rx:0,ry:0,fill:"none",stroke:null,"stroke-width":null,opacity:null,"fill-opacity":null,"stroke-opacity":null},rect:{x:0,y:0,width:0,height:0,rx:0,ry:0,fill:"none",stroke:null,"stroke-width":null,opacity:null,"fill-opacity":null,"stroke-opacity":null},text:{x:0,y:0,"text-anchor":"start",font:'10px "Arial"',fill:"#000",stroke:null,"stroke-width":null,opacity:null,"fill-opacity":null,"stroke-opacity":null},path:{d:"M0,0",fill:"none",stroke:null,"stroke-width":null,opacity:null,"fill-opacity":null,"stroke-opacity":null},image:{x:0,y:0,width:0,height:0,preserveAspectRatio:"none",opacity:null}},onMouseEnter:function(b){this.fireEvent("mouseenter",b)},onMouseLeave:function(b){this.fireEvent("mouseleave",b)},processEvent:function(e,h){var i=h.getTarget(),g=this.surface,j;this.fireEvent(e,h);j=this.items.get(i.id);if(j){j.fireEvent(e,j,h)}},createSpriteElement:function(p){var r=this,s=p.attr,q=p.type,n=r.zoom,u=p.vml||(p.vml={}),m=Math.round,t=r.createNode("shape"),l,o,v;t.coordsize=n+" "+n;t.coordorigin=s.coordorigin||"0 0";Ext.get(t).addCls(r.spriteCls);if(q=="text"){u.path=l=r.createNode("path");l.textpathok=true;u.textpath=v=r.createNode("textpath");v.on=true;t.appendChild(v);t.appendChild(l)}t.id=p.id;p.el=Ext.get(t);r.el.appendChild(t);if(q!=="image"){o=r.createNode("skew");o.on=true;t.appendChild(o);p.skew=o}p.matrix=Ext.create("Ext.draw.Matrix");p.bbox={plain:null,transform:null};p.fireEvent("render",p);return p.el},getBBox:function(e,d){var f=this["getPath"+e.type](e);if(d){e.bbox.plain=e.bbox.plain||Ext.draw.Draw.pathDimensions(f);return e.bbox.plain}e.bbox.transform=e.bbox.transform||Ext.draw.Draw.pathDimensions(Ext.draw.Draw.mapPath(f,e.matrix));return e.bbox.transform},getBBoxText:function(c){var d=c.vml;return{x:d.X+(d.bbx||0)-d.W/2,y:d.Y-d.H/2,width:d.W,height:d.H}},applyAttrs:function(C){var w=this,K=C.vml,F=C.group,M=C.attr,L=C.el,A=L.dom,z,i,x,B,E,y,D,v,N;if(F){x=[].concat(F);E=x.length;for(B=0;B<E;B++){F=x[B];w.getGroup(F).add(C)}delete C.group}y=w.scrubAttrs(C)||{};if(C.zIndexDirty){w.setZIndex(C)}Ext.applyIf(y,w.minDefaults[C.type]);if(A.href){A.href=y.href}if(A.title){A.title=y.title}if(A.target){A.target=y.target}if(A.cursor){A.cursor=y.cursor}if(C.dirtyHidden){(y.hidden)?w.hidePrim(C):w.showPrim(C);C.dirtyHidden=false}if(C.dirtyPath){if(C.type=="circle"||C.type=="ellipse"){var I=y.x,J=y.y,G=y.rx||y.r||0,H=y.ry||y.r||0;A.path=Ext.String.format("ar{0},{1},{2},{3},{4},{1},{4},{1}",Math.round((I-G)*w.zoom),Math.round((J-H)*w.zoom),Math.round((I+G)*w.zoom),Math.round((J+H)*w.zoom),Math.round(I*w.zoom));C.dirtyPath=false}else{if(C.type!=="text"){C.attr.path=y.path=w.setPaths(C,y)||y.path;A.path=w.path2vml(y.path);C.dirtyPath=false}}}if("clip-rect" in y){w.setClip(C,y)}if(C.type=="text"){w.setTextAttributes(C,y)}if(C.type=="image"||y.opacity||y["fill-opacity"]||y.fill){w.setFill(C,y)}if(y.stroke||y["stroke-opacity"]||y.fill){w.setStroke(C,y)}z=M.style;if(z){L.setStyle(z)}C.dirty=false},setZIndex:function(b){if(b.el){if(b.attr.zIndex!=undefined){b.el.setStyle("zIndex",b.attr.zIndex)}b.zIndexDirty=false}},setPaths:function(d,f){var e=d.attr;d.bbox.plain=null;d.bbox.transform=null;if(d.type=="circle"){e.rx=e.ry=f.r;return Ext.draw.Draw.ellipsePath(d)}else{if(d.type=="ellipse"){e.rx=f.rx;e.ry=f.ry;return Ext.draw.Draw.ellipsePath(d)}else{if(d.type=="rect"||d.type=="image"){e.rx=e.ry=f.r;return Ext.draw.Draw.rectPath(d)}else{if(d.type=="path"&&e.path){return Ext.draw.Draw.pathToAbsolute(e.path)}}}}return false},setFill:function(m,s){var p=this,u=m.el,r=u.dom,n=r.getElementsByTagName("fill")[0],q,o,v,l,t;if(n){r.removeChild(n)}else{n=p.createNode("fill")}if(Ext.isArray(s.fill)){s.fill=s.fill[0]}if(m.type=="image"){n.on=true;n.src=s.src;n.type="tile";n.rotate=true}else{if(s.fill=="none"){n.on=false}else{if(typeof s.opacity=="number"){n.opacity=s.opacity}if(typeof s["fill-opacity"]=="number"){n.opacity=s["fill-opacity"]}n.on=true;if(typeof s.fill=="string"){v=s.fill.match(p.fillUrlRe);if(v){v=v[1];if(v.charAt(0)=="#"){o=p.gradientsColl.getByKey(v.substring(1))}if(o){l=s.rotation;t=-(o.angle+270+(l?l.degrees:0))%360;if(t===0){t=180}n.angle=t;n.type="gradient";n.method="sigma";n.colors=o.colors}else{n.src=v;n.type="tile";n.rotate=true}}else{n.color=Ext.draw.Color.toHex(s.fill)||s.fill;n.src="";n.type="solid"}}}}r.appendChild(n)},setStroke:function(i,l){var n=this,o=i.el.dom,k=i.strokeEl,m=false,p,j;if(!k){k=i.strokeEl=n.createNode("stroke");m=true}if(Ext.isArray(l.stroke)){l.stroke=l.stroke[0]}if(!l.stroke||l.stroke=="none"||l.stroke==0||l["stroke-width"]==0){k.on=false}else{k.on=true;if(l.stroke&&!l.stroke.match(n.fillUrlRe)){k.color=Ext.draw.Color.toHex(l.stroke)}k.joinstyle=l["stroke-linejoin"];k.endcap=l["stroke-linecap"]||"round";k.miterlimit=l["stroke-miterlimit"]||8;p=parseFloat(l["stroke-width"]||1)*0.75;j=l["stroke-opacity"]||1;if(Ext.isNumber(p)&&p<1){k.weight=1;k.opacity=j*p}else{k.weight=p;k.opacity=j}}if(m){o.appendChild(k)}},setClip:function(g,i){var j=this,l=g.el,h=g.clipEl,k=String(i["clip-rect"]).split(j.separatorRe);if(!h){h=g.clipEl=j.el.insertFirst(Ext.getDoc().dom.createElement("div"));h.addCls(Ext.baseCSSPrefix+"vml-sprite")}if(k.length==4){k[2]=+k[2]+(+k[0]);k[3]=+k[3]+(+k[1]);h.setStyle("clip",Ext.String.format("rect({1}px {2}px {3}px {0}px)",k[0],k[1],k[2],k[3]));h.setSize(j.el.width,j.el.height)}else{h.setStyle("clip","")}},setTextAttributes:function(o,t){var p=this,v=o.vml,r=v.textpath.style,q=p.span.style,n=p.zoom,m=Math.round,l={fontSize:"font-size",fontWeight:"font-weight",fontStyle:"font-style"},u,s;if(o.dirtyFont){if(t.font){r.font=q.font=t.font}if(t["font-family"]){r.fontFamily='"'+t["font-family"].split(",")[0].replace(p.fontFamilyRe,"")+'"';q.fontFamily=t["font-family"]}for(u in l){s=t[l[u]];if(s){r[u]=q[u]=s}}p.setText(o,t.text);if(v.textpath.string){p.span.innerHTML=String(v.textpath.string).replace(/</g,"<").replace(/&/g,"&").replace(/\n/g,"<br>")}v.W=p.span.offsetWidth;v.H=p.span.offsetHeight+2;if(t["text-anchor"]=="middle"){r["v-text-align"]="center"}else{if(t["text-anchor"]=="end"){r["v-text-align"]="right";v.bbx=-Math.round(v.W/2)}else{r["v-text-align"]="left";v.bbx=Math.round(v.W/2)}}}v.X=t.x;v.Y=t.y;v.path.v=Ext.String.format("m{0},{1}l{2},{1}",Math.round(v.X*n),Math.round(v.Y*n),Math.round(v.X*n)+1);o.bbox.plain=null;o.bbox.transform=null;o.dirtyFont=false},setText:function(d,c){d.vml.textpath.string=Ext.htmlDecode(c)},hide:function(){this.el.hide()},show:function(){this.el.show()},hidePrim:function(b){b.el.addCls(Ext.baseCSSPrefix+"hide-visibility")},showPrim:function(b){b.el.removeCls(Ext.baseCSSPrefix+"hide-visibility")},setSize:function(d,e){var f=this;d=d||f.width;e=e||f.height;f.width=d;f.height=e;if(f.el){if(d!=undefined){f.el.setWidth(d)}if(e!=undefined){f.el.setHeight(e)}f.applyViewBox();f.callParent(arguments)}},setViewBox:function(e,g,h,f){this.callParent(arguments);this.viewBox={x:e,y:g,width:h,height:f};this.applyViewBox()},applyViewBox:function(){var s=this,l=s.viewBox,v=s.width,p=s.height,q,r,n,u,o,t,m;if(l&&(v||p)){q=l.x;r=l.y;n=l.width;u=l.height;o=p/u;t=v/n;if(n*o<v){q-=(v-n*o)/2/o}if(u*t<p){r-=(p-u*t)/2/t}m=1/Math.max(n/v,u/p);s.viewBoxShift={dx:-q,dy:-r,scale:m};s.items.each(function(a){s.transform(a)})}},onAdd:function(b){this.callParent(arguments);if(this.el){this.renderItem(b)}},onRemove:function(b){if(b.el){b.el.remove();delete b.el}this.callParent(arguments)},createNode:(function(){try{var c=Ext.getDoc().dom;if(!c.namespaces.rvml){c.namespaces.add("rvml","urn:schemas-microsoft-com:vml")}return function(a){return c.createElement("<rvml:"+a+' class="rvml">')}}catch(d){return function(a){return c.createElement("<"+a+' xmlns="urn:schemas-microsoft.com:vml" class="rvml">')}}})(),render:function(f){var h=this,g=Ext.getDoc().dom;if(!h.el){var e=g.createElement("div");h.el=Ext.get(e);h.el.addCls(h.baseVmlCls);h.span=g.createElement("span");Ext.get(h.span).addCls(h.measureSpanCls);e.appendChild(h.span);h.el.setSize(h.width||10,h.height||10);f.appendChild(e);h.el.on({scope:h,mouseup:h.onMouseUp,mousedown:h.onMouseDown,mouseover:h.onMouseOver,mouseout:h.onMouseOut,mousemove:h.onMouseMove,mouseenter:h.onMouseEnter,mouseleave:h.onMouseLeave,click:h.onClick})}h.renderAll()},renderAll:function(){this.items.each(this.renderItem,this)},redraw:function(b){b.dirty=true;this.renderItem(b)},renderItem:function(b){if(!this.el){return}if(!b.el){this.createSpriteElement(b)}if(b.dirty){this.applyAttrs(b);if(b.dirtyTransform){this.applyTransformations(b)}}},rotationCompensation:function(g,h,f){var e=Ext.create("Ext.draw.Matrix");e.rotate(-g,0.5,0.5);return{x:e.x(h,f),y:e.y(h,f)}},extractTransform:function(i){var l=this,k=Ext.create("Ext.draw.Matrix"),n,p,r,o,m=0,q=l.viewBoxShift;for(p=i.transformations,r=p.length;m<r;m++){o=p[m];switch(o.type){case"translate":k.translate(o.x,o.y);break;case"rotate":k.rotate(o.degrees,o.x,o.y);break;case"scale":k.scale(o.x||o.scale,o.y||o.scale,o.centerX,o.centerY);break}}if(q){k.add(1,0,0,1,q.dx,q.dy);k.prepend(q.scale,0,0,q.scale,0,0)}return i.matrix=k},setSimpleCoords:function(t,v,w,q,r,B){var x=this,u=t.matrix,C=t.el.dom,F=C.style,D=1,A="",s=C.getElementsByTagName("fill")[0],y=x.zoom/v,z=x.zoom/w,E;if(!v||!w){return}C.coordsize=Math.abs(y)+" "+Math.abs(z);F.rotation=B*(v*w<0?-1:1);if(B){E=x.rotationCompensation(B,q,r);q=E.x;r=E.y}if(v<0){A+="x"}if(w<0){A+=" y";D=-1}F.flip=A;C.coordorigin=(q*-y)+" "+(r*-z);if(s){C.removeChild(s);E=x.rotationCompensation(B,u.x(t.x,t.y),u.y(t.x,t.y));s.position=E.x*D+" "+E.y*D;s.size=t.width*Math.abs(v)+" "+t.height*Math.abs(w);C.appendChild(s)}},transform:function(v){var y=this,E=v.el,r=v.skew,C=E.dom,B=C.style,w=y.extractTransform(v).clone(),x,s=y.zoom,t=C.getElementsByTagName("fill")[0],F=!String(v.fill).indexOf("url("),D,z;if(v.type!="image"&&r&&!F){r.matrix=w.toString();D=w.offset();if(D[0]>32767){D[0]=32767}else{if(D[0]<-32768){D[0]=-32768}}if(D[1]>32767){D[1]=32767}else{if(D[1]<-32768){D[1]=-32768}}r.offset=D}else{if(r){r.matrix="1 0 0 1";r.offset="0 0"}x=w.split();if(x.isSimple){B.filter="";y.setSimpleCoords(v,x.scaleX,x.scaleY,x.translateX,x.translateY,x.rotate/Math.PI*180)}else{B.filter=w.toFilter();var A=y.getBBox(v),c=A.x-v.x,u=A.y-v.y;C.coordorigin=(c*-s)+" "+(u*-s);if(t){C.removeChild(t);t.position=c+" "+u;t.size=v.width*v.scale.x+" "+v.height*1.1;C.appendChild(t)}}}},createItem:function(b){return Ext.create("Ext.draw.Sprite",b)},getRegion:function(){return this.el.getRegion()},addCls:function(d,c){if(d&&d.el){d.el.addCls(c)}},removeCls:function(d,c){if(d&&d.el){d.el.removeCls(c)}},addGradient:function(g){var f=this.gradientsColl||(this.gradientsColl=Ext.create("Ext.util.MixedCollection")),e=[],h=Ext.create("Ext.util.MixedCollection");h.addAll(g.stops);h.sortByKey("ASC",function(a,b){a=parseInt(a,10);b=parseInt(b,10);return a>b?1:(a<b?-1:0)});h.eachKey(function(a,b){e.push(a+"% "+b.color)});f.add(g.id,{colors:e.join(","),angle:g.angle})},destroy:function(){var b=this;b.callParent(arguments);if(b.el){b.el.remove()}delete b.el}});Ext.define("Docs.controller.InlineExamples",{extend:"Ext.app.Controller",init:function(){this.control({"inlineexample [cmpName=code]":{activate:function(c){this.activateTab(c,"code");var d=c.up("inlineexample").editor;d.refresh();d.refresh()}},"inlineexample [cmpName=preview]":{activate:function(b){this.activateTab(b,"preview")}},"inlineexample toolbar button[iconCls=code]":{click:function(b){b.up("inlineexample").showCode()}},"inlineexample toolbar button[iconCls=preview]":{click:function(b){b.up("inlineexample").showPreview()}},"inlineexample toolbar button[iconCls=copy]":{click:function(b){b.up("inlineexample").showCode();b.up("inlineexample").editor.selectAll()}},classoverview:{resize:this.createResizer(".class-overview"),afterload:this.replaceExampleDivs},guidecontainer:{resize:this.createResizer(".guide-container"),afterload:this.replaceExampleDivs}})},createResizer:function(b){return function(){Ext.Array.each(Ext.ComponentQuery.query(b+" .inlineexample"),function(a){if(a.editor&&a.isVisible()){a.doLayout();a.editor.refresh()}})}},activateTab:function(d,c){Ext.Array.each(d.up("inlineexample").query("toolbar button"),function(a){a.removeCls("active")});Ext.Array.each(d.up("inlineexample").query("toolbar button[iconCls="+c+"]"),function(a){a.addCls("active")})},replaceExampleDivs:function(){Ext.Array.each(Ext.query(".inline-example"),function(j){var f=Ext.String.htmlDecode(Ext.util.Format.stripTags(j.innerHTML));var g={};Ext.Array.forEach(j.className.split(/ +/),function(a){if(a==="phone"||a==="miniphone"||a==="tablet"){g.device=a}else{if(a==="ladscape"||a==="portrait"){g.orientation=a}else{g[a]=true}}});var h=document.createElement("div");j.parentNode.replaceChild(h,j);var i=Ext.create("Docs.view.examples.Inline",{height:200,renderTo:h,value:f,options:g})},this)}});Ext.define("Docs.controller.Tabs",{extend:"Ext.app.Controller",requires:["Docs.History","Docs.Settings"],refs:[{ref:"welcomeIndex",selector:"#welcomeindex"},{ref:"classIndex",selector:"#classindex"},{ref:"guideIndex",selector:"#guideindex"},{ref:"videoIndex",selector:"#videoindex"},{ref:"exampleIndex",selector:"#exampleindex"},{ref:"classTree",selector:"#classtree"},{ref:"guideTree",selector:"#guidetree"},{ref:"exampleTree",selector:"#exampletree"},{ref:"videoTree",selector:"#videotree"},{ref:"doctabs",selector:"#doctabs"}],scrollState:{},init:function(){this.getController("Classes").addListener({showClass:function(b){this.addTabFromTree("#!/api/"+b)},scope:this});this.getController("Guides").addListener({showGuide:function(b){this.addTabFromTree("#!/guide/"+b)},scope:this});this.getController("Examples").addListener({showExample:function(b){this.addTabFromTree(b)},scope:this});this.getController("Videos").addListener({showVideo:function(b){this.addTabFromTree(b)},scope:this});this.control({"container [componentCls=doctabs]":{afterrender:function(b){this.addTabIconListeners(b);this.addTabListeners(b);b.el.on("mouseleave",function(){if(b.shouldResize){b.resizeTabs({animate:true})}})},resize:function(){Ext.getCmp("doctabs").refresh()},scope:this},"#tabOverflowMenu menuitem":{click:function(b){Docs.History.push(b.href,{navigate:true})},scope:this}})},onLaunch:function(){this.getDoctabs().setStaticTabs(Ext.Array.filter([this.getWelcomeIndex().getTab(),this.getClassIndex().getTab(),this.getGuideIndex().getTab(),this.getVideoIndex().getTab(),this.getExampleIndex().getTab()],function(a){return a}));var b=Docs.Settings.get("tabs");if(b){Ext.Array.forEach(b,function(a){this.addTabFromTree(a,{animate:false})},this)}Docs.History.notifyTabsLoaded()},addTabFromTree:function(h,g){g=g||{animate:true,activate:true};var e=this.getTree(h);var f=e.findRecordByUrl(h);if(f&&f.raw){if(!this.scrollState[h]){this.scrollState[h]=0}this.getDoctabs().addTab({href:f.raw.url,text:f.raw.text,iconCls:f.raw.iconCls},g)}},getTree:function(b){if(/#!?\/api/.test(b)){return this.getClassTree()}else{if(/#!?\/guide/.test(b)){return this.getGuideTree()}else{if(/#!?\/video/.test(b)){return this.getVideoTree()}else{if(/#!?\/example/.test(b)){return this.getExampleTree()}else{return this.getClassTree()}}}}},addTabIconListeners:function(b){b.el.addListener("mouseover",function(d,a){Ext.get(a).addCls("ovr")},this,{delegate:".close"});b.el.addListener("mouseout",function(d,a){Ext.get(a).removeCls("ovr")},this,{delegate:".close"});b.el.addListener("click",function(e,f){b.justClosed=true;var a=Ext.get(f).up(".doctab").down(".tabUrl").getAttribute("href");a=Docs.History.cleanUrl(a);delete this.scrollState[a];Ext.getCmp("doctabs").removeTab(a)},this,{delegate:".close",preventDefault:true})},addTabListeners:function(b){b.el.addListener("click",function(e,f){if(b.justClosed){b.justClosed=false;return}var a=Ext.get(f).down(".tabUrl").getAttribute("href");Docs.History.push(a,{navigate:true})},this,{delegate:".doctab"});b.el.addListener("click",Ext.emptyFn,this,{delegate:".tabUrl",preventDefault:true})},setScrollState:function(c,d){this.scrollState[c]=d},getScrollState:function(b){return this.scrollState[b]||0}});Ext.define("Docs.controller.Content",{extend:"Ext.app.Controller",MIDDLE:1,title:"",onLaunch:function(){var b=this.getIndex();if(b.rendered){this.initScrollListener()}else{b.on("afterrender",this.initScrollListener,this)}},initScrollListener:function(){this.getIndex().getEl().addListener("scroll",function(c,d){this.setScrollState(this.baseUrl,d.scrollTop)},this)},loadIndex:function(b){b||Docs.History.push(this.baseUrl);this.getViewport().setPageTitle(this.title);Ext.getCmp("doctabs").activateTab(this.baseUrl);Ext.getCmp("card-panel").layout.setActiveItem(this.getIndex());this.getIndex().getEl().scrollTo("top",this.getScrollState(this.baseUrl))},opensNewWindow:function(b){return b.button===this.MIDDLE||b.shiftKey||b.ctrlKey},getBaseUrl:function(){return document.location.href.replace(/#.*/,"").replace(/index.html/,"")},getScrollState:function(b){return Docs.App.getController("Tabs").getScrollState(b)},setScrollState:function(c,d){Docs.App.getController("Tabs").setScrollState(c,d)}});Ext.define("Docs.view.search.Dropdown",{extend:"Ext.view.View",alias:"widget.searchdropdown",floating:true,autoShow:false,autoRender:true,toFrontOnShow:true,focusOnToFront:false,store:"Search",id:"search-dropdown",overItemCls:"x-view-over",trackOver:true,itemSelector:"div.item",singleSelect:true,pageStart:0,pageSize:10,initComponent:function(){this.addEvents("changePage","footerClick");this.tpl=new Ext.XTemplate('<tpl for=".">','<div class="item {type}">','<div class="title">{member}</div>','<div class="class">{cls}</div>',"</div>","</tpl>",'<div class="footer">','<a href="#" class="prev"><</a>','<span class="total">{[this.getStart()+1]}-{[this.getEnd()]} of {[this.getTotal()]}</span>','<a href="#" class="next">></a>',"</div>",{getTotal:Ext.bind(this.getTotal,this),getStart:Ext.bind(this.getStart,this),getEnd:Ext.bind(this.getEnd,this)});this.on("afterrender",function(){this.el.addListener("click",function(){this.fireEvent("changePage",this,-1)},this,{preventDefault:true,delegate:".prev"});this.el.addListener("click",function(){this.fireEvent("changePage",this,+1)},this,{preventDefault:true,delegate:".next"});this.el.addListener("click",function(){this.fireEvent("footerClick",this)},this,{delegate:".footer"})},this);this.callParent(arguments)},setTotal:function(b){this.total=b},getTotal:function(){return this.total},setStart:function(b){this.pageStart=b},getStart:function(b){return this.pageStart},getEnd:function(c){var d=this.pageStart+this.pageSize;return d>this.total?this.total:d}});Ext.define("Docs.store.Search",{extend:"Ext.data.Store",fields:["cls","member","type","xtypes","id"],proxy:{type:"memory",reader:{type:"json"}}});Ext.define("Docs.controller.Welcome",{extend:"Docs.controller.Content",baseUrl:"#",refs:[{ref:"viewport",selector:"#viewport"},{ref:"index",selector:"#welcomeindex"}],loadIndex:function(){Ext.getCmp("treecontainer").hide();this.callParent([true])},showFailure:function(c){var d=new Ext.XTemplate("<h1>Oops...</h1>","<p>{msg}</p>","<p>Maybe it was renamed to something else? Or maybe it has passed away permanently to the 404 land? ","This would be sad. Hopefully it's just a bug in our side. ","Report it to <a href='http://www.sencha.com/forum/showthread.php?135036'>Sencha Forum</a> if you feel so.</p>","<p>Sorry for all this :(</p>");Ext.getCmp("failure").update(d.apply({msg:c}));Ext.getCmp("card-panel").layout.setActiveItem("failure")},isActive:function(){return !!this.getIndex().getTab()}});Ext.define("Docs.controller.Search",{extend:"Ext.app.Controller",views:["search.Dropdown"],stores:["Search"],refs:[{ref:"field",selector:"#search-field"}],pageIndex:0,pageSize:10,init:function(){this.control({"#search-dropdown":{itemclick:function(c,d){this.loadRecord(d)},changePage:function(c,d){this.pageIndex+=d;this.search(this.getField().getValue())},footerClick:function(c,d){clearTimeout(this.hideTimeout);this.getField().focus()}},"#search-field":{keyup:function(m,l){var j=this.getDropdown();m.setHideTrigger(m.getValue().length===0);if(l.keyCode===Ext.EventObject.ESC||!m.value){j.hide();m.setValue("");return}else{j.show()}var h=j.getSelectionModel();var i=h.getLastSelected();var n=j.store.indexOf(i);var k=j.store.getCount()-1;if(l.keyCode===Ext.EventObject.UP){if(n===undefined){h.select(0)}else{h.select(n===0?k:(n-1))}}else{if(l.keyCode===Ext.EventObject.DOWN){if(n===undefined){h.select(0)}else{h.select(n===k?0:n+1)}}else{if(l.keyCode===Ext.EventObject.ENTER){l.preventDefault();i&&this.loadRecord(i)}else{this.pageIndex=0;clearTimeout(this.searchTimeout);this.searchTimeout=Ext.Function.defer(function(){this.search(m.value)},50,this)}}}},focus:function(b){if(b.value&&this.getDropdown().store.getCount()>0){this.getDropdown().show()}},blur:function(){var b=this.getDropdown();this.hideTimeout=Ext.Function.defer(b.hide,500,b)}}})},getDropdown:function(){return this.dropdown||(this.dropdown=Ext.getCmp("search-dropdown"))},loadRecord:function(d){var c=d.get("cls");if(d.get("type")!=="cls"){c+="-"+d.get("id")}Docs.App.getController("Classes").loadClass("#!/api/"+c);this.getDropdown().hide()},search:function(h){var e=this.filterMembers(h);if(this.pageIndex<0){this.pageIndex=0}else{if(this.pageIndex>Math.floor(e.length/this.pageSize)){this.pageIndex=Math.floor(e.length/this.pageSize)}}var g=this.pageIndex*this.pageSize;var f=g+this.pageSize;this.getDropdown().setTotal(e.length);this.getDropdown().setStart(g);this.getDropdown().getStore().loadData(e.slice(g,f));this.getDropdown().alignTo("search-field","bl",[-12,-2]);if(e.length===0){this.getDropdown().hide()}else{this.getDropdown().getSelectionModel().select(0)}},filterMembers:function(p){var z=[[],[],[],[],[],[],[],[]];var w=0,r=1,A=2,y=3,s=4,C=5,q=6,B=7;var u=/\./.test(p);var t=Ext.escapeRe(p);var D=new RegExp("^"+t+"$","i");var x=new RegExp("^"+t,"i");var v=new RegExp(t,"i");Ext.Array.forEach(Docs.data.search,function(a){var b=u?a.cls+(a.type==="cls"?"":"."+a.member):a.member;if(a.xtypes&&this.matchXType(a.xtypes,D)){z[w].push(a)}else{if(D.test(b)){z[a.type==="cls"?r:A].push(a)}else{if(a.xtypes&&this.matchXType(a.xtypes,x)){z[y].push(a)}else{if(x.test(b)){z[a.type==="cls"?s:C].push(a)}else{if(v.test(b)){z[a.type==="cls"?q:B].push(a)}}}}}},this);return Ext.Array.flatten(z)},matchXType:function(f,d){for(var e in f){if(f.hasOwnProperty(e)){if(Ext.Array.some(f[e],function(a){return d.test(a)})){return true}}}return false}});Ext.define("Docs.controller.Examples",{extend:"Docs.controller.Content",baseUrl:"#!/example",title:"Examples",refs:[{ref:"viewport",selector:"#viewport"},{ref:"index",selector:"#exampleindex"},{ref:"tree",selector:"#exampletree"},{ref:"page",selector:"#example"}],init:function(){this.addEvents("showExample");this.control({"#exampletree":{urlclick:function(d,c){this.loadExample(d)}},"exampleindex > thumblist":{urlclick:function(b){this.loadExample(b)}},touchexamplecontainer:{afterrender:function(b){b.el.addListener("click",function(d,a){this.changeDevice("tablet")},this,{delegate:"button.tablet"});b.el.addListener("click",function(d,a){this.changeDevice("phone")},this,{delegate:"button.phone"});b.el.addListener("click",function(d,a){this.changeOrientation("portrait")},this,{delegate:"button.portrait"});b.el.addListener("click",function(d,a){this.changeOrientation("landscape")},this,{delegate:"button.landscape"});b.el.addListener("click",function(d,a){this.openInNewWindow()},this,{delegate:"button.new-window"})}}})},loadIndex:function(){Ext.getCmp("treecontainer").showTree("exampletree");this.callParent()},loadExample:function(d,f){var e=this.getExample(d);this.getViewport().setPageTitle(e.text);if(this.activeUrl!==d){this.getPage().clear();this.activateExampleCard();this.getPage().load(e)}else{this.activateExampleCard()}f||Docs.History.push(d);this.fireEvent("showExample",d);this.getTree().selectUrl(d);this.activeUrl=d},activateExampleCard:function(){Ext.getCmp("card-panel").layout.setActiveItem("example");Ext.getCmp("treecontainer").showTree("exampletree")},getExample:function(b){if(!this.map){this.map={};Ext.Array.forEach(Docs.data.examples,function(a){Ext.Array.forEach(a.items,function(d){this.map["#!/example/"+d.url]=d},this)},this)}return this.map[b]},changeOrientation:function(b){this.getPage().setOrientation(b)},changeDevice:function(b){this.getPage().setDevice(b)},openInNewWindow:function(){var b=this.getExample(this.activeUrl);window.open("touch/examples/"+b.url)}});Ext.define("Docs.controller.Guides",{extend:"Docs.controller.Content",baseUrl:"#!/guide",title:"Guides",refs:[{ref:"viewport",selector:"#viewport"},{ref:"index",selector:"#guideindex"},{ref:"tree",selector:"#guidetree"}],cache:{},init:function(){this.addEvents("showGuide");this.control({"#guidetree":{urlclick:function(d,c){this.handleUrlClick(d,c,this.getTree())}},"guideindex > thumblist":{urlclick:function(b){this.loadGuide(b)}},indexcontainer:{afterrender:function(b){b.el.addListener("click",function(d,a){this.handleUrlClick(a.href,d)},this,{preventDefault:true,delegate:".guide"})}},"#guide":{afterrender:function(b){b.el.addListener("scroll",function(d,a){this.setScrollState(this.activeUrl,a.scrollTop)},this)}}})},handleUrlClick:function(d,f,e){d=d.replace(/.*#!?/,"#!");if(this.opensNewWindow(f)){window.open(d);e&&e.selectUrl(this.activeUrl?this.activeUrl:"")}else{this.loadGuide(d)}},loadIndex:function(){Ext.getCmp("treecontainer").showTree("guidetree");this.callParent()},loadGuide:function(d,f){Ext.getCmp("card-panel").layout.setActiveItem("guide");Ext.getCmp("treecontainer").showTree("guidetree");var e=d.match(/^#!\/guide\/(.*)$/)[1];f||Docs.History.push(d);if(this.cache[e]){this.showGuide(this.cache[e],d,e)}else{this.cache[e]="in-progress";Ext.data.JsonP.request({url:this.getBaseUrl()+"/guides/"+e+"/README.js",callbackName:e,success:function(a){this.cache[e]=a;this.showGuide(a,d,e)},failure:function(b,a){this.getController("Index").showFailure("Guide <b>"+e+"</b> was not found.")},scope:this})}},showGuide:function(f,d,e){if(f==="in-progress"){return}this.getViewport().setPageTitle(f.title);if(this.activeUrl!==d){Ext.getCmp("guide").load({name:e,content:f.guide})}this.activeUrl=d;this.scrollContent();this.fireEvent("showGuide",e);this.getTree().selectUrl(d)},scrollContent:function(){Ext.get("guide").scrollTo("top",this.getScrollState(this.activeUrl))}});Ext.define("Docs.controller.Videos",{extend:"Docs.controller.Content",baseUrl:"#!/video",title:"Videos",refs:[{ref:"viewport",selector:"#viewport"},{ref:"index",selector:"#videoindex"},{ref:"tree",selector:"#videotree"}],init:function(){this.addEvents("showVideo");this.control({"#videotree":{urlclick:function(b){this.loadVideo(b)}},"videoindex > thumblist":{urlclick:function(b){this.loadVideo(b)}}})},loadIndex:function(){Ext.getCmp("treecontainer").showTree("videotree");this.callParent()},loadVideo:function(f,g){Ext.getCmp("card-panel").layout.setActiveItem("video");Ext.getCmp("treecontainer").showTree("videotree");var h=f.match(/[0-9]+$/)[0];var e=this.getVideo(h);this.getViewport().setPageTitle(e.title);if(this.activeUrl!==f){Ext.getCmp("video").load(e)}g||Docs.History.push(f);this.fireEvent("showVideo",f);this.getTree().selectUrl(f);this.activeUrl=f},getVideo:function(b){if(!this.map){this.map={};Ext.Array.forEach(Docs.data.videos,function(a){Ext.Array.forEach(a.items,function(d){this.map[d.id]=d},this)},this)}return this.map[b]}});Ext.define("Ext.data.proxy.WebStorage",{extend:"Ext.data.proxy.Client",alternateClassName:"Ext.data.WebStorageProxy",id:undefined,constructor:function(b){this.callParent(arguments);this.cache={};if(this.getStorageObject()===undefined){Ext.Error.raise("Local Storage is not supported in this browser, please use another type of data proxy")}this.id=this.id||(this.store?this.store.storeId:undefined);if(this.id===undefined){Ext.Error.raise("No unique id was provided to the local storage proxy. See Ext.data.proxy.LocalStorage documentation for details")}this.initialize()},create:function(n,k,i){var o=n.records,p=o.length,r=this.getIds(),q,l,m;n.setStarted();for(m=0;m<p;m++){l=o[m];if(l.phantom){l.phantom=false;q=this.getNextId()}else{q=l.getId()}this.setRecord(l,q);r.push(q)}this.setIds(r);n.setCompleted();n.setSuccessful();if(typeof k=="function"){k.call(i||this,n)}},read:function(n,k,i){var o=[],r=this.getIds(),p=r.length,m,q,l;if(n.id){l=this.getRecord(n.id);if(l){o.push(l);n.setSuccessful()}}else{for(m=0;m<p;m++){o.push(this.getRecord(r[m]))}n.setSuccessful()}n.setCompleted();n.resultSet=Ext.create("Ext.data.ResultSet",{records:o,total:o.length,loaded:true});if(typeof k=="function"){k.call(i||this,n)}},update:function(n,k,i){var o=n.records,p=o.length,r=this.getIds(),l,q,m;n.setStarted();for(m=0;m<p;m++){l=o[m];this.setRecord(l);q=l.getId();if(q!==undefined&&Ext.Array.indexOf(r,q)==-1){r.push(q)}}this.setIds(r);n.setCompleted();n.setSuccessful();if(typeof k=="function"){k.call(i||this,n)}},destroy:function(i,k,n){var j=i.records,m=j.length,o=this.getIds(),l=[].concat(o),p;for(p=0;p<m;p++){Ext.Array.remove(l,j[p].getId());this.removeRecord(j[p],false)}this.setIds(l);i.setCompleted();i.setSuccessful();if(typeof k=="function"){k.call(n||this,i)}},getRecord:function(r){if(this.cache[r]===undefined){var t=Ext.decode(this.getStorageObject().getItem(this.getRecordKey(r))),o={},p=this.model,l=p.prototype.fields.items,q=l.length,n,i,s,m;for(n=0;n<q;n++){i=l[n];s=i.name;if(typeof i.decode=="function"){o[s]=i.decode(t[s])}else{o[s]=t[s]}}m=new p(o,r);m.phantom=false;this.cache[r]=m}return this.cache[r]},setRecord:function(r,x){if(x){r.setId(x)}else{x=r.getId()}var p=this,z=r.data,t={},s=p.model,q=s.prototype.fields.items,w=q.length,u=0,o,y,v,i;for(;u<w;u++){o=q[u];y=o.name;if(typeof o.encode=="function"){t[y]=o.encode(z[y],r)}else{t[y]=z[y]}}v=p.getStorageObject();i=p.getRecordKey(x);p.cache[x]=r;v.removeItem(i);v.setItem(i,Ext.encode(t))},removeRecord:function(g,h){var e=this,f;if(g.isModel){g=g.getId()}if(h!==false){f=e.getIds();Ext.Array.remove(f,g);e.setIds(f)}e.getStorageObject().removeItem(e.getRecordKey(g))},getRecordKey:function(b){if(b.isModel){b=b.getId()}return Ext.String.format("{0}-{1}",this.id,b)},getRecordCounterKey:function(){return Ext.String.format("{0}-counter",this.id)},getIds:function(){var d=(this.getStorageObject().getItem(this.id)||"").split(","),f=d.length,e;if(f==1&&d[0]===""){d=[]}else{for(e=0;e<f;e++){d[e]=parseInt(d[e],10)}}return d},setIds:function(e){var d=this.getStorageObject(),f=e.join(",");d.removeItem(this.id);if(!Ext.isEmpty(f)){d.setItem(this.id,f)}},getNextId:function(){var i=this.getStorageObject(),g=this.getRecordCounterKey(),j=i.getItem(g),f,h;if(j===null){f=this.getIds();j=f[f.length-1]||0}h=parseInt(j,10)+1;i.setItem(g,h);return h},initialize:function(){var b=this.getStorageObject();b.setItem(this.id,b.getItem(this.id)||"")},clear:function(){var g=this.getStorageObject(),h=this.getIds(),f=h.length,e;for(e=0;e<f;e++){this.removeRecord(h[e])}g.removeItem(this.getRecordCounterKey());g.removeItem(this.id)},getStorageObject:function(){Ext.Error.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("Docs.model.Setting",{fields:["id","key","value"],extend:"Ext.data.Model",proxy:{type:("localStorage" in window&&window.localStorage!==null)?"localstorage":"memory",id:Docs.localStorageDb+"-settings"}});Ext.define("Docs.store.Settings",{extend:"Ext.data.Store",model:"Docs.model.Setting"});Ext.define("Docs.controller.Classes",{extend:"Docs.controller.Content",baseUrl:"#!/api",title:"API Documentation",requires:["Docs.History","Docs.Syntax"],stores:["Settings"],models:["Setting"],refs:[{ref:"viewport",selector:"#viewport"},{ref:"index",selector:"#classindex"},{ref:"header",selector:"classheader"},{ref:"overview",selector:"classoverview"},{ref:"tabPanel",selector:"classtabpanel"},{ref:"tree",selector:"#classtree"},{ref:"favoritesGrid",selector:"#favorites-grid"}],cache:{},init:function(){this.addEvents("showClass","showMember");Ext.getBody().addListener("click",function(c,d){this.handleUrlClick(decodeURI(d.href),c)},this,{preventDefault:true,delegate:".docClass"});this.control({classtree:{urlclick:function(d,c){this.handleUrlClick(d,c,this.getTree())},afterrender:function(b){b.el.addListener("click",function(e,g){var a=Ext.get(g),h=Ext.get(Ext.query(".cls-grouping button.selected")[0]);if(h.dom===a.dom){return}h.removeCls("selected");a.addCls("selected");if(a.hasCls("by-package")){this.getTree().setLogic(Docs.view.cls.PackageLogic)}else{this.getTree().setLogic(Docs.view.cls.InheritanceLogic)}},this,{delegate:"button"})}},toolbar:{toggleExpanded:function(b){Ext.Array.forEach(Ext.query(".side.expandable"),function(a){Ext.get(a).parent()[b?"addCls":"removeCls"]("open")})}},classoverview:{afterrender:function(b){b.el.addListener("click",function(i,k){var h=Ext.get(k).up(".member"),l=h.down(".meta .docClass"),j=l.getAttribute("rel"),a=h.getAttribute("id");if(h.hasCls("open")){this.setExpanded(a,false)}else{this.setExpanded(a,true);this.fireEvent("showMember",j,a)}h.toggleCls("open")},this,{preventDefault:true,delegate:".expandable"});b.el.addListener("click",Ext.emptyFn,this,{preventDefault:true,delegate:".not-expandable"});b.body.addListener("scroll",function(d,a){this.setScrollState("#!/api/"+this.currentCls.name,a.scrollTop)},this)}},treecontainer:{afterrender:function(b){b.el.addListener("dblclick",function(){if(b.getWidth()<30){b.setWidth(b.expandedWidth)}else{b.expandedWidth=b.getWidth();b.setWidth(20)}},this,{delegate:".x-resizable-handle"})}}})},setExpanded:function(f,d){var e=this.currentCls;if(!e.expanded){e.expanded={}}if(d){e.expanded[f]=d}else{delete e.expanded[f]}},applyExpanded:function(b){Ext.Object.each(b.expanded||{},function(a){Ext.get(a).addCls("open")},this)},handleUrlClick:function(d,f,e){d=Docs.History.cleanUrl(d);if(this.opensNewWindow(f)){window.open(d);e&&e.selectUrl(this.currentCls?"#!/api/"+this.currentCls.name:"")}else{this.loadClass(d)}},loadIndex:function(b){Ext.getCmp("treecontainer").showTree("classtree");this.callParent(arguments)},loadClass:function(f,i){Ext.getCmp("card-panel").layout.setActiveItem("classcontainer");Ext.getCmp("treecontainer").showTree("classtree");i||Docs.History.push(f);var j=f.match(/^#!\/api\/(.*?)(?:-(.*))?$/);var g=j[1];var h=j[2];if(this.getOverview()){this.getOverview().setLoading(true)}if(this.cache[g]){this.showClass(this.cache[g],h)}else{this.cache[g]="in-progress";Ext.data.JsonP.request({url:this.getBaseUrl()+"/output/"+g+".js",callbackName:g.replace(/\./g,"_"),success:function(b,a){this.cache[g]=b;this.showClass(b,h)},failure:function(b,a){this.getController("Index").showFailure("Class <b>"+g+"</b> was not found.")},scope:this})}},showClass:function(d,c){if(d==="in-progress"){return}this.getOverview().setLoading(false);this.getViewport().setPageTitle(d.name);if(this.currentCls!==d){this.getHeader().load(d);this.getOverview().load(d);this.applyExpanded(d)}this.currentCls=d;if(c){this.getOverview().scrollToEl("#"+c);this.fireEvent("showMember",d.name,c)}else{this.scrollContent()}this.getTree().selectUrl("#!/api/"+d.name);this.fireEvent("showClass",d.name)},scrollContent:function(){if(this.currentCls){var b="#!/api/"+this.currentCls.name;this.getOverview().getEl().down(".x-panel-body").scrollTo("top",this.getScrollState(b))}}});Ext.ns("Docs");Ext.Loader.setConfig({enabled:true,paths:{Docs:"app"}});Ext.require("Docs.view.Viewport");Ext.require("Ext.form.field.Trigger");Ext.require("Ext.tab.Panel");Ext.require("Ext.grid.column.Action");Ext.require("Ext.grid.plugin.DragDrop");Ext.require("Ext.layout.container.Border");Ext.require("Ext.data.TreeStore");Ext.require("Ext.toolbar.Spacer");Ext.require("Docs.Application");Ext.onReady(function(){Ext.create("Docs.Application")});
+var CodeMirror=(function(){function l(R,aZ){var a9={},aU=l.defaults;for(var bo in aU){if(aU.hasOwnProperty(bo)){a9[bo]=(aZ&&aZ.hasOwnProperty(bo)?aZ:aU)[bo]}}var bD=a9.document;var bm=bD.createElement("div");bm.className="CodeMirror";bm.innerHTML='<div style="overflow: hidden; position: relative; width: 1px; height: 0px;"><textarea style="position: absolute; width: 2px;" wrap="off"></textarea></div><div class="CodeMirror-scroll cm-s-'+a9.theme+'"><div style="position: relative"><div style="position: absolute; height: 0; width: 0; overflow: hidden;"></div><div style="position: relative"><div class="CodeMirror-gutter"><div class="CodeMirror-gutter-text"></div></div><div class="CodeMirror-lines"><div style="position: relative"><pre class="CodeMirror-cursor"> </pre><div></div></div></div></div></div></div>';if(R.appendChild){R.appendChild(bm)}else{R(bm)}var bT=bm.firstChild,bQ=bT.firstChild,aB=bm.lastChild,aC=aB.firstChild,au=aC.firstChild,bi=au.nextSibling,aM=bi.firstChild,bO=aM.firstChild,aF=aM.nextSibling.firstChild,aa=aF.firstChild,ae=aa.nextSibling;if(a9.tabindex!=null){bQ.tabindex=a9.tabindex}if(!a9.gutter&&!a9.lineNumbers){aM.style.display="none"}var aE=new m(),an=new m(),ad;var bb,bK=[new c("")],a3,a0=new f(),i;bk();var aO={from:{line:0,ch:0},to:{line:0,ch:0},inverted:false};var a2,bu,ac;var bg,bI,aH,aj,bG;var bd=0,bs=0,bz=0,aL=null;var S,by;var aG="";bL(function(){ag(a9.value||"");bg=false})();setTimeout(az,20);j(aB,"mousedown",bL(ao));if(!t){j(aB,"contextmenu",bL(al))}j(aC,"dblclick",bL(bc));j(aB,"scroll",function(){ab([]);if(a9.onScroll){a9.onScroll(bH)}});j(window,"resize",function(){ab(true)});j(bQ,"keyup",bL(bh));j(bQ,"keydown",bL(ar));j(bQ,"keypress",bL(a6));j(bQ,"focus",aA);j(bQ,"blur",ay);j(aB,"dragenter",function(bV){bV.stop()});j(aB,"dragover",function(bV){bV.stop()});j(aB,"drop",bL(ai));j(aB,"paste",function(){am();bF()});j(bQ,"paste",function(){bF()});j(bQ,"cut",function(){bF()});var X;try{X=(bD.activeElement==bQ)}catch(aS){}if(X){aA()}else{ay()}function L(bV){return bV>=0&&bV<bK.length}var bH={getValue:ba,setValue:bL(ag),getSelection:bB,replaceSelection:bL(ah),focus:function(){am();aA();az();bF()},setOption:function(bV,bW){a9[bV]=bW;if(bV=="lineNumbers"||bV=="gutter"){N()}else{if(bV=="mode"||bV=="indentUnit"){bk()}else{if(bV=="readOnly"&&bW=="nocursor"){bQ.blur()}else{if(bV=="theme"){aB.className=aB.className.replace(/cm-s-\w+/,"cm-s-"+bW)}}}}},getOption:function(bV){return a9[bV]},undo:bL(bw),redo:bL(bU),indentLine:bL(function(bV){if(L(bV)){aq(bV,"smart")}}),historySize:function(){return{undo:a0.done.length,redo:a0.undone.length}},matchBrackets:bL(function(){ap(true)}),getTokenAt:function(bV){bV=af(bV);return bK[bV.line].getTokenAt(bb,aD(bV.line),bV.ch)},cursorCoords:function(bV){if(bV==null){bV=aO.inverted}return bq(bV?aO.from:aO.to)},charCoords:function(bV){return bq(af(bV))},coordsChar:function(bW){var bX=K(aF);var bV=aW(Math.min(bK.length-1,bd+Math.floor((bW.y-bX.top)/bJ())));return af({line:bV,ch:a8(aW(bV),bW.x-bX.left)})},getSearchCursor:function(bW,bX,bV){return new av(bW,bX,bV)},markText:bL(function(bW,bV,bX){return bL(Q(bW,bV,bX))}),setMarker:ak,clearMarker:Z,setLineClass:bL(aK),lineInfo:W,addWidget:function(bX,bW,bV){var bX=br(af(bX),true);bW.style.top=(bd*bJ()+bX.yBot+a4())+"px";bW.style.left=(bX.x+bj())+"px";aC.appendChild(bW);if(bV){bS(bX.x,bX.yBot,bX.x+bW.offsetWidth,bX.yBot+bW.offsetHeight)}},lineCount:function(){return bK.length},getCursor:function(bV){if(bV==null){bV=aO.inverted}return B(bV?aO.from:aO.to)},somethingSelected:function(){return !F(aO.from,aO.to)},setCursor:bL(function(bV,bW){if(bW==null&&typeof bV.line=="number"){aR(bV.line,bV.ch)}else{aR(bV,bW)}}),setSelection:bL(function(bW,bV){bt(af(bW),af(bV||bW))}),getLine:function(bV){if(L(bV)){return bK[bV].text}},setLine:bL(function(bV,bW){if(L(bV)){bl(bW,{line:bV,ch:0},{line:bV,ch:bK[bV].text.length})}}),removeLine:bL(function(bV){if(L(bV)){bl("",{line:bV,ch:0},af({line:bV+1,ch:0}))}}),replaceRange:bL(bl),getRange:function(bW,bV){return a5(af(bW),af(bV))},operation:function(bV){return bL(bV)()},refresh:function(){ab(true)},getInputField:function(){return bQ},getWrapperElement:function(){return bm}};function ag(bV){a0=null;var bW={line:0,ch:0};bf(bW,{line:bK.length-1,ch:bK[bK.length-1].text.length},n(bV),bW,bW);a0=new f()}function ba(bX){var bY=[];for(var bW=0,bV=bK.length;bW<bV;++bW){bY.push(bK[bW].text)}return bY.join("\n")}function ao(b2){var bV=ac;ac=null;for(var bY=b2.target();bY!=bm;bY=bY.parentNode){if(bY.parentNode==bO){if(a9.onGutterClick){a9.onGutterClick(bH,k(bO.childNodes,bY)+bd)}return b2.stop()}}if(t&&b2.button()==3){al(b2)}if(b2.button()!=1){return}var bW=Y(b2),b4=bW,bX;if(!bW){if(b2.target()==aB){b2.stop()}return}if(!i){aA()}b2.stop();if(bV&&+new Date-bV<400){return aJ(bW.line)}aR(bW.line,bW.ch,true);function b0(){am();bg=true;bZ();b1()}function b3(b5){var b7=Y(b5,true);if(b7&&!F(b7,b4)){if(!i){aA()}b4=b7;aN(bW,b7);bg=false;var b6=bM();if(b7.line>=b6.to||b7.line<b6.from){bX=setTimeout(bL(function(){b3(b5)}),150)}}}var bZ=j(bD,"mousemove",bL(function(b5){clearTimeout(bX);b5.stop();b3(b5)}),true);var b1=j(bD,"mouseup",bL(function(b5){clearTimeout(bX);var b6=Y(b5);if(b6){aN(bW,b6)}b5.stop();b0()}),true)}function bc(bV){var bW=Y(bV);if(!bW){return}be(bW);bV.stop();ac=+new Date}function ai(bZ){var b2=Y(bZ,true),bW=bZ.e.dataTransfer.files;if(!b2||a9.readOnly){return}if(bW&&bW.length&&window.FileReader&&window.File){var b1=bW.length,b0=Array(b1),bX=0;for(var bV=0;bV<b1;++bV){bY(bW[bV],bV)}function bY(b5,b4){var b3=new FileReader;b3.onload=function(){b0[b4]=b3.result;if(++bX==b1){bl(b0.join(""),af(b2),af(b2))}};b3.readAsText(b5)}}else{try{var b0=bZ.e.dataTransfer.getData("Text");if(b0){bl(b0,b2,b2)}}catch(bZ){}}}function ar(bZ){if(!i){aA()}var bY=bZ.e.keyCode;if(q&&bY==27){bZ.e.returnValue=false}var bX=(r?bZ.e.metaKey:bZ.e.ctrlKey)&&!bZ.e.altKey,bW=bZ.e.ctrlKey||bZ.e.altKey||bZ.e.metaKey;if(bY==16||bZ.e.shiftKey){a2=a2||(aO.inverted?aO.to:aO.from)}else{a2=null}if(a9.onKeyEvent&&a9.onKeyEvent(bH,s(bZ.e))){return}if(bY==33||bY==34){bC(bY==34);return bZ.stop()}if(bX&&((bY==36||bY==35)||r&&(bY==38||bY==40))){bN(bY==36||bY==38);return bZ.stop()}if(bX&&bY==65){bn();return bZ.stop()}if(!a9.readOnly){if(!bW&&bY==13){return}if(!bW&&bY==9&&aw(bZ.e.shiftKey)){return bZ.stop()}if(bX&&bY==90){bw();return bZ.stop()}if(bX&&((bZ.e.shiftKey&&bY==90)||bY==89)){bU();return bZ.stop()}}aL=(bX?"c":"")+bY;if(aO.inverted&&G.hasOwnProperty(aL)){var bV=H(bQ);if(bV){bu={anchor:bV.start};b(bQ,bV.start,bV.start)}}bF(aL)}function bh(bV){if(a9.onKeyEvent&&a9.onKeyEvent(bH,s(bV.e))){return}if(bu){bu=null;bg=true}if(bV.e.keyCode==16){a2=null}}function a6(bX){if(a9.onKeyEvent&&a9.onKeyEvent(bH,s(bX.e))){return}if(a9.electricChars&&bb.electricChars){var bV=String.fromCharCode(bX.e.charCode==null?bX.e.keyCode:bX.e.charCode);if(bb.electricChars.indexOf(bV)>-1){setTimeout(bL(function(){aq(aO.to.line,"smart")}),50)}}var bW=bX.e.keyCode;if(bW==13){if(!a9.readOnly){ax()}bX.stop()}else{if(!bX.e.ctrlKey&&!bX.e.altKey&&!bX.e.metaKey&&bW==9&&a9.tabMode!="default"){bX.stop()}else{bF(aL)}}}function aA(){if(a9.readOnly=="nocursor"){return}if(!i&&a9.onFocus){a9.onFocus(bH)}i=true;bv();if(bm.className.search(/\bCodeMirror-focused\b/)==-1){bm.className+=" CodeMirror-focused"}M()}function ay(){if(i&&a9.onBlur){a9.onBlur(bH)}clearInterval(ad);a2=null;i=false;bm.className=bm.className.replace(" CodeMirror-focused","")}function bf(b2,b1,bZ,bW,bV){if(a0){var bX=[];for(var bY=b2.line,b0=b1.line+1;bY<b0;++bY){bX.push(bK[bY].text)}a0.addChange(b2.line,bZ.length,bX);while(a0.done.length>a9.undoDepth){a0.done.shift()}}O(b2,b1,bZ,bW,bV);if(bZ.length<5){a7(b2.line,b2.line+bZ.length)}}function aQ(b1,b0){var bZ=b1.pop();if(bZ){var bX=[],bV=bZ.start+bZ.added;for(var bW=bZ.start;bW<bV;++bW){bX.push(bK[bW].text)}b0.push({start:bZ.start,added:bZ.old.length,old:bX});var bY=af({line:bZ.start+bZ.old.length-1,ch:z(bX[bX.length-1],bZ.old[bZ.old.length-1])});O({line:bZ.start,ch:0},{line:bV-1,ch:bK[bV-1].text.length},bZ.old,bY,bY)}}function bw(){aQ(a0.done,a0.undone)}function bU(){aQ(a0.undone,a0.done)}function O(b6,bZ,cb,bV,cc){var ca=false,bY=aG.length;for(var b7=b6.line;b7<=bZ.line;++b7){if(bK[b7].text.length==bY){ca=true;break}}var b2=bZ.line-b6.line,b1=bK[b6.line],bW=bK[bZ.line];if(b1==bW){if(cb.length==1){b1.replace(b6.ch,bZ.ch,cb[0])}else{bW=b1.split(bZ.ch,cb[cb.length-1]);var b3=[b6.line+1,b2];b1.replace(b6.ch,b1.text.length,cb[0]);for(var b7=1,b9=cb.length-1;b7<b9;++b7){b3.push(new c(cb[b7]))}b3.push(bW);bK.splice.apply(bK,b3)}}else{if(cb.length==1){b1.replace(b6.ch,b1.text.length,cb[0]+bW.text.slice(bZ.ch));bK.splice(b6.line+1,b2)}else{var b3=[b6.line+1,b2-1];b1.replace(b6.ch,b1.text.length,cb[0]);bW.replace(0,bZ.ch,cb[cb.length-1]);for(var b7=1,b9=cb.length-1;b7<b9;++b7){b3.push(new c(cb[b7]))}bK.splice.apply(bK,b3)}}for(var b7=b6.line,b9=b7+cb.length;b7<b9;++b7){var b5=bK[b7].text;if(b5.length>bY){aG=b5;bY=b5.length;ca=false}}if(ca){bY=0;aG="";for(var b7=0,b9=bK.length;b7<b9;++b7){var b5=bK[b7].text;if(b5.length>bY){bY=b5.length;aG=b5}}}var bX=[],b0=cb.length-b2-1;for(var b7=0,b5=a3.length;b7<b5;++b7){var b8=a3[b7];if(b8<b6.line){bX.push(b8)}else{if(b8>bZ.line){bX.push(b8+b0)}}}if(cb.length){bX.push(b6.line)}a3=bX;bP(100);bI.push({from:b6.line,to:bZ.line+1,diff:b0});aH={from:b6,to:bZ,text:cb};function b4(cd){return cd<=Math.min(bZ.line,bZ.line+b0)?cd:cd+b0}bt(bV,cc,b4(aO.from.line),b4(aO.to.line));aC.style.height=(bK.length*bJ()+2*a4())+"px"}function bl(bW,bZ,bY){bZ=af(bZ);if(!bY){bY=bZ}else{bY=af(bY)}bW=n(bW);function bX(b2){if(A(b2,bZ)){return b2}if(!A(bY,b2)){return bV}var b0=b2.line+bW.length-(bY.line-bZ.line)-1;var b1=b2.ch;if(b2.line==bY.line){b1+=bW[bW.length-1].length-(bY.ch-(bY.line==bZ.line?bZ.ch:0))}return{line:b0,ch:b1}}var bV;bx(bW,bZ,bY,function(b0){bV=b0;return{from:bX(aO.from),to:bX(aO.to)}});return bV}function ah(bV,bW){bx(n(bV),aO.from,aO.to,function(bX){if(bW=="end"){return{from:bX,to:bX}}else{if(bW=="start"){return{from:aO.from,to:aO.from}}else{return{from:aO.from,to:bX}}}})}function bx(bY,b0,bZ,bV){var bX=bY.length==1?bY[0].length+b0.ch:bY[bY.length-1].length;var bW=bV({line:b0.line+bY.length-1,ch:bX});bf(b0,bZ,bY,bW.from,bW.to)}function a5(b0,bZ){var bW=b0.line,bV=bZ.line;if(bW==bV){return bK[bW].text.slice(b0.ch,bZ.ch)}var bY=[bK[bW].text.slice(b0.ch)];for(var bX=bW+1;bX<bV;++bX){bY.push(bK[bX].text)}bY.push(bK[bV].text.slice(0,bZ.ch));return bY.join("\n")}function bB(){return a5(aO.from,aO.to)}var aV=false;function bv(){if(aV){return}aE.set(2000,function(){U();bE();if(i){bv()}aI()})}function bF(bX){var bV=false;aV=true;function bW(){U();var bY=bE();if(bY=="moved"&&bX){G[bX]=true}if(!bY&&!bV){bV=true;aE.set(80,bW)}else{aV=false;bv()}aI()}aE.set(20,bW)}function bE(){if(bG){return}var b2=false,ca=bQ.value,cc=H(bQ);if(!cc){return false}var b2=S.text!=ca,b4=bu;var b3=b2||cc.start!=S.start||cc.end!=(b4?S.start:S.end);if(!b3&&!b4){return false}if(b2){a2=bu=null;if(a9.readOnly){bg=true;return"changed"}}function bZ(ci,cg){var ch=0;for(;;){var cf=ca.indexOf("\n",ch);if(cf==-1||(ca.charAt(cf-1)=="\r"?cf-1:cf)>=ci){return{line:cg,ch:ci-ch}}++cg;ch=cf+1}}var cb=bZ(cc.start,S.from),bW=bZ(cc.end,S.from);if(b4){var b1=cc.start==b4.anchor?bW:cb;var b5=a2?aO.to:cc.start==b4.anchor?cb:bW;if(aO.inverted=A(b1,b5)){cb=b1;bW=b5}else{bu=null;cb=b5;bW=b1}}if(cb.line==bW.line&&cb.line==aO.from.line&&cb.line==aO.to.line&&!a2){bg=false}if(b2){var b0=0,bY=ca.length,cd=Math.min(bY,S.text.length);var ce,b7=S.from,bX=-1;while(b0<cd&&(ce=ca.charAt(b0))==S.text.charAt(b0)){++b0;if(ce=="\n"){b7++;bX=b0}}var b8=bX>-1?b0-bX:b0,bV=S.to-1,b6=S.text.length;for(;;){ce=S.text.charAt(b6);if(ca.charAt(bY)!=ce){++bY;++b6;break}if(ce=="\n"){bV--}if(b6<=b0||bY<=b0){break}--bY;--b6}var bX=S.text.lastIndexOf("\n",b6-1),b9=bX==-1?b6:b6-bX-1;bf({line:b7,ch:b8},{line:bV,ch:b9},n(ca.slice(b0,bY)),cb,bW);if(b7!=bV||cb.line!=b7){bg=true}}else{bt(cb,bW)}S.text=ca;S.start=cc.start;S.end=cc.end;return b2?"changed":b3?"moved":false}function az(){var bY=[];var b0=Math.max(0,aO.from.line-1),bZ=Math.min(bK.length,aO.to.line+2);for(var bX=b0;bX<bZ;++bX){bY.push(bK[bX].text)}bY=bQ.value=bY.join(d);var bW=aO.from.ch,bV=aO.to.ch;for(var bX=b0;bX<aO.from.line;++bX){bW+=d.length+bK[bX].text.length}for(var bX=b0;bX<aO.to.line;++bX){bV+=d.length+bK[bX].text.length}S={text:bY,from:b0,to:bZ,start:bW,end:bV};b(bQ,bW,bu?bW:bV)}function am(){if(a9.readOnly!="nocursor"){bQ.focus()}}function aT(){var bV=br(aO.inverted?aO.from:aO.to);return bS(bV.x,bV.y,bV.x,bV.yBot)}function bS(bX,b1,bV,b0){var bZ=bj(),b7=a4(),b3=bJ();b1+=b7;b0+=b7;bX+=bZ;bV+=bZ;var b4=aB.clientHeight,bY=aB.scrollTop,bW=false,b6=true;if(b1<bY){aB.scrollTop=Math.max(0,b1-2*b3);bW=true}else{if(b0>bY+b4){aB.scrollTop=b0+b3-b4;bW=true}}var b2=aB.clientWidth,b5=aB.scrollLeft;if(bX<b5){if(bX<50){bX=0}aB.scrollLeft=Math.max(0,bX-10);bW=true}else{if(bV>b2+b5){aB.scrollLeft=bV+10-b2;bW=true;if(bV>aC.clientWidth){b6=false}}}if(bW&&a9.onScroll){a9.onScroll(bH)}return b6}function bM(){var bV=bJ(),bW=aB.scrollTop-a4();return{from:Math.min(bK.length,Math.max(0,Math.floor(bW/bV))),to:Math.min(bK.length,Math.ceil((bW+aB.clientHeight)/bV))}}function ab(ce){if(!aB.clientWidth){bd=bs=0;return}var cd=ce===true?[]:[{from:bd,to:bs,domStart:0}];for(var cc=0,b8=ce.length||0;cc<b8;++cc){var b2=ce[cc],b0=[],b3=b2.diff||0;for(var cb=0,b9=cd.length;cb<b9;++cb){var b5=cd[cb];if(b2.to<=b5.from){b0.push({from:b5.from+b3,to:b5.to+b3,domStart:b5.domStart})}else{if(b5.to<=b2.from){b0.push(b5)}else{if(b2.from>b5.from){b0.push({from:b5.from,to:b2.from,domStart:b5.domStart})}if(b2.to<b5.to){b0.push({from:b2.to+b3,to:b5.to+b3,domStart:b5.domStart+(b2.to-b5.from)})}}}}cd=b0}var bX=bM();var ca=Math.min(bd,Math.max(bX.from-3,0)),bV=Math.min(bK.length,Math.max(bs,bX.to+3)),b1=[],b4=0,bZ=bs-bd,bY=ca,b7=0;for(var cc=0,b8=cd.length;cc<b8;++cc){var b5=cd[cc];if(b5.to<=ca){continue}if(b5.from>=bV){break}if(b5.domStart>b4||b5.from>bY){b1.push({from:bY,to:b5.from,domSize:b5.domStart-b4,domStart:b4});b7+=b5.from-bY}bY=b5.to;b4=b5.domStart+(b5.to-b5.from)}if(b4!=bZ||bY!=bV){b7+=Math.abs(bV-bY);b1.push({from:bY,to:bV,domSize:bZ-b4,domStart:b4})}if(!b1.length){return}ae.style.display="none";if(b7>(bX.to-bX.from)*0.3){aX(ca=Math.max(bX.from-10,0),bV=Math.min(bX.to+7,bK.length))}else{V(b1)}ae.style.display="";var b6=ca!=bd||bV!=bs||bz!=aB.clientHeight;bd=ca;bs=bV;bi.style.top=(ca*bJ())+"px";if(b6){bz=aB.clientHeight;aC.style.height=(bK.length*bJ()+2*a4())+"px";T()}var bW=aP(aG);aF.style.width=bW>aB.clientWidth?bW+"px":"";if(ae.childNodes.length!=bs-bd){throw new Error("BAD PATCH! "+JSON.stringify(b1)+" size="+(bs-bd)+" nodes="+ae.childNodes.length)}bA()}function aX(b2,b1){var bY=[],b0={line:b2,ch:0},bZ=A(aO.from,b0)&&!A(aO.to,b0);for(var bX=b2;bX<b1;++bX){var bW=null,bV=null;if(bZ){bW=0;if(aO.to.line==bX){bZ=false;bV=aO.to.ch}}else{if(aO.from.line==bX){if(aO.to.line==bX){bW=aO.from.ch;bV=aO.to.ch}else{bZ=true;bW=aO.from.ch}}}bY.push(bK[bX].getHTML(bW,bV,true))}ae.innerHTML=bY.join("")}function V(b7){var b8=aO.from.line,b9=aO.to.line,bX=0,b5=w&&bD.createElement("div");for(var b3=0,b4=b7.length;b3<b4;++b3){var b0=b7[b3];var bZ=(b0.to-b0.from)-b0.domSize;var b6=ae.childNodes[b0.domStart+b0.domSize+bX]||null;if(w){for(var b2=Math.max(-bZ,b0.domSize);b2>0;--b2){ae.removeChild(b6?b6.previousSibling:ae.lastChild)}}else{if(bZ){for(var b2=Math.max(0,bZ);b2>0;--b2){ae.insertBefore(bD.createElement("pre"),b6)}for(var b2=Math.max(0,-bZ);b2>0;--b2){ae.removeChild(b6?b6.previousSibling:ae.lastChild)}}}var bY=ae.childNodes[b0.domStart+bX],b1=b8<b0.from&&b9>=b0.from;for(var b2=b0.from;b2<b0.to;++b2){var bW=null,bV=null;if(b1){bW=0;if(b9==b2){b1=false;bV=aO.to.ch}}else{if(b8==b2){if(b9==b2){bW=aO.from.ch;bV=aO.to.ch}else{b1=true;bW=aO.from.ch}}}if(w){b5.innerHTML=bK[b2].getHTML(bW,bV,true);ae.insertBefore(b5.firstChild,b6)}else{bY.innerHTML=bK[b2].getHTML(bW,bV,false);bY.className=bK[b2].className||"";bY=bY.nextSibling}}bX+=bZ}}function T(){if(!a9.gutter&&!a9.lineNumbers){return}var bX=bi.offsetHeight,b4=aB.clientHeight;aM.style.height=(bX-b4<2?b4:bX)+"px";var b2=[];for(var b0=bd;b0<Math.max(bs,bd+1);++b0){var b1=bK[b0].gutterMarker;var b3=a9.lineNumbers?b0+a9.firstLineNumber:null;if(b1&&b1.text){b3=b1.text.replace("%N%",b3!=null?b3:"")}else{if(b3==null){b3="\u00a0"}}b2.push((b1&&b1.style?'<pre class="'+b1.style+'">':"<pre>"),b3,"</pre>")}aM.style.display="none";bO.innerHTML=b2.join("");var bZ=String(bK.length).length,bV=bO.firstChild,bW=p(bV),bY="";while(bW.length+bY.length<bZ){bY+="\u00a0"}if(bY){bV.insertBefore(bD.createTextNode(bY),bV.firstChild)}aM.style.display="";aF.style.marginLeft=aM.offsetWidth+"px"}function bA(){var bX=aO.inverted?aO.from:aO.to,bW=bJ();var bV=P(bX.line,bX.ch)+"px",bY=(bX.line-bd)*bW+"px";bT.style.top=(bX.line*bW-aB.scrollTop)+"px";if(F(aO.from,aO.to)){aa.style.top=bY;aa.style.left=bV;aa.style.display=""}else{aa.style.display="none"}}function aN(bX,bW){var bV=a2&&af(a2);if(bV){if(A(bV,bX)){bX=bV}else{if(A(bW,bV)){bW=bV}}}bt(bX,bW)}function bt(bZ,bY,bV,bX){if(F(aO.from,bZ)&&F(aO.to,bY)){return}if(A(bY,bZ)){var bW=bY;bY=bZ;bZ=bW}if(F(bZ,bY)){aO.inverted=false}else{if(F(bZ,aO.to)){aO.inverted=false}else{if(F(bY,aO.from)){aO.inverted=true}}}if(bV==null){bV=aO.from.line;bX=aO.to.line}if(F(bZ,bY)){if(!F(aO.from,aO.to)){bI.push({from:bV,to:bX+1})}}else{if(F(aO.from,aO.to)){bI.push({from:bZ.line,to:bY.line+1})}else{if(!F(bZ,aO.from)){if(bZ.line<bV){bI.push({from:bZ.line,to:Math.min(bY.line,bV)+1})}else{bI.push({from:bV,to:Math.min(bX,bZ.line)+1})}}if(!F(bY,aO.to)){if(bY.line<bX){bI.push({from:Math.max(bV,bZ.line),to:bX+1})}else{bI.push({from:Math.max(bZ.line,bX),to:bY.line+1})}}}}aO.from=bZ;aO.to=bY;aj=true}function aR(bV,bX,bW){var bY=af({line:bV,ch:bX||0});(bW?aN:bt)(bY,bY)}function aW(bV){return Math.max(0,Math.min(bV,bK.length-1))}function af(bX){if(bX.line<0){return{line:0,ch:0}}if(bX.line>=bK.length){return{line:bK.length-1,ch:bK[bK.length-1].text.length}}var bV=bX.ch,bW=bK[bX.line].text.length;if(bV==null||bV>bW){return{line:bX.line,ch:bW}}else{if(bV<0){return{line:bX.line,ch:0}}else{return bX}}}function bC(bX){var bV=Math.floor(aB.clientHeight/bJ()),bW=aO.inverted?aO.from:aO.to;aR(bW.line+(Math.max(bV-1,1)*(bX?1:-1)),bW.ch,true)}function bN(bV){var bW=bV?{line:0,ch:0}:{line:bK.length-1,ch:bK[bK.length-1].text.length};aN(bW,bW)}function bn(){var bV=bK.length-1;bt({line:0,ch:0},{line:bV,ch:bK[bV].text.length})}function be(bY){var bW=bK[bY.line].text;var bX=bY.ch,bV=bY.ch;while(bX>0&&/\w/.test(bW.charAt(bX-1))){--bX}while(bV<bW.length&&/\w/.test(bW.charAt(bV))){++bV}aN({line:bY.line,ch:bX},{line:bY.line,ch:bV})}function aJ(bV){aN({line:bV,ch:0},{line:bV,ch:bK[bV].text.length})}function ax(){ah("\n","end");if(a9.enterMode!="flat"){aq(aO.from.line,a9.enterMode=="keep"?"prev":"smart")}}function aw(bV){a2=null;switch(a9.tabMode){case"default":return false;case"indent":for(var bW=aO.from.line,bX=aO.to.line;bW<=bX;++bW){aq(bW,"smart")}break;case"classic":if(F(aO.from,aO.to)){if(bV){aq(aO.from.line,"smart")}else{ah("\t","end")}break}case"shift":for(var bW=aO.from.line,bX=aO.to.line;bW<=bX;++bW){aq(bW,bV?"subtract":"add")}break}return true}function aq(bX,b4){if(b4=="smart"){if(!bb.indent){b4="prev"}else{var bV=aD(bX)}}var b5=bK[bX],bZ=b5.indentation(),bW=b5.text.match(/^\s*/)[0],b1;if(b4=="prev"){if(bX){b1=bK[bX-1].indentation()}else{b1=0}}else{if(b4=="smart"){b1=bb.indent(bV,b5.text.slice(bW.length))}else{if(b4=="add"){b1=bZ+a9.indentUnit}else{if(b4=="subtract"){b1=bZ-a9.indentUnit}}}}b1=Math.max(0,b1);var b3=b1-bZ;if(!b3){if(aO.from.line!=bX&&aO.to.line!=bX){return}var b2=bW}else{var b2="",b0=0;if(a9.indentWithTabs){for(var bY=Math.floor(b1/o);bY;--bY){b0+=o;b2+="\t"}}while(b0<b1){++b0;b2+=" "}}bl(b2,{line:bX,ch:0},{line:bX,ch:bW.length})}function bk(){bb=l.getMode(a9,a9.mode);for(var bW=0,bV=bK.length;bW<bV;++bW){bK[bW].stateAfter=null}a3=[0];bP()}function N(){var bV=a9.gutter||a9.lineNumbers;aM.style.display=bV?"":"none";if(bV){T()}else{ae.parentNode.style.marginLeft=0}}function Q(b1,b0,bX){b1=af(b1);b0=af(b0);var bV=[];function bZ(b2,b6,b5,b3){var b2=bK[b2],b4=b2.addMark(b6,b5,b3);b4.line=b2;bV.push(b4)}if(b1.line==b0.line){bZ(b1.line,b1.ch,b0.ch,bX)}else{bZ(b1.line,b1.ch,null,bX);for(var bW=b1.line+1,bY=b0.line;bW<bY;++bW){bZ(bW,0,null,bX)}bZ(b0.line,0,b0.ch,bX)}bI.push({from:b1.line,to:b0.line+1});return function(){var b6,b2;for(var b3=0;b3<bV.length;++b3){var b5=bV[b3],b4=k(bK,b5.line);b5.line.removeMark(b5);if(b4>-1){if(b6==null){b6=b4}b2=b4}}if(b6!=null){bI.push({from:b6,to:b2+1})}}}function ak(bV,bX,bW){if(typeof bV=="number"){bV=bK[aW(bV)]}bV.gutterMarker={text:bX,style:bW};T();return bV}function Z(bV){if(typeof bV=="number"){bV=bK[aW(bV)]}bV.gutterMarker=null;T()}function aK(bV,bW){if(typeof bV=="number"){var bX=bV;bV=bK[aW(bV)]}else{var bX=k(bK,bV);if(bX==-1){return null}}if(bV.className!=bW){bV.className=bW;bI.push({from:bX,to:bX+1})}return bV}function W(bW){if(typeof bW=="number"){var bX=bW;bW=bK[bW];if(!bW){return null}}else{var bX=k(bK,bW);if(bX==-1){return null}}var bV=bW.gutterMarker;return{line:bX,text:bW.text,markerText:bV&&bV.text,markerClass:bV&&bV.style}}function aP(bV){au.innerHTML="<pre><span>x</span></pre>";au.firstChild.firstChild.firstChild.nodeValue=bV;return au.firstChild.firstChild.offsetWidth||10}function P(bV,bW){if(bW==0){return 0}au.innerHTML="<pre><span>"+bK[bV].getHTML(null,null,false,bW)+"</span></pre>";return au.firstChild.firstChild.offsetWidth}function a8(b7,b1){if(b1<=0){return 0}var bY=bK[b7],b4=bY.text;function b5(b8){au.innerHTML="<pre><span>"+bY.getHTML(null,null,false,b8)+"</span></pre>";return au.firstChild.firstChild.offsetWidth}var b2=0,b0=0,b3=b4.length,bZ;var bW=Math.min(b3,Math.ceil(b1/aP("x")));for(;;){var bX=b5(bW);if(bX<=b1&&bW<b3){bW=Math.min(b3,Math.ceil(bW*1.2))}else{bZ=bX;b3=bW;break}}if(b1>bZ){return b3}bW=Math.floor(b3*0.8);bX=b5(bW);if(bX<b1){b2=bW;b0=bX}for(;;){if(b3-b2<=1){return(bZ-b1>b1-b0)?b2:b3}var b6=Math.ceil((b2+b3)/2),bV=b5(b6);if(bV>b1){b3=b6;bZ=bV}else{b2=b6;b0=bV}}}function br(bY,bX){var bW=bJ(),bV=bY.line-(bX?bd:0);return{x:P(bY.line,bY.ch),y:bV*bW,yBot:(bV+1)*bW}}function bq(bX){var bV=br(bX,true),bW=K(aF);return{x:bW.left+bV.x,y:bW.top+bV.y,yBot:bW.top+bV.yBot}}function bJ(){var bV=ae.childNodes.length;if(bV){return(ae.offsetHeight/bV)||1}au.innerHTML="<pre>x</pre>";return au.firstChild.offsetHeight||1}function a4(){return aF.offsetTop}function bj(){return aF.offsetLeft}function Y(b0,bZ){var bY=K(aB,true),bV=b0.e.clientX,b1=b0.e.clientY;if(!bZ&&(bV-bY.left>aB.clientWidth||b1-bY.top>aB.clientHeight)){return null}var bX=K(aF,true);var bW=bd+Math.floor((b1-bX.top)/bJ());return af({line:bW,ch:a8(aW(bW),bV-bX.left)})}function al(bW){var b0=Y(bW);if(!b0||window.opera){return}if(F(aO.from,aO.to)||A(b0,aO.from)||!A(b0,aO.to)){aR(b0.line,b0.ch)}var bZ=bQ.style.cssText;bQ.style.cssText="position: fixed; width: 30px; height: 30px; top: "+(bW.pageY()-1)+"px; left: "+(bW.pageX()-1)+"px; z-index: 1000; background: white; border-width: 0; outline: none; overflow: hidden; opacity: .05;";var bY=bQ.value=bB();am();b(bQ,0,bQ.value.length);bG=true;function bV(){if(bQ.value!=bY){bL(ah)(bQ.value,"end")}bQ.style.cssText=bZ;bG=false;az();bv()}if(t){bW.stop();var bX=j(window,"mouseup",function(){bX();setTimeout(bV,20)},true)}else{setTimeout(bV,50)}}function M(){clearInterval(ad);var bV=true;aa.style.visibility="";ad=setInterval(function(){aa.style.visibility=(bV=!bV)?"":"hidden"},650)}var bR={"(":")>",")":"(<","[":"]>","]":"[<","{":"}>","}":"{<"};function ap(b1){var bV=aO.inverted?aO.from:aO.to,b3=bK[bV.line],bW=bV.ch-1;var b0=(bW>=0&&bR[b3.text.charAt(bW)])||bR[b3.text.charAt(++bW)];if(!b0){return}var b4=b0.charAt(0),b2=b0.charAt(1)==">",ce=b2?1:-1,b9=b3.styles;for(var cf=bW+1,cb=0,cd=b9.length;cb<cd;cb+=2){if((cf-=b9[cb].length)<=0){var cc=b9[cb+1];break}}var bY=[b3.text.charAt(bW)],b8=/[(){}[\]]/;function b6(cr,cm,cn){if(!cr.text){return}var cq=cr.styles,cl=b2?0:cr.text.length-1,co;for(var ci=b2?0:cq.length-2,ck=b2?cq.length:-2;ci!=ck;ci+=2*ce){var cp=cq[ci];if(cq[ci+1]!=null&&cq[ci+1]!=cc){cl+=ce*cp.length;continue}for(var ch=b2?0:cp.length-1,cg=b2?cp.length:-1;ch!=cg;ch+=ce,cl+=ce){if(cl>=cm&&cl<cn&&b8.test(co=cp.charAt(ch))){var cj=bR[co];if(cj.charAt(1)==">"==b2){bY.push(co)}else{if(bY.pop()!=cj.charAt(0)){return{pos:cl,match:false}}else{if(!bY.length){return{pos:cl,match:true}}}}}}}}for(var cb=bV.line,cd=b2?Math.min(cb+50,bK.length):Math.max(-1,cb-50);cb!=cd;cb+=ce){var b3=bK[cb],bZ=cb==bV.line;var b5=b6(b3,bZ&&b2?bW+1:0,bZ&&!b2?bW:b3.text.length);if(b5){var cc=b5.match?"CodeMirror-matchingbracket":"CodeMirror-nonmatchingbracket";var ca=Q({line:bV.line,ch:bW},{line:bV.line,ch:bW+1},cc),bX=Q({line:cb,ch:b5.pos},{line:cb,ch:b5.pos+1},cc);var b7=bL(function(){ca();bX()});if(b1){setTimeout(b7,800)}else{by=b7}break}}}function aY(b1){var b0,bX;for(var bW=b1,bY=b1-40;bW>bY;--bW){if(bW==0){return 0}var bV=bK[bW-1];if(bV.stateAfter){return bW}var bZ=bV.indentation();if(bX==null||b0>bZ){bX=bW;b0=bZ}}return bX}function aD(bZ){var bY=aY(bZ),bX=bY&&bK[bY-1].stateAfter;if(!bX){bX=y(bb)}else{bX=h(bb,bX)}for(var bW=bY;bW<bZ;++bW){var bV=bK[bW];bV.highlight(bb,bX);bV.stateAfter=h(bb,bX)}if(!bK[bZ].stateAfter){a3.push(bZ)}return bX}function a7(bZ,bW){var bY=aD(bZ);for(var bX=bZ;bX<bW;++bX){var bV=bK[bX];bV.highlight(bb,bY);bV.stateAfter=h(bb,bY)}}function a1(){var b0=+new Date+a9.workTime;var b4=a3.length;while(a3.length){if(!bK[bd].stateAfter){var bX=bd}else{var bX=a3.pop()}if(bX>=bK.length){continue}var bW=aY(bX),bV=bW&&bK[bW-1].stateAfter;if(bV){bV=h(bb,bV)}else{bV=y(bb)}var bZ=0;for(var b3=bW,bY=bK.length;b3<bY;++b3){var b5=bK[b3],b1=b5.stateAfter;if(+new Date>b0){a3.push(b3);bP(a9.workDelay);bI.push({from:bX,to:b3});return}var b2=b5.highlight(bb,bV);b5.stateAfter=h(bb,bV);if(b2||!b1){bZ=0}else{if(++bZ>3){break}}}bI.push({from:bX,to:b3})}if(b4&&a9.onHighlightComplete){a9.onHighlightComplete(bH)}}function bP(bV){if(!a3.length){return}an.set(bV,bL(a1))}function U(){bg=null;bI=[];aH=aj=false}function aI(){var bW=false;if(aj){bW=!aT()}if(bI.length){ab(bI)}else{if(aj){bA()}}if(bW){aT()}if(aj){M()}if(!bG&&(bg===true||(bg!==false&&aj))){az()}if(aj&&a9.matchBrackets){setTimeout(bL(function(){if(by){by();by=null}ap(false)}),20)}var bV=aH;if(aj&&a9.onCursorActivity){a9.onCursorActivity(bH)}if(bV&&a9.onChange&&bH){a9.onChange(bH,bV)}}var at=0;function bL(bV){return function(){if(!at++){U()}try{var bW=bV.apply(this,arguments)}finally{if(!--at){aI()}}return bW}}function av(bX,bZ,bW){this.atOccurrence=false;if(bW==null){bW=typeof bX=="string"&&bX==bX.toLowerCase()}if(bZ&&typeof bZ=="object"){bZ=af(bZ)}else{bZ={line:0,ch:0}}this.pos={from:bZ,to:bZ};if(typeof bX!="string"){this.matches=function(b2,b6){if(b2){var b0=bK[b6.line].text.slice(0,b6.ch),b1=b0.match(bX),b5=0;while(b1){var b3=b0.indexOf(b1[0]);b5+=b3;b0=b0.slice(b3+1);var b4=b0.match(bX);if(b4){b1=b4}else{break}b5++}}else{var b0=bK[b6.line].text.slice(b6.ch),b1=b0.match(bX),b5=b1&&b6.ch+b0.indexOf(b1[0])}if(b1){return{from:{line:b6.line,ch:b5},to:{line:b6.line,ch:b5+b1[0].length},match:b1}}}}else{if(bW){bX=bX.toLowerCase()}var bV=bW?function(b0){return b0.toLowerCase()}:function(b0){return b0};var bY=bX.split("\n");if(bY.length==1){this.matches=function(b3,b4){var b1=bV(bK[b4.line].text),b0=bX.length,b2;if(b3?(b4.ch>=b0&&(b2=b1.lastIndexOf(bX,b4.ch-b0))!=-1):(b2=b1.indexOf(bX,b4.ch))!=-1){return{from:{line:b4.line,ch:b2},to:{line:b4.line,ch:b2+b0}}}}}else{this.matches=function(b5,b7){var b6=b7.line,b8=(b5?bY.length-1:0),b3=bY[b8],b9=bV(bK[b6].text);var b4=(b5?b9.indexOf(b3)+b3.length:b9.lastIndexOf(b3));if(b5?b4>=b7.ch||b4!=b3.length:b4<=b7.ch||b4!=b9.length-b3.length){return}for(;;){if(b5?!b6:b6==bK.length-1){return}b9=bV(bK[b6+=b5?-1:1].text);b3=bY[b5?--b8:++b8];if(b8>0&&b8<bY.length-1){if(b9!=b3){return}else{continue}}var b2=(b5?b9.lastIndexOf(b3):b9.indexOf(b3)+b3.length);if(b5?b2!=b9.length-b3.length:b2!=b3.length){return}var b0={line:b7.line,ch:b4},b1={line:b6,ch:b2};return{from:b5?b1:b0,to:b5?b0:b1}}}}}}av.prototype={findNext:function(){return this.find(false)},findPrevious:function(){return this.find(true)},find:function(bW){var bV=this,bY=af(bW?this.pos.from:this.pos.to);function bX(bZ){var b0={line:bZ,ch:0};bV.pos={from:b0,to:b0};bV.atOccurrence=false;return false}for(;;){if(this.pos=this.matches(bW,bY)){this.atOccurrence=true;return this.pos.match||true}if(bW){if(!bY.line){return bX(0)}bY={line:bY.line-1,ch:bK[bY.line-1].text.length}}else{if(bY.line==bK.length-1){return bX(bK.length)}bY={line:bY.line+1,ch:0}}}},from:function(){if(this.atOccurrence){return B(this.pos.from)}},to:function(){if(this.atOccurrence){return B(this.pos.to)}}};for(var bp in C){if(C.propertyIsEnumerable(bp)&&!bH.propertyIsEnumerable(bp)){bH[bp]=C[bp]}}return bH}l.defaults={value:"",mode:null,theme:"default",indentUnit:2,indentWithTabs:false,tabMode:"classic",enterMode:"indent",electricChars:true,onKeyEvent:null,lineNumbers:false,gutter:false,firstLineNumber:1,readOnly:false,onChange:null,onCursorActivity:null,onGutterClick:null,onHighlightComplete:null,onFocus:null,onBlur:null,onScroll:null,matchBrackets:false,workTime:100,workDelay:200,undoDepth:40,tabindex:null,document:window.document};var I={},x={};l.defineMode=function(i,L){if(!l.defaults.mode&&i!="null"){l.defaults.mode=i}I[i]=L};l.defineMIME=function(L,i){x[L]=i};l.getMode=function(M,i){if(typeof i=="string"&&x.hasOwnProperty(i)){i=x[i]}if(typeof i=="string"){var O=i,L={}}else{if(i!=null){var O=i.name,L=i}}var N=I[O];if(!N){if(window.console){console.warn("No mode "+O+" found, falling back to plain text.")}return l.getMode(M,"text/plain")}return N(M,L||{})};l.listModes=function(){var L=[];for(var i in I){if(I.propertyIsEnumerable(i)){L.push(i)}}return L};l.listMIMEs=function(){var L=[];for(var i in x){if(x.propertyIsEnumerable(i)){L.push(i)}}return L};var C={};l.defineExtension=function(i,L){C[i]=L};l.fromTextArea=function(L,N){if(!N){N={}}N.value=L.value;if(!N.tabindex&&L.tabindex){N.tabindex=L.tabindex}function P(){L.value=i.getValue()}if(L.form){var O=j(L.form,"submit",P,true);if(typeof L.form.submit=="function"){var M=L.form.submit;function Q(){P();L.form.submit=M;L.form.submit();L.form.submit=Q}L.form.submit=Q}}L.style.display="none";var i=l(function(R){L.parentNode.insertBefore(R,L.nextSibling)},N);i.save=P;i.toTextArea=function(){P();L.parentNode.removeChild(i.getWrapperElement());L.style.display="";if(L.form){O();if(typeof L.form.submit=="function"){L.form.submit=M}}};return i};function h(N,i){if(i===true){return i}if(N.copyState){return N.copyState(i)}var M={};for(var O in i){var L=i[O];if(L instanceof Array){L=L.concat([])}M[O]=L}return M}l.startState=y;function y(M,L,i){return M.startState?M.startState(L,i):true}l.copyState=h;function a(i){this.pos=this.start=0;this.string=i}a.prototype={eol:function(){return this.pos>=this.string.length},sol:function(){return this.pos==0},peek:function(){return this.string.charAt(this.pos)},next:function(){if(this.pos<this.string.length){return this.string.charAt(this.pos++)}},eat:function(i){var M=this.string.charAt(this.pos);if(typeof i=="string"){var L=M==i}else{var L=M&&(i.test?i.test(M):i(M))}if(L){++this.pos;return M}},eatWhile:function(i){var L=this.start;while(this.eat(i)){}return this.pos>L},eatSpace:function(){var i=this.pos;while(/[\s\u00a0]/.test(this.string.charAt(this.pos))){++this.pos}return this.pos>i},skipToEnd:function(){this.pos=this.string.length},skipTo:function(i){var L=this.string.indexOf(i,this.pos);if(L>-1){this.pos=L;return true}},backUp:function(i){this.pos-=i},column:function(){return g(this.string,this.start)},indentation:function(){return g(this.string)},match:function(N,L,i){if(typeof N=="string"){function O(P){return i?P.toLowerCase():P}if(O(this.string).indexOf(O(N),this.pos)==this.pos){if(L!==false){this.pos+=N.length}return true}}else{var M=this.string.slice(this.pos).match(N);if(M&&L!==false){this.pos+=M[0].length}return M}},current:function(){return this.string.slice(this.start,this.pos)}};l.StringStream=a;function c(L,i){this.styles=i||[L,null];this.stateAfter=null;this.text=L;this.marked=this.gutterMarker=this.className=null}c.prototype={replace:function(Q,R,U){var V=[],O=this.marked;J(0,Q,this.styles,V);if(U){V.push(U,null)}J(R,this.text.length,this.styles,V);this.styles=V;this.text=this.text.slice(0,Q)+U+this.text.slice(R);this.stateAfter=null;if(O){var S=U.length-(R-Q),M=this.text.length;function P(i){return i<=Math.min(R,R+S)?i:i+S}for(var N=0;N<O.length;++N){var L=O[N],T=false;if(L.from>=M){T=true}else{L.from=P(L.from);if(L.to!=null){L.to=P(L.to)}}if(T||L.from>=L.to){O.splice(N,1);N--}}}},split:function(M,L){var i=[L,null];J(M,this.text.length,this.styles,i);return new c(L+this.text.slice(M),i)},addMark:function(O,N,L){var i=this.marked,M={from:O,to:N,style:L};if(this.marked==null){this.marked=[]}this.marked.push(M);this.marked.sort(function(Q,P){return Q.from-P.from});return M},removeMark:function(N){var L=this.marked;if(!L){return}for(var M=0;M<L.length;++M){if(L[M]==N){L.splice(M,1);break}}},highlight:function(P,L){var R=new a(this.text),T=this.styles,Q=0;var O=false,M=T[0],S;if(this.text==""&&P.blankLine){P.blankLine(L)}while(!R.eol()){var i=P.token(R,L);var N=this.text.slice(R.start,R.pos);R.start=R.pos;if(Q&&T[Q-1]==i){T[Q-2]+=N}else{if(N){if(!O&&(T[Q+1]!=i||(Q&&T[Q-2]!=S))){O=true}T[Q++]=N;T[Q++]=i;S=M;M=T[Q]}}if(R.pos>5000){T[Q++]=this.text.slice(R.pos);T[Q++]=null;break}}if(T.length!=Q){T.length=Q;O=true}if(Q&&T[Q-2]!=S){O=true}return O||(T.length<5&&this.text.length<10)},getTokenAt:function(P,N,M){var i=this.text,O=new a(i);while(O.pos<M&&!O.eol()){O.start=O.pos;var L=P.token(O,N)}return{start:O.start,end:O.pos,string:O.current(),className:L||null,state:N}},indentation:function(){return g(this.text)},getHTML:function(X,ab,O,Z){var R=[];if(O){R.push(this.className?'<pre class="'+this.className+'">':"<pre>")}function ac(ak,i){if(!ak){return}if(i){R.push('<span class="cm-',i,'">',u(ak),"</span>")}else{R.push(u(ak))}}var W=this.styles,P=this.text,V=this.marked;if(X==ab){X=null}var ae=P.length;if(Z!=null){ae=Math.min(Z,ae)}if(!P&&Z==null){ac(" ",X!=null&&ab==null?"CodeMirror-selected":null)}else{if(!V&&X==null){for(var ad=0,S=0;S<ae;ad+=2){var Y=W[ad],aa=Y.length;if(S+aa>ae){Y=Y.slice(0,ae-S)}S+=aa;ac(Y,W[ad+1])}}else{var N=0,ad=0,U="",af,ai=0;var ag=-1,Q=null;function ah(){if(V){ag+=1;Q=(ag<V.length)?V[ag]:null}}ah();while(N<ae){var T=ae;var aj="";if(X!=null){if(X>N){T=X}else{if(ab==null||ab>N){aj=" CodeMirror-selected";if(ab!=null){T=Math.min(T,ab)}}}}while(Q&&Q.to!=null&&Q.to<=N){ah()}if(Q){if(Q.from>N){T=Math.min(T,Q.from)}else{aj+=" "+Q.style;if(Q.to!=null){T=Math.min(T,Q.to)}}}for(;;){var M=N+U.length;var L=af;if(aj){L=af?af+aj:aj}ac(M>T?U.slice(0,T-N):U,L);if(M>=T){U=U.slice(T-N);N=T;break}N=M;U=W[ad++];af=W[ad++]}}if(X!=null&&ab==null){ac(" ","CodeMirror-selected")}}}if(O){R.push("</pre>")}return R.join("")}};function J(R,S,L,T){for(var P=0,Q=0,M=0;Q<S;P+=2){var N=L[P],O=Q+N.length;if(M==0){if(O>R){T.push(N.slice(R-Q,Math.min(N.length,S-Q)),L[P+1])}if(O>=R){M=1}}else{if(M==1){if(O>S){T.push(N.slice(0,S-Q),L[P+1])}else{T.push(N,L[P+1])}}}Q=O}}function f(){this.time=0;this.done=[];this.undone=[]}f.prototype={addChange:function(S,N,L){this.undone.length=0;var R=+new Date,P=this.done[this.done.length-1];if(R-this.time>400||!P||P.start>S+N||P.start+P.added<S-P.added+P.old.length){this.done.push({start:S,added:N,old:L})}else{var O=0;if(S<P.start){for(var M=P.start-S-1;M>=0;--M){P.old.unshift(L[M])}P.added+=P.start-S;P.start=S}else{if(P.start<S){O=S-P.start;N+=O}}for(var M=P.added-O,Q=L.length;M<Q;++M){P.old.push(L[M])}if(P.added<N){P.added=N}}this.time=R}};function D(){if(this.preventDefault){this.preventDefault();this.stopPropagation()}else{this.returnValue=false;this.cancelBubble=true}}function s(i){if(!i.stop){i.stop=D}return i}function v(i){this.e=i}v.prototype={stop:function(){D.call(this.e)},target:function(){return this.e.target||this.e.srcElement},button:function(){if(this.e.which){return this.e.which}else{if(this.e.button&1){return 1}else{if(this.e.button&2){return 3}else{if(this.e.button&4){return 2}}}}},pageX:function(){if(this.e.pageX!=null){return this.e.pageX}var i=this.target().ownerDocument;return this.e.clientX+i.body.scrollLeft+i.documentElement.scrollLeft},pageY:function(){if(this.e.pageY!=null){return this.e.pageY}var i=this.target().ownerDocument;return this.e.clientY+i.body.scrollTop+i.documentElement.scrollTop}};function j(N,M,L,i){function O(P){L(new v(P||window.event))}if(typeof N.addEventListener=="function"){N.addEventListener(M,O,false);if(i){return function(){N.removeEventListener(M,O,false)}}}else{N.attachEvent("on"+M,O);if(i){return function(){N.detachEvent("on"+M,O)}}}}function m(){this.id=null}m.prototype={set:function(i,L){clearTimeout(this.id);this.id=setTimeout(L,i)}};var w=(function(){var i=document.createElement("pre");i.innerHTML=" ";return !i.innerHTML})();var t=/gecko\/\d{7}/i.test(navigator.userAgent);var q=/MSIE \d/.test(navigator.userAgent);var e=/Apple Computer/.test(navigator.vendor);var d="\n";(function(){var i=document.createElement("textarea");i.value="foo\nbar";if(i.value.indexOf("\r")>-1){d="\r\n"}}());var o=8;var r=/Mac/.test(navigator.platform);var G={};for(var E=35;E<=40;++E){G[E]=G["c"+E]=true}function g(M,L){if(L==null){L=M.search(/[^\s\u00a0]/);if(L==-1){L=M.length}}for(var N=0,O=0;N<L;++N){if(M.charAt(N)=="\t"){O+=o-(O%o)}else{++O}}return O}function K(M,L){var P=M.ownerDocument.body;var i=0,R=0,O=false;for(var Q=M;Q;Q=Q.offsetParent){i+=Q.offsetLeft;R+=Q.offsetTop;if(Q==P){O=true}}var N=L&&O?null:P;for(var Q=M.parentNode;Q!=N;Q=Q.parentNode){if(Q.scrollLeft!=null){i-=Q.scrollLeft;R-=Q.scrollTop}}return{left:i,top:R}}function p(i){return i.textContent||i.innerText||i.nodeValue||""}function F(L,i){return L.line==i.line&&L.ch==i.ch}function A(L,i){return L.line<i.line||(L.line==i.line&&L.ch<i.ch)}function B(i){return{line:i.line,ch:i.ch}}function u(i){return i.replace(/[<>&]/g,function(L){return L=="&"?"&":L=="<"?"<":">"})}l.htmlEscape=u;function z(O,N){if(!N){return O?O.length:0}if(!O){return N.length}for(var M=O.length,L=N.length;M>=0&&L>=0;--M,--L){if(O.charAt(M)!=N.charAt(L)){break}}return L+1}function k(O,L){if(O.indexOf){return O.indexOf(L)}for(var M=0,N=O.length;M<N;++M){if(O[M]==L){return M}}return -1}if("\n\nb".split(/\n/).length!=3){var n=function(M){var N=0,L,i=[];while((L=M.indexOf("\n",N))>-1){i.push(M.slice(N,M.charAt(L-1)=="\r"?L-1:L));N=L+1}i.push(M.slice(N));return i}}else{var n=function(i){return i.split(/\r?\n/)}}l.splitLines=n;if(window.getSelection){var H=function(L){try{return{start:L.selectionStart,end:L.selectionEnd}}catch(i){return null}};if(e){var b=function(L,M,i){if(M==i){L.setSelectionRange(M,i)}else{L.setSelectionRange(M,i-1);window.getSelection().modify("extend","forward","character")}}}else{var b=function(M,N,i){try{M.setSelectionRange(N,i)}catch(L){}}}}else{var H=function(N){try{var R=N.ownerDocument.selection.createRange()}catch(T){return null}if(!R||R.parentElement()!=N){return null}var M=N.value,S=M.length,U=N.createTextRange();U.moveToBookmark(R.getBookmark());var P=N.createTextRange();P.collapse(false);if(U.compareEndPoints("StartToEnd",P)>-1){return{start:S,end:S}}var L=-U.moveStart("character",-S);for(var Q=M.indexOf("\r");Q>-1&&Q<L;Q=M.indexOf("\r",Q+1),L++){}if(U.compareEndPoints("EndToEnd",P)>-1){return{start:L,end:S}}var O=-U.moveEnd("character",-S);for(var Q=M.indexOf("\r");Q>-1&&Q<O;Q=M.indexOf("\r",Q+1),O++){}return{start:L,end:O}};var b=function(P,R,M){var N=P.createTextRange();N.collapse(true);var L=N.duplicate();var O=0,i=P.value;for(var Q=i.indexOf("\n");Q>-1&&Q<R;Q=i.indexOf("\n",Q+1)){++O}N.move("character",R-O);for(;Q>-1&&Q<M;Q=i.indexOf("\n",Q+1)){++O}L.move("character",M-O);N.setEndPoint("EndToEnd",L);N.select()}}l.defineMode("null",function(){return{token:function(i){i.skipToEnd()}}});l.defineMIME("text/plain","null");return l})();CodeMirror.defineMode("javascript",function(H,L){var v=H.indentUnit;var P=L.json;var b=function(){function V(Y){return{type:Y,style:"keyword"}}var S=V("keyword a"),X=V("keyword b"),W=V("keyword c");var T=V("operator"),U={type:"atom",style:"atom"};return{"if":S,"while":S,"with":S,"else":X,"do":X,"try":X,"finally":X,"return":W,"break":W,"continue":W,"new":W,"delete":W,"throw":W,"var":V("var"),"function":V("function"),"catch":V("catch"),"for":V("for"),"switch":V("switch"),"case":V("case"),"default":V("default"),"in":T,"typeof":T,"instanceof":T,"true":U,"false":U,"null":U,"undefined":U,"NaN":U,"Infinity":U}}();var M=/[+\-*&%=<>!?|]/;function Q(U,T,S){T.tokenize=S;return S(U,T)}function h(V,S){var U=false,T;while((T=V.next())!=null){if(T==S&&!U){return false}U=!U&&T=="\\"}return U}var R,p;function A(U,T,S){R=U;p=S;return T}function l(W,U){var S=W.next();if(S=='"'||S=="'"){return Q(W,U,z(S))}else{if(/[\[\]{}\(\),;\:\.]/.test(S)){return A(S)}else{if(S=="0"&&W.eat(/x/i)){W.eatWhile(/[\da-f]/i);return A("number","atom")}else{if(/\d/.test(S)){W.match(/^\d*(?:\.\d*)?(?:e[+\-]?\d+)?/);return A("number","atom")}else{if(S=="/"){if(W.eat("*")){return Q(W,U,f)}else{if(W.eat("/")){W.skipToEnd();return A("comment","comment")}else{if(U.reAllowed){h(W,"/");W.eatWhile(/[gimy]/);return A("regexp","string")}else{W.eatWhile(M);return A("operator",null,W.current())}}}}else{if(M.test(S)){W.eatWhile(M);return A("operator",null,W.current())}else{W.eatWhile(/[\w\$_]/);var V=W.current(),T=b.propertyIsEnumerable(V)&&b[V];return T?A(T.type,T.style,V):A("variable","variable",V)}}}}}}}function z(S){return function(U,T){if(!h(U,S)){T.tokenize=l}return A("string","string")}}function f(V,U){var S=false,T;while(T=V.next()){if(T=="/"&&S){U.tokenize=l;break}S=(T=="*")}return A("comment","comment")}var k={atom:true,number:true,variable:true,string:true,regexp:true};function t(X,T,S,W,U,V){this.indented=X;this.column=T;this.type=S;this.prev=U;this.info=V;if(W!=null){this.align=W}}function w(U,T){for(var S=U.localVars;S;S=S.next){if(S.name==T){return true}}}function D(W,T,S,V,X){var Y=W.cc;u.state=W;u.stream=X;u.marked=null,u.cc=Y;if(!W.lexical.hasOwnProperty("align")){W.lexical.align=true}while(true){var U=Y.length?Y.pop():P?x:y;if(U(S,V)){while(Y.length&&Y[Y.length-1].lex){Y.pop()()}if(u.marked){return u.marked}if(S=="variable"&&w(W,V)){return"variable-2"}return T}}}var u={state:null,column:null,marked:null,cc:null};function a(){for(var S=arguments.length-1;S>=0;S--){u.cc.push(arguments[S])}}function F(){a.apply(null,arguments);return true}function m(T){var U=u.state;if(U.context){u.marked="def";for(var S=U.localVars;S;S=S.next){if(S.name==T){return}}U.localVars={name:T,next:U.localVars}}}var C={name:"this",next:{name:"arguments"}};function s(){if(!u.state.context){u.state.localVars=C}u.state.context={prev:u.state.context,vars:u.state.localVars}}function r(){u.state.localVars=u.state.context.vars;u.state.context=u.state.context.prev}function j(T,U){var S=function(){var V=u.state;V.lexical=new t(V.indented,u.stream.column(),T,null,V.lexical,U)};S.lex=true;return S}function E(){var S=u.state;if(S.lexical.prev){if(S.lexical.type==")"){S.indented=S.lexical.indented}S.lexical=S.lexical.prev}}E.lex=true;function c(T){return function S(U){if(U==T){return F()}else{if(T==";"){return a()}else{return F(arguments.callee)}}}}function y(S){if(S=="var"){return F(j("vardef"),I,c(";"),E)}if(S=="keyword a"){return F(j("form"),x,y,E)}if(S=="keyword b"){return F(j("form"),y,E)}if(S=="{"){return F(j("}"),n,E)}if(S==";"){return F()}if(S=="function"){return F(i)}if(S=="for"){return F(j("form"),c("("),j(")"),g,c(")"),E,y,E)}if(S=="variable"){return F(j("stat"),B)}if(S=="switch"){return F(j("form"),x,j("}","switch"),c("{"),n,E,E)}if(S=="case"){return F(x,c(":"))}if(S=="default"){return F(c(":"))}if(S=="catch"){return F(j("form"),s,c("("),q,c(")"),y,E,r)}return a(j("stat"),x,c(";"),E)}function x(S){if(k.hasOwnProperty(S)){return F(K)}if(S=="function"){return F(i)}if(S=="keyword c"){return F(x)}if(S=="("){return F(j(")"),x,c(")"),E,K)}if(S=="operator"){return F(x)}if(S=="["){return F(j("]"),N(x,"]"),E,K)}if(S=="{"){return F(j("}"),N(o,"}"),E,K)}return F()}function K(S,T){if(S=="operator"&&/\+\+|--/.test(T)){return F(K)}if(S=="operator"){return F(x)}if(S==";"){return}if(S=="("){return F(j(")"),N(x,")"),E,K)}if(S=="."){return F(O,K)}if(S=="["){return F(j("]"),x,c("]"),E,K)}}function B(S){if(S==":"){return F(E,y)}return a(K,c(";"),E)}function O(S){if(S=="variable"){u.marked="property";return F()}}function o(S){if(S=="variable"){u.marked="property"}if(k.hasOwnProperty(S)){return F(c(":"),x)}}function N(U,S){function T(W){if(W==","){return F(U,T)}if(W==S){return F()}return F(c(S))}return function V(W){if(W==S){return F()}else{return a(U,T)}}}function n(S){if(S=="}"){return F()}return a(y,n)}function I(S,T){if(S=="variable"){m(T);return F(G)}return F()}function G(S,T){if(T=="="){return F(x,G)}if(S==","){return F(I)}}function g(S){if(S=="var"){return F(I,e)}if(S==";"){return a(e)}if(S=="variable"){return F(J)}return a(e)}function J(S,T){if(T=="in"){return F(x)}return F(K,e)}function e(S,T){if(S==";"){return F(d)}if(T=="in"){return F(x)}return F(x,c(";"),d)}function d(S){if(S!=")"){F(x)}}function i(S,T){if(S=="variable"){m(T);return F(i)}if(S=="("){return F(j(")"),s,N(q,")"),E,y,r)}}function q(S,T){if(S=="variable"){m(T);return F()}}return{startState:function(S){return{tokenize:l,reAllowed:true,cc:[],lexical:new t((S||0)-v,0,"block",false),localVars:null,context:null,indented:0}},token:function(U,T){if(U.sol()){if(!T.lexical.hasOwnProperty("align")){T.lexical.align=false}T.indented=U.indentation()}if(U.eatSpace()){return null}var S=T.tokenize(U,T);if(R=="comment"){return S}T.reAllowed=R=="operator"||R=="keyword c"||R.match(/^[\[{}\(,;:]$/);return D(T,S,R,p,U)},indent:function(X,S){if(X.tokenize!=l){return 0}var W=S&&S.charAt(0),U=X.lexical,V=U.type,T=W==V;if(V=="vardef"){return U.indented+4}else{if(V=="form"&&W=="{"){return U.indented}else{if(V=="stat"||V=="form"){return U.indented+v}else{if(U.info=="switch"&&!T){return U.indented+(/^(?:case|default)\b/.test(S)?v:2*v)}else{if(U.align){return U.column+(T?0:1)}else{return U.indented+(T?0:v)}}}}}},electricChars:":{}"}});CodeMirror.defineMIME("text/javascript","javascript");CodeMirror.defineMIME("application/json",{name:"javascript",json:true});Ext.define("Ext.AbstractPlugin",{disabled:false,constructor:function(b){if(!b.cmp&&Ext.global.console){Ext.global.console.warn("Attempted to attach a plugin ")}Ext.apply(this,b)},getCmp:function(){return this.cmp},init:Ext.emptyFn,destroy:Ext.emptyFn,enable:function(){this.disabled=false},disable:function(){this.disabled=true}});Ext.define("Docs.History",{singleton:true,init:function(){Ext.util.History.init(function(){this.historyLoaded=true;this.initialNavigate()},this);Ext.util.History.on("change",this.navigate,this)},notifyTabsLoaded:function(){this.tabsLoaded=true;this.initialNavigate()},initialNavigate:function(){if(this.tabsLoaded&&this.historyLoaded){this.navigate(Ext.util.History.getToken())}},navigate:function(c){if(this.noNavigate){this.noNavigate=false;return}var d=this.parseToken(c);if(d.url=="#!/api"){Docs.App.getController("Classes").loadIndex(true)}else{if(d.type==="api"){Docs.App.getController("Classes").loadClass(d.url,true)}else{if(d.url==="#!/guide"){Docs.App.getController("Guides").loadIndex(true)}else{if(d.type==="guide"){Docs.App.getController("Guides").loadGuide(d.url,true)}else{if(d.url==="#!/video"){Docs.App.getController("Videos").loadIndex(true)}else{if(d.type==="video"){Docs.App.getController("Videos").loadVideo(d.url,true)}else{if(d.url==="#!/example"){Docs.App.getController("Examples").loadIndex()}else{if(d.type==="example"){Docs.App.getController("Examples").loadExample(d.url,true)}else{if(Docs.App.getController("Welcome").isActive()){Docs.App.getController("Welcome").loadIndex(true)}else{if(!this.noRepeatNav){this.noRepeatNav=true;this.navigate(Ext.getCmp("doctabs").staticTabs[0].href)}}}}}}}}}}},parseToken:function(d){var c=d&&d.match(/!?(\/(api|guide|example|video)(\/(.*))?)/);return c?{type:c[2],url:"#!"+c[1]}:{}},push:function(d,c){d=this.cleanUrl(d);if(!/^#!?/.test(d)){d="#!"+d}if(c&&c.navigate){this.noNavigate=false}else{this.noNavigate=true}Ext.util.History.add(d)},cleanUrl:function(b){return b.replace(/^[^#]+#/,"#")}});Ext.define("Docs.ContentGrabber",{singleton:true,get:function(f){var e;var d=Ext.get(f);if(d){e=d.dom.innerHTML;d.remove()}return e}});Ext.define("Docs.view.examples.Device",{config:{url:"",id:undefined,device:"phone",orientation:"landscape"},constructor:function(b){Ext.apply(this,b);Ext.apply(this,this.getIframeSize());this.id=this.id||Ext.id();if(Ext.isWebKit){this.tpl=new Ext.XTemplate('<div class="touchExample {device} {orientation}">','<iframe id={id} style="width: {width}; height: {height}; border: 0;" ','src="{[this.deviceUrl(values)]}"></iframe>',"</div>",{deviceUrl:function(a){return a.url+"?deviceType="+(a.device==="tablet"?"Tablet":"Phone")}})}else{this.tpl=new Ext.XTemplate('<div class="touchExample {device} {orientation}">','<div id={id} class="wrong-browser" style="width: {width}; height: {height};">','<div style="padding: 20px;">Sencha Touch only functions on WebKit based browsers. <br /><br />Please use Google Chrome or Safari to see live examples.</div>',"</div>","</div>")}},toHtml:function(){return this.tpl.apply(this)},setDevice:function(b){this.device=b;Ext.apply(this,this.getIframeSize())},setOrientation:function(b){this.orientation=b;Ext.apply(this,this.getIframeSize())},getIframeSize:function(){var b={phone:{width:"481px",height:"320px"},miniphone:{width:"320px",height:"219px"},tablet:{width:"717px",height:"538px"}}[this.device];if(this.orientation==="landscape"){return b}else{return{width:b.height,height:b.width}}}});Ext.define("Ext.form.field.VTypes",(function(){var h=/^[a-zA-Z_]+$/,g=/^[a-zA-Z0-9_]+$/,e=/^(\w+)([\-+.][\w]+)*@(\w[\-\w]*\.){1,5}([A-Za-z]){2,6}$/,f=/(((^https?)|(^ftp)):\/\/([\-\w]+\.)+\w{2,3}(\/[%\-\w]+(\.\w{2,})?)*(([\w\-\.\?\\\/+@&#;`~=%!]*)(\.\w{2,})?)*\/?)/i;return{singleton:true,alternateClassName:"Ext.form.VTypes",email:function(a){return e.test(a)},emailText:'This field should be an e-mail address in the format "user@example.com"',emailMask:/[a-z0-9_\.\-@\+]/i,url:function(a){return f.test(a)},urlText:'This field should be a URL in the format "http://www.example.com"',alpha:function(a){return h.test(a)},alphaText:"This field should only contain letters and _",alphaMask:/[a-z_]/i,alphanum:function(a){return g.test(a)},alphanumText:"This field should only contain letters, numbers and _",alphanumMask:/[a-z0-9_]/i}})());Ext.define("Ext.util.Observable",{requires:["Ext.util.Event"],statics:{releaseCapture:function(b){b.fireEvent=this.prototype.fireEvent},capture:function(f,d,e){f.fireEvent=Ext.Function.createInterceptor(f.fireEvent,d,e)},observe:function(d,c){if(d){if(!d.isObservable){Ext.applyIf(d,new this());this.capture(d.prototype,d.fireEvent,d)}if(Ext.isObject(c)){d.on(c)}return d}}},isObservable:true,constructor:function(d){var c=this;Ext.apply(c,d);if(c.listeners){c.on(c.listeners);delete c.listeners}c.events=c.events||{};if(c.bubbleEvents){c.enableBubble(c.bubbleEvents)}},eventOptionsRe:/^(?:scope|delay|buffer|single|stopEvent|preventDefault|stopPropagation|normalized|args|delegate|element|vertical|horizontal|freezeEvent)$/,addManagedListener:function(k,o,m,n,p){var l=this,j=l.managedListeners=l.managedListeners||[],i;if(typeof o!=="string"){p=o;for(o in p){if(p.hasOwnProperty(o)){i=p[o];if(!l.eventOptionsRe.test(o)){l.addManagedListener(k,o,i.fn||i,i.scope||p.scope,i.fn?i:p)}}}}else{j.push({item:k,ename:o,fn:m,scope:n,options:p});k.on(o,m,n,p)}},removeManagedListener:function(m,r,o,l){var p=this,i,s,n,t,q;if(typeof r!=="string"){i=r;for(r in i){if(i.hasOwnProperty(r)){s=i[r];if(!p.eventOptionsRe.test(r)){p.removeManagedListener(m,r,s.fn||s,s.scope||i.scope)}}}}n=p.managedListeners?p.managedListeners.slice():[];for(q=0,t=n.length;q<t;q++){p.removeManagedListenerItem(false,n[q],m,r,o,l)}},fireEvent:function(f){var j=f.toLowerCase(),i=this.events,h=i&&i[j],g=h&&h.bubble;return this.continueFireEvent(j,Ext.Array.slice(arguments,1),g)},continueFireEvent:function(n,l,h){var j=this,i,k,m=true;do{if(j.eventsSuspended===true){if((i=j.eventQueue)){i.push([n,l,h])}return m}else{k=j.events[n];if(k&&k!=true){if((m=k.fire.apply(k,l))===false){break}}}}while(h&&(j=j.getBubbleParent()));return m},getBubbleParent:function(){var c=this,d=c.getBubbleTarget&&c.getBubbleTarget();if(d&&d.isObservable){return d}return null},addListener:function(n,l,m,h){var j=this,i,k;if(typeof n!=="string"){h=n;for(n in h){if(h.hasOwnProperty(n)){i=h[n];if(!j.eventOptionsRe.test(n)){j.addListener(n,i.fn||i,i.scope||h.scope,i.fn?i:h)}}}}else{n=n.toLowerCase();j.events[n]=j.events[n]||true;k=j.events[n]||true;if(Ext.isBoolean(k)){j.events[n]=k=new Ext.util.Event(j,n)}k.addListener(l,m,Ext.isObject(h)?h:{})}},removeListener:function(n,l,m){var j=this,h,k,i;if(typeof n!=="string"){i=n;for(n in i){if(i.hasOwnProperty(n)){h=i[n];if(!j.eventOptionsRe.test(n)){j.removeListener(n,h.fn||h,h.scope||i.scope)}}}}else{n=n.toLowerCase();k=j.events[n];if(k&&k.isEvent){k.removeListener(l,m)}}},clearListeners:function(){var d=this.events,f,e;for(e in d){if(d.hasOwnProperty(e)){f=d[e];if(f.isEvent){f.clearListeners()}}}this.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 d=this.managedListeners||[],f=0,e=d.length;for(;f<e;f++){this.removeManagedListenerItem(true,d[f])}this.managedListeners=[]},removeManagedListenerItem:function(g,h,i,l,j,k){if(g||(h.item===i&&h.ename===l&&(!j||h.fn===j)&&(!k||h.scope===k))){h.item.un(h.ename,h.fn,h.scope);if(!g){Ext.Array.remove(this.managedListeners,h)}}},purgeManagedListeners:function(){if(Ext.global.console){Ext.global.console.warn("Observable: purgeManagedListeners has been deprecated. Please use clearManagedListeners.")}return this.clearManagedListeners.apply(this,arguments)},addEvents:function(h){var i=this,f,g,j;i.events=i.events||{};if(Ext.isString(h)){f=arguments;j=f.length;while(j--){i.events[f[j]]=i.events[f[j]]||true}}else{Ext.applyIf(i.events,h)}},hasListener:function(d){var c=this.events[d.toLowerCase()];return c&&c.isEvent===true&&c.listeners.length>0},suspendEvents:function(b){this.eventsSuspended=true;if(b&&!this.eventQueue){this.eventQueue=[]}},resumeEvents:function(){var d=this,c=d.eventQueue;d.eventsSuspended=false;delete d.eventQueue;if(c){Ext.each(c,function(a){d.continueFireEvent.apply(d,a)})}},relayEvents:function(p,n,k){k=k||"";var l=this,j=n.length,o=0,m,i;for(;o<j;o++){m=n[o].substr(k.length);i=k+m;l.events[i]=l.events[i]||true;p.on(m,l.createRelayer(i))}},createRelayer:function(d){var c=this;return function(){return c.fireEvent.apply(c,[d].concat(Array.prototype.slice.call(arguments,0,-1)))}},enableBubble:function(d){var c=this;if(!Ext.isEmpty(d)){d=Ext.isArray(d)?d:Ext.Array.toArray(arguments);Ext.each(d,function(b){b=b.toLowerCase();var a=c.events[b]||true;if(Ext.isBoolean(a)){a=new Ext.util.Event(c,b);c.events[b]=a}a.bubble=true})}}},function(){this.createAlias({on:"addListener",un:"removeListener",mon:"addManagedListener",mun:"removeManagedListener"});this.observeClass=this.observe;Ext.apply(Ext.util.Observable.prototype,function(){function b(e){var j=(this.methodEvents=this.methodEvents||{})[e],m,n,l,k=this;if(!j){this.methodEvents[e]=j={};j.originalFn=this[e];j.methodName=e;j.before=[];j.after=[];var a=function(c,d,f){if((n=c.apply(d||k,f))!==undefined){if(typeof n=="object"){if(n.returnValue!==undefined){m=n.returnValue}else{m=n}l=!!n.cancel}else{if(n===false){l=true}else{m=n}}}};this[e]=function(){var d=Array.prototype.slice.call(arguments,0),f,c,g;m=n=undefined;l=false;for(c=0,g=j.before.length;c<g;c++){f=j.before[c];a(f.fn,f.scope,d);if(l){return m}}if((n=j.originalFn.apply(k,d))!==undefined){m=n}for(c=0,g=j.after.length;c<g;c++){f=j.after[c];a(f.fn,f.scope,d);if(l){return m}}return m}}return j}return{beforeMethod:function(e,f,a){b.call(this,e).before.push({fn:f,scope:a})},afterMethod:function(e,f,a){b.call(this,e).after.push({fn:f,scope:a})},removeMethodListener:function(e,j,k){var i=this.getMethodEvent(e),l,a;for(l=0,a=i.before.length;l<a;l++){if(i.before[l].fn==j&&i.before[l].scope==k){Ext.Array.erase(i.before,l,1);return}}for(l=0,a=i.after.length;l<a;l++){if(i.after[l].fn==j&&i.after[l].scope==k){Ext.Array.erase(i.after,l,1);return}}},toggleEventLogging:function(a){Ext.util.Observable[a?"capture":"releaseCapture"](this,function(d){if(Ext.isDefined(Ext.global.console)){Ext.global.console.log(d,arguments)}})}}}())});Ext.define("Ext.util.KeyMap",{alternateClassName:"Ext.KeyMap",constructor:function(e,g,f){var h=this;Ext.apply(h,{el:Ext.get(e),eventName:f||h.eventName,bindings:[]});if(g){h.addBinding(g)}h.enable()},eventName:"keydown",addBinding:function(l){if(Ext.isArray(l)){Ext.each(l,this.addBinding,this);return}var m=l.key,k=false,o,n,i,p,j;if(Ext.isString(m)){n=[];i=m.toUpperCase();for(p=0,j=i.length;p<j;++p){n.push(i.charCodeAt(p))}m=n;k=true}if(!Ext.isArray(m)){m=[m]}if(!k){for(p=0,j=m.length;p<j;++p){o=m[p];if(Ext.isString(o)){m[p]=o.toUpperCase().charCodeAt(0)}}}this.bindings.push(Ext.apply({keyCode:m},l))},handleKeyDown:function(h){if(this.enabled){var g=this.bindings,e=0,f=g.length;h=this.processEvent(h);for(;e<f;++e){this.processBinding(g[e],h)}}},processEvent:function(b){return b},processBinding:function(o,t){if(this.checkModifiers(o,t)){var n=t.getKey(),l=o.fn||o.handler,i=o.scope||this,m=o.keyCode,s=o.defaultEventAction,r,p,q=new Ext.EventObjectImpl(t);for(r=0,p=m.length;r<p;++r){if(n===m[r]){if(l.call(i,n,t)!==true&&s){q[s]()}break}}}},checkModifiers:function(j,l){var m=["shift","ctrl","alt"],n=0,i=m.length,k,e;for(;n<i;++n){e=m[n];k=j[e];if(!(k===undefined||(k===l[e+"Key"]))){return false}}return true},on:function(h,m,n){var j,i,l,k;if(Ext.isObject(h)&&!Ext.isArray(h)){j=h.key;i=h.shift;l=h.ctrl;k=h.alt}else{j=h}this.addBinding({key:j,shift:i,ctrl:l,alt:k,fn:m,scope:n})},isEnabled:function(){return this.enabled},enable:function(){var b=this;if(!b.enabled){b.el.on(b.eventName,b.handleKeyDown,b);b.enabled=true}},disable:function(){var b=this;if(b.enabled){b.el.removeListener(b.eventName,b.handleKeyDown,b);b.enabled=false}},setDisabled:function(b){if(b){this.disable()}else{this.enable()}},destroy:function(c){var d=this;d.bindings=[];d.disable();if(c===true){d.el.remove()}delete d.el}});Ext.define("Ext.util.Memento",function(){function i(b,c,a){b[a]=c[a]}function j(b,c,a){delete b[a]}function h(b,c,a){var d=b[a];if(d||b.hasOwnProperty(a)){g(c,a,d)}}function g(b,a,c){if(Ext.isDefined(c)){b[a]=c}else{delete b[a]}}function f(d,a,b,c){if(a){if(Ext.isArray(c)){Ext.each(c,function(e){d(a,b,e)})}else{d(a,b,c)}}}return{data:null,target:null,constructor:function(a,b){if(a){this.target=a;if(b){this.capture(b)}}},capture:function(b,a){f(i,this.data||(this.data={}),a||this.target,b)},remove:function(a){f(j,this.data,null,a)},restore:function(b,c,a){f(h,this.data,a||this.target,b);if(c!==false){this.remove(b)}},restoreAll:function(d,a){var b=this,c=a||this.target;Ext.Object.each(b.data,function(e,l){g(c,e,l)});if(d!==false){delete b.data}}}}());Ext.define("Ext.util.KeyNav",{alternateClassName:"Ext.KeyNav",requires:["Ext.util.KeyMap"],statics:{keyOptions:{left:37,right:39,up:38,down:40,space:32,pageUp:33,pageDown:34,del:46,backspace:8,home:36,end:35,enter:13,esc:27,tab:9}},constructor:function(c,d){this.setConfig(c,d||{})},setConfig:function(k,h){if(this.map){this.map.destroy()}var i=Ext.create("Ext.util.KeyMap",k,null,this.getKeyEvent("forceKeyDown" in h?h.forceKeyDown:this.forceKeyDown)),j=Ext.util.KeyNav.keyOptions,l=h.scope||this,g;this.map=i;for(g in j){if(j.hasOwnProperty(g)){if(h[g]){i.addBinding({scope:l,key:j[g],handler:Ext.Function.bind(this.handleEvent,l,[h[g]],true),defaultEventAction:h.defaultEventAction||this.defaultEventAction})}}}i.disable();if(!h.disabled){i.enable()}},handleEvent:function(f,d,e){return e.call(this,d)},disabled:false,defaultEventAction:"stopEvent",forceKeyDown:false,destroy:function(b){this.map.destroy(b);delete this.map},enable:function(){this.map.enable();this.disabled=false},disable:function(){this.map.disable();this.disabled=true},setDisabled:function(b){this.map.setDisabled(b);this.disabled=b},getKeyEvent:function(b){return(b||Ext.EventManager.useKeyDown)?"keydown":"keypress"}});Ext.define("Ext.fx.CubicBezier",{singleton:true,cubicBezierAtTime:function(q,A,C,r,s,w){var v=3*A,t=3*(r-A)-v,D=1-v-t,x=3*C,u=3*(s-C)-x,p=1-x-u;function y(a){return((D*a+t)*a+v)*a}function B(c,a){var b=z(c,a);return((p*b+u)*b+x)*b}function z(h,a){var b,c,e,g,d,f;for(e=h,f=0;f<8;f++){g=y(e)-h;if(Math.abs(g)<a){return e}d=(3*D*e+2*t)*e+v;if(Math.abs(d)<0.000001){break}e=e-g/d}b=0;c=1;e=h;if(e<b){return b}if(e>c){return c}while(b<c){g=y(e);if(Math.abs(g-h)<a){return e}if(h>g){b=e}else{c=e}e=(c-b)/2+b}return e}return B(q,1/(200*w))},cubicBezier:function(f,h,g,j){var i=function(a){return Ext.fx.CubicBezier.cubicBezierAtTime(a,f,h,g,j,1)};i.toCSS3=function(){return"cubic-bezier("+[f,h,g,j].join(",")+")"};i.reverse=function(){return Ext.fx.CubicBezier.cubicBezier(1-g,1-j,1-f,1-h)};return i}});Ext.define("Ext.data.Operation",{synchronous:true,action:undefined,filters:undefined,sorters:undefined,group:undefined,start:undefined,limit:undefined,batch:undefined,callback:undefined,scope:undefined,started:false,running:false,complete:false,success:undefined,exception:false,error:undefined,actionCommitRecordsRe:/^(?:create|update)$/i,actionSkipSyncRe:/^destroy$/i,constructor:function(b){Ext.apply(this,b||{})},commitRecords:function(h){var k=this,j,n,m,l,i;if(!k.actionSkipSyncRe.test(k.action)){m=k.records;if(m&&m.length){j=Ext.create("Ext.util.MixedCollection",true,function(a){return a.getId()});j.addAll(m);for(n=h?h.length:0;n--;){l=h[n];i=j.get(l.getId());if(i){i.beginEdit();i.set(l.data);i.endEdit(true)}}if(k.actionCommitRecordsRe.test(k.action)){for(n=m.length;n--;){m[n].commit()}}}}},setStarted:function(){this.started=true;this.running=true},setCompleted:function(){this.complete=true;this.running=false},setSuccessful:function(){this.success=true},setException:function(b){this.exception=true;this.success=false;this.running=false;this.error=b},hasException:function(){return this.exception===true},getError:function(){return this.error},getRecords:function(){var b=this.getResultSet();return(b===undefined?this.records:b.records)},getResultSet:function(){return this.resultSet},isStarted:function(){return this.started===true},isRunning:function(){return this.running===true},isComplete:function(){return this.complete===true},wasSuccessful:function(){return this.isComplete()&&this.success===true},setBatch:function(b){this.batch=b},allowWrite:function(){return this.action!="read"}});Ext.define("Ext.util.Filter",{anyMatch:false,exactMatch:false,caseSensitive:false,constructor:function(d){var c=this;Ext.apply(c,d);c.filter=c.filter||c.filterFn;if(c.filter===undefined){if(c.property===undefined||c.value===undefined){}else{c.filter=c.createFilterFn()}c.filterFn=c.filter}},createFilterFn:function(){var e=this,f=e.createValueMatcher(),d=e.property;return function(b){var a=e.getRoot.call(e,b)[d];return f===null?a===null:f.test(a)}},getRoot:function(c){var d=this.root;return d===undefined?c:c[d]},createValueMatcher:function(){var k=this,j=k.value,i=k.anyMatch,l=k.exactMatch,h=k.caseSensitive,g=Ext.String.escapeRegex;if(j===null){return j}if(!j.exec){j=String(j);if(i===true){j=g(j)}else{j="^"+g(j);if(l===true){j+="$"}}j=new RegExp(j,h?"":"i")}return j}});Ext.define("Ext.util.Floating",{uses:["Ext.Layer","Ext.window.Window"],focusOnToFront:true,shadow:"sides",constructor:function(d){var c=this;c.floating=true;c.el=Ext.create("Ext.Layer",Ext.apply({},d,{hideMode:c.hideMode,hidden:c.hidden,shadow:Ext.isDefined(c.shadow)?c.shadow:"sides",shadowOffset:c.shadowOffset,constrain:false,shim:c.shim===false?false:undefined}),c.el)},onFloatRender:function(){var b=this;b.zIndexParent=b.getZIndexParent();b.setFloatParent(b.ownerCt);delete b.ownerCt;if(b.zIndexParent){b.zIndexParent.registerFloatingItem(b)}else{Ext.WindowManager.register(b)}},setFloatParent:function(c){var d=this;if(d.floatParent){d.mun(d.floatParent,{hide:d.onFloatParentHide,show:d.onFloatParentShow,scope:d})}d.floatParent=c;if(c){d.mon(d.floatParent,{hide:d.onFloatParentHide,show:d.onFloatParentShow,scope:d})}if((d.constrain||d.constrainHeader)&&!d.constrainTo){d.constrainTo=c?c.getTargetEl():d.container}},onFloatParentHide:function(){var b=this;if(b.hideOnParentHide!==false){b.showOnParentShow=b.isVisible();b.hide()}},onFloatParentShow:function(){if(this.showOnParentShow){delete this.showOnParentShow;this.show()}},getZIndexParent:function(){var d=this.ownerCt,c;if(d){while(d){c=d;d=d.ownerCt}if(c.floating){return c}}},setZIndex:function(d){var c=this;c.el.setZIndex(d);d+=10;if(c.floatingItems){d=Math.floor(c.floatingItems.setBase(d)/100)*100+10000}return d},doConstrain:function(e){var h=this,f=h.getConstrainVector(e||h.el.getScopeParent()),g;if(f){g=h.getPosition();g[0]+=f[0];g[1]+=f[1];h.setPosition(g)}},getConstrainVector:function(d){var f=this,e;if(f.constrain||f.constrainHeader){e=f.constrainHeader?f.header.el:f.el;d=d||(f.floatParent&&f.floatParent.getTargetEl())||f.container;return e.getConstrainVector(d)}},alignTo:function(e,f,h){if(e.isComponent){e=e.getEl()}var g=this.el.getAlignToXY(e,f,h);this.setPagePosition(g);return this},toFront:function(c){var d=this;if(d.zIndexParent){d.zIndexParent.toFront(true)}if(d.zIndexManager.bringToFront(d)){if(!Ext.isDefined(c)){c=!d.focusOnToFront}if(!c){d.focus(false,true)}}return d},setActive:function(d,f){var e=this;if(d){if(e.el.shadow&&!e.maximized){e.el.enableShadow(true)}e.fireEvent("activate",e)}else{if((e instanceof Ext.window.Window)&&(f instanceof Ext.window.Window)){e.el.disableShadow()}e.fireEvent("deactivate",e)}},toBack:function(){this.zIndexManager.sendToBack(this);return this},center:function(){var d=this,c=d.el.getAlignToXY(d.container,"c-c");d.setPagePosition(c);return d},syncShadow:function(){if(this.floating){this.el.sync(true)}},fitContainer:function(){var f=this.floatParent,e=f?f.getTargetEl():this.container,d=e.getViewSize(false);this.setSize(d)}});Ext.define("Ext.app.Controller",{mixins:{observable:"Ext.util.Observable"},onClassExtended:function(k,p){var l=Ext.getClassName(k),o=l.match(/^(.*)\.controller\./);if(o!==null){var r=Ext.Loader.getPrefix(l)||o[1],m=p.onBeforeClassCreated,j=[],q=["model","view","store"],n;p.onBeforeClassCreated=function(i,f){var e,c,h,b,g,d,a;for(e=0,c=q.length;e<c;e++){h=q[e];b=Ext.Array.from(f[h+"s"]);for(g=0,d=b.length;g<d;g++){a=b[g];n=Ext.Loader.getPrefix(a);if(n===""||n===a){j.push(r+"."+h+"."+a)}else{j.push(a)}}}Ext.require(j,Ext.Function.pass(m,arguments,this))}}},constructor:function(b){this.mixins.observable.constructor.call(this,b);Ext.apply(this,b||{});this.createGetters("model",this.models);this.createGetters("store",this.stores);this.createGetters("view",this.views);if(this.refs){this.ref(this.refs)}},init:function(b){},onLaunch:function(b){},createGetters:function(c,d){c=Ext.String.capitalize(c);Ext.Array.each(d,function(b){var f="get",a=b.split(".");Ext.Array.each(a,function(e){f+=Ext.String.capitalize(e)});f+=c;if(!this[f]){this[f]=Ext.Function.pass(this["get"+c],[b],this)}this[f](b)},this)},ref:function(d){var c=this;d=Ext.Array.from(d);Ext.Array.each(d,function(a){var b=a.ref,f="get"+Ext.String.capitalize(b);if(!c[f]){c[f]=Ext.Function.pass(c.getRef,[b,a],c)}})},getRef:function(j,i,g){this.refCache=this.refCache||{};i=i||{};g=g||{};Ext.apply(i,g);if(i.forceCreate){return Ext.ComponentManager.create(i,"component")}var k=this,h=i.selector,l=k.refCache[j];if(!l){k.refCache[j]=l=Ext.ComponentQuery.query(i.selector)[0];if(!l&&i.autoCreate){k.refCache[j]=l=Ext.ComponentManager.create(i,"component")}if(l){l.on("beforedestroy",function(){k.refCache[j]=null})}}return l},control:function(d,c){this.application.control(d,c,this)},getController:function(b){return this.application.getController(b)},getStore:function(b){return this.application.getStore(b)},getModel:function(b){return this.application.getModel(b)},getView:function(b){return this.application.getView(b)}});Ext.define("Ext.app.EventBus",{requires:["Ext.util.Event"],mixins:{observable:"Ext.util.Observable"},constructor:function(){this.mixins.observable.constructor.call(this);this.bus={};var b=this;Ext.override(Ext.Component,{fireEvent:function(a){if(Ext.util.Observable.prototype.fireEvent.apply(this,arguments)!==false){return b.dispatch.call(b,a,this,arguments)}return false}})},dispatch:function(o,s,p){var r=this.bus,n=r[o],u,v,w,i,x,t,q;if(n){for(u in n){if(s.is(u)){v=n[u];for(w in v){i=v[w];for(t=0,q=i.length;t<q;t++){x=i[t];if(x.fire.apply(x,Array.prototype.slice.call(p,1))===false){return false}}}}}}},control:function(k,i,l){var g=this.bus,h,j;if(Ext.isString(k)){h=k;k={};k[h]=i;this.control(k,null,l);return}Ext.Object.each(k,function(b,a){Ext.Object.each(a,function(d,c){var n={},f=l,e=Ext.create("Ext.util.Event",l,d);if(Ext.isObject(c)){n=c;c=n.fn;f=n.scope||l;delete n.fn;delete n.scope}e.addListener(c,f,n);g[d]=g[d]||{};g[d][b]=g[d][b]||{};g[d][b][l.id]=g[d][b][l.id]||[];g[d][b][l.id].push(e)})})}});Ext.define("Docs.LocalStore",{storeName:"",init:function(){this.localStorage=("localStorage" in window&&window.localStorage!==null);this.store=Ext.getStore(this.storeName);if(this.localStorage){this.cleanup();this.store.load();if(window.addEventListener){window.addEventListener("storage",Ext.Function.bind(this.onStorageChange,this),false)}else{window.attachEvent("onstorage",Ext.Function.bind(this.onStorageChange,this))}}},onStorageChange:function(b){b=b||window.event;if(b.key===this.store.getProxy().id){this.store.load()}},syncStore:function(){this.localStorage&&this.store.sync()},cleanup:function(){var f=/-settings/;for(var d=0;d<window.localStorage.length;d++){var e=window.localStorage.key(d);if(!f.test(e)){window.localStorage.removeItem(e)}}}});Ext.define("Docs.Syntax",{singleton:true,highlight:function(b){Ext.Array.forEach(Ext.query("pre > code",b.dom||b),function(a){a=Ext.get(a);var d=a.parent();if(Ext.isIE&&d.hasCls("inline-example")){d.removeCls("inline-example")}if(!d.hasCls("inline-example")){a.addCls("prettyprint")}});prettyPrint()}});Ext.define("Ext.form.field.Field",{isFormField:true,disabled:false,submitValue:true,validateOnChange:true,suspendCheckChange:0,initField:function(){this.addEvents("change","validitychange","dirtychange");this.initValue()},initValue:function(){var b=this;b.originalValue=b.lastValue=b.value;b.suspendCheckChange++;b.setValue(b.value);b.suspendCheckChange--},getName:function(){return this.name},getValue:function(){return this.value},setValue:function(c){var d=this;d.value=c;d.checkChange();return d},isEqual:function(c,d){return String(c)===String(d)},isEqualAsString:function(c,d){return String(Ext.value(c,""))===String(Ext.value(d,""))},getSubmitData:function(){var d=this,c=null;if(!d.disabled&&d.submitValue&&!d.isFileUpload()){c={};c[d.getName()]=""+d.getValue()}return c},getModelData:function(){var d=this,c=null;if(!d.disabled&&!d.isFileUpload()){c={};c[d.getName()]=d.getValue()}return c},reset:function(){var b=this;b.setValue(b.originalValue);b.clearInvalid();delete b.wasValid},resetOriginalValue:function(){this.originalValue=this.getValue();this.checkDirty()},checkChange:function(){if(!this.suspendCheckChange){var f=this,d=f.getValue(),e=f.lastValue;if(!f.isEqual(d,e)&&!f.isDestroyed){f.lastValue=d;f.fireEvent("change",f,d,e);f.onChange(d,e)}}},onChange:function(c,d){if(this.validateOnChange){this.validate()}this.checkDirty()},isDirty:function(){var b=this;return !b.disabled&&!b.isEqual(b.getValue(),b.originalValue)},checkDirty:function(){var d=this,c=d.isDirty();if(c!==d.wasDirty){d.fireEvent("dirtychange",d,c);d.onDirtyChange(c);d.wasDirty=c}},onDirtyChange:Ext.emptyFn,getErrors:function(b){return[]},isValid:function(){var b=this;return b.disabled||Ext.isEmpty(b.getErrors())},validate:function(){var d=this,c=d.isValid();if(c!==d.wasValid){d.wasValid=c;d.fireEvent("validitychange",d,c)}return c},batchChanges:function(d){try{this.suspendCheckChange++;d()}catch(c){throw c}finally{this.suspendCheckChange--}this.checkChange()},isFileUpload:function(){return false},extractFileInput:function(){return null},markInvalid:Ext.emptyFn,clearInvalid:Ext.emptyFn});Ext.define("Ext.util.TextMetrics",{statics:{shared:null,measure:function(g,i,h){var f=this,j=f.shared;if(!j){j=f.shared=new f(g,h)}j.bind(g);j.setFixedWidth(h||"auto");return j.getSize(i)},destroy:function(){var b=this;Ext.destroy(b.shared);b.shared=null}},constructor:function(e,f){var d=this.measure=Ext.getBody().createChild({cls:"x-textmetrics"});this.el=Ext.get(e);d.position("absolute");d.setLeftTop(-1000,-1000);d.hide();if(f){d.setWidth(f)}},getSize:function(f){var d=this.measure,e;d.update(f);e=d.getSize();d.update("");return e},bind:function(d){var c=this;c.el=Ext.get(d);c.measure.setStyle(c.el.getStyles("font-size","font-style","font-weight","font-family","line-height","text-transform","letter-spacing"))},setFixedWidth:function(b){this.measure.setWidth(b)},getWidth:function(b){this.measure.dom.style.width="auto";return this.getSize(b).width},getHeight:function(b){return this.getSize(b).height},destroy:function(){var b=this;b.measure.remove();delete b.el;delete b.measure}},function(){Ext.Element.addMethods({getTextWidth:function(f,d,e){return Ext.Number.constrain(Ext.util.TextMetrics.measure(this.dom,Ext.value(f,this.dom.innerHTML,true)).width,d||0,e||1000000)}})});Ext.define("Ext.panel.Proxy",{alternateClassName:"Ext.dd.PanelProxy",constructor:function(d,c){this.panel=d;this.id=this.panel.id+"-ddproxy";Ext.apply(this,c)},insertProxy:true,setStatus:Ext.emptyFn,reset:Ext.emptyFn,update:Ext.emptyFn,stop:Ext.emptyFn,sync:Ext.emptyFn,getEl:function(){return this.ghost.el},getGhost:function(){return this.ghost},getProxy:function(){return this.proxy},hide:function(){if(this.ghost){if(this.proxy){this.proxy.remove();delete this.proxy}this.panel.unghost(null,false);delete this.ghost}},show:function(){if(!this.ghost){var b=this.panel.getSize();this.panel.el.setVisibilityMode(Ext.Element.DISPLAY);this.ghost=this.panel.ghost();if(this.insertProxy){this.proxy=this.panel.el.insertSibling({cls:Ext.baseCSSPrefix+"panel-dd-spacer"});this.proxy.setSize(b)}}},repair:function(d,f,e){this.hide();if(typeof f=="function"){f.call(e||this)}},moveProxy:function(d,c){if(this.proxy){d.insertBefore(this.proxy.dom,c)}}});Ext.define("Ext.Template",{requires:["Ext.DomHelper","Ext.util.Format"],inheritableStatics:{from:function(c,d){c=Ext.getDom(c);return new this(c.value||c.innerHTML,d||"")}},constructor:function(m){var k=this,h=arguments,i=[],n=0,l=h.length,j;k.initialConfig={};if(l>1){for(;n<l;n++){j=h[n];if(typeof j=="object"){Ext.apply(k.initialConfig,j);Ext.apply(k,j)}else{i.push(j)}}m=i.join("")}else{if(Ext.isArray(m)){i.push(m.join(""))}else{i.push(m)}}k.html=i.join("");if(k.compiled){k.compile()}},isTemplate:true,disableFormats:false,re:/\{([\w\-]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?\}/g,applyTemplate:function(h){var i=this,l=i.disableFormats!==true,j=Ext.util.Format,g=i;if(i.compiled){return i.compiled(h)}function k(d,b,a,c){if(a&&l){if(c){c=[h[b]].concat(Ext.functionFactory("return ["+c+"];")())}else{c=[h[b]]}if(a.substr(0,5)=="this."){return g[a.substr(5)].apply(g,c)}else{return j[a].apply(j,c)}}else{return h[b]!==undefined?h[b]:""}}return i.html.replace(i.re,k)},set:function(e,f){var d=this;d.html=e;d.compiled=null;return f?d.compile():d},compileARe:/\\/g,compileBRe:/(\r\n|\n)/g,compileCRe:/'/g,compile:function(){var me=this,fm=Ext.util.Format,useFormat=me.disableFormats!==true,body,bodyReturn;function fn(m,name,format,args){if(format&&useFormat){args=args?","+args:"";if(format.substr(0,5)!="this."){format="fm."+format+"("}else{format="this."+format.substr(5)+"("}}else{args="";format="(values['"+name+"'] == undefined ? '' : "}return"',"+format+"values['"+name+"']"+args+") ,'"}bodyReturn=me.html.replace(me.compileARe,"\\\\").replace(me.compileBRe,"\\n").replace(me.compileCRe,"\\'").replace(me.re,fn);body="this.compiled = function(values){ return ['"+bodyReturn+"'].join('');};";eval(body);return me},insertFirst:function(d,e,f){return this.doInsert("afterBegin",d,e,f)},insertBefore:function(d,e,f){return this.doInsert("beforeBegin",d,e,f)},insertAfter:function(d,e,f){return this.doInsert("afterEnd",d,e,f)},append:function(d,e,f){return this.doInsert("beforeEnd",d,e,f)},doInsert:function(j,h,f,g){h=Ext.getDom(h);var i=Ext.DomHelper.insertHtml(j,h,this.applyTemplate(f));return g?Ext.get(i,true):i},overwrite:function(d,e,f){d=Ext.getDom(d);d.innerHTML=this.applyTemplate(e);return f?Ext.get(d.firstChild,true):d.firstChild}},function(){this.createAlias("apply","applyTemplate")});Ext.define("Ext.ComponentQuery",{singleton:true,uses:["Ext.ComponentManager"]},function(){var t=this,q=["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(""),v=function(a,b){return b.method.apply(this,[a].concat(b.args))},z=function(e,a){var g=[],d=0,b=e.length,c,f=a!==">";for(;d<b;d++){c=e[d];if(c.getRefItems){g=g.concat(c.getRefItems(f))}}return g},u=function(d){var e=[],c=0,a=d.length,b;for(;c<a;c++){b=d[c];while(!!(b=(b.ownerCt||b.floatParent))){e.push(b)}}return e},o=function(f,a,b){if(a==="*"){return f.slice()}else{var g=[],e=0,c=f.length,d;for(;e<c;e++){d=f[e];if(d.isXType(a,b)){g.push(d)}}return g}},r=function(f,c){var a=Ext.Array,g=[],e=0,b=f.length,d;for(;e<b;e++){d=f[e];if(d.el?d.el.hasCls(c):a.contains(d.initCls(),c)){g.push(d)}}return g},n=function(f,a,g,b){var h=[],e=0,c=f.length,d;for(;e<c;e++){d=f[e];if(!b?!!d[a]:(String(d[a])===b)){h.push(d)}}return h},w=function(e,a){var f=[],d=0,b=e.length,c;for(;d<b;d++){c=e[d];if(c.getItemId()===a){f.push(c)}}return f},p=function(c,b,a){return t.pseudos[b](c,a)},s=/^(\s?([>\^])\s?|\s|$)/,x=/^(#)?([\w\-]+|\*)(?:\((true|false)\))?/,y=[{re:/^\.([\w\-]+)(?:\((true|false)\))?/,method:o},{re:/^(?:[\[](?:@)?([\w\-]+)\s?(?:(=|.=)\s?['"]?(.*?)["']?)?[\]])/,method:n},{re:/^#([\w\-]+)/,method:w},{re:/^\:([\w\-]+)(?:\(((?:\{[^\}]+\})|(?:(?!\{)[^\s>\/]*?(?!\})))\))?/,method:p},{re:/^(?:\{([^\}]+)\})/,method:q}];t.Query=Ext.extend(Object,{constructor:function(a){a=a||{};Ext.apply(this,a)},execute:function(e){var c=this.operations,b=0,a=c.length,d,f;if(!e){f=Ext.ComponentManager.all.getArray()}else{if(Ext.isArray(e)){f=e}}for(;b<a;b++){d=c[b];if(d.mode==="^"){f=u(f||[e])}else{if(d.mode){f=z(f||[e],d.mode)}else{f=v(f||z([e]),d)}}if(b===a-1){return f}}return[]},is:function(e){var f=this.operations,b=Ext.isArray(e)?e:[e],g=b.length,a=f[f.length-1],c,d;b=v(b,a);if(b.length===g){if(f.length>1){for(d=0,c=b.length;d<c;d++){if(Ext.Array.indexOf(this.execute(),b[d])===-1){return false}}}return true}return false}});Ext.apply(this,{cache:{},pseudos:{not:function(b,h){var a=Ext.ComponentQuery,d=0,c=b.length,e=[],f=-1,g;for(;d<c;++d){g=b[d];if(!a.is(g,h)){e[++f]=g}}return e},last:function(a){return a[a.length-1]}},query:function(d,h){var g=d.split(","),e=g.length,c=0,b=[],f=[],i={},k,a,j;for(;c<e;c++){d=Ext.String.trim(g[c]);k=this.cache[d];if(!k){this.cache[d]=k=this.parse(d)}b=b.concat(k.execute(h))}if(e>1){a=b.length;for(c=0;c<a;c++){j=b[c];if(!i[j.id]){f.push(j);i[j.id]=true}}b=f}return b},is:function(b,c){if(!c){return true}var a=this.cache[c];if(!a){this.cache[c]=a=this.parse(c)}return a.is(b)},parse:function(b){var d=[],c=y.length,i,a,h,g,f,k,j,e;while(b&&i!==b){i=b;a=b.match(x);if(a){h=a[1];if(h==="#"){d.push({method:w,args:[Ext.String.trim(a[2])]})}else{if(h==="."){d.push({method:r,args:[Ext.String.trim(a[2])]})}else{d.push({method:o,args:[Ext.String.trim(a[2]),Boolean(a[3])]})}}b=b.replace(a[0],"")}while(!(g=b.match(s))){for(k=0;b&&k<c;k++){j=y[k];f=b.match(j.re);e=j.method;if(f){d.push({method:Ext.isString(j.method)?Ext.functionFactory("items",Ext.String.format.apply(Ext.String,[e].concat(f.slice(1)))):j.method,args:f.slice(1)});b=b.replace(f[0],"");break}if(k===(c-1)){Ext.Error.raise('Invalid ComponentQuery selector: "'+arguments[0]+'"')}}}if(g[1]){d.push({mode:g[2]||g[1]});b=b.replace(g[0],"")}}return new t.Query({operations:d})}})});Ext.define("Ext.util.HashMap",{mixins:{observable:"Ext.util.Observable"},constructor:function(e){e=e||{};var f=this,d=e.keyFn;f.addEvents("add","clear","remove","replace");f.mixins.observable.constructor.call(f,e);f.clear(true);if(d){f.getKey=d}},getCount:function(){return this.length},getData:function(d,c){if(c===undefined){c=d;d=this.getKey(c)}return[d,c]},getKey:function(b){return b.id},add:function(f,g){var e=this,h;if(arguments.length===1){g=f;f=e.getKey(g)}if(e.containsKey(f)){return e.replace(f,g)}h=e.getData(f,g);f=h[0];g=h[1];e.map[f]=g;++e.length;e.fireEvent("add",e,f,g);return g},replace:function(f,i){var j=this,h=j.map,g;if(!j.containsKey(f)){j.add(f,i)}g=h[f];h[f]=i;j.fireEvent("replace",j,f,i,g);return i},remove:function(c){var d=this.findKey(c);if(d!==undefined){return this.removeAtKey(d)}return false},removeAtKey:function(e){var d=this,f;if(d.containsKey(e)){f=d.map[e];delete d.map[e];--d.length;d.fireEvent("remove",d,e,f);return true}return false},get:function(b){return this.map[b]},clear:function(d){var c=this;c.map={};c.length=0;if(d!==true){c.fireEvent("clear",c)}return c},containsKey:function(b){return this.map[b]!==undefined},contains:function(b){return this.containsKey(this.findKey(b))},getKeys:function(){return this.getArray(true)},getValues:function(){return this.getArray(false)},getArray:function(g){var f=[],e,h=this.map;for(e in h){if(h.hasOwnProperty(e)){f.push(g?e:h[e])}}return f},each:function(i,j){var g=Ext.apply({},this.map),f,h=this.length;j=j||this;for(f in g){if(g.hasOwnProperty(f)){if(i.call(j,f,g[f],h)===false){break}}}return this},clone:function(){var f=new this.self(),d=this.map,e;f.suspendEvents();for(e in d){if(d.hasOwnProperty(e)){f.add(e,d[e])}}f.resumeEvents();return f},findKey:function(d){var e,f=this.map;for(e in f){if(f.hasOwnProperty(e)&&f[e]===d){return e}}return undefined}});Ext.define("Ext.layout.Layout",{isLayout:true,initialized:false,statics:{create:function(d,f){var e;if(d instanceof Ext.layout.Layout){return Ext.createByAlias("layout."+d)}else{if(!d||typeof d==="string"){e=d||f;d={}}else{e=d.type||f}return Ext.createByAlias("layout."+e,d||{})}}},constructor:function(b){this.id=Ext.id(null,this.type+"-");Ext.apply(this,b)},layout:function(){var b=this;b.layoutBusy=true;b.initLayout();if(b.beforeLayout.apply(b,arguments)!==false){b.layoutCancelled=false;b.onLayout.apply(b,arguments);b.childrenChanged=false;b.owner.needsLayout=false;b.layoutBusy=false;b.afterLayout.apply(b,arguments)}else{b.layoutCancelled=true}b.layoutBusy=false;b.doOwnerCtLayouts()},beforeLayout:function(){this.renderChildren();return true},renderChildren:function(){this.renderItems(this.getLayoutItems(),this.getRenderTarget())},renderItems:function(h,i){var j=this,k=h.length,g=0,l;for(;g<k;g++){l=h[g];if(l&&!l.rendered){j.renderItem(l,i,g)}else{if(!j.isValidParent(l,i,g)){j.moveItem(l,i,g)}else{j.configureItem(l)}}}},isValidParent:function(e,h,f){var g=e.el?e.el.dom:Ext.getDom(e);if(g&&h&&h.dom){if(Ext.isNumber(f)&&g!==h.dom.childNodes[f]){return false}return(g.parentNode==(h.dom||h))}return false},renderItem:function(h,g,f){var e=this;if(!h.rendered){if(e.itemCls){h.addCls(e.itemCls)}if(e.owner.itemCls){h.addCls(e.owner.itemCls)}h.render(g,f);e.configureItem(h);e.childrenChanged=true}},moveItem:function(d,f,e){f=f.dom||f;if(typeof e=="number"){e=f.childNodes[e]}f.insertBefore(d.el.dom,e||null);d.container=Ext.get(f);this.configureItem(d);this.childrenChanged=true},initLayout:function(){var d=this,c=d.targetCls;if(!d.initialized&&!Ext.isEmpty(c)){d.getTarget().addCls(c)}d.initialized=true},setOwner:function(b){this.owner=b},getLayoutItems:function(){return[]},configureItem:Ext.emptyFn,onLayout:Ext.emptyFn,afterLayout:Ext.emptyFn,onRemove:Ext.emptyFn,onDestroy:Ext.emptyFn,doOwnerCtLayouts:Ext.emptyFn,afterRemove:function(j){var f=j.el,g=this.owner,h=this.itemCls,i=g.itemCls;if(j.rendered&&!j.isDestroyed){if(h){f.removeCls(h)}if(i){f.removeCls(i)}}delete j.layoutManagedWidth;delete j.layoutManagedHeight},destroy:function(){var c=this.targetCls,d;if(!Ext.isEmpty(c)){d=this.getTarget();if(d){d.removeCls(c)}}this.onDestroy()}});Ext.define("Ext.ZIndexManager",{alternateClassName:"Ext.WindowGroup",statics:{zBase:9000},constructor:function(d){var c=this;c.list={};c.zIndexStack=[];c.front=null;if(d){if(d.isContainer){d.on("resize",c._onContainerResize,c);c.zseed=Ext.Number.from(d.getEl().getStyle("zIndex"),c.getNextZSeed());c.targetEl=d.getTargetEl();c.container=d}else{Ext.EventManager.onWindowResize(c._onContainerResize,c);c.zseed=c.getNextZSeed();c.targetEl=Ext.get(d)}}else{Ext.EventManager.onWindowResize(c._onContainerResize,c);c.zseed=c.getNextZSeed();Ext.onDocumentReady(function(){c.targetEl=Ext.getBody()})}},getNextZSeed:function(){return(Ext.ZIndexManager.zBase+=10000)},setBase:function(b){this.zseed=b;return this.assignZIndices()},assignZIndices:function(){var j=this.zIndexStack,a=j.length,h=0,g=this.zseed,i;for(;h<a;h++){i=j[h];if(i&&!i.hidden){g=i.setZIndex(g)}}this._activateLast();return g},_setActiveChild:function(b){if(b!==this.front){if(this.front){this.front.setActive(false,b)}this.front=b;if(b){b.setActive(true);if(b.modal){this._showModalMask(b)}}}},_activateLast:function(f){var e,g=false,h;for(h=this.zIndexStack.length-1;h>=0;--h){e=this.zIndexStack[h];if(!e.hidden){if(!g){this._setActiveChild(e);g=true}if(e.modal){this._showModalMask(e);return}}}this._hideModalMask();if(!g){this._setActiveChild(null)}},_showModalMask:function(f){var g=f.el.getStyle("zIndex")-4,e=f.floatParent?f.floatParent.getTargetEl():Ext.get(f.getEl().dom.parentNode),h;if(!e){Ext.global.console&&Ext.global.console.warn&&Ext.global.console.warn("mask target could not be found. Mask cannot be shown");return}h=e.getBox();if(!this.mask){this.mask=Ext.getBody().createChild({cls:Ext.baseCSSPrefix+"mask"});this.mask.setVisibilityMode(Ext.Element.DISPLAY);this.mask.on("click",this._onMaskClick,this)}if(e.dom===document.body){h.height=Ext.Element.getViewHeight()}e.addCls(Ext.baseCSSPrefix+"body-masked");this.mask.setBox(h);this.mask.setStyle("zIndex",g);this.mask.show()},_hideModalMask:function(){if(this.mask&&this.mask.dom.parentNode){Ext.get(this.mask.dom.parentNode).removeCls(Ext.baseCSSPrefix+"body-masked");this.mask.hide()}},_onMaskClick:function(){if(this.front){this.front.focus()}},_onContainerResize:function(){if(this.mask&&this.mask.isVisible()){this.mask.setSize(Ext.get(this.mask.dom.parentNode).getViewSize(true))}},register:function(b){if(b.zIndexManager){b.zIndexManager.unregister(b)}b.zIndexManager=this;this.list[b.id]=b;this.zIndexStack.push(b);b.on("hide",this._activateLast,this)},unregister:function(b){delete b.zIndexManager;if(this.list&&this.list[b.id]){delete this.list[b.id];b.un("hide",this._activateLast);Ext.Array.remove(this.zIndexStack,b);this._activateLast(b)}},get:function(b){return typeof b=="object"?b:this.list[b]},bringToFront:function(b){b=this.get(b);if(b!==this.front){Ext.Array.remove(this.zIndexStack,b);this.zIndexStack.push(b);this.assignZIndices();return true}if(b.modal){this._showModalMask(b)}return false},sendToBack:function(b){b=this.get(b);Ext.Array.remove(this.zIndexStack,b);this.zIndexStack.unshift(b);this.assignZIndices();return b},hideAll:function(){for(var b in this.list){if(this.list[b].isComponent&&this.list[b].isVisible()){this.list[b].hide()}}},hide:function(){var d=0,f=this.zIndexStack.length,e;this.tempHidden=[];for(;d<f;d++){e=this.zIndexStack[d];if(e.isVisible()){this.tempHidden.push(e);e.hide()}}},show:function(){var j=0,i=this.tempHidden.length,f,g,h;for(;j<i;j++){f=this.tempHidden[j];g=f.x;h=f.y;f.show();f.setPosition(g,h)}delete this.tempHidden},getActive:function(){return this.front},getBy:function(j,k){var i=[],l=0,h=this.zIndexStack.length,g;for(;l<h;l++){g=this.zIndexStack[l];if(j.call(k||g,g)!==false){i.push(g)}}return i},each:function(h,e){var f;for(var g in this.list){f=this.list[g];if(f.isComponent&&h.call(e||f,f)===false){return}}},eachBottomUp:function(j,k){var g,h=this.zIndexStack,l,i;for(l=0,i=h.length;l<i;l++){g=h[l];if(g.isComponent&&j.call(k||g,g)===false){return}}},eachTopDown:function(h,i){var f,g=this.zIndexStack,j;for(j=g.length;j-->0;){f=g[j];if(f.isComponent&&h.call(i||f,f)===false){return}}},destroy:function(){this.each(function(b){b.destroy()});delete this.zIndexStack;delete this.list;delete this.container;delete this.targetEl}},function(){Ext.WindowManager=Ext.WindowMgr=new this()});Ext.define("Ext.fx.Queue",{requires:["Ext.util.HashMap"],constructor:function(){this.targets=Ext.create("Ext.util.HashMap");this.fxQueue={}},getFxDefaults:function(d){var c=this.targets.get(d);if(c){return c.fxDefaults}return{}},setFxDefaults:function(e,f){var d=this.targets.get(e);if(d){d.fxDefaults=Ext.apply(d.fxDefaults||{},f)}},stopAnimation:function(e){var g=this,f=g.getFxQueue(e),h=f.length;while(h){f[h-1].end();h--}},getActiveAnimation:function(c){var d=this.getFxQueue(c);return(d&&!!d.length)?d[0]:false},hasFxBlock:function(c){var d=this.getFxQueue(c);return d&&d[0]&&d[0].block},getFxQueue:function(e){if(!e){return false}var h=this,f=h.fxQueue[e],g=h.targets.get(e);if(!g){return false}if(!f){h.fxQueue[e]=[];if(g.type!="element"){g.target.on("destroy",function(){h.fxQueue[e]=[]})}}return h.fxQueue[e]},queueFx:function(i){var j=this,h=i.target,g,f;if(!h){return}g=j.getFxQueue(h.getId());f=g.length;if(f){if(i.concurrent){i.paused=false}else{g[f-1].on("afteranimate",function(){i.paused=false})}}else{i.paused=false}i.on("afteranimate",function(){Ext.Array.remove(g,i);if(i.remove){if(h.type=="element"){var a=Ext.get(h.id);if(a){a.remove()}}}},this);g.push(i)}});Ext.define("Ext.util.Sorter",{direction:"ASC",constructor:function(d){var c=this;Ext.apply(c,d);if(c.property===undefined&&c.sorterFn===undefined){Ext.Error.raise("A Sorter requires either a property or a sorter function")}c.updateSortFunction()},createSortFunction:function(f){var j=this,i=j.property,h=j.direction||"ASC",g=h.toUpperCase()=="DESC"?-1:1;return function(a,b){return g*f.call(j,a,b)}},defaultSorterFn:function(k,l){var g=this,h=g.transform,i=g.getRoot(k)[g.property],j=g.getRoot(l)[g.property];if(h){i=h(i);j=h(j)}return i>j?1:(i<j?-1:0)},getRoot:function(b){return this.root===undefined?b:b[this.root]},setDirection:function(c){var d=this;d.direction=c;d.updateSortFunction()},toggle:function(){var b=this;b.direction=Ext.String.toggle(b.direction,"ASC","DESC");b.updateSortFunction()},updateSortFunction:function(d){var c=this;d=d||c.sorterFn||c.defaultSorterFn;c.sort=c.createSortFunction(d)}});Ext.define("Ext.util.AbstractMixedCollection",{requires:["Ext.util.Filter"],mixins:{observable:"Ext.util.Observable"},constructor:function(d,e){var f=this;f.items=[];f.map={};f.keys=[];f.length=0;f.addEvents("clear","add","replace","remove");f.allowFunctions=d===true;if(e){f.getKey=e}f.mixins.observable.constructor.call(f)},allowFunctions:false,add:function(g,j){var k=this,i=j,l=g,h;if(arguments.length==1){i=l;l=k.getKey(i)}if(typeof l!="undefined"&&l!==null){h=k.map[l];if(typeof h!="undefined"){return k.replace(l,i)}k.map[l]=i}k.length++;k.items.push(i);k.keys.push(l);k.fireEvent("add",k.length-1,i,l);return i},getKey:function(b){return b.id},replace:function(j,h){var i=this,g,f;if(arguments.length==1){h=arguments[0];j=i.getKey(h)}g=i.map[j];if(typeof j=="undefined"||j===null||typeof g=="undefined"){return i.add(j,h)}f=i.indexOfKey(j);i.items[f]=h;i.map[j]=h;i.fireEvent("replace",j,g,h);return h},addAll:function(i){var j=this,k=0,g,h,l;if(arguments.length>1||Ext.isArray(i)){g=arguments.length>1?arguments:i;for(h=g.length;k<h;k++){j.add(g[k])}}else{for(l in i){if(i.hasOwnProperty(l)){if(j.allowFunctions||typeof i[l]!="function"){j.add(l,i[l])}}}}},each:function(j,k){var g=[].concat(this.items),l=0,h=g.length,i;for(;l<h;l++){i=g[l];if(j.call(k||i,i,l,h)===false){break}}},eachKey:function(j,k){var i=this.keys,g=this.items,l=0,h=i.length;for(;l<h;l++){j.call(k||window,i[l],g[l],l,h)}},findBy:function(j,k){var i=this.keys,g=this.items,l=0,h=g.length;for(;l<h;l++){if(j.call(k||window,g[l],i[l])){return g[l]}}return null},find:function(){if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn("Ext.util.MixedCollection: find has been deprecated. Use findBy instead.")}return this.findBy.apply(this,arguments)},insert:function(h,g,j){var k=this,l=g,i=j;if(arguments.length==2){i=l;l=k.getKey(i)}if(k.containsKey(l)){k.suspendEvents();k.removeAtKey(l);k.resumeEvents()}if(h>=k.length){return k.add(l,i)}k.length++;Ext.Array.splice(k.items,h,0,i);if(typeof l!="undefined"&&l!==null){k.map[l]=i}Ext.Array.splice(k.keys,h,0,l);k.fireEvent("add",h,i,l);return i},remove:function(b){return this.removeAt(this.indexOf(b))},removeAll:function(b){Ext.each(b||[],function(a){this.remove(a)},this);return this},removeAt:function(f){var h=this,g,e;if(f<h.length&&f>=0){h.length--;g=h.items[f];Ext.Array.erase(h.items,f,1);e=h.keys[f];if(typeof e!="undefined"){delete h.map[e]}Ext.Array.erase(h.keys,f,1);h.fireEvent("remove",g,e);return g}return false},removeAtKey:function(b){return this.removeAt(this.indexOfKey(b))},getCount:function(){return this.length},indexOf:function(b){return Ext.Array.indexOf(this.items,b)},indexOfKey:function(b){return Ext.Array.indexOf(this.keys,b)},get:function(e){var g=this,f=g.map[e],h=f!==undefined?f:(typeof e=="number")?g.items[e]:undefined;return typeof h!="function"||g.allowFunctions?h:null},getAt:function(b){return this.items[b]},getByKey:function(b){return this.map[b]},contains:function(b){return Ext.Array.contains(this.items,b)},containsKey:function(b){return typeof this.map[b]!="undefined"},clear:function(){var b=this;b.length=0;b.items=[];b.keys=[];b.map={};b.fireEvent("clear")},first:function(){return this.items[0]},last:function(){return this.items[this.length-1]},sum:function(l,i,k,j){var p=this.extractValues(l,i),m=p.length,n=0,o;k=k||0;j=(j||j===0)?j:m-1;for(o=k;o<=j;o++){n+=p[o]}return n},collect:function(l,p,n){var i=this.extractValues(l,p),t=i.length,s={},r=[],m,o,q;for(q=0;q<t;q++){m=i[q];o=String(m);if((n||!Ext.isEmpty(m))&&!s[o]){s[o]=true;r.push(m)}}return r},extractValues:function(f,e){var d=this.items;if(e){d=Ext.Array.pluck(d,e)}return Ext.Array.pluck(d,f)},getRange:function(i,h){var j=this,l=j.items,g=[],k;if(l.length<1){return g}i=i||0;h=Math.min(typeof h=="undefined"?j.length-1:h,j.length-1);if(i<=h){for(k=i;k<=h;k++){g[g.length]=l[k]}}else{for(k=i;k>=h;k--){g[g.length]=l[k]}}return g},filter:function(k,l,i,h){var g=[],j;if(Ext.isString(k)){g.push(Ext.create("Ext.util.Filter",{property:k,value:l,anyMatch:i,caseSensitive:h}))}else{if(Ext.isArray(k)||k instanceof Ext.util.Filter){g=g.concat(k)}}j=function(f){var a=true,o=g.length,e;for(e=0;e<o;e++){var b=g[e],c=b.filterFn,d=b.scope;a=a&&c.call(d,f)}return a};return this.filterBy(j)},filterBy:function(n,o){var k=this,j=new this.self(),l=k.keys,i=k.items,m=i.length,p;j.getKey=k.getKey;for(p=0;p<m;p++){if(n.call(o||k,i[p],l[p])){j.add(l[p],i[p])}}return j},findIndex:function(j,f,h,i,g){if(Ext.isEmpty(f,false)){return -1}f=this.createValueMatcher(f,i,g);return this.findIndexBy(function(a){return a&&f.test(a[j])},null,h)},findIndexBy:function(n,o,k){var l=this,m=l.keys,i=l.items,p=k||0,j=i.length;for(;p<j;p++){if(n.call(o||l,i[p],m[p])){return p}}return -1},createValueMatcher:function(j,h,g,f){if(!j.exec){var i=Ext.String.escapeRegex;j=String(j);if(h===true){j=i(j)}else{j="^"+i(j);if(f===true){j+="$"}}j=new RegExp(j,g?"":"i")}return j},clone:function(){var j=this,i=new this.self(),k=j.keys,g=j.items,l=0,h=g.length;for(;l<h;l++){i.add(k[l],g[l])}i.getKey=j.getKey;return i}});Ext.define("Ext.data.SortTypes",{singleton:true,none:function(b){return b},stripTagsRE:/<\/?[^>]+>/gi,asText:function(b){return String(b).replace(this.stripTagsRE,"")},asUCText:function(b){return String(b).toUpperCase().replace(this.stripTagsRE,"")},asUCString:function(b){return String(b).toUpperCase()},asDate:function(b){if(!b){return 0}if(Ext.isDate(b)){return b.getTime()}return Date.parse(String(b))},asFloat:function(d){var c=parseFloat(String(d).replace(/,/g,""));return isNaN(c)?0:c},asInt:function(d){var c=parseInt(String(d).replace(/,/g,""),10);return isNaN(c)?0:c}});Ext.define("Ext.util.Grouper",{extend:"Ext.util.Sorter",getGroupString:function(b){return b.get(this.property)}});Ext.define("Ext.util.Animate",{uses:["Ext.fx.Manager","Ext.fx.Anim"],animate:function(d){var c=this;if(Ext.fx.Manager.hasFxBlock(c.id)){return c}Ext.fx.Manager.queueFx(Ext.create("Ext.fx.Anim",c.anim(d)));return this},anim:function(d){if(!Ext.isObject(d)){return(d)?{}:false}var c=this;if(d.stopAnimation){c.stopAnimation()}Ext.applyIf(d,Ext.fx.Manager.getFxDefaults(c.id));return Ext.apply({target:c,paused:true},d)},stopFx:Ext.Function.alias(Ext.util.Animate,"stopAnimation"),stopAnimation:function(){Ext.fx.Manager.stopAnimation(this.id);return this},syncFx:function(){Ext.fx.Manager.setFxDefaults(this.id,{concurrent:true});return this},sequenceFx:function(){Ext.fx.Manager.setFxDefaults(this.id,{concurrent:false});return this},hasActiveFx:Ext.Function.alias(Ext.util.Animate,"getActiveAnimation"),getActiveAnimation:function(){return Ext.fx.Manager.getActiveAnimation(this.id)}},function(){Ext.applyIf(Ext.Element.prototype,this.prototype);Ext.CompositeElementLite.importElementMethods()});Ext.define("Ext.AbstractManager",{requires:["Ext.util.HashMap"],typeName:"type",constructor:function(b){Ext.apply(this,b||{});this.all=Ext.create("Ext.util.HashMap");this.types={}},get:function(b){return this.all.get(b)},register:function(f){var d=this.all,e=d.getKey(f);if(d.containsKey(e)){Ext.Error.raise('Registering duplicate id "'+e+'" with this manager')}this.all.add(f)},unregister:function(b){this.all.remove(b)},registerType:function(c,d){this.types[c]=d;d[this.typeName]=c},isRegistered:function(b){return this.types[b]!==undefined},create:function(f,g){var e=f[this.typeName]||f.type||g,h=this.types[e];if(h===undefined){Ext.Error.raise("The '"+e+"' type has not been registered with this manager")}return new h(f)},onAvailable:function(h,j,f){var g=this.all,i;if(g.containsKey(h)){i=g.get(h);j.call(f||i,i)}else{g.on("add",function(a,c,b){if(c==h){j.call(f||b,b);g.un("add",j,f)}})}},each:function(c,d){this.all.each(c,d||this)},getCount:function(){return this.all.getCount()}});Ext.define("Ext.data.Association",{primaryKey:"id",defaultReaderType:"json",statics:{create:function(b){if(!b.isAssociation){if(Ext.isString(b)){b={type:b}}switch(b.type){case"belongsTo":return Ext.create("Ext.data.BelongsToAssociation",b);case"hasMany":return Ext.create("Ext.data.HasManyAssociation",b);default:Ext.Error.raise('Unknown Association type: "'+b.type+'"')}}return b}},constructor:function(h){Ext.apply(this,h);var n=Ext.ModelManager.types,m=h.ownerModel,k=h.associatedModel,l=n[m],j=n[k],i;if(l===undefined){Ext.Error.raise("The configured ownerModel was not valid (you tried "+m+")")}if(j===undefined){Ext.Error.raise("The configured associatedModel was not valid (you tried "+k+")")}this.ownerModel=l;this.associatedModel=j;Ext.applyIf(this,{ownerName:m,associatedName:k})},getReader:function(){var f=this,e=f.reader,d=f.associatedModel;if(e){if(Ext.isString(e)){e={type:e}}if(e.isReader){e.setModel(d)}else{Ext.applyIf(e,{model:d,type:f.defaultReaderType})}f.reader=Ext.createByAlias("reader."+e.type,e)}return f.reader||null}});Ext.define("Ext.data.IdGenerator",{isGenerator:true,constructor:function(d){var c=this;Ext.apply(c,d);if(c.id){Ext.data.IdGenerator.all[c.id]=c}},getRecId:function(b){return b.modelName+"-"+b.internalId},statics:{all:{},get:function(f){var h,g,e;if(typeof f=="string"){g=e=f;f=null}else{if(f.isGenerator){return f}else{g=f.id||f.type;e=f.type}}h=this.all[g];if(!h){h=Ext.create("idgen."+e,f)}return h}}});Ext.define("Ext.data.validations",{singleton:true,presenceMessage:"must be present",lengthMessage:"is the wrong length",formatMessage:"is the wrong format",inclusionMessage:"is not included in the list of acceptable values",exclusionMessage:"is not an acceptable value",emailMessage:"is not a valid email address",emailRe:/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/,presence:function(d,c){if(c===undefined){c=d}return !!c||c===0},length:function(f,h){if(h===undefined||h===null){return false}var i=h.length,j=f.min,g=f.max;if((j&&i<j)||(g&&i>g)){return false}else{return true}},email:function(c,d){return Ext.data.validations.emailRe.test(d)},format:function(d,c){return !!(d.matcher&&d.matcher.test(c))},inclusion:function(d,c){return d.list&&Ext.Array.indexOf(d.list,c)!=-1},exclusion:function(d,c){return d.list&&Ext.Array.indexOf(d.list,c)==-1}});Ext.define("Docs.view.cls.Logic",{showPrivateClasses:false,constructor:function(b){Ext.apply(this,b)}});Ext.define("Ext.dd.StatusProxy",{animRepair:false,constructor:function(b){Ext.apply(this,b);this.id=this.id||Ext.id();this.proxy=Ext.createWidget("component",{floating:true,stateful:false,id:this.id,html:'<div class="'+Ext.baseCSSPrefix+'dd-drop-icon"></div><div class="'+Ext.baseCSSPrefix+'dd-drag-ghost"></div>',cls:Ext.baseCSSPrefix+"dd-drag-proxy "+this.dropNotAllowed,shadow:!b||b.shadow!==false,renderTo:document.body});this.el=this.proxy.el;this.el.show();this.el.setVisibilityMode(Ext.Element.VISIBILITY);this.el.hide();this.ghost=Ext.get(this.el.dom.childNodes[1]);this.dropStatus=this.dropNotAllowed},dropAllowed:Ext.baseCSSPrefix+"dd-drop-ok",dropNotAllowed:Ext.baseCSSPrefix+"dd-drop-nodrop",setStatus:function(b){b=b||this.dropNotAllowed;if(this.dropStatus!=b){this.el.replaceCls(this.dropStatus,b);this.dropStatus=b}},reset:function(b){this.el.dom.className=Ext.baseCSSPrefix+"dd-drag-proxy "+this.dropNotAllowed;this.dropStatus=this.dropNotAllowed;if(b){this.ghost.update("")}},update:function(d){if(typeof d=="string"){this.ghost.update(d)}else{this.ghost.update("");d.style.margin="0";this.ghost.dom.appendChild(d)}var c=this.ghost.dom.firstChild;if(c){Ext.fly(c).setStyle("float","none")}},getEl:function(){return this.el},getGhost:function(){return this.ghost},hide:function(b){this.proxy.hide();if(b){this.reset(true)}},stop:function(){if(this.anim&&this.anim.isAnimated&&this.anim.isAnimated()){this.anim.stop()}},show:function(){this.proxy.show();this.proxy.toFront()},sync:function(){this.proxy.el.sync()},repair:function(d,f,e){this.callback=f;this.scope=e;if(d&&this.animRepair!==false){this.el.addCls(Ext.baseCSSPrefix+"dd-drag-repair");this.el.hideUnders(true);this.anim=this.el.animate({duration:this.repairDuration||500,easing:"ease-out",to:{x:d[0],y:d[1]},stopAnimation:true,callback:this.afterRepair,scope:this})}else{this.afterRepair()}},afterRepair:function(){this.hide(true);if(typeof this.callback=="function"){this.callback.call(this.scope||this)}this.callback=null;this.scope=null},destroy:function(){Ext.destroy(this.ghost,this.proxy,this.el)}});Ext.define("Ext.fx.target.Target",{isAnimTarget:true,constructor:function(b){this.target=b;this.id=this.getId()},getId:function(){return this.target.id}});Ext.define("Ext.draw.Color",{colorToHexRe:/(.*?)rgb\((\d+),\s*(\d+),\s*(\d+)\)/,rgbRe:/\s*rgb\s*\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\s*\)\s*/,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*/,lightnessFactor:0.2,constructor:function(i,j,g){var f=this,h=Ext.Number.constrain;f.r=h(i,0,255);f.g=h(j,0,255);f.b=h(g,0,255)},getRed:function(){return this.r},getGreen:function(){return this.g},getBlue:function(){return this.b},getRGB:function(){var b=this;return[b.r,b.g,b.b]},getHSL:function(){var o=this,t=o.r/255,p=o.g/255,l=o.b/255,h=Math.max(t,p,l),r=Math.min(t,p,l),g=h-r,q,b=0,s=0.5*(h+r);if(r!=h){b=(s<0.5)?g/(h+r):g/(2-h-r);if(t==h){q=60*(p-l)/g}else{if(p==h){q=120+60*(l-t)/g}else{q=240+60*(t-p)/g}}if(q<0){q+=360}if(q>=360){q-=360}}return[q,b,s]},getLighter:function(c){var d=this.getHSL();c=c||this.lightnessFactor;d[2]=Ext.Number.constrain(d[2]+c,0,1);return this.fromHSL(d[0],d[1],d[2])},getDarker:function(b){b=b||this.lightnessFactor;return this.getLighter(-b)},toString:function(){var g=this,j=Math.round,h=j(g.r).toString(16),i=j(g.g).toString(16),b=j(g.b).toString(16);h=(h.length==1)?"0"+h:h;i=(i.length==1)?"0"+i:i;b=(b.length==1)?"0"+b:b;return["#",h,i,b].join("")},toHex:function(g){if(Ext.isArray(g)){g=g[0]}if(!Ext.isString(g)){return""}if(g.substr(0,1)==="#"){return g}var j=this.colorToHexRe.exec(g);if(Ext.isArray(j)){var i=parseInt(j[2],10),k=parseInt(j[3],10),h=parseInt(j[4],10),l=h|(k<<8)|(i<<16);return j[1]+"#"+("000000"+l.toString(16)).slice(-6)}else{return""}},fromString:function(g){var l,j,k,b,i=parseInt;if((g.length==4||g.length==7)&&g.substr(0,1)==="#"){l=g.match(this.hexRe);if(l){j=i(l[1],16)>>0;k=i(l[2],16)>>0;b=i(l[3],16)>>0;if(g.length==4){j+=(j*16);k+=(k*16);b+=(b*16)}}}else{l=g.match(this.rgbRe);if(l){j=l[1];k=l[2];b=l[3]}}return(typeof j=="undefined")?undefined:Ext.create("Ext.draw.Color",j,k,b)},getGrayscale:function(){return this.r*0.3+this.g*0.59+this.b*0.11},fromHSL:function(o,h,q){var t,s,r,p,l=[],i=Math.abs,m=Math.floor;if(h==0||o==null){l=[q,q,q]}else{o/=60;t=h*(1-i(2*q-1));s=t*(1-i(o-2*m(o/2)-1));r=q-t/2;switch(m(o)){case 0:l=[t,s,0];break;case 1:l=[s,t,0];break;case 2:l=[0,t,s];break;case 3:l=[0,s,t];break;case 4:l=[s,0,t];break;case 5:l=[t,0,s];break}l=[l[0]+r,l[1]+r,l[2]+r]}return Ext.create("Ext.draw.Color",l[0]*255,l[1]*255,l[2]*255)}},function(){var b=this.prototype;this.addStatics({fromHSL:function(){return b.fromHSL.apply(b,arguments)},fromString:function(){return b.fromString.apply(b,arguments)},toHex:function(){return b.toHex.apply(b,arguments)}})});Ext.define("Ext.layout.container.boxOverflow.None",{alternateClassName:"Ext.layout.boxOverflow.None",constructor:function(c,d){this.layout=c;Ext.apply(this,d||{})},handleOverflow:Ext.emptyFn,clearOverflow:Ext.emptyFn,onRemove:Ext.emptyFn,getItem:function(b){return this.layout.owner.getComponent(b)},onRemove:Ext.emptyFn});Ext.define("Ext.state.Provider",{mixins:{observable:"Ext.util.Observable"},prefix:"ext-",constructor:function(d){d=d||{};var c=this;Ext.apply(c,d);c.addEvents("statechange");c.state={};c.mixins.observable.constructor.call(c)},get:function(c,d){return typeof this.state[c]=="undefined"?d:this.state[c]},clear:function(d){var c=this;delete c.state[d];c.fireEvent("statechange",c,d,null)},set:function(e,f){var d=this;d.state[e]=f;d.fireEvent("statechange",d,e,f)},decodeValue:function(k){var m=this,n=/^(a|n|d|b|s|o|e)\:(.*)$/,l=n.exec(unescape(k)),h,i,k,j;if(!l||!l[1]){return}i=l[1];k=l[2];switch(i){case"e":return null;case"n":return parseFloat(k);case"d":return new Date(Date.parse(k));case"b":return(k=="1");case"a":h=[];if(k!=""){Ext.each(k.split("^"),function(a){h.push(m.decodeValue(a))},m)}return h;case"o":h={};if(k!=""){Ext.each(k.split("^"),function(a){j=a.split("=");h[j[0]]=m.decodeValue(j[1])},m)}return h;default:return k}},encodeValue:function(j){var i="",k=0,g,h,l;if(j==null){return"e:1"}else{if(typeof j=="number"){g="n:"+j}else{if(typeof j=="boolean"){g="b:"+(j?"1":"0")}else{if(Ext.isDate(j)){g="d:"+j.toGMTString()}else{if(Ext.isArray(j)){for(h=j.length;k<h;k++){i+=this.encodeValue(j[k]);if(k!=h-1){i+="^"}}g="a:"+i}else{if(typeof j=="object"){for(l in j){if(typeof j[l]!="function"&&j[l]!==undefined){i+=l+"="+this.encodeValue(j[l])+"^"}}g="o:"+i.substring(0,i.length-1)}else{g="s:"+j}}}}}}return escape(g)}});Ext.define("Ext.data.Connection",{mixins:{observable:"Ext.util.Observable"},statics:{requestId:0},url:null,async:true,method:null,username:"",password:"",disableCaching:true,withCredentials:false,cors:false,disableCachingParam:"_dc",timeout:30000,useDefaultHeader:true,defaultPostHeader:"application/x-www-form-urlencoded; charset=UTF-8",useDefaultXhrHeader:true,defaultXhrHeader:"XMLHttpRequest",constructor:function(b){b=b||{};Ext.apply(this,b);this.addEvents("beforerequest","requestcomplete","requestexception");this.requests={};this.mixins.observable.constructor.call(this)},request:function(k){k=k||{};var o=this,l=k.scope||window,p=k.username||o.username,n=k.password||o.password||"",s,r,q,t,m;if(o.fireEvent("beforerequest",o,k)!==false){r=o.setOptions(k,l);if(this.isFormUpload(k)===true){this.upload(k.form,r.url,r.data,k);return null}if(k.autoAbort===true||o.autoAbort){o.abort()}if((k.cors===true||o.cors===true)&&Ext.isIe&&Ext.ieVersion>=8){m=new XDomainRequest()}else{m=this.getXhrInstance()}s=k.async!==false?(k.async||o.async):false;if(p){m.open(r.method,r.url,s,p,n)}else{m.open(r.method,r.url,s)}if(k.withCredentials===true||o.withCredentials===true){m.withCredentials=true}t=o.setupHeaders(m,k,r.data,r.params);q={id:++Ext.data.Connection.requestId,xhr:m,headers:t,options:k,async:s,timeout:setTimeout(function(){q.timedout=true;o.abort(q)},k.timeout||o.timeout)};o.requests[q.id]=q;o.latestId=q.id;if(s){m.onreadystatechange=Ext.Function.bind(o.onStateChange,o,[q])}m.send(r.data);if(!s){return this.onComplete(q)}return q}else{Ext.callback(k.callback,k.scope,[k,undefined,undefined]);return null}},upload:function(q,s,m,k){q=Ext.getDom(q);k=k||{};var r=Ext.id(),o=document.createElement("iframe"),l=[],n="multipart/form-data",p={target:q.target,method:q.method,encoding:q.encoding,enctype:q.enctype,action:q.action},t;Ext.fly(o).set({id:r,name:r,cls:Ext.baseCSSPrefix+"hide-display",src:Ext.SSL_SECURE_URL});document.body.appendChild(o);if(document.frames){document.frames[r].name=r}Ext.fly(q).set({target:r,method:"POST",enctype:n,encoding:n,action:s||p.action});if(m){Ext.iterate(Ext.Object.fromQueryString(m),function(b,a){t=document.createElement("input");Ext.fly(t).set({type:"hidden",value:a,name:b});q.appendChild(t);l.push(t)})}Ext.fly(o).on("load",Ext.Function.bind(this.onUploadComplete,this,[o,k]),null,{single:true});q.submit();Ext.fly(q).set(p);Ext.each(l,function(a){Ext.removeNode(a)})},onUploadComplete:function(j,e){var n=this,i={responseText:"",responseXML:null},k,l;try{k=j.contentWindow.document||j.contentDocument||window.frames[j.id].document;if(k){if(k.body){if(/textarea/i.test((l=k.body.firstChild||{}).tagName)){i.responseText=l.value}else{i.responseText=k.body.innerHTML}}i.responseXML=k.XMLDocument||k}}catch(m){}n.fireEvent("requestcomplete",n,i,e);Ext.callback(e.success,e.scope,[i,e]);Ext.callback(e.callback,e.scope,[e,true,i]);setTimeout(function(){Ext.removeNode(j)},100)},isFormUpload:function(d){var c=this.getForm(d);if(c){return(d.isUpload||(/multipart\/form-data/i).test(c.getAttribute("enctype")))}return false},getForm:function(b){return Ext.getDom(b.form)||null},setOptions:function(l,m){var o=this,r=l.params||{},p=o.extraParams,s=l.urlParams,t=l.url||o.url,n=l.jsonData,u,v,q;if(Ext.isFunction(r)){r=r.call(m,l)}if(Ext.isFunction(t)){t=t.call(m,l)}t=this.setupUrl(l,t);if(!t){Ext.Error.raise({options:l,msg:"No URL specified"})}q=l.rawData||l.xmlData||n||null;if(n&&!Ext.isPrimitive(n)){q=Ext.encode(q)}if(Ext.isObject(r)){r=Ext.Object.toQueryString(r)}if(Ext.isObject(p)){p=Ext.Object.toQueryString(p)}r=r+((p)?((r)?"&":"")+p:"");s=Ext.isObject(s)?Ext.Object.toQueryString(s):s;r=this.setupParams(l,r);u=(l.method||o.method||((r||q)?"POST":"GET")).toUpperCase();this.setupMethod(l,u);v=l.disableCaching!==false?(l.disableCaching||o.disableCaching):false;if(u==="GET"&&v){t=Ext.urlAppend(t,(l.disableCachingParam||o.disableCachingParam)+"="+(new Date().getTime()))}if((u=="GET"||q)&&r){t=Ext.urlAppend(t,r);r=null}if(s){t=Ext.urlAppend(t,s)}return{url:t,method:u,data:q||r||null}},setupUrl:function(d,e){var f=this.getForm(d);if(f){e=e||f.action}return e},setupParams:function(f,g){var h=this.getForm(f),e;if(h&&!this.isFormUpload(f)){e=Ext.Element.serializeForm(h);g=g?(g+"&"+e):e}return g},setupMethod:function(d,c){if(this.isFormUpload(d)){return"POST"}return c},setupHeaders:function(n,e,u,v){var r=this,w=Ext.apply({},e.headers||{},r.defaultHeaders||{}),o=r.defaultPostHeader,q=e.jsonData,x=e.xmlData,p,t;if(!w["Content-Type"]&&(u||v)){if(u){if(e.rawData){o="text/plain"}else{if(x&&Ext.isDefined(x)){o="text/xml"}else{if(q&&Ext.isDefined(q)){o="application/json"}}}}w["Content-Type"]=o}if(r.useDefaultXhrHeader&&!w["X-Requested-With"]){w["X-Requested-With"]=r.defaultXhrHeader}try{for(p in w){if(w.hasOwnProperty(p)){t=w[p];n.setRequestHeader(p,t)}}}catch(s){r.fireEvent("exception",p,t)}return w},getXhrInstance:(function(){var e=[function(){return new XMLHttpRequest()},function(){return new ActiveXObject("MSXML2.XMLHTTP.3.0")},function(){return new ActiveXObject("MSXML2.XMLHTTP")},function(){return new ActiveXObject("Microsoft.XMLHTTP")}],j=0,g=e.length,h;for(;j<g;++j){try{h=e[j];h();break}catch(i){}}return h})(),isLoading:function(d){if(!d){d=this.getLatest()}if(!(d&&d.xhr)){return false}var c=d.xhr.readyState;return !(c===0||c==4)},abort:function(c){var d=this;if(!c){c=d.getLatest()}if(c&&d.isLoading(c)){c.xhr.onreadystatechange=null;c.xhr.abort();d.clearTimeout(c);if(!c.timedout){c.aborted=true}d.onComplete(c);d.cleanup(c)}},abortAll:function(){var c=this.requests,d;for(d in c){if(c.hasOwnProperty(d)){this.abort(c[d])}}},getLatest:function(){var c=this.latestId,d;if(c){d=this.requests[c]}return d||null},onStateChange:function(b){if(b.xhr.readyState==4){this.clearTimeout(b);this.onComplete(b);this.cleanup(b)}},clearTimeout:function(b){clearTimeout(b.timeout);delete b.timeout},cleanup:function(b){b.xhr=null;delete b.xhr},onComplete:function(l){var m=this,n=l.options,i,j,e;try{i=m.parseStatus(l.xhr.status)}catch(k){i={success:false,isException:false}}j=i.success;if(j){e=m.createResponse(l);m.fireEvent("requestcomplete",m,e,n);Ext.callback(n.success,n.scope,[e,n])}else{if(i.isException||l.aborted||l.timedout){e=m.createException(l)}else{e=m.createResponse(l)}m.fireEvent("requestexception",m,e,n);Ext.callback(n.failure,n.scope,[e,n])}Ext.callback(n.callback,n.scope,[n,j,e]);delete m.requests[l.id];return e},parseStatus:function(e){e=e==1223?204:e;var f=(e>=200&&e<300)||e==304,d=false;if(!f){switch(e){case 12002:case 12029:case 12030:case 12031:case 12152:case 13030:d=true;break}}return{success:f,isException:d}},createResponse:function(r){var m=r.xhr,t={},l=m.getAllResponseHeaders().replace(/\r\n/g,"\n").split("\n"),q=l.length,k,p,n,o,s;while(q--){k=l[q];p=k.indexOf(":");if(p>=0){n=k.substr(0,p).toLowerCase();if(k.charAt(p+1)==" "){++p}t[n]=k.substr(p+1)}}r.xhr=null;delete r.xhr;s={request:r,requestId:r.id,status:m.status,statusText:m.statusText,getResponseHeader:function(a){return t[a.toLowerCase()]},getAllResponseHeaders:function(){return t},responseText:m.responseText,responseXML:m.responseXML};m=null;return s},createException:function(b){return{request:b,requestId:b.id,status:b.aborted?-1:0,statusText:b.aborted?"transaction aborted":"communication failure",aborted:b.aborted,timedout:b.timedout}}});Ext.define("Ext.util.Offset",{statics:{fromObject:function(b){return new this(b.x,b.y)}},constructor:function(d,c){this.x=(d!=null&&!isNaN(d))?d:0;this.y=(c!=null&&!isNaN(c))?c:0;return this},copy:function(){return new Ext.util.Offset(this.x,this.y)},copyFrom:function(b){this.x=b.x;this.y=b.y},toString:function(){return"Offset["+this.x+","+this.y+"]"},equals:function(b){if(!(b instanceof this.statics())){Ext.Error.raise("Offset must be an instance of Ext.util.Offset")}return(this.x==b.x&&this.y==b.y)},round:function(c){if(!isNaN(c)){var d=Math.pow(10,c);this.x=Math.round(this.x*d)/d;this.y=Math.round(this.y*d)/d}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.data.writer.Writer",{alias:"writer.base",alternateClassName:["Ext.data.DataWriter","Ext.data.Writer"],writeAllFields:true,nameProperty:"name",constructor:function(b){Ext.apply(this,b)},write:function(j){var l=j.operation,g=l.records||[],h=g.length,k=0,i=[];for(;k<h;k++){i.push(this.getRecordData(g[k]))}return this.writeRecords(j,i)},getRecordData:function(p){var l=p.phantom===true,s=this.writeAllFields||l,r=this.nameProperty,o=p.fields,q={},m,t,n,k;if(s){o.each(function(a){if(a.persist){t=a[r]||a.name;q[t]=p.get(a.name)}})}else{m=p.getChanges();for(k in m){if(m.hasOwnProperty(k)){n=o.get(k);t=n[r]||n.name;q[t]=m[k]}}if(!l){q[p.idProperty]=p.getId()}}return q}});Ext.define("Ext.data.ResultSet",{loaded:true,count:0,total:0,success:false,constructor:function(b){Ext.apply(this,b);this.totalRecords=this.total;if(b.count===undefined){this.count=this.records.length}}});Ext.define("Ext.grid.plugin.DragDrop",{extend:"Ext.AbstractPlugin",alias:"plugin.gridviewdragdrop",uses:["Ext.view.DragZone","Ext.grid.ViewDropZone"],dragText:"{0} selected row{1}",ddGroup:"GridDD",enableDrop:true,enableDrag:true,init:function(b){b.on("render",this.onViewRender,this,{single:true})},destroy:function(){Ext.destroy(this.dragZone,this.dropZone)},enable:function(){var b=this;if(b.dragZone){b.dragZone.unlock()}if(b.dropZone){b.dropZone.unlock()}b.callParent()},disable:function(){var b=this;if(b.dragZone){b.dragZone.lock()}if(b.dropZone){b.dropZone.lock()}b.callParent()},onViewRender:function(d){var c=this;if(c.enableDrag){c.dragZone=Ext.create("Ext.view.DragZone",{view:d,ddGroup:c.dragGroup||c.ddGroup,dragText:c.dragText})}if(c.enableDrop){c.dropZone=Ext.create("Ext.grid.ViewDropZone",{view:d,ddGroup:c.dropGroup||c.ddGroup})}}});Ext.define("Ext.util.ClickRepeater",{extend:"Ext.util.Observable",constructor:function(c,d){this.el=Ext.get(c);this.el.unselectable();Ext.apply(this,d);this.addEvents("mousedown","click","mouseup");if(!this.disabled){this.disabled=true;this.enable()}if(this.handler){this.on("click",this.handler,this.scope||this)}this.callParent()},interval:20,delay:250,preventDefault:true,stopDefault:false,timer:0,enable:function(){if(this.disabled){this.el.on("mousedown",this.handleMouseDown,this);if(Ext.isIE){this.el.on("dblclick",this.handleDblClick,this)}if(this.preventDefault||this.stopDefault){this.el.on("click",this.eventOptions,this)}}this.disabled=false},disable:function(b){if(b||!this.disabled){clearTimeout(this.timer);if(this.pressedCls){this.el.removeCls(this.pressedCls)}Ext.getDoc().un("mouseup",this.handleMouseUp,this);this.el.removeAllListeners()}this.disabled=true},setDisabled:function(b){this[b?"disable":"enable"]()},eventOptions:function(b){if(this.preventDefault){b.preventDefault()}if(this.stopDefault){b.stopEvent()}},destroy:function(){this.disable(true);Ext.destroy(this.el);this.clearListeners()},handleDblClick:function(b){clearTimeout(this.timer);this.el.blur();this.fireEvent("mousedown",this,b);this.fireEvent("click",this,b)},handleMouseDown:function(b){clearTimeout(this.timer);this.el.blur();if(this.pressedCls){this.el.addCls(this.pressedCls)}this.mousedownTime=new Date();Ext.getDoc().on("mouseup",this.handleMouseUp,this);this.el.on("mouseout",this.handleMouseOut,this);this.fireEvent("mousedown",this,b);this.fireEvent("click",this,b);if(this.accelerate){this.delay=400}b=new Ext.EventObjectImpl(b);this.timer=Ext.defer(this.click,this.delay||this.interval,this,[b])},click:function(b){this.fireEvent("click",this,b);this.timer=Ext.defer(this.click,this.accelerate?this.easeOutExpo(Ext.Date.getElapsed(this.mousedownTime),400,-390,12000):this.interval,this,[b])},easeOutExpo:function(h,b,c,d){return(h==d)?b+c:c*(-Math.pow(2,-10*h/d)+1)+b},handleMouseOut:function(){clearTimeout(this.timer);if(this.pressedCls){this.el.removeCls(this.pressedCls)}this.el.on("mouseover",this.handleMouseReturn,this)},handleMouseReturn:function(){this.el.un("mouseover",this.handleMouseReturn,this);if(this.pressedCls){this.el.addCls(this.pressedCls)}this.click()},handleMouseUp:function(b){clearTimeout(this.timer);this.el.un("mouseover",this.handleMouseReturn,this);this.el.un("mouseout",this.handleMouseOut,this);Ext.getDoc().un("mouseup",this.handleMouseUp,this);if(this.pressedCls){this.el.removeCls(this.pressedCls)}this.fireEvent("mouseup",this,b)}});Ext.define("Ext.data.Tree",{alias:"data.tree",mixins:{observable:"Ext.util.Observable"},root:null,constructor:function(d){var c=this;c.mixins.observable.constructor.call(c);if(d){c.setRootNode(d)}},getRootNode:function(){return this.root},setRootNode:function(c){var d=this;d.root=c;Ext.data.NodeInterface.decorate(c);if(d.fireEvent("beforeappend",null,c)!==false){c.set("root",true);c.updateInfo();d.relayEvents(c,["append","remove","move","insert","beforeappend","beforeremove","beforemove","beforeinsert","expand","collapse","beforeexpand","beforecollapse","rootchange"]);c.on({scope:d,insert:d.onNodeInsert,append:d.onNodeAppend,remove:d.onNodeRemove});d.nodeHash={};d.registerNode(c);d.fireEvent("append",null,c);d.fireEvent("rootchange",c)}return c},flatten:function(){var e=[],f=this.nodeHash,d;for(d in f){if(f.hasOwnProperty(d)){e.push(f[d])}}return e},onNodeInsert:function(d,c){this.registerNode(c,true)},onNodeAppend:function(d,c){this.registerNode(c,true)},onNodeRemove:function(d,c){this.unregisterNode(c,true)},getNodeById:function(b){return this.nodeHash[b]},registerNode:function(c,d){this.nodeHash[c.getId()||c.internalId]=c;if(d===true){c.eachChild(function(a){this.registerNode(a,true)},this)}},unregisterNode:function(c,d){delete this.nodeHash[c.getId()||c.internalId];if(d===true){c.eachChild(function(a){this.unregisterNode(a,true)},this)}},sort:function(c,d){this.getRootNode().sort(c,d)},filter:function(c,d){this.getRootNode().filter(c,d)}});Ext.define("Docs.Settings",{extend:"Docs.LocalStore",storeName:"Settings",singleton:true,set:function(d,f){var e=this.store.findExact("key",d);if(e>-1){this.store.removeAt(e)}this.store.add({key:d,value:f});this.syncStore()},get:function(c){var d=this.store.findExact("key",c);return d>-1?this.store.getAt(d).get("value"):undefined}});Ext.define("Ext.XTemplate",{extend:"Ext.Template",argsRe:/<tpl\b[^>]*>((?:(?=([^<]+))\2|<(?!tpl\b[^>]*>))*?)<\/tpl>/,nameRe:/^<tpl\b[^>]*?for="(.*?)"/,ifRe:/^<tpl\b[^>]*?if="(.*?)"/,execRe:/^<tpl\b[^>]*?exec="(.*?)"/,constructor:function(){this.callParent(arguments);var m=this,M=m.html,B=m.argsRe,R=m.nameRe,D=m.ifRe,z=m.execRe,H=0,L=[],I="values",A="parent",K="xindex",J="xcount",Q="return ",S="with(values){ ",G,O,C,T,P,N,F,i,E;M=["<tpl>",M,"</tpl>"].join("");while((G=M.match(B))){P=null;N=null;F=null;O=G[0].match(R);C=G[0].match(D);T=G[0].match(z);P=C?C[1]:null;if(P){N=Ext.functionFactory(I,A,K,J,S+"try{"+Q+Ext.String.htmlDecode(P)+";}catch(e){return;}}")}P=T?T[1]:null;if(P){F=Ext.functionFactory(I,A,K,J,S+Ext.String.htmlDecode(P)+";}")}i=O?O[1]:null;if(i){if(i==="."){i=I}else{if(i===".."){i=A}}i=Ext.functionFactory(I,A,"try{"+S+Q+i+";}}catch(e){return;}")}L.push({id:H,target:i,exec:F,test:N,body:G[1]||""});M=M.replace(G[0],"{xtpl"+H+"}");H=H+1}for(E=L.length-1;E>=0;--E){m.compileTpl(L[E])}m.master=L[L.length-1];m.tpls=L},applySubTemplate:function(j,i,n,l,k){var m=this,h=m.tpls[j];return h.compiled.call(m,i,n,l,k)},codeRe:/\{\[((?:\\\]|.|\n)*?)\]\}/g,re:/\{([\w-\.\#]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?(\s?[\+\-\*\/]\s?[\d\.\+\-\*\/\(\)]+)?\}/g,compileTpl:function(tpl){var fm=Ext.util.Format,me=this,useFormat=me.disableFormats!==true,body,bodyReturn,evaluatedFn;function fn(m,name,format,args,math){var v;if(name.substr(0,4)=="xtpl"){return"',this.applySubTemplate("+name.substr(4)+", values, parent, xindex, xcount),'"}if(name=="."){v='Ext.Array.indexOf(["string", "number", "boolean"], typeof values) > -1 || Ext.isDate(values) ? values : ""'}else{if(name=="#"){v="xindex"}else{if(name.substr(0,7)=="parent."){v=name}else{if(name.indexOf(".")!=-1){v="values."+name}else{v="values['"+name+"']"}}}}if(math){v="("+v+math+")"}if(format&&useFormat){args=args?","+args:"";if(format.substr(0,5)!="this."){format="fm."+format+"("}else{format="this."+format.substr(5)+"("}}else{args="";format="("+v+" === undefined ? '' : "}return"',"+format+v+args+"),'"}function codeFn(m,code){return"',("+code.replace(me.compileARe,"'")+"),'"}bodyReturn=tpl.body.replace(me.compileBRe,"\\n").replace(me.compileCRe,"\\'").replace(me.re,fn).replace(me.codeRe,codeFn);body="evaluatedFn = function(values, parent, xindex, xcount){return ['"+bodyReturn+"'].join('');};";eval(body);tpl.compiled=function(values,parent,xindex,xcount){var vs,length,buffer,i;if(tpl.test&&!tpl.test.call(me,values,parent,xindex,xcount)){return""}vs=tpl.target?tpl.target.call(me,values,parent):values;if(!vs){return""}parent=tpl.target?values:parent;if(tpl.target&&Ext.isArray(vs)){buffer=[];length=vs.length;if(tpl.exec){for(i=0;i<length;i++){buffer[buffer.length]=evaluatedFn.call(me,vs[i],parent,i+1,length);tpl.exec.call(me,vs[i],parent,i+1,length)}}else{for(i=0;i<length;i++){buffer[buffer.length]=evaluatedFn.call(me,vs[i],parent,i+1,length)}}return buffer.join("")}if(tpl.exec){tpl.exec.call(me,vs,parent,xindex,xcount)}return evaluatedFn.call(me,vs,parent,xindex,xcount)};return this},applyTemplate:function(b){return this.master.compiled.call(this,b,{},1,1)},compile:function(){return this}},function(){this.createAlias("apply","applyTemplate")});Ext.define("Ext.layout.container.AbstractContainer",{extend:"Ext.layout.Layout",type:"container",bindToOwnerCtComponent:false,bindToOwnerCtContainer:false,setItemSize:function(f,d,e){if(Ext.isObject(d)){e=d.height;d=d.width}f.setCalculatedSize(d,e,this.owner)},getLayoutItems:function(){return this.owner&&this.owner.items&&this.owner.items.items||[]},beforeLayout:function(){return !this.owner.collapsed&&this.callParent(arguments)},afterLayout:function(){this.owner.afterLayout(this)},getTarget:function(){return this.owner.getTargetEl()},getRenderTarget:function(){return this.owner.getTargetEl()}});Ext.define("Ext.layout.container.Container",{extend:"Ext.layout.container.AbstractContainer",alternateClassName:"Ext.layout.ContainerLayout",layoutItem:function(c,d){if(d){c.doComponentLayout(d.width,d.height)}else{c.doComponentLayout()}},getLayoutTargetSize:function(){var c=this.getTarget(),d;if(c){d=c.getViewSize();if(Ext.isIE&&d.width==0){d=c.getStyleSize()}d.width-=c.getPadding("lr");d.height-=c.getPadding("tb")}return d},beforeLayout:function(){if(this.owner.beforeLayout(arguments)!==false){return this.callParent(arguments)}else{return false}},getRenderedItems:function(){var l=this,j=l.getTarget(),i=l.getLayoutItems(),m=i.length,k=[],h,n;for(h=0;h<m;h++){n=i[h];if(n.rendered&&l.isValidParent(n,j,h)){k.push(n)}}return k},getVisibleItems:function(){var i=this.getTarget(),g=this.getLayoutItems(),j=g.length,h=[],l,k;for(l=0;l<j;l++){k=g[l];if(k.rendered&&this.isValidParent(k,i,l)&&k.hidden!==true){h.push(k)}}return h}});Ext.ns("Ext.fx");Ext.require("Ext.fx.CubicBezier",function(){var l=Math,j=l.PI,m=l.pow,h=l.sin,k=l.sqrt,i=l.abs,n=1.70158;Ext.fx.Easing={};Ext.apply(Ext.fx.Easing,{linear:function(a){return a},ease:function(f){var s=0.07813-f/2,e=-0.25,d=k(0.0066+s*s),b=d-s,g=m(i(b),1/3)*(b<0?-1:1),c=-d-s,q=m(i(c),1/3)*(c<0?-1:1),a=g+q+0.25;return m(1-a,2)*3*a*0.1+(1-a)*3*a*a+a*a*a},easeIn:function(a){return m(a,1.7)},easeOut:function(a){return m(a,0.48)},easeInOut:function(g){var c=0.48-g/1.04,d=k(0.1734+c*c),f=d-c,q=m(i(f),1/3)*(f<0?-1:1),a=-d-c,b=m(i(a),1/3)*(a<0?-1:1),e=q+b+0.5;return(1-e)*3*e*e+e*e*e},backIn:function(a){return a*a*((n+1)*a-n)},backOut:function(a){a=a-1;return a*a*((n+1)*a+n)+1},elasticIn:function(a){if(a===0||a===1){return a}var b=0.3,c=b/4;return m(2,-10*a)*h((a-c)*(2*j)/b)+1},elasticOut:function(a){return 1-Ext.fx.Easing.elasticIn(1-a)},bounceIn:function(a){return 1-Ext.fx.Easing.bounceOut(1-a)},bounceOut:function(a){var c=7.5625,b=2.75,d;if(a<(1/b)){d=c*a*a}else{if(a<(2/b)){a-=(1.5/b);d=c*a*a+0.75}else{if(a<(2.5/b)){a-=(2.25/b);d=c*a*a+0.9375}else{a-=(2.625/b);d=c*a*a+0.984375}}}return d}});Ext.apply(Ext.fx.Easing,{"back-in":Ext.fx.Easing.backIn,"back-out":Ext.fx.Easing.backOut,"ease-in":Ext.fx.Easing.easeIn,"ease-out":Ext.fx.Easing.easeOut,"elastic-in":Ext.fx.Easing.elasticIn,"elastic-out":Ext.fx.Easing.elasticIn,"bounce-in":Ext.fx.Easing.bounceIn,"bounce-out":Ext.fx.Easing.bounceOut,"ease-in-out":Ext.fx.Easing.easeInOut})});Ext.define("Ext.util.Sortable",{isSortable:true,defaultSortDirection:"ASC",requires:["Ext.util.Sorter"],initSortable:function(){var d=this,c=d.sorters;d.sorters=Ext.create("Ext.util.AbstractMixedCollection",false,function(a){return a.id||a.property});if(c){d.sorters.addAll(d.decodeSorters(c))}},sort:function(l,m,p,n){var o=this,k,i,j;if(Ext.isArray(l)){n=p;p=m;j=l}else{if(Ext.isObject(l)){n=p;p=m;j=[l]}else{if(Ext.isString(l)){k=o.sorters.get(l);if(!k){k={property:l,direction:m};j=[k]}else{if(m===undefined){k.toggle()}else{k.setDirection(m)}}}}}if(j&&j.length){j=o.decodeSorters(j);if(Ext.isString(p)){if(p==="prepend"){l=o.sorters.clone().items;o.sorters.clear();o.sorters.addAll(j);o.sorters.addAll(l)}else{o.sorters.addAll(j)}}else{o.sorters.clear();o.sorters.addAll(j)}}if(n!==false){o.onBeforeSort(j);l=o.sorters.items;if(l.length){i=function(b,c){var d=l[0].sort(b,c),e=l.length,a;for(a=1;a<e;a++){d=d||l[a].sort.call(this,b,c)}return d};o.doSort(i)}}return l},onBeforeSort:Ext.emptyFn,decodeSorters:function(k){if(!Ext.isArray(k)){if(k===undefined){k=[]}else{k=[k]}}var m=k.length,j=Ext.util.Sorter,i=this.model?this.model.prototype.fields:null,l,h,n;for(n=0;n<m;n++){h=k[n];if(!(h instanceof j)){if(Ext.isString(h)){h={property:h}}Ext.applyIf(h,{root:this.sortRoot,direction:"ASC"});if(h.fn){h.sorterFn=h.fn}if(typeof h=="function"){h={sorterFn:h}}if(i&&!h.transform){l=i.get(h.property);h.transform=l?l.sortType:undefined}k[n]=Ext.create("Ext.util.Sorter",h)}}return k},getSorters:function(){return this.sorters.items}});Ext.define("Ext.util.MixedCollection",{extend:"Ext.util.AbstractMixedCollection",mixins:{sortable:"Ext.util.Sortable"},constructor:function(){var b=this;b.callParent(arguments);b.addEvents("sort");b.mixins.sortable.initSortable.call(b)},doSort:function(b){this.sortBy(b)},_sort:function(i,t,m){var n=this,r,q,s=String(t).toUpperCase()=="DESC"?-1:1,o=[],c=n.keys,p=n.items;m=m||function(a,b){return a-b};for(r=0,q=p.length;r<q;r++){o[o.length]={key:c[r],value:p[r],index:r}}Ext.Array.sort(o,function(b,d){var a=m(b[i],d[i])*s;if(a===0){a=(b.index<d.index?-1:1)}return a});for(r=0,q=o.length;r<q;r++){p[r]=o[r].value;c[r]=o[r].key}n.fireEvent("sort",n)},sortBy:function(n){var j=this,h=j.items,k=j.keys,l=h.length,i=[],m;for(m=0;m<l;m++){i[m]={key:k[m],value:h[m],index:m}}Ext.Array.sort(i,function(b,c){var a=n(b.value,c.value);if(a===0){a=(b.index<c.index?-1:1)}return a});for(m=0;m<l;m++){h[m]=i[m].value;k[m]=i[m].key}j.fireEvent("sort",j,h,k)},reorder:function(o){var l=this,i=l.items,p=0,m=i.length,j=[],n=[],k;l.suspendEvents();for(k in o){j[o[k]]=i[k]}for(p=0;p<m;p++){if(o[p]==undefined){n.push(i[p])}}for(p=0;p<m;p++){if(j[p]==undefined){j[p]=n.shift()}}l.clear();l.addAll(j);l.resumeEvents();l.fireEvent("sort",l)},sortByKey:function(d,c){this._sort("key",d,c||function(g,h){var a=String(g).toUpperCase(),b=String(h).toUpperCase();return a>b?1:(a<b?-1:0)})}});Ext.define("Ext.data.AbstractStore",{requires:["Ext.util.MixedCollection","Ext.data.Operation","Ext.util.Filter"],mixins:{observable:"Ext.util.Observable",sortable:"Ext.util.Sortable"},statics:{create:function(b){if(!b.isStore){if(!b.type){b.type="store"}b=Ext.createByAlias("store."+b.type,b)}return b}},remoteSort:false,remoteFilter:false,autoLoad:false,autoSync:false,batchUpdateMode:"operation",filterOnLoad:true,sortOnLoad:true,implicitModel:false,defaultProxyType:"memory",isDestroyed:false,isStore:true,sortRoot:"data",constructor:function(e){var f=this,d;f.addEvents("add","remove","update","datachanged","beforeload","load","write","beforesync","clear");Ext.apply(f,e);f.removed=[];f.mixins.observable.constructor.apply(f,arguments);f.model=Ext.ModelManager.getModel(f.model);Ext.applyIf(f,{modelDefaults:{}});if(!f.model&&f.fields){f.model=Ext.define("Ext.data.Store.ImplicitModel-"+(f.storeId||Ext.id()),{extend:"Ext.data.Model",fields:f.fields,proxy:f.proxy||f.defaultProxyType});delete f.fields;f.implicitModel=true}if(!f.model){if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn("Store defined with no model. You may have mistyped the model name.")}}f.setProxy(f.proxy||f.model.getProxy());if(f.id&&!f.storeId){f.storeId=f.id;delete f.id}if(f.storeId){Ext.data.StoreManager.register(f)}f.mixins.sortable.initSortable.call(f);d=f.decodeFilters(f.filters);f.filters=Ext.create("Ext.util.MixedCollection");f.filters.addAll(d)},setProxy:function(d){var c=this;if(d instanceof Ext.data.proxy.Proxy){d.setModel(c.model)}else{if(Ext.isString(d)){d={type:d}}Ext.applyIf(d,{model:c.model});d=Ext.createByAlias("proxy."+d.type,d)}c.proxy=d;return c.proxy},getProxy:function(){return this.proxy},create:function(h,j){var i=this,g=Ext.ModelManager.create(Ext.applyIf(h,i.modelDefaults),i.model.modelName),f;j=j||{};Ext.applyIf(j,{action:"create",records:[g]});f=Ext.create("Ext.data.Operation",j);i.proxy.create(f,i.onProxyWrite,i);return g},read:function(){return this.load.apply(this,arguments)},onProxyRead:Ext.emptyFn,update:function(d){var f=this,e;d=d||{};Ext.applyIf(d,{action:"update",records:f.getUpdatedRecords()});e=Ext.create("Ext.data.Operation",d);return f.proxy.update(e,f.onProxyWrite,f)},onProxyWrite:function(e){var h=this,g=e.wasSuccessful(),f=e.getRecords();switch(e.action){case"create":h.onCreateRecords(f,e,g);break;case"update":h.onUpdateRecords(f,e,g);break;case"destroy":h.onDestroyRecords(f,e,g);break}if(g){h.fireEvent("write",h,e);h.fireEvent("datachanged",h)}Ext.callback(e.callback,e.scope||h,[f,e,g])},destroy:function(d){var f=this,e;d=d||{};Ext.applyIf(d,{action:"destroy",records:f.getRemovedRecords()});e=Ext.create("Ext.data.Operation",d);return f.proxy.destroy(e,f.onProxyWrite,f)},onBatchOperationComplete:function(c,d){return this.onProxyWrite(d)},onBatchComplete:function(l,h){var i=this,g=l.operations,j=g.length,k;i.suspendEvents();for(k=0;k<j;k++){i.onProxyWrite(g[k])}i.resumeEvents();i.fireEvent("datachanged",i)},onBatchException:function(c,d){},filterNew:function(b){return b.phantom===true&&b.isValid()},getNewRecords:function(){return[]},getUpdatedRecords:function(){return[]},filterUpdated:function(b){return b.dirty===true&&b.phantom!==true&&b.isValid()},getRemovedRecords:function(){return this.removed},filter:function(d,c){},decodeFilters:function(h){if(!Ext.isArray(h)){if(h===undefined){h=[]}else{h=[h]}}var i=h.length,g=Ext.util.Filter,f,j;for(j=0;j<i;j++){f=h[j];if(!(f instanceof g)){Ext.apply(f,{root:"data"});if(f.fn){f.filterFn=f.fn}if(typeof f=="function"){f={filterFn:f}}h[j]=new g(f)}}return h},clearFilter:function(b){},isFiltered:function(){},filterBy:function(c,d){},sync:function(){var k=this,g={},j=k.getNewRecords(),l=k.getUpdatedRecords(),h=k.getRemovedRecords(),i=false;if(j.length>0){g.create=j;i=true}if(l.length>0){g.update=l;i=true}if(h.length>0){g.destroy=h;i=true}if(i&&k.fireEvent("beforesync",g)!==false){k.proxy.batch(g,k.getBatchListeners())}},getBatchListeners:function(){var c=this,d={scope:c,exception:c.onBatchException};if(c.batchUpdateMode=="operation"){d.operationcomplete=c.onBatchOperationComplete}else{d.complete=c.onBatchComplete}return d},save:function(){return this.sync.apply(this,arguments)},load:function(d){var f=this,e;d=d||{};Ext.applyIf(d,{action:"read",filters:f.filters.items,sorters:f.getSorters()});e=Ext.create("Ext.data.Operation",d);if(f.fireEvent("beforeload",f,e)!==false){f.loading=true;f.proxy.read(e,f.onProxyLoad,f)}return f},afterEdit:function(d){var c=this;if(c.autoSync){c.sync()}c.fireEvent("update",c,d,Ext.data.Model.EDIT)},afterReject:function(b){this.fireEvent("update",this,b,Ext.data.Model.REJECT)},afterCommit:function(b){this.fireEvent("update",this,b,Ext.data.Model.COMMIT)},clearData:Ext.emptyFn,destroyStore:function(){var b=this;if(!b.isDestroyed){if(b.storeId){Ext.data.StoreManager.unregister(b)}b.clearData();b.data=null;b.tree=null;b.reader=b.writer=null;b.clearListeners();b.isDestroyed=true;if(b.implicitModel){Ext.destroy(b.model)}}},doSort:function(d){var c=this;if(c.remoteSort){c.load()}else{c.data.sortBy(d);c.fireEvent("datachanged",c)}},getCount:Ext.emptyFn,getById:Ext.emptyFn,removeAll:Ext.emptyFn,isLoading:function(){return !!this.loading}});Ext.define("Ext.ModelManager",{extend:"Ext.AbstractManager",alternateClassName:"Ext.ModelMgr",requires:["Ext.data.Association"],singleton:true,typeName:"mtype",associationStack:[],registerType:function(h,e){var g=e.prototype,f;if(g&&g.isModel){f=e}else{if(!e.extend){e.extend="Ext.data.Model"}f=Ext.define(h,e)}this.types[h]=f;return f},onModelDefined:function(n){var i=this.associationStack,k=i.length,l=[],h,m,j;for(m=0;m<k;m++){h=i[m];if(h.associatedModel==n.modelName){l.push(h)}}for(m=0,k=l.length;m<k;m++){j=l[m];this.types[j.ownerModel].prototype.associations.add(Ext.data.Association.create(j));Ext.Array.remove(i,j)}},registerDeferredAssociation:function(b){this.associationStack.push(b)},getModel:function(c){var d=c;if(typeof d=="string"){d=this.types[d]}return d},create:function(h,e,g){var f=typeof e=="function"?e:this.types[e||h.name];return new f(h,g)}},function(){Ext.regModel=function(){if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn('Ext.regModel has been deprecated. Models can now be created by extending Ext.data.Model: Ext.define("MyModel", {extend: "Ext.data.Model", fields: []});.')}return this.ModelManager.registerType.apply(this.ModelManager,arguments)}});Ext.define("Ext.data.StoreManager",{extend:"Ext.util.MixedCollection",alternateClassName:["Ext.StoreMgr","Ext.data.StoreMgr","Ext.StoreManager"],singleton:true,uses:["Ext.data.ArrayStore"],register:function(){for(var d=0,c;(c=arguments[d]);d++){this.add(c)}},unregister:function(){for(var d=0,c;(c=arguments[d]);d++){this.remove(this.lookup(c))}},lookup:function(l){if(Ext.isArray(l)){var g=["field1"],j=!Ext.isArray(l[0]),i=l,k,h;if(j){i=[];for(k=0,h=l.length;k<h;++k){i.push([l[k]])}}else{for(k=2,h=l[0].length;k<=h;++k){g.push("field"+k)}}return Ext.create("Ext.data.ArrayStore",{data:i,fields:g,autoDestroy:true,autoCreated:true,expanded:j})}if(Ext.isString(l)){return this.get(l)}else{return Ext.data.AbstractStore.create(l)}},getKey:function(b){return b.storeId}},function(){Ext.regStore=function(f,d){var e;if(Ext.isObject(f)){d=f}else{d.storeId=f}if(d instanceof Ext.data.Store){e=d}else{e=Ext.create("Ext.data.Store",d)}return Ext.data.StoreManager.register(e)};Ext.getStore=function(b){return Ext.data.StoreManager.lookup(b)}});Ext.define("Ext.ComponentManager",{extend:"Ext.AbstractManager",alternateClassName:"Ext.ComponentMgr",singleton:true,typeName:"xtype",create:function(e,g){if(e instanceof Ext.AbstractComponent){return e}else{if(Ext.isString(e)){return Ext.createByAlias("widget."+e)}else{var h=e.xtype||g,f=e;return Ext.createByAlias("widget."+h,f)}}},registerType:function(c,d){this.types[c]=d;d[this.typeName]=c;d.prototype[this.typeName]=c}});Ext.define("Ext.FocusManager",{singleton:true,alternateClassName:"Ext.FocusMgr",mixins:{observable:"Ext.util.Observable"},requires:["Ext.ComponentManager","Ext.ComponentQuery","Ext.util.HashMap","Ext.util.KeyNav"],enabled:false,focusElementCls:Ext.baseCSSPrefix+"focus-element",focusFrameCls:Ext.baseCSSPrefix+"focus-frame",whitelist:["textfield"],tabIndexWhitelist:["a","button","embed","frame","iframe","img","input","object","select","textarea"],constructor:function(){var d=this,c=Ext.ComponentQuery;d.addEvents("beforecomponentfocus","componentfocus","disable","enable");d.keyNav=Ext.create("Ext.util.KeyNav",Ext.getDoc(),{disabled:true,scope:d,backspace:d.focusLast,enter:d.navigateIn,esc:d.navigateOut,tab:d.navigateSiblings});d.focusData={};d.subscribers=Ext.create("Ext.util.HashMap");d.focusChain={};Ext.apply(c.pseudos,{focusable:function(k){var m=k.length,b=[],i=0,a,l=function(e){return e&&e.focusable!==false&&c.is(e,"[rendered]:not([destroying]):not([isDestroyed]):not([disabled]){isVisible(true)}{el && c.el.dom && c.el.isVisible()}")};for(;i<m;i++){a=k[i];if(l(a)){b.push(a)}}return b},nextFocus:function(k,l,b){b=b||1;l=parseInt(l,10);var m=k.length,i=l+b,a;for(;i!=l;i+=b){if(i>=m){i=0}else{if(i<0){i=m-1}}a=k[i];if(c.is(a,":focusable")){return[a]}else{if(a.placeholder&&c.is(a.placeholder,":focusable")){return[a.placeholder]}}}return[]},prevFocus:function(a,b){return this.nextFocus(a,b,-1)},root:function(j){var k=j.length,b=[],i=0,a;for(;i<k;i++){a=j[i];if(!a.ownerCt){b.push(a)}}return b}})},addXTypeToWhitelist:function(c){var d=this;if(Ext.isArray(c)){Ext.Array.forEach(c,d.addXTypeToWhitelist,d);return}if(!Ext.Array.contains(d.whitelist,c)){d.whitelist.push(c)}},clearComponent:function(b){clearTimeout(this.cmpFocusDelay);if(!b.isDestroyed){b.blur()}},disable:function(){var b=this;if(!b.enabled){return}delete b.options;b.enabled=false;Ext.ComponentManager.all.un("add",b.onComponentCreated,b);b.removeDOM();b.keyNav.disable();b.setFocusAll(false);b.fireEvent("disable",b)},enable:function(d){var c=this;if(d===true){d={focusFrame:true}}c.options=d=d||{};if(c.enabled){return}Ext.ComponentManager.all.on("add",c.onComponentCreated,c);c.initDOM(d);c.keyNav.enable();c.setFocusAll(true,d);c.focusEl.focus();delete c.focusedCmp;c.enabled=true;c.fireEvent("enable",c)},focusLast:function(c){var d=this;if(d.isWhitelisted(d.focusedCmp)){return true}if(d.previousFocusedCmp){d.previousFocusedCmp.focus()}},getRootComponents:function(){var f=this,h=Ext.ComponentQuery,e=h.query(":focusable:root:not([floating])"),g=h.query(":focusable:root[floating]");g.sort(function(a,b){return a.el.getZIndex()>b.el.getZIndex()});return g.concat(e)},initDOM:function(e){var h=this,g=" ",f=h.focusFrameCls;if(!Ext.isReady){Ext.onReady(h.initDOM,h);return}if(!h.focusEl){h.focusEl=Ext.getBody().createChild({tabIndex:"-1",cls:h.focusElementCls,html:g})}if(!h.focusFrame&&e.focusFrame){h.focusFrame=Ext.getBody().createChild({cls:f,children:[{cls:f+"-top"},{cls:f+"-bottom"},{cls:f+"-left"},{cls:f+"-right"}],style:"top: -100px; left: -100px;"});h.focusFrame.setVisibilityMode(Ext.Element.DISPLAY);h.focusFrameWidth=2;h.focusFrame.hide().setLeftTop(0,0)}},isWhitelisted:function(b){return b&&Ext.Array.some(this.whitelist,function(a){return b.isXType(a)})},navigateIn:function(i){var e=this,g=e.focusedCmp,h,j;if(!g){h=e.getRootComponents();if(h.length){h[0].focus()}}else{j=Ext.ComponentQuery.query(">:focusable",g)[0];if(j){j.focus()}else{if(Ext.isFunction(g.onClick)){i.button=0;g.onClick(i);g.focus()}}}},navigateOut:function(f){var d=this,e;if(!d.focusedCmp||!(e=d.focusedCmp.up(":focusable"))){d.focusEl.focus()}else{e.focus()}return true},navigateSiblings:function(t,y,o){var s=this,z=y||s,e=t.getKey(),v=Ext.EventObject,r=t.shiftKey||e==v.LEFT||e==v.UP,x=e==v.LEFT||e==v.RIGHT||e==v.UP||e==v.DOWN,u=r?"prev":"next",p,w,q;q=(z.focusedCmp&&z.focusedCmp.comp)||z.focusedCmp;if(!q&&!o){return}if(x&&s.isWhitelisted(q)){return true}o=o||q.up();if(o){p=q?Ext.Array.indexOf(o.getRefItems(),q):-1;w=Ext.ComponentQuery.query(">:"+u+"Focus("+p+")",o)[0];if(w&&q!==w){w.focus();return w}}},onComponentBlur:function(d,f){var e=this;if(e.focusedCmp===d){e.previousFocusedCmp=d;delete e.focusedCmp}if(e.focusFrame){e.focusFrame.hide()}},onComponentCreated:function(d,f,e){this.setFocus(e,true,this.options)},onComponentDestroy:function(b){this.setFocus(b,false)},onComponentFocus:function(v,y){var x=this,H=x.focusChain;if(!Ext.ComponentQuery.is(v,":focusable")){x.clearComponent(v);if(H[v.id]){return}var t=v.up();if(t){H[v.id]=true;t.focus()}return}x.focusChain={};clearTimeout(x.cmpFocusDelay);if(arguments.length!==2){x.cmpFocusDelay=Ext.defer(x.onComponentFocus,90,x,[v,y]);return}if(x.fireEvent("beforecomponentfocus",x,v,x.previousFocusedCmp)===false){x.clearComponent(v);return}x.focusedCmp=v;if(x.shouldShowFocusFrame(v)){var e="."+x.focusFrameCls+"-",G=x.focusFrame,D=x.focusFrameWidth,A=v.el.getPageBox(),s=A.top,F=A.left,w=A.width,C=A.height,B=G.child(e+"top"),E=G.child(e+"bottom"),u=G.child(e+"left"),z=G.child(e+"right");B.setWidth(w).setLeftTop(F,s);E.setWidth(w).setLeftTop(F,s+C-D);u.setHeight(C-D-D).setLeftTop(F,s+D);z.setHeight(C-D-D).setLeftTop(F+w-D,s+D);G.show()}x.fireEvent("componentfocus",x,v,x.previousFocusedCmp)},onComponentHide:function(j){var k=this,i=Ext.ComponentQuery,g=false,h,l;if(k.focusedCmp){h=i.query("[id="+k.focusedCmp.id+"]",j)[0];g=k.focusedCmp.id===j.id||h;if(h){k.clearComponent(h)}}k.clearComponent(j);if(g){l=i.query("^:focusable",j)[0];if(l){l.focus()}}},removeDOM:function(){var b=this;if(b.enabled||b.subscribers.length){return}Ext.destroy(b.focusEl,b.focusFrame);delete b.focusEl;delete b.focusFrame;delete b.focusFrameWidth},removeXTypeFromWhitelist:function(c){var d=this;if(Ext.isArray(c)){Ext.Array.forEach(c,d.removeXTypeFromWhitelist,d);return}Ext.Array.remove(d.whitelist,c)},setFocus:function(n,k,i){var o=this,p,l,m,j=function(a){return !Ext.Array.contains(o.tabIndexWhitelist,a.tagName.toLowerCase())&&a.tabIndex<=0};i=i||{};if(!n.rendered){n.on("afterrender",Ext.pass(o.setFocus,arguments,o),o,{single:true});return}p=n.getFocusEl();l=p.dom;if((k&&!o.focusData[n.id])||(!k&&o.focusData[n.id])){if(k){m={focusFrame:i.focusFrame};if(j(l)){m.tabIndex=l.tabIndex;l.tabIndex=-1}p.on({focus:m.focusFn=Ext.bind(o.onComponentFocus,o,[n],0),blur:m.blurFn=Ext.bind(o.onComponentBlur,o,[n],0),scope:o});n.on({hide:o.onComponentHide,close:o.onComponentHide,beforedestroy:o.onComponentDestroy,scope:o});o.focusData[n.id]=m}else{m=o.focusData[n.id];if("tabIndex" in m){l.tabIndex=m.tabIndex}p.un("focus",m.focusFn,o);p.un("blur",m.blurFn,o);n.un("hide",o.onComponentHide,o);n.un("close",o.onComponentHide,o);n.un("beforedestroy",o.onComponentDestroy,o);delete o.focusData[n.id]}}},setFocusAll:function(j,n){var k=this,h=Ext.ComponentManager.all.getArray(),i=h.length,l,m=0;for(;m<i;m++){k.setFocus(h[m],j,n)}},setupSubscriberKeys:function(i,k){var l=this,m=i.getFocusEl(),n=k.scope,h={backspace:l.focusLast,enter:l.navigateIn,esc:l.navigateOut,scope:l},j=function(a){if(l.focusedCmp===i){return l.navigateSiblings(a,l,i)}else{return l.navigateSiblings(a)}};Ext.iterate(k,function(a,b){h[a]=function(c){var d=j(c);if(Ext.isFunction(b)&&b.call(n||i,c,d)===true){return true}return d}},l);return Ext.create("Ext.util.KeyNav",m,h)},shouldShowFocusFrame:function(f){var d=this,e=d.options||{};if(!d.focusFrame||!f){return false}if(e.focusFrame){return true}if(d.focusData[f.id].focusFrame){return true}return false},subscribe:function(i,n){var k=this,l=Ext.Array,j={},m=k.subscribers,h=function(a){if(a.isContainer&&!m.containsKey(a.id)){l.forEach(a.query(">"),h);k.setFocus(a,true,n);a.on("add",j.onAdd,k)}else{if(!a.isContainer){k.setFocus(a,true,n)}}};if(!i||!i.isContainer){return}if(!i.rendered){i.on("afterrender",Ext.pass(k.subscribe,arguments,k),k,{single:true});return}k.initDOM(n);j.keyNav=k.setupSubscriberKeys(i,n.keys);j.onAdd=function(b,a,c){h(a)};i.on("beforedestroy",k.unsubscribe,k);h(i);m.add(i.id,j)},unsubscribe:function(h){var j=this,k=Ext.Array,l=j.subscribers,i,g=function(a){if(a.isContainer&&!l.containsKey(a.id)){k.forEach(a.query(">"),g);j.setFocus(a,false);a.un("add",i.onAdd,j)}else{if(!a.isContainer){j.setFocus(a,false)}}};if(!h||!l.containsKey(h.id)){return}i=l.get(h.id);i.keyNav.destroy();h.un("beforedestroy",j.unsubscribe,j);l.removeAtKey(h.id);g(h);j.removeDOM()}});Ext.define("Docs.view.cls.PackageLogic",{extend:"Docs.view.cls.Logic",create:function(){this.root={children:[],text:"Root"};this.packages={"":this.root};Ext.Array.forEach(this.classes,this.addClass,this);this.sortTree(this.root);return this.root},sortTree:function(b){b.children.sort(this.compare);Ext.Array.forEach(b.children,this.sortTree,this)},compare:function(g,h){if(g.leaf===h.leaf){var b=g.text.toLowerCase();var a=h.text.toLowerCase();return b>a?1:(b<a?-1:0)}else{return g.leaf?1:-1}},addClass:function(g){if(g["private"]&&!this.showPrivateClasses){return}if(this.packages[g.name]){var f=this.packages[g.name];var i=this.classNode(g);f.iconCls=i.iconCls;f.url=i.url}else{var h=this.packageName(g.name);var j=this.packages[h]||this.addPackage(h);if(j.leaf){j.leaf=false}var i=this.classNode(g);j.children.push(i);this.packages[g.name]=i}},addPackage:function(e){var g=this.packageName(e);var h=this.packages[g]||this.addPackage(g);var f=this.packageNode(e);h.children.push(f);this.packages[e]=f;return f},classNode:function(b){return{text:this.shortName(b.name),url:"#!/api/"+b.name,iconCls:b.icon,cls:b["private"]?"private":"",leaf:true,children:[]}},packageNode:function(b){return{text:this.shortName(b),iconCls:"icon-pkg",leaf:false,children:[]}},packageName:function(b){return b.slice(0,-this.shortName(b).length-1)||""},shortName:function(d){var c=d.split(/\./);return c.pop()}});Ext.define("Docs.view.cls.InheritanceLogic",{extend:"Docs.view.cls.Logic",create:function(){this.root={children:[],text:"Root"};this.subclasses=this.buildLookupTable(this.classes);Ext.Array.forEach(this.classes,this.addClass,this);this.sortTree(this.root);return this.root},sortTree:function(b){b.children.sort(this.compare,this);Ext.Array.forEach(b.children,this.sortTree,this)},compare:function(g,h){var b=g.text.toLowerCase();var a=h.text.toLowerCase();return b>a?1:(b<a?-1:0)},buildLookupTable:function(d){var c={};Ext.Array.forEach(d,function(b){if(b["private"]&&!this.showPrivateClasses){return}var a=b["extends"];if(a&&a!=="Object"){if(!c[a]){c[a]=[]}c[a].push(b)}},this);return c},classNode:function(b){return{text:b.name,url:"#!/api/"+b.name,iconCls:b.icon,cls:b["private"]?"private":""}},addClass:function(e){if(e["private"]&&!this.showPrivateClasses){return}var d=e["extends"];if(!d||d==="Object"){var f=this.classNode(e);this.root.children.push(f);f.children=this.getSubclasses(e.name);f.leaf=f.children.length===0}},getSubclasses:function(b){if(!this.subclasses[b]){return[]}return Ext.Array.map(this.subclasses[b],function(a){var d=this.classNode(a);d.children=this.getSubclasses(a.name);d.leaf=d.children.length===0;return d},this)}});Ext.define("Ext.form.Labelable",{requires:["Ext.XTemplate"],labelableRenderTpl:['<tpl if="!hideLabel && !(!fieldLabel && hideEmptyLabel)">','<label id="{id}-labelEl"<tpl if="inputId"> for="{inputId}"</tpl> class="{labelCls}"','<tpl if="labelStyle"> style="{labelStyle}"</tpl>>','<tpl if="fieldLabel">{fieldLabel}{labelSeparator}</tpl>',"</label>","</tpl>",'<div class="{baseBodyCls} {fieldBodyCls}" id="{id}-bodyEl" role="presentation">{subTplMarkup}</div>','<div id="{id}-errorEl" class="{errorMsgCls}" style="display:none"></div>','<div class="{clearCls}" role="presentation"><!-- --></div>',{compiled:true,disableFormats:true}],activeErrorsTpl:['<tpl if="errors && errors.length">','<ul><tpl for="errors"><li<tpl if="xindex == xcount"> class="last"</tpl>>{.}</li></tpl></ul>',"</tpl>"],isFieldLabelable:true,formItemCls:Ext.baseCSSPrefix+"form-item",labelCls:Ext.baseCSSPrefix+"form-item-label",errorMsgCls:Ext.baseCSSPrefix+"form-error-msg",baseBodyCls:Ext.baseCSSPrefix+"form-item-body",fieldBodyCls:"",clearCls:Ext.baseCSSPrefix+"clear",invalidCls:Ext.baseCSSPrefix+"form-invalid",fieldLabel:undefined,labelAlign:"left",labelWidth:100,labelPad:5,labelSeparator:":",hideLabel:false,hideEmptyLabel:true,preventMark:false,autoFitErrors:true,msgTarget:"qtip",initLabelable:function(){this.addCls(this.formItemCls);this.addEvents("errorchange")},getFieldLabel:function(){return this.fieldLabel||""},getLabelableRenderData:function(){var j=this,g=j.labelAlign,i=j.labelCls,k=j.labelClsExtra,l=j.labelPad,h;if(g==="top"){h="margin-bottom:"+l+"px;"}else{h="margin-right:"+l+"px;";if(Ext.isBorderBox){h+="width:"+j.labelWidth+"px;"}}return Ext.copyTo({inputId:j.getInputId(),fieldLabel:j.getFieldLabel(),labelCls:k?i+" "+k:i,labelStyle:h+(j.labelStyle||""),subTplMarkup:j.getSubTplMarkup()},j,"hideLabel,hideEmptyLabel,fieldBodyCls,baseBodyCls,errorMsgCls,clearCls,labelSeparator",true)},onLabelableRender:function(){this.addChildEls("labelEl","bodyEl","errorEl")},getSubTplMarkup:function(){return""},getInputId:function(){return""},getActiveError:function(){return this.activeError||""},hasActiveError:function(){return !!this.getActiveError()},setActiveError:function(b){this.activeError=b;this.activeErrors=[b];this.renderActiveError()},getActiveErrors:function(){return this.activeErrors||[]},setActiveErrors:function(b){this.activeErrors=b;this.activeError=this.getTpl("activeErrorsTpl").apply({errors:b});this.renderActiveError()},unsetActiveError:function(){delete this.activeError;delete this.activeErrors;this.renderActiveError()},renderActiveError:function(){var f=this,d=f.getActiveError(),e=!!d;if(d!==f.lastActiveError){f.fireEvent("errorchange",f,d);f.lastActiveError=d}if(f.rendered&&!f.isDestroyed&&!f.preventMark){f.el[e?"addCls":"removeCls"](f.invalidCls);f.getActionEl().dom.setAttribute("aria-invalid",e);f.errorEl.dom.innerHTML=d}},setFieldDefaults:function(c){var d=this;Ext.iterate(c,function(b,a){if(!d.hasOwnProperty(b)){d[b]=a}})},getBodyNaturalWidth:function(){return this.bodyEl.getWidth()}});Ext.define("Ext.layout.component.Component",{extend:"Ext.layout.Layout",type:"component",monitorChildren:true,initLayout:function(){var f=this,e=f.owner,d=e.el;if(!f.initialized){if(e.frameSize){f.frameSize=e.frameSize}else{e.frameSize=f.frameSize={top:0,left:0,bottom:0,right:0}}}f.callParent(arguments)},beforeLayout:function(u,m,l,o){this.callParent(arguments);var p=this,t=p.owner,s=t.ownerCt,q=t.layout,r=t.isVisible(true),v=t.el.child,n;p.previousComponentSize=p.lastComponentSize;if(!l&&((!Ext.isNumber(u)&&t.isFixedWidth())||(!Ext.isNumber(m)&&t.isFixedHeight()))&&o&&o!==s){p.doContainerLayout();return false}if(!r&&(t.hiddenAncestor||t.floating)){if(t.hiddenAncestor){n=t.hiddenAncestor.layoutOnShow;n.remove(t);n.add(t)}t.needsLayout={width:u,height:m,isSetSize:false}}if(r&&this.needsLayout(u,m)){return t.beforeComponentLayout(u,m,l,o)}else{return false}},needsLayout:function(i,g){var h=this,j,f;h.lastComponentSize=h.lastComponentSize||{width:-Infinity,height:-Infinity};j=!Ext.isDefined(i)||h.lastComponentSize.width!==i;f=!Ext.isDefined(g)||h.lastComponentSize.height!==g;return !h.isSizing&&(h.childrenChanged||j||f)},setElementSize:function(f,d,e){if(d!==undefined&&e!==undefined){f.setSize(d,e)}else{if(e!==undefined){f.setHeight(e)}else{if(d!==undefined){f.setWidth(d)}}}},getTarget:function(){return this.owner.el},getRenderTarget:function(){return this.owner.el},setTargetSize:function(m,i){var l=this;l.setElementSize(l.owner.el,m,i);if(l.owner.frameBody){var j=l.getTargetInfo(),k=j.padding,n=j.border,h=l.frameSize;l.setElementSize(l.owner.frameBody,Ext.isNumber(m)?(m-h.left-h.right-k.left-k.right-n.left-n.right):m,Ext.isNumber(i)?(i-h.top-h.bottom-k.top-k.bottom-n.top-n.bottom):i)}l.autoSized={width:!Ext.isNumber(m),height:!Ext.isNumber(i)};l.lastComponentSize={width:m,height:i}},getTargetInfo:function(){if(!this.targetInfo){var c=this.getTarget(),d=this.owner.getTargetEl();this.targetInfo={padding:{top:c.getPadding("t"),right:c.getPadding("r"),bottom:c.getPadding("b"),left:c.getPadding("l")},border:{top:c.getBorderWidth("t"),right:c.getBorderWidth("r"),bottom:c.getBorderWidth("b"),left:c.getBorderWidth("l")},bodyMargin:{top:d.getMargin("t"),right:d.getMargin("r"),bottom:d.getMargin("b"),left:d.getMargin("l")}}}return this.targetInfo},doOwnerCtLayouts:function(){var i=this.owner,n=i.ownerCt,p,k,o=this.lastComponentSize,l=this.previousComponentSize,j=(l&&o&&Ext.isNumber(o.width))?o.width!==l.width:true,m=(l&&o&&Ext.isNumber(o.height))?o.height!==l.height:true;if(!n||(!j&&!m)){return}p=n.componentLayout;k=n.layout;if(!i.floating&&p&&p.monitorChildren&&!p.layoutBusy){if(!n.suspendLayout&&k&&!k.layoutBusy){if(((j&&!n.isFixedWidth())||(m&&!n.isFixedHeight()))){this.isSizing=true;n.doComponentLayout();this.isSizing=false}else{if(k.bindToOwnerCtContainer===true){k.layout()}}}}},doContainerLayout:function(){var h=this,g=h.owner,j=g.ownerCt,i=g.layout,f;if(!g.suspendLayout&&i&&i.isLayout&&!i.layoutBusy&&!i.isAutoDock){i.layout()}if(j&&j.componentLayout){f=j.componentLayout;if(!g.floating&&f.monitorChildren&&!f.layoutBusy){f.childrenChanged=true}}},afterLayout:function(h,f,e,g){this.doContainerLayout();this.owner.afterComponentLayout(h,f,e,g)}});Ext.define("Ext.layout.component.field.Field",{alias:["layout.field"],extend:"Ext.layout.component.Component",uses:["Ext.tip.QuickTip","Ext.util.TextMetrics"],type:"field",beforeLayout:function(d,e){var f=this;return f.callParent(arguments)||(!f.owner.preventMark&&f.activeError!==f.owner.getActiveError())},onLayout:function(z,o){var u=this,y=u.owner,v=u.getLabelStrategy(),p=u.getErrorStrategy(),r=Ext.isDefined,n=Ext.isNumber,s,t,q,x,w;s=u.lastComponentSize||{};if(!r(z)){z=s.width;if(z<0){z=w}}if(!r(o)){o=s.height;if(o<0){o=w}}t=!n(z);q=!n(o);x={autoWidth:t,autoHeight:q,width:t?y.getBodyNaturalWidth():z,height:o,setOuterWidth:false,insets:{top:0,right:0,bottom:0,left:0}};v.prepare(y,x);p.prepare(y,x);v.adjustHorizInsets(y,x);p.adjustHorizInsets(y,x);v.layoutHoriz(y,x);p.layoutHoriz(y,x);v.adjustVertInsets(y,x);p.adjustVertInsets(y,x);v.layoutVert(y,x);p.layoutVert(y,x);if(t&&q){u.setElementSize(y.el,(x.setOuterWidth?x.width:w),x.height)}else{u.setTargetSize((!t||x.setOuterWidth?x.width:w),x.height)}u.sizeBody(x);u.activeError=y.getActiveError()},onFocus:function(){this.getErrorStrategy().onFocus(this.owner)},sizeBody:function(k){var l=this,p=l.owner,o=k.insets,i=k.width,n=k.height,m=Ext.isNumber(i)?i-o.left-o.right:i,j=Ext.isNumber(n)?n-o.top-o.bottom:n;l.setElementSize(p.bodyEl,m,j);l.sizeBodyContents(m,j)},sizeBodyContents:Ext.emptyFn,getLabelStrategy:function(){var d=this,f=d.labelStrategies,e=d.owner.labelAlign;return f[e]||f.base},getErrorStrategy:function(){var h=this,f=h.owner,g=h.errorStrategies,e=f.msgTarget;return !f.preventMark&&Ext.isString(e)?(g[e]||g.elementId):g.none},labelStrategies:(function(){var e=Ext.applyIf,f=Ext.emptyFn,h={prepare:function(d,a){var c=d.labelCls+"-"+d.labelAlign,b=d.labelEl;if(b&&!b.hasCls(c)){b.addCls(c)}},adjustHorizInsets:f,adjustVertInsets:f,layoutHoriz:f,layoutVert:f},g=e({prepare:function(b,a){h.prepare(b,a);if(a.autoWidth){a.width+=(!b.labelEl?0:b.labelWidth+b.labelPad)}a.setOuterWidth=true},adjustHorizInsets:function(b,a){if(b.labelEl){a.insets.left+=b.labelWidth+b.labelPad}},layoutHoriz:function(c,a){var b=c.labelEl;if(b&&!c.isLabelSized&&!Ext.isBorderBox){b.setWidth(c.labelWidth);c.isLabelSized=true}}},h);return{base:h,top:e({adjustVertInsets:function(c,a){var b=c.labelEl;if(b){a.insets.top+=Ext.util.TextMetrics.measure(b,c.fieldLabel,a.width).height+b.getFrameWidth("tb")+c.labelPad}}},h),left:g,right:g}})(),errorStrategies:(function(){function k(b,c){var a=b.getStyle("display")!=="none";if(c!==a){b.setDisplayed(c)}}function i(b,c,a){if(b.getStyle(c)!==a){b.setStyle(c,a)}}function l(c){var b=Ext.layout.component.field.Field.tip,a;if(b&&b.isVisible()){a=b.activeTarget;if(a&&a.el===c.getActionEl().dom){b.toFront(true)}}}var g=Ext.applyIf,h=Ext.emptyFn,j={prepare:function(a){k(a.errorEl,false)},adjustHorizInsets:h,adjustVertInsets:h,layoutHoriz:h,layoutVert:h,onFocus:h};return{none:j,side:g({prepare:function(b){var a=b.errorEl;a.addCls(Ext.baseCSSPrefix+"form-invalid-icon");Ext.layout.component.field.Field.initTip();a.dom.setAttribute("data-errorqtip",b.getActiveError()||"");k(a,b.hasActiveError())},adjustHorizInsets:function(b,a){if(b.autoFitErrors&&b.hasActiveError()){a.insets.right+=b.errorEl.getWidth()}},layoutHoriz:function(b,a){if(b.hasActiveError()){i(b.errorEl,"left",a.width-a.insets.right+"px")}},layoutVert:function(b,a){if(b.hasActiveError()){i(b.errorEl,"top",a.insets.top+"px")}},onFocus:l},j),under:g({prepare:function(c){var a=c.errorEl,b=Ext.baseCSSPrefix+"form-invalid-under";if(!a.hasCls(b)){a.addCls(b)}k(a,c.hasActiveError())},adjustVertInsets:function(b,a){if(b.autoFitErrors){a.insets.bottom+=b.errorEl.getHeight()}},layoutHoriz:function(d,b){var a=d.errorEl,c=b.insets;i(a,"width",b.width-c.right-c.left+"px");i(a,"marginLeft",c.left+"px")}},j),qtip:g({prepare:function(a){k(a.errorEl,false);Ext.layout.component.field.Field.initTip();a.getActionEl().dom.setAttribute("data-errorqtip",a.getActiveError()||"")},onFocus:l},j),title:g({prepare:function(a){k(a.errorEl,false);a.el.dom.title=a.getActiveError()||""}},j),elementId:g({prepare:function(b){k(b.errorEl,false);var a=Ext.fly(b.msgTarget);if(a){a.dom.innerHTML=b.getActiveError()||"";a.setDisplayed(b.hasActiveError())}}},j)}})(),statics:{initTip:function(){var b=this.tip;if(!b){b=this.tip=Ext.create("Ext.tip.QuickTip",{baseCls:Ext.baseCSSPrefix+"form-invalid-tip",renderTo:Ext.getBody()});b.tagConfig=Ext.apply({},{attribute:"errorqtip"},b.tagConfig)}},destroyTip:function(){var b=this.tip;if(b){b.destroy();delete this.tip}}}});Ext.define("Ext.layout.component.field.Trigger",{alias:["layout.triggerfield"],extend:"Ext.layout.component.field.Field",type:"triggerfield",sizeBodyContents:function(m,h){var l=this,i=l.owner,j=i.inputEl,n=i.triggerWrap,k=i.getTriggerWidth();if(i.hideTrigger||i.readOnly||k>0){l.setElementSize(j,Ext.isNumber(m)?m-k:m);n.setWidth(k)}}});Ext.define("Ext.layout.component.field.Text",{extend:"Ext.layout.component.field.Field",alias:"layout.textfield",requires:["Ext.util.TextMetrics"],type:"textfield",beforeLayout:function(k,g){var j=this,h=j.owner,l=this.lastValue,i=h.getRawValue();this.lastValue=i;return j.callParent(arguments)||(h.grow&&i!==l)},sizeBodyContents:function(f,e){var d=this.adjustForGrow(f,e);this.setElementSize(this.owner.inputEl,d[0],d[1])},adjustForGrow:function(n,p){var m=this,i=m.owner,k,l,o,j=[n,p];if(i.grow){k=i.inputEl;l=(k.dom.value||(i.hasFocus?"":i.emptyText)||"")+i.growAppend;o=k.getTextWidth(l)+k.getBorderWidth("lr")+k.getPadding("lr");j[0]=Ext.Number.constrain(o,i.growMin,Math.max(i.growMin,Math.min(i.growMax,Ext.isNumber(n)?n:Infinity)))}return j}});Ext.define("Ext.layout.component.AbstractDock",{extend:"Ext.layout.component.Component",type:"dock",autoSizing:true,beforeLayout:function(){var b=this.callParent(arguments);if(b!==false&&(!this.initializedBorders||this.childrenChanged)&&(!this.owner.border||this.owner.manageBodyBorders)){this.handleItemBorders();this.initializedBorders=true}return b},handleItemBorders:function(){var v=this.owner,r=v.body,i=this.getLayoutItems(),p={top:[],right:[],bottom:[],left:[]},u=this.borders,s={top:"bottom",right:"left",bottom:"top",left:"right"},t,o,m,n,q;for(t=0,o=i.length;t<o;t++){m=i[t];n=m.dock;if(m.ignoreBorderManagement){continue}if(!p[n].satisfied){p[n].push(m);p[n].satisfied=true}if(!p.top.satisfied&&s[n]!=="top"){p.top.push(m)}if(!p.right.satisfied&&s[n]!=="right"){p.right.push(m)}if(!p.bottom.satisfied&&s[n]!=="bottom"){p.bottom.push(m)}if(!p.left.satisfied&&s[n]!=="left"){p.left.push(m)}}if(u){for(q in u){if(u.hasOwnProperty(q)){o=u[q].length;if(!v.manageBodyBorders){for(t=0;t<o;t++){u[q][t].removeCls(Ext.baseCSSPrefix+"docked-noborder-"+q)}if(!u[q].satisfied&&!v.bodyBorder){r.removeCls(Ext.baseCSSPrefix+"docked-noborder-"+q)}}else{if(u[q].satisfied){r.setStyle("border-"+q+"-width","")}}}}}for(q in p){if(p.hasOwnProperty(q)){o=p[q].length;if(!v.manageBodyBorders){for(t=0;t<o;t++){p[q][t].addCls(Ext.baseCSSPrefix+"docked-noborder-"+q)}if((!p[q].satisfied&&!v.bodyBorder)||v.bodyBorder===false){r.addCls(Ext.baseCSSPrefix+"docked-noborder-"+q)}}else{if(p[q].satisfied){r.setStyle("border-"+q+"-width","1px")}}}}this.borders=p},onLayout:function(z,n){if(this.onLayout_running){return}this.onLayout_running=true;var r=this,y=r.owner,t=y.body,u=y.layout,s=r.getTarget(),p=false,o=false,q,v,w;var x=r.info={boxes:[],size:{width:z,height:n},bodyBox:{}};delete u.isAutoDock;Ext.applyIf(x,r.getTargetInfo());if(y&&y.ownerCt&&y.ownerCt.layout&&y.ownerCt.layout.isLayout){if(!Ext.isNumber(y.height)||!Ext.isNumber(y.width)){y.ownerCt.layout.bindToOwnerCtComponent=true}else{y.ownerCt.layout.bindToOwnerCtComponent=false}}if(n==null||z==null){q=x.padding;v=x.border;w=r.frameSize;if((n==null)&&(z==null)){o=true;p=true;r.setTargetSize(null);r.setBodyBox({width:null,height:null})}else{if(n==null){o=true;r.setTargetSize(z);r.setBodyBox({width:z-q.left-v.left-q.right-v.right-w.left-w.right,height:null})}else{p=true;r.setTargetSize(null,n);r.setBodyBox({width:null,height:n-q.top-q.bottom-v.top-v.bottom-w.top-w.bottom})}}if(u&&u.isLayout){u.bindToOwnerCtComponent=true;u.isAutoDock=u.autoSize!==true;u.layout();x.autoSizedCtLayout=u.autoSize===true;x.autoHeight=o;x.autoWidth=p}r.dockItems();r.setTargetSize(x.size.width,x.size.height)}else{r.setTargetSize(z,n);r.dockItems()}r.callParent(arguments);this.onLayout_running=false},dockItems:function(){this.calculateDockBoxes();var l=this.info,k=l.autoWidth,j=l.autoHeight,p=l.boxes,m=p.length,n,i,o;for(i=0;i<m;i++){n=p[i];o=n.item;o.setPosition(n.x,n.y);if((k||j)&&o.layout&&o.layout.isLayout){o.layout.bindToOwnerCtComponent=true}}if(!l.autoSizedCtLayout){if(k){l.bodyBox.width=null}if(j){l.bodyBox.height=null}}this.setBodyBox(l.bodyBox)},calculateDockBoxes:function(){if(this.calculateDockBoxes_running){return}this.calculateDockBoxes_running=true;var y=this,B=y.getTarget(),z=y.getLayoutItems(),H=y.owner,s=H.body,G=y.info,v=G.autoWidth,u=G.autoHeight,i=G.size,A=z.length,w=G.padding,E=G.border,F=y.frameSize,t,D,C,x;if(u){i.height=s.getHeight()+w.top+E.top+w.bottom+E.bottom+F.top+F.bottom}else{i.height=B.getHeight()}if(v){i.width=s.getWidth()+w.left+E.left+w.right+E.right+F.left+F.right}else{i.width=B.getWidth()}G.bodyBox={x:w.left+F.left,y:w.top+F.top,width:i.width-w.left-E.left-w.right-E.right-F.left-F.right,height:i.height-E.top-w.top-E.bottom-w.bottom-F.top-F.bottom};for(D=0;D<A;D++){t=z[D];C=y.initBox(t);if(u===true){C=y.adjustAutoBox(C,D)}else{C=y.adjustSizedBox(C,D)}G.boxes.push(C)}this.calculateDockBoxes_running=false},adjustSizedBox:function(n,o){var j=this.info.bodyBox,i=this.frameSize,l=this.info,m=l.padding,k=n.type,p=l.border;switch(k){case"top":n.y=j.y;break;case"left":n.x=j.x;break;case"bottom":n.y=(j.y+j.height)-n.height;break;case"right":n.x=(j.x+j.width)-n.width;break}if(n.ignoreFrame){if(k=="bottom"){n.y+=(i.bottom+m.bottom+p.bottom)}else{n.y-=(i.top+m.top+p.top)}if(k=="right"){n.x+=(i.right+m.right+p.right)}else{n.x-=(i.left+m.left+p.left)}}if(!n.overlay){switch(k){case"top":j.y+=n.height;j.height-=n.height;break;case"left":j.x+=n.width;j.width-=n.width;break;case"bottom":j.height-=n.height;break;case"right":j.width-=n.width;break}}return n},adjustAutoBox:function(y,v){var E=this.info,F=this.owner,u=E.bodyBox,i=E.size,x=E.boxes,A=x.length,s=y.type,B=this.frameSize,r=E.padding,C=E.border,D=E.autoSizedCtLayout,t=(A<v)?A:v,z,w;if(s=="top"||s=="bottom"){for(z=0;z<t;z++){w=x[z];if(w.stretched&&w.type=="left"||w.type=="right"){w.height+=y.height}else{if(w.type=="bottom"){w.y+=y.height}}}}switch(s){case"top":y.y=u.y;if(!y.overlay){u.y+=y.height;if(E.autoHeight){i.height+=y.height}else{u.height-=y.height}}break;case"bottom":if(!y.overlay){if(E.autoHeight){i.height+=y.height}else{u.height-=y.height}}y.y=(u.y+u.height);break;case"left":y.x=u.x;if(!y.overlay){u.x+=y.width;if(E.autoWidth){i.width+=y.width}else{u.width-=y.width}}break;case"right":if(!y.overlay){if(E.autoWidth){i.width+=y.width}else{u.width-=y.width}}y.x=(u.x+u.width);break}if(y.ignoreFrame){if(s=="bottom"){y.y+=(B.bottom+r.bottom+C.bottom)}else{y.y-=(B.top+r.top+C.top)}if(s=="right"){y.x+=(B.right+r.right+C.right)}else{y.x-=(B.left+r.left+C.left)}}return y},initBox:function(k){var m=this,n=m.info.bodyBox,t=(k.dock=="top"||k.dock=="bottom"),s=m.owner,p=m.frameSize,r=m.info,l=r.padding,q=r.border,o={item:k,overlay:k.overlay,type:k.dock,offsets:Ext.Element.parseBox(k.offsets||{}),ignoreFrame:k.ignoreParentFrame};if(k.stretch!==false){o.stretched=true;if(t){o.x=n.x+o.offsets.left;o.width=n.width-(o.offsets.left+o.offsets.right);if(o.ignoreFrame){o.width+=(p.left+p.right+q.left+q.right+l.left+l.right)}k.setCalculatedSize(o.width-k.el.getMargin("lr"),undefined,s)}else{o.y=n.y+o.offsets.top;o.height=n.height-(o.offsets.bottom+o.offsets.top);if(o.ignoreFrame){o.height+=(p.top+p.bottom+q.top+q.bottom+l.top+l.bottom)}k.setCalculatedSize(undefined,o.height-k.el.getMargin("tb"),s);if(!Ext.supports.ComputedStyle){k.el.repaint()}}}else{k.doComponentLayout();o.width=k.getWidth()-(o.offsets.left+o.offsets.right);o.height=k.getHeight()-(o.offsets.bottom+o.offsets.top);o.y+=o.offsets.top;if(t){o.x=(k.align=="right")?n.width-o.width:n.x;o.x+=o.offsets.left}}if(o.width===undefined){o.width=k.getWidth()+k.el.getMargin("lr")}if(o.height===undefined){o.height=k.getHeight()+k.el.getMargin("tb")}return o},getLayoutItems:function(){var h=this.owner.getDockedItems(),g=h.length,e=0,f=[];for(;e<g;e++){if(h[e].isVisible(true)){f.push(h[e])}}return f},renderItems:function(n,p){var t=p.dom.childNodes,q=t.length,o=n.length,j=0,r,s,m,i;for(r=0;r<q;r++){m=Ext.get(t[r]);for(s=0;s<o;s++){i=n[s];if(i.rendered&&(m.id==i.el.id||m.contains(i.el.id))){break}}if(s===o){j++}}for(r=0,s=0;r<o;r++,s++){i=n[r];if(r===s&&(i.dock==="right"||i.dock==="bottom")){s+=j}if(i&&!i.rendered){this.renderItem(i,p,s)}else{if(!this.isValidParent(i,p,s)){this.moveItem(i,p,s)}}}},setBodyBox:function(m){var k=this,r=k.owner,l=r.body,q=k.info,n=q.bodyMargin,j=q.padding,o=q.border,p=k.frameSize;if(r.collapsed){return}if(Ext.isNumber(m.width)){m.width-=n.left+n.right}if(Ext.isNumber(m.height)){m.height-=n.top+n.bottom}k.setElementSize(l,m.width,m.height);if(Ext.isNumber(m.x)){l.setLeft(m.x-j.left-p.left)}if(Ext.isNumber(m.y)){l.setTop(m.y-j.top-p.top)}},configureItem:function(d,c){this.callParent(arguments);if(d.dock=="top"||d.dock=="bottom"){d.layoutManagedWidth=1;d.layoutManagedHeight=2}else{d.layoutManagedWidth=2;d.layoutManagedHeight=1}d.addCls(Ext.baseCSSPrefix+"docked");d.addClsWithUI("docked-"+d.dock)},afterRemove:function(d){this.callParent(arguments);if(this.itemCls){d.el.removeCls(this.itemCls+"-"+d.dock)}var c=d.el.dom;if(!d.destroying&&c){c.parentNode.removeChild(c)}this.childrenChanged=true}});Ext.define("Ext.layout.component.Dock",{alias:["layout.dock"],extend:"Ext.layout.component.AbstractDock"});Ext.define("Ext.layout.container.Auto",{alias:["layout.auto","layout.autocontainer"],extend:"Ext.layout.container.Container",type:"autocontainer",bindToOwnerCtComponent:true,onLayout:function(h,i){var j=this,g=j.getLayoutItems(),k=g.length,l;if(k){if(!j.clearEl){j.clearEl=j.getRenderTarget().createChild({cls:Ext.baseCSSPrefix+"clear",role:"presentation"})}for(l=0;l<k;l++){j.setItemSize(g[l])}}},configureItem:function(b){this.callParent(arguments);b.layoutManagedHeight=2;b.layoutManagedWidth=2}});Ext.define("Ext.fx.target.Element",{extend:"Ext.fx.target.Target",type:"element",getElVal:function(d,e,f){if(f==undefined){if(e==="x"){f=d.getX()}else{if(e==="y"){f=d.getY()}else{if(e==="scrollTop"){f=d.getScroll().top}else{if(e==="scrollLeft"){f=d.getScroll().left}else{if(e==="height"){f=d.getHeight()}else{if(e==="width"){f=d.getWidth()}else{f=d.getStyle(e)}}}}}}}return f},getAttr:function(e,f){var d=this.target;return[[d,this.getElVal(d,e,f)]]},setAttr:function(n){var q=this.target,o=n.length,i,p,u,r,t,v,s,j;for(r=0;r<o;r++){i=n[r].attrs;for(p in i){if(i.hasOwnProperty(p)){v=i[p].length;for(t=0;t<v;t++){u=i[p][t];s=u[0];j=u[1];if(p==="x"){s.setX(j)}else{if(p==="y"){s.setY(j)}else{if(p==="scrollTop"){s.scrollTo("top",j)}else{if(p==="scrollLeft"){s.scrollTo("left",j)}else{s.setStyle(p,j)}}}}}}}}}});Ext.define("Ext.fx.target.CompositeElement",{extend:"Ext.fx.target.Element",isComposite:true,constructor:function(b){b.id=b.id||Ext.id(null,"ext-composite-");this.callParent([b])},getAttr:function(f,g){var e=[],h=this.target;h.each(function(a){e.push([a,this.getElVal(a,f,g)])},this);return e}});Ext.define("Ext.fx.target.Sprite",{extend:"Ext.fx.target.Target",type:"draw",getFromPrim:function(d,e){var f;if(e=="translate"){f={x:d.attr.translation.x||0,y:d.attr.translation.y||0}}else{if(e=="rotate"){f={degrees:d.attr.rotation.degrees||0,x:d.attr.rotation.x,y:d.attr.rotation.y}}else{f=d.attr[e]}}return f},getAttr:function(d,c){return[[this.target,c!=undefined?c:this.getFromPrim(this.target,d)]]},setAttr:function(t){var x=t.length,v=[],i,y,j,z,C,r,s,A,B,u,w,D;for(A=0;A<x;A++){i=t[A].attrs;for(y in i){j=i[y];D=j.length;for(B=0;B<D;B++){C=j[B][0];z=j[B][1];if(y==="translate"){s={x:z.x,y:z.y}}else{if(y==="rotate"){u=z.x;if(isNaN(u)){u=null}w=z.y;if(isNaN(w)){w=null}s={degrees:z.degrees,x:u,y:w}}else{if(y==="width"||y==="height"||y==="x"||y==="y"){s=parseFloat(z)}else{s=z}}}r=Ext.Array.indexOf(v,C);if(r==-1){v.push([C,{}]);r=v.length-1}v[r][1][y]=s}}}x=v.length;for(A=0;A<x;A++){C=v[A];C[0].setAttributes(C[1])}this.target.redraw()}});Ext.define("Ext.fx.target.CompositeSprite",{extend:"Ext.fx.target.Sprite",getAttr:function(f,g){var e=[],h=this.target;h.each(function(a){e.push([a,g!=undefined?g:this.getFromPrim(a,f)])},this);return e}});Ext.define("Ext.fx.target.Component",{extend:"Ext.fx.target.Target",type:"component",getPropMethod:{top:function(){return this.getPosition(true)[1]},left:function(){return this.getPosition(true)[0]},x:function(){return this.getPosition()[0]},y:function(){return this.getPosition()[1]},height:function(){return this.getHeight()},width:function(){return this.getWidth()},opacity:function(){return this.el.getStyle("opacity")}},compMethod:{top:"setPosition",left:"setPosition",x:"setPagePosition",y:"setPagePosition",height:"setSize",width:"setSize",opacity:"setOpacity"},getAttr:function(d,c){return[[this.target,c!==undefined?c:this.getPropMethod[d].call(this.target)]]},setAttr:function(H,A,D){var i=this,w=i.target,j=H.length,F,v,E,z,B,o,x,C,h,G,y;for(z=0;z<j;z++){F=H[z].attrs;for(v in F){x=F[v].length;o={setPosition:{},setPagePosition:{},setSize:{},setOpacity:{}};for(B=0;B<x;B++){E=F[v][B];o[i.compMethod[v]].target=E[0];o[i.compMethod[v]][v]=E[1]}if(o.setPosition.target){E=o.setPosition;C=(E.left===undefined)?undefined:parseInt(E.left,10);h=(E.top===undefined)?undefined:parseInt(E.top,10);E.target.setPosition(C,h)}if(o.setPagePosition.target){E=o.setPagePosition;E.target.setPagePosition(E.x,E.y)}if(o.setSize.target&&o.setSize.target.el){E=o.setSize;G=(E.width===undefined)?E.target.getWidth():parseInt(E.width,10);y=(E.height===undefined)?E.target.getHeight():parseInt(E.height,10);if(D||i.dynamic){E.target.componentLayout.childrenChanged=true;if(i.layoutAnimation){E.target.setCalculatedSize(G,y)}else{E.target.setSize(G,y)}}else{E.target.el.setSize(G,y)}}if(o.setOpacity.target){E=o.setOpacity;E.target.el.setStyle("opacity",E.opacity)}}}}});Ext.define("Ext.fx.Manager",{singleton:true,requires:["Ext.util.MixedCollection","Ext.fx.target.Element","Ext.fx.target.CompositeElement","Ext.fx.target.Sprite","Ext.fx.target.CompositeSprite","Ext.fx.target.Component"],mixins:{queue:"Ext.fx.Queue"},constructor:function(){this.items=Ext.create("Ext.util.MixedCollection");this.mixins.queue.constructor.call(this)},interval:16,forceJS:true,createTarget:function(g){var e=this,h=!e.forceJS&&Ext.supports.Transitions,f;e.useCSS3=h;if(Ext.isString(g)){g=Ext.get(g)}if(g&&g.tagName){g=Ext.get(g);f=Ext.create("Ext.fx.target.Element"+(h?"CSS":""),g);e.targets.add(f);return f}if(Ext.isObject(g)){if(g.dom){f=Ext.create("Ext.fx.target.Element"+(h?"CSS":""),g)}else{if(g.isComposite){f=Ext.create("Ext.fx.target.CompositeElement"+(h?"CSS":""),g)}else{if(g.isSprite){f=Ext.create("Ext.fx.target.Sprite",g)}else{if(g.isCompositeSprite){f=Ext.create("Ext.fx.target.CompositeSprite",g)}else{if(g.isComponent){f=Ext.create("Ext.fx.target.Component",g)}else{if(g.isAnimTarget){return g}else{return null}}}}}}e.targets.add(f);return f}else{return null}},addAnim:function(f){var d=this.items,e=this.task;d.add(f);if(!e&&d.length){e=this.task={run:this.runner,interval:this.interval,scope:this};Ext.TaskManager.start(e)}},removeAnim:function(f){var d=this.items,e=this.task;d.remove(f);if(e&&!d.length){Ext.TaskManager.stop(e);delete this.task}},startingFilter:function(b){return b.paused===false&&b.running===false&&b.iterations>0},runningFilter:function(b){return b.paused===false&&b.running===true&&b.isAnimator!==true},runner:function(){var c=this,d=c.items;c.targetData={};c.targetArr={};c.timestamp=new Date();d.filterBy(c.startingFilter).each(c.startAnim,c);d.filterBy(c.runningFilter).each(c.runAnim,c);c.applyPendingAttrs()},startAnim:function(b){b.start(this.timestamp)},runAnim:function(m){if(!m){return}var n=this,h=m.target.getId(),k=n.useCSS3&&m.target.type=="element",i=n.timestamp-m.startTime,l,j;this.collectTargetData(m,i,k);if(k){m.target.setAttr(n.targetData[h],true);n.targetData[h]=[];n.collectTargetData(m,m.duration,k);m.paused=true;l=m.target.target;if(m.target.isComposite){l=m.target.target.last()}j={};j[Ext.supports.CSS3TransitionEnd]=m.lastFrame;j.scope=m;j.single=true;l.on(j)}else{if(i>=m.duration){n.applyPendingAttrs(true);delete n.targetData[h];delete n.targetArr[h];m.lastFrame()}}},collectTargetData:function(k,h,j){var g=k.target.getId(),i=this.targetData[g],l;if(!i){i=this.targetData[g]=[];this.targetArr[g]=k.target}l={duration:k.duration,easing:(j&&k.reverse)?k.easingFn.reverse().toCSS3():k.easing,attrs:{}};Ext.apply(l.attrs,k.runAnim(h));i.push(l)},applyPendingAttrs:function(g){var h=this.targetData,e=this.targetArr,f;for(f in h){if(h.hasOwnProperty(f)){e[f].setAttr(h[f],false,g)}}}});Ext.define("Ext.fx.Animator",{mixins:{observable:"Ext.util.Observable"},requires:["Ext.fx.Manager"],isAnimator:true,duration:250,delay:0,delayStart:0,dynamic:false,easing:"ease",running:false,paused:false,damper:1,iterations:1,currentIteration:0,keyframeStep:0,animKeyFramesRE:/^(from|to|\d+%?)$/,constructor:function(d){var c=this;d=Ext.apply(c,d||{});c.config=d;c.id=Ext.id(null,"ext-animator-");c.addEvents("beforeanimate","keyframe","afteranimate");c.mixins.observable.constructor.call(c,d);c.timeline=[];c.createTimeline(c.keyframes);if(c.target){c.applyAnimator(c.target);Ext.fx.Manager.addAnim(c)}},sorter:function(a,b){return a.pct-b.pct},createTimeline:function(u){var r=this,o=[],q=r.to||{},x=r.duration,i,z,v,s,p,y,w,t;for(p in u){if(u.hasOwnProperty(p)&&r.animKeyFramesRE.test(p)){t={attrs:Ext.apply(u[p],q)};if(p=="from"){p=0}else{if(p=="to"){p=100}}t.pct=parseInt(p,10);o.push(t)}}Ext.Array.sort(o,r.sorter);s=o.length;for(v=0;v<s;v++){i=(o[v-1])?x*(o[v-1].pct/100):0;z=x*(o[v].pct/100);r.timeline.push({duration:z-i,attrs:o[v].attrs})}},applyAnimator:function(v){var r=this,q=[],i=r.timeline,u=r.reverse,s=i.length,y,t,z,w,o,p,x;if(r.fireEvent("beforeanimate",r)!==false){for(x=0;x<s;x++){y=i[x];o=y.attrs;t=o.easing||r.easing;z=o.damper||r.damper;delete o.easing;delete o.damper;y=Ext.create("Ext.fx.Anim",{target:v,easing:t,damper:z,duration:y.duration,paused:true,to:o});q.push(y)}r.animations=q;r.target=y.target;for(x=0;x<s-1;x++){y=q[x];y.nextAnim=q[x+1];y.on("afteranimate",function(){this.nextAnim.paused=false});y.on("afteranimate",function(){this.fireEvent("keyframe",this,++this.keyframeStep)},r)}q[s-1].on("afteranimate",function(){this.lastFrame()},r)}},start:function(i){var h=this,j=h.delay,f=h.delayStart,g;if(j){if(!f){h.delayStart=i;return}else{g=i-f;if(g<j){return}else{i=new Date(f.getTime()+j)}}}if(h.fireEvent("beforeanimate",h)!==false){h.startTime=i;h.running=true;h.animations[h.keyframeStep].paused=false}},lastFrame:function(){var f=this,e=f.iterations,d=f.currentIteration;d++;if(d<e){f.startTime=new Date();f.currentIteration=d;f.keyframeStep=0;f.applyAnimator(f.target);f.animations[f.keyframeStep].paused=false}else{f.currentIteration=0;f.end()}},end:function(){var b=this;b.fireEvent("afteranimate",b,b.startTime,new Date()-b.startTime)}});Ext.define("Ext.draw.Draw",{singleton:true,requires:["Ext.draw.Color"],pathToStringRE:/,?([achlmqrstvxz]),?/gi,pathCommandRE:/([achlmqstvz])[\s,]*((-?\d*\.?\d*(?:e[-+]?\d+)?\s*,?\s*)+)/ig,pathValuesRE:/(-?\d*\.?\d*(?:e[-+]?\d+)?)\s*,?\s*/ig,stopsRE:/^(\d+%?)$/,radian:Math.PI/180,availableAnimAttrs:{along:"along",blur:null,"clip-rect":"csv",cx:null,cy:null,fill:"color","fill-opacity":null,"font-size":null,height:null,opacity:null,path:"path",r:null,rotation:"csv",rx:null,ry:null,scale:"csv",stroke:"color","stroke-opacity":null,"stroke-width":null,translation:"csv",width:null,x:null,y:null},is:function(c,d){d=String(d).toLowerCase();return(d=="object"&&c===Object(c))||(d=="undefined"&&typeof c==d)||(d=="null"&&c===null)||(d=="array"&&Array.isArray&&Array.isArray(c))||(Object.prototype.toString.call(c).toLowerCase().slice(8,-1))==d},ellipsePath:function(c){var d=c.attr;return Ext.String.format("M{0},{1}A{2},{3},0,1,1,{0},{4}A{2},{3},0,1,1,{0},{1}z",d.x,d.y-d.ry,d.rx,d.ry,d.y+d.ry)},rectPath:function(c){var d=c.attr;if(d.radius){return Ext.String.format("M{0},{1}l{2},0a{3},{3},0,0,1,{3},{3}l0,{5}a{3},{3},0,0,1,{4},{3}l{6},0a{3},{3},0,0,1,{4},{4}l0,{7}a{3},{3},0,0,1,{3},{4}z",d.x+d.radius,d.y,d.width-d.radius*2,d.radius,-d.radius,d.height-d.radius*2,d.radius*2-d.width,d.radius*2-d.height)}else{return Ext.String.format("M{0},{1}l{2},0,0,{3},{4},0z",d.x,d.y,d.width,d.height,-d.width)}},path2string:function(){return this.join(",").replace(Ext.draw.Draw.pathToStringRE,"$1")},pathToString:function(b){return b.join(",").replace(Ext.draw.Draw.pathToStringRE,"$1")},parsePathString:function(f){if(!f){return null}var g={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},h=[],e=this;if(e.is(f,"array")&&e.is(f[0],"array")){h=e.pathClone(f)}if(!h.length){String(f).replace(e.pathCommandRE,function(d,j,a){var b=[],c=j.toLowerCase();a.replace(e.pathValuesRE,function(i,l){l&&b.push(+l)});if(c=="m"&&b.length>2){h.push([j].concat(Ext.Array.splice(b,0,2)));c="l";j=(j=="m")?"l":"L"}while(b.length>=g[c]){h.push([j].concat(Ext.Array.splice(b,0,g[c])));if(!g[c]){break}}})}h.toString=e.path2string;return h},mapPath:function(i,m){if(!m){return i}var l,n,p,j,r,o,q;i=this.path2curve(i);for(p=0,j=i.length;p<j;p++){q=i[p];for(r=1,o=q.length;r<o-1;r+=2){l=m.x(q[r],q[r+1]);n=m.y(q[r],q[r+1]);q[r]=l;q[r+1]=n}}return i},pathClone:function(i){var l=[],h,j,g,k;if(!this.is(i,"array")||!this.is(i&&i[0],"array")){i=this.parsePathString(i)}for(g=0,k=i.length;g<k;g++){l[g]=[];for(h=0,j=i[g].length;h<j;h++){l[g][h]=i[g][h]}}l.toString=this.path2string;return l},pathToAbsolute:function(v){if(!this.is(v,"array")||!this.is(v&&v[0],"array")){v=this.parsePathString(v)}var q=[],o=0,p=0,i=0,j=0,s=0,r=v.length,w,u,t,x;if(r&&v[0][0]=="M"){o=+v[0][1];p=+v[0][2];i=o;j=p;s++;q[0]=["M",o,p]}for(;s<r;s++){w=q[s]=[];u=v[s];if(u[0]!=u[0].toUpperCase()){w[0]=u[0].toUpperCase();switch(w[0]){case"A":w[1]=u[1];w[2]=u[2];w[3]=u[3];w[4]=u[4];w[5]=u[5];w[6]=+(u[6]+o);w[7]=+(u[7]+p);break;case"V":w[1]=+u[1]+p;break;case"H":w[1]=+u[1]+o;break;case"M":i=+u[1]+o;j=+u[2]+p;default:t=1;x=u.length;for(;t<x;t++){w[t]=+u[t]+((t%2)?o:p)}}}else{t=0;x=u.length;for(;t<x;t++){q[s][t]=u[t]}}switch(w[0]){case"Z":o=i;p=j;break;case"H":o=w[1];break;case"V":p=w[1];break;case"M":u=q[s];x=u.length;i=u[x-2];j=u[x-1];default:u=q[s];x=u.length;o=u[x-2];p=u[x-1]}}q.toString=this.path2string;return q},pathToRelative:function(A){if(!this.is(A,"array")||!this.is(A&&A[0],"array")){A=this.parsePathString(A)}var u=[],k=0,r=0,F=0,i=0,B=0;if(A[0][0]=="M"){k=A[0][1];r=A[0][2];F=k;i=r;B++;u.push(["M",k,r])}for(var x=B,E=A.length;x<E;x++){var D=u[x]=[],j=A[x];if(j[0]!=j[0].toLowerCase()){D[0]=j[0].toLowerCase();switch(D[0]){case"a":D[1]=j[1];D[2]=j[2];D[3]=j[3];D[4]=j[4];D[5]=j[5];D[6]=+(j[6]-k).toFixed(3);D[7]=+(j[7]-r).toFixed(3);break;case"v":D[1]=+(j[1]-r).toFixed(3);break;case"m":F=j[1];i=j[2];default:for(var y=1,w=j.length;y<w;y++){D[y]=+(j[y]-((y%2)?k:r)).toFixed(3)}}}else{D=u[x]=[];if(j[0]=="m"){F=j[1]+k;i=j[2]+r}for(var z=0,C=j.length;z<C;z++){u[x][z]=j[z]}}var v=u[x].length;switch(u[x][0]){case"z":k=F;r=i;break;case"h":k+=+u[x][v-1];break;case"v":r+=+u[x][v-1];break;default:k+=+u[x][v-2];r+=+u[x][v-1]}}u.toString=this.path2string;return u},path2curve:function(i){var o=this,l=o.pathToAbsolute(i),p=l.length,k={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},q,r,m,n;for(q=0;q<p;q++){l[q]=o.command2curve(l[q],k);if(l[q].length>7){l[q].shift();n=l[q];while(n.length){Ext.Array.splice(l,q++,0,["C"].concat(Ext.Array.splice(n,0,6)))}Ext.Array.erase(l,q,1);p=l.length}r=l[q];m=r.length;k.x=r[m-2];k.y=r[m-1];k.bx=parseFloat(r[m-4])||k.x;k.by=parseFloat(r[m-3])||k.y}return l},interpolatePaths:function(i,u){var w=this,A=w.pathToAbsolute(i),t=w.pathToAbsolute(u),s={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},D={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},C=function(c,b){if(c[b].length>7){c[b].shift();var a=c[b];while(a.length){Ext.Array.splice(c,b++,0,["C"].concat(Ext.Array.splice(a,0,6)))}Ext.Array.erase(c,b,1);r=Math.max(A.length,t.length||0)}},B=function(a,b,d,e,c){if(a&&b&&a[c][0]=="M"&&b[c][0]!="M"){Ext.Array.splice(b,c,0,["M",e.x,e.y]);d.bx=0;d.by=0;d.x=a[c][1];d.y=a[c][2];r=Math.max(A.length,t.length||0)}};for(var x=0,r=Math.max(A.length,t.length||0);x<r;x++){A[x]=w.command2curve(A[x],s);C(A,x);(t[x]=w.command2curve(t[x],D));C(t,x);B(A,t,s,D,x);B(t,A,D,s,x);var y=A[x],p=t[x],z=y.length,v=p.length;s.x=y[z-2];s.y=y[z-1];s.bx=parseFloat(y[z-4])||s.x;s.by=parseFloat(y[z-3])||s.y;D.bx=(parseFloat(p[v-4])||D.x);D.by=(parseFloat(p[v-3])||D.y);D.x=p[v-2];D.y=p[v-1]}return[A,t]},command2curve:function(f,d){var e=this;if(!f){return["C",d.x,d.y,d.x,d.y,d.x,d.y]}if(f[0]!="T"&&f[0]!="Q"){d.qx=d.qy=null}switch(f[0]){case"M":d.X=f[1];d.Y=f[2];break;case"A":f=["C"].concat(e.arc2curve.apply(e,[d.x,d.y].concat(f.slice(1))));break;case"S":f=["C",d.x+(d.x-(d.bx||d.x)),d.y+(d.y-(d.by||d.y))].concat(f.slice(1));break;case"T":d.qx=d.x+(d.x-(d.qx||d.x));d.qy=d.y+(d.y-(d.qy||d.y));f=["C"].concat(e.quadratic2curve(d.x,d.y,d.qx,d.qy,f[1],f[2]));break;case"Q":d.qx=f[1];d.qy=f[2];f=["C"].concat(e.quadratic2curve(d.x,d.y,f[1],f[2],f[3],f[4]));break;case"L":f=["C"].concat(d.x,d.y,f[1],f[2],f[1],f[2]);break;case"H":f=["C"].concat(d.x,d.y,f[1],d.y,f[1],d.y);break;case"V":f=["C"].concat(d.x,d.y,d.x,f[1],d.x,f[1]);break;case"Z":f=["C"].concat(d.x,d.y,d.X,d.Y,d.X,d.Y);break}return f},quadratic2curve:function(i,o,l,n,j,p){var m=1/3,k=2/3;return[m*i+k*l,m*o+k*n,m*j+k*l,m*p+k*n,j,p]},rotate:function(h,j,i){var m=Math.cos(i),n=Math.sin(i),k=h*m-j*n,l=h*n+j*m;return{x:k,y:l}},arc2curve:function(aM,aw,at,av,aH,aS,aW,aN,az,aF){var aK=this,aY=Math.PI,aJ=aK.radian,ax=aY*120/180,a1=aJ*(+aH||0),an=[],aq=Math,y=aq.cos,a2=aq.sin,t=aq.sqrt,aL=aq.abs,aR=aq.asin,ar,a0,aP,al,am,aG,aZ,ai,x,aB,aD,aT,aU,aO,aV,aA,aX,aC,ak,ah,aj,aE,aI,h,k,ao,i,ap,ay,au,aQ;if(!aF){ar=aK.rotate(aM,aw,-a1);aM=ar.x;aw=ar.y;ar=aK.rotate(aN,az,-a1);aN=ar.x;az=ar.y;a0=y(aJ*aH);aP=a2(aJ*aH);al=(aM-aN)/2;am=(aw-az)/2;aG=(al*al)/(at*at)+(am*am)/(av*av);if(aG>1){aG=t(aG);at=aG*at;av=aG*av}aZ=at*at;ai=av*av;x=(aS==aW?-1:1)*t(aL((aZ*ai-aZ*am*am-ai*al*al)/(aZ*am*am+ai*al*al)));aB=x*at*am/av+(aM+aN)/2;aD=x*-av*al/at+(aw+az)/2;aT=aR(((aw-aD)/av).toFixed(7));aU=aR(((az-aD)/av).toFixed(7));aT=aM<aB?aY-aT:aT;aU=aN<aB?aY-aU:aU;if(aT<0){aT=aY*2+aT}if(aU<0){aU=aY*2+aU}if(aW&&aT>aU){aT=aT-aY*2}if(!aW&&aU>aT){aU=aU-aY*2}}else{aT=aF[0];aU=aF[1];aB=aF[2];aD=aF[3]}aO=aU-aT;if(aL(aO)>ax){ay=aU;au=aN;aQ=az;aU=aT+ax*(aW&&aU>aT?1:-1);aN=aB+at*y(aU);az=aD+av*a2(aU);an=aK.arc2curve(aN,az,at,av,aH,0,aW,au,aQ,[aU,ay,aB,aD])}aO=aU-aT;aV=y(aT);aA=a2(aT);aX=y(aU);aC=a2(aU);ak=aq.tan(aO/4);ah=4/3*at*ak;aj=4/3*av*ak;aE=[aM,aw];aI=[aM+ah*aA,aw-aj*aV];h=[aN+ah*aC,az-aj*aX];k=[aN,az];aI[0]=2*aE[0]-aI[0];aI[1]=2*aE[1]-aI[1];if(aF){return[aI,h,k].concat(an)}else{an=[aI,h,k].concat(an).join().split(",");ao=[];ap=an.length;for(i=0;i<ap;i++){ao[i]=i%2?aK.rotate(an[i-1],an[i],a1).y:aK.rotate(an[i],an[i+1],a1).x}return ao}},rotateAndTranslatePath:function(q){var v=q.rotation.degrees,u=q.rotation.x,w=q.rotation.y,i=q.translation.x,p=q.translation.y,j,s,x,o,t,r=[];if(!v&&!i&&!p){return this.pathToAbsolute(q.attr.path)}i=i||0;p=p||0;j=this.pathToAbsolute(q.attr.path);for(s=j.length;s--;){x=r[s]=j[s].slice();if(x[0]=="A"){o=this.rotatePoint(x[6],x[7],v,u,w);x[6]=o.x+i;x[7]=o.y+p}else{t=1;while(x[t+1]!=null){o=this.rotatePoint(x[t],x[t+1],v,u,w);x[t]=o.x+i;x[t+1]=o.y+p;t+=2}}}return r},rotatePoint:function(h,j,l,i,k){if(!l){return{x:h,y:j}}i=i||0;k=k||0;h=h-i;j=j-k;l=l*this.radian;var m=Math.cos(l),n=Math.sin(l);return{x:h*m-j*n+i,y:h*n+j*m+k}},pathDimensions:function(i){if(!i||!(i+"")){return{x:0,y:0,width:0,height:0}}i=this.path2curve(i);var n=0,o=0,s=[],u=[],r=0,p=i.length,t,v,m,q;for(;r<p;r++){t=i[r];if(t[0]=="M"){n=t[1];o=t[2];s.push(n);u.push(o)}else{q=this.curveDim(n,o,t[1],t[2],t[3],t[4],t[5],t[6]);s=s.concat(q.min.x,q.max.x);u=u.concat(q.min.y,q.max.y);n=t[5];o=t[6]}}v=Math.min.apply(0,s);m=Math.min.apply(0,u);return{x:v,y:m,path:i,width:Math.max.apply(0,s)-v,height:Math.max.apply(0,u)-m}},intersectInside:function(d,f,e){return(e[0]-f[0])*(d[1]-f[1])>(e[1]-f[1])*(d[0]-f[0])},intersectIntersection:function(e,n,t,u){var v=[],w=t[0]-u[0],x=t[1]-u[1],p=e[0]-n[0],r=e[1]-n[1],o=t[0]*u[1]-t[1]*u[0],q=e[0]*n[1]-e[1]*n[0],s=1/(w*r-x*p);v[0]=(o*p-q*w)*s;v[1]=(o*r-q*x)*s;return v},intersect:function(r,z){var s=this,v=0,t=z.length,w=z[t-1],i=r,x,e,u,j,B,A,y;for(;v<t;++v){x=z[v];A=i;i=[];e=A[A.length-1];y=0;B=A.length;for(;y<B;y++){u=A[y];if(s.intersectInside(u,w,x)){if(!s.intersectInside(e,w,x)){i.push(s.intersectIntersection(e,u,w,x))}i.push(u)}else{if(s.intersectInside(e,w,x)){i.push(s.intersectIntersection(e,u,w,x))}}e=u}w=x}return i},curveDim:function(C,E,A,B,F,a,t,w){var b=(F-2*A+C)-(t-2*F+A),u=2*(A-C)-2*(F-A),x=C-A,y=(-u+Math.sqrt(u*u-4*b*x))/2/b,z=(-u-Math.sqrt(u*u-4*b*x))/2/b,v=[E,w],c=[C,t],D;if(Math.abs(y)>1000000000000){y=0.5}if(Math.abs(z)>1000000000000){z=0.5}if(y>0&&y<1){D=this.findDotAtSegment(C,E,A,B,F,a,t,w,y);c.push(D.x);v.push(D.y)}if(z>0&&z<1){D=this.findDotAtSegment(C,E,A,B,F,a,t,w,z);c.push(D.x);v.push(D.y)}b=(a-2*B+E)-(w-2*a+B);u=2*(B-E)-2*(a-B);x=E-B;y=(-u+Math.sqrt(u*u-4*b*x))/2/b;z=(-u-Math.sqrt(u*u-4*b*x))/2/b;if(Math.abs(y)>1000000000000){y=0.5}if(Math.abs(z)>1000000000000){z=0.5}if(y>0&&y<1){D=this.findDotAtSegment(C,E,A,B,F,a,t,w,y);c.push(D.x);v.push(D.y)}if(z>0&&z<1){D=this.findDotAtSegment(C,E,A,B,F,a,t,w,z);c.push(D.x);v.push(D.y)}return{min:{x:Math.min.apply(0,c),y:Math.min.apply(0,v)},max:{x:Math.max.apply(0,c),y:Math.max.apply(0,v)}}},getAnchors:function(P,Q,K,L,z,A,E){E=E||4;var M=Math,F=M.PI,D=F/2,I=M.abs,T=M.sin,S=M.cos,O=M.atan,B,C,N,J,G,H,x,y,R;B=(K-P)/E;C=(z-K)/E;if((L>=Q&&L>=A)||(L<=Q&&L<=A)){N=J=D}else{N=O((K-P)/I(L-Q));if(Q<L){N=F-N}J=O((z-K)/I(L-A));if(A<L){J=F-J}}R=D-((N+J)%(F*2))/2;if(R>D){R-=F}N+=R;J+=R;G=K-B*T(N);H=L+B*S(N);x=K+C*T(J);y=L+C*S(J);if((L>Q&&H<Q)||(L<Q&&H>Q)){G+=I(Q-H)*(G-K)/(H-L);H=Q}if((L>A&&y<A)||(L<A&&y>A)){x-=I(A-y)*(x-K)/(y-L);y=A}return{x1:G,y1:H,x2:x,y2:y}},smooth:function(R,D){var E=this.path2curve(R),N=[E[0]],K=E[0][1],L=E[0][2],C,A,y=1,J=E.length,M=1,H=K,I=L,P=0,Q=0;for(;y<J;y++){var i=E[y],j=i.length,x=E[y-1],G=x.length,B=E[y+1],F=B&&B.length;if(i[0]=="M"){H=i[1];I=i[2];C=y+1;while(E[C][0]!="C"){C++}P=E[C][5];Q=E[C][6];N.push(["M",H,I]);M=N.length;K=H;L=I;continue}if(i[j-2]==H&&i[j-1]==I&&(!B||B[0]=="M")){var O=N[M].length;A=this.getAnchors(x[G-2],x[G-1],H,I,N[M][O-2],N[M][O-1],D);N[M][1]=A.x2;N[M][2]=A.y2}else{if(!B||B[0]=="M"){A={x1:i[j-2],y1:i[j-1]}}else{A=this.getAnchors(x[G-2],x[G-1],i[j-2],i[j-1],B[F-2],B[F-1],D)}}N.push(["C",K,L,A.x1,A.y1,i[j-2],i[j-1]]);K=A.x2;L=A.y2}return N},findDotAtSegment:function(s,t,q,r,l,m,n,o,k){var p=1-k;return{x:Math.pow(p,3)*s+Math.pow(p,2)*3*k*q+p*3*k*k*l+Math.pow(k,3)*n,y:Math.pow(p,3)*t+Math.pow(p,2)*3*k*r+p*3*k*k*m+Math.pow(k,3)*o}},snapEnds:function(s,m,C){if(Ext.isDate(s)){return this.snapEndsByDate(s,m,C)}var D=(m-s)/C,F=Math.floor(Math.log(D)/Math.LN10)+1,B=Math.pow(10,F),i,u=Math.round((D%B)*Math.pow(10,2-F)),E=[[0,15],[20,4],[30,2],[40,4],[50,9],[60,4],[70,2],[80,4],[100,15]],z=0,t,x,y,A,w=1000000000,v=E.length;i=s=Math.floor(s/B)*B;for(y=0;y<v;y++){t=E[y][0];x=(t-u)<0?1000000:(t-u)/E[y][1];if(x<w){A=t;w=x}}D=Math.floor(D*Math.pow(10,-F))*Math.pow(10,F)+A*Math.pow(10,F-2);while(i<m){i+=D;z++}m=+i.toFixed(10);return{from:s,to:m,power:F,step:D,steps:z}},snapEndsByDate:function(k,l,i,j){var o=false,m=[[Ext.Date.MILLI,[1,2,3,5,10,20,30,50,100,200,300,500]],[Ext.Date.SECOND,[1,2,3,5,10,15,30]],[Ext.Date.MINUTE,[1,2,3,5,10,20,30]],[Ext.Date.HOUR,[1,2,3,4,6,12]],[Ext.Date.DAY,[1,2,3,7,14]],[Ext.Date.MONTH,[1,2,3,4,6]]],p,n;Ext.each(m,function(a,b){for(p=0;p<a[1].length;p++){if(l<Ext.Date.add(k,a[0],a[1][p]*i)){o=[a[0],a[1][p]];return false}}});if(!o){n=this.snapEnds(k.getFullYear(),l.getFullYear()+1,i,j);o=[Date.YEAR,Math.round(n.step)]}return this.snapEndsByDateAndStep(k,l,o,j)},snapEndsByDateAndStep:function(k,l,n,j){var o=[k.getFullYear(),k.getMonth(),k.getDate(),k.getHours(),k.getMinutes(),k.getSeconds(),k.getMilliseconds()],i=0,m,p;if(j){m=k}else{switch(n[0]){case Ext.Date.MILLI:m=new Date(o[0],o[1],o[2],o[3],o[4],o[5],Math.floor(o[6]/n[1])*n[1]);break;case Ext.Date.SECOND:m=new Date(o[0],o[1],o[2],o[3],o[4],Math.floor(o[5]/n[1])*n[1],0);break;case Ext.Date.MINUTE:m=new Date(o[0],o[1],o[2],o[3],Math.floor(o[4]/n[1])*n[1],0,0);break;case Ext.Date.HOUR:m=new Date(o[0],o[1],o[2],Math.floor(o[3]/n[1])*n[1],0,0,0);break;case Ext.Date.DAY:m=new Date(o[0],o[1],Math.floor(o[2]-1/n[1])*n[1]+1,0,0,0,0);break;case Ext.Date.MONTH:m=new Date(o[0],Math.floor(o[1]/n[1])*n[1],1,0,0,0,0);break;default:m=new Date(Math.floor(o[0]/n[1])*n[1],0,1,0,0,0,0);break}}p=m;while(p<l){p=Ext.Date.add(p,n[0],n[1]);i++}if(j){p=l}return{from:+m,to:+p,step:(p-m)/i,steps:i}},sorter:function(a,b){return a.offset-b.offset},rad:function(b){return b%360*Math.PI/180},degrees:function(b){return b*180/Math.PI%360},withinBox:function(e,f,d){d=d||{};return(e>=d.x&&e<=(d.x+d.width)&&f>=d.y&&f<=(d.y+d.height))},parseGradient:function(m){var r=this,q=m.type||"linear",t=m.angle||0,o=r.radian,l=m.stops,v=[],n,u,p,s;if(q=="linear"){u=[0,0,Math.cos(t*o),Math.sin(t*o)];p=1/(Math.max(Math.abs(u[2]),Math.abs(u[3]))||1);u[2]*=p;u[3]*=p;if(u[2]<0){u[0]=-u[2];u[2]=0}if(u[3]<0){u[1]=-u[3];u[3]=0}}for(n in l){if(l.hasOwnProperty(n)&&r.stopsRE.test(n)){s={offset:parseInt(n,10),color:Ext.draw.Color.toHex(l[n].color)||"#ffffff",opacity:l[n].opacity||1};v.push(s)}}Ext.Array.sort(v,r.sorter);if(q=="linear"){return{id:m.id,type:q,vector:u,stops:v}}else{return{id:m.id,type:q,centerX:m.centerX,centerY:m.centerY,focalX:m.focalX,focalY:m.focalY,radius:m.radius,vector:u,stops:v}}}});Ext.define("Ext.fx.PropertyHandler",{requires:["Ext.draw.Draw"],statics:{defaultHandler:{pixelDefaultsRE:/width|height|top$|bottom$|left$|right$/i,unitRE:/^(-?\d*\.?\d*){1}(em|ex|px|in|cm|mm|pt|pc|%)*$/,scrollRE:/^scroll/i,computeDelta:function(j,p,r,m,k){r=(typeof r=="number")?r:1;var l=this.unitRE,o=l.exec(j),q,n;if(o){j=o[1];n=o[2];if(!this.scrollRE.test(k)&&!n&&this.pixelDefaultsRE.test(k)){n="px"}}j=+j||0;o=l.exec(p);if(o){p=o[1];n=o[2]||n}p=+p||0;q=(m!=null)?m:j;return{from:j,delta:(p-q)*r,units:n}},get:function(i,w,x,j,q){var o=i.length,u=[],t,r,p,v,s;for(t=0;t<o;t++){if(j){r=j[t][1].from}if(Ext.isArray(i[t][1])&&Ext.isArray(w)){p=[];v=0;s=i[t][1].length;for(;v<s;v++){p.push(this.computeDelta(i[t][1][v],w[v],x,r,q))}u.push([i[t][0],p])}else{u.push([i[t][0],this.computeDelta(i[t][1],w,x,r,q)])}}return u},set:function(i,m){var l=i.length,p=[],o,r,j,n,q;for(o=0;o<l;o++){r=i[o][1];if(Ext.isArray(r)){j=[];q=0;n=r.length;for(;q<n;q++){j.push(r[q].from+(r[q].delta*m)+(r[q].units||0))}p.push([i[o][0],j])}else{p.push([i[o][0],r.from+(r.delta*m)+(r.units||0)])}}return p}},color:{rgbRE:/^rgb\(([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\)$/i,hexRE:/^#?([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})$/i,hex3RE:/^#?([0-9A-F]{1})([0-9A-F]{1})([0-9A-F]{1})$/i,parseColor:function(g,i){i=(typeof i=="number")?i:1;var h,j=false,f;Ext.each([this.hexRE,this.rgbRE,this.hex3RE],function(a,b){h=(b%2==0)?16:10;f=a.exec(g);if(f&&f.length==4){if(b==2){f[1]+=f[1];f[2]+=f[2];f[3]+=f[3]}j={red:parseInt(f[1],h),green:parseInt(f[2],h),blue:parseInt(f[3],h)};return false}});return j||g},computeDelta:function(j,i,l,n){j=this.parseColor(j);i=this.parseColor(i,l);var k=n?n:j,h=typeof k,m=typeof i;if(h=="string"||h=="undefined"||m=="string"||m=="undefined"){return i||k}return{from:j,delta:{red:Math.round((i.red-k.red)*l),green:Math.round((i.green-k.green)*l),blue:Math.round((i.blue-k.blue)*l)}}},get:function(k,j,m,o){var l=k.length,p=[],n,i;for(n=0;n<l;n++){if(o){i=o[n][1].from}p.push([k[n][0],this.computeDelta(k[n][1],j,m,i)])}return p},set:function(i,n){var m=i.length,p=[],o,q,r,l,k;for(o=0;o<m;o++){q=i[o][1];if(q){l=q.from;k=q.delta;q=(typeof q=="object"&&"red" in q)?"rgb("+q.red+", "+q.green+", "+q.blue+")":q;q=(typeof q=="object"&&q.length)?q[0]:q;if(typeof q=="undefined"){return[]}r=typeof q=="string"?q:"rgb("+[(l.red+Math.round(k.red*n))%256,(l.green+Math.round(k.green*n))%256,(l.blue+Math.round(k.blue*n))%256].join(",")+")";p.push([i[o][0],r])}}return p}},object:{interpolate:function(g,e){e=(typeof e=="number")?e:1;var f={},h;for(h in g){f[h]=parseInt(g[h],10)*e}return f},computeDelta:function(j,i,n,h){j=this.interpolate(j);i=this.interpolate(i,n);var k=h?h:j,l={},m;for(m in i){l[m]=i[m]-k[m]}return{from:j,delta:l}},get:function(k,j,m,o){var l=k.length,p=[],n,i;for(n=0;n<l;n++){if(o){i=o[n][1].from}p.push([k[n][0],this.computeDelta(k[n][1],j,m,i)])}return p},set:function(i,o){var n=i.length,r=[],p={},q,m,l,s,t;for(q=0;q<n;q++){s=i[q][1];m=s.from;l=s.delta;for(t in m){p[t]=Math.round(m[t]+l[t]*o)}r.push([i[q][0],p])}return r}},path:{computeDelta:function(h,g,j,f){j=(typeof j=="number")?j:1;var i;h=+h||0;g=+g||0;i=(f!=null)?f:h;return{from:h,delta:(g-i)*j}},forcePath:function(b){if(!Ext.isArray(b)&&!Ext.isArray(b[0])){b=Ext.draw.Draw.parsePathString(b)}return b},get:function(D,x,E,k){var C=this.forcePath(x),v=[],i=D.length,B,y,u,z,t,w,A,F,j;for(u=0;u<i;u++){j=this.forcePath(D[u][1]);z=Ext.draw.Draw.interpolatePaths(j,C);j=z[0];C=z[1];B=j.length;F=[];for(w=0;w<B;w++){z=[j[w][0]];y=j[w].length;for(A=1;A<y;A++){t=k&&k[0][1][w][A].from;z.push(this.computeDelta(j[w][A],C[w][A],E,t))}F.push(z)}v.push([D[u][0],F])}return v},set:function(i,k){var j=i.length,t=[],r,s,u,q,p,v,x,w;for(r=0;r<j;r++){v=i[r][1];q=[];x=v.length;for(s=0;s<x;s++){p=[v[s][0]];w=v[s].length;for(u=1;u<w;u++){p.push(v[s][u].from+v[s][u].delta*k)}q.push(p.join(","))}t.push([i[r][0],q.join(",")])}return t}}}},function(){Ext.each(["outlineColor","backgroundColor","borderColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","fill","stroke"],function(b){this[b]=this.color},this)});Ext.define("Ext.fx.Anim",{mixins:{observable:"Ext.util.Observable"},requires:["Ext.fx.Manager","Ext.fx.Animator","Ext.fx.Easing","Ext.fx.CubicBezier","Ext.fx.PropertyHandler"],isAnimation:true,duration:250,delay:0,delayStart:0,dynamic:false,easing:"ease",damper:1,bezierRE:/^(?:cubic-)?bezier\(([^,]+),([^,]+),([^,]+),([^\)]+)\)/,reverse:false,running:false,paused:false,iterations:1,alternate:false,currentIteration:0,startTime:0,constructor:function(e){var d=this,f;e=e||{};if(e.keyframes){return Ext.create("Ext.fx.Animator",e)}e=Ext.apply(d,e);if(d.from===undefined){d.from={}}d.propHandlers={};d.config=e;d.target=Ext.fx.Manager.createTarget(d.target);d.easingFn=Ext.fx.Easing[d.easing];d.target.dynamic=d.dynamic;if(!d.easingFn){d.easingFn=String(d.easing).match(d.bezierRE);if(d.easingFn&&d.easingFn.length==5){f=d.easingFn;d.easingFn=Ext.fx.CubicBezier.cubicBezier(+f[1],+f[2],+f[3],+f[4])}}d.id=Ext.id(null,"ext-anim-");Ext.fx.Manager.addAnim(d);d.addEvents("beforeanimate","afteranimate","lastframe");d.mixins.observable.constructor.call(d,e);if(e.callback){d.on("afteranimate",e.callback,e.scope)}return d},setAttr:function(d,c){return Ext.fx.Manager.items.get(this.id).setAttr(this.target,d,c)},initAttrs:function(){var n=this,l=n.from,k=n.to,m=n.initialFrom||{},p={},r,q,j,o;for(o in k){if(k.hasOwnProperty(o)){r=n.target.getAttr(o,l[o]);q=k[o];if(!Ext.fx.PropertyHandler[o]){if(Ext.isObject(q)){j=n.propHandlers[o]=Ext.fx.PropertyHandler.object}else{j=n.propHandlers[o]=Ext.fx.PropertyHandler.defaultHandler}}else{j=n.propHandlers[o]=Ext.fx.PropertyHandler[o]}p[o]=j.get(r,q,n.damper,m[o],o)}}n.currentAttrs=p},start:function(i){var h=this,j=h.delay,f=h.delayStart,g;if(j){if(!f){h.delayStart=i;return}else{g=i-f;if(g<j){return}else{i=new Date(f.getTime()+j)}}}if(h.fireEvent("beforeanimate",h)!==false){h.startTime=i;if(!h.paused&&!h.currentAttrs){h.initAttrs()}h.running=true}},runAnim:function(l){var o=this,m=o.currentAttrs,s=o.duration,t=o.easingFn,u=o.propHandlers,q={},p,n,r,v;if(l>=s){l=s;v=true}if(o.reverse){l=s-l}for(r in m){if(m.hasOwnProperty(r)){n=m[r];p=v?1:t(l/s);q[r]=u[r].set(n,p)}}return q},lastFrame:function(){var f=this,e=f.iterations,d=f.currentIteration;d++;if(d<e){if(f.alternate){f.reverse=!f.reverse}f.startTime=new Date();f.currentIteration=d;f.paused=false}else{f.currentIteration=0;f.end();f.fireEvent("lastframe",f,f.startTime)}},end:function(){var b=this;b.startTime=0;b.paused=false;b.running=false;Ext.fx.Manager.removeAnim(b);b.fireEvent("afteranimate",b,b.startTime)}});Ext.enableFx=true;Ext.define("Ext.data.Types",{singleton:true,requires:["Ext.data.SortTypes"]},function(){var b=Ext.data.SortTypes;Ext.apply(Ext.data.Types,{stripRe:/[\$,%]/g,AUTO:{convert:function(a){return a},sortType:b.none,type:"auto"},STRING:{convert:function(d){var a=this.useNull?null:"";return(d===undefined||d===null)?a:String(d)},sortType:b.asUCString,type:"string"},INT:{convert:function(a){return a!==undefined&&a!==null&&a!==""?parseInt(String(a).replace(Ext.data.Types.stripRe,""),10):(this.useNull?null:0)},sortType:b.none,type:"int"},FLOAT:{convert:function(a){return a!==undefined&&a!==null&&a!==""?parseFloat(String(a).replace(Ext.data.Types.stripRe,""),10):(this.useNull?null:0)},sortType:b.none,type:"float"},BOOL:{convert:function(a){if(this.useNull&&(a===undefined||a===null||a==="")){return null}return a===true||a==="true"||a==1},sortType:b.none,type:"bool"},DATE:{convert:function(f){var e=this.dateFormat,a;if(!f){return null}if(Ext.isDate(f)){return f}if(e){if(e=="timestamp"){return new Date(f*1000)}if(e=="time"){return new Date(parseInt(f,10))}return Ext.Date.parse(f,e)}a=Date.parse(f);return a?new Date(a):null},sortType:b.asDate,type:"date"}});Ext.apply(Ext.data.Types,{BOOLEAN:this.BOOL,INTEGER:this.INT,NUMBER:this.FLOAT})});Ext.define("Ext.data.Field",{requires:["Ext.data.Types","Ext.data.SortTypes"],alias:"data.field",constructor:function(e){if(Ext.isString(e)){e={name:e}}Ext.apply(this,e);var g=Ext.data.Types,f=this.sortType,h;if(this.type){if(Ext.isString(this.type)){this.type=g[this.type.toUpperCase()]||g.AUTO}}else{this.type=g.AUTO}if(Ext.isString(f)){this.sortType=Ext.data.SortTypes[f]}else{if(Ext.isEmpty(f)){this.sortType=this.type.sortType}}if(!this.convert){this.convert=this.type.convert}},dateFormat:null,useNull:false,defaultValue:"",mapping:null,sortType:null,sortDir:"ASC",allowBlank:true,persist:true});Ext.define("Ext.data.NodeInterface",{requires:["Ext.data.Field"],statics:{decorate:function(p){if(!p.isNode){var k=Ext.ModelManager,n=p.modelName,l=k.getModel(n),i=l.prototype.idProperty,m=[],q,r,o;l.override(this.getPrototypeBody());m=this.applyFields(l,[{name:i,type:"string",defaultValue:null},{name:"parentId",type:"string",defaultValue:null},{name:"index",type:"int",defaultValue:null},{name:"depth",type:"int",defaultValue:0},{name:"expanded",type:"bool",defaultValue:false,persist:false},{name:"expandable",type:"bool",defaultValue:true,persist:false},{name:"checked",type:"auto",defaultValue:null},{name:"leaf",type:"bool",defaultValue:false,persist:false},{name:"cls",type:"string",defaultValue:null,persist:false},{name:"iconCls",type:"string",defaultValue:null,persist:false},{name:"icon",type:"string",defaultValue:null,persist:false},{name:"root",type:"boolean",defaultValue:false,persist:false},{name:"isLast",type:"boolean",defaultValue:false,persist:false},{name:"isFirst",type:"boolean",defaultValue:false,persist:false},{name:"allowDrop",type:"boolean",defaultValue:true,persist:false},{name:"allowDrag",type:"boolean",defaultValue:true,persist:false},{name:"loaded",type:"boolean",defaultValue:false,persist:false},{name:"loading",type:"boolean",defaultValue:false,persist:false},{name:"href",type:"string",defaultValue:null,persist:false},{name:"hrefTarget",type:"string",defaultValue:null,persist:false},{name:"qtip",type:"string",defaultValue:null,persist:false},{name:"qtitle",type:"string",defaultValue:null,persist:false}]);o=m.length;for(q=0;q<o;++q){r=m[q];if(p.get(r.name)===undefined){p.data[r.name]=r.defaultValue}}}Ext.applyIf(p,{firstChild:null,lastChild:null,parentNode:null,previousSibling:null,nextSibling:null,childNodes:[]});p.commit(true);p.enableBubble(["append","remove","move","insert","beforeappend","beforeremove","beforemove","beforeinsert","expand","collapse","beforeexpand","beforecollapse","sort"]);return p},applyFields:function(m,l){var r=m.prototype,p=r.fields,i=p.keys,n=l.length,s,q,t,o=[];for(q=0;q<n;q++){s=l[q];if(!Ext.Array.contains(i,s.name)){s=Ext.create("data.field",s);o.push(s);p.add(s)}}return o},getPrototypeBody:function(){return{isNode:true,createNode:function(b){if(Ext.isObject(b)&&!b.isModel){b=Ext.ModelManager.create(b,this.modelName)}return Ext.data.NodeInterface.decorate(b)},isLeaf:function(){return this.get("leaf")===true},setFirstChild:function(b){this.firstChild=b},setLastChild:function(b){this.lastChild=b},updateInfo:function(n){var m=this,u=m.isRoot(),p=m.parentNode,t=(!p?true:p.firstChild==m),q=(!p?true:p.lastChild==m),r=0,i=m,v=m.childNodes,o=v.length,s=0;while(i.parentNode){++r;i=i.parentNode}m.beginEdit();m.set({isFirst:t,isLast:q,depth:r,index:p?p.indexOf(m):0,parentId:p?p.getId():null});m.endEdit(n);if(n){m.commit()}for(s=0;s<o;s++){v[s].updateInfo(n)}},isLast:function(){return this.get("isLast")},isFirst:function(){return this.get("isFirst")},hasChildNodes:function(){return !this.isLeaf()&&this.childNodes.length>0},isExpandable:function(){var b=this;if(b.get("expandable")){return !(b.isLeaf()||(b.isLoaded()&&!b.hasChildNodes()))}return false},appendChild:function(q,i,k){var m=this,p,n,o,l,r;if(Ext.isArray(q)){for(p=0,n=q.length;p<n;p++){m.appendChild(q[p])}}else{q=m.createNode(q);if(i!==true&&m.fireEvent("beforeappend",m,q)===false){return false}o=m.childNodes.length;l=q.parentNode;if(l){if(i!==true&&q.fireEvent("beforemove",q,l,m,o)===false){return false}l.removeChild(q,null,false,true)}o=m.childNodes.length;if(o===0){m.setFirstChild(q)}m.childNodes.push(q);q.parentNode=m;q.nextSibling=null;m.setLastChild(q);r=m.childNodes[o-1];if(r){q.previousSibling=r;r.nextSibling=q;r.updateInfo(k)}else{q.previousSibling=null}q.updateInfo(k);if(!m.isLoaded()){m.set("loaded",true)}else{if(m.childNodes.length===1){m.set("loaded",m.isLoaded())}}if(i!==true){m.fireEvent("append",m,q,o);if(l){q.fireEvent("move",q,l,m,o)}}return q}},getBubbleTarget:function(){return this.parentNode},removeChild:function(j,g,l,i){var k=this,h=k.indexOf(j);if(h==-1||(l!==true&&k.fireEvent("beforeremove",k,j)===false)){return false}Ext.Array.erase(k.childNodes,h,1);if(k.firstChild==j){k.setFirstChild(j.nextSibling)}if(k.lastChild==j){k.setLastChild(j.previousSibling)}if(j.previousSibling){j.previousSibling.nextSibling=j.nextSibling;j.previousSibling.updateInfo(i)}if(j.nextSibling){j.nextSibling.previousSibling=j.previousSibling;j.nextSibling.updateInfo(i)}if(l!==true){k.fireEvent("remove",k,j)}if(!k.childNodes.length){k.set("loaded",k.isLoaded())}if(g){j.destroy(true)}else{j.clear()}return j},copy:function(k,l){var i=this,g=i.callOverridden(arguments),h=i.childNodes?i.childNodes.length:0,j;if(l){for(j=0;j<h;j++){g.appendChild(i.childNodes[j].copy(true))}}return g},clear:function(d){var c=this;c.parentNode=c.previousSibling=c.nextSibling=null;if(d){c.firstChild=c.lastChild=null}},destroy:function(e){var f=this,d=f.destroyOptions;if(e===true){f.clear(true);Ext.each(f.childNodes,function(a){a.destroy(true)});f.childNodes=null;delete f.destroyOptions;f.callOverridden([d])}else{f.destroyOptions=e;f.remove(true)}},insertBefore:function(m,j,o){var n=this,i=n.indexOf(j),p=m.parentNode,l=i,k;if(!j){return n.appendChild(m)}if(m==j){return false}m=n.createNode(m);if(o!==true&&n.fireEvent("beforeinsert",n,m,j)===false){return false}if(p==n&&n.indexOf(m)<i){l--}if(p){if(o!==true&&m.fireEvent("beforemove",m,p,n,i,j)===false){return false}p.removeChild(m)}if(l===0){n.setFirstChild(m)}Ext.Array.splice(n.childNodes,l,0,m);m.parentNode=n;m.nextSibling=j;j.previousSibling=m;k=n.childNodes[l-1];if(k){m.previousSibling=k;k.nextSibling=m;k.updateInfo()}else{m.previousSibling=null}m.updateInfo();if(!n.isLoaded()){n.set("loaded",true)}else{if(n.childNodes.length===1){n.set("loaded",n.isLoaded())}}if(o!==true){n.fireEvent("insert",n,m,j);if(p){m.fireEvent("move",m,p,n,l,j)}}return m},insertChild:function(e,f){var d=this.childNodes[e];if(d){return this.insertBefore(f,d)}else{return this.appendChild(f)}},remove:function(d,f){var e=this.parentNode;if(e){e.removeChild(this,d,f,true)}return this},removeAll:function(f,e){var g=this.childNodes,h;while((h=g[0])){this.removeChild(h,f,e)}return this},getChildAt:function(b){return this.childNodes[b]},replaceChild:function(f,g,h){var e=g?g.nextSibling:null;this.removeChild(g,h);this.insertBefore(f,e,h);return g},indexOf:function(b){return Ext.Array.indexOf(this.childNodes,b)},getPath:function(g,h){g=g||this.idProperty;h=h||"/";var e=[this.get(g)],f=this.parentNode;while(f){e.unshift(f.get(g));f=f.parentNode}return h+e.join(h)},getDepth:function(){return this.get("depth")},bubble:function(h,e,f){var g=this;while(g){if(h.apply(e||g,f||[g])===false){break}g=g.parentNode}},cascade:function(){if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn("Ext.data.Node: cascade has been deprecated. Please use cascadeBy instead.")}return this.cascadeBy.apply(this,arguments)},cascadeBy:function(k,l,h){if(k.apply(l||this,h||[this])!==false){var i=this.childNodes,j=i.length,g;for(g=0;g<j;g++){i[g].cascadeBy(k,l,h)}}},eachChild:function(k,l,h){var i=this.childNodes,j=i.length,g;for(g=0;g<j;g++){if(k.apply(l||this,h||[i[g]])===false){break}}},findChild:function(d,f,e){return this.findChildBy(function(){return this.get(d)==f},null,e)},findChildBy:function(l,m,i){var n=this.childNodes,j=n.length,o=0,k,p;for(;o<j;o++){k=n[o];if(l.call(m||k,k)===true){return k}else{if(i){p=k.findChildBy(l,m,i);if(p!==null){return p}}}}return null},contains:function(b){return b.isAncestor(this)},isAncestor:function(d){var c=this.parentNode;while(c){if(c==d){return true}c=c.parentNode}return false},sort:function(k,h,i){var m=this.childNodes,l=m.length,n,j;if(l>0){Ext.Array.sort(m,k);for(n=0;n<l;n++){j=m[n];j.previousSibling=m[n-1];j.nextSibling=m[n+1];if(n===0){this.setFirstChild(j);j.updateInfo()}if(n==l-1){this.setLastChild(j);j.updateInfo()}if(h&&!j.isLeaf()){j.sort(k,true,true)}}if(i!==true){this.fireEvent("sort",this,m)}}},isExpanded:function(){return this.get("expanded")},isLoaded:function(){return this.get("loaded")},isLoading:function(){return this.get("loading")},isRoot:function(){return !this.parentNode},isVisible:function(){var b=this.parentNode;while(b){if(!b.isExpanded()){return false}b=b.parentNode}return true},expand:function(f,g,e){var h=this;if(!h.isLeaf()){if(h.isLoading()){h.on("expand",function(){h.expand(f,g,e)},h,{single:true})}else{if(!h.isExpanded()){h.fireEvent("beforeexpand",h,function(){h.set("expanded",true);h.fireEvent("expand",h,h.childNodes,false);if(f){h.expandChildren(true,g,e)}else{Ext.callback(g,e||h,[h.childNodes])}},h)}else{if(f){h.expandChildren(true,g,e)}else{Ext.callback(g,e||h,[h.childNodes])}}}}else{Ext.callback(g,e||h)}},expandChildren:function(o,k,i){var l=this,n=0,r=l.childNodes,m=r.length,p,q=0;for(;n<m;++n){p=r[n];if(!p.isLeaf()&&!p.isExpanded()){q++;r[n].expand(o,function(){q--;if(k&&!q){Ext.callback(k,i||l,[l.childNodes])}})}}if(!q&&k){Ext.callback(k,i||l,[l.childNodes])}},collapse:function(f,g,e){var h=this;if(!h.isLeaf()){if(!h.collapsing&&h.isExpanded()){h.fireEvent("beforecollapse",h,function(){h.set("expanded",false);h.fireEvent("collapse",h,h.childNodes,false);if(f){h.collapseChildren(true,g,e)}else{Ext.callback(g,e||h,[h.childNodes])}},h)}else{if(f){h.collapseChildren(true,g,e)}}}else{Ext.callback(g,e||h,[h.childNodes])}},collapseChildren:function(o,k,i){var l=this,n=0,q=l.childNodes,m=q.length,p,r=0;for(;n<m;++n){p=q[n];if(!p.isLeaf()&&p.isExpanded()){r++;q[n].collapse(o,function(){r--;if(k&&!r){Ext.callback(k,i||l,[l.childNodes])}})}}if(!r&&k){Ext.callback(k,i||l,[l.childNodes])}}}}}});Ext.define("Ext.data.Errors",{extend:"Ext.util.MixedCollection",isValid:function(){return this.length===0},getByField:function(h){var i=[],g,j,f;for(f=0;f<this.length;f++){g=this.items[f];if(g.field==h){i.push(g)}}return i}});Ext.define("Ext.layout.container.AbstractFit",{extend:"Ext.layout.container.Container",itemCls:Ext.baseCSSPrefix+"fit-item",targetCls:Ext.baseCSSPrefix+"layout-fit",type:"fit"});Ext.define("Ext.menu.Manager",{singleton:true,requires:["Ext.util.MixedCollection","Ext.util.KeyMap"],alternateClassName:"Ext.menu.MenuMgr",uses:["Ext.menu.Menu"],menus:{},groups:{},attached:false,lastShow:new Date(),init:function(){var b=this;b.active=Ext.create("Ext.util.MixedCollection");Ext.getDoc().addKeyListener(27,function(){if(b.active.length>0){b.hideAll()}},b)},hideAll:function(){var d=this.active,c;if(d&&d.length>0){c=d.clone();c.each(function(a){a.hide()});return true}return false},onHide:function(e){var d=this,f=d.active;f.remove(e);if(f.length<1){Ext.getDoc().un("mousedown",d.onMouseDown,d);d.attached=false}},onShow:function(i){var l=this,k=l.active,m=k.last(),n=l.attached,h=i.getEl(),j;l.lastShow=new Date();k.add(i);if(!n){Ext.getDoc().on("mousedown",l.onMouseDown,l);l.attached=true}i.toFront()},onBeforeHide:function(b){if(b.activeChild){b.activeChild.hide()}if(b.autoHideTimer){clearTimeout(b.autoHideTimer);delete b.autoHideTimer}},onBeforeShow:function(e){var f=this.active,d=e.parentMenu;f.remove(e);if(!d&&!e.allowOtherMenus){this.hideAll()}else{if(d&&d.activeChild&&e!=d.activeChild){d.activeChild.hide()}}},onMouseDown:function(h){var e=this,i=e.active,g=e.lastShow,j=h.target;if(Ext.Date.getElapsed(g)>50&&i.length>0&&!h.getTarget("."+Ext.baseCSSPrefix+"menu")){e.hideAll();if(Ext.isIE&&Ext.fly(j).focusable()){j.focus()}}},register:function(c){var d=this;if(!d.active){d.init()}if(c.floating){d.menus[c.id]=c;c.on({beforehide:d.onBeforeHide,hide:d.onHide,beforeshow:d.onBeforeShow,show:d.onShow,scope:d})}},get:function(c){var d=this.menus;if(typeof c=="string"){if(!d){return null}return d[c]}else{if(c.isMenu){return c}else{if(Ext.isArray(c)){return Ext.create("Ext.menu.Menu",{items:c})}else{return Ext.ComponentManager.create(c,"menu")}}}},unregister:function(g){var f=this,e=f.menus,h=f.active;delete e[g.id];h.remove(g);g.un({beforehide:f.onBeforeHide,hide:f.onHide,beforeshow:f.onBeforeShow,show:f.onShow,scope:f})},registerCheckable:function(f){var e=this.groups,d=f.group;if(d){if(!e[d]){e[d]=[]}e[d].push(f)}},unregisterCheckable:function(f){var e=this.groups,d=f.group;if(d){Ext.Array.remove(e[d],f)}},onCheckChange:function(o,m){var j=this.groups,p=o.group,i=0,k,n,l;if(p&&m){k=j[p];n=k.length;for(;i<n;i++){l=k[i];if(l!=o){l.setChecked(false)}}}}});Ext.define("Ext.layout.component.Button",{alias:["layout.button"],extend:"Ext.layout.component.Component",type:"button",cellClsRE:/-btn-(tl|br)\b/,htmlRE:/<.*>/,beforeLayout:function(){return this.callParent(arguments)||this.lastText!==this.owner.text},onLayout:function(B,q){var t=this,x=Ext.isNumber,A=t.owner,r=A.el,w=A.btnEl,z=A.btnInnerEl,y=A.btnIconEl,v=(A.icon||A.iconCls)&&(A.iconAlign=="top"||A.iconAlign=="bottom"),C=A.minWidth,s=A.maxWidth,D,p,u;t.getTargetInfo();t.callParent(arguments);z.unclip();t.setTargetSize(B,q);if(!x(B)){if(A.text&&(Ext.isIE6||Ext.isIE7)&&Ext.isStrict&&w&&w.getWidth()>20){p=t.btnFrameWidth;u=Ext.util.TextMetrics.measure(z,A.text);r.setWidth(u.width+p+t.adjWidth);w.setWidth(u.width+p);z.setWidth(u.width+p);if(v){y.setWidth(u.width+p)}}else{r.setWidth(null);w.setWidth(null);z.setWidth(null);y.setWidth(null)}if(C||s){D=r.getWidth();if(C&&(D<C)){t.setTargetSize(C,q)}else{if(s&&(D>s)){z.clip();t.setTargetSize(s,q)}}}}this.lastText=A.text},setTargetSize:function(v,l){var p=this,u=p.owner,r=Ext.isNumber,s=u.btnInnerEl,n=(r(v)?v-p.adjWidth:v),q=(r(l)?l-p.adjHeight:l),t=p.btnFrameHeight,m=u.getText(),o;p.callParent(arguments);p.setElementSize(u.btnEl,n,q);p.setElementSize(s,n,q);if(q>=0){s.setStyle("line-height",q-t+"px")}if(m&&this.htmlRE.test(m)){s.setStyle("line-height","normal");o=Ext.util.TextMetrics.measure(s,m).height;s.setStyle("padding-top",p.btnFrameTop+Math.max(s.getHeight()-t-o,0)/2+"px");p.setElementSize(s,n,q)}},getTargetInfo:function(){var l=this,i=l.owner,m=i.el,n=l.frameSize,j=i.frameBody,h=i.btnWrap,k=i.btnInnerEl;if(!("adjWidth" in l)){Ext.apply(l,{adjWidth:n.left+n.right+m.getBorderWidth("lr")+m.getPadding("lr")+h.getPadding("lr")+(j?j.getFrameWidth("lr"):0),adjHeight:n.top+n.bottom+m.getBorderWidth("tb")+m.getPadding("tb")+h.getPadding("tb")+(j?j.getFrameWidth("tb"):0),btnFrameWidth:k.getFrameWidth("lr"),btnFrameHeight:k.getFrameWidth("tb"),btnFrameTop:k.getFrameWidth("t")})}return l.callParent()}});Ext.define("Ext.layout.component.Tab",{alias:["layout.tab"],extend:"Ext.layout.component.Button",beforeLayout:function(){var c=this,d=c.lastClosable!==c.owner.closable;if(d){delete c.adjWidth}return this.callParent(arguments)||d},onLayout:function(){var b=this;b.callParent(arguments);b.lastClosable=b.owner.closable}});Ext.define("Ext.state.Manager",{singleton:true,requires:["Ext.state.Provider"],constructor:function(){this.provider=Ext.create("Ext.state.Provider")},setProvider:function(b){this.provider=b},get:function(c,d){return this.provider.get(c,d)},set:function(d,c){this.provider.set(d,c)},clear:function(b){this.provider.clear(b)},getProvider:function(){return this.provider}});Ext.define("Ext.state.Stateful",{mixins:{observable:"Ext.util.Observable"},requires:["Ext.state.Manager"],stateful:true,saveDelay:100,autoGenIdRe:/^((\w+-)|(ext-comp-))\d{4,}$/i,constructor:function(d){var c=this;d=d||{};if(Ext.isDefined(d.stateful)){c.stateful=d.stateful}if(Ext.isDefined(d.saveDelay)){c.saveDelay=d.saveDelay}c.stateId=c.stateId||d.stateId;if(!c.stateEvents){c.stateEvents=[]}if(d.stateEvents){c.stateEvents.concat(d.stateEvents)}this.addEvents("beforestaterestore","staterestore","beforestatesave","statesave");c.mixins.observable.constructor.call(c);if(c.stateful!==false){c.initStateEvents();c.initState()}},initStateEvents:function(){this.addStateEvents(this.stateEvents)},addStateEvents:function(h){if(!Ext.isArray(h)){h=[h]}var g=this,e=0,f=h.length;for(;e<f;++e){g.on(h[e],g.onStateChange,g)}},onStateChange:function(){var c=this,d=c.saveDelay;if(d>0){if(!c.stateTask){c.stateTask=Ext.create("Ext.util.DelayedTask",c.saveState,c)}c.stateTask.delay(c.saveDelay)}else{c.saveState()}},saveState:function(){var e=this,f,d;if(e.stateful!==false){f=e.getStateId();if(f){d=e.getState();if(e.fireEvent("beforestatesave",e,d)!==false){Ext.state.Manager.set(f,d);e.fireEvent("statesave",e,d)}}}},getState:function(){return null},applyState:function(b){if(b){Ext.apply(this,b)}},getStateId:function(){var d=this,c=d.stateId;if(!c){c=d.autoGenIdRe.test(String(d.id))?null:d.id}return c},initState:function(){var e=this,f=e.getStateId(),d;if(e.stateful!==false){if(f){d=Ext.state.Manager.get(f);if(d){d=Ext.apply({},d);if(e.fireEvent("beforestaterestore",e,d)!==false){e.applyState(d);e.fireEvent("staterestore",e,d)}}}}},savePropToState:function(i,j,k){var g=this,l=g[i],h=g.initialConfig;if(g.hasOwnProperty(i)){if(!h||h[i]!==l){if(j){j[k||i]=l}return true}}return false},savePropsToState:function(f,d){var e=this;Ext.each(f,function(a){e.savePropToState(a,d)});return d},destroy:function(){var b=this.stateTask;if(b){b.cancel()}this.clearListeners()}});Ext.define("Ext.AbstractComponent",{requires:["Ext.ComponentQuery","Ext.ComponentManager"],mixins:{observable:"Ext.util.Observable",animate:"Ext.util.Animate",state:"Ext.state.Stateful"},uses:["Ext.PluginManager","Ext.ComponentManager","Ext.Element","Ext.DomHelper","Ext.XTemplate","Ext.ComponentQuery","Ext.ComponentLoader","Ext.EventManager","Ext.layout.Layout","Ext.layout.component.Auto","Ext.LoadMask","Ext.ZIndexManager"],statics:{AUTO_ID:1000},isComponent:true,getAutoId:function(){return ++Ext.AbstractComponent.AUTO_ID},renderTpl:null,tplWriteMode:"overwrite",baseCls:Ext.baseCSSPrefix+"component",disabledCls:Ext.baseCSSPrefix+"item-disabled",ui:"default",uiCls:[],hidden:false,disabled:false,draggable:false,floating:false,hideMode:"display",styleHtmlContent:false,styleHtmlCls:Ext.baseCSSPrefix+"html",autoShow:false,autoRender:false,needsLayout:false,allowDomMove:true,rendered:false,componentLayoutCounter:0,weight:0,trimRe:/^\s+|\s+$/g,spacesRe:/\s+/,maskOnDisable:true,constructor:function(e){var g=this,h,f;e=e||{};g.initialConfig=e;Ext.apply(g,e);g.addEvents("beforeactivate","activate","beforedeactivate","deactivate","added","disable","enable","beforeshow","show","beforehide","hide","removed","beforerender","render","afterrender","beforedestroy","destroy","resize","move");g.getId();g.mons=[];g.additionalCls=[];g.renderData=g.renderData||{};g.renderSelectors=g.renderSelectors||{};if(g.plugins){g.plugins=[].concat(g.plugins);g.constructPlugins()}g.initComponent();Ext.ComponentManager.register(g);g.mixins.observable.constructor.call(g);g.mixins.state.constructor.call(g,e);this.addStateEvents("resize");if(g.plugins){g.plugins=[].concat(g.plugins);for(h=0,f=g.plugins.length;h<f;h++){g.plugins[h]=g.initPlugin(g.plugins[h])}}g.loader=g.getLoader();if(g.renderTo){g.render(g.renderTo)}if(g.autoShow){g.show()}if(Ext.isDefined(g.disabledClass)){if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn("Ext.Component: disabledClass has been deprecated. Please use disabledCls.")}g.disabledCls=g.disabledClass;delete g.disabledClass}},initComponent:function(){this.constructPlugins()},getState:function(){var k=this,l=k.ownerCt?(k.shadowOwnerCt||k.ownerCt).getLayout():null,j={collapsed:k.collapsed},n=k.width,h=k.height,i=k.collapseMemento,m;if(k.collapsed&&i){if(Ext.isDefined(i.data.width)){n=i.width}if(Ext.isDefined(i.data.height)){h=i.height}}if(l&&k.flex){j.flex=k.flex;if(l.perpendicularPrefix){j[l.perpendicularPrefix]=k["get"+l.perpendicularPrefixCap]()}else{if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn("Ext.Component: Specified a flex value on a component not inside a Box layout")}}}else{if(l&&k.anchor){j.anchor=k.anchor;m=k.anchor.split(" ").concat(null);if(!m[0]){if(k.width){j.width=n}}if(!m[1]){if(k.height){j.height=h}}}else{if(k.width){j.width=n}if(k.height){j.height=h}}}if(j.width==k.initialConfig.width){delete j.width}if(j.height==k.initialConfig.height){delete j.height}if(l&&l.align&&(l.align.indexOf("stretch")!==-1)){delete j[l.perpendicularPrefix]}return j},show:Ext.emptyFn,animate:function(s){var o=this,l;s=s||{};l=s.to||{};if(Ext.fx.Manager.hasFxBlock(o.id)){return o}if(!s.dynamic&&(l.height||l.width)){var p=o.getWidth(),h=p,q=o.getHeight(),r=q,t=false;if(l.height&&l.height>q){r=l.height;t=true}if(l.width&&l.width>p){h=l.width;t=true}if(t){var m=!Ext.isNumber(o.width),n=!Ext.isNumber(o.height);o.componentLayout.childrenChanged=true;o.setSize(h,r,o.ownerCt);o.el.setSize(p,q);if(m){delete o.width}if(n){delete o.height}}}return o.mixins.animate.animate.apply(o,arguments)},findLayoutController:function(){return this.findParentBy(function(b){return !b.ownerCt||(b.layout.layoutBusy&&!b.ownerCt.layout.layoutBusy)})},onShow:function(){var b=this.needsLayout;if(Ext.isObject(b)){this.doComponentLayout(b.width,b.height,b.isSetSize,b.ownerCt)}},constructPlugin:function(b){if(b.ptype&&typeof b.init!="function"){b.cmp=this;b=Ext.PluginManager.create(b)}else{if(typeof b=="string"){b=Ext.PluginManager.create({ptype:b,cmp:this})}}return b},constructPlugins:function(){var g=this,e=g.plugins,h,f;if(e){for(h=0,f=e.length;h<f;h++){e[h]=g.constructPlugin(e[h])}}},initPlugin:function(b){b.init(this);return b},doAutoRender:function(){var b=this;if(b.floating){b.render(document.body)}else{b.render(Ext.isBoolean(b.autoRender)?Ext.getBody():b.autoRender)}},render:function(d,e){var f=this;if(!f.rendered&&f.fireEvent("beforerender",f)!==false){f.rendering=true;if(f.el){f.el=Ext.get(f.el)}if(f.floating){f.onFloatRender()}d=f.initContainer(d);f.onRender(d,e);f.el.setVisibilityMode(Ext.Element[f.hideMode.toUpperCase()]);if(f.overCls){f.el.hover(f.addOverCls,f.removeOverCls,f)}f.fireEvent("render",f);f.initContent();f.afterRender(d);f.fireEvent("afterrender",f);f.initEvents();if(f.hidden){f.el.hide()}if(f.disabled){f.disable(true)}delete f.rendering}return f},onRender:function(i,j){var m=this,o=m.el,n=m.initStyles(),k,l,p;j=m.getInsertPosition(j);if(!o){if(j){o=Ext.DomHelper.insertBefore(j,m.getElConfig(),true)}else{o=Ext.DomHelper.append(i,m.getElConfig(),true)}}else{if(m.allowDomMove!==false){if(j){i.dom.insertBefore(o.dom,j)}else{i.dom.appendChild(o.dom)}}}if(Ext.scopeResetCSS&&!m.ownerCt){if(o.dom==Ext.getBody().dom){o.parent().addCls(Ext.baseCSSPrefix+"reset")}else{m.resetEl=o.wrap({cls:Ext.baseCSSPrefix+"reset"})}}m.setUI(m.ui);o.addCls(m.initCls());o.setStyle(n);m.el=o;m.initFrame();k=m.initRenderTpl();if(k){l=m.initRenderData();k.append(m.getTargetEl(),l)}m.applyRenderSelectors();m.rendered=true},afterRender:function(){var e=this,f,d;e.getComponentLayout();if(e.collapsed||(!e.ownerCt||(e.height||e.width))){e.setSize(e.width,e.height)}else{e.renderChildren()}if(e.floating&&(e.x===undefined||e.y===undefined)){if(e.floatParent){d=e.el.getAlignToXY(e.floatParent.getTargetEl(),"c-c");f=e.floatParent.getTargetEl().translatePoints(d[0],d[1])}else{d=e.el.getAlignToXY(e.container,"c-c");f=e.container.translatePoints(d[0],d[1])}e.x=e.x===undefined?f.left:e.x;e.y=e.y===undefined?f.top:e.y}if(Ext.isDefined(e.x)||Ext.isDefined(e.y)){e.setPosition(e.x,e.y)}if(e.styleHtmlContent){e.getTargetEl().addCls(e.styleHtmlCls)}},registerFloatingItem:function(c){var d=this;if(!d.floatingItems){d.floatingItems=Ext.create("Ext.ZIndexManager",d)}d.floatingItems.register(c)},renderChildren:function(){var c=this,d=c.getComponentLayout();c.suspendLayout=true;d.renderChildren();delete c.suspendLayout},frameCls:Ext.baseCSSPrefix+"frame",frameIdRegex:/[-]frame\d+[TMB][LCR]$/,frameElementCls:{tl:[],tc:[],tr:[],ml:[],mc:[],mr:[],bl:[],bc:[],br:[]},frameTpl:['<tpl if="top">','<tpl if="left"><div id="{fgid}TL" class="{frameCls}-tl {baseCls}-tl {baseCls}-{ui}-tl<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-tl</tpl></tpl>" style="background-position: {tl}; padding-left: {frameWidth}px" role="presentation"></tpl>','<tpl if="right"><div id="{fgid}TR" class="{frameCls}-tr {baseCls}-tr {baseCls}-{ui}-tr<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-tr</tpl></tpl>" style="background-position: {tr}; padding-right: {frameWidth}px" role="presentation"></tpl>','<div id="{fgid}TC" class="{frameCls}-tc {baseCls}-tc {baseCls}-{ui}-tc<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-tc</tpl></tpl>" style="background-position: {tc}; height: {frameWidth}px" role="presentation"></div>','<tpl if="right"></div></tpl>','<tpl if="left"></div></tpl>',"</tpl>",'<tpl if="left"><div id="{fgid}ML" class="{frameCls}-ml {baseCls}-ml {baseCls}-{ui}-ml<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-ml</tpl></tpl>" style="background-position: {ml}; padding-left: {frameWidth}px" role="presentation"></tpl>','<tpl if="right"><div id="{fgid}MR" class="{frameCls}-mr {baseCls}-mr {baseCls}-{ui}-mr<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-mr</tpl></tpl>" style="background-position: {mr}; padding-right: {frameWidth}px" role="presentation"></tpl>','<div id="{fgid}MC" class="{frameCls}-mc {baseCls}-mc {baseCls}-{ui}-mc<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-mc</tpl></tpl>" role="presentation"></div>','<tpl if="right"></div></tpl>','<tpl if="left"></div></tpl>','<tpl if="bottom">','<tpl if="left"><div id="{fgid}BL" class="{frameCls}-bl {baseCls}-bl {baseCls}-{ui}-bl<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-bl</tpl></tpl>" style="background-position: {bl}; padding-left: {frameWidth}px" role="presentation"></tpl>','<tpl if="right"><div id="{fgid}BR" class="{frameCls}-br {baseCls}-br {baseCls}-{ui}-br<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-br</tpl></tpl>" style="background-position: {br}; padding-right: {frameWidth}px" role="presentation"></tpl>','<div id="{fgid}BC" class="{frameCls}-bc {baseCls}-bc {baseCls}-{ui}-bc<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-bc</tpl></tpl>" style="background-position: {bc}; height: {frameWidth}px" role="presentation"></div>','<tpl if="right"></div></tpl>','<tpl if="left"></div></tpl>',"</tpl>"],frameTableTpl:["<table><tbody>",'<tpl if="top">',"<tr>",'<tpl if="left"><td id="{fgid}TL" class="{frameCls}-tl {baseCls}-tl {baseCls}-{ui}-tl<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-tl</tpl></tpl>" style="background-position: {tl}; padding-left:{frameWidth}px" role="presentation"></td></tpl>','<td id="{fgid}TC" class="{frameCls}-tc {baseCls}-tc {baseCls}-{ui}-tc<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-tc</tpl></tpl>" style="background-position: {tc}; height: {frameWidth}px" role="presentation"></td>','<tpl if="right"><td id="{fgid}TR" class="{frameCls}-tr {baseCls}-tr {baseCls}-{ui}-tr<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-tr</tpl></tpl>" style="background-position: {tr}; padding-left: {frameWidth}px" role="presentation"></td></tpl>',"</tr>","</tpl>","<tr>",'<tpl if="left"><td id="{fgid}ML" class="{frameCls}-ml {baseCls}-ml {baseCls}-{ui}-ml<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-ml</tpl></tpl>" style="background-position: {ml}; padding-left: {frameWidth}px" role="presentation"></td></tpl>','<td id="{fgid}MC" class="{frameCls}-mc {baseCls}-mc {baseCls}-{ui}-mc<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-mc</tpl></tpl>" style="background-position: 0 0;" role="presentation"></td>','<tpl if="right"><td id="{fgid}MR" class="{frameCls}-mr {baseCls}-mr {baseCls}-{ui}-mr<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-mr</tpl></tpl>" style="background-position: {mr}; padding-left: {frameWidth}px" role="presentation"></td></tpl>',"</tr>",'<tpl if="bottom">',"<tr>",'<tpl if="left"><td id="{fgid}BL" class="{frameCls}-bl {baseCls}-bl {baseCls}-{ui}-bl<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-bl</tpl></tpl>" style="background-position: {bl}; padding-left: {frameWidth}px" role="presentation"></td></tpl>','<td id="{fgid}BC" class="{frameCls}-bc {baseCls}-bc {baseCls}-{ui}-bc<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-bc</tpl></tpl>" style="background-position: {bc}; height: {frameWidth}px" role="presentation"></td>','<tpl if="right"><td id="{fgid}BR" class="{frameCls}-br {baseCls}-br {baseCls}-{ui}-br<tpl if="uiCls"><tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-br</tpl></tpl>" style="background-position: {br}; padding-left: {frameWidth}px" role="presentation"></td></tpl>',"</tr>","</tpl>","</tbody></table>"],initFrame:function(){if(Ext.supports.CSS3BorderRadius){return false}var h=this,i=h.getFrameInfo(),f=i.width,g=h.getFrameTpl(i.table),j;if(h.frame){h.frameGenId=j=(h.frameGenId||0)+1;j=h.id+"-frame"+j;g.insertFirst(h.el,Ext.apply({},{fgid:j,ui:h.ui,uiCls:h.uiCls,frameCls:h.frameCls,baseCls:h.baseCls,frameWidth:f,top:!!i.top,left:!!i.left,right:!!i.right,bottom:!!i.bottom},h.getFramePositions(i)));h.frameBody=h.el.down("."+h.frameCls+"-mc");h.removeChildEls(function(a){return a.id&&h.frameIdRegex.test(a.id)});Ext.each(["TL","TC","TR","ML","MC","MR","BL","BC","BR"],function(a){h.childEls.push({name:"frame"+a,id:j+a})})}},updateFrame:function(){if(Ext.supports.CSS3BorderRadius){return false}var l=this,j=this.frameSize&&this.frameSize.table,k=this.frameTL,m=this.frameBL,n=this.frameML,i=this.frameMC,h;this.initFrame();if(i){if(l.frame){delete l.frameTL;delete l.frameTC;delete l.frameTR;delete l.frameML;delete l.frameMC;delete l.frameMR;delete l.frameBL;delete l.frameBC;delete l.frameBR;this.applyRenderSelectors();h=this.frameMC.dom.className;i.insertAfter(this.frameMC);this.frameMC.remove();this.frameBody=this.frameMC=i;i.dom.className=h;if(j){l.el.query("> table")[1].remove()}else{if(k){k.remove()}if(m){m.remove()}n.remove()}}else{}}else{if(l.frame){this.applyRenderSelectors()}}},getFrameInfo:function(){if(Ext.supports.CSS3BorderRadius){return false}var l=this,i=l.el.getStyle("background-position-x"),j=l.el.getStyle("background-position-y"),k,g=false,h;if(!i&&!j){k=l.el.getStyle("background-position").split(" ");i=k[0];j=k[1]}if(parseInt(i,10)>=1000000&&parseInt(j,10)>=1000000){h=Math.max;g={table:i.substr(0,3)=="110",vertical:j.substr(0,3)=="110",top:h(i.substr(3,2),i.substr(5,2)),right:h(i.substr(5,2),j.substr(3,2)),bottom:h(j.substr(3,2),j.substr(5,2)),left:h(j.substr(5,2),i.substr(3,2))};g.width=h(g.top,g.right,g.bottom,g.left);l.el.setStyle("background-image","none")}if(l.frame===true&&!g){Ext.Error.raise("You have set frame: true explicity on this component while it doesn't have any framing defined in the CSS template. In this case IE can't figure out what sizes to use and thus framing on this component will be disabled.")}l.frame=l.frame||!!g;l.frameSize=g||false;return g},getFramePositions:function(n){var l=this,k=n.width,j=l.dock,o,q,m,p,r;if(n.vertical){q="0 -"+(k*0)+"px";m="0 -"+(k*1)+"px";if(j&&j=="right"){q="right -"+(k*0)+"px";m="right -"+(k*1)+"px"}o={tl:"0 -"+(k*0)+"px",tr:"0 -"+(k*1)+"px",bl:"0 -"+(k*2)+"px",br:"0 -"+(k*3)+"px",ml:"-"+(k*1)+"px 0",mr:"right 0",tc:q,bc:m}}else{p="-"+(k*0)+"px 0";r="right 0";if(j&&j=="bottom"){p="left bottom";r="right bottom"}o={tl:"0 -"+(k*2)+"px",tr:"right -"+(k*3)+"px",bl:"0 -"+(k*4)+"px",br:"right -"+(k*5)+"px",ml:p,mr:r,tc:"0 -"+(k*0)+"px",bc:"0 -"+(k*1)+"px"}}return o},getFrameTpl:function(b){return b?this.getTpl("frameTableTpl"):this.getTpl("frameTpl")},initCls:function(){var c=this,d=[];d.push(c.baseCls);if(Ext.isDefined(c.cmpCls)){if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn("Ext.Component: cmpCls has been deprecated. Please use componentCls.")}c.componentCls=c.cmpCls;delete c.cmpCls}if(c.componentCls){d.push(c.componentCls)}else{c.componentCls=c.baseCls}if(c.cls){d.push(c.cls);delete c.cls}return d.concat(c.additionalCls)},setUI:function(k){var l=this,h=Ext.Array.clone(l.uiCls),j=[],m=[],i,n;for(n=0;n<h.length;n++){i=h[n];m=m.concat(l.removeClsWithUI(i,true));j.push(i)}if(m.length){l.removeCls(m)}l.removeUIFromElement();l.ui=k;l.addUIToElement();m=[];for(n=0;n<j.length;n++){i=j[n];m=m.concat(l.addClsWithUI(i,true))}if(m.length){l.addCls(m)}},addClsWithUI:function(g,h){var i=this,j=[],f;if(!Ext.isArray(g)){g=[g]}for(f=0;f<g.length;f++){if(g[f]&&!i.hasUICls(g[f])){i.uiCls=Ext.Array.clone(i.uiCls);i.uiCls.push(g[f]);j=j.concat(i.addUIClsToElement(g[f]))}}if(h!==true){i.addCls(j)}return j},removeClsWithUI:function(g,h){var i=this,j=[],f;if(!Ext.isArray(g)){g=[g]}for(f=0;f<g.length;f++){if(g[f]&&i.hasUICls(g[f])){i.uiCls=Ext.Array.remove(i.uiCls,g[f]);j=j.concat(i.removeUIClsFromElement(g[f]))}}if(h!==true){i.removeCls(j)}return j},hasUICls:function(e){var d=this,f=d.uiCls||[];return Ext.Array.contains(f,e)},addUIClsToElement:function(j,t){var n=this,i=[],m=n.frameElementCls;i.push(Ext.baseCSSPrefix+j);i.push(n.baseCls+"-"+j);i.push(n.baseCls+"-"+n.ui+"-"+j);if(!t&&n.frame&&!Ext.supports.CSS3BorderRadius){var p=["tl","tc","tr","ml","mc","mr","bl","bc","br"],r,o,q,s;for(o=0;o<p.length;o++){s=n["frame"+p[o].toUpperCase()];r=[n.baseCls+"-"+n.ui+"-"+p[o],n.baseCls+"-"+n.ui+"-"+j+"-"+p[o]];if(s&&s.dom){s.addCls(r)}else{for(q=0;q<r.length;q++){if(Ext.Array.indexOf(m[p[o]],r[q])==-1){m[p[o]].push(r[q])}}}}}n.frameElementCls=m;return i},removeUIClsFromElement:function(i,k){var l=this,j=[],m=l.frameElementCls;j.push(Ext.baseCSSPrefix+i);j.push(l.baseCls+"-"+i);j.push(l.baseCls+"-"+l.ui+"-"+i);if(!k&&l.frame&&!Ext.supports.CSS3BorderRadius){var o=["tl","tc","tr","ml","mc","mr","bl","bc","br"],p,n;i=l.baseCls+"-"+l.ui+"-"+i+"-"+o[p];for(p=0;p<o.length;p++){n=l["frame"+o[p].toUpperCase()];if(n&&n.dom){n.removeCls(i)}else{Ext.Array.remove(m[o[p]],i)}}}l.frameElementCls=m;return j},addUIToElement:function(j){var k=this,l=k.frameElementCls;k.addCls(k.baseCls+"-"+k.ui);if(k.frame&&!Ext.supports.CSS3BorderRadius){var n=["tl","tc","tr","ml","mc","mr","bl","bc","br"],h,m,i;for(h=0;h<n.length;h++){m=k["frame"+n[h].toUpperCase()];i=k.baseCls+"-"+k.ui+"-"+n[h];if(m){m.addCls(i)}else{if(!Ext.Array.contains(l[n[h]],i)){l[n[h]].push(i)}}}}},removeUIFromElement:function(){var j=this,k=j.frameElementCls;j.removeCls(j.baseCls+"-"+j.ui);if(j.frame&&!Ext.supports.CSS3BorderRadius){var m=["tl","tc","tr","ml","mc","mr","bl","bc","br"],n,h,l,i;for(n=0;n<m.length;n++){l=j["frame"+m[n].toUpperCase()];i=j.baseCls+"-"+j.ui+"-"+m[n];if(l){l.removeCls(i)}else{Ext.Array.remove(k[m[n]],i)}}}},getElConfig:function(){if(Ext.isString(this.autoEl)){this.autoEl={tag:this.autoEl}}var b=this.autoEl||{tag:"div"};b.id=this.id;return b},getInsertPosition:function(b){if(b!==undefined){if(Ext.isNumber(b)){b=this.container.dom.childNodes[b]}else{b=Ext.getDom(b)}}return b},initContainer:function(d){var c=this;if(!d&&c.el){d=c.el.dom.parentNode;c.allowDomMove=false}c.container=Ext.get(d);if(c.ctCls){c.container.addCls(c.ctCls)}return c.container},initRenderData:function(){var b=this;return Ext.applyIf(b.renderData,{id:b.id,ui:b.ui,uiCls:b.uiCls,baseCls:b.baseCls,componentCls:b.componentCls,frame:b.frame})},getTpl:function(j){var h=this,f=h.self.prototype,i,g;if(h.hasOwnProperty(j)){g=h[j];if(g&&!(g instanceof Ext.XTemplate)){h[j]=Ext.ClassManager.dynInstantiate("Ext.XTemplate",g)}return h[j]}if(!(f[j] instanceof Ext.XTemplate)){i=f;do{if(i.hasOwnProperty(j)){g=i[j];if(g&&!(g instanceof Ext.XTemplate)){i[j]=Ext.ClassManager.dynInstantiate("Ext.XTemplate",g);break}}i=i.superclass}while(i)}return f[j]},initRenderTpl:function(){return this.getTpl("renderTpl")},initStyles:function(){var d={},f=this,e=Ext.Element;if(Ext.isString(f.style)){d=e.parseStyles(f.style)}else{d=Ext.apply({},f.style)}if(f.padding!==undefined){d.padding=e.unitizeBox((f.padding===true)?5:f.padding)}if(f.margin!==undefined){d.margin=e.unitizeBox((f.margin===true)?5:f.margin)}delete f.style;return d},initContent:function(){var e=this,g=e.getTargetEl(),f,h;if(e.html){g.update(Ext.DomHelper.markup(e.html));delete e.html}if(e.contentEl){f=Ext.get(e.contentEl);h=Ext.baseCSSPrefix;f.removeCls([h+"hidden",h+"hide-display",h+"hide-offsets",h+"hide-nosize"]);g.appendChild(f.dom)}if(e.tpl){if(!e.tpl.isTemplate){e.tpl=Ext.create("Ext.XTemplate",e.tpl)}if(e.data){e.tpl[e.tplWriteMode](g,e.data);delete e.data}}},initEvents:function(){var j=this,h=j.afterRenderEvents,f,i,g=function(a){j.mon(f,a)};if(h){for(i in h){if(h.hasOwnProperty(i)){f=j[i];if(f&&f.on){Ext.each(h[i],g)}}}}},addChildEls:function(){var c=this,d=c.childEls||(c.childEls=[]);d.push.apply(d,arguments)},removeChildEls:function(k){var l=this,i=l.childEls,m=(l.childEls=[]),j,h,n;for(h=0,j=i.length;h<j;++h){n=i[h];if(!k(n)){m.push(n)}}},applyRenderSelectors:function(){var o=this,n=o.childEls,m=o.renderSelectors,t=o.el,q=t.dom,l,i,r,p,s;if(n){l=o.id+"-";for(p=n.length;p--;){i=r=n[p];if(typeof(i)!="string"){r=i.id||(l+i.itemId);i=i.name}else{r=l+r}o[i]=t.getById(r)}}if(m){for(s in m){if(m.hasOwnProperty(s)&&m[s]){o[s]=Ext.get(Ext.DomQuery.selectNode(m[s],q))}}}},is:function(b){return Ext.ComponentQuery.is(this,b)},up:function(c){var d=this.ownerCt;if(c){for(;d;d=d.ownerCt){if(Ext.ComponentQuery.is(d,c)){return d}}}return d},nextSibling:function(c){var j=this.ownerCt,l,k,h,i;if(j){l=j.items;h=l.indexOf(this)+1;if(h){if(c){for(k=l.getCount();h<k;h++){if((i=l.getAt(h)).is(c)){return i}}}else{if(h<l.getCount()){return l.getAt(h)}}}}return null},previousSibling:function(c){var i=this.ownerCt,j,g,h;if(i){j=i.items;g=j.indexOf(this);if(g!=-1){if(c){for(--g;g>=0;g--){if((h=j.getAt(g)).is(c)){return h}}}else{if(g){return j.getAt(--g)}}}}return null},previousNode:function(n,m){var j=this,h,k,i,l;if(m&&j.is(n)){return j}h=this.prev(n);if(h){return h}if(j.ownerCt){for(k=j.ownerCt.items.items,l=Ext.Array.indexOf(k,j)-1;l>-1;l--){if(k[l].query){h=k[l].query(n);h=h[h.length-1];if(h){return h}}}return j.ownerCt.previousNode(n,true)}},nextNode:function(n,m){var j=this,h,k,i,l;if(m&&j.is(n)){return j}h=this.next(n);if(h){return h}if(j.ownerCt){for(k=j.ownerCt.items,l=k.indexOf(j)+1,k=k.items,i=k.length;l<i;l++){if(k[l].down){h=k[l].down(n);if(h){return h}}}return j.ownerCt.nextNode(n)}},getId:function(){return this.id||(this.id="ext-comp-"+(this.getAutoId()))},getItemId:function(){return this.itemId||this.id},getEl:function(){return this.el},getTargetEl:function(){return this.frameBody||this.el},isXType:function(c,d){if(Ext.isFunction(c)){c=c.xtype}else{if(Ext.isObject(c)){c=c.statics().xtype}}return !d?("/"+this.getXTypes()+"/").indexOf("/"+c+"/")!=-1:this.self.xtype==c},getXTypes:function(){var h=this.self,g,e,f;if(!h.xtypes){g=[];e=this;while(e){f=e.xtypes;if(f!==undefined){g.unshift.apply(g,f)}e=e.superclass}h.xtypeChain=g;h.xtypes=g.join("/")}return h.xtypes},update:function(e,h,f){var g=this;if(g.tpl&&!Ext.isString(e)){g.data=e;if(g.rendered){g.tpl[g.tplWriteMode](g.getTargetEl(),e||{})}}else{g.html=Ext.isObject(e)?Ext.DomHelper.markup(e):e;if(g.rendered){g.getTargetEl().update(g.html,h,f)}}if(g.rendered){g.doComponentLayout()}},setVisible:function(b){return this[b?"show":"hide"]()},isVisible:function(g){var j=this,h=j,i=!j.hidden,f=j.ownerCt;j.hiddenAncestor=false;if(j.destroyed){return false}if(g&&i&&j.rendered&&f){while(f){if(f.hidden||(f.collapsed&&!(f.getDockedItems&&Ext.Array.contains(f.getDockedItems(),h)))){j.hiddenAncestor=f;i=false;break}h=f;f=f.ownerCt}}return i},enable:function(d){var c=this;if(c.rendered){c.el.removeCls(c.disabledCls);c.el.dom.disabled=false;c.onEnable()}c.disabled=false;if(d!==true){c.fireEvent("enable",c)}return c},disable:function(d){var c=this;if(c.rendered){c.el.addCls(c.disabledCls);c.el.dom.disabled=true;c.onDisable()}c.disabled=true;if(d!==true){c.fireEvent("disable",c)}return c},onEnable:function(){if(this.maskOnDisable){this.el.unmask()}},onDisable:function(){if(this.maskOnDisable){this.el.mask()}},isDisabled:function(){return this.disabled},setDisabled:function(b){return this[b?"disable":"enable"]()},isHidden:function(){return this.hidden},addCls:function(d){var c=this;if(!d){return c}if(!Ext.isArray(d)){d=d.replace(c.trimRe,"").split(c.spacesRe)}if(c.rendered){c.el.addCls(d)}else{c.additionalCls=Ext.Array.unique(c.additionalCls.concat(d))}return c},addClass:function(){return this.addCls.apply(this,arguments)},removeCls:function(d){var c=this;if(!d){return c}if(!Ext.isArray(d)){d=d.replace(c.trimRe,"").split(c.spacesRe)}if(c.rendered){c.el.removeCls(d)}else{if(c.additionalCls.length){Ext.each(d,function(a){Ext.Array.remove(c.additionalCls,a)})}}return c},removeClass:function(){if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn("Ext.Component: removeClass has been deprecated. Please use removeCls.")}return this.removeCls.apply(this,arguments)},addOverCls:function(){var b=this;if(!b.disabled){b.el.addCls(b.overCls)}},removeOverCls:function(){this.el.removeCls(this.overCls)},addListener:function(h,k,l,i){var j=this,m,n;if(Ext.isString(h)&&(Ext.isObject(k)||i&&i.element)){if(i.element){m=k;k={};k[h]=m;h=i.element;if(l){k.scope=l}for(n in i){if(i.hasOwnProperty(n)){if(j.eventOptionsRe.test(n)){k[n]=i[n]}}}}if(j[h]&&j[h].on){j.mon(j[h],k)}else{j.afterRenderEvents=j.afterRenderEvents||{};if(!j.afterRenderEvents[h]){j.afterRenderEvents[h]=[]}j.afterRenderEvents[h].push(k)}}return j.mixins.observable.addListener.apply(j,arguments)},removeManagedListenerItem:function(i,j,k,o,m,n){var l=this,p=j.options?j.options.element:null;if(p){p=l[p];if(p&&p.un){if(i||(j.item===k&&j.ename===o&&(!m||j.fn===m)&&(!n||j.scope===n))){p.un(j.ename,j.fn,j.scope);if(!i){Ext.Array.remove(l.managedListeners,j)}}}}else{return l.mixins.observable.removeManagedListenerItem.apply(l,arguments)}},getBubbleTarget:function(){return this.ownerCt},isFloating:function(){return this.floating},isDraggable:function(){return !!this.draggable},isDroppable:function(){return !!this.droppable},onAdded:function(d,c){this.ownerCt=d;this.fireEvent("added",this,d,c)},onRemoved:function(){var b=this;b.fireEvent("removed",b,b.ownerCt);delete b.ownerCt},beforeDestroy:Ext.emptyFn,onResize:Ext.emptyFn,setSize:function(e,f){var h=this,g;if(Ext.isObject(e)){f=e.height;e=e.width}if(Ext.isNumber(e)){e=Ext.Number.constrain(e,h.minWidth,h.maxWidth)}if(Ext.isNumber(f)){f=Ext.Number.constrain(f,h.minHeight,h.maxHeight)}if(!h.rendered||!h.isVisible()){if(h.hiddenAncestor){g=h.hiddenAncestor.layoutOnShow;g.remove(h);g.add(h)}h.needsLayout={width:e,height:f,isSetSize:true};if(!h.rendered){h.width=(e!==undefined)?e:h.width;h.height=(f!==undefined)?f:h.height}return h}h.doComponentLayout(e,f,true);return h},isFixedWidth:function(){var c=this,d=c.layoutManagedWidth;if(Ext.isDefined(c.width)||d==1){return true}if(d==2){return false}return(c.ownerCt&&c.ownerCt.isFixedWidth())},isFixedHeight:function(){var d=this,c=d.layoutManagedHeight;if(Ext.isDefined(d.height)||c==1){return true}if(c==2){return false}return(d.ownerCt&&d.ownerCt.isFixedHeight())},setCalculatedSize:function(f,g,h){var j=this,i;if(Ext.isObject(f)){h=f.ownerCt;g=f.height;f=f.width}if(Ext.isNumber(f)){f=Ext.Number.constrain(f,j.minWidth,j.maxWidth)}if(Ext.isNumber(g)){g=Ext.Number.constrain(g,j.minHeight,j.maxHeight)}if(!j.rendered||!j.isVisible()){if(j.hiddenAncestor){i=j.hiddenAncestor.layoutOnShow;i.remove(j);i.add(j)}j.needsLayout={width:f,height:g,isSetSize:false,ownerCt:h};return j}j.doComponentLayout(f,g,false,h);return j},doComponentLayout:function(l,h,n,j){var k=this,m=k.getComponentLayout(),i=m.lastComponentSize||{width:undefined,height:undefined};if(k.rendered&&m){if(!Ext.isDefined(l)){if(k.isFixedWidth()){l=Ext.isDefined(k.width)?k.width:i.width}}if(!Ext.isDefined(h)){if(k.isFixedHeight()){h=Ext.isDefined(k.height)?k.height:i.height}}if(n){k.width=l;k.height=h}m.layout(l,h,n,j)}return k},forceComponentLayout:function(){this.doComponentLayout()},setComponentLayout:function(c){var d=this.componentLayout;if(d&&d.isLayout&&d!=c){d.setOwner(null)}this.componentLayout=c;c.setOwner(this)},getComponentLayout:function(){var b=this;if(!b.componentLayout||!b.componentLayout.isLayout){b.setComponentLayout(Ext.layout.Layout.create(b.componentLayout,"autocomponent"))}return b.componentLayout},afterComponentLayout:function(n,i,h,j){var k=this,l=k.componentLayout,m=k.preLayoutSize;++k.componentLayoutCounter;if(!m||((n!==m.width)||(i!==m.height))){k.fireEvent("resize",k,n,i)}},beforeComponentLayout:function(h,f,e,g){this.preLayoutSize=this.componentLayout.lastComponentSize;return true},setPosition:function(e,f){var d=this;if(Ext.isObject(e)){f=e.y;e=e.x}if(!d.rendered){return d}if(e!==undefined||f!==undefined){d.el.setBox(e,f);d.onPosition(e,f);d.fireEvent("move",d,e,f)}return d},onPosition:Ext.emptyFn,setWidth:function(b){return this.setSize(b)},setHeight:function(b){return this.setSize(undefined,b)},getSize:function(){return this.el.getSize()},getWidth:function(){return this.el.getWidth()},getHeight:function(){return this.el.getHeight()},getLoader:function(){var f=this,d=f.autoLoad?(Ext.isObject(f.autoLoad)?f.autoLoad:{url:f.autoLoad}):null,e=f.loader||d;if(e){if(!e.isLoader){f.loader=Ext.create("Ext.ComponentLoader",Ext.apply({target:f,autoLoad:d},e))}else{e.setTarget(f)}return f.loader}return null},setLoading:function(h,g){var e=this,f;if(e.rendered){if(h!==false&&!e.collapsed){if(Ext.isObject(h)){f=h}else{if(Ext.isString(h)){f={msg:h}}else{f={}}}e.loadMask=e.loadMask||Ext.create("Ext.LoadMask",g?e.getTargetEl():e.el,f);e.loadMask.show()}else{if(e.loadMask){Ext.destroy(e.loadMask);e.loadMask=null}}}return e.loadMask},setDocked:function(d,f){var e=this;e.dock=d;if(f&&e.ownerCt&&e.rendered){e.ownerCt.doComponentLayout()}return e},onDestroy:function(){var b=this;if(b.monitorResize&&Ext.EventManager.resizeEvent){Ext.EventManager.resizeEvent.removeListener(b.setSize,b)}Ext.destroy(b.componentLayout,b.loadMask,b.floatingItems)},cleanElementRefs:function(){var j=this,l=0,k=j.childEls,m=j.renderSelectors,h,n,i;if(j.rendered){if(k){for(i=k.length;l<i;++l){n=k[l];if(typeof(n)!="string"){n=n.name}delete j[n]}}if(m){for(h in m){if(m.hasOwnProperty(h)){delete j[h]}}}}delete j.rendered;delete j.el;delete j.frameBody},destroy:function(){var b=this;if(!b.isDestroyed){if(b.fireEvent("beforedestroy",b)!==false){b.destroying=true;b.beforeDestroy();if(b.floating){delete b.floatParent;if(b.zIndexManager){b.zIndexManager.unregister(b)}}else{if(b.ownerCt&&b.ownerCt.remove){b.ownerCt.remove(b,false)}}b.onDestroy();Ext.destroy(b.plugins);if(b.rendered){b.el.remove()}b.fireEvent("destroy",b);Ext.ComponentManager.unregister(b);b.mixins.state.destroy.call(b);b.clearListeners();b.cleanElementRefs();b.destroying=false;b.isDestroyed=true}}},getPlugin:function(e){var h=0,f=this.plugins,g=f.length;for(;h<g;h++){if(f[h].pluginId===e){return f[h]}}},isDescendantOf:function(b){return !!this.findParentBy(function(a){return a===b})}},function(){this.createAlias({on:"addListener",prev:"previousSibling",next:"nextSibling"})});Ext.define("Ext.Component",{alias:["widget.component","widget.box"],extend:"Ext.AbstractComponent",requires:["Ext.util.DelayedTask"],uses:["Ext.Layer","Ext.resizer.Resizer","Ext.util.ComponentDragger"],mixins:{floating:"Ext.util.Floating"},statics:{DIRECTION_TOP:"top",DIRECTION_RIGHT:"right",DIRECTION_BOTTOM:"bottom",DIRECTION_LEFT:"left",VERTICAL_DIRECTION_Re:/^(?:top|bottom)$/,INVALID_ID_CHARS_Re:/[\.,\s]/g},resizeHandles:"all",floating:false,toFrontOnShow:true,hideMode:"display",hideParent:false,ariaRole:"presentation",bubbleEvents:[],actionMode:"el",monPropRe:/^(?:scope|delay|buffer|single|stopEvent|preventDefault|stopPropagation|normalized|args|delegate)$/,constructor:function(d){var c=this;d=d||{};if(d.initialConfig){if(d.isAction){c.baseAction=d}d=d.initialConfig}else{if(d.tagName||d.dom||Ext.isString(d)){d={applyTo:d,id:d.id||d}}}c.callParent([d]);if(c.baseAction){c.baseAction.addComponent(c)}},initComponent:function(){var b=this;b.callParent();if(b.listeners){b.on(b.listeners);delete b.listeners}b.enableBubble(b.bubbleEvents);b.mons=[]},afterRender:function(){var c=this,d=c.resizable;if(c.floating){c.makeFloating(c.floating)}else{c.el.setVisibilityMode(Ext.Element[c.hideMode.toUpperCase()])}if(Ext.isDefined(c.autoScroll)){c.setAutoScroll(c.autoScroll)}c.callParent();if(!(c.x&&c.y)&&(c.pageX||c.pageY)){c.setPagePosition(c.pageX,c.pageY)}if(d){c.initResizable(d)}if(c.draggable){c.initDraggable()}c.initAria()},initAria:function(){var d=this.getActionEl(),c=this.ariaRole;if(c){d.dom.setAttribute("role",c)}},setAutoScroll:function(e){var d=this,f;e=!!e;if(d.rendered){f=d.getTargetEl();f.setStyle("overflow",e?"auto":"");if(e&&(Ext.isIE6||Ext.isIE7)){f.position()}}d.autoScroll=e;return d},makeFloating:function(b){this.mixins.floating.constructor.call(this,b)},initResizable:function(d){var c=this;d=Ext.apply({target:c,dynamic:false,constrainTo:c.constrainTo||(c.floatParent?c.floatParent.getTargetEl():c.el.getScopeParent()),handles:c.resizeHandles},d);d.target=c;c.resizer=Ext.create("Ext.resizer.Resizer",d)},getDragEl:function(){return this.el},initDraggable:function(){var c=this,d=Ext.applyIf({el:c.getDragEl(),constrainTo:c.constrain?(c.constrainTo||(c.floatParent?c.floatParent.getTargetEl():c.el.getScopeParent())):undefined},c.draggable);if(c.constrain||c.constrainDelegate){d.constrain=c.constrain;d.constrainDelegate=c.constrainDelegate}c.dd=Ext.create("Ext.util.ComponentDragger",c,d)},setPosition:function(m,o,v){var q=this,u=q.el,l={},p,n,r,s,t;if(Ext.isArray(m)){v=o;o=m[1];m=m[0]}q.x=m;q.y=o;if(!q.rendered){return q}p=q.adjustPosition(m,o);n=p.x;r=p.y;s=Ext.isNumber(n);t=Ext.isNumber(r);if(s||t){if(v){if(s){l.left=n}if(t){l.top=r}q.stopAnimation();q.animate(Ext.apply({duration:1000,listeners:{afteranimate:Ext.Function.bind(q.afterSetPosition,q,[n,r])},to:l},v))}else{if(!s){u.setTop(r)}else{if(!t){u.setLeft(n)}else{u.setLeftTop(n,r)}}q.afterSetPosition(n,r)}}return q},afterSetPosition:function(c,d){this.onPosition(c,d);this.fireEvent("move",this,c,d)},showAt:function(f,g,e){var h=this;if(h.floating){h.setPosition(f,g,e)}else{h.setPagePosition(f,g,e)}h.show()},setPagePosition:function(g,h,f){var j=this,i;if(Ext.isArray(g)){h=g[1];g=g[0]}j.pageX=g;j.pageY=h;if(j.floating&&j.floatParent){i=j.floatParent.getTargetEl().getViewRegion();if(Ext.isNumber(g)&&Ext.isNumber(i.left)){g-=i.left}if(Ext.isNumber(h)&&Ext.isNumber(i.top)){h-=i.top}j.setPosition(g,h,f)}else{i=j.el.translatePoints(g,h);j.setPosition(i.left,i.top,f)}return j},getBox:function(d){var f=this.getPosition(d),e=this.getSize();e.x=f[0];e.y=f[1];return e},updateBox:function(b){this.setSize(b.width,b.height);this.setPagePosition(b.x,b.y);return this},getOuterSize:function(){var b=this.el;return{width:b.getWidth()+b.getMargin("lr"),height:b.getHeight()+b.getMargin("tb")}},adjustPosition:function(e,f){if(this.floating&&this.floatParent){var d=this.floatParent.getTargetEl().getViewRegion();e+=d.left;f+=d.top}return{x:e,y:f}},getPosition:function(g){var j=this,f=j.el,i,h;if((g===true)||(j.floating&&!j.floatParent)){return[f.getLeft(true),f.getTop(true)]}i=j.xy||f.getXY();if(j.floating){h=j.floatParent.getTargetEl().getViewRegion();i[0]-=h.left;i[1]-=h.top}return i},getId:function(){var d=this,c;if(!d.id){c=d.getXType();c=c?c.replace(Ext.Component.INVALID_ID_CHARS_Re,"-"):"ext-comp";d.id=c+"-"+d.getAutoId()}return d.id},onEnable:function(){var b=this.getActionEl();b.dom.removeAttribute("aria-disabled");b.dom.disabled=false;this.callParent()},onDisable:function(){var b=this.getActionEl();b.dom.setAttribute("aria-disabled",true);b.dom.disabled=true;this.callParent()},show:function(g,f,e){var h=this;if(h.rendered&&h.isVisible()){if(h.toFrontOnShow&&h.floating){h.toFront()}}else{if(h.fireEvent("beforeshow",h)!==false){h.hidden=false;if(!h.rendered&&(h.autoRender||h.floating)){h.doAutoRender()}if(h.rendered){h.beforeShow();h.onShow.apply(h,arguments);if(h.ownerCt&&!h.floating&&!(h.ownerCt.suspendLayout||h.ownerCt.layout.layoutBusy)){h.ownerCt.doLayout()}h.afterShow.apply(h,arguments)}}}return h},beforeShow:Ext.emptyFn,onShow:function(){var b=this;b.el.show();b.callParent(arguments);if(b.floating&&b.constrain){b.doConstrain()}},afterShow:function(j,h,l){var k=this,i,n,m;j=j||k.animateTarget;if(!k.ghost){j=null}if(j){j=j.el?j.el:Ext.get(j);n=k.el.getBox();i=j.getBox();k.el.addCls(Ext.baseCSSPrefix+"hide-offsets");m=k.ghost();m.el.stopAnimation();m.el.setX(-10000);m.el.animate({from:i,to:n,listeners:{afteranimate:function(){delete m.componentLayout.lastComponentSize;k.unghost();k.el.removeCls(Ext.baseCSSPrefix+"hide-offsets");k.onShowComplete(h,l)}}})}else{k.onShowComplete(h,l)}},onShowComplete:function(e,d){var f=this;if(f.floating){f.toFront()}Ext.callback(e,d||f);f.fireEvent("show",f)},hide:function(){var b=this;b.showOnParentShow=false;if(!(b.rendered&&!b.isVisible())&&b.fireEvent("beforehide",b)!==false){b.hidden=true;if(b.rendered){b.onHide.apply(b,arguments);if(b.ownerCt&&!b.floating&&!(b.ownerCt.suspendLayout||b.ownerCt.layout.layoutBusy)){b.ownerCt.doLayout()}}}return b},onHide:function(i,h,k){var j=this,l,g;i=i||j.animateTarget;if(!j.ghost){i=null}if(i){i=i.el?i.el:Ext.get(i);l=j.ghost();l.el.stopAnimation();g=i.getBox();g.width+="px";g.height+="px";l.el.animate({to:g,listeners:{afteranimate:function(){delete l.componentLayout.lastComponentSize;l.el.hide();j.afterHide(h,k)}}})}j.el.hide();if(!i){j.afterHide(h,k)}},afterHide:function(d,c){Ext.callback(d,c||this);this.fireEvent("hide",this)},onDestroy:function(){var b=this;if(b.rendered){Ext.destroy(b.proxy,b.proxyWrap,b.resizer);if(b.actionMode=="container"||b.removeMode=="container"){b.container.remove()}}delete b.focusTask;b.callParent()},deleteMembers:function(){var d=arguments,e=d.length,f=0;for(;f<e;++f){delete this[d[f]]}},focus:function(g,e){var h=this,f;if(e){if(!h.focusTask){h.focusTask=Ext.create("Ext.util.DelayedTask",h.focus)}h.focusTask.delay(Ext.isNumber(e)?e:10,null,h,[g,false]);return h}if(h.rendered&&!h.isDestroyed){f=h.getFocusEl();f.focus();if(f.dom&&g===true){f.dom.select()}if(h.floating){h.toFront(true)}}return h},getFocusEl:function(){return this.el},blur:function(){if(this.rendered){this.getFocusEl().blur()}return this},getEl:function(){return this.el},getResizeEl:function(){return this.el},getPositionEl:function(){return this.el},getActionEl:function(){return this.el},getVisibilityEl:function(){return this.el},onResize:Ext.emptyFn,getBubbleTarget:function(){return this.ownerCt},getContentTarget:function(){return this.el},cloneConfig:function(h){h=h||{};var g=h.id||Ext.id(),f=Ext.applyIf(h,this.initialConfig),e;f.id=g;e=Ext.getClass(this);return new e(f)},getXType:function(){return this.self.xtype},findParentBy:function(d){var c;for(c=this.ownerCt;c&&!d(c,this);c=c.ownerCt){}return c||null},findParentByType:function(b){return Ext.isFunction(b)?this.findParentBy(function(a){return a.constructor===b}):this.up(b)},bubble:function(h,e,f){var g=this;while(g){if(h.apply(e||g,f||[g])===false){break}g=g.ownerCt}return this},getProxy:function(){var d=this,c;if(!d.proxy){c=Ext.getBody();if(Ext.scopeResetCSS){d.proxyWrap=c=Ext.getBody().createChild({cls:Ext.baseCSSPrefix+"reset"})}d.proxy=d.el.createProxy(Ext.baseCSSPrefix+"proxy-el",c,true)}return d.proxy}});Ext.define("Ext.toolbar.Spacer",{extend:"Ext.Component",alias:"widget.tbspacer",alternateClassName:"Ext.Toolbar.Spacer",baseCls:Ext.baseCSSPrefix+"toolbar-spacer",focusable:false});Ext.define("Ext.resizer.Splitter",{extend:"Ext.Component",requires:["Ext.XTemplate"],uses:["Ext.resizer.SplitterTracker"],alias:"widget.splitter",renderTpl:['<tpl if="collapsible===true">','<div id="{id}-collapseEl" class="',Ext.baseCSSPrefix,"collapse-el ",Ext.baseCSSPrefix,'layout-split-{collapseDir}"> </div>',"</tpl>"],baseCls:Ext.baseCSSPrefix+"splitter",collapsedClsInternal:Ext.baseCSSPrefix+"splitter-collapsed",collapsible:false,collapseOnDblClick:true,defaultSplitMin:40,defaultSplitMax:1000,width:5,height:5,collapseTarget:"next",onRender:function(){var e=this,d=e.getCollapseTarget(),f=e.getCollapseDirection();Ext.applyIf(e.renderData,{collapseDir:f,collapsible:e.collapsible||d.collapsible});e.addChildEls("collapseEl");this.callParent(arguments);if(e.performCollapse!==false){if(e.renderData.collapsible){e.mon(e.collapseEl,"click",e.toggleTargetCmp,e)}if(e.collapseOnDblClick){e.mon(e.el,"dblclick",e.toggleTargetCmp,e)}}e.mon(d,"collapse",e.onTargetCollapse,e);e.mon(d,"expand",e.onTargetExpand,e);e.el.addCls(e.baseCls+"-"+e.orientation);e.el.unselectable();e.tracker=Ext.create("Ext.resizer.SplitterTracker",{el:e.el});e.relayEvents(e.tracker,["beforedragstart","dragstart","dragend"])},getCollapseDirection:function(){var f=this,e,d=f.ownerCt.layout.type;if(f.collapseTarget.isComponent){e=Number(f.ownerCt.items.indexOf(f.collapseTarget)==f.ownerCt.items.indexOf(f)-1)<<1|Number(d=="hbox")}else{e=Number(f.collapseTarget=="prev")<<1|Number(d=="hbox")}f.orientation=["horizontal","vertical"][e&1];return["bottom","right","top","left"][e]},getCollapseTarget:function(){var b=this;return b.collapseTarget.isComponent?b.collapseTarget:b.collapseTarget=="prev"?b.previousSibling():b.nextSibling()},onTargetCollapse:function(b){this.el.addCls([this.collapsedClsInternal,this.collapsedCls])},onTargetExpand:function(b){this.el.removeCls([this.collapsedClsInternal,this.collapsedCls])},toggleTargetCmp:function(f,e){var d=this.getCollapseTarget();if(d.isVisible()){if(d.collapsed){d.expand(d.animCollapse)}else{d.collapse(this.renderData.collapseDir,d.animCollapse)}}},setSize:function(){var b=this;b.callParent(arguments);if(Ext.isIE){b.el.repaint()}}});Ext.define("Ext.form.field.Base",{extend:"Ext.Component",mixins:{labelable:"Ext.form.Labelable",field:"Ext.form.field.Field"},alias:"widget.field",alternateClassName:["Ext.form.Field","Ext.form.BaseField"],requires:["Ext.util.DelayedTask","Ext.XTemplate","Ext.layout.component.field.Field"],fieldSubTpl:['<input id="{id}" type="{type}" ','<tpl if="name">name="{name}" </tpl>','<tpl if="size">size="{size}" </tpl>','<tpl if="tabIdx">tabIndex="{tabIdx}" </tpl>','class="{fieldCls} {typeCls}" autocomplete="off" />',{compiled:true,disableFormats:true}],inputType:"text",invalidText:"The value in this field is invalid",fieldCls:Ext.baseCSSPrefix+"form-field",focusCls:Ext.baseCSSPrefix+"form-focus",dirtyCls:Ext.baseCSSPrefix+"form-dirty",checkChangeEvents:Ext.isIE&&(!document.documentMode||document.documentMode<9)?["change","propertychange"]:["change","input","textInput","keyup","dragdrop"],checkChangeBuffer:50,componentLayout:"field",readOnly:false,readOnlyCls:Ext.baseCSSPrefix+"form-readonly",validateOnBlur:true,hasFocus:false,baseCls:Ext.baseCSSPrefix+"field",maskOnDisable:false,initComponent:function(){var b=this;b.callParent();b.subTplData=b.subTplData||{};b.addEvents("focus","blur","specialkey");b.initLabelable();b.initField();if(!b.name){b.name=b.getInputId()}},getInputId:function(){return this.inputId||(this.inputId=Ext.id())},getSubTplData:function(){var f=this,d=f.inputType,e=f.getInputId();return Ext.applyIf(f.subTplData,{id:e,cmpId:f.id,name:f.name||e,type:d,size:f.size||20,cls:f.cls,fieldCls:f.fieldCls,tabIdx:f.tabIndex,typeCls:Ext.baseCSSPrefix+"form-"+(d==="password"?"text":d)})},afterRender:function(){this.callParent();if(this.inputEl){this.inputEl.selectable()}},getSubTplMarkup:function(){return this.getTpl("fieldSubTpl").apply(this.getSubTplData())},initRenderTpl:function(){var b=this;if(!b.hasOwnProperty("renderTpl")){b.renderTpl=b.getTpl("labelableRenderTpl")}return b.callParent()},initRenderData:function(){return Ext.applyIf(this.callParent(),this.getLabelableRenderData())},setFieldStyle:function(e){var d=this,f=d.inputEl;if(f){f.applyStyles(e)}d.fieldStyle=e},onRender:function(){var c=this,d=c.fieldStyle;c.onLabelableRender();c.addChildEls({name:"inputEl",id:c.getInputId()});c.callParent(arguments);c.setRawValue(c.rawValue);if(c.readOnly){c.setReadOnly(true)}if(c.disabled){c.disable()}if(d){c.setFieldStyle(d)}c.renderActiveError()},initAria:function(){var b=this;b.callParent();b.getActionEl().dom.setAttribute("aria-describedby",Ext.id(b.errorEl))},getFocusEl:function(){return this.inputEl},isFileUpload:function(){return this.inputType==="file"},extractFileInput:function(){var d=this,e=d.isFileUpload()?d.inputEl.dom:null,f;if(e){f=e.cloneNode(true);e.parentNode.replaceChild(f,e);d.inputEl=Ext.get(f)}return e},getSubmitData:function(){var e=this,d=null,f;if(!e.disabled&&e.submitValue&&!e.isFileUpload()){f=e.getSubmitValue();if(f!==null){d={};d[e.getName()]=f}}return d},getSubmitValue:function(){return this.processRawValue(this.getRawValue())},getRawValue:function(){var c=this,d=(c.inputEl?c.inputEl.getValue():Ext.value(c.rawValue,""));c.rawValue=d;return d},setRawValue:function(c){var d=this;c=Ext.value(c,"");d.rawValue=c;if(d.inputEl){d.inputEl.dom.value=c}return c},valueToRaw:function(b){return""+Ext.value(b,"")},rawToValue:function(b){return b},processRawValue:function(b){return b},getValue:function(){var d=this,c=d.rawToValue(d.processRawValue(d.getRawValue()));d.value=c;return c},setValue:function(c){var d=this;d.setRawValue(d.valueToRaw(c));return d.mixins.field.setValue.call(d,c)},onDisable:function(){var d=this,c=d.inputEl;d.callParent();if(c){c.dom.disabled=true}},onEnable:function(){var d=this,c=d.inputEl;d.callParent();if(c){c.dom.disabled=false}},setReadOnly:function(f){var e=this,d=e.inputEl;if(d){d.dom.readOnly=f;d.dom.setAttribute("aria-readonly",f)}e[f?"addCls":"removeCls"](e.readOnlyCls);e.readOnly=f},fireKey:function(b){if(b.isSpecialKey()){this.fireEvent("specialkey",this,Ext.create("Ext.EventObjectImpl",b))}},initEvents:function(){var e=this,h=e.inputEl,f,g;if(h){e.mon(h,Ext.EventManager.getKeyEvent(),e.fireKey,e);e.mon(h,"focus",e.onFocus,e);e.mon(h,"blur",e.onBlur,e,e.inEditor?{buffer:10}:null);f=Ext.create("Ext.util.DelayedTask",e.checkChange,e);e.onChangeEvent=g=function(){f.delay(e.checkChangeBuffer)};Ext.each(e.checkChangeEvents,function(a){if(a==="propertychange"){e.usesPropertychange=true}e.mon(h,a,g)},e)}e.callParent()},doComponentLayout:function(){var j=this,i=j.inputEl,g=j.usesPropertychange,f="propertychange",h=j.onChangeEvent;if(g){j.mun(i,f,h)}j.callParent(arguments);if(g){j.mon(i,f,h)}},preFocus:Ext.emptyFn,onFocus:function(){var d=this,e=d.focusCls,f=d.inputEl;d.preFocus();if(e&&f){f.addCls(e)}if(!d.hasFocus){d.hasFocus=true;d.componentLayout.onFocus();d.fireEvent("focus",d)}},beforeBlur:Ext.emptyFn,onBlur:function(){var d=this,e=d.focusCls,f=d.inputEl;if(d.destroying){return}d.beforeBlur();if(e&&f){f.removeCls(e)}if(d.validateOnBlur){d.validate()}d.hasFocus=false;d.fireEvent("blur",d);d.postBlur()},postBlur:Ext.emptyFn,onDirtyChange:function(b){this[b?"addCls":"removeCls"](this.dirtyCls)},isValid:function(){var b=this;return b.disabled||b.validateValue(b.processRawValue(b.getRawValue()))},validateValue:function(e){var f=this,g=f.getErrors(e),h=Ext.isEmpty(g);if(!f.preventMark){if(h){f.clearInvalid()}else{f.markInvalid(g)}}return h},markInvalid:function(f){var d=this,e=d.getActiveError();d.setActiveErrors(Ext.Array.from(f));if(e!==d.getActiveError()){d.doComponentLayout()}},clearInvalid:function(){var c=this,d=c.hasActiveError();c.unsetActiveError();if(d){c.doComponentLayout()}},renderActiveError:function(){var c=this,d=c.hasActiveError();if(c.inputEl){c.inputEl[d?"addCls":"removeCls"](c.invalidCls+"-field")}c.mixins.labelable.renderActiveError.call(c)},getActionEl:function(){return this.inputEl||this.el}});Ext.define("Ext.form.field.Text",{extend:"Ext.form.field.Base",alias:"widget.textfield",requires:["Ext.form.field.VTypes","Ext.layout.component.field.Text"],alternateClassName:["Ext.form.TextField","Ext.form.Text"],size:20,growMin:30,growMax:800,growAppend:"W",allowBlank:true,minLength:0,maxLength:Number.MAX_VALUE,minLengthText:"The minimum length for this field is {0}",maxLengthText:"The maximum length for this field is {0}",blankText:"This field is required",regexText:"",emptyCls:Ext.baseCSSPrefix+"form-empty-field",ariaRole:"textbox",componentLayout:"textfield",initComponent:function(){this.callParent();this.addEvents("autosize","keydown","keyup","keypress")},initEvents:function(){var c=this,d=c.inputEl;c.callParent();if(c.selectOnFocus||c.emptyText){c.mon(d,"mousedown",c.onMouseDown,c)}if(c.maskRe||(c.vtype&&c.disableKeyFilter!==true&&(c.maskRe=Ext.form.field.VTypes[c.vtype+"Mask"]))){c.mon(d,"keypress",c.filterKeys,c)}if(c.enableKeyEvents){c.mon(d,{scope:c,keyup:c.onKeyUp,keydown:c.onKeyDown,keypress:c.onKeyPress})}},isEqual:function(c,d){return this.isEqualAsString(c,d)},onChange:function(){this.callParent();this.autoSize()},afterRender:function(){var b=this;if(b.enforceMaxLength){b.inputEl.dom.maxLength=b.maxLength}b.applyEmptyText();b.autoSize();b.callParent()},onMouseDown:function(c){var d=this;if(!d.hasFocus){d.mon(d.inputEl,"mouseup",Ext.emptyFn,d,{single:true,preventDefault:true})}},processRawValue:function(e){var f=this,g=f.stripCharsRe,h;if(g){h=e.replace(g,"");if(h!==e){f.setRawValue(h);e=h}}return e},onDisable:function(){this.callParent();if(Ext.isIE){this.inputEl.dom.unselectable="on"}},onEnable:function(){this.callParent();if(Ext.isIE){this.inputEl.dom.unselectable=""}},onKeyDown:function(b){this.fireEvent("keydown",this,b)},onKeyUp:function(b){this.fireEvent("keyup",this,b)},onKeyPress:function(b){this.fireEvent("keypress",this,b)},reset:function(){this.callParent();this.applyEmptyText()},applyEmptyText:function(){var d=this,e=d.emptyText,f;if(d.rendered&&e){f=d.getRawValue().length<1&&!d.hasFocus;if(Ext.supports.Placeholder){d.inputEl.dom.placeholder=e}else{if(f){d.setRawValue(e)}}if(f){d.inputEl.addCls(d.emptyCls)}d.autoSize()}},preFocus:function(){var e=this,h=e.inputEl,f=e.emptyText,g;if(f&&!Ext.supports.Placeholder&&h.dom.value===f){e.setRawValue("");g=true;h.removeCls(e.emptyCls)}else{if(Ext.supports.Placeholder){e.inputEl.removeCls(e.emptyCls)}}if(e.selectOnFocus||g){h.dom.select()}},onFocus:function(){var b=this;b.callParent(arguments);if(b.emptyText){b.autoSize()}},postBlur:function(){this.applyEmptyText()},filterKeys:function(f){if(f.ctrlKey&&!f.altKey){return}var d=f.getKey(),e=String.fromCharCode(f.getCharCode());if(Ext.isGecko&&(f.isNavKeyPress()||d===f.BACKSPACE||(d===f.DELETE&&f.button===-1))){return}if(!Ext.isGecko&&f.isSpecialKey()&&!e){return}if(!this.maskRe.test(e)){f.stopEvent()}},getRawValue:function(){var c=this,d=c.callParent();if(d===c.emptyText){d=""}return d},setValue:function(d){var e=this,f=e.inputEl;if(f&&e.emptyText&&!Ext.isEmpty(d)){f.removeCls(e.emptyCls)}e.callParent(arguments);e.applyEmptyText();return e},getErrors:function(l){var q=this,m=q.callParent(arguments),v=q.validator,s=q.emptyText,t=q.allowBlank,r=q.vtype,p=Ext.form.field.VTypes,o=q.regex,n=Ext.String.format,u;l=l||q.processRawValue(q.getRawValue());if(Ext.isFunction(v)){u=v.call(q,l);if(u!==true){m.push(u)}}if(l.length<1||l===s){if(!t){m.push(q.blankText)}return m}if(l.length<q.minLength){m.push(n(q.minLengthText,q.minLength))}if(l.length>q.maxLength){m.push(n(q.maxLengthText,q.maxLength))}if(r){if(!p[r](l,q)){m.push(q.vtypeText||p[r+"Text"])}}if(o&&!o.test(l)){m.push(q.regexText||q.invalidText)}return m},selectText:function(k,j){var l=this,p=l.getRawValue(),o=true,m=l.inputEl.dom,n,i;if(p.length>0){k=k===n?0:k;j=j===n?p.length:j;if(m.setSelectionRange){m.setSelectionRange(k,j)}else{if(m.createTextRange){i=m.createTextRange();i.moveStart("character",k);i.moveEnd("character",j-p.length);i.select()}}o=Ext.isGecko||Ext.isOpera}if(o){l.focus()}},autoSize:function(){var c=this,d;if(c.grow&&c.rendered){c.doComponentLayout();d=c.inputEl.getWidth();if(d!==c.lastInputWidth){c.fireEvent("autosize",d);c.lastInputWidth=d}}},initAria:function(){this.callParent();this.getActionEl().dom.setAttribute("aria-required",this.allowBlank===false)},getBodyNaturalWidth:function(){return Math.round(this.size*6.5)+20}});Ext.define("Ext.form.field.Trigger",{extend:"Ext.form.field.Text",alias:["widget.triggerfield","widget.trigger"],requires:["Ext.DomHelper","Ext.util.ClickRepeater","Ext.layout.component.field.Trigger"],alternateClassName:["Ext.form.TriggerField","Ext.form.TwinTriggerField","Ext.form.Trigger"],fieldSubTpl:['<input id="{id}" type="{type}" ','<tpl if="name">name="{name}" </tpl>','<tpl if="size">size="{size}" </tpl>','<tpl if="tabIdx">tabIndex="{tabIdx}" </tpl>','class="{fieldCls} {typeCls}" autocomplete="off" />','<div id="{cmpId}-triggerWrap" class="{triggerWrapCls}" role="presentation">',"{triggerEl}",'<div class="{clearCls}" role="presentation"></div>',"</div>",{compiled:true,disableFormats:true}],triggerBaseCls:Ext.baseCSSPrefix+"form-trigger",triggerWrapCls:Ext.baseCSSPrefix+"form-trigger-wrap",hideTrigger:false,editable:true,readOnly:false,repeatTriggerClick:false,autoSize:Ext.emptyFn,monitorTab:true,mimicing:false,triggerIndexRe:/trigger-index-(\d+)/,componentLayout:"triggerfield",initComponent:function(){this.wrapFocusCls=this.triggerWrapCls+"-focus";this.callParent(arguments)},onRender:function(o,j){var n=this,k,m=n.triggerBaseCls,l=n.triggerWrapCls,i=[],p;if(!n.trigger1Cls){n.trigger1Cls=n.triggerCls}for(p=0;(k=n["trigger"+(p+1)+"Cls"])||p<1;p++){i.push({cls:[Ext.baseCSSPrefix+"trigger-index-"+p,m,k].join(" "),role:"button"})}i[p-1].cls+=" "+m+"-last";n.addChildEls("triggerWrap");Ext.applyIf(n.subTplData,{triggerWrapCls:l,triggerEl:Ext.DomHelper.markup(i),clearCls:n.clearCls});n.callParent(arguments);n.triggerEl=Ext.select("."+m,true,n.triggerWrap.dom);n.doc=Ext.getDoc();n.initTrigger()},onEnable:function(){this.callParent();this.triggerWrap.unmask()},onDisable:function(){this.callParent();this.triggerWrap.mask()},afterRender:function(){this.callParent();this.updateEditState();this.triggerEl.unselectable()},updateEditState:function(){var l=this,j=l.inputEl,h=l.triggerWrap,k=Ext.baseCSSPrefix+"trigger-noedit",g,i;if(l.rendered){if(l.readOnly){j.addCls(k);i=true;g=false}else{if(l.editable){j.removeCls(k);i=false}else{j.addCls(k);i=true}g=!l.hideTrigger}h.setDisplayed(g);j.dom.readOnly=i;l.doComponentLayout()}},getTriggerWidth:function(){var f=this,d=f.triggerWrap,e=0;if(d&&!f.hideTrigger&&!f.readOnly){f.triggerEl.each(function(a){e+=a.getWidth()});e+=f.triggerWrap.getFrameWidth("lr")}return e},setHideTrigger:function(b){if(b!=this.hideTrigger){this.hideTrigger=b;this.updateEditState()}},setEditable:function(b){if(b!=this.editable){this.editable=b;this.updateEditState()}},setReadOnly:function(b){if(b!=this.readOnly){this.readOnly=b;this.updateEditState()}},initTrigger:function(){var f=this,e=f.triggerWrap,d=f.triggerEl;if(f.repeatTriggerClick){f.triggerRepeater=Ext.create("Ext.util.ClickRepeater",e,{preventDefault:true,handler:function(b,a){f.onTriggerWrapClick(a)}})}else{f.mon(f.triggerWrap,"click",f.onTriggerWrapClick,f)}d.addClsOnOver(f.triggerBaseCls+"-over");d.each(function(b,a,c){b.addClsOnOver(f["trigger"+(c+1)+"Cls"]+"-over")});d.addClsOnClick(f.triggerBaseCls+"-click");d.each(function(b,a,c){b.addClsOnClick(f["trigger"+(c+1)+"Cls"]+"-click")})},onDestroy:function(){var b=this;Ext.destroyMembers(b,"triggerRepeater","triggerWrap","triggerEl");delete b.doc;b.callParent()},onFocus:function(){var b=this;b.callParent();if(!b.mimicing){b.bodyEl.addCls(b.wrapFocusCls);b.mimicing=true;b.mon(b.doc,"mousedown",b.mimicBlur,b,{delay:10});if(b.monitorTab){b.on("specialkey",b.checkTab,b)}}},checkTab:function(d,c){if(!this.ignoreMonitorTab&&c.getKey()==c.TAB){this.triggerBlur()}},onBlur:Ext.emptyFn,mimicBlur:function(b){if(!this.isDestroyed&&!this.bodyEl.contains(b.target)&&this.validateBlur(b)){this.triggerBlur()}},triggerBlur:function(){var b=this;b.mimicing=false;b.mun(b.doc,"mousedown",b.mimicBlur,b);if(b.monitorTab&&b.inputEl){b.un("specialkey",b.checkTab,b)}Ext.form.field.Trigger.superclass.onBlur.call(b);if(b.bodyEl){b.bodyEl.removeCls(b.wrapFocusCls)}},beforeBlur:Ext.emptyFn,validateBlur:function(b){return true},onTriggerWrapClick:function(i){var j=this,k=i&&i.getTarget("."+Ext.baseCSSPrefix+"form-trigger",null),l=k&&k.className.match(j.triggerIndexRe),h,e;if(l&&!j.readOnly){h=parseInt(l[1],10);e=j["onTrigger"+(h+1)+"Click"]||j.onTriggerClick;if(e){e.call(j,i)}}},onTriggerClick:Ext.emptyFn});Ext.define("Ext.container.AbstractContainer",{extend:"Ext.Component",requires:["Ext.util.MixedCollection","Ext.layout.container.Auto","Ext.ZIndexManager"],suspendLayout:false,autoDestroy:true,defaultType:"panel",isContainer:true,layoutCounter:0,baseCls:Ext.baseCSSPrefix+"container",bubbleEvents:["add","remove"],initComponent:function(){var b=this;b.addEvents("afterlayout","beforeadd","beforeremove","add","remove");b.layoutOnShow=Ext.create("Ext.util.MixedCollection");b.callParent();b.initItems()},initItems:function(){var c=this,d=c.items;c.items=Ext.create("Ext.util.MixedCollection",false,c.getComponentId);if(d){if(!Ext.isArray(d)){d=[d]}c.add(d)}},afterRender:function(){this.getLayout();this.callParent()},renderChildren:function(){var c=this,d=c.getLayout();c.callParent();if(d){c.suspendLayout=true;d.renderChildren();delete c.suspendLayout}},setLayout:function(c){var d=this.layout;if(d&&d.isLayout&&d!=c){d.setOwner(null)}this.layout=c;c.setOwner(this)},getLayout:function(){var b=this;if(!b.layout||!b.layout.isLayout){b.setLayout(Ext.layout.Layout.create(b.layout,"autocontainer"))}return b.layout},doLayout:function(){var c=this,d=c.getLayout();if(c.rendered&&d&&!c.suspendLayout){if(!c.isFixedWidth()||!c.isFixedHeight()){if(c.componentLayout.layoutBusy!==true){c.doComponentLayout();if(c.componentLayout.layoutCancelled===true){d.layout()}}}else{if(d.layoutBusy!==true){d.layout()}}}return c},afterLayout:function(b){++this.layoutCounter;this.fireEvent("afterlayout",this,b)},prepareItems:function(f,i){if(!Ext.isArray(f)){f=[f]}var j=0,g=f.length,h;for(;j<g;j++){h=f[j];if(i){h=this.applyDefaults(h)}f[j]=this.lookupComponent(h)}return f},applyDefaults:function(d){var c=this.defaults;if(c){if(Ext.isFunction(c)){c=c.call(this,d)}if(Ext.isString(d)){d=Ext.ComponentManager.get(d)}Ext.applyIf(d,c)}return d},lookupComponent:function(b){return Ext.isString(b)?Ext.ComponentManager.get(b):this.createComponent(b)},createComponent:function(d,c){return Ext.ComponentManager.create(d,c||this.defaultType)},getComponentId:function(b){return b.getItemId()},add:function(){var m=this,o=Array.prototype.slice.call(arguments),t,n,s=[],r,p,i,q=-1,l;if(typeof o[0]=="number"){q=o.shift()}t=o.length>1;if(t||Ext.isArray(o[0])){n=t?o:o[0];m.suspendLayout=true;for(r=0,p=n.length;r<p;r++){i=n[r];if(!i){Ext.Error.raise("Trying to add a null item as a child of Container with itemId/id: "+m.getItemId())}if(q!=-1){i=m.add(q+r,i)}else{i=m.add(i)}s.push(i)}m.suspendLayout=false;m.doLayout();return s}l=m.prepareItems(o[0],true)[0];if(l.floating){l.onAdded(m,q)}else{q=(q!==-1)?q:m.items.length;if(m.fireEvent("beforeadd",m,l,q)!==false&&m.onBeforeAdd(l)!==false){m.items.insert(q,l);l.onAdded(m,q);m.onAdd(l,q);m.fireEvent("add",m,l,q)}m.doLayout()}return l},onAdd:Ext.emptyFn,onRemove:Ext.emptyFn,insert:function(c,d){return this.add(c,d)},move:function(e,g){var f=this.items,h;h=f.removeAt(e);if(h===false){return false}f.insert(g,h);this.doLayout();return h},onBeforeAdd:function(c){var d=this;if(c.ownerCt){c.ownerCt.remove(c,false)}if(d.border===false||d.border===0){c.border=(c.border===true)}},remove:function(f,c){var h=this,g=h.getComponent(f);if(Ext.isDefined(Ext.global.console)&&!g){console.warn("Attempted to remove a component that does not exist. Ext.container.Container: remove takes an argument of the component to remove. cmp.remove() is incorrect usage.")}if(g&&h.fireEvent("beforeremove",h,g)!==false){h.doRemove(g,c);h.fireEvent("remove",h,g)}return g},doRemove:function(j,f){var h=this,i=h.layout,g=i&&h.rendered;h.items.remove(j);j.onRemoved();if(g){i.onRemove(j)}h.onRemove(j,f);if(f===true||(f!==false&&h.autoDestroy)){j.destroy()}if(g&&!f){i.afterRemove(j)}if(!h.destroying){h.doLayout()}},removeAll:function(n){var j=this,l=j.items.items.slice(),h=[],m=0,i=l.length,k;j.suspendLayout=true;for(;m<i;m++){k=l[m];j.remove(k,n);if(k.ownerCt!==j){h.push(k)}}j.suspendLayout=false;if(i){j.doLayout()}return h},getRefItems:function(n){var j=this,m=j.items.items,h=m.length,l=0,k,i=[];for(;l<h;l++){k=m[l];i.push(k);if(n&&k.getRefItems){i.push.apply(i,k.getRefItems(true))}}if(j.floatingItems&&j.floatingItems.accessList){i.push.apply(i,j.floatingItems.accessList)}return i},cascade:function(i,c,t){var m=this,q=m.items?m.items.items:[],p=q.length,r=0,n,o=t?t.concat(m):[m],s=o.length-1;if(i.apply(c||m,o)!==false){for(;r<p;r++){n=q[r];if(n.cascade){n.cascade(i,c,t)}else{o[s]=n;i.apply(c||q,o)}}}return this},getComponent:function(b){if(Ext.isObject(b)){b=b.getItemId()}return this.items.get(b)},query:function(b){b=b||"*";return Ext.ComponentQuery.query(b,this)},child:function(b){b=b||"";return this.query("> "+b)[0]||null},down:function(b){return this.query(b)[0]||null},show:function(){this.callParent(arguments);this.performDeferredLayouts();return this},performDeferredLayouts:function(){var h=this.layoutOnShow,i=h.getCount(),f=0,g,j;for(;f<i;f++){j=h.get(f);g=j.needsLayout;if(Ext.isObject(g)){j.doComponentLayout(g.width,g.height,g.isSetSize,g.ownerCt)}}h.clear()},onEnable:function(){Ext.Array.each(this.query("[isFormField]"),function(b){if(b.resetDisable){b.enable();delete b.resetDisable}});this.callParent()},onDisable:function(){Ext.Array.each(this.query("[isFormField]"),function(b){if(b.resetDisable!==false&&!b.disabled){b.disable();b.resetDisable=true}});this.callParent()},beforeLayout:function(){return true},beforeDestroy:function(){var c=this,e=c.items,f;if(e){while((f=e.first())){c.doRemove(f,true)}}Ext.destroy(c.layout);c.callParent()}});Ext.define("Ext.container.Container",{extend:"Ext.container.AbstractContainer",alias:"widget.container",alternateClassName:"Ext.Container",getChildByElement:function(k){var i,g,h=0,l=this.items.items,j=l.length;k=Ext.getDom(k);for(;h<j;h++){i=l[h];g=i.getEl();if((g.dom===k)||g.contains(k)){return i}}return null}});Ext.define("Ext.layout.container.Border",{alias:["layout.border"],extend:"Ext.layout.container.Container",requires:["Ext.resizer.Splitter","Ext.container.Container","Ext.fx.Anim"],alternateClassName:"Ext.layout.BorderLayout",targetCls:Ext.baseCSSPrefix+"border-layout-ct",itemCls:Ext.baseCSSPrefix+"border-item",bindToOwnerCtContainer:true,percentageRe:/(\d+)%/,slideDirection:{north:"t",south:"b",west:"l",east:"r"},constructor:function(b){this.initialConfig=b;this.callParent(arguments)},onLayout:function(){var b=this;if(!b.borderLayoutInitialized){b.initializeBorderLayout()}b.fixHeightConstraints();b.shadowLayout.onLayout();if(b.embeddedContainer){b.embeddedContainer.layout.onLayout()}if(!b.initialCollapsedComplete){Ext.iterate(b.regions,function(a,d){if(d.borderCollapse){b.onBeforeRegionCollapse(d,d.collapseDirection,false,0)}});b.initialCollapsedComplete=true}},isValidParent:function(d,f,e){if(!this.borderLayoutInitialized){this.initializeBorderLayout()}return this.shadowLayout.isValidParent(d,f,e)},beforeLayout:function(){if(!this.borderLayoutInitialized){this.initializeBorderLayout()}this.shadowLayout.beforeLayout()},renderItems:function(d,c){Ext.Error.raise("This should not be called")},renderItem:function(b){Ext.Error.raise("This should not be called")},renderChildren:function(){if(!this.borderLayoutInitialized){this.initializeBorderLayout()}this.shadowLayout.renderChildren()},getVisibleItems:function(){return Ext.ComponentQuery.query(":not([slideOutAnim])",this.callParent(arguments))},initializeBorderLayout:function(){var n=this,t=0,o=n.getLayoutItems(),p=o.length,u=(n.regions={}),r=[],q=[],v=0,i=0,s,m;n.splitters={};for(;t<p;t++){s=o[t];u[s.region]=s;if(s.region!="center"&&s.collapsible&&s.collapseMode!="header"){s.borderCollapse=s.collapsed;s.collapsed=false;s.on({beforecollapse:n.onBeforeRegionCollapse,beforeexpand:n.onBeforeRegionExpand,destroy:n.onRegionDestroy,scope:n});n.setupState(s)}}if(!u.center){Ext.Error.raise("You must specify a center region when defining a BorderLayout.")}s=u.center;if(!s.flex){s.flex=1}delete s.width;s.maintainFlex=true;s=u.west;if(s){s.collapseDirection=Ext.Component.DIRECTION_LEFT;q.push(s);if(s.split){q.push(n.splitters.west=n.createSplitter(s))}m=Ext.isString(s.width)&&s.width.match(n.percentageRe);if(m){v+=(s.flex=parseInt(m[1],10)/100);delete s.width}}s=u.north;if(s){s.collapseDirection=Ext.Component.DIRECTION_TOP;r.push(s);if(s.split){r.push(n.splitters.north=n.createSplitter(s))}m=Ext.isString(s.height)&&s.height.match(n.percentageRe);if(m){i+=(s.flex=parseInt(m[1],10)/100);delete s.height}}if(u.north||u.south){if(u.east||u.west){r.push(n.embeddedContainer=Ext.create("Ext.container.Container",{xtype:"container",region:"center",id:n.owner.id+"-embedded-center",cls:Ext.baseCSSPrefix+"border-item",flex:u.center.flex,maintainFlex:true,layout:{type:"hbox",align:"stretch",getVisibleItems:n.getVisibleItems}}));q.push(u.center)}else{r.push(u.center)}}else{q.push(u.center)}s=u.south;if(s){s.collapseDirection=Ext.Component.DIRECTION_BOTTOM;if(s.split){r.push(n.splitters.south=n.createSplitter(s))}m=Ext.isString(s.height)&&s.height.match(n.percentageRe);if(m){i+=(s.flex=parseInt(m[1],10)/100);delete s.height}r.push(s)}s=u.east;if(s){s.collapseDirection=Ext.Component.DIRECTION_RIGHT;if(s.split){q.push(n.splitters.east=n.createSplitter(s))}m=Ext.isString(s.width)&&s.width.match(n.percentageRe);if(m){v+=(s.flex=parseInt(m[1],10)/100);delete s.width}q.push(s)}if(u.north||u.south){n.shadowContainer=Ext.create("Ext.container.Container",{ownerCt:n.owner,el:n.getTarget(),layout:Ext.applyIf({type:"vbox",align:"stretch",getVisibleItems:n.getVisibleItems},n.initialConfig)});n.createItems(n.shadowContainer,r);if(n.splitters.north){n.splitters.north.ownerCt=n.shadowContainer}if(n.splitters.south){n.splitters.south.ownerCt=n.shadowContainer}if(n.embeddedContainer){n.embeddedContainer.ownerCt=n.shadowContainer;n.createItems(n.embeddedContainer,q);if(n.splitters.east){n.splitters.east.ownerCt=n.embeddedContainer}if(n.splitters.west){n.splitters.west.ownerCt=n.embeddedContainer}Ext.each([n.splitters.north,n.splitters.south],function(a){if(a){a.on("beforedragstart",n.fixHeightConstraints,n)}});if(v){u.center.flex-=v}if(i){n.embeddedContainer.flex-=i}}else{if(i){u.center.flex-=i}}}else{n.shadowContainer=Ext.create("Ext.container.Container",{ownerCt:n.owner,el:n.getTarget(),layout:Ext.applyIf({type:(q.length==1)?"fit":"hbox",align:"stretch"},n.initialConfig)});n.createItems(n.shadowContainer,q);if(n.splitters.east){n.splitters.east.ownerCt=n.shadowContainer}if(n.splitters.west){n.splitters.west.ownerCt=n.shadowContainer}if(v){u.center.flex-=i}}for(t=0,o=n.shadowContainer.items.items,p=o.length;t<p;t++){o[t].shadowOwnerCt=n.shadowContainer}if(n.embeddedContainer){for(t=0,o=n.embeddedContainer.items.items,p=o.length;t<p;t++){o[t].shadowOwnerCt=n.embeddedContainer}}n.shadowLayout=n.shadowContainer.getLayout();n.borderLayoutInitialized=true},setupState:function(c){var d=c.getState;c.getState=function(){var b=d.call(c)||{},a=c.region;b.collapsed=!!c.collapsed;if(a=="west"||a=="east"){b.width=c.getWidth()}else{b.height=c.getHeight()}return b};c.addStateEvents(["collapse","expand","resize"])},createItems:function(d,c){delete d.items;d.initItems();d.items.addAll(c)},createSplitter:function(f){var e=this,h=(f.collapseMode!="header"),g;g=Ext.create("Ext.resizer.Splitter",{hidden:!!f.hidden,collapseTarget:f,performCollapse:!h,listeners:h?{click:{fn:Ext.Function.bind(e.onSplitterCollapseClick,e,[f]),element:"collapseEl"}}:null});if(f.collapseMode=="mini"){f.placeholder=g;g.collapsedCls=f.collapsedCls}f.on({hide:e.onRegionVisibilityChange,show:e.onRegionVisibilityChange,scope:e});return g},fixHeightConstraints:function(){var h=this,f=h.embeddedContainer,e=1e+99,g=-1;if(!f){return}f.items.each(function(a){if(Ext.isNumber(a.maxHeight)){e=Math.max(e,a.maxHeight)}if(Ext.isNumber(a.minHeight)){g=Math.max(g,a.minHeight)}});f.maxHeight=e;f.minHeight=g},onRegionVisibilityChange:function(b){this.splitters[b.region][b.hidden?"hide":"show"]();this.layout()},onSplitterCollapseClick:function(b){if(b.collapsed){this.onPlaceHolderToolClick(null,null,null,{client:b})}else{b.collapse()}},getPlaceholder:function(n){var m=this,k=n.placeholder,h=n.shadowOwnerCt,l=h.layout,i=Ext.panel.Panel.prototype.getOppositeDirection(n.collapseDirection),j=(n.region=="north"||n.region=="south");if(n.collapseMode=="header"){return}if(!k){if(n.collapseMode=="mini"){k=Ext.create("Ext.resizer.Splitter",{id:"collapse-placeholder-"+n.id,collapseTarget:n,performCollapse:false,listeners:{click:{fn:Ext.Function.bind(m.onSplitterCollapseClick,m,[n]),element:"collapseEl"}}});k.addCls(k.collapsedCls)}else{k={id:"collapse-placeholder-"+n.id,margins:n.initialConfig.margins||Ext.getClass(n).prototype.margins,xtype:"header",orientation:j?"horizontal":"vertical",title:n.title,textCls:n.headerTextCls,iconCls:n.iconCls,baseCls:n.baseCls+"-header",ui:n.ui,indicateDrag:n.draggable,cls:Ext.baseCSSPrefix+"region-collapsed-placeholder "+Ext.baseCSSPrefix+"region-collapsed-"+n.collapseDirection+"-placeholder "+n.collapsedCls,listeners:n.floatable?{click:{fn:function(a){m.floatCollapsedPanel(a,n)},element:"el"}}:null};if((Ext.isIE6||Ext.isIE7||(Ext.isIEQuirks))&&!j){k.width=25}if(!n.hideCollapseTool){k[j?"tools":"items"]=[{xtype:"tool",client:n,type:"expand-"+i,handler:m.onPlaceHolderToolClick,scope:m}]}}k=m.owner.createComponent(k);if(n.isXType("panel")){n.on({titlechange:m.onRegionTitleChange,iconchange:m.onRegionIconChange,scope:m})}}n.placeholder=k;k.comp=n;return k},onRegionTitleChange:function(d,c){d.placeholder.setTitle(c)},onRegionIconChange:function(c,d){c.placeholder.setIconCls(d)},calculateChildBox:function(d){var c=this;if(c.shadowContainer.items.contains(d)){return c.shadowContainer.layout.calculateChildBox(d)}else{if(c.embeddedContainer&&c.embeddedContainer.items.contains(d)){return c.embeddedContainer.layout.calculateChildBox(d)}}},onBeforeRegionCollapse:function(v,s,y){if(v.collapsedChangingLayout){if(Ext.global.console&&Ext.global.console.warn){Ext.global.console.warn(Ext.getDisplayName(arguments.callee),"aborted because the collapsed state is in the middle of changing")}return false}v.collapsedChangingLayout=true;var t=this,o=v.el,z,A=v.collapseMode=="mini",u=v.shadowOwnerCt,B=u.layout,q=v.placeholder,w=t.owner.suspendLayout,r=u.suspendLayout,p=(v.region=="north"||v.region=="west");t.owner.suspendLayout=true;u.suspendLayout=true;B.layoutBusy=true;if(u.componentLayout){u.componentLayout.layoutBusy=true}t.shadowContainer.layout.layoutBusy=true;t.layoutBusy=true;t.owner.componentLayout.layoutBusy=true;if(!q){q=t.getPlaceholder(v)}if(q.shadowOwnerCt===u){q.show()}else{u.insert(u.items.indexOf(v)+(p?0:1),q);q.shadowOwnerCt=u;q.ownerCt=t.owner}v.hidden=true;if(!q.rendered){B.renderItem(q,B.innerCt);if(v.region=="north"||v.region=="south"){q.setCalculatedSize(v.getWidth())}else{q.setCalculatedSize(undefined,v.getHeight())}}function x(){t.owner.suspendLayout=w;u.suspendLayout=r;delete B.layoutBusy;if(u.componentLayout){delete u.componentLayout.layoutBusy}delete t.shadowContainer.layout.layoutBusy;delete t.layoutBusy;delete t.owner.componentLayout.layoutBusy;delete v.collapsedChangingLayout;v.collapsed=true;v.fireEvent("collapse",v)}if(v.animCollapse&&t.initialCollapsedComplete){B.layout();o.dom.style.zIndex=100;if(!A){q.el.hide()}o.slideOut(t.slideDirection[v.region],{duration:Ext.Number.from(v.animCollapse,Ext.fx.Anim.prototype.duration),listeners:{afteranimate:function(){o.show().setLeftTop(-10000,-10000);o.dom.style.zIndex="";if(!A){q.el.slideIn(t.slideDirection[v.region],{easing:"linear",duration:100})}x()}}})}else{o.setLeftTop(-10000,-10000);B.layout();x()}return false},onBeforeRegionExpand:function(c,d){this.onPlaceHolderToolClick(null,null,null,{client:c,shouldFireBeforeexpand:false});return false},onPlaceHolderToolClick:function(y,e,J,H){var t=this,w=H.client,D=(w.collapseMode!="mini")||!w.split,u=w.el,B,G=w.placeholder,A=G.el,v=w.shadowOwnerCt,I=v.layout,C,x=t.owner.suspendLayout,z=v.suspendLayout,E;if(w.collapsedChangingLayout){if(Ext.global.console&&Ext.global.console.warn){Ext.global.console.warn(Ext.getDisplayName(arguments.callee),"aborted because the collapsed state is in the middle of changing")}return false}if(H.shouldFireBeforeexpand!==false&&w.fireEvent("beforeexpand",w,true)===false){return false}w.collapsedChangingLayout=true;if(w.getActiveAnimation()){w.stopAnimation()}if(w.slideOutAnim){u.un(w.panelMouseMon);A.un(w.placeholderMouseMon);delete w.slideOutAnim;delete w.panelMouseMon;delete w.placeholderMouseMon;E=true}t.owner.suspendLayout=true;v.suspendLayout=true;I.layoutBusy=true;if(v.componentLayout){v.componentLayout.layoutBusy=true}t.shadowContainer.layout.layoutBusy=true;t.layoutBusy=true;t.owner.componentLayout.layoutBusy=true;w.hidden=false;w.collapsed=false;if(D){G.hidden=true}B=I.calculateChildBox(w);if(w.collapseTool){w.collapseTool.show()}if(w.animCollapse&&!E){u.setStyle("visibility","hidden")}u.setLeftTop(B.left,B.top);C=w.getSize();if(C.height!=B.height||C.width!=B.width){t.setItemSize(w,B.width,B.height)}function F(){t.owner.suspendLayout=x;v.suspendLayout=z;delete I.layoutBusy;if(v.componentLayout){delete v.componentLayout.layoutBusy}delete t.shadowContainer.layout.layoutBusy;delete t.layoutBusy;delete t.owner.componentLayout.layoutBusy;delete w.collapsedChangingLayout;w.removeCls(Ext.baseCSSPrefix+"border-region-slide-in");w.fireEvent("expand",w)}if(D){G.el.hide()}if(w.animCollapse&&!E){u.dom.style.zIndex=100;u.slideIn(t.slideDirection[w.region],{duration:Ext.Number.from(w.animCollapse,Ext.fx.Anim.prototype.duration),listeners:{afteranimate:function(){u.dom.style.zIndex="";w.hidden=false;I.onLayout();F()}}})}else{I.onLayout();F()}},floatCollapsedPanel:function(u,w){if(w.floatable===false){return}var t=this,e=w.el,q=w.placeholder,p=q.el,v=w.shadowOwnerCt,A=v.layout,x=A.getChildBox(q),r=v.suspendLayout,B,y,s;if(u.getTarget("."+Ext.baseCSSPrefix+"tool")){return}if(e.getActiveAnimation()){return}if(w.slideOutAnim){t.slideOutFloatedComponent(w);return}function z(a){var b=e.getRegion().union(p.getRegion()).adjust(1,-1,-1,1);if(!b.contains(a.getPoint())){t.slideOutFloatedComponent(w)}}w.placeholderMouseMon=p.monitorMouseLeave(500,z);v.suspendLayout=true;t.layoutBusy=true;t.owner.componentLayout.layoutBusy=true;if(w.collapseTool){w.collapseTool.hide()}w.hidden=false;w.collapsed=false;q.hidden=true;y=A.calculateChildBox(w);q.hidden=false;if(w.region=="north"||w.region=="west"){y[A.parallelBefore]+=x[A.parallelPrefix]-1}else{y[A.parallelBefore]-=(x[A.parallelPrefix]-1)}e.setStyle("visibility","hidden");e.setLeftTop(y.left,y.top);B=w.getSize();if(B.height!=y.height||B.width!=y.width){t.setItemSize(w,y.width,y.height)}s={listeners:{afteranimate:function(){v.suspendLayout=r;delete t.layoutBusy;delete t.owner.componentLayout.layoutBusy;s.listeners={afterAnimate:function(){e.show().removeCls(Ext.baseCSSPrefix+"border-region-slide-in").setLeftTop(-10000,-10000);w.hidden=true;w.collapsed=true;delete w.slideOutAnim;delete w.panelMouseMon;delete w.placeholderMouseMon}};w.slideOutAnim=s}},duration:500};e.addCls(Ext.baseCSSPrefix+"border-region-slide-in");e.slideIn(t.slideDirection[w.region],s);w.panelMouseMon=e.monitorMouseLeave(500,z)},slideOutFloatedComponent:function(e){var f=e.el,d;f.un(e.panelMouseMon);e.placeholder.el.un(e.placeholderMouseMon);f.slideOut(this.slideDirection[e.region],e.slideOutAnim);delete e.slideOutAnim;delete e.panelMouseMon;delete e.placeholderMouseMon},onRegionDestroy:function(d){var c=d.placeholder;if(c){delete c.ownerCt;c.destroy()}},onDestroy:function(){var d=this,e=d.shadowContainer,f=d.embeddedContainer;if(e){delete e.ownerCt;Ext.destroy(e)}if(f){delete f.ownerCt;Ext.destroy(f)}delete d.regions;delete d.splitters;delete d.shadowContainer;delete d.embeddedContainer;d.callParent(arguments)}});Ext.define("Ext.container.Viewport",{extend:"Ext.container.Container",alias:"widget.viewport",requires:["Ext.EventManager"],alternateClassName:"Ext.Viewport",isViewport:true,ariaRole:"application",initComponent:function(){var f=this,e=Ext.fly(document.body.parentNode),d;f.callParent(arguments);e.addCls(Ext.baseCSSPrefix+"viewport");if(f.autoScroll){e.setStyle("overflow","auto")}f.el=d=Ext.getBody();d.setHeight=Ext.emptyFn;d.setWidth=Ext.emptyFn;d.setSize=Ext.emptyFn;d.dom.scroll="no";f.allowDomMove=false;Ext.EventManager.onWindowResize(f.fireResize,f);f.renderTo=f.el;f.width=Ext.Element.getViewportWidth();f.height=Ext.Element.getViewportHeight()},fireResize:function(d,c){this.setSize(d,c)}});Ext.define("Docs.view.search.Container",{extend:"Ext.container.Container",alias:"widget.searchcontainer",initComponent:function(){if(Docs.data.search.length){this.cls="search";this.items=[{xtype:"triggerfield",triggerCls:"reset",emptyText:"Search",width:170,id:"search-field",enableKeyEvents:true,hideTrigger:true,onTriggerClick:function(){this.reset();this.focus();this.setHideTrigger(true);Ext.getCmp("search-dropdown").hide()}},{xtype:"searchdropdown"}]}this.callParent()}});Ext.define("Docs.view.Header",{extend:"Ext.container.Container",alias:"widget.docheader",contentEl:"header-content",initComponent:function(){if(Docs.otherProducts){this.style="cursor: pointer;",this.cls="dropdown";this.menu=Ext.create("Ext.menu.Menu",{renderTo:Ext.getBody(),plain:true,items:Docs.otherProducts})}this.callParent()},listeners:{afterrender:function(b){if(this.menu){b.el.addListener("click",function(d,a){this.menu.showBy(this.el,"bl",[120,0])},this)}}}});Ext.define("Docs.view.Tabs",{extend:"Ext.container.Container",alias:"widget.doctabs",id:"doctabs",componentCls:"doctabs",minTabWidth:80,maxTabWidth:160,animDuration:150,tabs:[],tabsInBar:[],tabCache:{},staticTabs:[],initComponent:function(){this.tpl=Ext.create("Ext.XTemplate",'<tpl for=".">','<div class="doctab overview {cls}{active}">','<div class="l"></div>','<div class="m"><a class="tabUrl" href="{href}"> </a></div>','<div class="r"></div>',"</div>","</tpl>",'<div style="float: left; width: 8px"> </div>','<div id="tabOverflow"></div>');this.html=this.tpl.applyTemplate(this.staticTabs);this.tabTpl=Ext.create("Ext.XTemplate",'<div class="doctab','{[values.active ? (" active") : ""]}','" style="','{[values.width ? ("width: " + values.width + "px;") : ""]}','{[values.visible ? "" : "visibility: hidden;"]}">','<div class="l"></div>','<div class="m">','<span class="icn {iconCls}"> </span>','<a class="tabUrl" href="{href}">{text}</a>',"</div>",'<div class="r"><a class="close" href="#"> </a></div>',"</div>");this.callParent()},listeners:{afterrender:function(){this.createOverflow()}},setStaticTabs:function(b){this.staticTabs=b;this.refresh()},addTab:function(d,c){this.tabCache[d.href]=d;if(!this.hasTab(d.href)){this.tabs.push(d.href);if(this.roomForNewTab()){this.addTabToBar(d,c)}this.addTabToOverflow(d,c)}if(c.activate){this.activateTab(d.href)}this.saveTabs()},removeTab:function(c){if(!this.hasTab(c)){return}var d=Ext.Array.indexOf(this.tabs,c);if(d!==false){Ext.Array.erase(this.tabs,d,1)}var d=Ext.Array.indexOf(this.tabsInBar,c);if(d!==false){Ext.Array.erase(this.tabsInBar,d,1)}if(this.tabs[this.tabsInBar.length]){this.tabsInBar.push(this.tabs[this.tabsInBar.length])}if(this.activeTab===c){if(this.tabs.length===0){Docs.App.getController(this.getControllerName(c)).loadIndex()}else{if(d===this.tabs.length){d-=1}this.activateTab(this.tabs[d]);Docs.History.push(this.tabs[d],{navigate:true})}}if(this.tabs.length>=this.maxTabsInBar()){this.refresh()}else{this.removeTabFromBar(c)}this.saveTabs()},activateTab:function(d){this.activeTab=d;if(!this.inTabs(d)){this.swapLastTabWith(d)}Ext.Array.each(Ext.query(".doctab a[class=tabUrl]"),function(a){Ext.get(a).up(".doctab").removeCls(["active","highlight"])});var e=Ext.query('.doctab a[href="'+d+'"]')[0];if(e){var f=Ext.get(e).up(".doctab");f.addCls("active")}this.highlightOverviewTab(d)},refresh:function(){var i=this.tpl.applyTemplate(this.staticTabs);var f=this.maxTabsInBar()<this.tabs.length?this.maxTabsInBar():this.tabs.length;this.tabsInBar=this.tabs.slice(0,f);for(var j=0;j<f;j++){var h=this.tabCache[this.tabs[j]];var g=Ext.apply(h,{visible:true,active:this.activeTab===h.href,width:this.tabWidth()});i+=this.tabTpl.applyTemplate(g)}this.el.dom.innerHTML=i;if(this.activeTab!==this.tabs[f-1]){this.activateTab(this.activeTab);Docs.History.push(this.activeTab)}this.highlightOverviewTab(this.activeTab);this.createOverflow();this.addToolTips()},closeAllTabs:function(){if(this.inTabBar(this.activeTab)){this.tabs=this.tabsInBar=[this.activeTab]}else{this.tabs=this.tabsInBar=[]}this.refresh();this.saveTabs()},tabData:function(){return Ext.Array.map(this.tabs,function(b){return this.tabCache[b]},this)},roomForNewTab:function(){return this.tabsInBar.length<this.maxTabsInBar()},hasTab:function(b){return Ext.Array.contains(this.tabs,b)},addTabToBar:function(e,d){this.tabsInBar.push(e.href);var f=Ext.get(this.tabTpl.append(this.el.dom,e));if(d.animate&&!Ext.isIE){f.setStyle("width","10px");f.setStyle({visibility:"visible"});f.animate({to:{width:this.tabWidth()}})}else{f.setStyle({visibility:"visible"})}this.resizeTabs(d)},inTabBar:function(b){return Ext.Array.contains(this.tabsInBar,b)},inTabs:function(d){var c=Ext.Array.pluck(this.staticTabs,"href").concat(this.tabsInBar);return Ext.Array.contains(c,d)},removeTabFromBar:function(d){var c=this.getTabEl(d);c.dom.removed=true;if(Ext.isIE){c.remove();this.createOverflow()}else{c.animate({to:{top:30},duration:this.animDuration}).animate({to:{width:10},duration:this.animDuration,listeners:{afteranimate:function(){c.remove();this.shouldResize=true;this.createOverflow()},scope:this}})}},addTabToOverflow:function(j,i){var k=this.inTabBar(j.href);var h=Ext.Array.indexOf(this.tabs,j.href);if(this.tabs.length>this.tabsInBar.length&&h===this.maxTabsInBar()){var g=Ext.ComponentQuery.query("#tabOverflowMenu menuitem[href="+this.tabs[h-1]+"]");Ext.Array.each(g,function(a){a.addCls("overflow")})}var l=Ext.getCmp("tabOverflowMenu").items.length-1;Ext.getCmp("tabOverflowMenu").insert(l,{text:j.text,iconCls:j.iconCls,origIcon:j.iconCls,href:j.href,cls:(k?"":" overflow")})},swapLastTabWith:function(d){var e=this.getTabEl(this.tabsInBar[this.tabsInBar.length-1]);if(e){var f=this.tabTpl.append(document.body,this.tabCache[d]);e.dom.parentNode.replaceChild(f,e.dom);this.tabsInBar[this.tabsInBar.length-1]=d;Ext.get(f).setStyle({visibility:"visible",width:String(this.tabWidth())+"px"})}},highlightOverviewTab:function(d){var c=Ext.query(".doctab."+this.getControllerName(d).toLowerCase());if(c&&c[0]){Ext.get(c[0]).addCls("highlight")}},maxTabsInBar:function(){return Math.floor(this.tabBarWidth()/this.minTabWidth)},tabWidth:function(){var b=Math.floor(this.tabBarWidth()/this.tabsInBar.length)+6;if(b>this.maxTabWidth){return this.maxTabWidth}else{if(b<this.minTabWidth){return this.minTabWidth}else{return b}}},tabBarWidth:function(){return this.getWidth()-(this.staticTabs.length*50)-15},resizeTabs:function(b){this.shouldResize=false;Ext.Array.each(Ext.query(".doctab"),function(a){var d=Ext.get(a);if(!d.dom.removed&&!d.hasCls("overview")){if(b&&b.animate&&!Ext.isIE){d.animate({to:{width:this.tabWidth()}})}else{d.setWidth(this.tabWidth())}}},this)},getTabEl:function(c){var d=Ext.query('.doctab a[href="'+c+'"]');if(d&&d[0]){return Ext.get(d[0]).up(".doctab")}},createOverflow:function(){if(this.overflowButton){this.overflowButton.destroy()}this.overflowButton=Ext.create("Ext.button.Button",{baseCls:"",renderTo:"tabOverflow",menu:{id:"tabOverflowMenu",plain:true,items:[{text:"Close all tabs",iconCls:"close",cls:"overflow close-all",handler:function(){this.closeAllTabs()},scope:this}]}});Ext.Array.each(this.tabs,function(b){this.addTabToOverflow(this.tabCache[b])},this)},addToolTips:function(){Ext.Array.each(this.staticTabs,function(c){var d=Ext.get(Ext.query(".doctab."+c.cls)[0]);if(d){Ext.create("Ext.tip.ToolTip",{target:d,html:c.tooltip})}})},saveTabs:function(){Docs.Settings.set("tabs",this.tabs)},getControllerName:function(b){if(/#!?\/api/.test(b)){return"Classes"}else{if(/#!?\/guide/.test(b)){return"Guides"}else{if(/#!?\/video/.test(b)){return"Videos"}else{if(/#!?\/example/.test(b)){return"Examples"}else{return"Index"}}}}}});Ext.define("Docs.view.welcome.Index",{extend:"Ext.container.Container",alias:"widget.welcomeindex",requires:["Docs.ContentGrabber"],cls:"welcome iScroll",initComponent:function(){this.html=Docs.ContentGrabber.get("welcome-content");this.hasContent=!!this.html;this.callParent(arguments)},getTab:function(){return this.hasContent?{cls:"index",href:"#",tooltip:"Home"}:false}});Ext.define("Docs.view.cls.Index",{extend:"Ext.container.Container",alias:"widget.classindex",requires:["Docs.ContentGrabber"],cls:"class-list iScroll",margin:"15 10",autoScroll:true,initComponent:function(){this.tpl=new Ext.XTemplate('<h1 class="top" style="padding-bottom: 10px">API Documentation</h1>','<tpl if="notice">','<div class="notice">{notice}</div>',"</tpl>","{categories}");this.data={notice:Docs.ContentGrabber.get("notice-text"),categories:Docs.ContentGrabber.get("categories-content")};this.callParent(arguments)},getTab:function(){return Docs.data.classes.length>0?{cls:"classes",href:"#!/api",tooltip:"API Documentation"}:false}});Ext.define("Docs.view.guides.Container",{extend:"Ext.container.Container",alias:"widget.guidecontainer",componentCls:"guide-container",initComponent:function(){this.addEvents("afterload");this.callParent(arguments)},load:function(b){this.tpl=this.tpl||new Ext.XTemplate(Docs.showPrintButton?'<a class="print guide" href="?print=/guide/{name}" target="_blank">Print</a>':"","{content}");this.update(this.tpl.apply(b));Docs.Syntax.highlight(this.getEl());this.fireEvent("afterload")}});Ext.define("Docs.view.videos.Container",{extend:"Ext.container.Container",alias:"widget.videocontainer",load:function(b){this.tpl=this.tpl||new Ext.XTemplate('<object width="640" height="360" id="video_player">','<param name="allowfullscreen" value="true" />','<param name="allowscriptaccess" value="always" />','<param name="flashvars" value="api=1" />','<param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id={id}&server=vimeo.com&color=4CC208&fullscreen=1" />','<embed src="http://vimeo.com/moogaloop.swf?clip_id={id}&server=vimeo.com&color=4CC208&fullscreen=1" ','type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="640" height="360"></embed>',"</object>","<h1>{title}</h1>","<p>{[this.linkify(values.description)]}</p>",{linkify:function(a){return a.replace(/(\bhttps?:\/\/\S+)/ig,"<a href='$1'>$1</a>")}});this.update(this.tpl.apply(b))},listeners:{hide:function(){var b=document.getElementById("video_player");if(b&&b.api_pause){b.api_pause()}}}});Ext.define("Docs.view.examples.Container",{extend:"Ext.container.Container",alias:"widget.examplecontainer",layout:"fit",exampleBaseUrl:"extjs/examples/",initComponent:function(){this.tpl=new Ext.XTemplate('<iframe style="width: 100%; height: 100%; border: 0;" src="{baseUrl}{url}"></iframe>');if(Docs.exampleBaseUrl){this.exampleBaseUrl=Docs.exampleBaseUrl}this.callParent(arguments)},load:function(b){b.baseUrl=this.exampleBaseUrl;this.update(this.tpl.apply(b))},clear:function(){this.update("")}});Ext.define("Docs.view.cls.Header",{extend:"Ext.container.Container",padding:"10 0 17 0",height:55,alias:"widget.classheader",cls:"classheader",initComponent:function(){this.tpl=Ext.create("Ext.XTemplate",'<h1 class="{[this.getClass(values)]}">','<tpl if="private">','<span class="private">Private</span>',"</tpl>",'<a href="#" class="class-source-link">{name}','<span class="class-source-tip">View source...</span>',"</a>","{[this.renderXTypes(values.xtypes)]}","</h1>",Docs.showPrintButton?'<a class="print" href="?print=/api/{name}" target="_blank">Print</a>':"",{getClass:function(b){if(b.component){return"component"}else{if(b.singleton){return"singleton"}else{return"class"}}},renderXTypes:function(d){var f={widget:"xtype",plugin:"ptype",feature:"ftype"};var e=[];d&&Ext.Object.each(d,function(a,b){e.push((f[a]||a)+": "+b.join(", "))});if(e.length>0){return"<span>"+e.join(", ")+"</span>"}else{return""}}});this.on("render",this.initSourceLink,this);this.callParent()},initSourceLink:function(){this.classLinkEvent("click",function(){var d=this.loadedCls.files;if(d.length===1){window.open("source/"+d[0].href)}else{var c=this.createFileMenu(d);c.showBy(this,undefined,[58,-20])}},this);this.classLinkEvent("mouseover",function(){this.el.down(".class-source-tip").show()},this);this.classLinkEvent("mouseout",function(){this.el.down(".class-source-tip").hide()},this)},classLinkEvent:function(d,e,f){this.el.on(d,e,f,{preventDefault:true,delegate:"a.class-source-link"})},createFileMenu:function(b){return new Ext.menu.Menu({items:Ext.Array.map(b,function(a){return{text:a.filename,handler:function(){window.open("source/"+a.href)}}},this)})},load:function(b){this.loadedCls=b;this.update(this.tpl.apply(b))}});Ext.define("Ext.panel.Header",{extend:"Ext.container.Container",uses:["Ext.panel.Tool","Ext.draw.Component","Ext.util.CSS"],alias:"widget.header",isHeader:true,defaultType:"tool",indicateDrag:false,weight:-1,renderTpl:['<div id="{id}-body" class="{baseCls}-body<tpl if="bodyCls"> {bodyCls}</tpl>','<tpl if="uiCls">','<tpl for="uiCls"> {parent.baseCls}-body-{parent.ui}-{.}</tpl>','</tpl>"','<tpl if="bodyStyle"> style="{bodyStyle}"</tpl>></div>'],initComponent:function(){var l=this,i,j,g,h,k;l.indicateDragCls=l.baseCls+"-draggable";l.title=l.title||" ";l.tools=l.tools||[];l.items=l.items||[];l.orientation=l.orientation||"horizontal";l.dock=(l.dock)?l.dock:(l.orientation=="horizontal")?"top":"left";l.addClsWithUI(l.orientation);l.addClsWithUI(l.dock);l.addChildEls("body");if(!Ext.isEmpty(l.iconCls)){l.initIconCmp();l.items.push(l.iconCmp)}if(l.orientation=="vertical"){if(Ext.isIE6||Ext.isIE7){l.width=this.width||24}else{if(Ext.isIEQuirks){l.width=this.width||25}}l.layout={type:"vbox",align:"center",clearInnerCtOnLayout:true,bindToOwnerCtContainer:false};l.textConfig={cls:l.baseCls+"-text",type:"text",text:l.title,rotate:{degrees:90}};k=l.ui;if(Ext.isArray(k)){k=k[0]}i="."+l.baseCls+"-text-"+k;if(Ext.scopeResetCSS){i="."+Ext.baseCSSPrefix+"reset "+i}j=Ext.util.CSS.getRule(i);if(j){g=j.style}if(g){Ext.apply(l.textConfig,{"font-family":g.fontFamily,"font-weight":g.fontWeight,"font-size":g.fontSize,fill:g.color})}l.titleCmp=Ext.create("Ext.draw.Component",{ariaRole:"heading",focusable:false,viewBox:false,flex:1,autoSize:true,margins:"5 0 0 0",items:[l.textConfig],renderSelectors:{textEl:"."+l.baseCls+"-text"}})}else{l.layout={type:"hbox",align:"middle",clearInnerCtOnLayout:true,bindToOwnerCtContainer:false};l.titleCmp=Ext.create("Ext.Component",{xtype:"component",ariaRole:"heading",focusable:false,flex:1,cls:l.baseCls+"-text-container",renderTpl:['<span id="{id}-textEl" class="{cls}-text {cls}-text-{ui}">{title}</span>'],renderData:{title:l.title,cls:l.baseCls,ui:l.ui},childEls:["textEl"]})}l.items.push(l.titleCmp);l.items=l.items.concat(l.tools);this.callParent()},initIconCmp:function(){this.iconCmp=Ext.create("Ext.Component",{focusable:false,renderTpl:['<img id="{id}-iconEl" alt="" src="{blank}" class="{cls}-icon {iconCls}"/>'],renderData:{blank:Ext.BLANK_IMAGE_URL,cls:this.baseCls,iconCls:this.iconCls,orientation:this.orientation},childEls:["iconEl"],iconCls:this.iconCls})},afterRender:function(){var b=this;b.el.unselectable();if(b.indicateDrag){b.el.addCls(b.indicateDragCls)}b.mon(b.el,{click:b.onClick,scope:b});b.callParent()},afterLayout:function(){var b=this;b.callParent(arguments);if(Ext.isIE7){b.el.repaint()}},addUIClsToElement:function(h,k){var l=this,i=l.callParent(arguments),m=[l.baseCls+"-body-"+h,l.baseCls+"-body-"+l.ui+"-"+h],j,n;if(!k&&l.rendered){if(l.bodyCls){l.body.addCls(l.bodyCls)}else{l.body.addCls(m)}}else{if(l.bodyCls){j=l.bodyCls.split(" ");for(n=0;n<m.length;n++){if(!Ext.Array.contains(j,m[n])){j.push(m[n])}}l.bodyCls=j.join(" ")}else{l.bodyCls=m.join(" ")}}return i},removeUIClsFromElement:function(h,k){var l=this,i=l.callParent(arguments),m=[l.baseCls+"-body-"+h,l.baseCls+"-body-"+l.ui+"-"+h],j,n;if(!k&&l.rendered){if(l.bodyCls){l.body.removeCls(l.bodyCls)}else{l.body.removeCls(m)}}else{if(l.bodyCls){j=l.bodyCls.split(" ");for(n=0;n<m.length;n++){Ext.Array.remove(j,m[n])}l.bodyCls=j.join(" ")}}return i},addUIToElement:function(h){var e=this,g,f;e.callParent(arguments);f=e.baseCls+"-body-"+e.ui;if(!h&&e.rendered){if(e.bodyCls){e.body.addCls(e.bodyCls)}else{e.body.addCls(f)}}else{if(e.bodyCls){g=e.bodyCls.split(" ");if(!Ext.Array.contains(g,f)){g.push(f)}e.bodyCls=g.join(" ")}else{e.bodyCls=f}}if(!h&&e.titleCmp&&e.titleCmp.rendered&&e.titleCmp.textEl){e.titleCmp.textEl.addCls(e.baseCls+"-text-"+e.ui)}},removeUIFromElement:function(){var d=this,f,e;d.callParent(arguments);e=d.baseCls+"-body-"+d.ui;if(d.rendered){if(d.bodyCls){d.body.removeCls(d.bodyCls)}else{d.body.removeCls(e)}}else{if(d.bodyCls){f=d.bodyCls.split(" ");Ext.Array.remove(f,e);d.bodyCls=f.join(" ")}else{d.bodyCls=e}}if(d.titleCmp&&d.titleCmp.rendered&&d.titleCmp.textEl){d.titleCmp.textEl.removeCls(d.baseCls+"-text-"+d.ui)}},onClick:function(b){if(!b.getTarget(Ext.baseCSSPrefix+"tool")){this.fireEvent("click",b)}},getTargetEl:function(){return this.body||this.frameBody||this.el},setTitle:function(g){var h=this;if(h.rendered){if(h.titleCmp.rendered){if(h.titleCmp.surface){h.title=g||"";var e=h.titleCmp.surface.items.items[0],f=h.titleCmp.surface;f.remove(e);h.textConfig.type="text";h.textConfig.text=g;e=f.add(h.textConfig);e.setAttributes({rotate:{degrees:90}},true);h.titleCmp.autoSizeSurface()}else{h.title=g||" ";h.titleCmp.textEl.update(h.title)}}else{h.titleCmp.on({render:function(){h.setTitle(g)},single:true})}}else{h.on({render:function(){h.layout.layout();h.setTitle(g)},single:true})}},setIconCls:function(g){var j=this,h=!g||!g.length,i=j.iconCmp,f;j.iconCls=g;if(!j.iconCmp&&!h){j.initIconCmp();j.insert(0,j.iconCmp)}else{if(i){if(h){j.iconCmp.destroy()}else{f=i.iconEl;f.removeCls(i.iconCls);f.addCls(g);i.iconCls=g}}}},addTool:function(b){this.tools.push(this.add(b))},onAdd:function(c,d){this.callParent([arguments]);if(c instanceof Ext.panel.Tool){c.bindTo(this.ownerCt);this.tools[c.type]=c}}});Ext.define("Ext.grid.header.Container",{extend:"Ext.container.Container",uses:["Ext.grid.ColumnLayout","Ext.grid.column.Column","Ext.menu.Menu","Ext.menu.CheckItem","Ext.menu.Separator","Ext.grid.plugin.HeaderResizer","Ext.grid.plugin.HeaderReorderer"],border:true,alias:"widget.headercontainer",baseCls:Ext.baseCSSPrefix+"grid-header-ct",dock:"top",weight:100,defaultType:"gridcolumn",defaultWidth:100,sortAscText:"Sort Ascending",sortDescText:"Sort Descending",sortClearText:"Clear Sort",columnsText:"Columns",lastHeaderCls:Ext.baseCSSPrefix+"column-header-last",firstHeaderCls:Ext.baseCSSPrefix+"column-header-first",headerOpenCls:Ext.baseCSSPrefix+"column-header-open",triStateSort:false,ddLock:false,dragging:false,sortable:true,initComponent:function(){var b=this;b.headerCounter=0;b.plugins=b.plugins||[];if(!b.isHeader){b.resizer=Ext.create("Ext.grid.plugin.HeaderResizer");b.reorderer=Ext.create("Ext.grid.plugin.HeaderReorderer");if(!b.enableColumnResize){b.resizer.disable()}if(!b.enableColumnMove){b.reorderer.disable()}b.plugins.push(b.reorderer,b.resizer)}if(b.isHeader&&!b.items){b.layout="auto"}else{b.layout={type:"gridcolumn",availableSpaceOffset:b.availableSpaceOffset,align:"stretchmax",resetStretch:true}}b.defaults=b.defaults||{};Ext.applyIf(b.defaults,{width:b.defaultWidth,triStateSort:b.triStateSort,sortable:b.sortable});b.callParent();b.addEvents("columnresize","headerclick","headertriggerclick","columnmove","columnhide","columnshow","sortchange","menucreate")},onDestroy:function(){Ext.destroy(this.resizer,this.reorderer);this.callParent()},applyDefaults:function(b){if(b&&!b.isComponent&&b.xtype=="rownumberer"){return b}return this.callParent([b])},applyColumnsState:function(i){if(!i||!i.length){return}var h=this,j=0,f,g;Ext.each(i,function(a){g=h.down("gridcolumn[headerId="+a.id+"]");if(g){f=h.items.indexOf(g);if(j!==f){h.moveHeader(f,j)}if(g.applyColumnState){g.applyColumnState(a)}++j}})},getColumnsState:function(){var d=this,e=[],f;d.items.each(function(a){f=a.getColumnState&&a.getColumnState();if(f){e.push(f)}});return e},onAdd:function(c){var d=this;if(!c.headerId){c.headerId=c.initialConfig.id||("h"+(++d.headerCounter))}if(Ext.global.console&&Ext.global.console.warn){if(!d._usedIDs){d._usedIDs={}}if(d._usedIDs[c.headerId]){Ext.global.console.warn(this.$className,"attempted to reuse an existing id",c.headerId)}d._usedIDs[c.headerId]=true}d.callParent(arguments);d.purgeCache()},onRemove:function(c){var d=this;d.callParent(arguments);d.purgeCache()},afterRender:function(){this.callParent();var f=this.up("[store]").store,h=f.sorters,g=h.first(),e;if(g){e=this.down("gridcolumn[dataIndex="+g.property+"]");if(e){e.setSortState(g.direction,false,true)}}},afterLayout:function(){if(!this.isHeader){var h=this,i=h.query(">gridcolumn:not([hidden])"),j,f,g;h.callParent(arguments);if(i.length){f=i[0].el;if(f!==h.pastFirstHeaderEl){if(h.pastFirstHeaderEl){h.pastFirstHeaderEl.removeCls(h.firstHeaderCls)}f.addCls(h.firstHeaderCls);h.pastFirstHeaderEl=f}g=i[i.length-1].el;if(g!==h.pastLastHeaderEl){if(h.pastLastHeaderEl){h.pastLastHeaderEl.removeCls(h.lastHeaderCls)}g.addCls(h.lastHeaderCls);h.pastLastHeaderEl=g}}}},onHeaderShow:function(p,u){var m=this,i=m.ownerCt,s=m.getMenu(),r,t,o,v,n,q;if(s){o=s.down("menucheckitem[headerId="+p.id+"]");if(o){o.setChecked(true,true)}r=s.query("#columnItem>menucheckitem[checked]");t=r.length;if((m.getVisibleGridColumns().length>1)&&m.disabledMenuItems&&m.disabledMenuItems.length){if(t==1){Ext.Array.remove(m.disabledMenuItems,r[0])}for(q=0,n=m.disabledMenuItems.length;q<n;q++){v=m.disabledMenuItems[q];if(!v.isDestroyed){v[v.menu?"enableCheckChange":"enable"]()}}if(t==1){m.disabledMenuItems=r}else{m.disabledMenuItems=[]}}}if(!p.isGroupHeader){if(m.view){m.view.onHeaderShow(m,p,true)}if(i){i.onHeaderShow(m,p)}}m.fireEvent("columnshow",m,p);if(u!==true){m.doLayout()}},doComponentLayout:function(){var b=this;if(b.view&&b.view.saveScrollState){b.view.saveScrollState()}b.callParent(arguments);if(b.view&&b.view.restoreScrollState){b.view.restoreScrollState()}},onHeaderHide:function(i,l){var g=this,h=g.ownerCt,j=g.getMenu(),k;if(j){k=j.down("menucheckitem[headerId="+i.id+"]");if(k){k.setChecked(false,true)}g.setDisabledItems()}if(!i.isGroupHeader){if(g.view){g.view.onHeaderHide(g,i,true)}if(h){h.onHeaderHide(g,i)}if(!l){g.doLayout()}}g.fireEvent("columnhide",g,i)},setDisabledItems:function(){var k=this,i=k.getMenu(),g=0,h,j,l;j=i.query("#columnItem>menucheckitem[checked]");if((j.length===1)){if(!k.disabledMenuItems){k.disabledMenuItems=[]}if((k.getVisibleGridColumns().length===1)&&j[0].menu){j=j.concat(j[0].menu.query("menucheckitem[checked]"))}h=j.length;for(g=0;g<h;g++){l=j[g];if(!Ext.Array.contains(k.disabledMenuItems,l)){l.disabled=false;l[l.menu?"disableCheckChange":"disable"]();k.disabledMenuItems.push(l)}}}},tempLock:function(){this.ddLock=true;Ext.Function.defer(function(){this.ddLock=false},200,this)},onHeaderResize:function(f,e,d){this.tempLock();if(this.view&&this.view.rendered){this.view.onHeaderResize(f,e,d)}},onHeaderClick:function(f,d,e){this.fireEvent("headerclick",this,f,d,e)},onHeaderTriggerClick:function(f,d,e){if(this.fireEvent("headertriggerclick",this,f,d,e)!==false){this.showMenuBy(e,f)}},showMenuBy:function(g,i){var k=this.getMenu(),j=k.down("#ascItem"),l=k.down("#descItem"),h;k.activeHeader=k.ownerCt=i;k.setFloatParent(i);i.titleContainer.addCls(this.headerOpenCls);h=i.sortable?"enable":"disable";if(j){j[h]()}if(l){l[h]()}k.showBy(g)},onMenuDeactivate:function(){var b=this.getMenu();b.activeHeader.titleContainer.removeCls(this.headerOpenCls)},moveHeader:function(d,c){this.tempLock();this.onHeaderMoved(this.move(d,c),d,c)},purgeCache:function(){var b=this;delete b.gridDataColumns;delete b.hideableColumns;if(b.menu){b.menu.destroy();delete b.menu}},onHeaderMoved:function(h,f,i){var j=this,g=j.ownerCt;if(g&&g.onHeaderMove){g.onHeaderMove(j,h,f,i)}j.fireEvent("columnmove",j,h,f,i)},getMenu:function(){var b=this;if(!b.menu){b.menu=Ext.create("Ext.menu.Menu",{hideOnParentHide:false,items:b.getMenuItems(),listeners:{deactivate:b.onMenuDeactivate,scope:b}});b.setDisabledItems();b.fireEvent("menucreate",b,b.menu)}return b.menu},getMenuItems:function(){var f=this,d=[],e=f.enableColumnHide?f.getColumnMenu(f):null;if(f.sortable){d=[{itemId:"ascItem",text:f.sortAscText,cls:Ext.baseCSSPrefix+"hmenu-sort-asc",handler:f.onSortAscClick,scope:f},{itemId:"descItem",text:f.sortDescText,cls:Ext.baseCSSPrefix+"hmenu-sort-desc",handler:f.onSortDescClick,scope:f}]}if(e&&e.length){d.push("-",{itemId:"columnItem",text:f.columnsText,cls:Ext.baseCSSPrefix+"cols-icon",menu:e})}return d},onSortAscClick:function(){var c=this.getMenu(),d=c.activeHeader;d.setSortState("ASC")},onSortDescClick:function(){var c=this.getMenu(),d=c.activeHeader;d.setSortState("DESC")},getColumnMenu:function(k){var n=[],h=0,l,i=k.query(">gridcolumn[hideable]"),j=i.length,m;for(;h<j;h++){l=i[h];m=Ext.create("Ext.menu.CheckItem",{text:l.text,checked:!l.hidden,hideOnClick:false,headerId:l.id,menu:l.isGroupHeader?this.getColumnMenu(l):undefined,checkHandler:this.onColumnCheckChange,scope:this});if(j===1){m.disabled=true}n.push(m);l.on({destroy:Ext.Function.bind(m.destroy,m)})}return n},onColumnCheckChange:function(e,d){var f=Ext.getCmp(e.headerId);f[d?"show":"hide"]()},getColumnsForTpl:function(l){var n=[],m=this.getGridColumns(l),j=m.length,i=0,k,h;for(;i<j;i++){k=m[i];if(k.hidden||k.up("headercontainer[hidden=true]")){h=0}else{h=k.getDesiredWidth();if((i===0)&&(Ext.isIE6||Ext.isIE7)){h+=1}}n.push({dataIndex:k.dataIndex,align:k.align,width:h,id:k.id,cls:k.tdCls,columnId:k.getItemId()})}return n},getColumnCount:function(){return this.getGridColumns().length},getFullWidth:function(i){var j=0,f=this.getVisibleGridColumns(i),h=f.length,g=0;for(;g<h;g++){if(!isNaN(f[g].width)){if(f[g].getDesiredWidth){j+=f[g].getDesiredWidth()}else{j+=f[g].getWidth()}}}return j},clearOtherSortStates:function(g){var j=this.getGridColumns(),h=j.length,f=0,i;for(;f<h;f++){if(j[f]!==g){i=j[f].sortState;j[f].setSortState(null,true)}}},getVisibleGridColumns:function(b){return Ext.ComponentQuery.query(":not([hidden])",this.getGridColumns(b))},getGridColumns:function(d){var f=this,e=d?null:f.gridDataColumns;if(!e){f.gridDataColumns=e=[];f.cascade(function(a){if((a!==f)&&!a.isGroupHeader){e.push(a)}})}return e},getHideableColumns:function(d){var f=this,e=d?null:f.hideableColumns;if(!e){e=f.hideableColumns=f.query("[hideable]")}return e},getHeaderIndex:function(c){var d=this.getGridColumns();return Ext.Array.indexOf(d,c)},getHeaderAtIndex:function(d){var c=this.getGridColumns();return c[d]},prepareData:function(w,B,u,s,D){var x={},A=this.gridDataColumns||this.getGridColumns(),z=A.length,y=0,v,p,t,q,C,r=D.store;for(;y<z;y++){C={tdCls:"",style:""};v=A[y];p=v.id;t=v.renderer;q=w[v.dataIndex];if(typeof t==="string"){v.renderer=t=Ext.util.Format[t]}if(typeof t==="function"){q=t.call(v.scope||this.ownerCt,q,C,u,B,y,r,s)}if(C.css){x.cssWarning=true;C.tdCls=C.css;delete C.css}x[p+"-modified"]=u.isModified(v.dataIndex)?Ext.baseCSSPrefix+"grid-dirty-cell":"";x[p+"-tdCls"]=C.tdCls;x[p+"-tdAttr"]=C.tdAttr;x[p+"-style"]=C.style;if(q===undefined||q===null||q===""){q=" "}x[p]=q}return x},expandToFit:function(b){if(this.view){this.view.expandToFit(b)}}});Ext.define("Ext.grid.column.Column",{extend:"Ext.grid.header.Container",alias:"widget.gridcolumn",requires:["Ext.util.KeyNav"],alternateClassName:"Ext.grid.Column",baseCls:Ext.baseCSSPrefix+"column-header "+Ext.baseCSSPrefix+"unselectable",hoverCls:Ext.baseCSSPrefix+"column-header-over",handleWidth:5,sortState:null,possibleSortStates:["ASC","DESC"],renderTpl:'<div id="{id}-titleContainer" class="'+Ext.baseCSSPrefix+'column-header-inner"><span id="{id}-textEl" class="'+Ext.baseCSSPrefix+'column-header-text">{text}</span><tpl if="!values.menuDisabled"><div id="{id}-triggerEl" class="'+Ext.baseCSSPrefix+'column-header-trigger"></div></tpl></div>',dataIndex:null,text:" ",sortable:true,hideable:true,menuDisabled:false,renderer:false,align:"left",draggable:true,initDraggable:Ext.emptyFn,isHeader:true,initComponent:function(){var g=this,e,f,h;if(Ext.isDefined(g.header)){g.text=g.header;delete g.header}if(g.flex){g.minWidth=g.minWidth||Ext.grid.plugin.HeaderResizer.prototype.minColWidth}else{g.minWidth=g.width}if(!g.triStateSort){g.possibleSortStates.length=2}if(Ext.isDefined(g.columns)){g.isGroupHeader=true;if(g.dataIndex){Ext.Error.raise("Ext.grid.column.Column: Group header may not accept a dataIndex")}if((g.width&&g.width!==Ext.grid.header.Container.prototype.defaultWidth)||g.flex){Ext.Error.raise("Ext.grid.column.Column: Group header does not support setting explicit widths or flexs. The group header width is calculated by the sum of its children.")}g.items=g.columns;delete g.columns;delete g.flex;g.width=0;for(e=0,f=g.items.length;e<f;e++){h=g.items[e];if(!h.hidden){g.width+=h.width||Ext.grid.header.Container.prototype.defaultWidth}if(h.flex){Ext.Error.raise("Ext.grid.column.Column: items of a grouped header do not support flexed values. Each item must explicitly define its width.")}}g.minWidth=g.width;g.cls=(g.cls||"")+" "+Ext.baseCSSPrefix+"group-header";g.sortable=false;g.resizable=false;g.align="center"}g.addChildEls("titleContainer","triggerEl","textEl");g.callParent(arguments)},onAdd:function(b){b.isSubHeader=true;b.addCls(Ext.baseCSSPrefix+"group-sub-header");this.callParent(arguments)},onRemove:function(b){b.isSubHeader=false;b.removeCls(Ext.baseCSSPrefix+"group-sub-header");this.callParent(arguments)},initRenderData:function(){var b=this;Ext.applyIf(b.renderData,{text:b.text,menuDisabled:b.menuDisabled});return b.callParent(arguments)},applyColumnState:function(d){var e=this,f=Ext.isDefined;e.applyColumnsState(d.columns);if(f(d.hidden)){e.hidden=d.hidden}if(f(d.locked)){e.locked=d.locked}if(f(d.sortable)){e.sortable=d.sortable}if(f(d.width)){delete e.flex;e.width=d.width}else{if(f(d.flex)){delete e.width;e.flex=d.flex}}},getColumnState:function(){var d=this,e=[],f={id:d.headerId};d.savePropsToState(["hidden","sortable","locked","flex","width"],f);if(d.isGroupHeader){d.items.each(function(a){e.push(a.getColumnState())});if(e.length){f.columns=e}}else{if(d.isSubHeader&&d.ownerCt.hidden){delete d.hidden}}if("width" in f){delete f.flex}return f},setText:function(b){this.text=b;if(this.rendered){this.textEl.update(b)}},getOwnerHeaderCt:function(){return this.up(":not([isHeader])")},getIndex:function(){return this.isGroupColumn?false:this.getOwnerHeaderCt().getHeaderIndex(this)},onRender:function(){var c=this,d=c.up("tablepanel");if(d&&(!c.sortable||d.sortableColumns===false)&&!c.groupable&&!c.lockable&&(d.enableColumnHide===false||!c.getOwnerHeaderCt().getHideableColumns().length)){c.menuDisabled=true}c.callParent(arguments)},afterRender:function(){var c=this,d=c.el;c.callParent(arguments);d.addCls(Ext.baseCSSPrefix+"column-header-align-"+c.align).addClsOnOver(c.overCls);c.mon(d,{click:c.onElClick,dblclick:c.onElDblClick,scope:c});if(!Ext.isIE8||!Ext.isStrict){c.mon(c.getFocusEl(),{focus:c.onTitleMouseOver,blur:c.onTitleMouseOut,scope:c})}c.mon(c.titleContainer,{mouseenter:c.onTitleMouseOver,mouseleave:c.onTitleMouseOut,scope:c});c.keyNav=Ext.create("Ext.util.KeyNav",d,{enter:c.onEnterKey,down:c.onDownKey,scope:c})},setWidth:function(s,t){var m=this,r=m.ownerCt,l,n,o,q=m.getWidth(),p=0,i;if(s!==q){m.oldWidth=q;m.minWidth=m.width=s;if(r.isGroupHeader){l=r.items.items;n=l.length;for(o=0;o<n;o++){i=l[o];if(!i.hidden){p+=(i===m)?s:i.getWidth()}}r.setWidth(p,t)}else{if(t!==false){r.doLayout()}}}},afterComponentLayout:function(h,f){var g=this,e=this.getOwnerHeaderCt();g.callParent(arguments);if(h&&!g.isGroupHeader&&e){e.onHeaderResize(g,h,true)}if(g.oldWidth&&(h!==g.oldWidth)){e.fireEvent("columnresize",e,this,h)}delete g.oldWidth},setPadding:function(e){var f=this,d=Ext.util.TextMetrics.measure(f.textEl.dom,f.text).height;if(!f.isGroupHeader){if(f.titleContainer.getHeight()<e){f.titleContainer.dom.style.height=e+"px"}}e=f.titleContainer.getViewSize().height;if(d){f.titleContainer.setStyle({paddingTop:Math.max(((e-d)/2),0)+"px"})}if(Ext.isIE&&f.triggerEl){f.triggerEl.setHeight(e)}},onDestroy:function(){var b=this;Ext.destroy(b.textEl,b.keyNav);delete b.keyNav;b.callParent(arguments)},onTitleMouseOver:function(){this.titleContainer.addCls(this.hoverCls)},onTitleMouseOut:function(){this.titleContainer.removeCls(this.hoverCls)},onDownKey:function(b){if(this.triggerEl){this.onElClick(b,this.triggerEl.dom||this.el.dom)}},onEnterKey:function(b){this.onElClick(b,this.el.dom)},onElDblClick:function(g,f){var h=this,e=h.ownerCt;if(e&&Ext.Array.indexOf(e.items,h)!==0&&h.isOnLeftEdge(g)){e.expandToFit(h.previousSibling("gridcolumn"))}},onElClick:function(g,e){var h=this,f=h.getOwnerHeaderCt();if(f&&!f.ddLock){if(h.triggerEl&&(g.target===h.triggerEl.dom||e===h.triggerEl.dom||g.within(h.triggerEl))){f.onHeaderTriggerClick(h,g,e)}else{if(g.getKey()||(!h.isOnLeftEdge(g)&&!h.isOnRightEdge(g))){h.toggleSortState();f.onHeaderClick(h,g,e)}}}},processEvent:function(j,e,h,l,k,i){return this.fireEvent.apply(this,arguments)},toggleSortState:function(){var d=this,e,f;if(d.sortable){e=Ext.Array.indexOf(d.possibleSortStates,d.sortState);f=(e+1)%d.possibleSortStates.length;d.setSortState(d.possibleSortStates[f])}},doSort:function(c){var d=this.up("tablepanel").store;d.sort({property:this.getSortParam(),direction:c})},getSortParam:function(){return this.dataIndex},setSortState:function(t,k,o){var n=this,m=Ext.baseCSSPrefix+"column-header-sort-",l=m+"ASC",r=m+"DESC",s=m+"null",p=n.getOwnerHeaderCt(),q=n.sortState;if(q!==t&&n.getSortParam()){n.addCls(m+t);if(t&&!o){n.doSort(t)}switch(t){case"DESC":n.removeCls([l,s]);break;case"ASC":n.removeCls([r,s]);break;case null:n.removeCls([l,r]);break}if(p&&!n.triStateSort&&!k){p.clearOtherSortStates(n)}n.sortState=t;p.fireEvent("sortchange",p,n,t)}},hide:function(){var k=this,n,i,m,j,l=0,h=k.getOwnerHeaderCt();k.oldWidth=k.getWidth();if(k.isGroupHeader){n=k.items.items;k.callParent(arguments);h.onHeaderHide(k);for(m=0,i=n.length;m<i;m++){n[m].hidden=true;h.onHeaderHide(n[m],true)}return}j=k.ownerCt.componentLayout.layoutBusy;k.ownerCt.componentLayout.layoutBusy=true;k.callParent(arguments);k.ownerCt.componentLayout.layoutBusy=j;h.onHeaderHide(k);if(k.ownerCt.isGroupHeader){n=k.ownerCt.query(">:not([hidden])");if(!n.length){k.ownerCt.hide()}else{for(m=0,i=n.length;m<i;m++){l+=n[m].getWidth()}k.ownerCt.minWidth=l;k.ownerCt.setWidth(l)}}},show:function(){var m=this,u=m.ownerCt,q=u.componentLayout,t=q.layoutBusy,v=u.layout,p=v.layoutBusy,n,o,r,i,s=0;q.layoutBusy=v.layoutBusy=true;m.callParent(arguments);q.layoutBusy=t;v.layoutBusy=p;if(m.isSubHeader){if(!u.isVisible()){u.show()}}if(m.isGroupHeader&&!m.query(":not([hidden])").length){n=m.query(">*");for(r=0,o=n.length;r<o;r++){i=n[r];i.preventLayout=true;i.show();s+=i.getWidth();delete i.preventLayout}m.setWidth(s)}if(u.isGroupHeader&&m.preventLayout!==true){n=u.query(">:not([hidden])");for(r=0,o=n.length;r<o;r++){s+=n[r].getWidth()}u.minWidth=s;u.setWidth(s)}u=m.getOwnerHeaderCt();if(u){u.onHeaderShow(m,m.preventLayout)}},getDesiredWidth:function(){var b=this;if(b.rendered&&b.componentLayout&&b.componentLayout.lastComponentSize){return b.componentLayout.lastComponentSize.width}else{if(b.flex){return b.width}else{return b.width}}},getCellSelector:function(){return"."+Ext.baseCSSPrefix+"grid-cell-"+this.getItemId()},getCellInnerSelector:function(){return this.getCellSelector()+" ."+Ext.baseCSSPrefix+"grid-cell-inner"},isOnLeftEdge:function(b){return(b.getXY()[0]-this.el.getLeft()<=this.handleWidth)},isOnRightEdge:function(b){return(this.el.getRight()-b.getXY()[0]<=this.handleWidth)}});Ext.define("Ext.grid.column.Action",{extend:"Ext.grid.column.Column",alias:["widget.actioncolumn"],alternateClassName:"Ext.grid.ActionColumn",header:" ",actionIdRe:new RegExp(Ext.baseCSSPrefix+"action-col-(\\d+)"),altText:"",sortable:false,constructor:function(m){var j=this,h=Ext.apply({},m),n=h.items||[j],i=n.length,l,k;delete h.items;j.callParent([h]);j.items=n;j.renderer=function(b,a){b=Ext.isFunction(h.renderer)?h.renderer.apply(this,arguments)||"":"";a.tdCls+=" "+Ext.baseCSSPrefix+"action-col-cell";for(l=0;l<i;l++){k=n[l];k.disable=Ext.Function.bind(j.disableAction,j,[l]);k.enable=Ext.Function.bind(j.enableAction,j,[l]);b+='<img alt="'+(k.altText||j.altText)+'" src="'+(k.icon||Ext.BLANK_IMAGE_URL)+'" class="'+Ext.baseCSSPrefix+"action-col-icon "+Ext.baseCSSPrefix+"action-col-"+String(l)+" "+(k.disabled?Ext.baseCSSPrefix+"item-disabled":" ")+(k.iconCls||"")+" "+(Ext.isFunction(k.getClass)?k.getClass.apply(k.scope||j.scope||j,arguments):(j.iconCls||""))+'"'+((k.tooltip)?' data-qtip="'+k.tooltip+'"':"")+" />"}return b}},enableAction:function(d){var c=this;if(!d){d=0}else{if(!Ext.isNumber(d)){d=Ext.Array.indexOf(c.items,d)}}c.items[d].disabled=false;c.up("tablepanel").el.select("."+Ext.baseCSSPrefix+"action-col-"+d).removeCls(c.disabledCls)},disableAction:function(d){var c=this;if(!d){d=0}else{if(!Ext.isNumber(d)){d=Ext.Array.indexOf(c.items,d)}}c.items[d].disabled=true;c.up("tablepanel").el.select("."+Ext.baseCSSPrefix+"action-col-"+d).addCls(c.disabledCls)},destroy:function(){delete this.items;delete this.renderer;return this.callParent(arguments)},processEvent:function(p,m,l,t,o,r){var q=this,s=r.getTarget().className.match(q.actionIdRe),e,n;if(s){e=q.items[parseInt(s[1],10)];if(e){if(p=="click"){n=e.handler||q.handler;if(n&&!e.disabled){n.call(e.scope||q.scope||q,m,t,o,e,r)}}else{if(p=="mousedown"&&e.stopSelection!==false){return false}}}}return q.callParent(arguments)},cascade:function(c,d){c.call(d||this,this)},getRefItems:function(){return[]}});Ext.define("Ext.button.Button",{alias:"widget.button",extend:"Ext.Component",requires:["Ext.menu.Manager","Ext.util.ClickRepeater","Ext.layout.component.Button","Ext.util.TextMetrics","Ext.util.KeyMap"],alternateClassName:"Ext.Button",isButton:true,componentLayout:"button",hidden:false,disabled:false,pressed:false,enableToggle:false,menuAlign:"tl-bl?",textAlign:"center",type:"button",clickEvent:"click",preventDefault:true,handleMouseEvents:true,tooltipType:"qtip",baseCls:Ext.baseCSSPrefix+"btn",pressedCls:"pressed",overCls:"over",focusCls:"focus",menuActiveCls:"menu-active",ariaRole:"button",renderTpl:'<em id="{id}-btnWrap" class="{splitCls}"><tpl if="href"><a id="{id}-btnEl" href="{href}" target="{target}"<tpl if="tabIndex"> tabIndex="{tabIndex}"</tpl> role="link"><span id="{id}-btnInnerEl" class="{baseCls}-inner">{text}</span><span id="{id}-btnIconEl" class="{baseCls}-icon"></span></a></tpl><tpl if="!href"><button id="{id}-btnEl" type="{type}" hidefocus="true"<tpl if="tabIndex"> tabIndex="{tabIndex}"</tpl> role="button" autocomplete="off"><span id="{id}-btnInnerEl" class="{baseCls}-inner" style="{innerSpanStyle}">{text}</span><span id="{id}-btnIconEl" class="{baseCls}-icon {iconCls}"> </span></button></tpl></em>',scale:"small",allowedScales:["small","medium","large"],iconAlign:"left",arrowAlign:"right",arrowCls:"arrow",maskOnDisable:false,initComponent:function(){var b=this;b.callParent(arguments);b.addEvents("click","toggle","mouseover","mouseout","menushow","menuhide","menutriggerover","menutriggerout");if(b.menu){b.split=true;b.menu=Ext.menu.Manager.get(b.menu);b.menu.ownerCt=b}if(b.url){b.href=b.url}if(b.href&&!b.hasOwnProperty("preventDefault")){b.preventDefault=false}if(Ext.isString(b.toggleGroup)){b.enableToggle=true}},initAria:function(){this.callParent();var b=this.getActionEl();if(this.menu){b.dom.setAttribute("aria-haspopup",true)}},getActionEl:function(){return this.btnEl},getFocusEl:function(){return this.btnEl},setButtonCls:function(){var g=this,e=[],f=g.btnIconEl,h="x-hide-display";if(g.useSetClass){if(!Ext.isEmpty(g.oldCls)){g.removeClsWithUI(g.oldCls);g.removeClsWithUI(g.pressedCls)}if(g.iconCls||g.icon){if(g.text){e.push("icon-text-"+g.iconAlign)}else{e.push("icon")}if(f){f.removeCls(h)}}else{if(g.text){e.push("noicon")}if(f){f.addCls(h)}}g.oldCls=e;g.addClsWithUI(e);g.addClsWithUI(g.pressed?g.pressedCls:null)}},onRender:function(i,g){var h=this,j,f;Ext.applyIf(h.renderData,h.getTemplateArgs());h.addChildEls("btnEl","btnWrap","btnInnerEl","btnIconEl");if(h.scale){h.ui=h.ui+"-"+h.scale}h.callParent(arguments);if(h.split&&h.arrowTooltip){h.arrowEl.dom.setAttribute(h.getTipAttr(),h.arrowTooltip)}h.mon(h.btnEl,{scope:h,focus:h.onFocus,blur:h.onBlur});f=h.el;if(h.icon){h.setIcon(h.icon)}if(h.iconCls){h.setIconCls(h.iconCls)}if(h.tooltip){h.setTooltip(h.tooltip,true)}if(h.textAlign){h.setTextAlign(h.textAlign)}if(h.handleMouseEvents){h.mon(f,{scope:h,mouseover:h.onMouseOver,mouseout:h.onMouseOut,mousedown:h.onMouseDown});if(h.split){h.mon(f,{mousemove:h.onMouseMove,scope:h})}}if(h.menu){h.mon(h.menu,{scope:h,show:h.onMenuShow,hide:h.onMenuHide});h.keyMap=Ext.create("Ext.util.KeyMap",h.el,{key:Ext.EventObject.DOWN,handler:h.onDownKey,scope:h})}if(h.repeat){j=Ext.create("Ext.util.ClickRepeater",f,Ext.isObject(h.repeat)?h.repeat:{});h.mon(j,"click",h.onRepeatClick,h)}else{h.mon(f,h.clickEvent,h.onClick,h)}Ext.ButtonToggleManager.register(h)},getTemplateArgs:function(){var f=this,d=f.getPersistentBtnPadding(),e="";if(Math.max.apply(Math,d)>0){e="margin:"+Ext.Array.map(d,function(a){return -a+"px"}).join(" ")}return{href:f.getHref(),target:f.target||"_blank",type:f.type,splitCls:f.getSplitCls(),cls:f.cls,iconCls:f.iconCls||"",text:f.text||" ",tabIndex:f.tabIndex,innerSpanStyle:e}},getHref:function(){var d=this,c=Ext.apply({},d.baseParams);c=Ext.apply(c,d.params);return d.href?Ext.urlAppend(d.href,Ext.Object.toQueryString(c)):false},setParams:function(b){this.params=b;this.btnEl.dom.href=this.getHref()},getSplitCls:function(){var b=this;return b.split?(b.baseCls+"-"+b.arrowCls)+" "+(b.baseCls+"-"+b.arrowCls+"-"+b.arrowAlign):""},afterRender:function(){var b=this;b.useSetClass=true;b.setButtonCls();b.doc=Ext.getDoc();this.callParent(arguments)},setIconCls:function(e){var g=this,f=g.btnIconEl,h=g.iconCls;g.iconCls=e;if(f){f.removeCls(h);f.addCls(e||"");g.setButtonCls()}return g},setTooltip:function(f,e){var d=this;if(d.rendered){if(!e){d.clearTip()}if(Ext.isObject(f)){Ext.tip.QuickTipManager.register(Ext.apply({target:d.btnEl.id},f));d.tooltip=f}else{d.btnEl.dom.setAttribute(d.getTipAttr(),f)}}else{d.tooltip=f}return d},setTextAlign:function(f){var d=this,e=d.btnEl;if(e){e.removeCls(d.baseCls+"-"+d.textAlign);e.addCls(d.baseCls+"-"+f)}d.textAlign=f;return d},getTipAttr:function(){return this.tooltipType=="qtip"?"data-qtip":"title"},getRefItems:function(e){var f=this.menu,d;if(f){d=f.getRefItems(e);d.unshift(f)}return d||[]},clearTip:function(){if(Ext.isObject(this.tooltip)){Ext.tip.QuickTipManager.unregister(this.btnEl)}},beforeDestroy:function(){var b=this;if(b.rendered){b.clearTip()}if(b.menu&&b.destroyMenu!==false){Ext.destroy(b.menu)}Ext.destroy(b.btnInnerEl,b.repeater);b.callParent()},onDestroy:function(){var b=this;if(b.rendered){b.doc.un("mouseover",b.monitorMouseOver,b);b.doc.un("mouseup",b.onMouseUp,b);delete b.doc;Ext.ButtonToggleManager.unregister(b);Ext.destroy(b.keyMap);delete b.keyMap}b.callParent()},setHandler:function(c,d){this.handler=c;this.scope=d;return this},setText:function(c){var d=this;d.text=c;if(d.el){d.btnInnerEl.update(c||" ");d.setButtonCls()}d.doComponentLayout();return d},setIcon:function(d){var f=this,e=f.btnIconEl;f.icon=d;if(e){e.setStyle("background-image",d?"url("+d+")":"");f.setButtonCls()}return f},getText:function(){return this.text},toggle:function(f,e){var d=this;f=f===undefined?!d.pressed:!!f;if(f!==d.pressed){if(d.rendered){d[f?"addClsWithUI":"removeClsWithUI"](d.pressedCls)}d.btnEl.dom.setAttribute("aria-pressed",f);d.pressed=f;if(!e){d.fireEvent("toggle",d,f);Ext.callback(d.toggleHandler,d.scope||d,[d,f])}}return d},maybeShowMenu:function(){var b=this;if(b.menu&&!b.hasVisibleMenu()&&!b.ignoreNextClick){b.showMenu()}},showMenu:function(){var b=this;if(b.rendered&&b.menu){if(b.tooltip&&b.getTipAttr()!="title"){Ext.tip.QuickTipManager.getQuickTip().cancelShow(b.btnEl)}if(b.menu.isVisible()){b.menu.hide()}b.menu.showBy(b.el,b.menuAlign)}return b},hideMenu:function(){if(this.hasVisibleMenu()){this.menu.hide()}return this},hasVisibleMenu:function(){var b=this.menu;return b&&b.rendered&&b.isVisible()},onRepeatClick:function(d,c){this.onClick(c)},onClick:function(c){var d=this;if(d.preventDefault||(d.disabled&&d.getHref())&&c){c.preventDefault()}if(c.button!==0){return}if(!d.disabled){d.doToggle();d.maybeShowMenu();d.fireHandler(c)}},fireHandler:function(f){var d=this,e=d.handler;d.fireEvent("click",d,f);if(e){e.call(d.scope||d,d,f)}d.onBlur()},doToggle:function(){var b=this;if(b.enableToggle&&(b.allowDepress!==false||!b.pressed)){b.toggle()}},onMouseOver:function(c){var d=this;if(!d.disabled&&!c.within(d.el,true,true)){d.onMouseEnter(c)}},onMouseOut:function(c){var d=this;if(!c.within(d.el,true,true)){if(d.overMenuTrigger){d.onMenuTriggerOut(c)}d.onMouseLeave(c)}},onMouseMove:function(i){var k=this,l=k.el,j=k.overMenuTrigger,e,h;if(k.split){if(k.arrowAlign==="right"){e=i.getX()-l.getX();h=l.getWidth()}else{e=i.getY()-l.getY();h=l.getHeight()}if(e>(h-k.getTriggerSize())){if(!j){k.onMenuTriggerOver(i)}}else{if(j){k.onMenuTriggerOut(i)}}}},getTriggerSize:function(){var h=this,j=h.triggerSize,f,g,i;if(j===i){f=h.arrowAlign;g=f.charAt(0);j=h.triggerSize=h.el.getFrameWidth(g)+h.btnWrap.getFrameWidth(g)+(h.frameSize&&h.frameSize[f]||0)}return j},onMouseEnter:function(c){var d=this;d.addClsWithUI(d.overCls);d.fireEvent("mouseover",d,c)},onMouseLeave:function(c){var d=this;d.removeClsWithUI(d.overCls);d.fireEvent("mouseout",d,c)},onMenuTriggerOver:function(c){var d=this;d.overMenuTrigger=true;d.fireEvent("menutriggerover",d,d.menu,c)},onMenuTriggerOut:function(c){var d=this;delete d.overMenuTrigger;d.fireEvent("menutriggerout",d,d.menu,c)},enable:function(d){var c=this;c.callParent(arguments);c.removeClsWithUI("disabled");return c},disable:function(d){var c=this;c.callParent(arguments);c.addClsWithUI("disabled");c.removeClsWithUI(c.overCls);return c},setScale:function(f){var e=this,d=e.ui.replace("-"+e.scale,"");if(!Ext.Array.contains(e.allowedScales,f)){throw ("#setScale: scale must be an allowed scale ("+e.allowedScales.join(", ")+")")}e.scale=f;e.setUI(d)},setUI:function(c){var d=this;if(d.scale&&!c.match(d.scale)){c=c+"-"+d.scale}d.callParent([c])},onFocus:function(c){var d=this;if(!d.disabled){d.addClsWithUI(d.focusCls)}},onBlur:function(c){var d=this;d.removeClsWithUI(d.focusCls)},onMouseDown:function(c){var d=this;if(!d.disabled&&c.button===0){d.addClsWithUI(d.pressedCls);d.doc.on("mouseup",d.onMouseUp,d)}},onMouseUp:function(c){var d=this;if(c.button===0){if(!d.pressed){d.removeClsWithUI(d.pressedCls)}d.doc.un("mouseup",d.onMouseUp,d)}},onMenuShow:function(c){var d=this;d.ignoreNextClick=0;d.addClsWithUI(d.menuActiveCls);d.fireEvent("menushow",d,d.menu)},onMenuHide:function(c){var d=this;d.removeClsWithUI(d.menuActiveCls);d.ignoreNextClick=Ext.defer(d.restoreClick,250,d);d.fireEvent("menuhide",d,d.menu)},restoreClick:function(){this.ignoreNextClick=0},onDownKey:function(){var b=this;if(!b.disabled){if(b.menu){b.showMenu()}}},getPersistentBtnPadding:function(){var h=Ext.button.Button,j=h.persistentPadding,l,g,k,i;if(!j){j=h.persistentPadding=[0,0,0,0];if(!Ext.isIE){l=Ext.create("Ext.button.Button",{renderTo:Ext.getBody(),text:"test",style:"position:absolute;top:-999px;"});k=l.btnEl;i=l.btnInnerEl;k.setSize(null,null);g=i.getOffsetsTo(k);j[0]=g[1];j[1]=k.getWidth()-i.getWidth()-g[0];j[2]=k.getHeight()-i.getHeight()-g[1];j[3]=g[0];l.destroy()}}return j}},function(){var d={};function c(g,a){var b,i,j;if(a){b=d[g.toggleGroup];for(i=0,j=b.length;i<j;i++){if(b[i]!==g){b[i].toggle(false)}}}}Ext.ButtonToggleManager={register:function(b){if(!b.toggleGroup){return}var a=d[b.toggleGroup];if(!a){a=d[b.toggleGroup]=[]}a.push(b);b.on("toggle",c)},unregister:function(b){if(!b.toggleGroup){return}var a=d[b.toggleGroup];if(a){Ext.Array.remove(a,b);b.un("toggle",c)}},getPressed:function(a){var b=d[a],g=0,h;if(b){for(h=b.length;g<h;g++){if(b[g].pressed===true){return b[g]}}}return null}}});Ext.define("Ext.tab.Tab",{extend:"Ext.button.Button",alias:"widget.tab",requires:["Ext.layout.component.Tab","Ext.util.KeyNav"],componentLayout:"tab",isTab:true,baseCls:Ext.baseCSSPrefix+"tab",activeCls:"active",closableCls:"closable",closable:true,closeText:"Close Tab",active:false,scale:false,position:"top",initComponent:function(){var b=this;b.addEvents("activate","deactivate","beforeclose","close");b.callParent(arguments);if(b.card){b.setCard(b.card)}},onRender:function(){var d=this,e=d.up("tabbar"),f=d.up("tabpanel");d.addClsWithUI(d.position);d.syncClosableUI();if(!d.minWidth){d.minWidth=(e)?e.minTabWidth:d.minWidth;if(!d.minWidth&&f){d.minWidth=f.minTabWidth}if(d.minWidth&&d.iconCls){d.minWidth+=25}}if(!d.maxWidth){d.maxWidth=(e)?e.maxTabWidth:d.maxWidth;if(!d.maxWidth&&f){d.maxWidth=f.maxTabWidth}}d.callParent(arguments);if(d.active){d.activate(true)}d.syncClosableElements();d.keyNav=Ext.create("Ext.util.KeyNav",d.el,{enter:d.onEnterKey,del:d.onDeleteKey,scope:d})},enable:function(d){var c=this;c.callParent(arguments);c.removeClsWithUI(c.position+"-disabled");return c},disable:function(d){var c=this;c.callParent(arguments);c.addClsWithUI(c.position+"-disabled");return c},onDestroy:function(){var b=this;if(b.closeEl){b.closeEl.un("click",Ext.EventManager.preventDefault);b.closeEl=null}Ext.destroy(b.keyNav);delete b.keyNav;b.callParent(arguments)},setClosable:function(d){var c=this;d=(!arguments.length||!!d);if(c.closable!=d){c.closable=d;if(c.card){c.card.closable=d}c.syncClosableUI();if(c.rendered){c.syncClosableElements();c.doComponentLayout();if(c.ownerCt){c.ownerCt.doLayout()}}}},syncClosableElements:function(){var d=this;if(d.closable){if(!d.closeEl){d.closeEl=d.el.createChild({tag:"a",cls:d.baseCls+"-close-btn",href:"#",title:d.closeText}).on("click",Ext.EventManager.preventDefault)}}else{var c=d.closeEl;if(c){c.un("click",Ext.EventManager.preventDefault);c.remove();d.closeEl=null}}},syncClosableUI:function(){var c=this,d=[c.closableCls,c.closableCls+"-"+c.position];if(c.closable){c.addClsWithUI(d)}else{c.removeClsWithUI(d)}},setCard:function(d){var c=this;c.card=d;c.setText(c.title||d.title);c.setIconCls(c.iconCls||d.iconCls)},onCloseClick:function(){var b=this;if(b.fireEvent("beforeclose",b)!==false){if(b.tabBar){if(b.tabBar.closeTab(b)===false){return}}else{b.fireEvent("close",b)}}},fireClose:function(){this.fireEvent("close",this)},onEnterKey:function(c){var d=this;if(d.tabBar){d.tabBar.onClick(c,d.el)}},onDeleteKey:function(c){var d=this;if(d.closable){d.onCloseClick()}},activate:function(c){var d=this;d.active=true;d.addClsWithUI([d.activeCls,d.position+"-"+d.activeCls]);if(c!==true){d.fireEvent("activate",d)}},deactivate:function(c){var d=this;d.active=false;d.removeClsWithUI([d.activeCls,d.position+"-"+d.activeCls]);if(c!==true){d.fireEvent("deactivate",d)}}});Ext.define("Ext.tab.Bar",{extend:"Ext.panel.Header",alias:"widget.tabbar",baseCls:Ext.baseCSSPrefix+"tab-bar",requires:["Ext.tab.Tab","Ext.FocusManager"],isTabBar:true,defaultType:"tab",plain:false,renderTpl:['<div id="{id}-body" class="{baseCls}-body <tpl if="bodyCls"> {bodyCls}</tpl> <tpl if="ui"> {baseCls}-body-{ui}<tpl for="uiCls"> {parent.baseCls}-body-{parent.ui}-{.}</tpl></tpl>"<tpl if="bodyStyle"> style="{bodyStyle}"</tpl>></div>','<div id="{id}-strip" class="{baseCls}-strip<tpl if="ui"> {baseCls}-strip-{ui}<tpl for="uiCls"> {parent.baseCls}-strip-{parent.ui}-{.}</tpl></tpl>"></div>'],initComponent:function(){var c=this,d;if(c.plain){c.setUI(c.ui+"-plain")}c.addClsWithUI(c.dock);c.addEvents("change");c.addChildEls("body","strip");c.callParent(arguments);c.layout.align=(c.orientation=="vertical")?"left":"top";c.layout.overflowHandler=Ext.create("Ext.layout.container.boxOverflow.Scroller",c.layout);c.remove(c.titleCmp);delete c.titleCmp;d=c.orientation=="vertical"?["up","down"]:["left","right"];Ext.FocusManager.subscribe(c,{keys:d});Ext.apply(c.renderData,{bodyCls:c.bodyCls})},onAdd:function(b){b.position=this.dock;this.callParent(arguments)},onRemove:function(d){var c=this;if(d===c.previousTab){c.previousTab=null}if(c.items.getCount()===0){c.activeTab=null}c.callParent(arguments)},afterRender:function(){var b=this;b.mon(b.el,{scope:b,click:b.onClick,delegate:"."+Ext.baseCSSPrefix+"tab"});b.callParent(arguments)},afterComponentLayout:function(){var b=this;b.callParent(arguments);b.strip.setWidth(b.el.getWidth())},onClick:function(h,e){var f=Ext.getCmp(e.id),g=this.tabPanel;e=h.getTarget();if(f&&f.isDisabled&&!f.isDisabled()){if(f.closable&&e===f.closeEl.dom){f.onCloseClick()}else{if(g){g.setActiveTab(f.card)}else{this.setActiveTab(f)}f.focus()}}},closeTab:function(j){var i=this,f=j.card,h=i.tabPanel,g;if(f&&f.fireEvent("beforeclose",f)===false){return false}if(j.active&&i.items.getCount()>1){g=i.previousTab||j.next("tab")||i.items.first();i.setActiveTab(g);if(h){h.setActiveTab(g.card)}}j.fireClose();i.remove(j);if(h&&f){f.fireEvent("close",f);h.remove(f)}if(g){g.focus()}},setActiveTab:function(d){if(d.disabled){return}var c=this;if(c.activeTab){c.previousTab=c.activeTab;c.activeTab.deactivate()}d.activate();if(c.rendered){c.layout.layout();d.el&&d.el.scrollIntoView(c.layout.getRenderTarget())}c.activeTab=d;c.fireEvent("change",c,d,d.card)}});Ext.define("Ext.toolbar.Fill",{extend:"Ext.Component",alias:"widget.tbfill",alternateClassName:"Ext.Toolbar.Fill",isFill:true,flex:1});Ext.define("Ext.Ajax",{extend:"Ext.data.Connection",singleton:true,autoAbort:false});Ext.define("Ext.tree.Column",{extend:"Ext.grid.column.Column",alias:"widget.treecolumn",initComponent:function(){var d=this.renderer||this.defaultRenderer,c=this.scope||window;this.renderer=function(C,A,J,K,D,H,E){var w=[],y=Ext.String.format,b=J.getDepth(),x=Ext.baseCSSPrefix+"tree-",I=x+"elbow-",B=x+"expander",F='<img src="{1}" class="{0}" />',a='<input type="button" role="checkbox" class="{0}" {1} />',G=d.apply(c,arguments),z=J.get("href"),v=J.get("hrefTarget"),L=J.get("cls");while(J){if(!J.isRoot()||(J.isRoot()&&E.rootVisible)){if(J.getDepth()===b){w.unshift(y(F,x+"icon "+x+"icon"+(J.get("icon")?"-inline ":(J.isLeaf()?"-leaf ":"-parent "))+(J.get("iconCls")||""),J.get("icon")||Ext.BLANK_IMAGE_URL));if(J.get("checked")!==null){w.unshift(y(a,(x+"checkbox")+(J.get("checked")?" "+x+"checkbox-checked":""),J.get("checked")?'aria-checked="true"':""));if(J.get("checked")){A.tdCls+=(" "+x+"checked")}}if(J.isLast()){if(J.isExpandable()){w.unshift(y(F,(I+"end-plus "+B),Ext.BLANK_IMAGE_URL))}else{w.unshift(y(F,(I+"end"),Ext.BLANK_IMAGE_URL))}}else{if(J.isExpandable()){w.unshift(y(F,(I+"plus "+B),Ext.BLANK_IMAGE_URL))}else{w.unshift(y(F,(x+"elbow"),Ext.BLANK_IMAGE_URL))}}}else{if(J.isLast()||J.getDepth()===0){w.unshift(y(F,(I+"empty"),Ext.BLANK_IMAGE_URL))}else{if(J.getDepth()!==0){w.unshift(y(F,(I+"line"),Ext.BLANK_IMAGE_URL))}}}}J=J.parentNode}if(z){w.push('<a href="',z,'" target="',v,'">',G,"</a>")}else{w.push(G)}if(L){A.tdCls+=" "+L}return w.join("")};this.callParent(arguments)},defaultRenderer:function(b){return b}});Ext.define("Ext.form.CheckboxManager",{extend:"Ext.util.MixedCollection",singleton:true,getByName:function(b){return this.filterBy(function(a){return a.name==b})},getWithValue:function(d,c){return this.filterBy(function(a){return a.name==d&&a.inputValue==c})},getChecked:function(b){return this.filterBy(function(a){return a.name==b&&a.checked})}});Ext.define("Ext.form.field.Checkbox",{extend:"Ext.form.field.Base",alias:["widget.checkboxfield","widget.checkbox"],alternateClassName:"Ext.form.Checkbox",requires:["Ext.XTemplate","Ext.form.CheckboxManager"],fieldSubTpl:["<tpl if=\"boxLabel && boxLabelAlign == 'before'\">",'<label id="{cmpId}-boxLabelEl" class="{boxLabelCls} {boxLabelCls}-{boxLabelAlign}" for="{id}">{boxLabel}</label>',"</tpl>",'<input type="button" id="{id}" ','<tpl if="tabIdx">tabIndex="{tabIdx}" </tpl>','class="{fieldCls} {typeCls}" autocomplete="off" hidefocus="true" />',"<tpl if=\"boxLabel && boxLabelAlign == 'after'\">",'<label id="{cmpId}-boxLabelEl" class="{boxLabelCls} {boxLabelCls}-{boxLabelAlign}" for="{id}">{boxLabel}</label>',"</tpl>",{disableFormats:true,compiled:true}],isCheckbox:true,focusCls:Ext.baseCSSPrefix+"form-cb-focus",fieldBodyCls:Ext.baseCSSPrefix+"form-cb-wrap",checked:false,checkedCls:Ext.baseCSSPrefix+"form-cb-checked",boxLabelCls:Ext.baseCSSPrefix+"form-cb-label",boxLabelAlign:"after",inputValue:"on",checkChangeEvents:[],inputType:"checkbox",ariaRole:"checkbox",onRe:/^on$/i,initComponent:function(){this.callParent(arguments);this.getManager().add(this)},initValue:function(){var c=this,d=!!c.checked;c.originalValue=c.lastValue=d;c.setValue(d)},onRender:function(d,e){var f=this;f.addChildEls("boxLabelEl");Ext.applyIf(f.subTplData,{boxLabel:f.boxLabel,boxLabelCls:f.boxLabelCls,boxLabelAlign:f.boxLabelAlign});f.callParent(arguments)},initEvents:function(){var b=this;b.callParent();b.mon(b.inputEl,"click",b.onBoxClick,b)},onBoxClick:function(c){var d=this;if(!d.disabled&&!d.readOnly){this.setValue(!this.checked)}},getRawValue:function(){return this.checked},getValue:function(){return this.checked},getSubmitValue:function(){var d=this.uncheckedValue,c=Ext.isDefined(d)?d:null;return this.checked?this.inputValue:c},setRawValue:function(i){var j=this,h=j.inputEl,g=j.inputValue,f=(i===true||i==="true"||i==="1"||i===1||(((Ext.isString(i)||Ext.isNumber(i))&&g)?i==g:j.onRe.test(i)));if(h){h.dom.setAttribute("aria-checked",f);j[f?"addCls":"removeCls"](j.checkedCls)}j.checked=j.rawValue=f;return f},setValue:function(c){var d=this;if(Ext.isArray(c)){d.getManager().getByName(d.name).each(function(a){a.setValue(Ext.Array.contains(c,a.inputValue))})}else{d.callParent(arguments)}return d},valueToRaw:function(b){return b},onChange:function(e,f){var g=this,h=g.handler;if(h){h.call(g.scope||g,g,e)}g.callParent(arguments)},beforeDestroy:function(){this.callParent();this.getManager().removeAtKey(this.id)},getManager:function(){return Ext.form.CheckboxManager},onEnable:function(){var d=this,c=d.inputEl;d.callParent();if(c){c.dom.disabled=d.readOnly}},setReadOnly:function(f){var e=this,d=e.inputEl;if(d){d.dom.disabled=f||e.disabled}e.readOnly=f},getBodyNaturalWidth:function(){var g=this,e=g.bodyEl,f="white-space",h;e.setStyle(f,"nowrap");h=e.getWidth();e.setStyle(f,"");return h}});Ext.define("Ext.LoadMask",{extend:"Ext.Component",alias:"widget.loadmask",mixins:{floating:"Ext.util.Floating"},uses:["Ext.data.StoreManager"],msg:"Loading...",msgCls:Ext.baseCSSPrefix+"mask-loading",useMsg:true,disabled:false,baseCls:Ext.baseCSSPrefix+"mask-msg",renderTpl:'<div style="position:relative" class="{msgCls}"></div>',modal:true,floating:{shadow:"frame"},focusOnToFront:false,constructor:function(d,e){var f=this;if(d.isComponent){f.ownerCt=d;f.bindComponent(d)}else{f.ownerCt=new Ext.Component({el:Ext.get(d),rendered:true,componentLayoutCounter:1});f.container=d}f.callParent([e]);if(f.store){f.bindStore(f.store,true)}f.renderData={msgCls:f.msgCls};f.renderSelectors={msgEl:"div"}},bindComponent:function(b){this.mon(b,{resize:this.onComponentResize,scope:this})},afterRender:function(){this.callParent(arguments);this.container=this.floatParent.getContentTarget()},onComponentResize:function(){var b=this;if(b.rendered&&b.isVisible()){b.toFront();b.center()}},bindStore:function(e,d){var f=this;if(!d&&f.store){f.mun(f.store,{scope:f,beforeload:f.onBeforeLoad,load:f.onLoad,exception:f.onLoad});if(!e){f.store=null}}if(e){e=Ext.data.StoreManager.lookup(e);f.mon(e,{scope:f,beforeload:f.onBeforeLoad,load:f.onLoad,exception:f.onLoad})}f.store=e;if(e&&e.isLoading()){f.onBeforeLoad()}},onDisable:function(){this.callParent(arguments);if(this.loading){this.onLoad()}},onBeforeLoad:function(){var f=this,e=f.ownerCt||f.floatParent,d;if(!this.disabled){if(e.componentLayoutCounter){Ext.Component.prototype.show.call(f)}else{d=e.afterComponentLayout;e.afterComponentLayout=function(){e.afterComponentLayout=d;d.apply(e,arguments);if(f.loading){Ext.Component.prototype.show.call(f)}}}}},onHide:function(){var b=this;b.callParent(arguments);b.showOnParentShow=true},onShow:function(){var c=this,d=c.msgEl;c.callParent(arguments);c.loading=true;if(c.useMsg){d.show().update(c.msg)}else{d.parent().hide()}},afterShow:function(){this.callParent(arguments);this.center()},onLoad:function(){this.loading=false;Ext.Component.prototype.hide.call(this)}});Ext.define("Ext.util.Region",{requires:["Ext.util.Offset"],statics:{getRegion:function(b){return Ext.fly(b).getPageBox(true)},from:function(b){return new this(b.top,b.right,b.bottom,b.left)}},constructor:function(i,g,b,j){var h=this;h.y=h.top=h[1]=i;h.right=g;h.bottom=b;h.x=h.left=h[0]=j},contains:function(c){var d=this;return(c.x>=d.x&&c.right<=d.right&&c.y>=d.y&&c.bottom<=d.bottom)},intersect:function(h){var i=this,k=Math.max(i.y,h.y),j=Math.min(i.right,h.right),b=Math.min(i.bottom,h.bottom),l=Math.max(i.x,h.x);if(b>k&&j>l){return new this.self(k,j,b,l)}else{return false}},union:function(h){var i=this,k=Math.min(i.y,h.y),j=Math.max(i.right,h.right),b=Math.max(i.bottom,h.bottom),l=Math.min(i.x,h.x);return new this.self(k,j,b,l)},constrainTo:function(d){var e=this,f=Ext.Number.constrain;e.top=e.y=f(e.top,d.y,d.bottom);e.bottom=f(e.bottom,d.y,d.bottom);e.left=e.x=f(e.left,d.x,d.right);e.right=f(e.right,d.x,d.right);return e},adjust:function(i,g,b,j){var h=this;h.top=h.y+=i;h.left=h.x+=j;h.right+=g;h.bottom+=b;return h},getOutOfBoundOffset:function(e,d){if(!Ext.isObject(e)){if(e=="x"){return this.getOutOfBoundOffsetX(d)}else{return this.getOutOfBoundOffsetY(d)}}else{d=e;var f=Ext.create("Ext.util.Offset");f.x=this.getOutOfBoundOffsetX(d.x);f.y=this.getOutOfBoundOffsetY(d.y);return f}},getOutOfBoundOffsetX:function(b){if(b<=this.x){return this.x-b}else{if(b>=this.right){return this.right-b}}return 0},getOutOfBoundOffsetY:function(b){if(b<=this.y){return this.y-b}else{if(b>=this.bottom){return this.bottom-b}}return 0},isOutOfBound:function(d,c){if(!Ext.isObject(d)){if(d=="x"){return this.isOutOfBoundX(c)}else{return this.isOutOfBoundY(c)}}else{c=d;return(this.isOutOfBoundX(c.x)||this.isOutOfBoundY(c.y))}},isOutOfBoundX:function(b){return(b<this.x||b>this.right)},isOutOfBoundY:function(b){return(b<this.y||b>this.bottom)},restrict:function(e,g,f){if(Ext.isObject(e)){var h;f=g;g=e;if(g.copy){h=g.copy()}else{h={x:g.x,y:g.y}}h.x=this.restrictX(g.x,f);h.y=this.restrictY(g.y,f);return h}else{if(e=="x"){return this.restrictX(g,f)}else{return this.restrictY(g,f)}}},restrictX:function(c,d){if(!d){d=1}if(c<=this.x){c-=(c-this.x)*d}else{if(c>=this.right){c-=(c-this.right)*d}}return c},restrictY:function(c,d){if(!d){d=1}if(c<=this.y){c-=(c-this.y)*d}else{if(c>=this.bottom){c-=(c-this.bottom)*d}}return c},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(c){var d=this;d.top=d.y=d[1]=c.y;d.right=c.right;d.bottom=c.bottom;d.left=d.x=d[0]=c.x;return this},toString:function(){return"Region["+this.top+","+this.right+","+this.bottom+","+this.left+"]"},translateBy:function(e,f){if(arguments.length==1){f=e.y;e=e.x}var d=this;d.top=d.y+=f;d.right+=e;d.bottom+=f;d.left=d.x+=e;return d},round:function(){var b=this;b.top=b.y=Math.round(b.y);b.right=Math.round(b.right);b.bottom=Math.round(b.bottom);b.left=b.x=Math.round(b.x);return b},equals:function(b){return(this.top==b.top&&this.right==b.right&&this.bottom==b.bottom&&this.left==b.left)}});Ext.define("Ext.dd.DragDropManager",{singleton:true,requires:["Ext.util.Region"],uses:["Ext.tip.QuickTipManager"],alternateClassName:["Ext.dd.DragDropMgr","Ext.dd.DDM"],ids:{},handleIds:{},dragCurrent:null,dragOvers:{},deltaX:0,deltaY:0,preventDefault:true,stopPropagation:true,initialized:false,locked:false,init:function(){this.initialized=true},POINT:0,INTERSECT:1,mode:0,_execOnAll:function(j,f){for(var i in this.ids){for(var g in this.ids[i]){var h=this.ids[i][g];if(!this.isTypeOfDD(h)){continue}h[j].apply(h,f)}}},_onLoad:function(){this.init();var b=Ext.EventManager;b.on(document,"mouseup",this.handleMouseUp,this,true);b.on(document,"mousemove",this.handleMouseMove,this,true);b.on(window,"unload",this._onUnload,this,true);b.on(window,"resize",this._onResize,this,true)},_onResize:function(b){this._execOnAll("resetConstraints",[])},lock:function(){this.locked=true},unlock:function(){this.locked=false},isLocked:function(){return this.locked},locationCache:{},useCache:true,clickPixelThresh:3,clickTimeThresh:350,dragThreshMet:false,clickTimeout:null,startX:0,startY:0,regDragDrop:function(c,d){if(!this.initialized){this.init()}if(!this.ids[d]){this.ids[d]={}}this.ids[d][c.id]=c},removeDDFromGroup:function(f,e){if(!this.ids[e]){this.ids[e]={}}var d=this.ids[e];if(d&&d[f.id]){delete d[f.id]}},_remove:function(c){for(var d in c.groups){if(d&&this.ids[d]&&this.ids[d][c.id]){delete this.ids[d][c.id]}}delete this.handleIds[c.id]},regHandle:function(c,d){if(!this.handleIds[c]){this.handleIds[c]={}}this.handleIds[c][d]=d},isDragDrop:function(b){return(this.getDDById(b))?true:false},getRelated:function(i,g){var j=[];for(var k in i.groups){for(var l in this.ids[k]){var h=this.ids[k][l];if(!this.isTypeOfDD(h)){continue}if(!g||h.isTarget){j[j.length]=h}}}return j},isLegalTarget:function(h,i){var f=this.getRelated(h,true);for(var j=0,g=f.length;j<g;++j){if(f[j].id==i.id){return true}}return false},isTypeOfDD:function(b){return(b&&b.__ygDragDrop)},isHandle:function(c,d){return(this.handleIds[c]&&this.handleIds[c][d])},getDDById:function(c){for(var d in this.ids){if(this.ids[d][c]){return this.ids[d][c]}}return null},handleMouseDown:function(f,d){if(Ext.tip.QuickTipManager){Ext.tip.QuickTipManager.ddDisable()}if(this.dragCurrent){this.handleMouseUp(f)}this.currentTarget=f.getTarget();this.dragCurrent=d;var e=d.getEl();this.startX=f.getPageX();this.startY=f.getPageY();this.deltaX=this.startX-e.offsetLeft;this.deltaY=this.startY-e.offsetTop;this.dragThreshMet=false;this.clickTimeout=setTimeout(function(){var a=Ext.dd.DragDropManager;a.startDrag(a.startX,a.startY)},this.clickTimeThresh)},startDrag:function(d,c){clearTimeout(this.clickTimeout);if(this.dragCurrent){this.dragCurrent.b4StartDrag(d,c);this.dragCurrent.startDrag(d,c)}this.dragThreshMet=true},handleMouseUp:function(b){if(Ext.tip&&Ext.tip.QuickTipManager){Ext.tip.QuickTipManager.ddEnable()}if(!this.dragCurrent){return}clearTimeout(this.clickTimeout);if(this.dragThreshMet){this.fireEvents(b,true)}else{}this.stopDrag(b);this.stopEvent(b)},stopEvent:function(b){if(this.stopPropagation){b.stopPropagation()}if(this.preventDefault){b.preventDefault()}},stopDrag:function(b){if(this.dragCurrent){if(this.dragThreshMet){this.dragCurrent.b4EndDrag(b);this.dragCurrent.endDrag(b)}this.dragCurrent.onMouseUp(b)}this.dragCurrent=null;this.dragOvers={}},handleMouseMove:function(f){if(!this.dragCurrent){return true}if(Ext.isIE&&(f.button!==0&&f.button!==1&&f.button!==2)){this.stopEvent(f);return this.handleMouseUp(f)}if(!this.dragThreshMet){var d=Math.abs(this.startX-f.getPageX());var e=Math.abs(this.startY-f.getPageY());if(d>this.clickPixelThresh||e>this.clickPixelThresh){this.startDrag(this.startX,this.startY)}}if(this.dragThreshMet){this.dragCurrent.b4Drag(f);this.dragCurrent.onDrag(f);if(!this.dragCurrent.moveOnly){this.fireEvents(f,false)}}this.stopEvent(f);return true},fireEvents:function(s,r){var i=this.dragCurrent;if(!i||i.isLocked()){return}var e=s.getPoint();var B=[];var y=[];var u=[];var w=[];var z=[];for(var x in this.dragOvers){var A=this.dragOvers[x];if(!this.isTypeOfDD(A)){continue}if(!this.isOverTarget(e,A,this.mode)){y.push(A)}B[x]=true;delete this.dragOvers[x]}for(var q in i.groups){if("string"!=typeof q){continue}for(x in this.ids[q]){var v=this.ids[q][x];if(!this.isTypeOfDD(v)){continue}if(v.isTarget&&!v.isLocked()&&((v!=i)||(i.ignoreSelf===false))){if(this.isOverTarget(e,v,this.mode)){if(r){w.push(v)}else{if(!B[v.id]){z.push(v)}else{u.push(v)}this.dragOvers[v.id]=v}}}}}if(this.mode){if(y.length){i.b4DragOut(s,y);i.onDragOut(s,y)}if(z.length){i.onDragEnter(s,z)}if(u.length){i.b4DragOver(s,u);i.onDragOver(s,u)}if(w.length){i.b4DragDrop(s,w);i.onDragDrop(s,w)}}else{var t=0;for(x=0,t=y.length;x<t;++x){i.b4DragOut(s,y[x].id);i.onDragOut(s,y[x].id)}for(x=0,t=z.length;x<t;++x){i.onDragEnter(s,z[x].id)}for(x=0,t=u.length;x<t;++x){i.b4DragOver(s,u[x].id);i.onDragOver(s,u[x].id)}for(x=0,t=w.length;x<t;++x){i.b4DragDrop(s,w[x].id);i.onDragDrop(s,w[x].id)}}if(r&&!w.length){i.onInvalidDrop(s)}},getBestMatch:function(j){var h=null;var f=j.length;if(f==1){h=j[0]}else{for(var i=0;i<f;++i){var g=j[i];if(g.cursorIsOver){h=g;break}else{if(!h||h.overlap.getArea()<g.overlap.getArea()){h=g}}}}return h},refreshCache:function(f){for(var g in f){if("string"!=typeof g){continue}for(var j in this.ids[g]){var i=this.ids[g][j];if(this.isTypeOfDD(i)){var h=this.getLocation(i);if(h){this.locationCache[i.id]=h}else{delete this.locationCache[i.id]}}}}},verifyEl:function(d){if(d){var e;if(Ext.isIE){try{e=d.offsetParent}catch(f){}}else{e=d.offsetParent}if(e){return true}}return false},getLocation:function(s){if(!this.isTypeOfDD(s)){return null}if(s.getRegion){return s.getRegion()}var u=s.getEl(),p,v,w,e,l,b,x,q,t;try{p=Ext.Element.getXY(u)}catch(r){}if(!p){return null}v=p[0];w=v+u.offsetWidth;e=p[1];l=e+u.offsetHeight;b=e-s.padding[0];x=w+s.padding[1];q=l+s.padding[2];t=v-s.padding[3];return Ext.create("Ext.util.Region",b,x,q,t)},isOverTarget:function(j,r,p){var n=this.locationCache[r.id];if(!n||!this.useCache){n=this.getLocation(r);this.locationCache[r.id]=n}if(!n){return false}r.cursorIsOver=n.contains(j);var k=this.dragCurrent;if(!k||!k.getTargetCoord||(!p&&!k.constrainX&&!k.constrainY)){return r.cursorIsOver}r.overlap=null;var m=k.getTargetCoord(j.x,j.y);var q=k.getDragEl();var o=Ext.create("Ext.util.Region",m.y,m.x+q.offsetWidth,m.y+q.offsetHeight,m.x);var l=o.intersect(n);if(l){r.overlap=l;return(p)?true:r.cursorIsOver}else{return false}},_onUnload:function(c,d){Ext.dd.DragDropManager.unregAll()},unregAll:function(){if(this.dragCurrent){this.stopDrag();this.dragCurrent=null}this._execOnAll("unreg",[]);for(var b in this.elementCache){delete this.elementCache[b]}this.elementCache={};this.ids={}},elementCache:{},getElWrapper:function(c){var d=this.elementCache[c];if(!d||!d.el){d=this.elementCache[c]=new this.ElementWrapper(Ext.getDom(c))}return d},getElement:function(b){return Ext.getDom(b)},getCss:function(c){var d=Ext.getDom(c);return(d)?d.style:null},ElementWrapper:function(b){this.el=b||null;this.id=this.el&&b.id;this.css=this.el&&b.style},getPosX:function(b){return Ext.Element.getX(b)},getPosY:function(b){return Ext.Element.getY(b)},swapNode:function(h,f){if(h.swapNode){h.swapNode(f)}else{var g=f.parentNode;var e=f.nextSibling;if(e==h){g.insertBefore(h,f)}else{if(f==h.nextSibling){g.insertBefore(f,h)}else{h.parentNode.replaceChild(f,h);g.insertBefore(h,e)}}}},getScroll:function(){var i=window.document,h=i.documentElement,g=i.body,j=0,f=0;if(Ext.isGecko4){j=window.scrollYOffset;f=window.scrollXOffset}else{if(h&&(h.scrollTop||h.scrollLeft)){j=h.scrollTop;f=h.scrollLeft}else{if(g){j=g.scrollTop;f=g.scrollLeft}}}return{top:j,left:f}},getStyle:function(c,d){return Ext.fly(c).getStyle(d)},getScrollTop:function(){return this.getScroll().top},getScrollLeft:function(){return this.getScroll().left},moveToEl:function(e,f){var d=Ext.Element.getXY(f);Ext.Element.setXY(e,d)},numericSort:function(a,b){return(a-b)},_timeoutCount:0,_addListeners:function(){if(document){this._onLoad()}else{if(this._timeoutCount>2000){}else{setTimeout(this._addListeners,10);if(document&&document.body){this._timeoutCount+=1}}}},handleWasClicked:function(e,f){if(this.isHandle(f,e.id)){return true}else{var d=e.parentNode;while(d){if(this.isHandle(f,d.id)){return true}else{d=d.parentNode}}}return false}},function(){this._addListeners()});Ext.define("Ext.layout.container.boxOverflow.Scroller",{extend:"Ext.layout.container.boxOverflow.None",requires:["Ext.util.ClickRepeater","Ext.Element"],alternateClassName:"Ext.layout.boxOverflow.Scroller",mixins:{observable:"Ext.util.Observable"},animateScroll:false,scrollIncrement:20,wheelIncrement:10,scrollRepeatInterval:60,scrollDuration:400,scrollerCls:Ext.baseCSSPrefix+"box-scroller",constructor:function(c,d){this.layout=c;Ext.apply(this,d||{});this.addEvents("scroll")},initCSSClasses:function(){var c=this,d=c.layout;if(!c.CSSinitialized){c.beforeCtCls=c.beforeCtCls||Ext.baseCSSPrefix+"box-scroller-"+d.parallelBefore;c.afterCtCls=c.afterCtCls||Ext.baseCSSPrefix+"box-scroller-"+d.parallelAfter;c.beforeScrollerCls=c.beforeScrollerCls||Ext.baseCSSPrefix+d.owner.getXType()+"-scroll-"+d.parallelBefore;c.afterScrollerCls=c.afterScrollerCls||Ext.baseCSSPrefix+d.owner.getXType()+"-scroll-"+d.parallelAfter;c.CSSinitializes=true}},handleOverflow:function(h,i){var j=this,k=j.layout,l="get"+k.parallelPrefixCap,g={};j.initCSSClasses();j.callParent(arguments);this.createInnerElements();this.showScrollers();g[k.perpendicularPrefix]=i[k.perpendicularPrefix];g[k.parallelPrefix]=i[k.parallelPrefix]-(j.beforeCt[l]()+j.afterCt[l]());return{targetSize:g}},createInnerElements:function(){var d=this,c=d.layout.getRenderTarget();if(!d.beforeCt){c.addCls(Ext.baseCSSPrefix+d.layout.direction+"-box-overflow-body");d.beforeCt=c.insertSibling({cls:Ext.layout.container.Box.prototype.innerCls+" "+d.beforeCtCls},"before");d.afterCt=c.insertSibling({cls:Ext.layout.container.Box.prototype.innerCls+" "+d.afterCtCls},"after");d.createWheelListener()}},createWheelListener:function(){this.layout.innerCt.on({scope:this,mousewheel:function(b){b.stopEvent();this.scrollBy(b.getWheelDelta()*this.wheelIncrement*-1,false)}})},clearOverflow:function(){this.hideScrollers()},showScrollers:function(){this.createScrollers();this.beforeScroller.show();this.afterScroller.show();this.updateScrollButtons();this.layout.owner.addClsWithUI("scroller")},hideScrollers:function(){if(this.beforeScroller!=undefined){this.beforeScroller.hide();this.afterScroller.hide();this.layout.owner.removeClsWithUI("scroller")}},createScrollers:function(){if(!this.beforeScroller&&!this.afterScroller){var d=this.beforeCt.createChild({cls:Ext.String.format("{0} {1} ",this.scrollerCls,this.beforeScrollerCls)});var c=this.afterCt.createChild({cls:Ext.String.format("{0} {1}",this.scrollerCls,this.afterScrollerCls)});d.addClsOnOver(this.beforeScrollerCls+"-hover");c.addClsOnOver(this.afterScrollerCls+"-hover");d.setVisibilityMode(Ext.Element.DISPLAY);c.setVisibilityMode(Ext.Element.DISPLAY);this.beforeRepeater=Ext.create("Ext.util.ClickRepeater",d,{interval:this.scrollRepeatInterval,handler:this.scrollLeft,scope:this});this.afterRepeater=Ext.create("Ext.util.ClickRepeater",c,{interval:this.scrollRepeatInterval,handler:this.scrollRight,scope:this});this.beforeScroller=d;this.afterScroller=c}},destroy:function(){Ext.destroy(this.beforeRepeater,this.afterRepeater,this.beforeScroller,this.afterScroller,this.beforeCt,this.afterCt)},scrollBy:function(c,d){this.scrollTo(this.getScrollPosition()+c,d)},getScrollAnim:function(){return{duration:this.scrollDuration,callback:this.updateScrollButtons,scope:this}},updateScrollButtons:function(){if(this.beforeScroller==undefined||this.afterScroller==undefined){return}var g=this.atExtremeBefore()?"addCls":"removeCls",h=this.atExtremeAfter()?"addCls":"removeCls",f=this.beforeScrollerCls+"-disabled",e=this.afterScrollerCls+"-disabled";this.beforeScroller[g](f);this.afterScroller[h](e);this.scrolling=false},atExtremeBefore:function(){return this.getScrollPosition()===0},scrollLeft:function(){this.scrollBy(-this.scrollIncrement,false)},scrollRight:function(){this.scrollBy(this.scrollIncrement,false)},getScrollPosition:function(){var b=this.layout;return parseInt(b.innerCt.dom["scroll"+b.parallelBeforeCap],10)||0},getMaxScrollPosition:function(){var b=this.layout;return b.innerCt.dom["scroll"+b.parallelPrefixCap]-this.layout.innerCt["get"+b.parallelPrefixCap]()},atExtremeAfter:function(){return this.getScrollPosition()>=this.getMaxScrollPosition()},scrollTo:function(h,g){var i=this,j=i.layout,k=i.getScrollPosition(),l=Ext.Number.constrain(h,0,i.getMaxScrollPosition());if(l!=k&&!i.scrolling){if(g==undefined){g=i.animateScroll}j.innerCt.scrollTo(j.parallelBefore,l,g?i.getScrollAnim():false);if(g){i.scrolling=true}else{i.scrolling=false;i.updateScrollButtons()}i.fireEvent("scroll",i,l,g?i.getScrollAnim():false)}},scrollToItem:function(j,h){var k=this,l=k.layout,i,m,n;j=k.getItem(j);if(j!=undefined){i=this.getItemVisibility(j);if(!i.fullyVisible){m=j.getBox(true,true);n=m[l.parallelPosition];if(i.hiddenEnd){n-=(this.layout.innerCt["get"+l.parallelPrefixCap]()-m[l.parallelPrefix])}this.scrollTo(n,h)}}},getItemVisibility:function(m){var n=this,o=n.getItem(m).getBox(true,true),p=n.layout,i=o[p.parallelPosition],l=i+o[p.parallelPrefix],k=n.getScrollPosition(),j=k+p.innerCt["get"+p.parallelPrefixCap]();return{hiddenStart:i<k,hiddenEnd:l>j,fullyVisible:i>k&&l<j}}});Ext.define("Ext.toolbar.Item",{extend:"Ext.Component",alias:"widget.tbitem",alternateClassName:"Ext.Toolbar.Item",enable:Ext.emptyFn,disable:Ext.emptyFn,focus:Ext.emptyFn});Ext.define("Ext.toolbar.TextItem",{extend:"Ext.toolbar.Item",requires:["Ext.XTemplate"],alias:"widget.tbtext",alternateClassName:"Ext.Toolbar.TextItem",text:"",renderTpl:"{text}",baseCls:Ext.baseCSSPrefix+"toolbar-text",onRender:function(){Ext.apply(this.renderData,{text:this.text});this.callParent(arguments)},setText:function(b){if(this.rendered){this.el.update(b);this.ownerCt.doLayout()}else{this.text=b}}});Ext.define("Ext.selection.Model",{extend:"Ext.util.Observable",alternateClassName:"Ext.AbstractSelectionModel",requires:["Ext.data.StoreManager"],allowDeselect:false,selected:null,pruneRemoved:true,constructor:function(d){var c=this;d=d||{};Ext.apply(c,d);c.addEvents("selectionchange");c.modes={SINGLE:true,SIMPLE:true,MULTI:true};c.setSelectionMode(d.mode||c.mode);c.selected=Ext.create("Ext.util.MixedCollection");c.callParent(arguments)},bind:function(e,d){var f=this;if(!d&&f.store){if(e!==f.store&&f.store.autoDestroy){f.store.destroyStore()}else{f.store.un("add",f.onStoreAdd,f);f.store.un("clear",f.onStoreClear,f);f.store.un("remove",f.onStoreRemove,f);f.store.un("update",f.onStoreUpdate,f)}}if(e){e=Ext.data.StoreManager.lookup(e);e.on({add:f.onStoreAdd,clear:f.onStoreClear,remove:f.onStoreRemove,update:f.onStoreUpdate,scope:f})}f.store=e;if(e&&!d){f.refresh()}},selectAll:function(g){var j=this,k=j.store.getRange(),l=0,h=k.length,i=j.getSelection().length;j.bulkChange=true;for(;l<h;l++){j.doSelect(k[l],true,g)}delete j.bulkChange;j.maybeFireSelectionChange(j.getSelection().length!==i)},deselectAll:function(g){var j=this,k=j.getSelection(),l=0,h=k.length,i=j.getSelection().length;j.bulkChange=true;for(;l<h;l++){j.doDeselect(k[l],g)}delete j.bulkChange;j.maybeFireSelectionChange(j.getSelection().length!==i)},selectWithEvent:function(f,g,h){var e=this;switch(e.selectionMode){case"MULTI":if(g.ctrlKey&&e.isSelected(f)){e.doDeselect(f,false)}else{if(g.shiftKey&&e.lastFocused){e.selectRange(e.lastFocused,f,g.ctrlKey)}else{if(g.ctrlKey){e.doSelect(f,true,false)}else{if(e.isSelected(f)&&!g.shiftKey&&!g.ctrlKey&&e.selected.getCount()>1){e.doSelect(f,h,false)}else{e.doSelect(f,false)}}}}break;case"SIMPLE":if(e.isSelected(f)){e.doDeselect(f)}else{e.doSelect(f,true)}break;case"SINGLE":if(e.allowDeselect&&e.isSelected(f)){e.doDeselect(f)}else{e.doSelect(f,false)}break}},selectRange:function(m,r,i,t){var o=this,n=o.store,s=0,p,q,v,u=[];if(o.isLocked()){return}if(!i){o.deselectAll(true)}if(!Ext.isNumber(m)){m=n.indexOf(m)}if(!Ext.isNumber(r)){r=n.indexOf(r)}if(m>r){q=r;r=m;m=q}for(p=m;p<=r;p++){if(o.isSelected(n.getAt(p))){s++}}if(!t){v=-1}else{v=(t=="up")?m:r}for(p=m;p<=r;p++){if(s==(r-m+1)){if(p!=v){o.doDeselect(p,true)}}else{u.push(n.getAt(p))}}o.doMultiSelect(u,true)},select:function(d,f,e){if(Ext.isDefined(d)){this.doSelect(d,f,e)}},deselect:function(c,d){this.doDeselect(c,d)},doSelect:function(j,h,f){var i=this,g;if(i.locked){return}if(typeof j==="number"){j=[i.store.getAt(j)]}if(i.selectionMode=="SINGLE"&&j){g=j.length?j[0]:j;i.doSingleSelect(g,f)}else{i.doMultiSelect(j,h,f)}},doMultiSelect:function(t,i,l){var n=this,s=n.selected,m=false,q=0,o,p;if(n.locked){return}t=!Ext.isArray(t)?[t]:t;o=t.length;if(!i&&s.getCount()>0){if(n.doDeselect(n.getSelection(),l)===false){return}}function r(){s.add(p);m=true}for(;q<o;q++){p=t[q];if(i&&n.isSelected(p)){continue}n.lastSelected=p;n.onSelectChange(p,true,l,r)}n.setLastFocused(p,l);n.maybeFireSelectionChange(m&&!l)},doDeselect:function(t,l){var m=this,s=m.selected,q=0,n,p,i=0,o=0;if(m.locked){return false}if(typeof t==="number"){t=[m.store.getAt(t)]}else{if(!Ext.isArray(t)){t=[t]}}function r(){++o;s.remove(p)}n=t.length;for(;q<n;q++){p=t[q];if(m.isSelected(p)){if(m.lastSelected==p){m.lastSelected=s.last()}++i;m.onSelectChange(p,false,l,r)}}m.maybeFireSelectionChange(o>0&&!l);return o===i},doSingleSelect:function(h,g){var k=this,i=false,l=k.selected;if(k.locked){return}if(k.isSelected(h)){return}function j(){k.bulkChange=true;if(l.getCount()>0&&k.doDeselect(k.lastSelected,g)===false){delete k.bulkChange;return false}delete k.bulkChange;l.add(h);k.lastSelected=h;i=true}k.onSelectChange(h,true,g,j);if(i){if(!g){k.setLastFocused(h)}k.maybeFireSelectionChange(!g)}},setLastFocused:function(h,e){var g=this,f=g.lastFocused;g.lastFocused=h;g.onLastFocusChanged(f,h,e)},isFocused:function(b){return b===this.getLastFocused()},maybeFireSelectionChange:function(d){var c=this;if(d&&!c.bulkChange){c.fireEvent("selectionchange",c,c.getSelection())}},getLastSelected:function(){return this.lastSelected},getLastFocused:function(){return this.lastFocused},getSelection:function(){return this.selected.getRange()},getSelectionMode:function(){return this.selectionMode},setSelectionMode:function(b){b=b?b.toUpperCase():"SINGLE";this.selectionMode=this.modes[b]?b:"SINGLE"},isLocked:function(){return this.locked},setLocked:function(b){this.locked=!!b},isSelected:function(b){b=Ext.isNumber(b)?this.store.getAt(b):b;return this.selected.indexOf(b)!==-1},hasSelection:function(){return this.selected.getCount()>0},refresh:function(){var l=this,i=[],m=l.getSelection(),j=m.length,n,k,o=0,p=this.getLastFocused();for(;o<j;o++){n=m[o];if(!this.pruneRemoved||l.store.indexOf(n)!==-1){i.push(n)}}if(l.selected.getCount()!=i.length){k=true}l.clearSelections();if(l.store.indexOf(p)!==-1){this.setLastFocused(p,true)}if(i.length){l.doSelect(i,false,true)}l.maybeFireSelectionChange(k)},clearSelections:function(){this.selected.clear();this.lastSelected=null;this.setLastFocused(null)},onStoreAdd:function(){},onStoreClear:function(){if(this.selected.getCount>0){this.clearSelections();this.maybeFireSelectionChange(true)}},onStoreRemove:function(e,f){var g=this,h=g.selected;if(g.locked||!g.pruneRemoved){return}if(h.remove(f)){if(g.lastSelected==f){g.lastSelected=null}if(g.getLastFocused()==f){g.setLastFocused(null)}g.maybeFireSelectionChange(true)}},getCount:function(){return this.selected.getCount()},destroy:function(){},onStoreUpdate:function(){},onSelectChange:function(e,f,d){},onLastFocusChanged:function(c,d){},onEditorKey:function(c,d){},bindComponent:function(b){}});Ext.define("Ext.selection.DataViewModel",{extend:"Ext.selection.Model",requires:["Ext.util.KeyNav"],deselectOnContainerClick:true,enableKeyNav:true,constructor:function(b){this.addEvents("beforedeselect","beforeselect","deselect","select");this.callParent(arguments)},bindComponent:function(e){var d=this,f={refresh:d.refresh,scope:d};d.view=e;d.bind(e.getStore());e.on(e.triggerEvent,d.onItemClick,d);e.on(e.triggerCtEvent,d.onContainerClick,d);e.on(f);if(d.enableKeyNav){d.initKeyNav(e)}},onItemClick:function(e,g,i,j,h){this.selectWithEvent(g,h)},onContainerClick:function(){if(this.deselectOnContainerClick){this.deselectAll()}},initKeyNav:function(d){var c=this;if(!d.rendered){d.on("render",Ext.Function.bind(c.initKeyNav,c,[d],0),c,{single:true});return}d.el.set({tabIndex:-1});c.keyNav=Ext.create("Ext.util.KeyNav",d.el,{down:Ext.pass(c.onNavKey,[1],c),right:Ext.pass(c.onNavKey,[1],c),left:Ext.pass(c.onNavKey,[-1],c),up:Ext.pass(c.onNavKey,[-1],c),scope:c})},onNavKey:function(i){i=i||1;var j=this,g=j.view,k=j.getSelection()[0],l=j.view.store.getCount(),h;if(k){h=g.indexOf(g.getNode(k))+i}else{h=0}if(h<0){h=l-1}else{if(h>=l){h=0}}j.select(h)},onSelectChange:function(h,l,m,j){var k=this,i=k.view,n=l?"select":"deselect";if((m||k.fireEvent("before"+n,k,h))!==false&&j()!==false){if(l){i.onItemSelect(h)}else{i.onItemDeselect(h)}if(!m){k.fireEvent(n,k,h)}}},destroy:function(){Ext.destroy(this.keyNav);this.callParent()}});Ext.define("Ext.view.AbstractView",{extend:"Ext.Component",alternateClassName:"Ext.view.AbstractView",requires:["Ext.LoadMask","Ext.data.StoreManager","Ext.CompositeElementLite","Ext.DomQuery","Ext.selection.DataViewModel"],inheritableStatics:{getRecord:function(b){return this.getBoundView(b).getRecord(b)},getBoundView:function(b){return Ext.getCmp(b.boundView)}},deferInitialRefresh:true,itemCls:Ext.baseCSSPrefix+"dataview-item",loadingText:"Loading...",loadMask:true,loadingUseMsg:true,selectedItemCls:Ext.baseCSSPrefix+"item-selected",emptyText:"",deferEmptyText:true,trackOver:false,blockRefresh:false,last:false,triggerEvent:"itemclick",triggerCtEvent:"containerclick",addCmpEvents:function(){},initComponent:function(){var h=this,f=Ext.isDefined,g=h.itemTpl,e={};if(g){if(Ext.isArray(g)){g=g.join("")}else{if(Ext.isObject(g)){e=Ext.apply(e,g.initialConfig);g=g.html}}if(!h.itemSelector){h.itemSelector="."+h.itemCls}g=Ext.String.format('<tpl for="."><div class="{0}">{1}</div></tpl>',h.itemCls,g);h.tpl=Ext.create("Ext.XTemplate",g,e)}if(!f(h.tpl)||!f(h.itemSelector)){Ext.Error.raise({sourceClass:"Ext.view.View",tpl:h.tpl,itemSelector:h.itemSelector,msg:"DataView requires both tpl and itemSelector configurations to be defined."})}h.callParent();if(Ext.isString(h.tpl)||Ext.isArray(h.tpl)){h.tpl=Ext.create("Ext.XTemplate",h.tpl)}if(f(h.overCls)||f(h.overClass)){if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn("Ext.view.View: Using the deprecated overCls or overClass configuration. Use overItemCls instead.")}h.overItemCls=h.overCls||h.overClass;delete h.overCls;delete h.overClass}if(h.overItemCls){h.trackOver=true}if(f(h.selectedCls)||f(h.selectedClass)){if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn("Ext.view.View: Using the deprecated selectedCls or selectedClass configuration. Use selectedItemCls instead.")}h.selectedItemCls=h.selectedCls||h.selectedClass;delete h.selectedCls;delete h.selectedClass}h.addEvents("beforerefresh","refresh","viewready","itemupdate","itemadd","itemremove");h.addCmpEvents();h.store=Ext.data.StoreManager.lookup(h.store||"ext-empty-store");h.all=new Ext.CompositeElementLite()},onRender:function(){var f=this,d=f.loadMask,e={msg:f.loadingText,msgCls:f.loadingCls,useMsg:f.loadingUseMsg};f.callParent(arguments);if(d){if(Ext.isObject(d)){e=Ext.apply(e,d)}f.loadMask=Ext.create("Ext.LoadMask",f,e);f.loadMask.on({scope:f,beforeshow:f.onMaskBeforeShow,hide:f.onMaskHide})}},onMaskBeforeShow:function(){var b=this.loadingHeight;this.getSelectionModel().deselectAll();if(b){this.setCalculatedSize(undefined,b)}},onMaskHide:function(){var b=this;if(!b.destroying&&b.loadingHeight){b.setHeight(b.height)}},afterRender:function(){this.callParent(arguments);this.getSelectionModel().bindComponent(this)},getSelectionModel:function(){var d=this,c="SINGLE";if(!d.selModel){d.selModel={}}if(d.simpleSelect){c="SIMPLE"}else{if(d.multiSelect){c="MULTI"}}Ext.applyIf(d.selModel,{allowDeselect:d.allowDeselect,mode:c});if(!d.selModel.events){d.selModel=Ext.create("Ext.selection.DataViewModel",d.selModel)}if(!d.selModel.hasRelaySetup){d.relayEvents(d.selModel,["selectionchange","beforeselect","beforedeselect","select","deselect"]);d.selModel.hasRelaySetup=true}if(d.disableSelection){d.selModel.locked=true}return d.selModel},refresh:function(){var f=this,d,e;if(!f.rendered||f.isDestroyed){return}f.fireEvent("beforerefresh",f);d=f.getTargetEl();e=f.store.getRange();d.update("");if(e.length<1){if(!f.deferEmptyText||f.hasSkippedEmptyText){d.update(f.emptyText)}f.all.clear()}else{f.tpl.overwrite(d,f.collectData(e,0));f.all.fill(Ext.query(f.getItemSelector(),d.dom));f.updateIndexes(0)}f.selModel.refresh();f.hasSkippedEmptyText=true;f.fireEvent("refresh",f);if(!f.viewReady){f.viewReady=true;f.fireEvent("viewready",f)}},prepareData:function(f,d,e){if(e){Ext.apply(f,e.getAssociatedData())}return f},collectData:function(l,i){var j=[],k=0,h=l.length,g;for(;k<h;k++){g=l[k];j[j.length]=this.prepareData(g[g.persistenceProperty],i+k,g)}return j},bufferRender:function(e,d){var f=document.createElement("div");this.tpl.overwrite(f,this.collectData(e,d));return Ext.query(this.getItemSelector(),f)},onUpdate:function(h,g){var i=this,f=i.store.indexOf(g),j;if(f>-1){j=i.bufferRender([g],f)[0];if(i.getNode(g)){i.all.replaceElement(f,j,true);i.updateIndexes(f,f);i.selModel.refresh();i.fireEvent("itemupdate",g,f,j)}}},onAdd:function(h,f,j){var i=this,g;if(i.all.getCount()===0){i.refresh();return}g=i.bufferRender(f,j);i.doAdd(g,f,j);i.selModel.refresh();i.updateIndexes(j);i.fireEvent("itemadd",f,j,g)},doAdd:function(e,f,h){var g=this.all;if(h<g.getCount()){g.item(h).insertSibling(e,"before",true)}else{g.last().insertSibling(e,"after",true)}Ext.Array.insert(g.elements,h,e)},onRemove:function(g,f,e){var h=this;h.doRemove(f,e);h.updateIndexes(e);if(h.store.getCount()===0){h.refresh()}h.fireEvent("itemremove",f,e)},doRemove:function(d,c){this.all.removeElement(c,true)},refreshNode:function(b){this.onUpdate(this.store,this.store.getAt(b))},updateIndexes:function(h,i){var j=this.all.elements,g=this.store.getRange(),f;h=h||0;i=i||((i===0)?0:(j.length-1));for(f=h;f<=i;f++){j[f].viewIndex=f;j[f].viewRecordId=g[f].internalId;if(!j[f].boundView){j[f].boundView=this.id}}},getStore:function(){return this.store},bindStore:function(f,e){var g=this,h;if(!e&&g.store){if(f!==g.store&&g.store.autoDestroy){g.store.destroyStore()}else{g.mun(g.store,{scope:g,datachanged:g.onDataChanged,add:g.onAdd,remove:g.onRemove,update:g.onUpdate,clear:g.refresh})}if(!f){if(g.loadMask&&g.loadMask.bindStore){g.loadMask.bindStore(null)}g.store=null}}if(f){f=Ext.data.StoreManager.lookup(f);g.mon(f,{scope:g,datachanged:g.onDataChanged,add:g.onAdd,remove:g.onRemove,update:g.onUpdate,clear:g.refresh});if(g.loadMask&&g.loadMask.bindStore){if(Ext.Array.contains(f.alias,"store.node")){h=this.ownerCt.store}else{h=f}g.loadMask.bindStore(h)}}g.viewReady=false;g.store=f;g.getSelectionModel().bind(f);if(f){if(e&&g.deferInitialRefresh){Ext.Function.defer(function(){if(!g.isDestroyed){g.refresh(true)}},1)}else{g.refresh(true)}}},onDataChanged:function(){if(this.blockRefresh!==true){this.refresh.apply(this,arguments)}},findItemByChild:function(b){return Ext.fly(b).findParent(this.getItemSelector(),this.getTargetEl())},findTargetByEvent:function(b){return b.getTarget(this.getItemSelector(),this.getTargetEl())},getSelectedNodes:function(){var e=[],f=this.selModel.getSelection(),g=f.length,h=0;for(;h<g;h++){e.push(this.getNode(f[h]))}return e},getRecords:function(j){var f=[],i=0,g=j.length,h=this.store.data;for(;i<g;i++){f[f.length]=h.getByKey(j[i].viewRecordId)}return f},getRecord:function(b){return this.store.data.getByKey(Ext.getDom(b).viewRecordId)},isSelected:function(c){var d=this.getRecord(c);return this.selModel.isSelected(d)},select:function(d,f,e){this.selModel.select(d,f,e)},deselect:function(c,d){this.selModel.deselect(c,d)},getNode:function(b){if(!this.rendered){return null}if(Ext.isString(b)){return document.getElementById(b)}if(Ext.isNumber(b)){return this.all.elements[b]}if(b instanceof Ext.data.Model){return this.getNodeByRecord(b)}return b},getNodeByRecord:function(f){var h=this.all.elements,g=h.length,e=0;for(;e<g;e++){if(h[e].viewRecordId===f.internalId){return h[e]}}return null},getNodes:function(h,g){var i=this.all.elements,f=[],j;h=h||0;g=!Ext.isDefined(g)?Math.max(i.length-1,0):g;if(h<=g){for(j=h;j<=g&&i[j];j++){f.push(i[j])}}else{for(j=h;j>=g&&i[j];j--){f.push(i[j])}}return f},indexOf:function(b){b=this.getNode(b);if(Ext.isNumber(b.viewIndex)){return b.viewIndex}return this.all.indexOf(b)},onDestroy:function(){var b=this;b.all.clear();b.callParent();b.bindStore(null);b.selModel.destroy()},onItemSelect:function(d){var c=this.getNode(d);if(c){Ext.fly(c).addCls(this.selectedItemCls)}},onItemDeselect:function(d){var c=this.getNode(d);if(c){Ext.fly(c).removeCls(this.selectedItemCls)}},getItemSelector:function(){return this.itemSelector}},function(){Ext.deprecate("extjs","4.0",function(){Ext.view.AbstractView.override({getSelectionCount:function(){if(Ext.global.console){Ext.global.console.warn("DataView: getSelectionCount will be removed, please interact with the Ext.selection.DataViewModel")}return this.selModel.getSelection().length},getSelectedRecords:function(){if(Ext.global.console){Ext.global.console.warn("DataView: getSelectedRecords will be removed, please interact with the Ext.selection.DataViewModel")}return this.selModel.getSelection()},select:function(f,e,g){if(Ext.global.console){Ext.global.console.warn("DataView: select will be removed, please access select through a DataView's SelectionModel, ie: view.getSelectionModel().select()")}var h=this.getSelectionModel();return h.select.apply(h,arguments)},clearSelections:function(){if(Ext.global.console){Ext.global.console.warn("DataView: clearSelections will be removed, please access deselectAll through DataView's SelectionModel, ie: view.getSelectionModel().deselectAll()")}var b=this.getSelectionModel();return b.deselectAll()}})})});Ext.define("Ext.view.View",{extend:"Ext.view.AbstractView",alternateClassName:"Ext.DataView",alias:"widget.dataview",inheritableStatics:{EventMap:{mousedown:"MouseDown",mouseup:"MouseUp",click:"Click",dblclick:"DblClick",contextmenu:"ContextMenu",mouseover:"MouseOver",mouseout:"MouseOut",mouseenter:"MouseEnter",mouseleave:"MouseLeave",keydown:"KeyDown",focus:"Focus"}},addCmpEvents:function(){this.addEvents("beforeitemmousedown","beforeitemmouseup","beforeitemmouseenter","beforeitemmouseleave","beforeitemclick","beforeitemdblclick","beforeitemcontextmenu","beforeitemkeydown","itemmousedown","itemmouseup","itemmouseenter","itemmouseleave","itemclick","itemdblclick","itemcontextmenu","itemkeydown","beforecontainermousedown","beforecontainermouseup","beforecontainermouseover","beforecontainermouseout","beforecontainerclick","beforecontainerdblclick","beforecontainercontextmenu","beforecontainerkeydown","containermouseup","containermouseover","containermouseout","containerclick","containerdblclick","containercontextmenu","containerkeydown","selectionchange","beforeselect")},afterRender:function(){var c=this,d;c.callParent();d={scope:c,freezeEvent:true,click:c.handleEvent,mousedown:c.handleEvent,mouseup:c.handleEvent,dblclick:c.handleEvent,contextmenu:c.handleEvent,mouseover:c.handleEvent,mouseout:c.handleEvent,keydown:c.handleEvent};c.mon(c.getTargetEl(),d);if(c.store){c.bindStore(c.store,true)}},handleEvent:function(b){if(this.processUIEvent(b)!==false){this.processSpecialEvent(b)}},processItemEvent:Ext.emptyFn,processContainerEvent:Ext.emptyFn,processSpecialEvent:Ext.emptyFn,stillOverItem:function(d,e){var f;if(e&&typeof(e.offsetParent)==="object"){f=(d.type=="mouseout")?d.getRelatedTarget():d.getTarget();return Ext.fly(e).contains(f)}return false},processUIEvent:function(m){var l=this,e=m.getTarget(l.getItemSelector(),l.getTargetEl()),r=this.statics().EventMap,n,p,k=m.type,o=l.mouseOverItem,q;if(!e){if(k=="mouseover"&&l.stillOverItem(m,o)){e=o}if(k=="keydown"){p=l.getSelectionModel().getLastSelected();if(p){e=l.getNode(p)}}}if(e){n=l.indexOf(e);if(!p){p=l.getRecord(e)}if(l.processItemEvent(p,e,n,m)===false){return false}q=l.isNewItemEvent(e,m);if(q===false){return false}if((l["onBeforeItem"+r[q]](p,e,n,m)===false)||(l.fireEvent("beforeitem"+q,l,p,e,n,m)===false)||(l["onItem"+r[q]](p,e,n,m)===false)){return false}l.fireEvent("item"+q,l,p,e,n,m)}else{if((l.processContainerEvent(m)===false)||(l["onBeforeContainer"+r[k]](m)===false)||(l.fireEvent("beforecontainer"+k,l,m)===false)||(l["onContainer"+r[k]](m)===false)){return false}l.fireEvent("container"+k,l,m)}return true},isNewItemEvent:function(i,h){var j=this,g=j.mouseOverItem,e=h.type;switch(e){case"mouseover":if(i===g){return false}j.mouseOverItem=i;return"mouseenter";case"mouseout":if(j.stillOverItem(h,g)){return false}j.mouseOverItem=null;return"mouseleave"}return e},onItemMouseEnter:function(f,h,e,g){if(this.trackOver){this.highlightItem(h)}},onItemMouseLeave:function(f,h,e,g){if(this.trackOver){this.clearHighlight()}},onItemMouseDown:Ext.emptyFn,onItemMouseUp:Ext.emptyFn,onItemFocus:Ext.emptyFn,onItemClick:Ext.emptyFn,onItemDblClick:Ext.emptyFn,onItemContextMenu:Ext.emptyFn,onItemKeyDown:Ext.emptyFn,onBeforeItemMouseDown:Ext.emptyFn,onBeforeItemMouseUp:Ext.emptyFn,onBeforeItemFocus:Ext.emptyFn,onBeforeItemMouseEnter:Ext.emptyFn,onBeforeItemMouseLeave:Ext.emptyFn,onBeforeItemClick:Ext.emptyFn,onBeforeItemDblClick:Ext.emptyFn,onBeforeItemContextMenu:Ext.emptyFn,onBeforeItemKeyDown:Ext.emptyFn,onContainerMouseDown:Ext.emptyFn,onContainerMouseUp:Ext.emptyFn,onContainerMouseOver:Ext.emptyFn,onContainerMouseOut:Ext.emptyFn,onContainerClick:Ext.emptyFn,onContainerDblClick:Ext.emptyFn,onContainerContextMenu:Ext.emptyFn,onContainerKeyDown:Ext.emptyFn,onBeforeContainerMouseDown:Ext.emptyFn,onBeforeContainerMouseUp:Ext.emptyFn,onBeforeContainerMouseOver:Ext.emptyFn,onBeforeContainerMouseOut:Ext.emptyFn,onBeforeContainerClick:Ext.emptyFn,onBeforeContainerDblClick:Ext.emptyFn,onBeforeContainerContextMenu:Ext.emptyFn,onBeforeContainerKeyDown:Ext.emptyFn,highlightItem:function(c){var d=this;d.clearHighlight();d.highlightedItem=c;Ext.fly(c).addCls(d.overItemCls)},clearHighlight:function(){var c=this,d=c.highlightedItem;if(d){Ext.fly(d).removeCls(c.overItemCls);delete c.highlightedItem}},refresh:function(){var b=this;b.clearHighlight();b.callParent(arguments);if(!b.isFixedHeight()){b.doComponentLayout()}}});Ext.define("Docs.view.ThumbList",{extend:"Ext.view.View",alias:"widget.thumblist",cls:"demos",itemSelector:"dl",urlField:"url",itemTpl:[],initComponent:function(){this.addEvents("urlclick");Ext.Array.forEach(this.data,function(c,d){c.id="sample-"+d});this.store=Ext.create("Ext.data.JsonStore",{fields:["id","title","items"],data:this.data});this.tpl=new Ext.XTemplate(Ext.Array.flatten(['<div id="sample-ct">','<tpl for=".">','<div><a name="{id}"></a><h2><div>{title}</div></h2>',"<dl>",'<tpl for="items">',this.itemTpl,"</tpl>",'<div style="clear:left"></div></dl></div>',"</tpl>","</div>"]));this.itemTpl=undefined;this.on({afterrender:function(b){b.el.addListener("mouseover",function(a,d){Ext.get(d).addCls("over")},this,{delegate:"dd"});b.el.addListener("mouseout",function(a,d){Ext.get(d).removeCls("over")},this,{delegate:"dd"})}});this.callParent(arguments)},onContainerClick:function(c){var d=c.getTarget("h2",3,true);if(d){d.up("div").toggleCls("collapsed")}},onItemClick:function(h,j,l,i){var k=i.getTarget("dd",5,true);if(k&&!i.getTarget("a",2)){var e=k.getAttributeNS("ext",this.urlField);this.fireEvent("urlclick",e)}return this.callParent(arguments)}});Ext.define("Docs.view.guides.Index",{extend:"Ext.container.Container",alias:"widget.guideindex",requires:["Docs.view.ThumbList"],cls:"all-demos iScroll",margin:"10 0 0 0",autoScroll:true,initComponent:function(){this.items=[{xtype:"container",html:'<h1 class="eg">Guides</h1>'},Ext.create("Docs.view.ThumbList",{itemTpl:['<dd ext:url="#!/guide/{name}"><div class="thumb"><img src="guides/{name}/icon-lg.png"/></div>',"<div><h4>{title}</h4><p>{description}</p></div>","</dd>"],data:Docs.data.guides})];this.callParent(arguments)},getTab:function(){return Docs.data.guides.length>0?{cls:"guides",href:"#!/guide",tooltip:"Guides"}:false}});Ext.define("Docs.view.videos.Index",{extend:"Ext.container.Container",alias:"widget.videoindex",requires:["Docs.view.ThumbList"],cls:"all-demos iScroll",margin:"10 0 0 0",autoScroll:true,initComponent:function(){this.items=[{xtype:"container",html:'<h1 class="eg">Videos</h1>'},Ext.create("Docs.view.ThumbList",{itemTpl:['<dd ext:url="#!/video/{id}"><div class="thumb"><img src="{thumb}"/></div>',"<div><h4>{title}","</h4><p>{[values.description.substr(0,80)]}...</p></div>","</dd>"],data:Docs.data.videos})];this.callParent(arguments)},getTab:function(){return Docs.data.videos.length>0?{cls:"videos",href:"#!/video",tooltip:"Videos"}:false}});Ext.define("Docs.view.examples.Index",{extend:"Ext.container.Container",alias:"widget.exampleindex",requires:["Docs.view.ThumbList"],cls:"all-demos iScroll",margin:"10 0 0 0",autoScroll:true,initComponent:function(){this.cls+=Docs.touchExamplesUi?" touch-examples-ui":"";var f=Docs.exampleBaseUrl||"touch/examples",e=Docs.exampleBaseUrl||"extjs/examples/",d=Docs.touchExamplesUi?f:(e+"shared/screens");this.items=[{xtype:"container",html:'<h1 class="eg">Examples</h1>'},Ext.create("Docs.view.ThumbList",{itemTpl:['<dd ext:url="#!/example/{url}">','<div class="thumb"><img src="'+d+'/{icon}"/></div>',"<div><h4>{text}","<tpl if=\"status === 'new'\">",'<span class="new-sample"> (New)</span>',"</tpl>","<tpl if=\"status === 'updated'\">",'<span class="updated-sample"> (Updated)</span>',"</tpl>","<tpl if=\"status === 'experimental'\">",'<span class="new-sample"> (Experimental)</span>',"</tpl>","</h4><p>{desc}</p></div>","</dd>"],data:Docs.data.examples})];this.callParent(arguments)},getTab:function(){return Docs.data.examples.length>0?{cls:"examples",href:"#!/example",tooltip:"Examples"}:false}});Ext.define("Docs.view.HoverMenu",{extend:"Ext.view.View",componentCls:"hover-menu",itemSelector:"div.item",deferEmptyText:false,columnHeight:25,showCloseButtons:false,initComponent:function(){this.renderTo=Ext.getBody();this.tpl=new Ext.XTemplate("<table>","<tr>","<td>",'<tpl for=".">','<div class="item">',"{[this.renderLink(values)]}",'<tpl if="this.showCloseButtons">','<a class="close" href="#" rel="{cls}">x</a>',"</tpl>","</div>",'<tpl if="xindex % this.columnHeight === 0 && xcount > xindex">',"</td><td>","</tpl>","</tpl>","</td>","</tr>","</table>",{columnHeight:this.columnHeight,showCloseButtons:this.showCloseButtons,renderLink:function(f){var g=f.url||f.cls;var h=f.label||f.cls;var e=Ext.Array.map(["static","protected","deprecated","template","required"],function(a){return f[a]?'<span class="'+a+'">'+a+"</span>":""}).join(" ");return Ext.String.format('<a href="#!/api/{0}" rel="{0}" class="docClass">{1} {2}</a>',g,h,e)}});this.callParent()}});Ext.define("Docs.view.HoverMenuButton",{extend:"Ext.toolbar.TextItem",alias:"widget.hovermenubutton",componentCls:"hover-menu-button",requires:["Docs.view.HoverMenu"],menuCfg:{},showCount:false,statics:{menus:[]},initComponent:function(){this.addEvents("click","closeclick");if(this.showCount){this.initialText=this.text;this.text+=" <sup>"+this.store.getCount()+"</sup>";this.store.on("datachanged",function(){this.setText(this.initialText+" <sup>"+this.store.getCount()+"</sup>")},this)}this.menu=Ext.create("Docs.view.HoverMenu",Ext.apply({store:this.store},this.menuCfg));this.callParent(arguments)},onRender:function(){this.callParent(arguments);this.renderMenu();this.getEl().on({click:function(){this.fireEvent("click")},mouseover:function(){Ext.Array.forEach(Docs.view.HoverMenuButton.menus,function(a){if(a!==this.menu){a.hide()}});clearTimeout(this.hideTimeout);this.menu.show();var j=this.getEl().getXY(),n=Ext.ComponentQuery.query("classoverview toolbar")[0],k=j[0]-10,l=n.getEl().getXY(),i=n.getWidth(),m=this.menu.getEl().getWidth(),h=Ext.getCmp("doctabs").getWidth();if(m>h){k=0}else{if((k+m)>h){k=h-m-30}}if(k<l[0]){k=l[0]}this.menu.getEl().setStyle({left:k+"px",top:(j[1]+25)+"px"})},mouseout:this.deferHideMenu,scope:this});this.menu.getEl().on({mouseover:function(){clearTimeout(this.hideTimeout)},mouseout:this.deferHideMenu,scope:this})},onDestroy:function(){this.menu.destroy();Ext.Array.remove(Docs.view.HoverMenuButton.menus,this.menu);this.callParent(arguments)},renderMenu:function(){this.menu.getEl().setVisibilityMode(Ext.core.Element.DISPLAY);this.menu.hide();this.menu.getEl().addListener("click",function(b){if(b.getTarget(".close")){this.fireEvent("closeclick",b.getTarget().rel)}else{this.menu.hide()}b.preventDefault()},this);Docs.view.HoverMenuButton.menus.push(this.menu)},deferHideMenu:function(){this.hideTimeout=Ext.Function.defer(function(){this.menu.hide()},200,this)},getStore:function(){return this.store}});Ext.define("Ext.view.Table",{extend:"Ext.view.View",alias:"widget.tableview",uses:["Ext.view.TableChunker","Ext.util.DelayedTask","Ext.util.MixedCollection"],baseCls:Ext.baseCSSPrefix+"grid-view",itemSelector:"."+Ext.baseCSSPrefix+"grid-row",cellSelector:"."+Ext.baseCSSPrefix+"grid-cell",selectedItemCls:Ext.baseCSSPrefix+"grid-row-selected",selectedCellCls:Ext.baseCSSPrefix+"grid-cell-selected",focusedItemCls:Ext.baseCSSPrefix+"grid-row-focused",overItemCls:Ext.baseCSSPrefix+"grid-row-over",altRowCls:Ext.baseCSSPrefix+"grid-row-alt",rowClsRe:/(?:^|\s*)grid-row-(first|last|alt)(?:\s+|$)/g,cellRe:new RegExp("x-grid-cell-([^\\s]+) ",""),trackOver:true,getRowClass:null,initComponent:function(){var b=this;b.scrollState={};b.selModel.view=b;b.headerCt.view=b;b.initFeatures();b.tpl="<div></div>";b.callParent();b.mon(b.store,{load:b.onStoreLoad,scope:b})},onStoreLoad:function(){var b=this;if(b.invalidateScrollerOnRefresh){if(Ext.isGecko){if(!b.scrollToTopTask){b.scrollToTopTask=Ext.create("Ext.util.DelayedTask",b.scrollToTop,b)}b.scrollToTopTask.delay(1)}else{b.scrollToTop()}}},scrollToTop:Ext.emptyFn,addElListener:function(e,f,d){this.mon(this,e,f,d,{element:"el"})},getGridColumns:function(){return this.headerCt.getGridColumns()},getHeaderAtIndex:function(b){return this.headerCt.getHeaderAtIndex(b)},getCell:function(e,d){var f=this.getNode(e);return Ext.fly(f).down(d.getCellSelector())},getFeature:function(c){var d=this.featuresMC;if(d){return d.get(c)}},initFeatures:function(){var g=this,e=0,h,f;g.features=g.features||[];h=g.features;f=h.length;g.featuresMC=Ext.create("Ext.util.MixedCollection");for(;e<f;e++){if(!h[e].isFeature){h[e]=Ext.create("feature."+h[e].ftype,h[e])}h[e].view=g;g.featuresMC.add(h[e])}},attachEventsForFeatures:function(){var d=this.features,f=d.length,e=0;for(;e<f;e++){if(d[e].isFeature){d[e].attachEvents()}}},afterRender:function(){var b=this;b.callParent();b.mon(b.el,{scroll:b.fireBodyScroll,scope:b});b.el.unselectable();b.attachEventsForFeatures()},fireBodyScroll:function(c,d){this.fireEvent("bodyscroll",c,d)},prepareData:function(r,l,p){var n=this,m=n.headerCt.prepareData(r,l,p,n,n.ownerCt),t=n.features,o=t.length,q=0,s,i;for(;q<o;q++){i=t[q];if(i.isFeature){Ext.apply(m,i.getAdditionalData(r,l,p,m,n))}}return m},collectData:function(w,o){var j=this.callParent(arguments),x=this.headerCt,q=x.getFullWidth(),y=this.features,s=y.length,z={rows:j,fullWidth:q},u=0,i,v=0,r,t;r=j.length;if(this.getRowClass){for(;v<r;v++){t={};j[v]["rowCls"]=this.getRowClass(w[v],v,t,this.store);if(t.alt){Ext.Error.raise("The getRowClass alt property is no longer supported.")}if(t.tstyle){Ext.Error.raise("The getRowClass tstyle property is no longer supported.")}if(t.cells){Ext.Error.raise("The getRowClass cells property is no longer supported.")}if(t.body){Ext.Error.raise("The getRowClass body property is no longer supported. Use the getAdditionalData method of the rowbody feature.")}if(t.bodyStyle){Ext.Error.raise("The getRowClass bodyStyle property is no longer supported.")}if(t.cols){Ext.Error.raise("The getRowClass cols property is no longer supported.")}}}for(;u<s;u++){i=y[u];if(i.isFeature&&i.collectData&&!i.disabled){z=i.collectData(w,j,o,q,z);break}}return z},onHeaderResize:function(h,g,i){var j=this,f=j.el;if(f){j.saveScrollState();if(Ext.isIE6||Ext.isIE7){if(h.el.hasCls(Ext.baseCSSPrefix+"column-header-first")){g+=1}}f.select("."+Ext.baseCSSPrefix+"grid-col-resizer-"+h.id).setWidth(g);f.select("."+Ext.baseCSSPrefix+"grid-table-resizer").setWidth(j.headerCt.getFullWidth());j.restoreScrollState();if(!j.ignoreTemplate){j.setNewTemplate()}if(!i){j.el.focus()}}},onHeaderShow:function(h,g,e){var f=this;f.ignoreTemplate=true;if(g.oldWidth){f.onHeaderResize(g,g.oldWidth,e);delete g.oldWidth}else{if(g.width&&!g.flex){f.onHeaderResize(g,g.width,e)}}delete f.ignoreTemplate;f.setNewTemplate()},onHeaderHide:function(d,f,e){this.onHeaderResize(f,0,e)},setNewTemplate:function(){var c=this,d=c.headerCt.getColumnsForTpl(true);c.tpl=c.getTableChunker().getTableTpl({columns:d,features:c.features})},getTableChunker:function(){return this.chunker||Ext.view.TableChunker},addRowCls:function(d,e){var f=this.getNode(d);if(f){Ext.fly(f).addCls(e)}},removeRowCls:function(d,e){var f=this.getNode(d);if(f){Ext.fly(f).removeCls(e)}},onRowSelect:function(b){this.addRowCls(b,this.selectedItemCls)},onRowDeselect:function(c){var d=this;d.removeRowCls(c,d.selectedItemCls);d.removeRowCls(c,d.focusedItemCls)},onCellSelect:function(c){var d=this.getCellByPosition(c);if(d){d.addCls(this.selectedCellCls)}},onCellDeselect:function(c){var d=this.getCellByPosition(c);if(d){d.removeCls(this.selectedCellCls)}},onCellFocus:function(b){this.focusCell(b)},getCellByPosition:function(i){var l=i.row,n=i.column,o=this.store,m=this.getNode(l),k=this.headerCt.getHeaderAtIndex(n),p,j=false;if(k&&m){p=k.getCellSelector();j=Ext.fly(m).down(p)}return j},onRowFocus:function(i,f,g){var j=this,h=j.getNode(i);if(f){j.addRowCls(i,j.focusedItemCls);if(!g){j.focusRow(i)}}else{j.removeRowCls(i,j.focusedItemCls)}},focusRow:function(q){var m=this,j=m.getNode(q),p=m.el,l=0,r=m.ownerCt,k,o,n;if(j&&p){o=p.getRegion();k=Ext.fly(j).getRegion();if(k.top<o.top){l=k.top-o.top}else{if(k.bottom>o.bottom){l=k.bottom-o.bottom}}n=m.getRecord(j);q=m.store.indexOf(n);if(l){r.scrollByDeltaY(l)}m.fireEvent("rowfocus",n,j,q)}},focusCell:function(n){var l=this,k=l.getCellByPosition(n),s=l.el,q=0,p=0,r=s.getRegion(),t=l.ownerCt,m,o;if(k){m=k.getRegion();if(m.top<r.top){q=m.top-r.top}else{if(m.bottom>r.bottom){q=m.bottom-r.bottom}}if(m.left<r.left){p=m.left-r.left}else{if(m.right>r.right){p=m.right-r.right}}if(q){t.scrollByDeltaY(q)}if(p){t.scrollByDeltaX(p)}s.focus();l.fireEvent("cellfocus",o,k,n)}},scrollByDelta:function(f,d){d=d||"scrollTop";var e=this.el.dom;e[d]=(e[d]+=f)},onUpdate:function(c,d){this.callParent(arguments)},saveScrollState:function(){if(this.rendered){var c=this.el.dom,d=this.scrollState;d.left=c.scrollLeft;d.top=c.scrollTop}},restoreScrollState:function(){if(this.rendered){var d=this.el.dom,e=this.scrollState,f=this.headerCt.el.dom;f.scrollLeft=d.scrollLeft=e.left;d.scrollTop=e.top}},refresh:function(){this.setNewTemplate();this.callParent(arguments)},processItemEvent:function(u,e,o,s){var q=this,n=s.getTarget(q.cellSelector,e),p=n?n.cellIndex:-1,v=q.statics().EventMap,t=q.getSelectionModel(),r=s.type,m;if(r=="keydown"&&!n&&t.getCurrentPosition){n=q.getCellByPosition(t.getCurrentPosition());if(n){n=n.dom;p=n.cellIndex}}m=q.fireEvent("uievent",r,q,n,o,p,s);if(m===false||q.callParent(arguments)===false){return false}if(r=="mouseover"||r=="mouseout"){return true}return !((q["onBeforeCell"+v[r]](n,p,u,e,o,s)===false)||(q.fireEvent("beforecell"+r,q,n,p,u,e,o,s)===false)||(q["onCell"+v[r]](n,p,u,e,o,s)===false)||(q.fireEvent("cell"+r,q,n,p,u,e,o,s)===false))},processSpecialEvent:function(s){var p=this,y=p.statics().EventMap,w=p.features,q=w.length,i=s.type,v,e,u,t,x,r,z=p.ownerCt;p.callParent(arguments);if(i=="mouseover"||i=="mouseout"){return}for(v=0;v<q;v++){e=w[v];if(e.hasFeatureEvent){t=s.getTarget(e.eventSelector,p.getTargetEl());if(t){u=e.eventPrefix;x=e.getFireEventArgs("before"+u+i,p,t,s);r=e.getFireEventArgs(u+i,p,t,s);if((p.fireEvent.apply(p,x)===false)||(z.fireEvent.apply(z,x)===false)||(p.fireEvent.apply(p,r)===false)||(z.fireEvent.apply(z,r)===false)){return false}}}}return true},onCellMouseDown:Ext.emptyFn,onCellMouseUp:Ext.emptyFn,onCellClick:Ext.emptyFn,onCellDblClick:Ext.emptyFn,onCellContextMenu:Ext.emptyFn,onCellKeyDown:Ext.emptyFn,onBeforeCellMouseDown:Ext.emptyFn,onBeforeCellMouseUp:Ext.emptyFn,onBeforeCellClick:Ext.emptyFn,onBeforeCellDblClick:Ext.emptyFn,onBeforeCellContextMenu:Ext.emptyFn,onBeforeCellKeyDown:Ext.emptyFn,expandToFit:function(c){if(c){var d=this.getMaxContentWidth(c);delete c.flex;c.setWidth(d)}},getMaxContentWidth:function(j){var i=j.getCellInnerSelector(),n=this.el.query(i),m=0,k=n.length,l=j.el.dom.scrollWidth,h;for(;m<k;m++){h=n[m].scrollWidth;if(h>l){l=h}}return l},getPositionByEvent:function(j){var k=this,e=j.getTarget(k.cellSelector),l=j.getTarget(k.itemSelector),h=k.getRecord(l),i=k.getHeaderByCell(e);return k.getPosition(h,i)},getHeaderByCell:function(c){if(c){var d=c.className.match(this.cellRe);if(d&&d[1]){return Ext.getCmp(d[1])}}return false},walkCells:function(s,r,w,q,B,p){var u=this,e=s.row,y=s.column,t=u.store.getCount(),x=u.getFirstVisibleColumnIndex(),A=u.getLastVisibleColumnIndex(),v={row:e,column:y},z=u.headerCt.getHeaderAtIndex(y);if(!z||z.hidden){return false}w=w||{};r=r.toLowerCase();switch(r){case"right":if(y===A){if(q||e===t-1){return false}if(!w.ctrlKey){v.row=e+1;v.column=x}}else{if(!w.ctrlKey){v.column=y+u.getRightGap(z)}else{v.column=A}}break;case"left":if(y===x){if(q||e===0){return false}if(!w.ctrlKey){v.row=e-1;v.column=A}}else{if(!w.ctrlKey){v.column=y+u.getLeftGap(z)}else{v.column=x}}break;case"up":if(e===0){return false}else{if(!w.ctrlKey){v.row=e-1}else{v.row=0}}break;case"down":if(e===t-1){return false}else{if(!w.ctrlKey){v.row=e+1}else{v.row=t-1}}break}if(B&&B.call(p||window,v)!==true){return false}else{return v}},getFirstVisibleColumnIndex:function(){var h=this.getHeaderCt(),f=h.getGridColumns(),g=Ext.ComponentQuery.query(":not([hidden])",f),e=g[0];return h.getHeaderIndex(e)},getLastVisibleColumnIndex:function(){var h=this.getHeaderCt(),f=h.getGridColumns(),g=Ext.ComponentQuery.query(":not([hidden])",f),e=g[g.length-1];return h.getHeaderIndex(e)},getHeaderCt:function(){return this.headerCt},getPosition:function(g,h){var i=this,f=i.store,j=i.headerCt.getGridColumns();return{row:f.indexOf(g),column:Ext.Array.indexOf(j,h)}},getRightGap:function(h){var i=this.getHeaderCt(),j=i.getGridColumns(),g=Ext.Array.indexOf(j,h),l=g+1,k;for(;l<=j.length;l++){if(!j[l].hidden){k=l;break}}return k-g},beforeDestroy:function(){if(this.rendered){this.el.removeAllListeners()}this.callParent(arguments)},getLeftGap:function(h){var i=this.getHeaderCt(),j=i.getGridColumns(),l=Ext.Array.indexOf(j,h),k=l-1,g;for(;k>=0;k--){if(!j[k].hidden){g=k;break}}return g-l}});Ext.define("Ext.tree.View",{extend:"Ext.view.Table",alias:"widget.treeview",loadingCls:Ext.baseCSSPrefix+"grid-tree-loading",expandedCls:Ext.baseCSSPrefix+"grid-tree-node-expanded",expanderSelector:"."+Ext.baseCSSPrefix+"tree-expander",checkboxSelector:"."+Ext.baseCSSPrefix+"tree-checkbox",expanderIconOverCls:Ext.baseCSSPrefix+"tree-expander-over",nodeAnimWrapCls:Ext.baseCSSPrefix+"tree-animator-wrap",blockRefresh:true,rootVisible:true,expandDuration:250,collapseDuration:250,toggleOnDblClick:true,initComponent:function(){var b=this;if(b.initialConfig.animate===undefined){b.animate=Ext.enableFx}b.store=Ext.create("Ext.data.NodeStore",{recursive:true,rootVisible:b.rootVisible,listeners:{beforeexpand:b.onBeforeExpand,expand:b.onExpand,beforecollapse:b.onBeforeCollapse,collapse:b.onCollapse,scope:b}});if(b.node){b.setRootNode(b.node)}b.animQueue={};b.callParent(arguments)},processUIEvent:function(b){if(b.getTarget("."+this.nodeAnimWrapCls,this.el)){return false}return this.callParent(arguments)},onClear:function(){this.store.removeAll()},setRootNode:function(c){var d=this;d.store.setNode(c);d.node=c;if(!d.rootVisible){c.expand()}},onRender:function(){var c=this,d;c.callParent(arguments);d=c.el;d.on({scope:c,delegate:c.expanderSelector,mouseover:c.onExpanderMouseOver,mouseout:c.onExpanderMouseOut});d.on({scope:c,delegate:c.checkboxSelector,click:c.onCheckboxChange})},onCheckboxChange:function(g,f){var h=this,e=g.getTarget(h.getItemSelector(),h.getTargetEl());if(e){h.onCheckChange(h.getRecord(e))}},onCheckChange:function(d){var c=d.get("checked");if(Ext.isBoolean(c)){c=!c;d.set("checked",c);this.fireEvent("checkchange",d,c)}},getChecked:function(){var b=[];this.node.cascadeBy(function(a){if(a.get("checked")){b.push(a)}});return b},isItemChecked:function(b){return b.get("checked")},createAnimWrap:function(o,n){var q="",r=this.panel.headerCt,u=r.getGridColumns(),p=0,m=u.length,i,s=this.getNode(o),v,t;for(;p<m;p++){i=u[p];q+='<th style="width: '+(i.hidden?0:i.getDesiredWidth())+'px; height: 0px;"></th>'}t=Ext.get(s);v=t.insertSibling({tag:"tr",html:['<td colspan="'+r.getColumnCount()+'">','<div class="'+this.nodeAnimWrapCls+'">','<table class="'+Ext.baseCSSPrefix+'grid-table" style="width: '+r.getFullWidth()+'px;"><tbody>',q,"</tbody></table>","</div>","</td>"].join("")},"after");return{record:o,node:s,el:v,expanding:false,collapsing:false,animating:false,animateEl:v.down("div"),targetEl:v.down("tbody")}},getAnimWrap:function(b){if(!this.animate){return null}while(b){if(b.animWrap){return b.animWrap}b=b.parentNode}return null},doAdd:function(x,v,r){var q=this,t=v[0],o=t.parentNode,p=q.all.elements,a=0,u=q.getAnimWrap(o),n,w,s;if(!u||!u.expanding){q.resetScrollers();return q.callParent(arguments)}o=u.record;n=u.targetEl;w=n.dom.childNodes;s=w.length-1;a=r-q.indexOf(o)-1;if(!s||a>=s){n.appendChild(x)}else{Ext.fly(w[a+1]).insertSibling(x,"before",true)}Ext.Array.insert(p,r,x);if(u.isAnimating){q.onExpand(o)}},beginBulkUpdate:function(){this.bulkUpdate=true;this.ownerCt.changingScrollbars=true},endBulkUpdate:function(){var c=this,d=c.ownerCt;c.bulkUpdate=false;c.ownerCt.changingScrollbars=true;c.resetScrollers()},onRemove:function(h,g,f){var i=this,j=i.bulkUpdate;i.doRemove(g,f);if(!j){i.updateIndexes(f)}if(i.store.getCount()===0){i.refresh()}if(!j){i.fireEvent("itemremove",g,f)}},doRemove:function(i,n){var j=this,l=i.parentNode,m=j.all,h=j.getAnimWrap(i),k=m.item(n).dom;if(!h||!h.collapsing){j.resetScrollers();return j.callParent(arguments)}h.targetEl.appendChild(k);m.removeElement(n)},onBeforeExpand:function(i,f,j){var h=this,g;if(!h.rendered||!h.animate){return}if(h.getNode(i)){g=h.getAnimWrap(i);if(!g){g=i.animWrap=h.createAnimWrap(i);g.animateEl.setHeight(0)}else{if(g.collapsing){g.targetEl.select(h.itemSelector).remove()}}g.expanding=true;g.collapsing=false}},onExpand:function(p){var o=this,j=o.animQueue,k=p.getId(),i,n,m,l;if(o.singleExpand){o.ensureSingleExpand(p)}i=o.getAnimWrap(p);if(!i){o.resetScrollers();return}n=i.animateEl;m=i.targetEl;n.stopAnimation();j[k]=true;n.slideIn("t",{duration:o.expandDuration,listeners:{scope:o,lastframe:function(){i.el.insertSibling(m.query(o.itemSelector),"before");i.el.remove();o.resetScrollers();delete i.record.animWrap;delete j[k]}}});i.isAnimating=true},resetScrollers:function(){if(!this.bulkUpdate){var b=this.panel;b.determineScrollbars();b.invalidateScroller()}},onBeforeCollapse:function(i,f,j){var h=this,g;if(!h.rendered||!h.animate){return}if(h.getNode(i)){g=h.getAnimWrap(i);if(!g){g=i.animWrap=h.createAnimWrap(i,j)}else{if(g.expanding){g.targetEl.select(this.itemSelector).remove()}}g.expanding=false;g.collapsing=true}},onCollapse:function(n){var m=this,i=m.animQueue,j=n.getId(),h=m.getAnimWrap(n),l,k;if(!h){m.resetScrollers();return}l=h.animateEl;k=h.targetEl;i[j]=true;l.stopAnimation();l.slideOut("t",{duration:m.collapseDuration,listeners:{scope:m,lastframe:function(){h.el.remove();delete h.record.animWrap;m.resetScrollers();delete i[j]}}});h.isAnimating=true},isAnimating:function(b){return !!this.animQueue[b.getId()]},collectData:function(n){var k=this.callParent(arguments),l=k.rows,i=l.length,m=0,j,h;for(;m<i;m++){j=l[m];h=n[m];if(h.get("qtip")){j.rowAttr='data-qtip="'+h.get("qtip")+'"';if(h.get("qtitle")){j.rowAttr+=' data-qtitle="'+h.get("qtitle")+'"'}}if(h.isExpanded()){j.rowCls=(j.rowCls||"")+" "+this.expandedCls}if(h.isLoading()){j.rowCls=(j.rowCls||"")+" "+this.loadingCls}}return k},expand:function(e,f,g,h){return e.expand(f,g,h)},collapse:function(e,f,g,h){return e.collapse(f,g,h)},toggle:function(b){this[b.isExpanded()?"collapse":"expand"](b)},onItemDblClick:function(e,f,d){this.callParent(arguments);if(this.toggleOnDblClick){this.toggle(e)}},onBeforeItemMouseDown:function(f,h,e,g){if(g.getTarget(this.expanderSelector,h)){return false}return this.callParent(arguments)},onItemClick:function(f,h,e,g){if(g.getTarget(this.expanderSelector,h)){this.toggle(f);return false}return this.callParent(arguments)},onExpanderMouseOver:function(c,d){c.getTarget(this.cellSelector,10,true).addCls(this.expanderIconOverCls)},onExpanderMouseOut:function(c,d){c.getTarget(this.cellSelector,10,true).removeCls(this.expanderIconOverCls)},getTreeStore:function(){return this.panel.store},ensureSingleExpand:function(c){var d=c.parentNode;if(d){d.eachChild(function(a){if(a!==c&&a.isExpanded()){a.collapse()}})}}});Ext.define("Ext.selection.RowModel",{extend:"Ext.selection.Model",alias:"selection.rowmodel",requires:["Ext.util.KeyNav"],deltaScroll:5,enableKeyNav:true,ignoreRightMouseSelection:true,constructor:function(){this.addEvents("beforedeselect","beforeselect","deselect","select");this.callParent(arguments)},bindComponent:function(d){var c=this;c.views=c.views||[];c.views.push(d);c.bind(d.getStore(),true);d.on({itemmousedown:c.onRowMouseDown,scope:c});if(c.enableKeyNav){c.initKeyNav(d)}},initKeyNav:function(d){var c=this;if(!d.rendered){d.on("render",Ext.Function.bind(c.initKeyNav,c,[d],0),c,{single:true});return}d.el.set({tabIndex:-1});c.keyNav=new Ext.util.KeyNav(d.el,{up:c.onKeyUp,down:c.onKeyDown,right:c.onKeyRight,left:c.onKeyLeft,pageDown:c.onKeyPageDown,pageUp:c.onKeyPageUp,home:c.onKeyHome,end:c.onKeyEnd,scope:c});d.el.on(Ext.EventManager.getKeyEvent(),c.onKeyPress,c)},getRowsVisible:function(){var h=false,g=this.views[0],i=g.getNode(0),f,j;if(i){f=Ext.fly(i).getHeight();j=g.el.getHeight();h=Math.floor(j/f)}return h},onKeyEnd:function(g,f){var h=this,e=h.store.getAt(h.store.getCount()-1);if(e){if(g.shiftKey){h.selectRange(e,h.lastFocused||0);h.setLastFocused(e)}else{if(g.ctrlKey){h.setLastFocused(e)}else{h.doSelect(e)}}}},onKeyHome:function(h,f){var e=this,g=e.store.getAt(0);if(g){if(h.shiftKey){e.selectRange(g,e.lastFocused||0);e.setLastFocused(g)}else{if(h.ctrlKey){e.setLastFocused(g)}else{e.doSelect(g,false)}}}},onKeyPageUp:function(l,o){var m=this,k=m.getRowsVisible(),e,p,j,n;if(k){e=m.lastFocused?m.store.indexOf(m.lastFocused):0;p=e-k;if(p<0){p=0}j=m.store.getAt(p);if(l.shiftKey){n=m.store.getAt(e);m.selectRange(j,n,l.ctrlKey,"up");m.setLastFocused(j)}else{if(l.ctrlKey){l.preventDefault();m.setLastFocused(j)}else{m.doSelect(j)}}}},onKeyPageDown:function(l,e){var n=this,k=n.getRowsVisible(),j,m,o,p;if(k){j=n.lastFocused?n.store.indexOf(n.lastFocused):0;m=j+k;if(m>=n.store.getCount()){m=n.store.getCount()-1}o=n.store.getAt(m);if(l.shiftKey){p=n.store.getAt(j);n.selectRange(o,p,l.ctrlKey,"down");n.setLastFocused(o)}else{if(l.ctrlKey){l.preventDefault();n.setLastFocused(o)}else{n.doSelect(o)}}}},onKeyPress:function(g,e){if(g.getKey()===g.SPACE){g.stopEvent();var h=this,f=h.lastFocused;if(f){if(h.isSelected(f)){h.doDeselect(f,false)}else{h.doSelect(f,true)}}}},onKeyUp:function(i,k){var j=this,l=j.views[0],h=j.store.indexOf(j.lastFocused),e;if(h>0){e=j.store.getAt(h-1);if(i.shiftKey&&j.lastFocused){if(j.isSelected(j.lastFocused)&&j.isSelected(e)){j.doDeselect(j.lastFocused,true);j.setLastFocused(e)}else{if(!j.isSelected(j.lastFocused)){j.doSelect(j.lastFocused,true);j.doSelect(e,true)}else{j.doSelect(e,true)}}}else{if(i.ctrlKey){j.setLastFocused(e)}else{j.doSelect(e)}}}},onKeyDown:function(i,k){var j=this,l=j.views[0],h=j.store.indexOf(j.lastFocused),e;if(h+1<j.store.getCount()){e=j.store.getAt(h+1);if(j.selected.getCount()===0){j.doSelect(e)}else{if(i.shiftKey&&j.lastFocused){if(j.isSelected(j.lastFocused)&&j.isSelected(e)){j.doDeselect(j.lastFocused,true);j.setLastFocused(e)}else{if(!j.isSelected(j.lastFocused)){j.doSelect(j.lastFocused,true);j.doSelect(e,true)}else{j.doSelect(e,true)}}}else{if(i.ctrlKey){j.setLastFocused(e)}else{j.doSelect(e)}}}}},scrollByDeltaX:function(g){var f=this.views[0],h=f.up(),e=h.horizontalScroller;if(e){e.scrollByDeltaX(g)}},onKeyLeft:function(c,d){this.scrollByDeltaX(-this.deltaScroll)},onKeyRight:function(c,d){this.scrollByDeltaX(this.deltaScroll)},onRowMouseDown:function(e,g,i,j,h){e.el.focus();if(!this.allowRightMouseSelection(h)){return}this.selectWithEvent(g,h)},allowRightMouseSelection:function(d){var c=this.ignoreRightMouseSelection&&d.button!==0;if(c){c=this.hasSelection()}return !c},onSelectChange:function(q,t,m,v){var o=this,i=o.views,s=i.length,n=o.store,u=n.indexOf(q),p=t?"select":"deselect",r=0;if((m||o.fireEvent("before"+p,o,q,u))!==false&&v()!==false){for(;r<s;r++){if(t){i[r].onRowSelect(u,m)}else{i[r].onRowDeselect(u,m)}}if(!m){o.fireEvent(p,o,q,u)}}},onLastFocusChanged:function(k,o,i){var j=this.views,l=j.length,p=this.store,m,n=0;if(k){m=p.indexOf(k);if(m!=-1){for(;n<l;n++){j[n].onRowFocus(m,false)}}}if(o){m=p.indexOf(o);if(m!=-1){for(n=0;n<l;n++){j[n].onRowFocus(m,true,i)}}}},onEditorTab:function(l,n){var m=this,k=m.views[0],p=l.getActiveRecord(),q=l.getActiveColumn(),o=k.getPosition(p,q),e=n.shiftKey?"left":"right",r=k.walkCells(o,e,n,this.preventWrap);if(r){l.startEditByPosition(r)}},selectByPosition:function(d){var c=this.store.getAt(d.row);this.select(c)}});Ext.define("Ext.selection.TreeModel",{extend:"Ext.selection.RowModel",alias:"selection.treemodel",pruneRemoved:false,onKeyRight:function(g,e){var h=this.getLastFocused(),f=this.view;if(h){if(h.isExpanded()){this.onKeyDown(g,e)}else{if(!h.isLeaf()){f.expand(h)}}}},onKeyLeft:function(j,m){var k=this.getLastFocused(),n=this.view,e=n.getSelectionModel(),i,l;if(k){i=k.parentNode;if(k.isExpanded()){n.collapse(k)}else{if(i&&!i.isRoot()){if(j.shiftKey){e.selectRange(i,k,j.ctrlKey,"up");e.setLastFocused(i)}else{if(j.ctrlKey){e.setLastFocused(i)}else{e.select(i)}}}}}},onKeyPress:function(h,e){var g=h.getKey(),j,i;if(g===h.SPACE||g===h.ENTER){h.stopEvent();j=this.getLastSelected();if(j){this.view.onCheckChange(j)}}else{this.callParent(arguments)}}});Ext.define("Ext.dd.DragDrop",{requires:["Ext.dd.DragDropManager"],constructor:function(f,e,d){if(f){this.init(f,e,d)}},id:null,config:null,dragElId:null,handleElId:null,invalidHandleTypes:null,invalidHandleIds:null,invalidHandleClasses:null,startPageX:0,startPageY:0,groups:null,locked:false,lock:function(){this.locked=true},moveOnly:false,unlock:function(){this.locked=false},isTarget:true,padding:null,_domRef:null,__ygDragDrop:true,constrainX:false,constrainY:false,minX:0,maxX:0,minY:0,maxY:0,maintainOffset:false,xTicks:null,yTicks:null,primaryButtonOnly:true,available:false,hasOuterHandles:false,b4StartDrag:function(d,c){},startDrag:function(d,c){},b4Drag:function(b){},onDrag:function(b){},onDragEnter:function(d,c){},b4DragOver:function(b){},onDragOver:function(d,c){},b4DragOut:function(b){},onDragOut:function(d,c){},b4DragDrop:function(b){},onDragDrop:function(d,c){},onInvalidDrop:function(b){},b4EndDrag:function(b){},endDrag:function(b){},b4MouseDown:function(b){},onMouseDown:function(b){},onMouseUp:function(b){},onAvailable:function(){},defaultPadding:{left:0,right:0,top:0,bottom:0},constrainTo:function(q,s,b){if(Ext.isNumber(s)){s={left:s,right:s,top:s,bottom:s}}s=s||this.defaultPadding;var o=Ext.get(this.getEl()).getBox(),v=Ext.get(q),c=v.getScroll(),p,u=v.dom;if(u==document.body){p={x:c.left,y:c.top,width:Ext.Element.getViewWidth(),height:Ext.Element.getViewHeight()}}else{var n=v.getXY();p={x:n[0],y:n[1],width:u.clientWidth,height:u.clientHeight}}var r=o.y-p.y,t=o.x-p.x;this.resetConstraints();this.setXConstraint(t-(s.left||0),p.width-t-o.width-(s.right||0),this.xTickSize);this.setYConstraint(r-(s.top||0),p.height-r-o.height-(s.bottom||0),this.yTickSize)},getEl:function(){if(!this._domRef){this._domRef=Ext.getDom(this.id)}return this._domRef},getDragEl:function(){return Ext.getDom(this.dragElId)},init:function(f,e,d){this.initTarget(f,e,d);Ext.EventManager.on(this.id,"mousedown",this.handleMouseDown,this)},initTarget:function(f,e,d){this.config=d||{};this.DDMInstance=Ext.dd.DragDropManager;this.groups={};if(typeof f!=="string"){f=Ext.id(f)}this.id=f;this.addToGroup((e)?e:"default");this.handleElId=f;this.setDragElId(f);this.invalidHandleTypes={A:"A"};this.invalidHandleIds={};this.invalidHandleClasses=[];this.applyConfig();this.handleOnAvailable()},applyConfig:function(){this.padding=this.config.padding||[0,0,0,0];this.isTarget=(this.config.isTarget!==false);this.maintainOffset=(this.config.maintainOffset);this.primaryButtonOnly=(this.config.primaryButtonOnly!==false)},handleOnAvailable:function(){this.available=true;this.resetConstraints();this.onAvailable()},setPadding:function(h,f,g,e){if(!f&&0!==f){this.padding=[h,h,h,h]}else{if(!g&&0!==g){this.padding=[h,f,h,f]}else{this.padding=[h,f,g,e]}}},setInitPosition:function(k,l){var j=this.getEl();if(!this.DDMInstance.verifyEl(j)){return}var g=k||0;var h=l||0;var i=Ext.Element.getXY(j);this.initPageX=i[0]-g;this.initPageY=i[1]-h;this.lastPageX=i[0];this.lastPageY=i[1];this.setStartPosition(i)},setStartPosition:function(c){var d=c||Ext.Element.getXY(this.getEl());this.deltaSetXY=null;this.startPageX=d[0];this.startPageY=d[1]},addToGroup:function(b){this.groups[b]=true;this.DDMInstance.regDragDrop(this,b)},removeFromGroup:function(b){if(this.groups[b]){delete this.groups[b]}this.DDMInstance.removeDDFromGroup(this,b)},setDragElId:function(b){this.dragElId=b},setHandleElId:function(b){if(typeof b!=="string"){b=Ext.id(b)}this.handleElId=b;this.DDMInstance.regHandle(this.id,b)},setOuterHandleElId:function(b){if(typeof b!=="string"){b=Ext.id(b)}Ext.EventManager.on(b,"mousedown",this.handleMouseDown,this);this.setHandleElId(b);this.hasOuterHandles=true},unreg:function(){Ext.EventManager.un(this.id,"mousedown",this.handleMouseDown,this);this._domRef=null;this.DDMInstance._remove(this)},destroy:function(){this.unreg()},isLocked:function(){return(this.DDMInstance.isLocked()||this.locked)},handleMouseDown:function(f,d){if(this.primaryButtonOnly&&f.button!=0){return}if(this.isLocked()){return}this.DDMInstance.refreshCache(this.groups);var e=f.getPoint();if(!this.hasOuterHandles&&!this.DDMInstance.isOverTarget(e,this)){}else{if(this.clickValidator(f)){this.setStartPosition();this.b4MouseDown(f);this.onMouseDown(f);this.DDMInstance.handleMouseDown(f,this);this.DDMInstance.stopEvent(f)}else{}}},clickValidator:function(c){var d=c.getTarget();return(this.isValidHandleChild(d)&&(this.id==this.handleElId||this.DDMInstance.handleWasClicked(d,this.id)))},addInvalidHandleType:function(d){var c=d.toUpperCase();this.invalidHandleTypes[c]=c},addInvalidHandleId:function(b){if(typeof b!=="string"){b=Ext.id(b)}this.invalidHandleIds[b]=b},addInvalidHandleClass:function(b){this.invalidHandleClasses.push(b)},removeInvalidHandleType:function(d){var c=d.toUpperCase();delete this.invalidHandleTypes[c]},removeInvalidHandleId:function(b){if(typeof b!=="string"){b=Ext.id(b)}delete this.invalidHandleIds[b]},removeInvalidHandleClass:function(d){for(var f=0,e=this.invalidHandleClasses.length;f<e;++f){if(this.invalidHandleClasses[f]==d){delete this.invalidHandleClasses[f]}}},isValidHandleChild:function(k){var l=true;var i;try{i=k.nodeName.toUpperCase()}catch(j){i=k.nodeName}l=l&&!this.invalidHandleTypes[i];l=l&&!this.invalidHandleIds[k.id];for(var e=0,h=this.invalidHandleClasses.length;l&&e<h;++e){l=!Ext.fly(k).hasCls(this.invalidHandleClasses[e])}return l},setXTicks:function(g,f){this.xTicks=[];this.xTickSize=f;var h={};for(var e=this.initPageX;e>=this.minX;e=e-f){if(!h[e]){this.xTicks[this.xTicks.length]=e;h[e]=true}}for(e=this.initPageX;e<=this.maxX;e=e+f){if(!h[e]){this.xTicks[this.xTicks.length]=e;h[e]=true}}Ext.Array.sort(this.xTicks,this.DDMInstance.numericSort)},setYTicks:function(g,f){this.yTicks=[];this.yTickSize=f;var h={};for(var e=this.initPageY;e>=this.minY;e=e-f){if(!h[e]){this.yTicks[this.yTicks.length]=e;h[e]=true}}for(e=this.initPageY;e<=this.maxY;e=e+f){if(!h[e]){this.yTicks[this.yTicks.length]=e;h[e]=true}}Ext.Array.sort(this.yTicks,this.DDMInstance.numericSort)},setXConstraint:function(f,d,e){this.leftConstraint=f;this.rightConstraint=d;this.minX=this.initPageX-f;this.maxX=this.initPageX+d;if(e){this.setXTicks(this.initPageX,e)}this.constrainX=true},clearConstraints:function(){this.constrainX=false;this.constrainY=false;this.clearTicks()},clearTicks:function(){this.xTicks=null;this.yTicks=null;this.xTickSize=0;this.yTickSize=0},setYConstraint:function(e,f,d){this.topConstraint=e;this.bottomConstraint=f;this.minY=this.initPageY-e;this.maxY=this.initPageY+f;if(d){this.setYTicks(this.initPageY,d)}this.constrainY=true},resetConstraints:function(){if(this.initPageX||this.initPageX===0){var c=(this.maintainOffset)?this.lastPageX-this.initPageX:0;var d=(this.maintainOffset)?this.lastPageY-this.initPageY:0;this.setInitPosition(c,d)}else{this.setInitPosition()}if(this.constrainX){this.setXConstraint(this.leftConstraint,this.rightConstraint,this.xTickSize)}if(this.constrainY){this.setYConstraint(this.topConstraint,this.bottomConstraint,this.yTickSize)}},getTick:function(j,m){if(!m){return j}else{if(m[0]>=j){return m[0]}else{for(var h=0,i=m.length;h<i;++h){var n=h+1;if(m[n]&&m[n]>=j){var k=j-m[h];var l=m[n]-j;return(l>k)?m[h]:m[n]}}return m[m.length-1]}}},toString:function(){return("DragDrop "+this.id)}});Ext.define("Ext.dd.DD",{extend:"Ext.dd.DragDrop",requires:["Ext.dd.DragDropManager"],constructor:function(f,e,d){if(f){this.init(f,e,d)}},scroll:true,autoOffset:function(h,e){var f=h-this.startPageX;var g=e-this.startPageY;this.setDelta(f,g)},setDelta:function(c,d){this.deltaX=c;this.deltaY=d},setDragElPos:function(f,d){var e=this.getDragEl();this.alignElWithMouse(e,f,d)},alignElWithMouse:function(u,r,t){var q=this.getTargetCoord(r,t),s=u.dom?u:Ext.fly(u,"_dd"),l=s.getSize(),o=Ext.Element,n;if(!this.deltaSetXY){n=this.cachedViewportSize={width:o.getDocumentWidth(),height:o.getDocumentHeight()};var v=[Math.max(0,Math.min(q.x,n.width-l.width)),Math.max(0,Math.min(q.y,n.height-l.height))];s.setXY(v);var m=s.getLeft(true);var p=s.getTop(true);this.deltaSetXY=[m-q.x,p-q.y]}else{n=this.cachedViewportSize;s.setLeftTop(Math.max(0,Math.min(q.x+this.deltaSetXY[0],n.width-l.width)),Math.max(0,Math.min(q.y+this.deltaSetXY[1],n.height-l.height)))}this.cachePosition(q.x,q.y);this.autoScroll(q.x,q.y,u.offsetHeight,u.offsetWidth);return q},cachePosition:function(d,e){if(d){this.lastPageX=d;this.lastPageY=e}else{var f=Ext.Element.getXY(this.getEl());this.lastPageX=f[0];this.lastPageY=f[1]}},autoScroll:function(s,t,x,r){if(this.scroll){var q=Ext.Element.getViewHeight();var A=Ext.Element.getViewWidth();var h=this.DDMInstance.getScrollTop();var y=this.DDMInstance.getScrollLeft();var u=x+t;var p=r+s;var v=(q+h-t-this.deltaY);var w=(A+y-s-this.deltaX);var z=40;var B=(document.all)?80:30;if(u>q&&v<z){window.scrollTo(y,h+B)}if(t<h&&h>0&&t-h<z){window.scrollTo(y,h-B)}if(p>A&&w<z){window.scrollTo(y+B,h)}if(s<y&&y>0&&s-y<z){window.scrollTo(y-B,h)}}},getTargetCoord:function(h,e){var f=h-this.deltaX;var g=e-this.deltaY;if(this.constrainX){if(f<this.minX){f=this.minX}if(f>this.maxX){f=this.maxX}}if(this.constrainY){if(g<this.minY){g=this.minY}if(g>this.maxY){g=this.maxY}}f=this.getTick(f,this.xTicks);g=this.getTick(g,this.yTicks);return{x:f,y:g}},applyConfig:function(){this.callParent();this.scroll=(this.config.scroll!==false)},b4MouseDown:function(b){this.autoOffset(b.getPageX(),b.getPageY())},b4Drag:function(b){this.setDragElPos(b.getPageX(),b.getPageY())},toString:function(){return("DD "+this.id)}});Ext.define("Ext.dd.DDProxy",{extend:"Ext.dd.DD",statics:{dragElId:"ygddfdiv"},constructor:function(f,e,d){if(f){this.init(f,e,d);this.initFrame()}},resizeFrame:true,centerFrame:false,createFrame:function(){var e=this;var f=document.body;if(!f||!f.firstChild){setTimeout(function(){e.createFrame()},50);return}var g=this.getDragEl();if(!g){g=document.createElement("div");g.id=this.dragElId;var h=g.style;h.position="absolute";h.visibility="hidden";h.cursor="move";h.border="2px solid #aaa";h.zIndex=999;f.insertBefore(g,f.firstChild)}},initFrame:function(){this.createFrame()},applyConfig:function(){this.callParent();this.resizeFrame=(this.config.resizeFrame!==false);this.centerFrame=(this.config.centerFrame);this.setDragElId(this.config.dragElId||Ext.dd.DDProxy.dragElId)},showFrame:function(h,i){var j=this.getEl();var g=this.getDragEl();var f=g.style;this._resizeProxy();if(this.centerFrame){this.setDelta(Math.round(parseInt(f.width,10)/2),Math.round(parseInt(f.height,10)/2))}this.setDragElPos(h,i);Ext.fly(g).show()},_resizeProxy:function(){if(this.resizeFrame){var b=this.getEl();Ext.fly(this.getDragEl()).setSize(b.offsetWidth,b.offsetHeight)}},b4MouseDown:function(d){var e=d.getPageX();var f=d.getPageY();this.autoOffset(e,f);this.setDragElPos(e,f)},b4StartDrag:function(d,c){this.showFrame(d,c)},b4EndDrag:function(b){Ext.fly(this.getDragEl()).hide()},endDrag:function(f){var d=this.getEl();var e=this.getDragEl();e.style.visibility="";this.beforeMove();d.style.visibility="hidden";Ext.dd.DDM.moveToEl(d,e);e.style.visibility="hidden";d.style.visibility="";this.afterDrag()},beforeMove:function(){},afterDrag:function(){},toString:function(){return("DDProxy "+this.id)}});Ext.define("Ext.dd.DragSource",{extend:"Ext.dd.DDProxy",requires:["Ext.dd.StatusProxy","Ext.dd.DragDropManager"],dropAllowed:Ext.baseCSSPrefix+"dd-drop-ok",dropNotAllowed:Ext.baseCSSPrefix+"dd-drop-nodrop",animRepair:true,repairHighlightColor:"c3daf9",constructor:function(c,d){this.el=Ext.get(c);if(!this.dragData){this.dragData={}}Ext.apply(this,d);if(!this.proxy){this.proxy=Ext.create("Ext.dd.StatusProxy",{animRepair:this.animRepair})}this.callParent([this.el.dom,this.ddGroup||this.group,{dragElId:this.proxy.id,resizeFrame:false,isTarget:false,scroll:this.scroll===true}]);this.dragging=false},getDragData:function(b){return this.dragData},onDragEnter:function(h,g){var e=Ext.dd.DragDropManager.getDDById(g);this.cachedTarget=e;if(this.beforeDragEnter(e,h,g)!==false){if(e.isNotifyTarget){var f=e.notifyEnter(this,h,this.dragData);this.proxy.setStatus(f)}else{this.proxy.setStatus(this.dropAllowed)}if(this.afterDragEnter){this.afterDragEnter(e,h,g)}}},beforeDragEnter:function(d,e,f){return true},alignElWithMouse:function(){this.callParent(arguments);this.proxy.sync()},onDragOver:function(h,g){var e=this.cachedTarget||Ext.dd.DragDropManager.getDDById(g);if(this.beforeDragOver(e,h,g)!==false){if(e.isNotifyTarget){var f=e.notifyOver(this,h,this.dragData);this.proxy.setStatus(f)}if(this.afterDragOver){this.afterDragOver(e,h,g)}}},beforeDragOver:function(d,e,f){return true},onDragOut:function(d,f){var e=this.cachedTarget||Ext.dd.DragDropManager.getDDById(f);if(this.beforeDragOut(e,d,f)!==false){if(e.isNotifyTarget){e.notifyOut(this,d,this.dragData)}this.proxy.reset();if(this.afterDragOut){this.afterDragOut(e,d,f)}}this.cachedTarget=null},beforeDragOut:function(d,e,f){return true},onDragDrop:function(d,f){var e=this.cachedTarget||Ext.dd.DragDropManager.getDDById(f);if(this.beforeDragDrop(e,d,f)!==false){if(e.isNotifyTarget){if(e.notifyDrop(this,d,this.dragData)!==false){this.onValidDrop(e,d,f)}else{this.onInvalidDrop(e,d,f)}}else{this.onValidDrop(e,d,f)}if(this.afterDragDrop){this.afterDragDrop(e,d,f)}}delete this.cachedTarget},beforeDragDrop:function(d,e,f){return true},onValidDrop:function(d,e,f){this.hideProxy();if(this.afterValidDrop){this.afterValidDrop(d,e,f)}},getRepairXY:function(c,d){return this.el.getXY()},onInvalidDrop:function(d,e,f){this.beforeInvalidDrop(d,e,f);if(this.cachedTarget){if(this.cachedTarget.isNotifyTarget){this.cachedTarget.notifyOut(this,e,this.dragData)}this.cacheTarget=null}this.proxy.repair(this.getRepairXY(e,this.dragData),this.afterRepair,this);if(this.afterInvalidDrop){this.afterInvalidDrop(e,f)}},afterRepair:function(){var b=this;if(Ext.enableFx){b.el.highlight(b.repairHighlightColor)}b.dragging=false},beforeInvalidDrop:function(d,e,f){return true},handleMouseDown:function(c){if(this.dragging){return}var d=this.getDragData(c);if(d&&this.onBeforeDrag(d,c)!==false){this.dragData=d;this.proxy.stop();this.callParent(arguments)}},onBeforeDrag:function(d,c){return true},onStartDrag:Ext.emptyFn,startDrag:function(d,c){this.proxy.reset();this.dragging=true;this.proxy.update("");this.onInitDrag(d,c);this.proxy.show()},onInitDrag:function(e,f){var d=this.el.dom.cloneNode(true);d.id=Ext.id();this.proxy.update(d);this.onStartDrag(e,f);return true},getProxy:function(){return this.proxy},hideProxy:function(){this.proxy.hide();this.proxy.reset(true);this.dragging=false},triggerCacheRefresh:function(){Ext.dd.DDM.refreshCache(this.groups)},b4EndDrag:function(b){},endDrag:function(b){this.onEndDrag(this.dragData,b)},onEndDrag:function(d,c){},autoOffset:function(d,c){this.setDelta(-12,-20)},destroy:function(){this.callParent();Ext.destroy(this.proxy)}});Ext.define("Ext.panel.DD",{extend:"Ext.dd.DragSource",requires:["Ext.panel.Proxy"],constructor:function(c,d){this.panel=c;this.dragData={panel:c};this.proxy=Ext.create("Ext.panel.Proxy",c,d);this.callParent([c.el,d]);Ext.defer(function(){var a=c.header,b=c.body;if(a){this.setHandleElId(a.id);b=a.el}b.setStyle("cursor","move");this.scroll=false},200,this)},showFrame:Ext.emptyFn,startDrag:Ext.emptyFn,b4StartDrag:function(d,c){this.proxy.show()},b4MouseDown:function(d){var e=d.getPageX(),f=d.getPageY();this.autoOffset(e,f)},onInitDrag:function(d,c){this.onStartDrag(d,c);return true},createFrame:Ext.emptyFn,getDragEl:function(b){return this.proxy.ghost.el.dom},endDrag:function(b){this.proxy.hide();this.panel.saveState()},autoOffset:function(d,c){d-=this.startPageX;c-=this.startPageY;this.setDelta(d,c)}});Ext.define("Ext.toolbar.Separator",{extend:"Ext.toolbar.Item",alias:"widget.tbseparator",alternateClassName:"Ext.Toolbar.Separator",baseCls:Ext.baseCSSPrefix+"toolbar-separator",focusable:false});Ext.define("Ext.layout.container.boxOverflow.Menu",{extend:"Ext.layout.container.boxOverflow.None",requires:["Ext.toolbar.Separator","Ext.button.Button"],alternateClassName:"Ext.layout.boxOverflow.Menu",noItemsMenuText:'<div class="'+Ext.baseCSSPrefix+'toolbar-no-items">(None)</div>',constructor:function(c){var d=this;d.callParent(arguments);c.beforeLayout=Ext.Function.createInterceptor(c.beforeLayout,this.clearOverflow,this);d.afterCtCls=d.afterCtCls||Ext.baseCSSPrefix+"box-menu-"+c.parallelAfter;d.menuItems=[]},onRemove:function(b){Ext.Array.remove(this.menuItems,b)},handleOverflow:function(i,j){var k=this,l=k.layout,n="get"+l.parallelPrefixCap,h={},m=[null,null];k.callParent(arguments);this.createMenu(i,j);h[l.perpendicularPrefix]=j[l.perpendicularPrefix];h[l.parallelPrefix]=j[l.parallelPrefix]-k.afterCt[n]();m[l.perpendicularSizeIndex]=(i.meta.maxSize-k.menuTrigger["get"+l.perpendicularPrefixCap]())/2;k.menuTrigger.setPosition.apply(k.menuTrigger,m);return{targetSize:h}},clearOverflow:function(j,k){var l=this,m=k?k.width+(l.afterCt?l.afterCt.getWidth():0):0,i=l.menuItems,p=0,n=i.length,o;l.hideTrigger();for(;p<n;p++){i[p].show()}i.length=0;return k?{targetSize:{height:k.height,width:m}}:null},showTrigger:function(){this.menuTrigger.show()},hideTrigger:function(){if(this.menuTrigger!==undefined){this.menuTrigger.hide()}},beforeMenuShow:function(k){var l=this,i=l.menuItems,o=0,j=i.length,m,n;var p=function(a,b){return a.isXType("buttongroup")&&!(b instanceof Ext.toolbar.Separator)};l.clearMenu();k.removeAll();for(;o<j;o++){m=i[o];if(!o&&(m instanceof Ext.toolbar.Separator)){continue}if(n&&(p(m,n)||p(n,m))){k.add("-")}l.addComponentToMenu(k,m);n=m}if(k.items.length<1){k.add(l.noItemsMenuText)}},createMenuConfig:function(h,f){var e=Ext.apply({},h.initialConfig),g=h.toggleGroup;Ext.copyTo(e,h,["iconCls","icon","itemId","disabled","handler","scope","menu"]);Ext.apply(e,{text:h.overflowText||h.text,hideOnClick:f,destroyMenu:false});if(g||h.enableToggle){Ext.apply(e,{group:g,checked:h.pressed,listeners:{checkchange:function(a,b){h.toggle(b)}}})}delete e.ownerCt;delete e.xtype;delete e.id;return e},addComponentToMenu:function(f,e){var d=this;if(e instanceof Ext.toolbar.Separator){f.add("-")}else{if(e.isComponent){if(e.isXType("splitbutton")){f.add(d.createMenuConfig(e,true))}else{if(e.isXType("button")){f.add(d.createMenuConfig(e,!e.menu))}else{if(e.isXType("buttongroup")){e.items.each(function(a){d.addComponentToMenu(f,a)})}else{f.add(Ext.create(Ext.getClassName(e),d.createMenuConfig(e)))}}}}}},clearMenu:function(){var b=this.moreMenu;if(b&&b.items){b.items.each(function(a){if(a.menu){delete a.menu}})}},createMenu:function(v,t){var m=this,o=m.layout,i=o.parallelBefore,r=o.parallelPrefix,u=t[r],p=v.boxes,s=0,n=p.length,q;if(!m.menuTrigger){m.createInnerElements();m.menu=Ext.create("Ext.menu.Menu",{listeners:{scope:m,beforeshow:m.beforeMenuShow}});m.menuTrigger=Ext.create("Ext.button.Button",{ownerCt:m.layout.owner,iconCls:m.layout.owner.menuTriggerCls,ui:o.owner instanceof Ext.toolbar.Toolbar?"default-toolbar":"default",menu:m.menu,getSplitCls:function(){return""},renderTo:m.afterCt})}m.showTrigger();u-=m.afterCt.getWidth();m.menuItems.length=0;for(;s<n;s++){q=p[s];if(q[i]+q[r]>u){m.menuItems.push(q.component);q.component.hide()}}},createInnerElements:function(){var d=this,c=d.layout.getRenderTarget();if(!this.afterCt){c.addCls(Ext.baseCSSPrefix+d.layout.direction+"-box-overflow-body");this.afterCt=c.insertSibling({cls:Ext.layout.container.Box.prototype.innerCls+" "+this.afterCtCls},"before")}},destroy:function(){Ext.destroy(this.menu,this.menuTrigger)}});Ext.define("Ext.layout.container.Box",{alias:["layout.box"],extend:"Ext.layout.container.Container",alternateClassName:"Ext.layout.BoxLayout",requires:["Ext.layout.container.boxOverflow.None","Ext.layout.container.boxOverflow.Menu","Ext.layout.container.boxOverflow.Scroller","Ext.util.Format","Ext.dd.DragDropManager"],defaultMargins:{top:0,right:0,bottom:0,left:0},padding:"0",pack:"start",type:"box",scrollOffset:0,itemCls:Ext.baseCSSPrefix+"box-item",targetCls:Ext.baseCSSPrefix+"box-layout-ct",innerCls:Ext.baseCSSPrefix+"box-inner",bindToOwnerCtContainer:true,availableSpaceOffset:0,reserveOffset:true,shrinkToFit:true,clearInnerCtOnLayout:false,flexSortFn:function(g,h){var b="max"+this.parallelPrefixCap,a=Infinity;g=g.component[b]||a;h=h.component[b]||a;if(!isFinite(g)&&!isFinite(h)){return false}return g-h},minSizeSortFn:function(a,b){return b.available-a.available},constructor:function(d){var c=this;c.callParent(arguments);c.flexSortFn=Ext.Function.bind(c.flexSortFn,c);c.initOverflowHandler()},getChildBox:function(c){c=c.el||this.owner.getComponent(c).el;var d=c.getBox(false,true);return{left:d.left,top:d.top,width:d.width,height:d.height}},calculateChildBox:function(h){var i=this,f=i.calculateChildBoxes(i.getVisibleItems(),i.getLayoutTargetSize()).boxes,j=f.length,g=0;h=i.owner.getComponent(h);for(;g<j;g++){if(f[g].component===h){return f[g]}}},calculateChildBoxes:function(bc,bp){var a4=this,aI=Math,bg=aI.max,bd=Infinity,a6,a9=a4.parallelPrefix,be=a4.parallelPrefixCap,aC=a4.perpendicularPrefix,a8=a4.perpendicularPrefixCap,aW="min"+be,aQ="min"+a8,aH="max"+a8,bo=bp[a9]-a4.scrollOffset,i=bp[aC],aU=a4.padding,ba=aU[a4.parallelBefore],a7=ba+aU[a4.parallelAfter],ay=aU[a4.perpendicularLeftTop],aG=ay+aU[a4.perpendicularRightBottom],aN=bg(0,i-aG),aK=a4.innerCt.getBorderWidth(a4.perpendicularLT+a4.perpendicularRB),a0=a4.pack=="start",aB=a4.pack=="center",aS=a4.pack=="end",aV=Ext.Number.constrain,aA=bc.length,bn=0,aM=0,aF=0,a5=0,aO=0,ax=[],aE=[],aP,aR,bj,a1,aZ,aY,aD,ao,aq,ap,bf,bm,a2,aJ,a3,az,bi,aw,aX,bl,aT,au,bq,bb,bh,aL,av,ar,bk,at;for(aR=0;aR<aA;aR++){bj=bc[aR];aZ=bj[aC];if(!bj.flex||!(a4.align=="stretch"||a4.align=="stretchmax")){if(bj.componentLayout.initialized!==true){a4.layoutItem(bj)}}aY=bj.margins;aL=aY[a4.parallelBefore]+aY[a4.parallelAfter];aq={component:bj,margins:aY};if(bj.flex){aM+=bj.flex;a1=a6}else{if(!(bj[a9]&&aZ)){aD=bj.getSize()}a1=bj[a9]||aD[a9];aZ=aZ||aD[aC]}bn+=aL+(a1||0);aF+=aL+(bj.flex?bj[aW]||0:a1);a5+=aL+(bj[aW]||a1||0);if(typeof aZ!="number"){aZ=bj["get"+a8]()}aO=bg(aO,bg(aZ,bj[aQ]||0)+aY[a4.perpendicularLeftTop]+aY[a4.perpendicularRightBottom]);aq[a9]=a1||a6;aq.dirtySize=bj.componentLayout.lastComponentSize?(aq[a9]!==bj.componentLayout.lastComponentSize[a9]):false;aq[aC]=aZ||a6;ax.push(aq)}if(!a4.autoSize){ap=aF-bo;bf=a5>bo}bm=bg(0,bo-bn-a7-(a4.reserveOffset?a4.availableSpaceOffset:0));if(bf){for(aR=0;aR<aA;aR++){bi=ax[aR];a2=bc[aR][aW]||bc[aR][a9]||bi[a9];bi.dirtySize=bi.dirtySize||bi[a9]!=a2;bi[a9]=a2}}else{if(ap>0){for(aR=0;aR<aA;aR++){aJ=bc[aR];a2=aJ[aW]||0;if(aJ.flex){bi=ax[aR];bi.dirtySize=bi.dirtySize||bi[a9]!=a2;bi[a9]=a2}else{if(a4.shrinkToFit){aE.push({minSize:a2,available:ax[aR][a9]-a2,index:aR})}}}Ext.Array.sort(aE,a4.minSizeSortFn);for(aR=0,a3=aE.length;aR<a3;aR++){az=aE[aR].index;if(az==a6){continue}aJ=bc[az];a2=aE[aR].minSize;bi=ax[az];aw=bi[a9];aX=bg(a2,aw-aI.ceil(ap/(a3-aR)));bl=aw-aX;bi.dirtySize=bi.dirtySize||bi[a9]!=aX;bi[a9]=aX;ap-=bl}bf=(ap>0)}else{bq=bm;bb=aM;au=[];for(aR=0;aR<aA;aR++){bj=bc[aR];if(a0&&bj.flex){au.push(ax[Ext.Array.indexOf(bc,bj)])}}Ext.Array.sort(au,a4.flexSortFn);for(aR=0;aR<au.length;aR++){av=au[aR];bj=av.component;aY=av.margins;bh=aI.ceil((bj.flex/bb)*bq);bh=Math.max(bj["min"+be]||0,aI.min(bj["max"+be]||bd,bh));bq-=bh;bb-=bj.flex;av.dirtySize=av.dirtySize||av[a9]!=bh;av[a9]=bh}}}if(aB){ba+=bm/2}else{if(aS){ba+=bm}}if(a4.owner.dock&&(Ext.isIE6||Ext.isIE7||Ext.isIEQuirks)&&!a4.owner.width&&a4.direction=="vertical"){aP=aO+a4.owner.el.getPadding("lr")+a4.owner.el.getBorderWidth("lr");if(a4.owner.frameSize){aP+=a4.owner.frameSize.left+a4.owner.frameSize.right}aN=Math.min(aN,bp.width=aO+aU.left+aU.right)}for(aR=0;aR<aA;aR++){bj=bc[aR];av=ax[aR];aY=av.margins;bk=aY[a4.perpendicularLeftTop]+aY[a4.perpendicularRightBottom];ba+=aY[a4.parallelBefore];av[a4.parallelBefore]=ba;av[a4.perpendicularLeftTop]=ay+aY[a4.perpendicularLeftTop];if(a4.align=="stretch"){at=aV(aN-bk,bj[aQ]||0,bj[aH]||bd);av.dirtySize=av.dirtySize||av[aC]!=at;av[aC]=at}else{if(a4.align=="stretchmax"){at=aV(aO-bk,bj[aQ]||0,bj[aH]||bd);av.dirtySize=av.dirtySize||av[aC]!=at;av[aC]=at}else{if(a4.align==a4.alignCenteringString){aT=bg(aN,aO)-aK-av[aC];if(aT>0){av[a4.perpendicularLeftTop]=ay+Math.round(aT/2)}}}}ba+=(av[a9]||0)+aY[a4.parallelAfter]}return{boxes:ax,meta:{calculatedWidth:aP,maxSize:aO,nonFlexSize:bn,desiredSize:aF,minimumSize:a5,shortfall:ap,tooNarrow:bf}}},onRemove:function(b){this.callParent(arguments);if(this.overflowHandler){this.overflowHandler.onRemove(b)}},initOverflowHandler:function(){var f=this.overflowHandler;if(typeof f=="string"){f={type:f}}var d="None";if(f&&f.type!==undefined){d=f.type}var e=Ext.layout.container.boxOverflow[d];if(e[this.type]){e=e[this.type]}this.overflowHandler=Ext.create("Ext.layout.container.boxOverflow."+d,this,f)},onLayout:function(){this.callParent();if(this.clearInnerCtOnLayout===true&&this.adjustmentPass!==true){this.innerCt.setSize(null,null)}var l=this,p=l.getLayoutTargetSize(),m=l.getVisibleItems(),q=l.calculateChildBoxes(m,p),n=q.boxes,k=q.meta,j,r,o;if(l.autoSize&&q.meta.desiredSize){p[l.parallelPrefix]=q.meta.desiredSize}if(k.shortfall>0){j=l.overflowHandler;r=k.tooNarrow?"handleOverflow":"clearOverflow";o=j[r](q,p);if(o){if(o.targetSize){p=o.targetSize}if(o.recalculate){m=l.getVisibleItems();q=l.calculateChildBoxes(m,p);n=q.boxes}}}else{l.overflowHandler.clearOverflow()}l.layoutTargetLastSize=p;l.childBoxCache=q;l.updateInnerCtSize(p,q);l.updateChildBoxes(n);l.handleTargetOverflow(p)},animCallback:Ext.emptyFn,updateChildBoxes:function(v){var r=this,x=0,z=v.length,i=[],p=Ext.dd.DDM.getDDById(r.innerCt.id),B,w,y,u,t,A;for(;x<z;x++){w=v[x];u=w.component;if(p&&(p.getDragEl()===u.el.dom)){continue}y=false;B=r.getChildBox(u);if(r.animate){A=r.animate.callback||r.animate;t={layoutAnimation:true,target:u,from:{},to:{},listeners:{}};if(!isNaN(w.width)&&(w.width!=B.width)){y=true;t.to.width=w.width}if(!isNaN(w.height)&&(w.height!=B.height)){y=true;t.to.height=w.height}if(!isNaN(w.left)&&(w.left!=B.left)){y=true;t.to.left=w.left}if(!isNaN(w.top)&&(w.top!=B.top)){y=true;t.to.top=w.top}if(y){i.push(t)}}else{if(w.dirtySize){if(w.width!==B.width||w.height!==B.height){r.setItemSize(u,w.width,w.height)}}if(isNaN(w.left)||isNaN(w.top)){continue}u.setPosition(w.left,w.top)}}z=i.length;if(z){var q=function(a){z-=1;if(!z){r.animCallback(a);r.layoutBusy=false;if(Ext.isFunction(A)){A()}}};var s=function(){r.layoutBusy=true};for(x=0,z=i.length;x<z;x++){t=i[x];t.listeners.afteranimate=q;if(!x){t.listeners.beforeanimate=s}if(r.animate.duration){t.duration=r.animate.duration}u=t.target;delete t.target;u.stopAnimation();u.animate(t)}}},updateInnerCtSize:function(t,v){var p=this,r=Math.max,q=p.align,o=p.padding,u=t.width,m=t.height,l=v.meta,s,n;if(p.direction=="horizontal"){s=u;n=l.maxSize+o.top+o.bottom+p.innerCt.getBorderWidth("tb");if(q=="stretch"){n=m}else{if(q=="middle"){n=r(m,n)}}}else{n=m;s=l.maxSize+o.left+o.right+p.innerCt.getBorderWidth("lr");if(q=="stretch"){s=u}else{if(q=="center"){s=r(u,s)}}}p.getRenderTarget().setSize(s||undefined,n||undefined);if(l.calculatedWidth&&p.owner.el.getWidth()>l.calculatedWidth){p.owner.el.setWidth(l.calculatedWidth)}if(p.innerCt.dom.scrollTop){p.innerCt.dom.scrollTop=0}},handleTargetOverflow:function(h){var e=this.getTarget(),g=e.getStyle("overflow"),f;if(g&&g!="hidden"&&!this.adjustmentPass){f=this.getLayoutTargetSize();if(f.width!=h.width||f.height!=h.height){this.adjustmentPass=true;this.onLayout();return true}}delete this.adjustmentPass},isValidParent:function(h,g,f){var e=h.el?h.el.dom:Ext.getDom(h);return(e&&this.innerCt&&e.parentNode===this.innerCt.dom)||false},getRenderTarget:function(){if(!this.innerCt){this.innerCt=this.getTarget().createChild({cls:this.innerCls,role:"presentation"});this.padding=Ext.util.Format.parseBox(this.padding)}return this.innerCt},renderItem:function(k,i){this.callParent(arguments);var l=this,h=k.getEl(),g=h.dom.style,j=k.margins||k.margin;if(j){if(Ext.isString(j)||Ext.isNumber(j)){j=Ext.util.Format.parseBox(j)}else{Ext.applyIf(j,{top:0,right:0,bottom:0,left:0})}}else{j=Ext.apply({},l.defaultMargins)}j.top+=h.getMargin("t");j.right+=h.getMargin("r");j.bottom+=h.getMargin("b");j.left+=h.getMargin("l");j.height=j.top+j.bottom;j.width=j.left+j.right;g.marginTop=g.marginRight=g.marginBottom=g.marginLeft="0";k.margins=j},destroy:function(){Ext.destroy(this.innerCt,this.overflowHandler);this.callParent(arguments)}});Ext.define("Ext.layout.container.Fit",{extend:"Ext.layout.container.AbstractFit",alias:"layout.fit",alternateClassName:"Ext.layout.FitLayout",requires:["Ext.layout.container.Box"],defaultMargins:{top:0,right:0,bottom:0,left:0},onLayout:function(){var h=this,f,e,g;h.callParent();if(h.owner.items.length){e=h.owner.items.get(0);g=e.margins||h.defaultMargins;f=h.getLayoutTargetSize();f.width-=g.width;f.height-=g.height;h.setItemBox(e,f);if(g.left||g.top){e.setPosition(g.left,g.top)}}},getTargetBox:function(){return this.getLayoutTargetSize()},setItemBox:function(f,d){var e=this;if(f&&d.height>0){if(!e.owner.isFixedWidth()){d.width=undefined}if(!e.owner.isFixedHeight()){d.height=undefined}e.setItemSize(f,d.width,d.height)}},configureItem:function(b){b.layoutManagedHeight=0;b.layoutManagedWidth=0;this.callParent(arguments)}},function(){this.prototype.renderItem=Ext.layout.container.Box.prototype.renderItem});Ext.define("Ext.layout.container.AbstractCard",{extend:"Ext.layout.container.Fit",type:"card",sizeAllCards:false,hideInactive:true,deferredRender:false,beforeLayout:function(){var b=this;b.getActiveItem();if(b.activeItem&&b.deferredRender){b.renderItems([b.activeItem],b.getRenderTarget());return true}else{return this.callParent(arguments)}},renderChildren:function(){if(!this.deferredRender){this.getActiveItem();this.callParent()}},onLayout:function(){var k=this,j=k.activeItem,h=k.getVisibleItems(),l=h.length,i=k.getTargetBox(),n,m;for(n=0;n<l;n++){m=h[n];k.setItemBox(m,i)}if(!k.firstActivated&&j){if(j.fireEvent("beforeactivate",j)!==false){j.fireEvent("activate",j)}k.firstActivated=true}},isValidParent:function(h,g,f){var e=h.el?h.el.dom:Ext.getDom(h);return(e&&e.parentNode===(g.dom||g))||false},getActiveItem:function(){var b=this;if(!b.activeItem&&b.owner){b.activeItem=b.parseActiveItem(b.owner.activeItem)}if(b.activeItem&&b.owner.items.indexOf(b.activeItem)!=-1){return b.activeItem}return null},parseActiveItem:function(b){if(b&&b.isComponent){return b}else{if(typeof b=="number"||b===undefined){return this.getLayoutItems()[b||0]}else{return this.owner.getComponent(b)}}},configureItem:function(c,d){this.callParent([c,d]);if(this.hideInactive&&this.activeItem!==c){c.hide()}else{c.show()}},onRemove:function(b){if(b===this.activeItem){this.activeItem=null;if(this.owner.items.getCount()===0){this.firstActivated=false}}},getAnimation:function(d,e){var f=(d||{}).cardSwitchAnimation;if(f===false){return false}return f||e.cardSwitchAnimation},getNext:function(){var f=arguments[0];var e=this.getLayoutItems(),d=Ext.Array.indexOf(e,this.activeItem);return e[d+1]||(f?e[0]:false)},next:function(){var c=arguments[0],d=arguments[1];return this.setActiveItem(this.getNext(d),c)},getPrev:function(){var f=arguments[0];var e=this.getLayoutItems(),d=Ext.Array.indexOf(e,this.activeItem);return e[d-1]||(f?e[e.length-1]:false)},prev:function(){var c=arguments[0],d=arguments[1];return this.setActiveItem(this.getPrev(d),c)}});Ext.define("Ext.layout.container.Card",{alias:["layout.card"],alternateClassName:"Ext.layout.CardLayout",extend:"Ext.layout.container.AbstractCard",setActiveItem:function(f){var h=this,g=h.owner,i=h.activeItem,j;f=h.parseActiveItem(f);j=g.items.indexOf(f);if(j==-1){j=g.items.items.length;g.add(f)}if(f&&i!=f){if(!f.rendered){h.renderItem(f,h.getRenderTarget(),g.items.length);h.configureItem(f,0)}h.activeItem=f;if(f.fireEvent("beforeactivate",f,i)===false){return false}if(i&&i.fireEvent("beforedeactivate",i,f)===false){return false}if(h.sizeAllCards){h.onLayout()}else{h.setItemBox(f,h.getTargetBox())}h.owner.suspendLayout=true;if(i){if(h.hideInactive){i.hide()}i.fireEvent("deactivate",i,f)}h.owner.suspendLayout=false;if(f.hidden){f.show()}else{h.onLayout()}f.fireEvent("activate",f,i);return f}return false},configureItem:function(b){b.layoutManagedHeight=0;b.layoutManagedWidth=0;this.callParent(arguments)}});Ext.define("Ext.layout.container.HBox",{alias:["layout.hbox"],extend:"Ext.layout.container.Box",alternateClassName:"Ext.layout.HBoxLayout",align:"top",alignCenteringString:"middle",type:"hbox",direction:"horizontal",parallelSizeIndex:0,perpendicularSizeIndex:1,parallelPrefix:"width",parallelPrefixCap:"Width",parallelLT:"l",parallelRB:"r",parallelBefore:"left",parallelBeforeCap:"Left",parallelAfter:"right",parallelPosition:"x",perpendicularPrefix:"height",perpendicularPrefixCap:"Height",perpendicularLT:"t",perpendicularRB:"b",perpendicularLeftTop:"top",perpendicularRightBottom:"bottom",perpendicularPosition:"y",configureItem:function(b){if(b.flex){b.layoutManagedWidth=1}else{b.layoutManagedWidth=2}if(this.align==="stretch"||this.align==="stretchmax"){b.layoutManagedHeight=1}else{b.layoutManagedHeight=2}this.callParent(arguments)}});Ext.define("Ext.layout.container.VBox",{alias:["layout.vbox"],extend:"Ext.layout.container.Box",alternateClassName:"Ext.layout.VBoxLayout",align:"left",alignCenteringString:"center",type:"vbox",direction:"vertical",parallelSizeIndex:1,perpendicularSizeIndex:0,parallelPrefix:"height",parallelPrefixCap:"Height",parallelLT:"t",parallelRB:"b",parallelBefore:"top",parallelBeforeCap:"Top",parallelAfter:"bottom",parallelPosition:"y",perpendicularPrefix:"width",perpendicularPrefixCap:"Width",perpendicularLT:"l",perpendicularRB:"r",perpendicularLeftTop:"left",perpendicularRightBottom:"right",perpendicularPosition:"x",configureItem:function(b){if(b.flex){b.layoutManagedHeight=1}else{b.layoutManagedHeight=2}if(this.align==="stretch"||this.align==="stretchmax"){b.layoutManagedWidth=1}else{b.layoutManagedWidth=2}this.callParent(arguments)}});Ext.define("Ext.toolbar.Toolbar",{extend:"Ext.container.Container",requires:["Ext.toolbar.Fill","Ext.layout.container.HBox","Ext.layout.container.VBox","Ext.FocusManager"],uses:["Ext.toolbar.Separator"],alias:"widget.toolbar",alternateClassName:"Ext.Toolbar",isToolbar:true,baseCls:Ext.baseCSSPrefix+"toolbar",ariaRole:"toolbar",defaultType:"button",vertical:false,enableOverflow:false,menuTriggerCls:Ext.baseCSSPrefix+"toolbar-more-icon",trackMenus:true,itemCls:Ext.baseCSSPrefix+"toolbar-item",initComponent:function(){var c=this,d;if(!c.layout&&c.enableOverflow){c.layout={overflowHandler:"Menu"}}if(c.dock==="right"||c.dock==="left"){c.vertical=true}c.layout=Ext.applyIf(Ext.isString(c.layout)?{type:c.layout}:c.layout||{},{type:c.vertical?"vbox":"hbox",align:c.vertical?"stretchmax":"middle",clearInnerCtOnLayout:true});if(c.vertical){c.addClsWithUI("vertical")}if(c.ui==="footer"){c.ignoreBorderManagement=true}c.callParent();c.addEvents("overflowchange");d=c.vertical?["up","down"]:["left","right"];Ext.FocusManager.subscribe(c,{keys:d})},getRefItems:function(g){var h=this,f=h.callParent(arguments),i=h.layout,j;if(g&&h.enableOverflow){j=i.overflowHandler;if(j&&j.menu){f=f.concat(j.menu.getRefItems(g))}}return f},lookupComponent:function(c){if(Ext.isString(c)){var d=Ext.toolbar.Toolbar.shortcuts[c];if(d){c={xtype:d}}else{c={xtype:"tbtext",text:c}}this.applyDefaults(c)}return this.callParent(arguments)},applyDefaults:function(c){if(!Ext.isString(c)){c=this.callParent(arguments);var d=this.internalDefaults;if(c.events){Ext.applyIf(c.initialConfig,d);Ext.apply(c,d)}else{Ext.applyIf(c,d)}}return c},trackMenu:function(h,f){if(this.trackMenus&&h.menu){var g=f?"mun":"mon",e=this;e[g](h,"mouseover",e.onButtonOver,e);e[g](h,"menushow",e.onButtonMenuShow,e);e[g](h,"menuhide",e.onButtonMenuHide,e)}},constructButton:function(b){return b.events?b:this.createComponent(b,b.split?"splitbutton":this.defaultType)},onBeforeAdd:function(b){if(b.is("field")||(b.is("button")&&this.ui!="footer")){b.ui=b.ui+"-toolbar"}if(b instanceof Ext.toolbar.Separator){b.setUI((this.vertical)?"vertical":"horizontal")}this.callParent(arguments)},onAdd:function(b){this.callParent(arguments);this.trackMenu(b);if(this.disabled){b.disable()}},onRemove:function(b){this.callParent(arguments);this.trackMenu(b,true)},onButtonOver:function(b){if(this.activeMenuBtn&&this.activeMenuBtn!=b){this.activeMenuBtn.hideMenu();b.showMenu();this.activeMenuBtn=b}},onButtonMenuShow:function(b){this.activeMenuBtn=b},onButtonMenuHide:function(b){delete this.activeMenuBtn}},function(){this.shortcuts={"-":"tbseparator"," ":"tbspacer","->":"tbfill"}});Ext.define("Ext.panel.AbstractPanel",{extend:"Ext.container.Container",requires:["Ext.util.MixedCollection","Ext.Element","Ext.toolbar.Toolbar"],baseCls:Ext.baseCSSPrefix+"panel",isPanel:true,componentLayout:"dock",defaultDockWeights:{top:1,left:3,right:5,bottom:7},renderTpl:['<div id="{id}-body" class="{baseCls}-body<tpl if="bodyCls"> {bodyCls}</tpl>',' {baseCls}-body-{ui}<tpl if="uiCls">','<tpl for="uiCls"> {parent.baseCls}-body-{parent.ui}-{.}</tpl>','</tpl>"<tpl if="bodyStyle"> style="{bodyStyle}"</tpl>>',"</div>"],border:true,initComponent:function(){var b=this;b.addEvents("bodyresize");b.addChildEls("body");if(b.frame&&b.border&&b.bodyBorder===undefined){b.bodyBorder=false}if(b.frame&&b.border&&(b.bodyBorder===false||b.bodyBorder===0)){b.manageBodyBorders=true}b.callParent()},initItems:function(){var c=this,d=c.dockedItems;c.callParent();c.dockedItems=Ext.create("Ext.util.MixedCollection",false,c.getComponentId);if(d){c.addDocked(d)}},getDockedComponent:function(b){if(Ext.isObject(b)){b=b.getItemId()}return this.dockedItems.get(b)},getComponent:function(d){var c=this.callParent(arguments);if(c===undefined&&!Ext.isNumber(d)){c=this.getDockedComponent(d)}return c},initBodyStyles:function(){var i=this,g=i.bodyStyle,j=[],f=Ext.Element,h;if(Ext.isFunction(g)){g=g()}if(Ext.isString(g)){j=g.split(";")}else{for(h in g){if(g.hasOwnProperty(h)){j.push(h+":"+g[h])}}}if(i.bodyPadding!==undefined){j.push("padding: "+f.unitizeBox((i.bodyPadding===true)?5:i.bodyPadding))}if(i.frame&&i.bodyBorder){if(!Ext.isNumber(i.bodyBorder)){i.bodyBorder=1}j.push("border-width: "+f.unitizeBox(i.bodyBorder))}delete i.bodyStyle;return j.length?j.join(";"):undefined},initBodyCls:function(){var d=this,e="",f=d.bodyCls;if(f){Ext.each(f,function(a){e+=" "+a});delete d.bodyCls}return e.length>0?e:undefined},initRenderData:function(){return Ext.applyIf(this.callParent(),{bodyStyle:this.initBodyStyles(),bodyCls:this.initBodyCls()})},addDocked:function(h,i){var j=this,g=0,k,l;h=j.prepareItems(h);l=h.length;for(;g<l;g++){k=h[g];k.dock=k.dock||"top";if(j.border===false){}if(i!==undefined){j.dockedItems.insert(i+g,k)}else{j.dockedItems.add(k)}k.onAdded(j,g);j.onDockedAdd(k)}j.componentLayout.childrenChanged=true;if(j.rendered&&!j.suspendLayout){j.doComponentLayout()}return h},onDockedAdd:Ext.emptyFn,onDockedRemove:Ext.emptyFn,insertDocked:function(c,d){this.addDocked(d,c)},removeDocked:function(h,f){var i=this,j,g;if(!i.dockedItems.contains(h)){return h}j=i.componentLayout;g=j&&i.rendered;if(g){j.onRemove(h)}i.dockedItems.remove(h);h.onRemoved();i.onDockedRemove(h);if(f===true||(f!==false&&i.autoDestroy)){h.destroy()}else{if(g){j.afterRemove(h)}}i.componentLayout.childrenChanged=true;if(!i.destroying&&!i.suspendLayout){i.doComponentLayout()}return h},getDockedItems:function(h){var g=this,e=g.defaultDockWeights,f;if(g.dockedItems&&g.dockedItems.items.length){if(h){f=Ext.ComponentQuery.query(h,g.dockedItems.items)}else{f=g.dockedItems.items.slice()}Ext.Array.sort(f,function(c,d){var b=c.weight||e[c.dock],a=d.weight||e[d.dock];if(Ext.isNumber(b)&&Ext.isNumber(a)){return b-a}return 0});return f}return[]},addUIClsToElement:function(h,k){var l=this,i=l.callParent(arguments),m=[Ext.baseCSSPrefix+h,l.baseCls+"-body-"+h,l.baseCls+"-body-"+l.ui+"-"+h],j,n;if(!k&&l.rendered){if(l.bodyCls){l.body.addCls(l.bodyCls)}else{l.body.addCls(m)}}else{if(l.bodyCls){j=l.bodyCls.split(" ");for(n=0;n<m.length;n++){if(!Ext.Array.contains(j,m[n])){j.push(m[n])}}l.bodyCls=j.join(" ")}else{l.bodyCls=m.join(" ")}}return i},removeUIClsFromElement:function(h,k){var l=this,i=l.callParent(arguments),m=[Ext.baseCSSPrefix+h,l.baseCls+"-body-"+h,l.baseCls+"-body-"+l.ui+"-"+h],j,n;if(!k&&l.rendered){if(l.bodyCls){l.body.removeCls(l.bodyCls)}else{l.body.removeCls(m)}}else{if(l.bodyCls){j=l.bodyCls.split(" ");for(n=0;n<m.length;n++){Ext.Array.remove(j,m[n])}l.bodyCls=j.join(" ")}}return i},addUIToElement:function(h){var e=this,f=e.baseCls+"-body-"+e.ui,g;e.callParent(arguments);if(!h&&e.rendered){if(e.bodyCls){e.body.addCls(e.bodyCls)}else{e.body.addCls(f)}}else{if(e.bodyCls){g=e.bodyCls.split(" ");if(!Ext.Array.contains(g,f)){g.push(f)}e.bodyCls=g.join(" ")}else{e.bodyCls=f}}},removeUIFromElement:function(){var d=this,e=d.baseCls+"-body-"+d.ui,f;d.callParent(arguments);if(d.rendered){if(d.bodyCls){d.body.removeCls(d.bodyCls)}else{d.body.removeCls(e)}}else{if(d.bodyCls){f=d.bodyCls.split(" ");Ext.Array.remove(f,e);d.bodyCls=f.join(" ")}else{d.bodyCls=e}}},getTargetEl:function(){return this.body},getRefItems:function(h){var g=this.callParent(arguments),k=this.getDockedItems(h?"*,* *":undefined),i=k.length,l=0,j;for(;l<i;l++){j=k[l];if(j.dock==="right"||j.dock==="bottom"){break}}return Ext.Array.splice(k,0,l).concat(g).concat(k)},beforeDestroy:function(){var c=this.dockedItems,d;if(c){while((d=c.first())){this.removeDocked(d,true)}}this.callParent()},setBorder:function(d){var c=this;c.border=(d!==undefined)?d:true;if(c.rendered){c.doComponentLayout()}}});Ext.define("Ext.panel.Panel",{extend:"Ext.panel.AbstractPanel",requires:["Ext.panel.Header","Ext.fx.Anim","Ext.util.KeyMap","Ext.panel.DD","Ext.XTemplate","Ext.layout.component.Dock","Ext.util.Memento"],alias:"widget.panel",alternateClassName:"Ext.Panel",collapsedCls:"collapsed",animCollapse:Ext.enableFx,minButtonWidth:75,collapsed:false,collapseFirst:true,hideCollapseTool:false,titleCollapse:false,floatable:true,collapsible:false,closable:false,closeAction:"destroy",preventHeader:false,headerPosition:"top",frame:false,frameHeader:true,initComponent:function(){var c=this,d;c.addEvents("beforeclose","beforeexpand","beforecollapse","expand","collapse","titlechange","iconchange");this.addStateEvents("expand","collapse");if(c.unstyled){c.setUI("plain")}if(c.frame){c.setUI(c.ui+"-framed")}c.bridgeToolbars();c.callParent();c.collapseDirection=c.collapseDirection||c.headerPosition||Ext.Component.DIRECTION_TOP},setBorder:function(b){this.callParent(arguments)},beforeDestroy:function(){Ext.destroy(this.ghostPanel,this.dd);this.callParent()},initAria:function(){this.callParent();this.initHeaderAria()},initHeaderAria:function(){var d=this,e=d.el,f=d.header;if(e&&f){e.dom.setAttribute("aria-labelledby",f.titleCmp.id)}},getHeader:function(){return this.header},setTitle:function(f){var d=this,e=this.title;d.title=f;if(d.header){d.header.setTitle(f)}else{d.updateHeader()}if(d.reExpander){d.reExpander.setTitle(f)}d.fireEvent("titlechange",d,f,e)},setIconCls:function(f){var h=this,e=h.iconCls;h.iconCls=f;var g=h.header;if(g){g.setIconCls(f)}h.fireEvent("iconchange",h,f,e)},bridgeToolbars:function(){var h=this,i=[],l,g,j=h.minButtonWidth;function k(c,a,b){if(Ext.isArray(c)){c={xtype:"toolbar",items:c}}else{if(!c.xtype){c.xtype="toolbar"}}c.dock=a;if(a=="left"||a=="right"){c.vertical=true}if(b){c.layout=Ext.applyIf(c.layout||{},{pack:{left:"start",center:"center"}[h.buttonAlign]||"end"})}return c}if(h.tbar){i.push(k(h.tbar,"top"));h.tbar=null}if(h.bbar){i.push(k(h.bbar,"bottom"));h.bbar=null}if(h.buttons){h.fbar=h.buttons;h.buttons=null}if(h.fbar){l=k(h.fbar,"bottom",true);l.ui="footer";if(j){g=l.defaults;l.defaults=function(b){var a=g||{};if((!b.xtype||b.xtype==="button"||(b.isComponent&&b.isXType("button")))&&!("minWidth" in a)){a=Ext.apply({minWidth:j},a)}return a}}i.push(l);h.fbar=null}if(h.lbar){i.push(k(h.lbar,"left"));h.lbar=null}if(h.rbar){i.push(k(h.rbar,"right"));h.rbar=null}if(h.dockedItems){if(!Ext.isArray(h.dockedItems)){h.dockedItems=[h.dockedItems]}h.dockedItems=h.dockedItems.concat(i)}else{h.dockedItems=i}},initTools:function(){var b=this;b.tools=b.tools?Ext.Array.clone(b.tools):[];if(b.collapsible&&!(b.hideCollapseTool||b.header===false)){b.collapseDirection=b.collapseDirection||b.headerPosition||"top";b.collapseTool=b.expandTool=b.createComponent({xtype:"tool",type:"collapse-"+b.collapseDirection,expandType:b.getOppositeDirection(b.collapseDirection),handler:b.toggleCollapse,scope:b});if(b.collapseFirst){b.tools.unshift(b.collapseTool)}}b.addTools();if(b.closable){b.addClsWithUI("closable");b.addTool({type:"close",handler:Ext.Function.bind(b.close,this,[])})}if(b.collapseTool&&!b.collapseFirst){b.tools.push(b.collapseTool)}},addTools:Ext.emptyFn,close:function(){if(this.fireEvent("beforeclose",this)!==false){this.doClose()}},doClose:function(){this.fireEvent("close",this);this[this.closeAction]()},onRender:function(e,f){var g=this,h;g.initTools();g.updateHeader();g.callParent(arguments)},afterRender:function(){var b=this;b.callParent(arguments);if(b.collapsed){b.collapsed=false;b.collapse(null,false,true)}},updateHeader:function(f){var g=this,h=g.header,i=g.title,j=g.tools;if(!g.preventHeader&&(f||i||(j&&j.length))){if(!h){h=g.header=Ext.create("Ext.panel.Header",{title:i,orientation:(g.headerPosition=="left"||g.headerPosition=="right")?"vertical":"horizontal",dock:g.headerPosition||"top",textCls:g.headerTextCls,iconCls:g.iconCls,baseCls:g.baseCls+"-header",tools:j,ui:g.ui,indicateDrag:g.draggable,border:g.border,frame:g.frame&&g.frameHeader,ignoreParentFrame:g.frame||g.overlapHeader,ignoreBorderManagement:g.frame||g.ignoreHeaderBorderManagement,listeners:g.collapsible&&g.titleCollapse?{click:g.toggleCollapse,scope:g}:null});g.addDocked(h,0);g.tools=h.tools}h.show();g.initHeaderAria()}else{if(h){h.hide()}}},setUI:function(c){var d=this;d.callParent(arguments);if(d.header){d.header.setUI(c)}},getContentTarget:function(){return this.body},getTargetEl:function(){return this.body||this.frameBody||this.el},isVisible:function(d){var c=this;if(c.collapsed&&c.placeholder){return c.placeholder.isVisible(d)}return c.callParent(arguments)},onHide:function(){var b=this;if(b.collapsed&&b.placeholder){b.placeholder.hide()}else{b.callParent(arguments)}},onShow:function(){var b=this;if(b.collapsed&&b.placeholder){b.hidden=true;b.placeholder.show()}else{b.callParent(arguments)}},addTool:function(e){var d=this,f=d.header;if(Ext.isArray(e)){Ext.each(e,d.addTool,d);return}d.tools.push(e);if(f){f.addTool(e)}d.updateHeader()},getOppositeDirection:function(d){var c=Ext.Component;switch(d){case c.DIRECTION_TOP:return c.DIRECTION_BOTTOM;case c.DIRECTION_RIGHT:return c.DIRECTION_LEFT;case c.DIRECTION_BOTTOM:return c.DIRECTION_TOP;case c.DIRECTION_LEFT:return c.DIRECTION_RIGHT}},collapse:function(w,J,H){var i=this,x=Ext.Component,G=i.getHeight(),F=i.getWidth(),c,N=0,A=i.dockedItems.items,z=A.length,B=0,y,I,C={from:{height:G,width:F},to:{height:G,width:F},listeners:{afteranimate:i.afterCollapse,scope:i},duration:Ext.Number.from(J,Ext.fx.Anim.prototype.duration)},K,L,E,M,D;if(!w){w=i.collapseDirection}if(H){J=false}else{if(i.collapsed||i.fireEvent("beforecollapse",i,w,J)===false){return false}}E=w;i.expandDirection=i.getOppositeDirection(w);i.hiddenDocked=[];switch(w){case x.DIRECTION_TOP:case x.DIRECTION_BOTTOM:L="horizontal";D="height";M="getHeight";for(;B<z;B++){y=A[B];if(y.isVisible()){if(y.isXType("header",true)&&(!y.dock||y.dock=="top"||y.dock=="bottom")){K=y}else{i.hiddenDocked.push(y)}}else{if(y===i.reExpander){K=y}}}if(w==Ext.Component.DIRECTION_BOTTOM){I=i.getPosition()[1]-Ext.fly(i.el.dom.offsetParent).getRegion().top;C.from.top=I}break;case x.DIRECTION_LEFT:case x.DIRECTION_RIGHT:L="vertical";D="width";M="getWidth";for(;B<z;B++){y=A[B];if(y.isVisible()){if(y.isHeader&&(y.dock=="left"||y.dock=="right")){K=y}else{i.hiddenDocked.push(y)}}else{if(y===i.reExpander){K=y}}}if(w==Ext.Component.DIRECTION_RIGHT){I=i.getPosition()[0]-Ext.fly(i.el.dom.offsetParent).getRegion().left;C.from.left=I}break;default:throw ("Panel collapse must be passed a valid Component collapse direction")}if(J&&i.collapseTool){i.collapseTool.disable()}i.addClsWithUI(i.collapsedCls);if(K&&K.rendered){K.addClsWithUI(i.collapsedCls);K.addClsWithUI(i.collapsedCls+"-"+K.dock);if(i.border&&(!i.frame||(i.frame&&Ext.supports.CSS3BorderRadius))){K.addClsWithUI(i.collapsedCls+"-border-"+K.dock)}c=K.getFrameInfo();N=K[M]()+(c?c[w]:0);K.removeClsWithUI(i.collapsedCls);K.removeClsWithUI(i.collapsedCls+"-"+K.dock);if(i.border&&(!i.frame||(i.frame&&Ext.supports.CSS3BorderRadius))){K.removeClsWithUI(i.collapsedCls+"-border-"+K.dock)}}else{K={hideMode:"offsets",temporary:true,title:i.title,orientation:L,dock:E,textCls:i.headerTextCls,iconCls:i.iconCls,baseCls:i.baseCls+"-header",ui:i.ui,frame:i.frame&&i.frameHeader,ignoreParentFrame:i.frame||i.overlapHeader,indicateDrag:i.draggable,cls:i.baseCls+"-collapsed-placeholder "+Ext.baseCSSPrefix+"docked "+i.baseCls+"-"+i.ui+"-collapsed",renderTo:i.el};if(!i.hideCollapseTool){K[(K.orientation=="horizontal")?"tools":"items"]=[{xtype:"tool",type:"expand-"+i.expandDirection,handler:i.toggleCollapse,scope:i}]}K=i.reExpander=Ext.create("Ext.panel.Header",K);N=K[M]()+((K.frame)?K.frameSize[w]:0);K.hide();i.insertDocked(0,K)}i.reExpander=K;i.reExpander.addClsWithUI(i.collapsedCls);i.reExpander.addClsWithUI(i.collapsedCls+"-"+K.dock);if(i.border&&(!i.frame||(i.frame&&Ext.supports.CSS3BorderRadius))){i.reExpander.addClsWithUI(i.collapsedCls+"-border-"+i.reExpander.dock)}if(w==Ext.Component.DIRECTION_RIGHT){C.to.left=I+(F-N)}else{if(w==Ext.Component.DIRECTION_BOTTOM){C.to.top=I+(G-N)}}C.to[D]=N;if(!i.collapseMemento){i.collapseMemento=new Ext.util.Memento(i)}i.collapseMemento.capture(["width","height","minWidth","minHeight","layoutManagedHeight","layoutManagedWidth"]);i.savedFlex=i.flex;i.minWidth=0;i.minHeight=0;delete i.flex;i.suspendLayout=true;if(J){i.animate(C)}else{i.setSize(C.to.width,C.to.height);if(Ext.isDefined(C.to.left)||Ext.isDefined(C.to.top)){i.setPosition(C.to.left,C.to.top)}i.afterCollapse(false,H)}return i},afterCollapse:function(h,f){var i=this,j=0,g=i.hiddenDocked.length;i.collapseMemento.restore(["minWidth","minHeight"]);if(Ext.Component.VERTICAL_DIRECTION_Re.test(i.expandDirection)){i.layoutManagedHeight=2;i.collapseMemento.restore("width",false)}else{i.layoutManagedWidth=2;i.collapseMemento.restore("height",false)}i.saveScrollTop=i.body.dom.scrollTop;i.body.setStyle("display","none");for(;j<g;j++){i.hiddenDocked[j].hide()}if(i.reExpander){i.reExpander.updateFrame();i.reExpander.show()}i.collapsed=true;i.suspendLayout=false;if(!f){if(i.ownerCt){if(h){i.ownerCt.layout.layout()}}else{if(i.reExpander.temporary){i.doComponentLayout()}}}if(i.resizer){i.resizer.disable()}if(i.collapseTool){i.collapseTool.setType("expand-"+i.expandDirection)}if(!f){i.fireEvent("collapse",i)}if(h&&i.collapseTool){i.collapseTool.enable()}},expand:function(q){var m=this;if(!m.collapsed||m.fireEvent("beforeexpand",m,q)===false){return false}var n=0,p=m.hiddenDocked.length,k=m.expandDirection,i=m.getHeight(),r=m.getWidth(),l,o;if(q&&m.collapseTool){m.collapseTool.disable()}for(;n<p;n++){m.hiddenDocked[n].hidden=false;m.hiddenDocked[n].el.show()}if(m.reExpander){if(m.reExpander.temporary){m.reExpander.hide()}else{m.reExpander.removeClsWithUI(m.collapsedCls);m.reExpander.removeClsWithUI(m.collapsedCls+"-"+m.reExpander.dock);if(m.border&&(!m.frame||(m.frame&&Ext.supports.CSS3BorderRadius))){m.reExpander.removeClsWithUI(m.collapsedCls+"-border-"+m.reExpander.dock)}m.reExpander.updateFrame()}}if(m.collapseTool){m.collapseTool.setType("collapse-"+m.collapseDirection)}m.body.setStyle("display","");m.body.dom.scrollTop=m.saveScrollTop;m.collapsed=false;m.removeClsWithUI(m.collapsedCls);o={to:{},from:{height:i,width:r},listeners:{afteranimate:m.afterExpand,scope:m}};if((k==Ext.Component.DIRECTION_TOP)||(k==Ext.Component.DIRECTION_BOTTOM)){m.collapseMemento.restore("height",false);if(m.height===undefined){m.setCalculatedSize(m.width,null);o.to.height=m.getHeight();m.setCalculatedSize(m.width,o.from.height)}else{if(m.savedFlex){m.flex=m.savedFlex;o.to.height=m.ownerCt.layout.calculateChildBox(m).height;delete m.flex}else{o.to.height=m.height}}if(k==Ext.Component.DIRECTION_TOP){l=m.getPosition()[1]-Ext.fly(m.el.dom.offsetParent).getRegion().top;o.from.top=l;o.to.top=l-(o.to.height-i)}}else{if((k==Ext.Component.DIRECTION_LEFT)||(k==Ext.Component.DIRECTION_RIGHT)){m.collapseMemento.restore("width",false);if(m.width===undefined){m.setCalculatedSize(null,m.height);o.to.width=m.getWidth();m.setCalculatedSize(o.from.width,m.height)}else{if(m.savedFlex){m.flex=m.savedFlex;o.to.width=m.ownerCt.layout.calculateChildBox(m).width;delete m.flex}else{o.to.width=m.width}}if(k==Ext.Component.DIRECTION_LEFT){l=m.getPosition()[0]-Ext.fly(m.el.dom.offsetParent).getRegion().left;o.from.left=l;o.to.left=l-(o.to.width-r)}}}if(q){m.animate(o)}else{m.setCalculatedSize(o.to.width,o.to.height);if(o.to.x){m.setLeft(o.to.x)}if(o.to.y){m.setTop(o.to.y)}m.afterExpand(false)}return m},afterExpand:function(c){var d=this;if(d.savedFlex){d.flex=d.savedFlex;delete d.savedFlex;delete d.width;delete d.height}if(d.collapseMemento){d.collapseMemento.restoreAll()}if(c&&d.ownerCt){Ext.defer(d.ownerCt.doLayout,Ext.isIE6?1:0,d)}if(d.resizer){d.resizer.enable()}d.fireEvent("expand",d);if(c&&d.collapseTool){d.collapseTool.enable()}},toggleCollapse:function(){if(this.collapsed){this.expand(this.animCollapse)}else{this.collapse(this.collapseDirection,this.animCollapse)}return this},getKeyMap:function(){if(!this.keyMap){this.keyMap=Ext.create("Ext.util.KeyMap",this.el,this.keys)}return this.keyMap},initDraggable:function(){this.dd=Ext.create("Ext.panel.DD",this,Ext.isBoolean(this.draggable)?null:this.draggable)},ghostTools:function(){var c=[],d=this.header.query("tool[hidden=false]");if(d.length){Ext.each(d,function(a){c.push({type:a.type})})}else{c=[{type:"placeholder"}]}return c},ghost:function(g){var i=this,f=i.ghostPanel,j=i.getBox(),h;if(!f){f=Ext.create("Ext.panel.Panel",{renderTo:i.floating?i.el.dom.parentNode:document.body,floating:{shadow:false},frame:Ext.supports.CSS3BorderRadius?i.frame:false,overlapHeader:i.overlapHeader,headerPosition:i.headerPosition,baseCls:i.baseCls,cls:i.baseCls+"-ghost "+(g||"")});i.ghostPanel=f}f.floatParent=i.floatParent;if(i.floating){f.setZIndex(Ext.Number.from(i.el.getStyle("zIndex"),0))}else{f.toFront()}h=f.header;if(h){h.suspendLayout=true;Ext.Array.forEach(h.query("tool"),function(a){h.remove(a)});h.suspendLayout=false}f.addTool(i.ghostTools());f.setTitle(i.title);f.setIconCls(i.iconCls);f.el.show();f.setPosition(j.x,j.y);f.setSize(j.width,j.height);i.el.hide();if(i.floatingItems){i.floatingItems.hide()}return f},unghost:function(d,e){var f=this;if(!f.ghostPanel){return}if(d!==false){f.el.show();if(e!==false){f.setPosition(f.ghostPanel.getPosition())}if(f.floatingItems){f.floatingItems.show()}Ext.defer(f.focus,10,f)}f.ghostPanel.el.hide()},initResizable:function(b){if(this.collapsed){b.disabled=true}this.callParent([b])}},function(){this.prototype.animCollapse=Ext.enableFx});Ext.define("Ext.tab.Panel",{extend:"Ext.panel.Panel",alias:"widget.tabpanel",alternateClassName:["Ext.TabPanel"],requires:["Ext.layout.container.Card","Ext.tab.Bar"],tabPosition:"top",removePanelHeader:true,plain:false,itemCls:"x-tabpanel-child",minTabWidth:undefined,maxTabWidth:undefined,deferredRender:true,initComponent:function(){var f=this,d=f.dockedItems||[],e=f.activeTab||0;f.layout=Ext.create("Ext.layout.container.Card",Ext.apply({owner:f,deferredRender:f.deferredRender,itemCls:f.itemCls},f.layout));f.tabBar=Ext.create("Ext.tab.Bar",Ext.apply({},f.tabBar,{dock:f.tabPosition,plain:f.plain,border:f.border,cardLayout:f.layout,tabPanel:f}));if(d&&!Ext.isArray(d)){d=[d]}d.push(f.tabBar);f.dockedItems=d;f.addEvents("beforetabchange","tabchange");f.callParent(arguments);f.setActiveTab(e);f.on("afterlayout",f.afterInitialLayout,f,{single:true})},afterInitialLayout:function(){var c=this,d=c.getComponent(c.activeTab);if(d){c.layout.setActiveItem(d)}},setActiveTab:function(e){var f=this,d;e=f.getComponent(e);if(e){d=f.getActiveTab();if(d&&d!==e&&f.fireEvent("beforetabchange",f,e,d)===false){return false}f.tabBar.setActiveTab(e.tab);f.activeTab=e;if(f.rendered){f.layout.setActiveItem(e)}if(d&&d!==e){f.fireEvent("tabchange",f,e,d)}}},getActiveTab:function(){return this.activeTab},getTabBar:function(){return this.tabBar},onAdd:function(h,j){var i=this,f=h.tabConfig||{},g={xtype:"tab",card:h,disabled:h.disabled,closable:h.closable,hidden:h.hidden,tabBar:i.tabBar};if(h.closeText){g.closeText=h.closeText}f=Ext.applyIf(f,g);h.tab=i.tabBar.insert(j,f);h.on({scope:i,enable:i.onItemEnable,disable:i.onItemDisable,beforeshow:i.onItemBeforeShow,iconchange:i.onItemIconChange,titlechange:i.onItemTitleChange});if(h.isPanel){if(i.removePanelHeader){h.preventHeader=true;if(h.rendered){h.updateHeader()}}if(h.isPanel&&i.border){h.setBorder(false)}}if(this.rendered&&i.items.getCount()===1){i.setActiveTab(0)}},onItemEnable:function(b){b.tab.enable()},onItemDisable:function(b){b.tab.disable()},onItemBeforeShow:function(b){if(b!==this.activeTab){this.setActiveTab(b);return false}},onItemIconChange:function(c,d){c.tab.setIconCls(d);this.getTabBar().doLayout()},onItemTitleChange:function(d,c){d.tab.setText(c);this.getTabBar().doLayout()},doRemove:function(i,f){var j=this,g=j.items,h=g.getCount()>1;if(j.destroying||!h){j.activeTab=null}else{if(i===j.activeTab){j.setActiveTab(i.next()||g.getAt(0))}}j.callParent(arguments);delete i.tab.card;delete i.tab},onRemove:function(f,e){var d=this;f.un({scope:d,enable:d.onItemEnable,disable:d.onItemDisable,beforeshow:d.onItemBeforeShow});if(!d.destroying&&f.tab.ownerCt==d.tabBar){d.tabBar.remove(f.tab)}}});Ext.define("Docs.view.examples.TouchContainer",{extend:"Ext.panel.Panel",alias:"widget.touchexamplecontainer",requires:["Docs.view.examples.Device"],layout:"fit",cls:"example-container iScroll",autoScroll:true,bodyPadding:"10 0 5 0",exampleBaseUrl:"touch/examples/",initComponent:function(){this.dockedItems=[{xtype:"container",dock:"top",html:['<h1 class="example-title">Example</h1>','<div class="cls-grouping example-toolbar">','<div class="devices">','<button class="phone selected">Phone</button>','<button class="tablet">Tablet</button>',"</div>",'<span class="separator"> </span>','<div class="orientations">','<button class="landscape selected">Landscape</button>','<button class="portrait">Portrait</button>',"<div>",'<span class="separator"> </span>',"<div>",'<button class="new-window">Open in new window</button>',"<div>","</div>"].join("")}];if(Docs.exampleBaseUrl){this.exampleBaseUrl=Docs.exampleBaseUrl}this.callParent(arguments)},load:function(b){this.title=b.text+" Example";this.device=Ext.create("Docs.view.examples.Device",{url:this.exampleBaseUrl+b.url,device:b.device||"phone",orientation:b.orientation||"landscape"});this.refresh()},refresh:function(){this.update(this.device.toHtml());this.updateScale();this.updateTitle();this.updateButtons()},setDevice:function(b){this.device.setDevice(b);this.refresh()},setOrientation:function(b){this.device.setOrientation(b);this.refresh()},updateScale:function(){var b=Ext.query("iframe",this.el.dom)[0];if(b){b.onload=Ext.Function.bind(function(){var d=document.createElement("style");var a="html { overflow: hidden }";if(this.device.getDevice()==="tablet"){a+="body { font-size: 79.8% !important; }"}d.innerHTML=a;b.contentWindow.document.body.appendChild(d)},this)}},updateTitle:function(){Ext.get(Ext.query(".example-title")).update(this.title)},updateButtons:function(){Ext.Array.each(Ext.query(".example-toolbar .orientations button"),function(b){Ext.get(b).removeCls("selected")});Ext.get(Ext.query(".example-toolbar .orientations button."+this.device.getOrientation())).addCls("selected");Ext.Array.each(Ext.query(".example-toolbar .devices button"),function(b){Ext.get(b).removeCls("selected")});Ext.get(Ext.query(".example-toolbar .devices button."+this.device.getDevice())).addCls("selected")},clear:function(){this.update("")}});Ext.define("Docs.view.cls.Toolbar",{extend:"Ext.toolbar.Toolbar",requires:["Docs.view.HoverMenuButton","Docs.Settings","Ext.form.field.Checkbox"],dock:"top",cls:"member-links",padding:"3 5",style:"border-width: 1px 1px 1px 1px !important;",docClass:{},initComponent:function(){this.addEvents("hideInherited","filter","toggleExpanded");this.items=[];this.memberButtons={};var g=this;var i={cfg:"Configs",property:"Properties",method:"Methods",event:"Events"};for(var k in i){var h=this.docClass.members[k];var j=this.docClass.statics[k];if(h.length||j.length){var l=this.createMemberButton({text:i[k],type:k,members:h.concat(j)});this.memberButtons[k]=l;this.items.push(l)}}if(this.docClass.subclasses.length){this.items.push(this.createClassListButton("Sub Classes",this.docClass.subclasses))}if(this.docClass.mixedInto.length){this.items.push(this.createClassListButton("Mixed Into",this.docClass.mixedInto))}this.items=this.items.concat([{xtype:"tbspacer",width:10},this.filterField=Ext.widget("triggerfield",{triggerCls:"reset",cls:"member-filter",hideTrigger:true,emptyText:"Filter class members",enableKeyEvents:true,listeners:{keyup:function(a){this.fireEvent("filter",a.getValue());a.setHideTrigger(a.getValue().length===0)},specialkey:function(a,b){if(b.keyCode===Ext.EventObject.ESC){a.reset();this.fireEvent("filter","")}},scope:this},onTriggerClick:function(){this.reset();this.focus();g.fireEvent("filter","");this.setHideTrigger(true)}}),{xtype:"tbfill"},{boxLabel:"Hide inherited",boxLabelAlign:"before",xtype:"checkbox",margin:"0 5 0 0",padding:"0 0 5 0",checked:Docs.Settings.get("hideInherited"),handler:function(a){this.fireEvent("hideInherited",a.checked)},scope:this},{xtype:"button",iconCls:"expandAllMembers",tooltip:"Expand all",enableToggle:true,toggleHandler:function(b,a){b.setIconCls(a?"collapseAllMembers":"expandAllMembers");b.setTooltip(a?"Collapse all":"Expand all");this.fireEvent("toggleExpanded",a)},scope:this}]);this.callParent(arguments)},createMemberButton:function(d){var c=Ext.Array.map(d.members,function(a){return this.createLinkRecord(this.docClass.name,a)},this);return Ext.create("Docs.view.HoverMenuButton",{text:d.text,cls:"icon-"+d.type,store:this.createStore(c),showCount:true,listeners:{click:function(){this.up("classoverview").scrollToEl("#m-"+d.type)},scope:this}})},createClassListButton:function(f,e){var d=Ext.Array.map(e,function(a){return this.createLinkRecord(a)},this);return Ext.create("Docs.view.HoverMenuButton",{text:f,cls:"icon-subclass",showCount:true,store:this.createStore(d)})},createStore:function(c){var d=Ext.create("Ext.data.Store",{fields:["id","cls","url","label","inherited","static","protected","deprecated","template","required"]});d.add(c);return d},createLinkRecord:function(d,c){return{cls:d,url:c?(d+"-"+c.id):d,label:c?((c.tagname==="method"&&c.name==="constructor")?"new "+d:c.name):d,inherited:c?c.owner!==d:false,"protected":c?c["protected"]:false,"static":c?c["static"]:false,deprecated:c?c.deprecated:false,template:c?c.template:false,required:c?c.required:false}},hideInherited:function(b){Ext.Array.forEach(["cfg","property","method","event"],function(d){if(this.memberButtons[d]){var a=this.memberButtons[d].getStore();if(b){a.filterBy(function(c){return !c.get("inherited")})}else{a.clearFilter()}}},this)},getFilterValue:function(){return this.filterField.getValue()}});Ext.define("Docs.view.examples.InlineEditor",{extend:"Ext.Panel",style:"border: 0",bodyPadding:2,bodyStyle:"background: #f7f7f7",autoScroll:true,initComponent:function(){this.addEvents("change");this.on("afterlayout",this.initCodeMirror,this);this.callParent(arguments)},initCodeMirror:function(b){if(!this.codemirror){this.codemirror=CodeMirror(this.body,{mode:"javascript",indentUnit:4,value:this.value,onChange:Ext.Function.bind(function(a){this.fireEvent("change")},this)})}},refresh:function(){this.codemirror.refresh()},getValue:function(){return this.codemirror?this.codemirror.getValue():this.value},getHeight:function(){var b=this.el.down(".CodeMirror-lines");return b?b.getHeight():undefined},selectAll:function(){var d=this.codemirror.lineCount()-1;var c=this.codemirror.getLine(d).length;this.codemirror.setSelection({line:0,ch:0},{line:d,ch:c})}});Ext.define("Docs.view.examples.InlinePreview",{extend:"Ext.Panel",requires:["Docs.view.examples.Device"],bodyPadding:"0 10",statics:{iframeId:0},options:{},initComponent:function(){this.html=this.getHtml();this.callParent(arguments)},getHtml:function(){if(Docs.touchExamplesUi){return Ext.create("Docs.view.examples.Device",{url:"eg-iframe.html",id:this.getIframeId(),device:this.options.device,orientation:this.options.orientation}).toHtml()}else{var b=new Ext.XTemplate('<iframe id="{id}" style="width: 100%; height: 100%; border: 0"></iframe>');return b.apply({id:this.getIframeId()})}},update:function(f){var e=this.options;var d=document.getElementById(this.getIframeId());if(d){d.onload=function(){Ext.Function.defer(function(){d.contentWindow.loadInlineExample(f,e)},100)};d.src="eg-iframe.html"}},getIframeId:function(){if(!this.iframeId){this.statics().iframeId+=1;this.iframeId="eg-iframe"+this.statics().iframeId}return this.iframeId},getHeight:function(){return document.getElementById(this.getIframeId()).parentNode.clientHeight}});Ext.define("Docs.view.examples.Inline",{extend:"Ext.Panel",alias:"widget.inlineexample",requires:["Docs.view.examples.InlineEditor","Docs.view.examples.InlinePreview"],componentCls:"inline-example-cmp",layout:"card",border:0,resizable:{transparent:true,handles:"s",constrainTo:false},maxCodeHeight:400,dockedItems:[{xtype:"toolbar",dock:"left",padding:"0 2",style:"background: none;",items:[{iconCls:"code",padding:"0 2 0 0",margin:0,tooltip:"Code"},{padding:0,margin:0,iconCls:"preview",tooltip:"Preview"},{padding:0,margin:0,iconCls:"copy",tooltip:"Select"}]}],options:{},initComponent:function(){this.options=Ext.apply({device:"phone",orientation:"landscape"},this.options);this.items=[this.editor=Ext.create("Docs.view.examples.InlineEditor",{cmpName:"code",value:this.value,listeners:{change:this.updateHeight,scope:this}}),this.preview=Ext.create("Docs.view.examples.InlinePreview",{cmpName:"preview",options:this.options})];this.activeItem=this.options.preview?1:0;this.on("afterrender",this.init,this);this.callParent(arguments)},init:function(){var b=this.layout.getActiveItem();if(b.cmpName==="preview"){this.showPreview()}this.updateHeight()},showCode:function(){this.layout.setActiveItem(0);this.updateHeight()},showPreview:function(){this.preview.update(this.editor.getValue());this.layout.setActiveItem(1);this.updateHeight()},updateHeight:function(){var c=this.preview.getHeight();var d=this.editor.getHeight();if(Docs.touchExamplesUi&&c>0){this.setHeight(c)}else{if(d>0){this.setHeight(Ext.Number.constrain(d,0,this.maxCodeHeight))}}}});Ext.define("Docs.view.cls.Overview",{extend:"Ext.panel.Panel",alias:"widget.classoverview",requires:["Docs.view.cls.Toolbar","Docs.view.examples.Inline","Docs.Syntax","Docs.Settings"],cls:"class-overview iScroll",autoScroll:true,border:false,bodyPadding:"20 8 20 5",initComponent:function(){this.addEvents("afterload");this.callParent(arguments)},scrollToEl:function(i){var k=Ext.get(Ext.query(i)[0]);if(k){var j=k.hasCls("member");var g=k.getY()-(j?165:155);var l=this.getEl().down(".x-panel-body");var h=l.getScroll()["top"];l.scrollTo("top",h+g);if(j&&k.down(".expandable")){k.addCls("open")}k.highlight()}},load:function(b){this.docClass=b;if(this.toolbar){this.removeDocked(this.toolbar,false);this.toolbar.destroy()}this.toolbar=Ext.create("Docs.view.cls.Toolbar",{docClass:this.docClass,listeners:{hideInherited:function(a){this.filterMembers(this.toolbar.getFilterValue(),a)},filter:function(a){this.filterMembers(a,Docs.Settings.get("hideInherited"))},scope:this}});this.addDocked(this.toolbar);this.update(b.html);Docs.Syntax.highlight(this.getEl());if(Docs.Settings.get("hideInherited")){this.filterMembers("",true)}this.fireEvent("afterload")},filterMembers:function(e,g){Docs.Settings.set("hideInherited",g);var f=e.length>0;Ext.Array.forEach(Ext.query(".doc-contents, .hierarchy"),function(a){Ext.get(a).setStyle({display:f?"none":"block"})});var h=new RegExp(Ext.String.escapeRegex(e),"i");this.eachMember(function(b){var a=Ext.get(b.id);var c=!g||(b.owner===this.docClass.name);var d=!f||h.test(b.name);if(c&&d){a.setStyle({display:"block"})}else{a.setStyle({display:"none"})}},this);Ext.Array.forEach(Ext.query(".member.first-child"),function(a){Ext.get(a).removeCls("first-child")});Ext.Array.forEach(["cfg","property","method","event","css_var","css_mixin"],function(d){var c="#m-"+d;var a=this.getVisibleElements(c+" .member");var b=Ext.query(c)[0];b&&Ext.get(b).setStyle({display:a.length>0?"block":"none"});Ext.Array.forEach(Ext.query(c+" .subsection"),function(l){var k=this.getVisibleElements(".member",l);if(k.length>0){k[0].addCls("first-child");Ext.get(l).setStyle({display:"block"})}else{Ext.get(l).setStyle({display:"none"})}},this)},this);this.toolbar.hideInherited(g)},getVisibleElements:function(e,d){var f=Ext.Array.map(Ext.query(e,d),function(a){return Ext.get(a)});return Ext.Array.filter(f,function(a){return a.isVisible()})},eachMember:function(c,d){Ext.Array.forEach(["members","statics"],function(a){Ext.Object.each(this.docClass[a],function(b,f){Ext.Array.forEach(f,c,d)},this)},this)}});Ext.define("Docs.view.cls.Container",{extend:"Ext.container.Container",alias:"widget.classcontainer",requires:["Docs.view.cls.Header","Docs.view.cls.Overview"],layout:{type:"vbox",align:"stretch"},padding:"5 10 0 10",initComponent:function(){this.items=[Ext.create("Docs.view.cls.Header"),Ext.create("Docs.view.cls.Overview",{flex:1})];this.callParent(arguments)}});Ext.define("Ext.panel.Table",{extend:"Ext.panel.Panel",alias:"widget.tablepanel",uses:["Ext.selection.RowModel","Ext.grid.Scroller","Ext.grid.header.Container","Ext.grid.Lockable"],extraBaseCls:Ext.baseCSSPrefix+"grid",extraBodyCls:Ext.baseCSSPrefix+"grid-body",layout:"fit",hasView:false,viewType:null,selType:"rowmodel",scrollDelta:40,scroll:true,deferRowRender:true,sortableColumns:true,enableLocking:false,verticalScrollDock:"right",verticalScrollerType:"gridscroller",horizontalScrollerPresentCls:Ext.baseCSSPrefix+"horizontal-scroller-present",verticalScrollerPresentCls:Ext.baseCSSPrefix+"vertical-scroller-present",scrollerOwner:true,invalidateScrollerOnRefresh:true,enableColumnMove:true,enableColumnResize:true,enableColumnHide:true,initComponent:function(){if(!this.viewType){Ext.Error.raise("You must specify a viewType config.")}if(this.headers){Ext.Error.raise("The headers config is not supported. Please specify columns instead.")}var l=this,j=l.scroll,o=false,p=false,k=l.columns||l.colModel,m=0,i,n=l.border;if(l.hideHeaders){n=false}l.store=Ext.data.StoreManager.lookup(l.store||"ext-empty-store");if(k instanceof Ext.grid.header.Container){l.headerCt=k;l.headerCt.border=n;l.columns=l.headerCt.items.items}else{if(Ext.isArray(k)){k={items:k,border:n}}Ext.apply(k,{forceFit:l.forceFit,sortable:l.sortableColumns,enableColumnMove:l.enableColumnMove,enableColumnResize:l.enableColumnResize,enableColumnHide:l.enableColumnHide,border:n});l.columns=k.items;if(l.enableLocking||Ext.ComponentQuery.query("{locked !== undefined}{processed != true}",l.columns).length){l.self.mixin("lockable",Ext.grid.Lockable);l.injectLockable()}}l.addEvents("reconfigure","viewready","scrollerhide","scrollershow");l.bodyCls=l.bodyCls||"";l.bodyCls+=(" "+l.extraBodyCls);l.cls=l.cls||"";l.cls+=(" "+l.extraBaseCls);delete l.autoScroll;if(!l.hasView){if(!l.headerCt){l.headerCt=Ext.create("Ext.grid.header.Container",k)}l.columns=l.headerCt.items.items;if(l.hideHeaders){l.headerCt.height=0;l.headerCt.border=false;l.headerCt.addCls(Ext.baseCSSPrefix+"grid-header-ct-hidden");l.addCls(Ext.baseCSSPrefix+"grid-header-hidden");if(Ext.isIEQuirks){l.headerCt.style={display:"none"}}}if(j===true||j==="both"){o=p=true}else{if(j==="horizontal"){p=true}else{if(j==="vertical"){o=true}else{l.headerCt.availableSpaceOffset=0}}}if(o){l.verticalScroller=Ext.ComponentManager.create(l.initVerticalScroller());l.mon(l.verticalScroller,{bodyscroll:l.onVerticalScroll,scope:l})}if(p){l.horizontalScroller=Ext.ComponentManager.create(l.initHorizontalScroller());l.mon(l.horizontalScroller,{bodyscroll:l.onHorizontalScroll,scope:l})}l.headerCt.on("resize",l.onHeaderResize,l);l.relayHeaderCtEvents(l.headerCt);l.features=l.features||[];if(!Ext.isArray(l.features)){l.features=[l.features]}l.dockedItems=l.dockedItems||[];l.dockedItems.unshift(l.headerCt);l.viewConfig=l.viewConfig||{};l.viewConfig.invalidateScrollerOnRefresh=l.invalidateScrollerOnRefresh;i=l.getView();i.on({afterrender:function(){i.el.scroll=Ext.Function.bind(l.elScroll,l);l.mon(i.el,{mousewheel:l.onMouseWheel,scope:l})},single:true});l.items=[i];l.hasView=true;l.mon(i.store,{load:l.onStoreLoad,scope:l});l.mon(i,{viewReady:l.onViewReady,resize:l.onViewResize,refresh:{fn:l.onViewRefresh,scope:l,buffer:50},scope:l});this.relayEvents(i,["beforeitemmousedown","beforeitemmouseup","beforeitemmouseenter","beforeitemmouseleave","beforeitemclick","beforeitemdblclick","beforeitemcontextmenu","itemmousedown","itemmouseup","itemmouseenter","itemmouseleave","itemclick","itemdblclick","itemcontextmenu","beforecontainermousedown","beforecontainermouseup","beforecontainermouseover","beforecontainermouseout","beforecontainerclick","beforecontainerdblclick","beforecontainercontextmenu","containermouseup","containermouseover","containermouseout","containerclick","containerdblclick","containercontextmenu","selectionchange","beforeselect","select","beforedeselect","deselect"])}l.callParent(arguments)},onRender:function(){var d=this.verticalScroller,c=this.horizontalScroller;if(d){d.ensureDimension()}if(c){c.ensureDimension()}this.callParent(arguments)},initStateEvents:function(){var b=this.stateEvents;Ext.each(["columnresize","columnmove","columnhide","columnshow","sortchange"],function(a){if(Ext.Array.indexOf(b,a)){b.push(a)}});this.callParent()},initHorizontalScroller:function(){var c=this,d={xtype:"gridscroller",dock:"bottom",section:c,store:c.store};return d},initVerticalScroller:function(){var c=this,d=c.verticalScroller||{};Ext.applyIf(d,{xtype:c.verticalScrollerType,dock:c.verticalScrollDock,store:c.store});return d},relayHeaderCtEvents:function(b){this.relayEvents(b,["columnresize","columnmove","columnhide","columnshow","sortchange"])},getState:function(){var e=this,d=e.callParent(),f=e.store.sorters.first();d.columns=(e.headerCt||e).getColumnsState();if(f){d.sort={property:f.property,direction:f.direction}}return d},applyState:function(i){var j=this,h=i.sort,g=j.store,f=i.columns;delete i.columns;j.callParent(arguments);if(f){(j.headerCt||j).applyColumnsState(f)}if(h){if(g.remoteSort){g.sorters.add(Ext.create("Ext.util.Sorter",{property:h.property,direction:h.direction}))}else{g.sort(h.property,h.direction)}}},getStore:function(){return this.store},getView:function(){var d=this,c;if(!d.view){c=d.getSelectionModel();d.view=d.createComponent(Ext.apply({},d.viewConfig,{deferInitialRefresh:d.deferRowRender,xtype:d.viewType,store:d.store,headerCt:d.headerCt,selModel:c,features:d.features,panel:d}));d.mon(d.view,{uievent:d.processEvent,scope:d});c.view=d.view;d.headerCt.view=d.view;d.relayEvents(d.view,["cellclick","celldblclick"])}return d.view},setAutoScroll:Ext.emptyFn,elScroll:function(i,h,f){var j=this,g;if(i==="up"||i==="left"){h=-h}if(i==="down"||i==="up"){g=j.getVerticalScroller();if(g){g.scrollByDeltaY(h)}}else{g=j.getHorizontalScroller();if(g){g.scrollByDeltaX(h)}}},processEvent:function(n,e,j,p,o,l){var m=this,k;if(o!==-1){k=m.headerCt.getGridColumns()[o];return k.processEvent.apply(k,arguments)}},determineScrollbars:function(){if(this.determineScrollbarsRunning){return}this.determineScrollbarsRunning=true;var q=this,p=q.view,u,x,t,o,m,s,r=q.verticalScroller,v=q.horizontalScroller,n=(r&&r.ownerCt===q?1:0)|(v&&v.ownerCt===q?2:0),w=0;if(!q.collapsed&&p&&p.viewReady){u=p.el.getSize();o=u.width+((n&1)?r.width:0);s=u.height+((n&2)?v.height:0);t=(q.headerCt.query("[flex]").length&&!q.headerCt.layout.tooNarrow)?0:q.headerCt.getFullWidth();if(r&&r.el){m=r.getSizeCalculation().height}else{x=p.el.child("table",true);m=x?x.offsetHeight:0}if(m>s){w=1;if(v&&((o-t)<r.width)){w=3}}else{if(t>o){w=2;if(r&&((s-m)<v.height)){w=3}}}if(w!==n){q.suspendLayout=true;if(w&1){q.showVerticalScroller()}else{q.hideVerticalScroller()}if(w&2){q.showHorizontalScroller()}else{q.hideHorizontalScroller()}q.suspendLayout=false;q.doComponentLayout();q.getLayout().layout()}}delete q.determineScrollbarsRunning},onViewResize:function(){this.determineScrollbars()},afterComponentLayout:function(){this.callParent(arguments);this.determineScrollbars();this.invalidateScroller()},onHeaderResize:function(){if(!this.componentLayout.layoutBusy&&this.view&&this.view.rendered){this.determineScrollbars();this.invalidateScroller()}},afterCollapse:function(){var b=this;if(b.verticalScroller){b.verticalScroller.saveScrollPos()}if(b.horizontalScroller){b.horizontalScroller.saveScrollPos()}b.callParent(arguments)},afterExpand:function(){var b=this;b.callParent(arguments);if(b.verticalScroller){b.verticalScroller.restoreScrollPos()}if(b.horizontalScroller){b.horizontalScroller.restoreScrollPos()}},hideHorizontalScroller:function(){var b=this;if(b.horizontalScroller&&b.horizontalScroller.ownerCt===b){b.verticalScroller.setReservedSpace(0);b.removeDocked(b.horizontalScroller,false);b.removeCls(b.horizontalScrollerPresentCls);b.fireEvent("scrollerhide",b.horizontalScroller,"horizontal")}},showHorizontalScroller:function(){var b=this;if(b.verticalScroller){b.verticalScroller.setReservedSpace(Ext.getScrollbarSize().height-1)}if(b.horizontalScroller&&b.horizontalScroller.ownerCt!==b){b.addDocked(b.horizontalScroller);b.addCls(b.horizontalScrollerPresentCls);b.fireEvent("scrollershow",b.horizontalScroller,"horizontal")}},hideVerticalScroller:function(){var b=this;b.setHeaderReserveOffset(false);if(b.verticalScroller&&b.verticalScroller.ownerCt===b){b.removeDocked(b.verticalScroller,false);b.removeCls(b.verticalScrollerPresentCls);b.fireEvent("scrollerhide",b.verticalScroller,"vertical")}},showVerticalScroller:function(){var b=this;b.setHeaderReserveOffset(true);if(b.verticalScroller&&b.verticalScroller.ownerCt!==b){b.addDocked(b.verticalScroller);b.addCls(b.verticalScrollerPresentCls);b.fireEvent("scrollershow",b.verticalScroller,"vertical")}},setHeaderReserveOffset:function(e){var f=this.headerCt,d=f.layout;if(d&&d.reserveOffset!==e){d.reserveOffset=e;if(!this.suspendLayout){f.doLayout()}}},invalidateScroller:function(){var d=this,e=d.verticalScroller,f=d.horizontalScroller;if(e){e.invalidate()}if(f){f.invalidate()}},onHeaderMove:function(h,g,f,e){this.view.refresh()},onHeaderHide:function(d,c){this.invalidateScroller()},onHeaderShow:function(d,c){this.invalidateScroller()},getVerticalScroller:function(){return this.getScrollerOwner().down("gridscroller[dock="+this.verticalScrollDock+"]")},getHorizontalScroller:function(){return this.getScrollerOwner().down("gridscroller[dock=bottom]")},onMouseWheel:function(u){var t=this,x=t.getVerticalScroller(),s=t.getHorizontalScroller(),E=-t.scrollDelta,D=u.getWheelDeltas(),z=E*D.x,A=E*D.y,v,r,F,e,C,y,w,B;if(s){r=s.scrollEl;if(r){e=r.dom;y=e.scrollLeft!==e.scrollWidth-e.clientWidth;C=e.scrollLeft!==0}}if(x){v=x.scrollEl;if(v){F=v.dom;w=F.scrollTop!==F.scrollHeight-F.clientHeight;B=F.scrollTop!==0}}if(s){if((z<0&&C)||(z>0&&y)){u.stopEvent();s.scrollByDeltaX(z)}}if(x){if((A<0&&B)||(A>0&&w)){u.stopEvent();x.scrollByDeltaY(A)}}},onViewReady:function(){var b=this;b.fireEvent("viewready",b);if(b.deferRowRender){b.determineScrollbars();b.invalidateScroller()}},onViewRefresh:function(){var b=this;if(!b.rendering){this.determineScrollbars();if(this.invalidateScrollerOnRefresh){this.invalidateScroller()}}},setScrollTop:function(g){var h=this,e=h.getScrollerOwner(),f=h.getVerticalScroller();e.virtualScrollTop=g;if(f){f.setScrollTop(g)}},getScrollerOwner:function(){var b=this;if(!this.scrollerOwner){b=this.up("[scrollerOwner]")}return b},scrollByDeltaY:function(d){var c=this.getVerticalScroller();if(c){c.scrollByDeltaY(d)}},scrollByDeltaX:function(d){var c=this.getHorizontalScroller();if(c){c.scrollByDeltaX(d)}},getLhsMarker:function(){var b=this;if(!b.lhsMarker){b.lhsMarker=Ext.DomHelper.append(b.el,{cls:Ext.baseCSSPrefix+"grid-resize-marker"},true)}return b.lhsMarker},getRhsMarker:function(){var b=this;if(!b.rhsMarker){b.rhsMarker=Ext.DomHelper.append(b.el,{cls:Ext.baseCSSPrefix+"grid-resize-marker"},true)}return b.rhsMarker},getSelectionModel:function(){if(!this.selModel){this.selModel={}}var c="SINGLE",d;if(this.simpleSelect){c="SIMPLE"}else{if(this.multiSelect){c="MULTI"}}Ext.applyIf(this.selModel,{allowDeselect:this.allowDeselect,mode:c});if(!this.selModel.events){d=this.selModel.selType||this.selType;this.selModel=Ext.create("selection."+d,this.selModel)}if(!this.selModel.hasRelaySetup){this.relayEvents(this.selModel,["selectionchange","beforeselect","beforedeselect","select","deselect"]);this.selModel.hasRelaySetup=true}if(this.disableSelection){this.selModel.locked=true}return this.selModel},onVerticalScroll:function(j,i){var g=this.getScrollerOwner(),l=g.query("tableview"),k=0,h=l.length;for(;k<h;k++){l[k].el.dom.scrollTop=i.scrollTop}},onHorizontalScroll:function(i,h){var f=this.getScrollerOwner(),j=f.query("tableview"),g=j[1]||j[0];g.el.dom.scrollLeft=h.scrollLeft;this.headerCt.el.dom.scrollLeft=h.scrollLeft},onStoreLoad:Ext.emptyFn,getEditorParent:function(){return this.body},bindStore:function(d){var c=this;c.store=d;c.getView().bindStore(d)},beforeDestroy:function(){Ext.destroy(this.horizontalScroller,this.verticalScroller);this.callParent()},reconfigure:function(f,e){var h=this,g=h.headerCt;if(h.lockable){h.reconfigureLockable(f,e)}else{if(e){g.suspendLayout=true;g.removeAll();g.add(e)}if(f){f=Ext.StoreManager.lookup(f);h.bindStore(f)}else{h.getView().refresh()}if(e){g.suspendLayout=false;h.forceComponentLayout()}}h.fireEvent("reconfigure",h)}});Ext.define("Ext.tree.Panel",{extend:"Ext.panel.Table",alias:"widget.treepanel",alternateClassName:["Ext.tree.TreePanel","Ext.TreePanel"],requires:["Ext.tree.View","Ext.selection.TreeModel","Ext.tree.Column"],viewType:"treeview",selType:"treemodel",treeCls:Ext.baseCSSPrefix+"tree-panel",deferRowRender:false,lines:true,useArrows:false,singleExpand:false,ddConfig:{enableDrag:true,enableDrop:true},rootVisible:true,displayField:"text",root:null,normalCfgCopy:["displayField","root","singleExpand","useArrows","lines","rootVisible","scroll"],lockedCfgCopy:["displayField","root","singleExpand","useArrows","lines","rootVisible"],constructor:function(b){b=b||{};if(b.animate===undefined){b.animate=Ext.enableFx}this.enableAnimations=b.animate;delete b.animate;this.callParent([b])},initComponent:function(){var c=this,d=[c.treeCls];if(c.useArrows){d.push(Ext.baseCSSPrefix+"tree-arrows");c.lines=false}if(c.lines){d.push(Ext.baseCSSPrefix+"tree-lines")}else{if(!c.useArrows){d.push(Ext.baseCSSPrefix+"tree-no-lines")}}if(Ext.isString(c.store)){c.store=Ext.StoreMgr.lookup(c.store)}else{if(!c.store||Ext.isObject(c.store)&&!c.store.isStore){c.store=Ext.create("Ext.data.TreeStore",Ext.apply({},c.store||{},{root:c.root,fields:c.fields,model:c.model,folderSort:c.folderSort}))}else{if(c.root){c.store=Ext.data.StoreManager.lookup(c.store);c.store.setRootNode(c.root);if(c.folderSort!==undefined){c.store.folderSort=c.folderSort;c.store.sort()}}}}c.viewConfig=Ext.applyIf(c.viewConfig||{},{rootVisible:c.rootVisible,animate:c.enableAnimations,singleExpand:c.singleExpand,node:c.store.getRootNode(),hideHeaders:c.hideHeaders});c.mon(c.store,{scope:c,rootchange:c.onRootChange,clear:c.onClear});c.relayEvents(c.store,["beforeload","load"]);c.store.on({append:c.createRelayer("itemappend"),remove:c.createRelayer("itemremove"),move:c.createRelayer("itemmove"),insert:c.createRelayer("iteminsert"),beforeappend:c.createRelayer("beforeitemappend"),beforeremove:c.createRelayer("beforeitemremove"),beforemove:c.createRelayer("beforeitemmove"),beforeinsert:c.createRelayer("beforeiteminsert"),expand:c.createRelayer("itemexpand"),collapse:c.createRelayer("itemcollapse"),beforeexpand:c.createRelayer("beforeitemexpand"),beforecollapse:c.createRelayer("beforeitemcollapse")});if(!c.columns){if(c.initialConfig.hideHeaders===undefined){c.hideHeaders=true}c.columns=[{xtype:"treecolumn",text:"Name",flex:1,dataIndex:c.displayField}]}if(c.cls){d.push(c.cls)}c.cls=d.join(" ");c.callParent();c.relayEvents(c.getView(),["checkchange"]);if(!c.getView().rootVisible&&!c.getRootNode()){c.setRootNode({expanded:true})}},onClear:function(){this.view.onClear()},setRootNode:function(){return this.store.setRootNode.apply(this.store,arguments)},getRootNode:function(){return this.store.getRootNode()},onRootChange:function(b){this.view.setRootNode(b)},getChecked:function(){return this.getView().getChecked()},isItemChecked:function(b){return b.get("checked")},expandAll:function(h,i){var f=this.getRootNode(),j=this.enableAnimations,g=this.getView();if(f){if(!j){g.beginBulkUpdate()}f.expand(true,h,i);if(!j){g.endBulkUpdate()}}},collapseAll:function(h,i){var f=this.getRootNode(),j=this.enableAnimations,g=this.getView();if(f){if(!j){g.beginBulkUpdate()}if(g.rootVisible){f.collapse(true,h,i)}else{f.collapseChildren(true,h,i)}if(!j){g.endBulkUpdate()}}},expandPath:function(l,q,v,p,m){var s=this,t=s.getRootNode(),u=1,r=s.getView(),n,o;q=q||s.getRootNode().idProperty;v=v||"/";if(Ext.isEmpty(l)){Ext.callback(p,m||s,[false,null]);return}n=l.split(v);if(t.get(q)!=n[1]){Ext.callback(p,m||s,[false,t]);return}o=function(){if(++u===n.length){Ext.callback(p,m||s,[true,t]);return}var a=t.findChild(q,n[u]);if(!a){Ext.callback(p,m||s,[false,t]);return}t=a;t.expand(false,o)};t.expand(false,o)},selectPath:function(l,m,n,k,j){var o=this,p,i;m=m||o.getRootNode().idProperty;n=n||"/";p=l.split(n);i=p.pop();o.expandPath(p.join(n),m,n,function(a,b){var c=false;if(a&&b){b=b.findChild(m,i);if(b){o.getSelectionModel().select(b);Ext.callback(k,j||o,[true,b]);c=true}}else{if(b===o.getRootNode()){c=true}}Ext.callback(k,j||o,[c,b])},o)}});Ext.define("Docs.view.DocTree",{extend:"Ext.tree.Panel",alias:"widget.doctree",cls:"doc-tree iScroll",useArrows:true,rootVisible:false,border:false,bodyBorder:false,initComponent:function(){this.addEvents("urlclick");this.root.expanded=true;if(this.root.children[0]){this.root.children[0].expanded=true}this.on("itemclick",this.onItemClick,this);this.on("beforeitemcollapse",this.handleBeforeExpandCollapse,this);this.on("beforeitemexpand",this.handleBeforeExpandCollapse,this);this.callParent();this.nodeTpl=new Ext.XTemplate('<a href="{url}" rel="{url}">{text}</a>');this.initNodeLinks()},initNodeLinks:function(){this.getRootNode().cascadeBy(this.applyNodeTpl,this)},applyNodeTpl:function(b){if(b.get("leaf")){b.set("text",this.nodeTpl.apply({text:b.get("text"),url:b.raw.url}));b.commit()}},onItemClick:function(h,j,k,l,i){var e=j.raw?j.raw.url:j.data.url;if(e){this.fireEvent("urlclick",e,i)}else{if(!j.isLeaf()){if(j.isExpanded()){j.collapse(false)}else{j.expand(false)}}}},selectUrl:function(d){var c=this.findRecordByUrl(d);if(c){c.bubble(function(a){a.expand()});this.getSelectionModel().select(c)}else{this.getSelectionModel().deselectAll()}},findRecordByUrl:function(b){return this.getRootNode().findChildBy(function(a){return b===a.raw.url},this,true)},handleBeforeExpandCollapse:function(b){if(this.getView().isAnimating(b)){return false}}});Ext.define("Docs.view.cls.Tree",{extend:"Docs.view.DocTree",alias:"widget.classtree",requires:["Docs.view.cls.PackageLogic","Docs.view.cls.InheritanceLogic"],initComponent:function(){this.setLogic(Docs.view.cls.PackageLogic);this.dockedItems=[{xtype:"container",dock:"bottom",cls:"cls-grouping",html:['<button class="by-package selected">By Package</button>','<button class="by-inheritance">By Inheritance</button>'].join("")}];this.callParent()},setLogic:function(h){var f=new h({classes:this.data,showPrivateClasses:true});if(this.root){var g=this.getSelectionModel().getLastSelected();var e=f.create();this.setRootNode(e);this.initNodeLinks();this.getRootNode().getChildAt(0).expand();g&&this.selectUrl(g.raw.url)}else{this.root=f.create()}}});Ext.define("Docs.view.GroupTree",{extend:"Docs.view.DocTree",alias:"widget.grouptree",initComponent:function(){this.root={children:[],text:"Root"};Ext.Array.each(this.data,function(b){this.root.children.push({text:b.title,expanded:true,children:Ext.Array.map(b.items,this.convert),iconCls:"icon-pkg"})},this);this.callParent()}});Ext.define("Docs.view.TreeContainer",{extend:"Ext.panel.Panel",alias:"widget.treecontainer",requires:["Docs.view.cls.Tree","Docs.view.GroupTree"],cls:"iScroll",layout:"card",resizable:true,resizeHandles:"e",collapsible:true,hideCollapseTool:true,animCollapse:true,initComponent:function(){this.items=[{},{xtype:"classtree",id:"classtree",data:Docs.data.classes},{xtype:"grouptree",id:"exampletree",data:Docs.data.examples,convert:function(b){return{leaf:true,text:b.text,url:"#!/example/"+b.url,iconCls:"icon-example"}}},{xtype:"grouptree",id:"guidetree",data:Docs.data.guides,convert:function(b){return{leaf:true,text:b.title,url:"#!/guide/"+b.name,iconCls:"icon-guide"}}},{xtype:"grouptree",id:"videotree",data:Docs.data.videos,convert:function(b){return{leaf:true,text:b.title,url:"#!/video/"+b.id,iconCls:"icon-video"}}}];this.callParent()},showTree:function(b){this.show();this.layout.setActiveItem(b)}});Ext.define("Docs.view.Viewport",{extend:"Ext.container.Viewport",requires:["Docs.view.search.Container","Docs.view.Header","Docs.view.Tabs","Docs.view.TreeContainer","Docs.view.welcome.Index","Docs.view.cls.Index","Docs.view.cls.Container","Docs.view.guides.Index","Docs.view.guides.Container","Docs.view.videos.Index","Docs.view.videos.Container","Docs.view.examples.Index","Docs.view.examples.Container","Docs.view.examples.TouchContainer"],id:"viewport",layout:"border",defaults:{xtype:"container"},initComponent:function(){this.items=[{region:"north",id:"north-region",height:65,layout:{type:"vbox",align:"stretch"},items:[{height:37,xtype:"container",layout:"hbox",items:[{xtype:"docheader"},{xtype:"container",flex:1},{xtype:"searchcontainer",id:"search-container",width:230,margin:"5 0 0 0"}]},{xtype:"doctabs"}]},{region:"center",layout:"border",minWidth:800,items:[{region:"west",xtype:"treecontainer",id:"treecontainer",border:1,bodyPadding:"10 9 4 9",width:240},{region:"center",id:"center-container",layout:"fit",minWidth:800,border:false,padding:"5 10",items:{id:"card-panel",cls:"card-panel",xtype:"container",layout:{type:"card",deferredRender:true},items:[{autoScroll:true,xtype:"welcomeindex",id:"welcomeindex"},{xtype:"container",id:"failure"},{autoScroll:true,xtype:"classindex",id:"classindex"},{xtype:"classcontainer",id:"classcontainer"},{autoScroll:true,xtype:"guideindex",id:"guideindex"},{autoScroll:true,xtype:"guidecontainer",id:"guide",cls:"iScroll"},{xtype:"videoindex",id:"videoindex"},{xtype:"videocontainer",id:"video"},{xtype:"exampleindex",id:"exampleindex"},{xtype:Docs.touchExamplesUi?"touchexamplecontainer":"examplecontainer",id:"example"}]}}]},{region:"south",id:"footer",height:20,contentEl:"footer-content"}];this.callParent(arguments)},setPageTitle:function(b){b=Ext.util.Format.stripTags(b);if(!this.origTitle){this.origTitle=document.title}document.title=b?(b+" - "+this.origTitle):this.origTitle}});Ext.define("Ext.data.writer.Json",{extend:"Ext.data.writer.Writer",alternateClassName:"Ext.data.JsonWriter",alias:"writer.json",root:undefined,encode:false,allowSingle:true,writeRecords:function(d,f){var e=this.root;if(this.allowSingle&&f.length==1){f=f[0]}if(this.encode){if(e){d.params[e]=Ext.encode(f)}else{Ext.Error.raise("Must specify a root when using encode")}}else{d.jsonData=d.jsonData||{};if(e){d.jsonData[e]=f}else{d.jsonData=f}}return d}});Ext.define("Ext.layout.component.Tip",{alias:["layout.tip"],extend:"Ext.layout.component.Dock",type:"tip",onLayout:function(s,l){var n=this,r=n.owner,q=r.el,t,m,o,p,k=q.getXY();q.setXY([-9999,-9999]);this.callParent(arguments);if(!Ext.isNumber(s)){t=r.minWidth;m=r.maxWidth;if(Ext.isStrict&&(Ext.isIE6||Ext.isIE7)){p=n.doAutoWidth()}else{o=q.getWidth()}if(o<t){p=t}else{if(o>m){p=m}}if(p){this.callParent([p,l])}}q.setXY(k)},doAutoWidth:function(){var g=this,e=g.owner,f=e.body,h=f.getTextWidth();if(e.header){h=Math.max(h,e.header.getWidth())}if(!Ext.isDefined(g.frameWidth)){g.frameWidth=e.el.getWidth()-f.getWidth()}h+=g.frameWidth+f.getPadding("lr");return h}});Ext.define("Ext.tip.Tip",{extend:"Ext.panel.Panel",requires:["Ext.layout.component.Tip"],alternateClassName:"Ext.Tip",minWidth:40,maxWidth:300,shadow:"sides",defaultAlign:"tl-bl?",constrainPosition:true,frame:false,autoRender:true,hidden:true,baseCls:Ext.baseCSSPrefix+"tip",floating:{shadow:true,shim:true,constrain:true},focusOnToFront:false,componentLayout:"tip",closeAction:"hide",ariaRole:"tooltip",initComponent:function(){var b=this;b.floating=Ext.apply({},{shadow:b.shadow},b.self.prototype.floating);b.callParent(arguments);b.constrain=b.constrain||b.constrainPosition},showAt:function(c){var d=this;this.callParent(arguments);if(d.isVisible()){d.setPagePosition(c[0],c[1]);if(d.constrainPosition||d.constrain){d.doConstrain()}d.toFront(true)}},showBy:function(d,c){this.showAt(this.el.getAlignToXY(d,c||this.defaultAlign))},initDraggable:function(){var b=this;b.draggable={el:b.getDragEl(),delegate:b.header.el,constrain:b,constrainTo:b.el.getScopeParent()};Ext.Component.prototype.initDraggable.call(b)},ghost:undefined,unghost:undefined});Ext.define("Ext.tip.ToolTip",{extend:"Ext.tip.Tip",alias:"widget.tooltip",alternateClassName:"Ext.ToolTip",showDelay:500,hideDelay:200,dismissDelay:5000,trackMouse:false,anchorToTarget:true,anchorOffset:0,targetCounter:0,quickShowInterval:250,initComponent:function(){var b=this;b.callParent(arguments);b.lastActive=new Date();b.setTarget(b.target);b.origAnchor=b.anchor},onRender:function(d,e){var f=this;f.callParent(arguments);f.anchorCls=Ext.baseCSSPrefix+"tip-anchor-"+f.getAnchorPosition();f.anchorEl=f.el.createChild({cls:Ext.baseCSSPrefix+"tip-anchor "+f.anchorCls})},afterRender:function(){var d=this,c;d.callParent(arguments);c=parseInt(d.el.getZIndex(),10)||0;d.anchorEl.setStyle("z-index",c+1).setVisibilityMode(Ext.Element.DISPLAY)},setTarget:function(g){var e=this,f=Ext.get(g),h;if(e.target){h=Ext.get(e.target);e.mun(h,"mouseover",e.onTargetOver,e);e.mun(h,"mouseout",e.onTargetOut,e);e.mun(h,"mousemove",e.onMouseMove,e)}e.target=f;if(f){e.mon(f,{freezeEvent:true,mouseover:e.onTargetOver,mouseout:e.onTargetOut,mousemove:e.onMouseMove,scope:e})}if(e.anchor){e.anchorTarget=e.target}},onMouseMove:function(g){var e=this,f=e.delegate?g.getTarget(e.delegate):e.triggerElement=true,h;if(f){e.targetXY=g.getXY();if(f===e.triggerElement){if(!e.hidden&&e.trackMouse){h=e.getTargetXY();if(e.constrainPosition){h=e.el.adjustForConstraints(h,e.el.getScopeParent())}e.setPagePosition(h)}}else{e.hide();e.lastActive=new Date(0);e.onTargetOver(g)}}else{if((!e.closable&&e.isVisible())&&e.autoHide!==false){e.hide()}}},getTargetXY:function(){var r=this,w;if(r.delegate){r.anchorTarget=r.triggerElement}if(r.anchor){r.targetCounter++;var x=r.getOffsets(),n=(r.anchorToTarget&&!r.trackMouse)?r.el.getAlignToXY(r.anchorTarget,r.getAnchorAlign()):r.targetXY,z=Ext.Element.getViewWidth()-5,s=Ext.Element.getViewHeight()-5,p=document.documentElement,v=document.body,o=(p.scrollLeft||v.scrollLeft||0)+5,q=(p.scrollTop||v.scrollTop||0)+5,y=[n[0]+x[0],n[1]+x[1]],t=r.getSize(),u=r.constrainPosition;r.anchorEl.removeCls(r.anchorCls);if(r.targetCounter<2&&u){if(y[0]<o){if(r.anchorToTarget){r.defaultAlign="l-r";if(r.mouseOffset){r.mouseOffset[0]*=-1}}r.anchor="left";return r.getTargetXY()}if(y[0]+t.width>z){if(r.anchorToTarget){r.defaultAlign="r-l";if(r.mouseOffset){r.mouseOffset[0]*=-1}}r.anchor="right";return r.getTargetXY()}if(y[1]<q){if(r.anchorToTarget){r.defaultAlign="t-b";if(r.mouseOffset){r.mouseOffset[1]*=-1}}r.anchor="top";return r.getTargetXY()}if(y[1]+t.height>s){if(r.anchorToTarget){r.defaultAlign="b-t";if(r.mouseOffset){r.mouseOffset[1]*=-1}}r.anchor="bottom";return r.getTargetXY()}}r.anchorCls=Ext.baseCSSPrefix+"tip-anchor-"+r.getAnchorPosition();r.anchorEl.addCls(r.anchorCls);r.targetCounter=0;return y}else{w=r.getMouseOffset();return(r.targetXY)?[r.targetXY[0]+w[0],r.targetXY[1]+w[1]]:w}},getMouseOffset:function(){var d=this,c=d.anchor?[0,0]:[15,18];if(d.mouseOffset){c[0]+=d.mouseOffset[0];c[1]+=d.mouseOffset[1]}return c},getAnchorPosition:function(){var c=this,d;if(c.anchor){c.tipAnchor=c.anchor.charAt(0)}else{d=c.defaultAlign.match(/^([a-z]+)-([a-z]+)(\?)?$/);if(!d){Ext.Error.raise('The AnchorTip.defaultAlign value "'+c.defaultAlign+'" is invalid.')}c.tipAnchor=d[1].charAt(0)}switch(c.tipAnchor){case"t":return"top";case"b":return"bottom";case"r":return"right"}return"left"},getAnchorAlign:function(){switch(this.anchor){case"top":return"tl-bl";case"left":return"tl-tr";case"right":return"tr-tl";default:return"bl-tl"}},getOffsets:function(){var h=this,g,e,f=h.getAnchorPosition().charAt(0);if(h.anchorToTarget&&!h.trackMouse){switch(f){case"t":e=[0,9];break;case"b":e=[0,-13];break;case"r":e=[-13,0];break;default:e=[9,0];break}}else{switch(f){case"t":e=[-15-h.anchorOffset,30];break;case"b":e=[-19-h.anchorOffset,-13-h.el.dom.offsetHeight];break;case"r":e=[-15-h.el.dom.offsetWidth,-13-h.anchorOffset];break;default:e=[25,-13-h.anchorOffset];break}}g=h.getMouseOffset();e[0]+=g[0];e[1]+=g[1];return e},onTargetOver:function(f){var d=this,e;if(d.disabled||f.within(d.target.dom,true)){return}e=f.getTarget(d.delegate);if(e){d.triggerElement=e;d.clearTimer("hide");d.targetXY=f.getXY();d.delayShow()}},delayShow:function(){var b=this;if(b.hidden&&!b.showTimer){if(Ext.Date.getElapsed(b.lastActive)<b.quickShowInterval){b.show()}else{b.showTimer=Ext.defer(b.show,b.showDelay,b)}}else{if(!b.hidden&&b.autoHide!==false){b.show()}}},onTargetOut:function(c){var d=this;if(d.disabled||c.within(d.target.dom,true)){return}d.clearTimer("show");if(d.autoHide!==false){d.delayHide()}},delayHide:function(){var b=this;if(!b.hidden&&!b.hideTimer){b.hideTimer=Ext.defer(b.hide,b.hideDelay,b)}},hide:function(){var b=this;b.clearTimer("dismiss");b.lastActive=new Date();if(b.anchorEl){b.anchorEl.hide()}b.callParent(arguments);delete b.triggerElement},show:function(){var b=this;this.callParent();if(this.hidden===false){b.setPagePosition(-10000,-10000);if(b.anchor){b.anchor=b.origAnchor}b.showAt(b.getTargetXY());if(b.anchor){b.syncAnchor();b.anchorEl.show()}else{b.anchorEl.hide()}}},showAt:function(c){var d=this;d.lastActive=new Date();d.clearTimers();if(!d.isVisible()){this.callParent(arguments)}if(d.isVisible()){d.setPagePosition(c[0],c[1]);if(d.constrainPosition||d.constrain){d.doConstrain()}d.toFront(true)}if(d.dismissDelay&&d.autoHide!==false){d.dismissTimer=Ext.defer(d.hide,d.dismissDelay,d)}if(d.anchor){d.syncAnchor();if(!d.anchorEl.isVisible()){d.anchorEl.show()}}else{d.anchorEl.hide()}},syncAnchor:function(){var h=this,f,e,g;switch(h.tipAnchor.charAt(0)){case"t":f="b";e="tl";g=[20+h.anchorOffset,1];break;case"r":f="l";e="tr";g=[-1,12+h.anchorOffset];break;case"b":f="t";e="bl";g=[20+h.anchorOffset,-1];break;default:f="r";e="tl";g=[1,12+h.anchorOffset];break}h.anchorEl.alignTo(h.el,f+"-"+e,g)},setPagePosition:function(e,f){var d=this;d.callParent(arguments);if(d.anchor){d.syncAnchor()}},clearTimer:function(b){b=b+"Timer";clearTimeout(this[b]);delete this[b]},clearTimers:function(){var b=this;b.clearTimer("show");b.clearTimer("dismiss");b.clearTimer("hide")},onShow:function(){var b=this;b.callParent();b.mon(Ext.getDoc(),"mousedown",b.onDocMouseDown,b)},onHide:function(){var b=this;b.callParent();b.mun(Ext.getDoc(),"mousedown",b.onDocMouseDown,b)},onDocMouseDown:function(c){var d=this;if(d.autoHide!==true&&!d.closable&&!c.within(d.el.dom)){d.disable();Ext.defer(d.doEnable,100,d)}},doEnable:function(){if(!this.isDestroyed){this.enable()}},onDisable:function(){this.callParent();this.clearTimers();this.hide()},beforeDestroy:function(){var b=this;b.clearTimers();Ext.destroy(b.anchorEl);delete b.anchorEl;delete b.target;delete b.anchorTarget;delete b.triggerElement;b.callParent()},onDestroy:function(){Ext.getDoc().un("mousedown",this.onDocMouseDown,this);this.callParent()}});Ext.define("Ext.tip.QuickTip",{extend:"Ext.tip.ToolTip",alternateClassName:"Ext.QuickTip",interceptTitles:false,title:" ",tagConfig:{namespace:"data-",attribute:"qtip",width:"qwidth",target:"target",title:"qtitle",hide:"hide",cls:"qclass",align:"qalign",anchor:"anchor"},initComponent:function(){var b=this;b.target=b.target||Ext.getDoc();b.targets=b.targets||{};b.callParent()},register:function(n){var j=Ext.isArray(n)?n:arguments,m=0,i=j.length,k,h,l;for(;m<i;m++){n=j[m];k=n.target;if(k){if(Ext.isArray(k)){for(h=0,l=k.length;h<l;h++){this.targets[Ext.id(k[h])]=n}}else{this.targets[Ext.id(k)]=n}}}},unregister:function(b){delete this.targets[Ext.id(b)]},cancelShow:function(e){var d=this,f=d.activeTarget;e=Ext.get(e).dom;if(d.isVisible()){if(f&&f.el==e){d.hide()}}else{if(f&&f.el==e){d.clearTimer("show")}}},getTipCfg:function(g){var h=g.getTarget(),e=h.title,f;if(this.interceptTitles&&e&&Ext.isString(e)){h.qtip=e;h.removeAttribute("title");g.preventDefault();return{text:e}}else{f=this.tagConfig;h=g.getTarget("["+f.namespace+f.attribute+"]");if(h){return{target:h,text:h.getAttribute(f.namespace+f.attribute)}}}},onTargetOver:function(l){var n=this,m=l.getTarget(),k,p,o,e,j;if(n.disabled){return}n.targetXY=l.getXY();if(!m||m.nodeType!==1||m==document||m==document.body){return}if(n.activeTarget&&((m==n.activeTarget.el)||Ext.fly(n.activeTarget.el).contains(m))){n.clearTimer("hide");n.show();return}if(m){Ext.Object.each(n.targets,function(c,b){var a=Ext.fly(b.target);if(a&&(a.dom===m||a.contains(m))){k=a.dom;return false}});if(k){n.activeTarget=n.targets[k.id];n.activeTarget.el=m;n.anchor=n.activeTarget.anchor;if(n.anchor){n.anchorTarget=m}n.delayShow();return}}k=Ext.get(m);p=n.tagConfig;o=p.namespace;e=n.getTipCfg(l);if(e){if(e.target){m=e.target;k=Ext.get(m)}j=k.getAttribute(o+p.hide);n.activeTarget={el:m,text:e.text,width:+k.getAttribute(o+p.width)||null,autoHide:j!="user"&&j!=="false",title:k.getAttribute(o+p.title),cls:k.getAttribute(o+p.cls),align:k.getAttribute(o+p.align)};n.anchor=k.getAttribute(o+p.anchor);if(n.anchor){n.anchorTarget=m}n.delayShow()}},onTargetOut:function(c){var d=this;if(d.activeTarget&&c.within(d.activeTarget.el)&&!d.getTipCfg(c)){return}d.clearTimer("show");if(d.autoHide!==false){d.delayHide()}},showAt:function(f){var e=this,d=e.activeTarget;if(d){if(!e.rendered){e.render(Ext.getBody());e.activeTarget=d}if(d.title){e.setTitle(d.title||"");e.header.show()}else{e.header.hide()}e.body.update(d.text);e.autoHide=d.autoHide;e.dismissDelay=d.dismissDelay||e.dismissDelay;if(e.lastCls){e.el.removeCls(e.lastCls);delete e.lastCls}if(d.cls){e.el.addCls(d.cls);e.lastCls=d.cls}e.setWidth(d.width);if(e.anchor){e.constrainPosition=false}else{if(d.align){f=e.el.getAlignToXY(d.el,d.align);e.constrainPosition=false}else{e.constrainPosition=true}}}e.callParent([f])},hide:function(){delete this.activeTarget;this.callParent()}});Ext.define("Ext.tip.QuickTipManager",function(){var c,d=false;return{requires:["Ext.tip.QuickTip"],singleton:true,alternateClassName:"Ext.QuickTips",init:function(b,i){if(!c){if(!Ext.isReady){Ext.onReady(function(){Ext.tip.QuickTipManager.init(b)});return}var j=Ext.apply({disabled:d},i),h=j.className,a=j.xtype;if(h){delete j.className}else{if(a){h="widget."+a;delete j.xtype}}if(b!==false){j.renderTo=document.body;if(j.renderTo.tagName!="BODY"){Ext.Error.raise({sourceClass:"Ext.tip.QuickTipManager",sourceMethod:"init",msg:"Cannot init QuickTipManager: no document body"})}}c=Ext.create(h||"Ext.tip.QuickTip",j)}},destroy:function(){if(c){var a;c.destroy();c=a}},ddDisable:function(){if(c&&!d){c.disable()}},ddEnable:function(){if(c&&!d){c.enable()}},enable:function(){if(c){c.enable()}d=false},disable:function(){if(c){c.disable()}d=true},isEnabled:function(){return c!==undefined&&!c.disabled},getQuickTip:function(){return c},register:function(){c.register.apply(c,arguments)},unregister:function(){c.unregister.apply(c,arguments)},tips:function(){c.register.apply(c,arguments)}}}());Ext.define("Ext.data.reader.Reader",{requires:["Ext.data.ResultSet"],alternateClassName:["Ext.data.Reader","Ext.data.DataReader"],totalProperty:"total",successProperty:"success",root:"",implicitIncludes:true,isReader:true,constructor:function(d){var c=this;Ext.apply(c,d||{});c.fieldCount=0;c.model=Ext.ModelManager.getModel(d.model);if(c.model){c.buildExtractors()}},setModel:function(e,f){var d=this;d.model=Ext.ModelManager.getModel(e);d.buildExtractors(true);if(f&&d.proxy){d.proxy.setModel(d.model,true)}},read:function(d){var c=d;if(d&&d.responseText){c=this.getResponseData(d)}if(c){return this.readRecords(c)}else{return this.nullResultSet}},readRecords:function(p){var o=this;if(o.fieldCount!==o.getFields().length){o.buildExtractors(true)}o.rawData=p;p=o.getData(p);var m=Ext.isArray(p)?p:o.getRoot(p),k=true,q=0,n,l,r,j;if(m){n=m.length}if(o.totalProperty){l=parseInt(o.getTotal(p),10);if(!isNaN(l)){n=l}}if(o.successProperty){l=o.getSuccess(p);if(l===false||l==="false"){k=false}}if(o.messageProperty){j=o.getMessage(p)}if(m){r=o.extractData(m);q=r.length}else{q=0;r=[]}return Ext.create("Ext.data.ResultSet",{total:n||q,count:q,records:r,success:k,message:j})},extractData:function(n){var o=this,m=[],r=[],s=o.model,q=0,u=n.length,i=o.getIdProperty(),t,v,p;if(!n.length&&Ext.isObject(n)){n=[n];u=1}for(;q<u;q++){t=n[q];m=o.extractValues(t);v=o.getId(t);p=new s(m,v,t);r.push(p);if(o.implicitIncludes){o.readAssociated(p,t)}}return r},readAssociated:function(l,n){var o=l.associations.items,m=0,r=o.length,p,q,i,k;for(;m<r;m++){p=o[m];q=this.getAssociatedDataRoot(n,p.associationKey||p.name);if(q){k=p.getReader();if(!k){i=p.associatedModel.proxy;if(i){k=i.getReader()}else{k=new this.constructor({model:p.associatedName})}}p.read(l,k,q)}}},getAssociatedDataRoot:function(c,d){return c[d]},getFields:function(){return this.model.prototype.fields.items},extractValues:function(k){var i=this.getFields(),n=0,m=i.length,h={},j,l;for(;n<m;n++){j=i[n];l=this.extractorFunctions[n](k);h[j.name]=l}return h},getData:function(b){return b},getRoot:function(b){return b},getResponseData:function(b){Ext.Error.raise("getResponseData must be implemented in the Ext.data.reader.Reader subclass")},onMetaChange:function(f){var e=f.fields,d;Ext.apply(this,f);if(e){d=Ext.define("Ext.data.reader.Json-Model"+Ext.id(),{extend:"Ext.data.Model",fields:e});this.setModel(d,true)}else{this.buildExtractors(true)}},getIdProperty:function(){var b=this.idProperty;if(Ext.isEmpty(b)){b=this.model.prototype.idProperty}return b},buildExtractors:function(l){var n=this,j=n.getIdProperty(),m=n.totalProperty,h=n.successProperty,k=n.messageProperty,i;if(l===true){delete n.extractorFunctions}if(n.extractorFunctions){return}if(m){n.getTotal=n.createAccessor(m)}if(h){n.getSuccess=n.createAccessor(h)}if(k){n.getMessage=n.createAccessor(k)}if(j){i=n.createAccessor(j);n.getId=function(b){var a=i.call(n,b);return(a===undefined||a==="")?null:a}}else{n.getId=function(){return null}}n.buildFieldExtractors()},buildFieldExtractors:function(){var m=this,i=m.getFields(),n=i.length,h=0,j=[],k,l;for(;h<n;h++){k=i[h];l=(k.mapping!==undefined&&k.mapping!==null)?k.mapping:k.name;j.push(m.createAccessor(l))}m.fieldCount=n;m.extractorFunctions=j}},function(){Ext.apply(this,{nullResultSet:Ext.create("Ext.data.ResultSet",{total:0,count:0,records:[],success:true})})});Ext.define("Ext.data.reader.Json",{extend:"Ext.data.reader.Reader",alternateClassName:"Ext.data.JsonReader",alias:"reader.json",root:"",useSimpleAccessors:false,readRecords:function(b){if(b.metaData){this.onMetaChange(b.metaData)}this.jsonData=b;return this.callParent([b])},getResponseData:function(e){var f;try{f=Ext.decode(e.responseText)}catch(d){Ext.Error.raise({response:e,json:e.responseText,parseError:d,msg:"Unable to parse the JSON returned by the server: "+d.toString()})}if(!f){Ext.Error.raise("JSON object not found")}return f},buildExtractors:function(){var b=this;b.callParent(arguments);if(b.root){b.getRoot=b.createAccessor(b.root)}else{b.getRoot=function(a){return a}}},extractData:function(g){var h=this.record,i=[],j,f;if(h){j=g.length;if(!j&&Ext.isObject(g)){j=1;g=[g]}for(f=0;f<j;f++){i[f]=g[f][h]}}else{i=g}return this.callParent([i])},createAccessor:function(){var b=/[\[\.]/;return function(d){if(Ext.isEmpty(d)){return Ext.emptyFn}if(Ext.isFunction(d)){return d}if(this.useSimpleAccessors!==true){var a=String(d).search(b);if(a>=0){return Ext.functionFactory("obj","return obj"+(a>0?".":"")+d)}}return function(c){return c[d]}}}()});Ext.define("Ext.data.proxy.Proxy",{alias:"proxy.proxy",alternateClassName:["Ext.data.DataProxy","Ext.data.Proxy"],requires:["Ext.data.reader.Json","Ext.data.writer.Json"],uses:["Ext.data.Batch","Ext.data.Operation","Ext.data.Model"],mixins:{observable:"Ext.util.Observable"},batchOrder:"create,update,destroy",batchActions:true,defaultReaderType:"json",defaultWriterType:"json",isProxy:true,constructor:function(b){b=b||{};if(b.model===undefined){delete b.model}this.mixins.observable.constructor.call(this,b);if(this.model!==undefined&&!(this.model instanceof Ext.data.Model)){this.setModel(this.model)}},setModel:function(e,h){this.model=Ext.ModelManager.getModel(e);var f=this.reader,g=this.writer;this.setReader(f);this.setWriter(g);if(h&&this.store){this.store.setModel(this.model)}},getModel:function(){return this.model},setReader:function(d){var c=this;if(d===undefined||typeof d=="string"){d={type:d}}if(d.isReader){d.setModel(c.model)}else{Ext.applyIf(d,{proxy:c,model:c.model,type:c.defaultReaderType});d=Ext.createByAlias("reader."+d.type,d)}c.reader=d;return c.reader},getReader:function(){return this.reader},setWriter:function(b){if(b===undefined||typeof b=="string"){b={type:b}}if(!(b instanceof Ext.data.writer.Writer)){Ext.applyIf(b,{model:this.model,type:this.defaultWriterType});b=Ext.createByAlias("writer."+b.type,b)}this.writer=b;return this.writer},getWriter:function(){return this.writer},create:Ext.emptyFn,read:Ext.emptyFn,update:Ext.emptyFn,destroy:Ext.emptyFn,batch:function(k,j){var i=this,l=Ext.create("Ext.data.Batch",{proxy:i,listeners:j||{}}),g=i.batchActions,h;Ext.each(i.batchOrder.split(","),function(a){h=k[a];if(h){if(g){l.add(Ext.create("Ext.data.Operation",{action:a,records:h}))}else{Ext.each(h,function(b){l.add(Ext.create("Ext.data.Operation",{action:a,records:[b]}))})}}},i);l.start();return l}},function(){Ext.data.DataProxy=this});Ext.define("Ext.data.proxy.Server",{extend:"Ext.data.proxy.Proxy",alias:"proxy.server",alternateClassName:"Ext.data.ServerProxy",uses:["Ext.data.Request"],pageParam:"page",startParam:"start",limitParam:"limit",groupParam:"group",sortParam:"sort",filterParam:"filter",directionParam:"dir",simpleSortMode:false,noCache:true,cacheString:"_dc",timeout:30000,constructor:function(d){var c=this;d=d||{};this.addEvents("exception");c.callParent([d]);c.extraParams=d.extraParams||{};c.api=d.api||{};c.nocache=c.noCache},create:function(){return this.doRequest.apply(this,arguments)},read:function(){return this.doRequest.apply(this,arguments)},update:function(){return this.doRequest.apply(this,arguments)},destroy:function(){return this.doRequest.apply(this,arguments)},buildRequest:function(e){var f=Ext.applyIf(e.params||{},this.extraParams||{}),d;f=Ext.applyIf(f,this.getParams(e));if(e.id&&!f.id){f.id=e.id}d=Ext.create("Ext.data.Request",{params:f,action:e.action,records:e.records,operation:e,url:e.url});d.url=this.buildUrl(d);e.request=d;return d},processResponse:function(l,r,p,q,m,k){var n=this,o,j;if(l===true){o=n.getReader();j=o.read(n.extractResponseData(q));if(j.success!==false){Ext.apply(r,{response:q,resultSet:j});r.commitRecords(j.records);r.setCompleted();r.setSuccessful()}else{r.setException(j.message);n.fireEvent("exception",this,q,r)}}else{n.setException(r,q);n.fireEvent("exception",this,q,r)}if(typeof m=="function"){m.call(k||n,r)}n.afterRequest(p,l)},setException:function(c,d){c.setException({status:d.status,statusText:d.statusText})},extractResponseData:function(b){return b},applyEncoding:function(b){return Ext.encode(b)},encodeSorters:function(g){var e=[],h=g.length,f=0;for(;f<h;f++){e[f]={property:g[f].property,direction:g[f].direction}}return this.applyEncoding(e)},encodeFilters:function(g){var e=[],h=g.length,f=0;for(;f<h;f++){e[f]={property:g[f].property,value:g[f].value}}return this.applyEncoding(e)},getParams:function(z){var s=this,t={},w=Ext.isDefined,v=z.groupers,J=z.sorters,B=z.filters,D=z.page,E=z.start,u=z.limit,C=s.simpleSortMode,x=s.pageParam,G=s.startParam,I=s.limitParam,H=s.groupParam,F=s.sortParam,y=s.filterParam,A=s.directionParam;if(x&&w(D)){t[x]=D}if(G&&w(E)){t[G]=E}if(I&&w(u)){t[I]=u}if(H&&v&&v.length>0){t[H]=s.encodeSorters(v)}if(F&&J&&J.length>0){if(C){t[F]=J[0].property;t[A]=J[0].direction}else{t[F]=s.encodeSorters(J)}}if(y&&B&&B.length>0){t[y]=s.encodeFilters(B)}return t},buildUrl:function(f){var d=this,e=d.getUrl(f);if(!e){Ext.Error.raise("You are using a ServerProxy but have not supplied it with a url.")}if(d.noCache){e=Ext.urlAppend(e,Ext.String.format("{0}={1}",d.cacheString,Ext.Date.now()))}return e},getUrl:function(b){return b.url||this.api[b.action]||this.url},doRequest:function(e,f,d){Ext.Error.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,onDestroy:function(){Ext.destroy(this.reader,this.writer)}});Ext.define("Ext.data.proxy.Ajax",{requires:["Ext.util.MixedCollection","Ext.Ajax"],extend:"Ext.data.proxy.Server",alias:"proxy.ajax",alternateClassName:["Ext.data.HttpProxy","Ext.data.AjaxProxy"],actionMethods:{create:"POST",read:"GET",update:"POST",destroy:"POST"},doRequest:function(g,h,f){var i=this.getWriter(),j=this.buildRequest(g,h,f);if(g.allowWrite()){j=i.write(j)}Ext.apply(j,{headers:this.headers,timeout:this.timeout,scope:this,callback:this.createRequestCallback(j,g,h,f),method:this.getMethod(j),disableCaching:false});Ext.Ajax.request(j);return j},getMethod:function(b){return this.actionMethods[b.action]},createRequestCallback:function(i,g,h,f){var j=this;return function(b,a,c){j.processResponse(a,g,i,c,h,f)}}},function(){Ext.data.HttpProxy=this});Ext.define("Ext.data.Model",{alternateClassName:"Ext.data.Record",mixins:{observable:"Ext.util.Observable"},requires:["Ext.ModelManager","Ext.data.IdGenerator","Ext.data.Field","Ext.data.Errors","Ext.data.Operation","Ext.data.validations","Ext.data.proxy.Ajax","Ext.util.MixedCollection"],onClassExtended:function(e,d){var f=d.onBeforeClassCreated;d.onBeforeClassCreated=function(P,b){var c=this,a=Ext.getClassName(P),I=P.prototype,D=P.prototype.superclass,O=b.validations||[],G=b.fields||[],B=b.associations||[],C=b.belongsTo,H=b.hasMany,F=b.idgen,z=new Ext.util.MixedCollection(false,function(g){return g.name}),A=new Ext.util.MixedCollection(false,function(g){return g.name}),J=D.validations,i=D.fields,M=D.associations,N,E,L,K=[];P.modelName=a;I.modelName=a;if(J){O=J.concat(O)}b.validations=O;if(i){G=i.items.concat(G)}for(E=0,L=G.length;E<L;++E){z.add(new Ext.data.Field(G[E]))}b.fields=z;if(F){b.idgen=Ext.data.IdGenerator.get(F)}if(C){C=Ext.Array.from(C);for(E=0,L=C.length;E<L;++E){N=C[E];if(!Ext.isObject(N)){N={model:N}}N.type="belongsTo";B.push(N)}delete b.belongsTo}if(H){H=Ext.Array.from(H);for(E=0,L=H.length;E<L;++E){N=H[E];if(!Ext.isObject(N)){N={model:N}}N.type="hasMany";B.push(N)}delete b.hasMany}if(M){B=M.items.concat(B)}for(E=0,L=B.length;E<L;++E){K.push("association."+B[E].type.toLowerCase())}if(b.proxy){if(typeof b.proxy==="string"){K.push("proxy."+b.proxy)}else{if(typeof b.proxy.type==="string"){K.push("proxy."+b.proxy.type)}}}Ext.require(K,function(){Ext.ModelManager.registerType(a,P);for(E=0,L=B.length;E<L;++E){N=B[E];Ext.apply(N,{ownerModel:a,associatedModel:N.model});if(Ext.ModelManager.getModel(N.model)===undefined){Ext.ModelManager.registerDeferredAssociation(N)}else{A.add(Ext.data.Association.create(N))}}b.associations=A;f.call(c,P,b);P.setProxy(P.prototype.proxy||P.prototype.defaultProxyType);Ext.ModelManager.onModelDefined(P)})}},inheritableStatics:{setProxy:function(b){if(!b.isProxy){if(typeof b=="string"){b={type:b}}b=Ext.createByAlias("proxy."+b.type,b)}b.setModel(this);this.proxy=this.prototype.proxy=b;return b},getProxy:function(){return this.proxy},load:function(i,l){l=Ext.apply({},l);l=Ext.applyIf(l,{action:"read",id:i});var g=Ext.create("Ext.data.Operation",l),k=l.scope||this,h=null,j;j=function(a){if(a.wasSuccessful()){h=a.getRecords()[0];Ext.callback(l.success,k,[h,a])}else{Ext.callback(l.failure,k,[h,a])}Ext.callback(l.callback,k,[h,a])};this.proxy.read(g,j,this)}},statics:{PREFIX:"ext-record",AUTO_ID:1,EDIT:"edit",REJECT:"reject",COMMIT:"commit",id:function(d){var c=[this.PREFIX,"-",this.AUTO_ID++].join("");d.phantom=true;d.internalId=c;return c}},idgen:{isGenerator:true,type:"default",generate:function(){return null},getRecId:function(b){return b.modelName+"-"+b.internalId}},editing:false,dirty:false,persistenceProperty:"data",evented:false,isModel:true,phantom:false,idProperty:"id",defaultProxyType:"ajax",constructor:function(s,w,n){s=s||{};var p=this,q,v,o,x,t,u,r=Ext.isArray(s),i=r?{}:null;p.internalId=(w||w===0)?w:Ext.data.Model.id(p);p.raw=n;Ext.applyIf(p,{data:{}});p.modified={};if(p.persistanceProperty){if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn("Ext.data.Model: persistanceProperty has been deprecated. Use persistenceProperty instead.")}p.persistenceProperty=p.persistanceProperty}p[p.persistenceProperty]={};p.mixins.observable.constructor.call(p);q=p.fields.items;v=q.length;for(t=0;t<v;t++){o=q[t];x=o.name;if(r){i[x]=s[t]}else{if(s[x]===undefined){s[x]=o.defaultValue}}}p.set(i||s);if(p.getId()){p.phantom=false}else{if(p.phantom){u=p.idgen.generate();if(u!==null){p.setId(u)}}}p.dirty=false;p.modified={};if(typeof p.init=="function"){p.init()}p.id=p.idgen.getRecId(p)},get:function(b){return this[this.persistenceProperty][b]},set:function(i,r){var t=this,v=t.fields,o=t.modified,w=[],s,p,x,q,y,u,z;if(arguments.length==1&&Ext.isObject(i)){y=!t.editing;u=0;for(p in i){if(i.hasOwnProperty(p)){s=v.get(p);if(s&&s.convert!==s.type.convert){w.push(p);continue}if(!u&&y){t.beginEdit()}++u;t.set(p,i[p])}}z=w.length;if(z){if(!u&&y){t.beginEdit()}u+=z;for(x=0;x<z;x++){s=w[x];t.set(s,i[s])}}if(y&&u){t.endEdit()}}else{if(v){s=v.get(i);if(s&&s.convert){r=s.convert(r,t)}}q=t.get(i);t[t.persistenceProperty][i]=r;if(s&&s.persist&&!t.isEqual(q,r)){if(t.isModified(i)){if(t.isEqual(o[i],r)){delete o[i];t.dirty=false;for(p in o){if(o.hasOwnProperty(p)){t.dirty=true;break}}}}else{t.dirty=true;o[i]=q}}if(!t.editing){t.afterEdit()}}},isEqual:function(a,b){if(Ext.isDate(a)&&Ext.isDate(b)){return a.getTime()===b.getTime()}return a===b},beginEdit:function(){var b=this;if(!b.editing){b.editing=true;b.dirtySave=b.dirty;b.dataSave=Ext.apply({},b[b.persistenceProperty]);b.modifiedSave=Ext.apply({},b.modified)}},cancelEdit:function(){var b=this;if(b.editing){b.editing=false;b.modified=b.modifiedSave;b[b.persistenceProperty]=b.dataSave;b.dirty=b.dirtySave;delete b.modifiedSave;delete b.dataSave;delete b.dirtySave}},endEdit:function(e){var d=this,f;if(d.editing){d.editing=false;f=d.dirty||d.changedWhileEditing();delete d.modifiedSave;delete d.dataSave;delete d.dirtySave;if(e!==true&&f){d.afterEdit()}}},changedWhileEditing:function(){var h=this,e=h.dataSave,g=h[h.persistenceProperty],f;for(f in g){if(g.hasOwnProperty(f)){if(!h.isEqual(g[f],e[f])){return true}}}return false},getChanges:function(){var e=this.modified,d={},f;for(f in e){if(e.hasOwnProperty(f)){d[f]=this.get(f)}}return d},isModified:function(b){return this.modified.hasOwnProperty(b)},setDirty:function(){var c=this,d;c.dirty=true;c.fields.each(function(a){if(a.persist){d=a.name;c.modified[d]=c.get(d)}},c)},markDirty:function(){if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn("Ext.data.Model: markDirty has been deprecated. Use setDirty instead.")}return this.setDirty.apply(this,arguments)},reject:function(f){var h=this,e=h.modified,g;for(g in e){if(e.hasOwnProperty(g)){if(typeof e[g]!="function"){h[h.persistenceProperty][g]=e[g]}}}h.dirty=false;h.editing=false;h.modified={};if(f!==true){h.afterReject()}},commit:function(d){var c=this;c.phantom=c.dirty=c.editing=false;c.modified={};if(d!==true){c.afterCommit()}},copy:function(d){var c=this;return new c.self(Ext.apply({},c[c.persistenceProperty]),d||c.internalId)},setProxy:function(b){if(!b.isProxy){if(typeof b==="string"){b={type:b}}b=Ext.createByAlias("proxy."+b.type,b)}b.setModel(this.self);this.proxy=b;return b},getProxy:function(){return this.proxy},validate:function(){var i=Ext.create("Ext.data.Errors"),p=this.validations,n=Ext.data.validations,q,o,k,r,l,m;if(p){q=p.length;for(m=0;m<q;m++){o=p[m];k=o.field||o.name;l=o.type;r=n[l](o,this.get(k));if(!r){i.add({field:k,message:o.message||n[l+"Message"]})}}}return i},isValid:function(){return this.validate().isValid()},save:function(n){n=Ext.apply({},n);var l=this,k=l.phantom?"create":"update",i=null,m=n.scope||l,h,j;Ext.apply(n,{records:[l],action:k});h=Ext.create("Ext.data.Operation",n);j=function(a){if(a.wasSuccessful()){i=a.getRecords()[0];l.set(i.data);i.dirty=false;Ext.callback(n.success,m,[i,a])}else{Ext.callback(n.failure,m,[i,a])}Ext.callback(n.callback,m,[i,a])};l.getProxy()[k](h,j,l);return l},destroy:function(l){l=Ext.apply({},l);var j=this,h=null,k=l.scope||j,g,i;Ext.apply(l,{records:[j],action:"destroy"});g=Ext.create("Ext.data.Operation",l);i=function(a){if(a.wasSuccessful()){Ext.callback(l.success,k,[h,a])}else{Ext.callback(l.failure,k,[h,a])}Ext.callback(l.callback,k,[h,a])};j.getProxy().destroy(g,i,j);return j},getId:function(){return this.get(this.idProperty)},setId:function(b){this.set(this.idProperty,b)},join:function(b){this.store=b},unjoin:function(b){delete this.store},afterEdit:function(){this.callStore("afterEdit")},afterReject:function(){this.callStore("afterReject")},afterCommit:function(){this.callStore("afterCommit")},callStore:function(c){var d=this.store;if(d!==undefined&&typeof d[c]=="function"){d[c](this)}},getAssociatedData:function(){return this.prepareAssociatedData(this,[],null)},prepareAssociatedData:function(t,F,u){var y=t.associations.items,w=y.length,B={},A,G,z,i,H,C,D,v,x,j,E;for(v=0;v<w;v++){C=y[v];j=C.type;E=true;if(u){E=j==u}if(E&&j=="hasMany"){A=t[C.storeName];B[C.name]=[];if(A&&A.data.length>0){z=A.data.items;H=z.length;for(x=0;x<H;x++){i=z[x];D=i.id;if(Ext.Array.indexOf(F,D)==-1){F.push(D);B[C.name][x]=i.data;Ext.apply(B[C.name][x],this.prepareAssociatedData(i,F,j))}}}}else{if(E&&j=="belongsTo"){i=t[C.instanceName];if(i!==undefined){D=i.id;if(Ext.Array.indexOf(F,D)==-1){F.push(D);B[C.name]=i.data;Ext.apply(B[C.name],this.prepareAssociatedData(i,F,j))}}}}}return B}});Ext.define("Ext.app.Application",{extend:"Ext.app.Controller",requires:["Ext.ModelManager","Ext.data.Model","Ext.data.StoreManager","Ext.tip.QuickTipManager","Ext.ComponentManager","Ext.app.EventBus"],scope:undefined,enableQuickTips:true,appFolder:"app",autoCreateViewport:false,constructor:function(g){g=g||{};Ext.apply(this,g);var k=g.requires||[];Ext.Loader.setPath(this.name,this.appFolder);if(this.paths){Ext.Object.each(this.paths,function(b,a){Ext.Loader.setPath(b,a)})}this.callParent(arguments);this.eventbus=Ext.create("Ext.app.EventBus");var i=Ext.Array.from(this.controllers),j=i&&i.length,l,h;this.controllers=Ext.create("Ext.util.MixedCollection");if(this.autoCreateViewport){k.push(this.getModuleClassName("Viewport","view"))}for(l=0;l<j;l++){k.push(this.getModuleClassName(i[l],"controller"))}Ext.require(k);Ext.onReady(function(){for(l=0;l<j;l++){h=this.getController(i[l]);h.init(this)}this.onBeforeLaunch.call(this)},this)},control:function(d,f,e){this.eventbus.control(d,f,e)},launch:Ext.emptyFn,onBeforeLaunch:function(){if(this.enableQuickTips){Ext.tip.QuickTipManager.init()}if(this.autoCreateViewport){this.getView("Viewport").create()}this.launch.call(this.scope||this);this.launched=true;this.fireEvent("launch",this);this.controllers.each(function(b){b.onLaunch(this)},this)},getModuleClassName:function(e,f){var d=Ext.Loader.getPrefix(e);if(d.length>0&&d!==e){return e}return this.name+"."+f+"."+e},getController:function(c){var d=this.controllers.get(c);if(!d){d=Ext.create(this.getModuleClassName(c,"controller"),{application:this,id:c});this.controllers.add(d)}return d},getStore:function(c){var d=Ext.StoreManager.get(c);if(!d){d=Ext.create(this.getModuleClassName(c,"store"),{storeId:c})}return d},getModel:function(b){b=this.getModuleClassName(b,"model");return Ext.ModelManager.getModel(b)},getView:function(b){b=this.getModuleClassName(b,"view");return Ext.ClassManager.get(b)}});Ext.define("Docs.Application",{extend:"Ext.app.Application",name:"Docs",requires:["Docs.History","Docs.Settings"],uses:["Ext.util.History","Ext.data.JsonP"],controllers:["Welcome","Classes","Search","InlineExamples","Examples","Guides","Videos","Tabs"],launch:function(){Docs.App=this;Docs.Settings.init();Ext.create("Docs.view.Viewport");Docs.History.init();if(Docs.initEventTracking){Docs.initEventTracking()}}});Ext.define("Ext.data.Store",{extend:"Ext.data.AbstractStore",alias:"store.store",requires:["Ext.data.StoreManager","Ext.ModelManager","Ext.data.Model","Ext.util.Grouper"],uses:["Ext.data.proxy.Memory"],remoteSort:false,remoteFilter:false,remoteGroup:false,groupField:undefined,groupDir:"ASC",pageSize:25,currentPage:1,clearOnPageLoad:true,loading:false,sortOnFilter:true,buffered:false,purgePageCount:5,isStore:true,onClassExtended:function(f,h){var e=h.model;if(typeof e=="string"){var g=h.onBeforeClassCreated;h.onBeforeClassCreated=function(c,a){var b=this;Ext.require(e,function(){g.call(b,c,a)})}}},constructor:function(g){g=Ext.Object.merge({},g);var k=this,i=g.groupers||k.groupers,h=g.groupField||k.groupField,l,j;if(g.buffered||k.buffered){k.prefetchData=Ext.create("Ext.util.MixedCollection",false,function(a){return a.index});k.pendingRequests=[];k.pagesRequested=[];k.sortOnLoad=false;k.filterOnLoad=false}k.addEvents("beforeprefetch","groupchange","prefetch");j=g.data||k.data;k.data=Ext.create("Ext.util.MixedCollection",false,function(a){return a.internalId});if(j){k.inlineData=j;delete g.data}if(!i&&h){i=[{property:h,direction:g.groupDir||k.groupDir}]}delete g.groupers;k.groupers=Ext.create("Ext.util.MixedCollection");k.groupers.addAll(k.decodeGroupers(i));this.callParent([g]);if(k.groupers.items.length){k.sort(k.groupers.items,"prepend",false)}l=k.proxy;j=k.inlineData;if(j){if(l instanceof Ext.data.proxy.Memory){l.data=j;k.read()}else{k.add.apply(k,j)}k.sort();delete k.inlineData}else{if(k.autoLoad){Ext.defer(k.load,10,k,[typeof k.autoLoad==="object"?k.autoLoad:undefined])}}},onBeforeSort:function(){var b=this.groupers;if(b.getCount()>0){this.sort(b.items,"prepend",false)}},decodeGroupers:function(i){if(!Ext.isArray(i)){if(i===undefined){i=[]}else{i=[i]}}var j=i.length,h=Ext.util.Grouper,g,f;for(f=0;f<j;f++){g=i[f];if(!(g instanceof h)){if(Ext.isString(g)){g={property:g}}Ext.applyIf(g,{root:"data",direction:"ASC"});if(g.fn){g.sorterFn=g.fn}if(typeof g=="function"){g={sorterFn:g}}i[f]=new h(g)}}return i},group:function(j,i){var k=this,l=false,g,h;if(Ext.isArray(j)){h=j}else{if(Ext.isObject(j)){h=[j]}else{if(Ext.isString(j)){g=k.groupers.get(j);if(!g){g={property:j,direction:i};h=[g]}else{if(i===undefined){g.toggle()}else{g.setDirection(i)}}}}}if(h&&h.length){l=true;h=k.decodeGroupers(h);k.groupers.clear();k.groupers.addAll(h)}if(k.remoteGroup){k.load({scope:k,callback:k.fireGroupChange})}else{k.sort(null,null,null,l);k.fireGroupChange()}},clearGrouping:function(){var b=this;b.groupers.each(function(a){b.sorters.remove(a)});b.groupers.clear();if(b.remoteGroup){b.load({scope:b,callback:b.fireGroupChange})}else{b.sort();b.fireEvent("groupchange",b,b.groupers)}},isGrouped:function(){return this.groupers.getCount()>0},fireGroupChange:function(){this.fireEvent("groupchange",this,this.groupers)},getGroups:function(q){var o=this.data.items,r=o.length,p=[],i={},m,l,k,n;for(n=0;n<r;n++){m=o[n];l=this.getGroupString(m);k=i[l];if(k===undefined){k={name:l,children:[]};p.push(k);i[l]=k}k.children.push(m)}return q?i[q]:p},getGroupsForGrouper:function(m,q){var o=m.length,n=[],r,p,k,i,l;for(l=0;l<o;l++){k=m[l];p=q.getGroupString(k);if(p!==r){i={name:p,grouper:q,records:[]};n.push(i)}i.records.push(k);r=p}return n},getGroupsForGrouperIndex:function(p,k){var m=this,l=m.groupers,i=l.getAt(k),j=m.getGroupsForGrouper(p,i),n=j.length,o;if(k+1<l.length){for(o=0;o<n;o++){j[o].children=m.getGroupsForGrouperIndex(j[o].records,k+1)}}for(o=0;o<n;o++){j[o].depth=k}return j},getGroupData:function(d){var c=this;if(d!==false){c.sort()}return c.getGroupsForGrouperIndex(c.data.items,0)},getGroupString:function(d){var c=this.groupers.first();if(c){return d.get(c.property)}return""},insert:function(m,n){var j=this,k=false,l,h,i;n=[].concat(n);for(l=0,i=n.length;l<i;l++){h=j.createModel(n[l]);h.set(j.modelDefaults);n[l]=h;j.data.insert(m+l,h);h.join(j);k=k||h.phantom===true}if(j.snapshot){j.snapshot.addAll(n)}j.fireEvent("add",j,n,m);j.fireEvent("datachanged",j);if(j.autoSync&&k){j.sync()}},add:function(f){if(!Ext.isArray(f)){f=Array.prototype.slice.apply(arguments)}var h=this,j=0,i=f.length,g;for(;j<i;j++){g=h.createModel(f[j]);f[j]=g}h.insert(h.data.length,f);return f},createModel:function(b){if(!b.isModel){b=Ext.ModelManager.create(b,this.model)}return b},each:function(c,d){this.data.each(c,d)},remove:function(q,i){if(!Ext.isArray(q)){q=[q]}i=i===true;var m=this,l=false,p=0,r=q.length,k,n,o;for(;p<r;p++){o=q[p];n=m.data.indexOf(o);if(m.snapshot){m.snapshot.remove(o)}if(n>-1){k=o.phantom===true;if(!i&&!k){m.removed.push(o)}o.unjoin(m);m.data.remove(o);l=l||!k;m.fireEvent("remove",m,o,n)}}m.fireEvent("datachanged",m);if(!i&&m.autoSync&&l){m.sync()}},removeAt:function(c){var d=this.getAt(c);if(d){this.remove(d)}},load:function(d){var c=this;d=d||{};if(Ext.isFunction(d)){d={callback:d}}Ext.applyIf(d,{groupers:c.groupers.items,page:c.currentPage,start:(c.currentPage-1)*c.pageSize,limit:c.pageSize,addRecords:false});return c.callParent([d])},onProxyLoad:function(f){var i=this,j=f.getResultSet(),g=f.getRecords(),h=f.wasSuccessful();if(j){i.totalCount=j.total}if(h){i.loadRecords(g,f)}i.loading=false;i.fireEvent("load",i,g,h);i.fireEvent("read",i,g,f.wasSuccessful());Ext.callback(f.callback,f.scope||i,[g,f,h])},onCreateRecords:function(s,r,i){if(i){var p=0,q=this.data,v=this.snapshot,u=s.length,m=r.records,o,t,n;for(;p<u;++p){o=s[p];t=m[p];if(t){n=q.indexOf(t);if(n>-1){q.removeAt(n);q.insert(n,o)}if(v){n=v.indexOf(t);if(n>-1){v.removeAt(n);v.insert(n,o)}}o.phantom=false;o.join(this)}}}},onUpdateRecords:function(o,p,k){if(k){var n=0,m=o.length,l=this.data,i=this.snapshot,j;for(;n<m;++n){j=o[n];l.replace(j);if(i){i.replace(j)}j.join(this)}}},onDestroyRecords:function(p,o,i){if(i){var k=this,m=0,q=p.length,n=k.data,r=k.snapshot,l;for(;m<q;++m){l=p[m];l.unjoin(k);n.remove(l);if(r){r.remove(l)}}k.removed=[]}},getNewRecords:function(){return this.data.filterBy(this.filterNew).items},getUpdatedRecords:function(){return this.data.filterBy(this.filterUpdated).items},filter:function(l,k){if(Ext.isString(l)){l={property:l,value:k}}var m=this,i=m.decodeFilters(l),h=0,j=m.sortOnFilter&&!m.remoteSort,n=i.length;for(;h<n;h++){m.filters.replace(i[h])}if(m.remoteFilter){m.load()}else{if(m.filters.getCount()){m.snapshot=m.snapshot||m.data.clone();m.data=m.data.filter(m.filters.items);if(j){m.sort()}if(!j||m.sorters.length<1){m.fireEvent("datachanged",m)}}}},clearFilter:function(d){var c=this;c.filters.clear();if(c.remoteFilter){c.load()}else{if(c.isFiltered()){c.data=c.snapshot.clone();delete c.snapshot;if(d!==true){c.fireEvent("datachanged",c)}}}},isFiltered:function(){var b=this.snapshot;return !!b&&b!==this.data},filterBy:function(d,e){var f=this;f.snapshot=f.snapshot||f.data.clone();f.data=f.queryBy(d,e||f);f.fireEvent("datachanged",f)},queryBy:function(e,f){var h=this,g=h.snapshot||h.data;return g.filterBy(e,f||h)},loadData:function(j,i){var n=this.model,k=j.length,l=[],m,h;for(m=0;m<k;m++){h=j[m];if(!(h instanceof Ext.data.Model)){h=Ext.ModelManager.create(h,n)}l.push(h)}this.loadRecords(l,{addRecords:i})},loadRawData:function(h,f){var i=this,g=i.proxy.reader.read(h),j=g.records;if(g.success){i.loadRecords(j,{addRecords:f});i.fireEvent("load",i,j,true)}},loadRecords:function(g,f){var h=this,j=0,i=g.length;f=f||{};if(!f.addRecords){delete h.snapshot;h.clearData()}h.data.addAll(g);for(;j<i;j++){if(f.start!==undefined){g[j].index=f.start+j}g[j].join(h)}h.suspendEvents();if(h.filterOnLoad&&!h.remoteFilter){h.filter()}if(h.sortOnLoad&&!h.remoteSort){h.sort()}h.resumeEvents();h.fireEvent("datachanged",h,g)},loadPage:function(f,e){var d=this;e=Ext.apply({},e);d.currentPage=f;d.read(Ext.applyIf(e,{page:f,start:(f-1)*d.pageSize,limit:d.pageSize,addRecords:!d.clearOnPageLoad}))},nextPage:function(b){this.loadPage(this.currentPage+1,b)},previousPage:function(b){this.loadPage(this.currentPage-1,b)},clearData:function(){var b=this;b.data.each(function(a){a.unjoin(b)});b.data.clear()},prefetch:function(e){var h=this,f,g=h.getRequestId();e=e||{};Ext.applyIf(e,{action:"read",filters:h.filters.items,sorters:h.sorters.items,requestId:g});h.pendingRequests.push(g);f=Ext.create("Ext.data.Operation",e);if(h.fireEvent("beforeprefetch",h,f)!==false){h.loading=true;h.proxy.read(f,h.onProxyPrefetch,h)}return h},prefetchPage:function(j,l){var k=this,g=k.pageSize,i=(j-1)*k.pageSize,h=i+g;if(Ext.Array.indexOf(k.pagesRequested,j)===-1&&!k.rangeSatisfied(i,h)){l=l||{};k.pagesRequested.push(j);Ext.applyIf(l,{page:j,start:i,limit:g,callback:k.onWaitForGuarantee,scope:k});k.prefetch(l)}},getRequestId:function(){this.requestSeed=this.requestSeed||1;return this.requestSeed++},onProxyPrefetch:function(f){var i=this,j=f.getResultSet(),g=f.getRecords(),h=f.wasSuccessful();if(j){i.totalCount=j.total;i.fireEvent("totalcountchange",i.totalCount)}if(h){i.cacheRecords(g,f)}Ext.Array.remove(i.pendingRequests,f.requestId);if(f.page){Ext.Array.remove(i.pagesRequested,f.page)}i.loading=false;i.fireEvent("prefetch",i,g,h,f);if(f.blocking){i.fireEvent("load",i,g,h)}Ext.callback(f.callback,f.scope||i,[g,f,h])},cacheRecords:function(g,h){var j=this,l=0,k=g.length,i=h?h.start:0;if(!Ext.isDefined(j.totalCount)){j.totalCount=g.length;j.fireEvent("totalcountchange",j.totalCount)}for(;l<k;l++){g[l].index=i+l}j.prefetchData.addAll(g);if(j.purgePageCount){j.purgeRecords()}},purgeRecords:function(){var j=this,f=j.prefetchData.getCount(),i=j.purgePageCount*j.pageSize,h=f-i-1,g=0;for(;g<=h;g++){j.prefetchData.removeAt(0)}},rangeSatisfied:function(h,g){var j=this,f=h,i=true;for(;f<g;f++){if(!j.prefetchData.getByKey(f)){i=false;if(g-f>j.pageSize){Ext.Error.raise("A single page prefetch could never satisfy this request.")}break}}return i},getPageFromRecordIndex:function(b){return Math.floor(b/this.pageSize)+1},onGuaranteedRange:function(){var k=this,n=k.getTotalCount(),j=k.requestStart,h=((n-1)<k.requestEnd)?n-1:k.requestEnd,m=[],i,l=j;h=Math.max(0,h);if(j>h){Ext.log({level:"warn",msg:"Start ("+j+") was greater than end ("+h+") for the range of records requested ("+k.requestStart+"-"+k.requestEnd+")"+(this.storeId?' from store "'+this.storeId+'"':"")})}if(j!==k.guaranteedStart&&h!==k.guaranteedEnd){k.guaranteedStart=j;k.guaranteedEnd=h;for(;l<=h;l++){i=k.prefetchData.getByKey(l);if(i){m.push(i)}}k.fireEvent("guaranteedrange",m,j,h);if(k.cb){k.cb.call(k.scope||k,m)}}k.unmask()},mask:function(){this.masked=true;this.fireEvent("beforeload")},unmask:function(){if(this.masked){this.fireEvent("load")}},hasPendingRequests:function(){return this.pendingRequests.length},onWaitForGuarantee:function(){if(!this.hasPendingRequests()){this.onGuaranteedRange()}},guaranteeRange:function(x,v,w,i){if(x&&v){if(v-x>this.pageSize){Ext.Error.raise({start:x,end:v,pageSize:this.pageSize,msg:"Requested a bigger range than the specified pageSize"})}}v=(v>this.totalCount)?this.totalCount-1:v;var q=this,u=x,o=q.prefetchData,t=[],r=!!o.getByKey(x),p=!!o.getByKey(v),s=q.getPageFromRecordIndex(x),n=q.getPageFromRecordIndex(v);q.cb=w;q.scope=i;q.requestStart=x;q.requestEnd=v;if(!r||!p){if(s===n){q.mask();q.prefetchPage(s,{callback:q.onWaitForGuarantee,scope:q})}else{q.mask();q.prefetchPage(s,{callback:q.onWaitForGuarantee,scope:q});q.prefetchPage(n,{callback:q.onWaitForGuarantee,scope:q})}}else{q.onGuaranteedRange()}},sort:function(){var k=this,l=k.prefetchData,j,i,h,g;if(k.buffered){if(k.remoteSort){l.clear();k.callParent(arguments)}else{j=k.getSorters();i=k.guaranteedStart;h=k.guaranteedEnd;if(j.length){l.sort(j);g=l.getRange();l.clear();k.cacheRecords(g);delete k.guaranteedStart;delete k.guaranteedEnd;k.guaranteeRange(i,h)}k.callParent(arguments)}}else{k.callParent(arguments)}},doSort:function(f){var h=this;if(h.remoteSort){h.load()}else{h.data.sortBy(f);if(!h.buffered){var g=h.getRange(),i=g.length,j=0;for(;j<i;j++){g[j].index=j}}h.fireEvent("datachanged",h)}},find:function(l,m,j,k,i,n){var h=this.createFilterFn(l,m,k,i,n);return h?this.data.findIndexBy(h,null,j):-1},findRecord:function(){var c=this,d=c.find.apply(c,arguments);return d!==-1?c.getAt(d):null},createFilterFn:function(i,j,h,g,f){if(Ext.isEmpty(j)){return false}j=this.data.createValueMatcher(j,h,g,f);return function(a){return j.test(a.data[i])}},findExact:function(d,e,f){return this.data.findIndexBy(function(a){return a.get(d)==e},this,f)},findBy:function(d,e,f){return this.data.findIndexBy(d,e,f)},collect:function(f,g,j){var i=this,h=(j===true&&i.snapshot)?i.snapshot:i.data;return h.collect(f,"data",g)},getCount:function(){return this.data.length||0},getTotalCount:function(){return this.totalCount},getAt:function(b){return this.data.getAt(b)},getRange:function(c,d){return this.data.getRange(c,d)},getById:function(b){return(this.snapshot||this.data).findBy(function(a){return a.getId()===b})},indexOf:function(b){return this.data.indexOf(b)},indexOfTotal:function(d){var c=d.index;if(c||c===0){return c}return this.indexOf(d)},indexOfId:function(b){return this.indexOf(this.getById(b))},removeAll:function(d){var c=this;c.clearData();if(c.snapshot){c.snapshot.clear()}if(d!==true){c.fireEvent("clear",c)}},first:function(d){var c=this;if(d&&c.isGrouped()){return c.aggregate(function(a){return a.length?a[0]:undefined},c,true)}else{return c.data.first()}},last:function(d){var c=this;if(d&&c.isGrouped()){return c.aggregate(function(a){var b=a.length;return b?a[b-1]:undefined},c,true)}else{return c.data.last()}},sum:function(f,e){var d=this;if(e&&d.isGrouped()){return d.aggregate(d.getSum,d,true,[f])}else{return d.getSum(d.data.items,f)}},getSum:function(f,h){var i=0,j=0,g=f.length;for(;j<g;++j){i+=f[j].get(h)}return i},count:function(d){var c=this;if(d&&c.isGrouped()){return c.aggregate(function(a){return a.length},c,true)}else{return c.getCount()}},min:function(f,e){var d=this;if(e&&d.isGrouped()){return d.aggregate(d.getMin,d,true,[f])}else{return d.getMin(d.data.items,f)}},getMin:function(g,i){var k=1,h=g.length,j,l;if(h>0){l=g[0].get(i)}for(;k<h;++k){j=g[k].get(i);if(j<l){l=j}}return l},max:function(f,e){var d=this;if(e&&d.isGrouped()){return d.aggregate(d.getMax,d,true,[f])}else{return d.getMax(d.data.items,f)}},getMax:function(l,i){var k=1,g=l.length,j,h;if(g>0){h=l[0].get(i)}for(;k<g;++k){j=l[k].get(i);if(j>h){h=j}}return h},average:function(f,e){var d=this;if(e&&d.isGrouped()){return d.aggregate(d.getAverage,d,true,[f])}else{return d.getAverage(d.data.items,f)}},getAverage:function(f,h){var j=0,g=f.length,i=0;if(f.length>0){for(;j<g;++j){i+=f[j].get(h)}return i/g}return 0},aggregate:function(l,i,n,m){m=m||[];if(n&&this.isGrouped()){var r=this.getGroups(),p=0,o=r.length,q={},k;for(;p<o;++p){k=r[p];q[k.name]=l.apply(i||this,[k.children].concat(m))}return q}else{return l.apply(i||this,[this.data.items].concat(m))}}},function(){Ext.regStore("ext-empty-store",{fields:[],proxy:"proxy"})});Ext.define("Ext.data.NodeStore",{extend:"Ext.data.Store",alias:"store.node",requires:["Ext.data.NodeInterface"],node:null,recursive:false,rootVisible:false,constructor:function(e){var f=this,d;e=e||{};Ext.apply(f,e);if(Ext.isDefined(f.proxy)){Ext.Error.raise("A NodeStore cannot be bound to a proxy. Instead bind it to a record decorated with the NodeInterface by setting the node config.")}e.proxy={type:"proxy"};f.callParent([e]);f.addEvents("expand","collapse","beforeexpand","beforecollapse");d=f.node;if(d){f.node=null;f.setNode(d)}},setNode:function(c){var d=this;if(d.node&&d.node!=c){d.mun(d.node,{expand:d.onNodeExpand,collapse:d.onNodeCollapse,append:d.onNodeAppend,insert:d.onNodeInsert,remove:d.onNodeRemove,sort:d.onNodeSort,scope:d});d.node=null}if(c){Ext.data.NodeInterface.decorate(c);d.removeAll();if(d.rootVisible){d.add(c)}d.mon(c,{expand:d.onNodeExpand,collapse:d.onNodeCollapse,append:d.onNodeAppend,insert:d.onNodeInsert,remove:d.onNodeRemove,sort:d.onNodeSort,scope:d});d.node=c;if(c.isExpanded()&&c.isLoaded()){d.onNodeExpand(c,c.childNodes,true)}}},onNodeSort:function(d,f){var e=this;if((e.indexOf(d)!==-1||(d===e.node&&!e.rootVisible)&&d.isExpanded())){e.onNodeCollapse(d,f,true);e.onNodeExpand(d,f,true)}},onNodeExpand:function(m,o,p){var k=this,j=k.indexOf(m)+1,l=o?o.length:0,n,i;if(!k.recursive&&m!==k.node){return}if(!k.isVisible(m)){return}if(!p&&k.fireEvent("beforeexpand",m,o,j)===false){return}if(l){k.insert(j,o);for(n=0;n<l;n++){i=o[n];if(i.isExpanded()){if(i.isLoaded()){k.onNodeExpand(i,i.childNodes,true)}else{i.set("expanded",false);i.expand()}}}}if(!p){k.fireEvent("expand",m,o)}},onNodeCollapse:function(m,p,i){var k=this,l=p.length,n=k.indexOf(m)+1,o,j;if(!k.recursive&&m!==k.node){return}if(!i&&k.fireEvent("beforecollapse",m,p,n)===false){return}for(o=0;o<l;o++){j=p[o];k.remove(j);if(j.isExpanded()){k.onNodeCollapse(j,j.childNodes,true)}}if(!i){k.fireEvent("collapse",m,p,n)}},onNodeAppend:function(k,i,g){var j=this,h,l;if(j.isVisible(i)){if(g===0){h=k}else{l=i.previousSibling;while(l.isExpanded()&&l.lastChild){l=l.lastChild}h=l}j.insert(j.indexOf(h)+1,i);if(!i.isLeaf()&&i.isExpanded()){if(i.isLoaded()){j.onNodeExpand(i,i.childNodes,true)}else{i.set("expanded",false);i.expand()}}}},onNodeInsert:function(j,h,g){var i=this,f=this.indexOf(g);if(f!=-1&&i.isVisible(h)){i.insert(f,h);if(!h.isLeaf()&&h.isExpanded()){if(h.isLoaded()){i.onNodeExpand(h,h.childNodes,true)}else{h.set("expanded",false);h.expand()}}}},onNodeRemove:function(e,g,f){var h=this;if(h.indexOf(g)!=-1){if(!g.isLeaf()&&g.isExpanded()){h.onNodeCollapse(g,g.childNodes,true)}h.remove(g)}},isVisible:function(c){var d=c.parentNode;while(d){if(d===this.node&&!this.rootVisible&&d.isExpanded()){return true}if(this.indexOf(d)===-1||!d.isExpanded()){return false}d=d.parentNode}return true}});Ext.define("Ext.data.TreeStore",{extend:"Ext.data.AbstractStore",alias:"store.tree",requires:["Ext.data.Tree","Ext.data.NodeInterface","Ext.data.NodeStore"],clearOnLoad:true,nodeParam:"node",defaultRootId:"root",defaultRootProperty:"children",folderSort:false,constructor:function(h){var g=this,e,f;h=Ext.apply({},h);f=h.fields||g.fields;if(!f){h.fields=[{name:"text",type:"string"}]}g.callParent([h]);g.tree=Ext.create("Ext.data.Tree");g.relayEvents(g.tree,["append","remove","move","insert","beforeappend","beforeremove","beforemove","beforeinsert","expand","collapse","beforeexpand","beforecollapse","rootchange"]);g.tree.on({scope:g,remove:g.onNodeRemove,beforeexpand:g.onBeforeNodeExpand,beforecollapse:g.onBeforeNodeCollapse,append:g.onNodeAdded,insert:g.onNodeAdded});g.onBeforeSort();e=g.root;if(e){delete g.root;g.setRootNode(e)}g.addEvents("sort");if(Ext.isDefined(g.nodeParameter)){if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn("Ext.data.TreeStore: nodeParameter has been deprecated. Please use nodeParam instead.")}g.nodeParam=g.nodeParameter;delete g.nodeParameter}},setProxy:function(f){var e,d;if(f instanceof Ext.data.proxy.Proxy){d=Ext.isEmpty(f.getReader().root)}else{if(Ext.isString(f)){d=true}else{e=f.reader;d=!(e&&!Ext.isEmpty(e.root))}}f=this.callParent(arguments);if(d){e=f.getReader();e.root=this.defaultRootProperty;e.buildExtractors(true)}},onBeforeSort:function(){if(this.folderSort){this.sort({property:"leaf",direction:"ASC"},"prepend",false)}},onBeforeNodeExpand:function(d,f,e){if(d.isLoaded()){Ext.callback(f,e||d,[d.childNodes])}else{if(d.isLoading()){this.on("load",function(){Ext.callback(f,e||d,[d.childNodes])},this,{single:true})}else{this.read({node:d,callback:function(){Ext.callback(f,e||d,[d.childNodes])}})}}},getNewRecords:function(){return Ext.Array.filter(this.tree.flatten(),this.filterNew)},getUpdatedRecords:function(){return Ext.Array.filter(this.tree.flatten(),this.filterUpdated)},onBeforeNodeCollapse:function(d,f,e){f.call(e||d,d.childNodes)},onNodeRemove:function(e,d){var f=this.removed;if(!d.isReplace&&Ext.Array.indexOf(f,d)==-1){f.push(d)}},onNodeAdded:function(m,l){var n=this.getProxy(),i=n.getReader(),k=l.raw||l.data,j,h;Ext.Array.remove(this.removed,l);if(!l.isLeaf()&&!l.isLoaded()){j=i.getRoot(k);if(j){this.fillNode(l,i.extractData(j));delete k[i.root]}}},setRootNode:function(d){var c=this;d=d||{};if(!d.isNode){Ext.applyIf(d,{id:c.defaultRootId,text:"Root",allowDrag:false});d=Ext.ModelManager.create(d,c.model)}Ext.data.NodeInterface.decorate(d);c.getProxy().getReader().buildExtractors(true);c.tree.setRootNode(d);if(!d.isLoaded()&&(c.autoLoad===true||d.isExpanded())){c.load({node:d})}return d},getRootNode:function(){return this.tree.getRootNode()},getNodeById:function(b){return this.tree.getNodeById(b)},load:function(e){e=e||{};e.params=e.params||{};var g=this,h=e.node||g.tree.getRootNode(),f;if(!h){h=g.setRootNode({expanded:true})}if(g.clearOnLoad){h.removeAll(true)}Ext.applyIf(e,{node:h});e.params[g.nodeParam]=h?h.getId():"root";if(h){h.set("loading",true)}return g.callParent([e])},fillNode:function(i,g){var j=this,k=g?g.length:0,l=0,h;if(k&&j.sortOnLoad&&!j.remoteSort&&j.sorters&&j.sorters.items){h=Ext.create("Ext.util.MixedCollection");h.addAll(g);h.sort(j.sorters.items);g=h.items}i.set("loaded",true);for(;l<k;l++){i.appendChild(g[l],undefined,true)}return g},onProxyLoad:function(f){var i=this,h=f.wasSuccessful(),g=f.getRecords(),j=f.node;i.loading=false;j.set("loading",false);if(h){g=i.fillNode(j,g)}i.fireEvent("read",i,f.node,g,h);i.fireEvent("load",i,f.node,g,h);Ext.callback(f.callback,f.scope||i,[g,f,h])},onCreateRecords:function(r,q,i){if(i){var p=0,t=r.length,l=q.records,n,o,s,m;for(;p<t;++p){o=r[p];s=l[p];if(s){n=s.parentNode;if(n){s.isReplace=true;n.replaceChild(o,s);delete s.isReplace}o.phantom=false}}}},onUpdateRecords:function(r,q,i){if(i){var l=this,o=0,t=r.length,p=l.data,s,m,n;for(;o<t;++o){n=r[o];s=l.tree.getNodeById(n.getId());m=s.parentNode;if(m){s.isReplace=true;m.replaceChild(n,s);s.isReplace=false}}}},onDestroyRecords:function(d,e,f){if(f){this.removed=[]}},removeAll:function(){this.getRootNode().destroy(true);this.fireEvent("clear",this)},doSort:function(d){var c=this;if(c.remoteSort){c.load()}else{c.tree.sort(d,true);c.fireEvent("datachanged",c)}c.fireEvent("sort",c)}});Ext.define("Ext.util.Point",{extend:"Ext.util.Region",statics:{fromEvent:function(b){b=(b.changedTouches&&b.changedTouches.length>0)?b.changedTouches[0]:b;return new this(b.pageX,b.pageY)}},constructor:function(d,c){this.callParent([c,d,c,d])},toString:function(){return"Point["+this.x+","+this.y+"]"},equals:function(b){return(this.x==b.x&&this.y==b.y)},isWithin:function(c,d){if(!Ext.isObject(d)){d={x:d,y:d}}return(this.x<=c.x+d.x&&this.x>=c.x-d.x&&this.y<=c.y+d.y&&this.y>=c.y-d.y)},roundedEquals:function(b){return(Math.round(this.x)==Math.round(b.x)&&Math.round(this.y)==Math.round(b.y))}},function(){this.prototype.translate=Ext.util.Region.prototype.translateBy});Ext.define("Ext.Layer",{uses:["Ext.Shadow"],statics:{shims:[]},extend:"Ext.Element",constructor:function(h,i){h=h||{};var n=this,m=Ext.DomHelper,k=h.parentEl,l=k?Ext.getDom(k):document.body,j=h.hideMode;if(i){n.dom=Ext.getDom(i)}if(!n.dom){n.dom=m.append(l,h.dh||{tag:"div",cls:Ext.baseCSSPrefix+"layer"})}else{n.addCls(Ext.baseCSSPrefix+"layer");if(!n.dom.parentNode){l.appendChild(n.dom)}}if(h.cls){n.addCls(h.cls)}n.constrain=h.constrain!==false;if(j){n.setVisibilityMode(Ext.Element[j.toUpperCase()]);if(n.visibilityMode==Ext.Element.ASCLASS){n.visibilityCls=h.visibilityCls}}else{if(h.useDisplay){n.setVisibilityMode(Ext.Element.DISPLAY)}else{n.setVisibilityMode(Ext.Element.VISIBILITY)}}if(h.id){n.id=n.dom.id=h.id}else{n.id=Ext.id(n.dom)}n.position("absolute");if(h.shadow){n.shadowOffset=h.shadowOffset||4;n.shadow=Ext.create("Ext.Shadow",{offset:n.shadowOffset,mode:h.shadow});n.disableShadow()}else{n.shadowOffset=0}n.useShim=h.shim!==false&&Ext.useShims;if(h.hidden===true){n.hide()}else{n.show()}},getZIndex:function(){return parseInt((this.getShim()||this).getStyle("z-index"),10)},getShim:function(){var d=this,f,e;if(!d.useShim){return null}if(!d.shim){f=d.self.shims.shift();if(!f){f=d.createShim();f.enableDisplayMode("block");f.hide()}e=d.dom.parentNode;if(f.dom.parentNode!=e){e.insertBefore(f.dom,d.dom)}d.shim=f}return d.shim},hideShim:function(){var b=this;if(b.shim){b.shim.setDisplayed(false);b.self.shims.push(b.shim);delete b.shim}},disableShadow:function(){var b=this;if(b.shadow&&!b.shadowDisabled){b.shadowDisabled=true;b.shadow.hide();b.lastShadowOffset=b.shadowOffset;b.shadowOffset=0}},enableShadow:function(d){var c=this;if(c.shadow&&c.shadowDisabled){c.shadowDisabled=false;c.shadowOffset=c.lastShadowOffset;delete c.lastShadowOffset;if(d){c.sync(true)}}},sync:function(w){var q=this,l=q.shadow,r,t,x;if(!q.updating&&q.isVisible()&&(l||q.useShim)){var u=q.getShim(),v=q.getLeft(true),h=q.getTop(true),o=q.dom.offsetWidth,s=q.dom.offsetHeight,p;if(l&&!q.shadowDisabled){if(w&&!l.isVisible()){l.show(q)}else{l.realign(v,h,o,s)}if(u){p=u.getStyle("z-index");if(p>q.zindex){q.shim.setStyle("z-index",q.zindex-2)}u.show();if(l.isVisible()){r=l.el.getXY();t=u.dom.style;x=l.el.getSize();if(Ext.supports.CSS3BoxShadow){x.height+=6;x.width+=4;r[0]-=2;r[1]-=4}t.left=(r[0])+"px";t.top=(r[1])+"px";t.width=(x.width)+"px";t.height=(x.height)+"px"}else{u.setSize(o,s);u.setLeftTop(v,h)}}}else{if(u){p=u.getStyle("z-index");if(p>q.zindex){q.shim.setStyle("z-index",q.zindex-2)}u.show();u.setSize(o,s);u.setLeftTop(v,h)}}}return q},remove:function(){this.hideUnders();this.callParent()},beginUpdate:function(){this.updating=true},endUpdate:function(){this.updating=false;this.sync(true)},hideUnders:function(){if(this.shadow){this.shadow.hide()}this.hideShim()},constrainXY:function(){if(this.constrain){var o=Ext.Element.getViewWidth(),s=Ext.Element.getViewHeight(),h=Ext.getDoc().getScroll(),l=this.getXY(),n=l[0],p=l[1],t=this.shadowOffset,m=this.dom.offsetWidth+t,r=this.dom.offsetHeight+t,q=false;if((n+m)>o+h.left){n=o-m-t;q=true}if((p+r)>s+h.top){p=s-r-t;q=true}if(n<h.left){n=h.left;q=true}if(p<h.top){p=h.top;q=true}if(q){Ext.Layer.superclass.setXY.call(this,[n,p]);this.sync()}}return this},getConstrainOffset:function(){return this.shadowOffset},setVisible:function(l,h,m,j,k){var n=this,i;i=function(){if(l){n.sync(true)}if(j){j()}};if(!l){n.hideUnders(true)}n.callParent([l,h,m,j,k]);if(!h){i()}return n},beforeFx:function(){this.beforeAction();return this.callParent(arguments)},afterFx:function(){this.callParent(arguments);this.sync(this.isVisible())},beforeAction:function(){if(!this.updating&&this.shadow){this.shadow.hide()}},setLeft:function(b){this.callParent(arguments);return this.sync()},setTop:function(b){this.callParent(arguments);return this.sync()},setLeftTop:function(c,d){this.callParent(arguments);return this.sync()},setXY:function(k,h,l,i,j){var g=this;i=g.createCB(i);g.fixDisplay();g.beforeAction();g.callParent([k,h,l,i,j]);if(!h){i()}return g},createCB:function(f){var e=this,d=e.shadow&&e.shadow.isVisible();return function(){e.constrainXY();e.sync(d);if(f){f()}}},setX:function(g,f,j,h,i){this.setXY([g,this.getY()],f,j,h,i);return this},setY:function(h,g,f,i,j){this.setXY([this.getX(),h],g,f,i,j);return this},setSize:function(i,n,h,l,j,k){var m=this;j=m.createCB(j);m.beforeAction();m.callParent([i,n,h,l,j,k]);if(!h){j()}return m},setWidth:function(h,g,k,i,j){var l=this;i=l.createCB(i);l.beforeAction();l.callParent([h,g,k,i,j]);if(!g){i()}return l},setHeight:function(g,h,k,i,j){var l=this;i=l.createCB(i);l.beforeAction();l.callParent([g,h,k,i,j]);if(!h){i()}return l},setBounds:function(l,m,r,j,q,p,k,o){var n=this;k=n.createCB(k);n.beforeAction();if(!q){Ext.Layer.superclass.setXY.call(n,[l,m]);Ext.Layer.superclass.setSize.call(n,r,j);k()}else{n.callParent([l,m,r,j,q,p,k,o])}return n},setZIndex:function(d){var c=this;c.zindex=d;if(c.getShim()){c.shim.setStyle("z-index",d++)}if(c.shadow){c.shadow.setZIndex(d++)}return c.setStyle("z-index",d)},setOpacity:function(b){if(this.shadow){this.shadow.setOpacity(b)}return this.callParent(arguments)}});Ext.define("Ext.data.ArrayStore",{extend:"Ext.data.Store",alias:"store.array",uses:["Ext.data.reader.Array"],constructor:function(b){b=b||{};Ext.applyIf(b,{proxy:{type:"memory",reader:"array"}});this.callParent([b])},loadData:function(h,g){if(this.expandData===true){var i=[],f=0,j=h.length;for(;f<j;f++){i[i.length]=[h[f]]}h=i}this.callParent([h,g])}},function(){Ext.data.SimpleStore=Ext.data.ArrayStore});Ext.define("Ext.PluginManager",{extend:"Ext.AbstractManager",alternateClassName:"Ext.PluginMgr",singleton:true,typeName:"ptype",create:function(d,c){if(d.init){return d}else{return Ext.createByAlias("plugin."+(d.ptype||c),d)}},findByType:function(l,i){var j=[],g=this.types;for(var h in g){if(!g.hasOwnProperty(h)){continue}var k=g[h];if(k.type==l&&(!i||(i===true&&k.isDefault))){j.push(k)}}return j}},function(){Ext.preg=function(){return Ext.PluginManager.registerType.apply(Ext.PluginManager,arguments)}});Ext.define("Ext.layout.component.Auto",{alias:"layout.autocomponent",extend:"Ext.layout.component.Component",type:"autocomponent",onLayout:function(c,d){this.setTargetSize(c,d)}});Ext.define("Ext.resizer.Resizer",{mixins:{observable:"Ext.util.Observable"},uses:["Ext.resizer.ResizeTracker","Ext.Component"],alternateClassName:"Ext.Resizable",handleCls:Ext.baseCSSPrefix+"resizable-handle",pinnedCls:Ext.baseCSSPrefix+"resizable-pinned",overCls:Ext.baseCSSPrefix+"resizable-over",wrapCls:Ext.baseCSSPrefix+"resizable-wrap",dynamic:true,handles:"s e se",height:null,width:null,heightIncrement:0,widthIncrement:0,minHeight:20,minWidth:20,maxHeight:10000,maxWidth:10000,pinned:false,preserveRatio:false,transparent:false,possiblePositions:{n:"north",s:"south",e:"east",w:"west",se:"southeast",sw:"southwest",nw:"northwest",ne:"northeast"},constructor:function(v){var p=this,q,i,m=p.handles,u,n,r,t=0,o;this.addEvents("beforeresize","resizedrag","resize");if(Ext.isString(v)||Ext.isElement(v)||v.dom){q=v;v=arguments[1]||{};v.target=q}p.mixins.observable.constructor.call(p,v);q=p.target;if(q){if(q.isComponent){p.el=q.getEl();if(q.minWidth){p.minWidth=q.minWidth}if(q.minHeight){p.minHeight=q.minHeight}if(q.maxWidth){p.maxWidth=q.maxWidth}if(q.maxHeight){p.maxHeight=q.maxHeight}if(q.floating){if(!this.hasOwnProperty("handles")){this.handles="n ne e se s sw w nw"}}}else{p.el=p.target=Ext.get(q)}}else{p.target=p.el=Ext.get(p.el)}i=p.el.dom.tagName;if(i=="TEXTAREA"||i=="IMG"){p.originalTarget=p.target;p.target=p.el=p.el.wrap({cls:p.wrapCls,id:p.el.id+"-rzwrap"});p.el.setPositioning(p.originalTarget.getPositioning());p.originalTarget.clearPositioning();var s=p.originalTarget.getBox();p.el.setBox(s)}p.el.position();if(p.pinned){p.el.addCls(p.pinnedCls)}p.resizeTracker=Ext.create("Ext.resizer.ResizeTracker",{disabled:p.disabled,target:p.target,constrainTo:p.constrainTo,overCls:p.overCls,throttle:p.throttle,originalTarget:p.originalTarget,delegate:"."+p.handleCls,dynamic:p.dynamic,preserveRatio:p.preserveRatio,heightIncrement:p.heightIncrement,widthIncrement:p.widthIncrement,minHeight:p.minHeight,maxHeight:p.maxHeight,minWidth:p.minWidth,maxWidth:p.maxWidth});p.resizeTracker.on("mousedown",p.onBeforeResize,p);p.resizeTracker.on("drag",p.onResize,p);p.resizeTracker.on("dragend",p.onResizeEnd,p);if(p.handles=="all"){p.handles="n s e w ne nw se sw"}m=p.handles=p.handles.split(/ |\s*?[,;]\s*?/);n=p.possiblePositions;r=m.length;u=p.handleCls+" "+(this.target.isComponent?(p.target.baseCls+"-handle "):"")+p.handleCls+"-";for(;t<r;t++){if(m[t]&&n[m[t]]){o=n[m[t]];p[o]=Ext.create("Ext.Component",{owner:this,region:o,cls:u+o,renderTo:p.el});p[o].el.unselectable();if(p.transparent){p[o].el.setOpacity(0)}}}if(Ext.isNumber(p.width)){p.width=Ext.Number.constrain(p.width,p.minWidth,p.maxWidth)}if(Ext.isNumber(p.height)){p.height=Ext.Number.constrain(p.height,p.minHeight,p.maxHeight)}if(p.width!=null||p.height!=null){if(p.originalTarget){p.originalTarget.setWidth(p.width);p.originalTarget.setHeight(p.height)}p.resizeTo(p.width,p.height)}p.forceHandlesHeight()},disable:function(){this.resizeTracker.disable()},enable:function(){this.resizeTracker.enable()},onBeforeResize:function(f,e){var b=this.target.getBox();return this.fireEvent("beforeresize",this,b.width,b.height,e)},onResize:function(g,e){var h=this,b=h.target.getBox();h.forceHandlesHeight();return h.fireEvent("resizedrag",h,b.width,b.height,e)},onResizeEnd:function(g,e){var h=this,b=h.target.getBox();h.forceHandlesHeight();return h.fireEvent("resize",h,b.width,b.height,e)},resizeTo:function(c,d){this.target.setSize(c,d);this.fireEvent("resize",this,c,d,null)},getEl:function(){return this.el},getTarget:function(){return this.target},destroy:function(){var f;for(var d=0,e=this.handles.length;d<e;d++){f=this[this.possiblePositions[this.handles[d]]];delete f.owner;Ext.destroy(f)}},forceHandlesHeight:function(){var d=this,c;if(Ext.isIE6){c=d.east;if(c){c.setHeight(d.el.getHeight())}c=d.west;if(c){c.setHeight(d.el.getHeight())}d.el.repaint()}}});Ext.define("Ext.panel.Tool",{extend:"Ext.Component",requires:["Ext.tip.QuickTipManager"],alias:"widget.tool",baseCls:Ext.baseCSSPrefix+"tool",disabledCls:Ext.baseCSSPrefix+"tool-disabled",toolPressedCls:Ext.baseCSSPrefix+"tool-pressed",toolOverCls:Ext.baseCSSPrefix+"tool-over",ariaRole:"button",renderTpl:['<img id="{id}-toolEl" src="{blank}" class="{baseCls}-{type}" role="presentation"/>'],tooltipType:"qtip",stopEvent:true,initComponent:function(){var c=this;c.addEvents("click");var d=["close","collapse","down","expand","gear","help","left","maximize","minimize","minus","move","next","pin","plus","prev","print","refresh","resize","restore","right","save","search","toggle","unpin","up"];if(c.id&&Ext.Array.indexOf(d,c.id)>-1&&Ext.global.console){Ext.global.console.warn("When specifying a tool you should use the type option, the id can conflict now that tool is a Component")}c.type=c.type||c.id;Ext.applyIf(c.renderData,{baseCls:c.baseCls,blank:Ext.BLANK_IMAGE_URL,type:c.type});c.addChildEls("toolEl");c.tooltip=c.tooltip||c.qtip;c.callParent()},afterRender:function(){var c=this,d;c.callParent(arguments);if(c.tooltip){if(Ext.isObject(c.tooltip)){Ext.tip.QuickTipManager.register(Ext.apply({target:c.id},c.tooltip))}else{d=c.tooltipType=="qtip"?"data-qtip":"title";c.toolEl.dom.setAttribute(d,c.tooltip)}}c.mon(c.toolEl,{click:c.onClick,mousedown:c.onMouseDown,mouseover:c.onMouseOver,mouseout:c.onMouseOut,scope:c})},setType:function(d){var c=this;c.type=d;if(c.rendered){c.toolEl.dom.className=c.baseCls+"-"+d}return c},bindTo:function(b){this.owner=b},onClick:function(g,h){var e=this,f;if(e.disabled){return false}f=e.owner||e.ownerCt;e.el.removeCls(e.toolPressedCls);e.el.removeCls(e.toolOverCls);if(e.stopEvent!==false){g.stopEvent()}Ext.callback(e.handler,e.scope||e,[g,h,f,e]);e.fireEvent("click",e,g);return true},onDestroy:function(){if(Ext.isObject(this.tooltip)){Ext.tip.QuickTipManager.unregister(this.id)}this.callParent()},onMouseDown:function(){if(this.disabled){return false}this.el.addCls(this.toolPressedCls)},onMouseOver:function(){if(this.disabled){return false}this.el.addCls(this.toolOverCls)},onMouseOut:function(){this.el.removeCls(this.toolOverCls)}});Ext.define("Ext.util.CSS",function(){var g=null;var h=document;var e=/(-[a-z])/gi;var f=function(b,a){return a.charAt(1).toUpperCase()};return{singleton:true,constructor:function(){this.rules={};this.initialized=false},createStyleSheet:function(d,a){var l,m=h.getElementsByTagName("head")[0],b=h.createElement("style");b.setAttribute("type","text/css");if(a){b.setAttribute("id",a)}if(Ext.isIE){m.appendChild(b);l=b.styleSheet;l.cssText=d}else{try{b.appendChild(h.createTextNode(d))}catch(c){b.cssText=d}m.appendChild(b);l=b.styleSheet?b.styleSheet:(b.sheet||h.styleSheets[h.styleSheets.length-1])}this.cacheStyleSheet(l);return l},removeStyleSheet:function(a){var b=document.getElementById(a);if(b){b.parentNode.removeChild(b)}},swapStyleSheet:function(a,d){var b=document;this.removeStyleSheet(a);var c=b.createElement("link");c.setAttribute("rel","stylesheet");c.setAttribute("type","text/css");c.setAttribute("id",a);c.setAttribute("href",d);b.getElementsByTagName("head")[0].appendChild(c)},refreshCache:function(){return this.getRules(true)},cacheStyleSheet:function(c){if(!g){g={}}try{var o=c.cssRules||c.rules,b,d=o.length-1,j,i;for(;d>=0;--d){b=o[d].selectorText;if(b){b=b.split(",");i=b.length;for(j=0;j<i;j++){g[Ext.String.trim(b[j]).toLowerCase()]=o[d]}}}}catch(a){}},getRules:function(d){if(g===null||d){g={};var b=h.styleSheets,c=0,i=b.length;for(;c<i;c++){try{if(!b[c].disabled){this.cacheStyleSheet(b[c])}}catch(a){}}}return g},getRule:function(d,b){var c=this.getRules(b);if(!Ext.isArray(d)){return c[d.toLowerCase()]}for(var a=0;a<d.length;a++){if(c[d[a]]){return c[d[a].toLowerCase()]}}return null},updateRule:function(i,b,c){if(!Ext.isArray(i)){var a=this.getRule(i);if(a){a.style[b.replace(e,f)]=c;return true}}else{for(var d=0;d<i.length;d++){if(this.updateRule(i[d],b,c)){return true}}}return false}}}());Ext.define("Ext.grid.ColumnLayout",{extend:"Ext.layout.container.HBox",alias:"layout.gridcolumn",type:"column",reserveOffset:false,shrinkToFit:false,clearInnerCtOnLayout:true,beforeLayout:function(){var j=this,n=0,h=j.getLayoutItems(),i=h.length,k,l,m;if(!Ext.isDefined(j.availableSpaceOffset)){m=j.owner.up("tablepanel").verticalScroller;j.availableSpaceOffset=m?m.width-1:0}l=j.callParent(arguments);j.innerCt.setHeight(23);for(;n<i;n++){k=h[n];k.el.setStyle({height:"auto"});k.titleContainer.setStyle({height:"auto",paddingTop:"0"});if(k.componentLayout&&k.componentLayout.lastComponentSize){k.componentLayout.lastComponentSize.height=k.el.dom.offsetHeight}}return l},calculateChildBoxes:function(i,r){var m=this,s=m.callParent(arguments),o=s.boxes,t=s.meta,n=o.length,q=0,p,l;if(r.width&&!m.isHeader){if(m.owner.forceFit){for(;q<n;q++){p=o[q];l=p.component;l.minWidth=Ext.grid.plugin.HeaderResizer.prototype.minColWidth;l.flex=p.width}s=m.callParent(arguments)}else{if(t.tooNarrow){r.width=t.desiredSize}}}return s},afterLayout:function(){var n=this,x=n.owner,o,i,r,w,s,v,t=0,p,q,u;n.callParent(arguments);if(!n.owner.hideHeaders){if(x.lockableInjected){o=x.up("tablepanel").up("tablepanel");i=o.query("headercontainer:not([isHeader])");r=(i[0]===x)?i[1]:i[0];if(!r.rendered){return}s=r.layout.getRenderTarget().getViewSize().height;if(!s){return}w=this.getRenderTarget().getViewSize().height;if(!w){return}o.componentLayout.layoutBusy=true;u=w;if(w>s){r.layout.align="stretch";r.setCalculatedSize(r.getWidth(),x.getHeight(),r.ownerCt);delete r.layout.align;v=r.up("tablepanel")}else{if(s>w){u=s;this.align="stretch";x.setCalculatedSize(x.getWidth(),r.getHeight(),x.ownerCt);delete this.align;v=x.up("tablepanel")}}o.componentLayout.layoutBusy=false;p=i[0].layout.getLayoutItems().concat(i[1].layout.getLayoutItems())}else{u=this.getRenderTarget().getViewSize().height;p=n.getLayoutItems()}q=p.length;for(;t<q;t++){p[t].setPadding(u)}if(v){setTimeout(function(){v.doLayout()},1)}}},updateInnerCtSize:function(e,g){var h=this,f;if(!h.isHeader){h.tooNarrow=g.meta.tooNarrow;f=(h.reserveOffset?h.availableSpaceOffset:0);if(g.meta.tooNarrow){e.width=g.meta.desiredSize+f}else{e.width+=f}}return h.callParent(arguments)},doOwnerCtLayouts:function(){var b=this.owner.ownerCt;if(!b.componentLayout.layoutBusy){b.doComponentLayout()}}});Ext.define("Ext.view.TableChunker",{singleton:true,requires:["Ext.XTemplate"],metaTableTpl:["{[this.openTableWrap()]}",'<table class="'+Ext.baseCSSPrefix+"grid-table "+Ext.baseCSSPrefix+'grid-table-resizer" border="0" cellspacing="0" cellpadding="0" {[this.embedFullWidth()]}>',"<tbody>",'<tr class="'+Ext.baseCSSPrefix+'grid-header-row">','<tpl for="columns">','<th class="'+Ext.baseCSSPrefix+'grid-col-resizer-{id}" style="width: {width}px; height: 0px;"></th>',"</tpl>","</tr>","{[this.openRows()]}","{row}",'<tpl for="features">',"{[this.embedFeature(values, parent, xindex, xcount)]}","</tpl>","{[this.closeRows()]}","</tbody>","</table>","{[this.closeTableWrap()]}"],constructor:function(){Ext.XTemplate.prototype.recurse=function(c,d){return this.apply(d?c[d]:c)}},embedFeature:function(f,i,g,h){var j="";if(!f.disabled){j=f.getFeatureTpl(f,i,g,h)}return j},embedFullWidth:function(){return'style="width: {fullWidth}px;"'},openRows:function(){return'<tpl for="rows">'},closeRows:function(){return"</tpl>"},metaRowTpl:['<tr class="'+Ext.baseCSSPrefix+'grid-row {addlSelector} {[this.embedRowCls()]}" {[this.embedRowAttr()]}>','<tpl for="columns">','<td class="{cls} '+Ext.baseCSSPrefix+"grid-cell "+Ext.baseCSSPrefix+'grid-cell-{columnId} {{id}-modified} {{id}-tdCls} {[this.firstOrLastCls(xindex, xcount)]}" {{id}-tdAttr}><div unselectable="on" class="'+Ext.baseCSSPrefix+"grid-cell-inner "+Ext.baseCSSPrefix+'unselectable" style="{{id}-style}; text-align: {align};">{{id}}</div></td>',"</tpl>","</tr>"],firstOrLastCls:function(d,f){var e="";if(d===1){e=Ext.baseCSSPrefix+"grid-cell-first"}else{if(d===f){e=Ext.baseCSSPrefix+"grid-cell-last"}}return e},embedRowCls:function(){return"{rowCls}"},embedRowAttr:function(){return"{rowAttr}"},openTableWrap:function(){return""},closeTableWrap:function(){return""},getTableTpl:function(n,u){var o,p={openRows:this.openRows,closeRows:this.closeRows,embedFeature:this.embedFeature,embedFullWidth:this.embedFullWidth,openTableWrap:this.openTableWrap,closeTableWrap:this.closeTableWrap},q={},t=n.features||[],i=t.length,r=0,m={embedRowCls:this.embedRowCls,embedRowAttr:this.embedRowAttr,firstOrLastCls:this.firstOrLastCls},s=Array.prototype.slice.call(this.metaRowTpl,0),v;for(;r<i;r++){if(!t[r].disabled){t[r].mutateMetaRowTpl(s);Ext.apply(m,t[r].getMetaRowTplFragments());Ext.apply(q,t[r].getFragmentTpl());Ext.apply(p,t[r].getTableFragments())}}s=Ext.create("Ext.XTemplate",s.join(""),m);n.row=s.applyTemplate(n);v=Ext.create("Ext.XTemplate",this.metaTableTpl.join(""),p);o=v.applyTemplate(n);if(!u){o=Ext.create("Ext.XTemplate",o,q)}return o}});Ext.define("Ext.grid.Scroller",{extend:"Ext.Component",alias:"widget.gridscroller",weight:110,baseCls:Ext.baseCSSPrefix+"scroller",focusable:false,reservedSpace:0,renderTpl:['<div class="'+Ext.baseCSSPrefix+'scroller-ct" id="{baseId}_ct">','<div class="'+Ext.baseCSSPrefix+'stretcher" id="{baseId}_stretch"></div>',"</div>"],initComponent:function(){var f=this,d=f.dock,e=Ext.baseCSSPrefix+"scroller-vertical";f.offsets={bottom:0};f.scrollProp="scrollTop";f.vertical=true;f.sizeProp="width";if(d==="top"||d==="bottom"){e=Ext.baseCSSPrefix+"scroller-horizontal";f.sizeProp="height";f.scrollProp="scrollLeft";f.vertical=false;f.weight+=5}f.cls+=(" "+e);Ext.applyIf(f.renderSelectors,{stretchEl:"."+Ext.baseCSSPrefix+"stretcher",scrollEl:"."+Ext.baseCSSPrefix+"scroller-ct"});f.callParent()},ensureDimension:function(){var d=this,c=d.sizeProp;d[c]=d.scrollerSize=Ext.getScrollbarSize()[c]},initRenderData:function(){var c=this,d=c.callParent(arguments)||{};d.baseId=c.id;return d},afterRender:function(){var b=this;b.callParent();b.mon(b.scrollEl,"scroll",b.onElScroll,b);Ext.cache[b.el.id].skipGarbageCollection=true},onAdded:function(b){this.ownerGrid=b;this.callParent(arguments)},getSizeCalculation:function(){var l=this,p=l.getPanel(),m=1,i=1,o,k;if(!l.vertical){var n=p.query("tableview"),j=n[1]||n[0];if(!j){return false}m=j.headerCt.getFullWidth();if(Ext.isIEQuirks){m--}}else{o=p.down("tableview:not([lockableInjected])");if(!o||!o.el){return false}k=o.el.child("table",true);if(!k){return false}i=k.offsetHeight}if(isNaN(m)){m=1}if(isNaN(i)){i=1}return{width:m,height:i}},invalidate:function(o){var m=this,n=m.stretchEl;if(!n||!m.ownerCt){return}var j=m.getSizeCalculation(),k=m.scrollEl,q=k.dom,p=m.reservedSpace,l,r=5;if(j){n.setSize(j);j=m.el.getSize(true);if(m.vertical){j.width+=r;j.height-=p;l="left"}else{j.width-=p;j.height+=r;l="top"}k.setSize(j);q.style[l]=(-r)+"px";q.scrollTop=q.scrollTop}},afterComponentLayout:function(){this.callParent(arguments);this.invalidate()},restoreScrollPos:function(){var f=this,d=this.scrollEl,e=d&&d.dom;if(f._scrollPos!==null&&e){e[f.scrollProp]=f._scrollPos;f._scrollPos=null}},setReservedSpace:function(c){var d=this;if(d.reservedSpace!==c){d.reservedSpace=c;d.invalidate()}},saveScrollPos:function(){var f=this,d=this.scrollEl,e=d&&d.dom;f._scrollPos=e?e[f.scrollProp]:null},setScrollTop:function(f){var d=this.scrollEl,e=d&&d.dom;if(e){return e.scrollTop=Ext.Number.constrain(f,0,e.scrollHeight-e.clientHeight)}},setScrollLeft:function(f){var d=this.scrollEl,e=d&&d.dom;if(e){return e.scrollLeft=Ext.Number.constrain(f,0,e.scrollWidth-e.clientWidth)}},scrollByDeltaY:function(f){var d=this.scrollEl,e=d&&d.dom;if(e){return this.setScrollTop(e.scrollTop+f)}},scrollByDeltaX:function(f){var d=this.scrollEl,e=d&&d.dom;if(e){return this.setScrollLeft(e.scrollLeft+f)}},scrollToTop:function(){this.setScrollTop(0)},onElScroll:function(d,c){this.fireEvent("bodyscroll",d,c)},getPanel:function(){var b=this;if(!b.panel){b.panel=this.up("[scrollerOwner]")}return b.panel}});Ext.define("Ext.data.Batch",{mixins:{observable:"Ext.util.Observable"},autoStart:false,current:-1,total:0,isRunning:false,isComplete:false,hasException:false,pauseOnException:true,constructor:function(d){var c=this;c.addEvents("complete","exception","operationcomplete");c.mixins.observable.constructor.call(c,d);c.operations=[]},add:function(b){this.total++;b.setBatch(this);this.operations.push(b)},start:function(){this.hasException=false;this.isRunning=true;this.runNextOperation()},runNextOperation:function(){this.runOperation(this.current+1)},pause:function(){this.isRunning=false},runOperation:function(i){var h=this,j=h.operations,f=j[i],g;if(f===undefined){h.isRunning=false;h.isComplete=true;h.fireEvent("complete",h,j[j.length-1])}else{h.current=i;g=function(b){var a=b.hasException();if(a){h.hasException=true;h.fireEvent("exception",h,b)}else{h.fireEvent("operationcomplete",h,b)}if(a&&h.pauseOnException){h.pause()}else{b.setCompleted();h.runNextOperation()}};f.setStarted();h.proxy[f.action](f,g,h)}}});Ext.define("Ext.data.Request",{action:undefined,params:undefined,method:"GET",url:undefined,constructor:function(b){Ext.apply(this,b)}});Ext.define("Ext.util.History",{singleton:true,alternateClassName:"Ext.History",mixins:{observable:"Ext.util.Observable"},constructor:function(){var b=this;b.oldIEMode=Ext.isIE6||Ext.isIE7||!Ext.isStrict&&Ext.isIE8;b.iframe=null;b.hiddenField=null;b.ready=false;b.currentToken=null},getHash:function(){var d=window.location.href,c=d.indexOf("#");return c>=0?d.substr(c+1):null},doSave:function(){this.hiddenField.value=this.currentToken},handleStateChange:function(b){this.currentToken=b;this.fireEvent("change",b)},updateIFrame:function(e){var f='<html><body><div id="state">'+Ext.util.Format.htmlEncode(e)+"</div></body></html>";try{var g=this.iframe.contentWindow.document;g.open();g.write(f);g.close();return true}catch(h){return false}},checkIFrame:function(){var k=this,g=k.iframe.contentWindow;if(!g||!g.document){Ext.Function.defer(this.checkIFrame,10,this);return}var j=g.document,l=j.getElementById("state"),h=l?l.innerText:null,i=k.getHash();Ext.TaskManager.start({run:function(){var a=g.document,b=a.getElementById("state"),d=b?b.innerText:null,c=k.getHash();if(d!==h){h=d;k.handleStateChange(d);window.top.location.hash=d;i=d;k.doSave()}else{if(c!==i){i=c;k.updateIFrame(c)}}},interval:50,scope:k});k.ready=true;k.fireEvent("ready",k)},startUp:function(){var d=this;d.currentToken=d.hiddenField.value||this.getHash();if(d.oldIEMode){d.checkIFrame()}else{var c=d.getHash();Ext.TaskManager.start({run:function(){var a=d.getHash();if(a!==c){c=a;d.handleStateChange(c);d.doSave()}},interval:50,scope:d});d.ready=true;d.fireEvent("ready",d)}},fieldId:Ext.baseCSSPrefix+"history-field",iframeId:Ext.baseCSSPrefix+"history-frame",init:function(f,e){var d=this;if(d.ready){Ext.callback(f,e,[d]);return}if(!Ext.isReady){Ext.onReady(function(){d.init(f,e)});return}d.hiddenField=Ext.getDom(d.fieldId);if(d.oldIEMode){d.iframe=Ext.getDom(d.iframeId)}d.addEvents("ready","change");if(f){d.on("ready",f,e,{single:true})}d.startUp()},add:function(e,f){var d=this;if(f!==false){if(d.getToken()===e){return true}}if(d.oldIEMode){return d.updateIFrame(e)}else{window.top.location.hash=e;return true}},back:function(){window.history.go(-1)},forward:function(){window.history.go(1)},getToken:function(){return this.ready?this.currentToken:this.getHash()}});Ext.define("Ext.data.JsonP",{singleton:true,statics:{requestCount:0,requests:{}},timeout:30000,disableCaching:true,disableCachingParam:"_dc",callbackKey:"callback",request:function(n){n=Ext.apply({},n);if(!n.url){Ext.Error.raise("A url must be specified for a JSONP request.")}var r=this,w=Ext.isDefined(n.disableCaching)?n.disableCaching:r.disableCaching,t=n.disableCachingParam||r.disableCachingParam,x=++r.statics().requestCount,p=n.callbackName||"callback"+x,s=n.callbackKey||r.callbackKey,o=Ext.isDefined(n.timeout)?n.timeout:r.timeout,v=Ext.apply({},n.params),y=n.url,z=Ext.isSandboxed?Ext.getUniqueGlobalNamespace():"Ext",u,q;v[s]=z+".data.JsonP."+p;if(w){v[t]=new Date().getTime()}q=r.createScript(y,v);r.statics().requests[x]=u={url:y,params:v,script:q,id:x,scope:n.scope,success:n.success,failure:n.failure,callback:n.callback,callbackName:p};if(o>0){u.timeout=setTimeout(Ext.bind(r.handleTimeout,r,[u]),o)}r.setupErrorHandling(u);r[p]=Ext.bind(r.handleResponse,r,[u],true);Ext.getHead().appendChild(q);return u},abort:function(d){var f=this.statics().requests,e;if(d){if(!d.id){d=f[d]}this.abort(d)}else{for(e in f){if(f.hasOwnProperty(e)){this.abort(f[e])}}}},setupErrorHandling:function(b){b.script.onerror=Ext.bind(this.handleError,this,[b])},handleAbort:function(b){b.errorType="abort";this.handleResponse(null,b)},handleError:function(b){b.errorType="error";this.handleResponse(null,b)},cleanupErrorHandling:function(b){b.script.onerror=null},handleTimeout:function(b){b.errorType="timeout";this.handleResponse(null,b)},handleResponse:function(e,d){var f=true;if(d.timeout){clearTimeout(d.timeout)}delete this[d.callbackName];delete this.statics()[d.id];this.cleanupErrorHandling(d);Ext.fly(d.script).remove();if(d.errorType){f=false;Ext.callback(d.failure,d.scope,[d.errorType])}else{Ext.callback(d.success,d.scope,[e])}Ext.callback(d.callback,d.scope,[f,e,d.errorType])},createScript:function(d,f){var e=document.createElement("script");e.setAttribute("src",Ext.urlAppend(d,Ext.Object.toQueryString(f)));e.setAttribute("async",true);e.setAttribute("type","text/javascript");return e}});Ext.define("Ext.dd.DragZone",{extend:"Ext.dd.DragSource",constructor:function(c,d){this.callParent([c,d]);if(this.containerScroll){Ext.dd.ScrollManager.register(this.el)}},getDragData:function(b){return Ext.dd.Registry.getHandleFromEvent(b)},onInitDrag:function(d,c){this.proxy.update(this.dragData.ddel.cloneNode(true));this.onStartDrag(d,c);return true},afterRepair:function(){var b=this;if(Ext.enableFx){Ext.fly(b.dragData.ddel).highlight(b.repairHighlightColor)}b.dragging=false},getRepairXY:function(b){return Ext.Element.fly(this.dragData.ddel).getXY()},destroy:function(){this.callParent();if(this.containerScroll){Ext.dd.ScrollManager.unregister(this.el)}}});Ext.define("Ext.menu.Item",{extend:"Ext.Component",alias:"widget.menuitem",alternateClassName:"Ext.menu.TextItem",activeCls:Ext.baseCSSPrefix+"menu-item-active",ariaRole:"menuitem",canActivate:true,clickHideDelay:1,destroyMenu:true,disabledCls:Ext.baseCSSPrefix+"menu-item-disabled",hideOnClick:true,isMenuItem:true,menuAlign:"tl-tr?",menuExpandDelay:200,menuHideDelay:200,renderTpl:['<tpl if="plain">',"{text}","</tpl>",'<tpl if="!plain">','<a id="{id}-itemEl" class="'+Ext.baseCSSPrefix+'menu-item-link" href="{href}" <tpl if="hrefTarget">target="{hrefTarget}"</tpl> hidefocus="true" unselectable="on">','<img id="{id}-iconEl" src="{icon}" class="'+Ext.baseCSSPrefix+'menu-item-icon {iconCls}" />','<span id="{id}-textEl" class="'+Ext.baseCSSPrefix+'menu-item-text" <tpl if="menu">style="margin-right: 17px;"</tpl> >{text}</span>','<tpl if="menu">','<img id="{id}-arrowEl" src="{blank}" class="'+Ext.baseCSSPrefix+'menu-item-arrow" />',"</tpl>","</a>","</tpl>"],maskOnDisable:false,activate:function(){var b=this;if(!b.activated&&b.canActivate&&b.rendered&&!b.isDisabled()&&b.isVisible()){b.el.addCls(b.activeCls);b.focus();b.activated=true;b.fireEvent("activate",b)}},blur:function(){this.$focused=false;this.callParent(arguments)},deactivate:function(){var b=this;if(b.activated){b.el.removeCls(b.activeCls);b.blur();b.hideMenu();b.activated=false;b.fireEvent("deactivate",b)}},deferExpandMenu:function(){var b=this;if(!b.menu.rendered||!b.menu.isVisible()){b.parentMenu.activeChild=b.menu;b.menu.parentItem=b;b.menu.parentMenu=b.menu.ownerCt=b.parentMenu;b.menu.showBy(b,b.menuAlign)}},deferHideMenu:function(){if(this.menu.isVisible()){this.menu.hide()}},deferHideParentMenus:function(){Ext.menu.Manager.hideAll()},expandMenu:function(d){var c=this;if(c.menu){clearTimeout(c.hideMenuTimer);if(d===0){c.deferExpandMenu()}else{c.expandMenuTimer=Ext.defer(c.deferExpandMenu,Ext.isNumber(d)?d:c.menuExpandDelay,c)}}},focus:function(){this.$focused=true;this.callParent(arguments)},getRefItems:function(e){var f=this.menu,d;if(f){d=f.getRefItems(e);d.unshift(f)}return d||[]},hideMenu:function(d){var c=this;if(c.menu){clearTimeout(c.expandMenuTimer);c.hideMenuTimer=Ext.defer(c.deferHideMenu,Ext.isNumber(d)?d:c.menuHideDelay,c)}},initComponent:function(){var d=this,f=Ext.baseCSSPrefix,e=[f+"menu-item"];d.addEvents("activate","click","deactivate");if(d.plain){e.push(f+"menu-item-plain")}if(d.cls){e.push(d.cls)}d.cls=e.join(" ");if(d.menu){d.menu=Ext.menu.Manager.get(d.menu)}d.callParent(arguments)},onClick:function(c){var d=this;if(!d.href){c.stopEvent()}if(d.disabled){return}if(d.hideOnClick){d.deferHideParentMenusTimer=Ext.defer(d.deferHideParentMenus,d.clickHideDelay,d)}Ext.callback(d.handler,d.scope||d,[d,c]);d.fireEvent("click",d,c);if(!d.hideOnClick){d.focus()}},onDestroy:function(){var b=this;clearTimeout(b.expandMenuTimer);clearTimeout(b.hideMenuTimer);clearTimeout(b.deferHideParentMenusTimer);if(b.menu){delete b.menu.parentItem;delete b.menu.parentMenu;delete b.menu.ownerCt;if(b.destroyMenu!==false){b.menu.destroy()}}b.callParent(arguments)},onRender:function(f,g){var e=this,h=Ext.BLANK_IMAGE_URL;Ext.applyIf(e.renderData,{href:e.href||"#",hrefTarget:e.hrefTarget,icon:e.icon||h,iconCls:e.iconCls+(e.checkChangeDisabled?" "+e.disabledCls:""),menu:Ext.isDefined(e.menu),plain:e.plain,text:e.text,blank:h});e.addChildEls("itemEl","iconEl","textEl","arrowEl");e.callParent(arguments)},setHandler:function(c,d){this.handler=c||null;this.scope=d},setIconCls:function(d){var c=this;if(c.iconEl){if(c.iconCls){c.iconEl.removeCls(c.iconCls)}if(d){c.iconEl.addCls(d)}}c.iconCls=d},setText:function(f){var d=this,e=d.textEl||d.el;d.text=f;if(d.rendered){e.update(f||"");d.ownerCt.redoComponentLayout()}}});Ext.define("Ext.menu.KeyNav",{extend:"Ext.util.KeyNav",requires:["Ext.FocusManager"],constructor:function(c){var d=this;d.menu=c;d.callParent([c.el,{down:d.down,enter:d.enter,esc:d.escape,left:d.left,right:d.right,space:d.enter,tab:d.tab,up:d.up}])},down:function(d){var e=this,f=e.menu.focusedItem;if(f&&d.getKey()==Ext.EventObject.DOWN&&e.isWhitelisted(f)){return true}e.focusNextItem(1)},enter:function(d){var f=this.menu,e=f.focusedItem;if(f.activeItem){f.onClick(d)}else{if(e&&e.isFormField){return true}}},escape:function(b){Ext.menu.Manager.hideAll()},focusNextItem:function(k){var j=this.menu,h=j.items,m=j.focusedItem,n=m?h.indexOf(m):-1,i=n+k;while(i!=n){if(i<0){i=h.length-1}else{if(i>=h.length){i=0}}var l=h.getAt(i);if(j.canActivateItem(l)){j.setActiveItem(l);break}i+=k}},isWhitelisted:function(b){return Ext.FocusManager.isWhitelisted(b)},left:function(e){var h=this.menu,g=h.focusedItem,f=h.activeItem;if(g&&this.isWhitelisted(g)){return true}h.hide();if(h.parentMenu){h.parentMenu.focus()}},right:function(j){var i=this.menu,h=i.focusedItem,g=i.activeItem,e;if(h&&this.isWhitelisted(h)){return true}if(g){e=i.activeItem.menu;if(e){g.expandMenu(0);Ext.defer(function(){e.setActiveItem(e.items.getAt(0))},25)}}},tab:function(c){var d=this;if(c.shiftKey){d.up(c)}else{d.down(c)}},up:function(d){var e=this,f=e.menu.focusedItem;if(f&&d.getKey()==Ext.EventObject.UP&&e.isWhitelisted(f)){return true}e.focusNextItem(-1)}});Ext.define("Ext.ElementLoader",{mixins:{observable:"Ext.util.Observable"},uses:["Ext.data.Connection","Ext.Ajax"],statics:{Renderer:{Html:function(e,d,f){e.getTarget().update(d.responseText,f.scripts===true);return true}}},url:null,params:null,baseParams:null,autoLoad:false,target:null,loadMask:false,ajaxOptions:null,scripts:false,isLoader:true,constructor:function(d){var f=this,e;d=d||{};Ext.apply(f,d);f.setTarget(f.target);f.addEvents("beforeload","exception","load");f.mixins.observable.constructor.call(f);if(f.autoLoad){e=f.autoLoad;if(e===true){e={}}f.load(e)}},setTarget:function(c){var d=this;c=Ext.get(c);if(d.target&&d.target!=c){d.abort()}d.target=c},getTarget:function(){return this.target||null},abort:function(){var b=this.active;if(b!==undefined){Ext.Ajax.abort(b.request);if(b.mask){this.removeMask()}delete this.active}},removeMask:function(){this.target.unmask()},addMask:function(b){this.target.mask(b===true?null:b)},load:function(k){if(!this.target){Ext.Error.raise("A valid target is required when loading content")}k=Ext.apply({},k);var n=this,o=n.target,j=Ext.isDefined(k.loadMask)?k.loadMask:n.loadMask,q=Ext.apply({},k.params),r=Ext.apply({},k.ajaxOptions),m=k.callback||n.callback,l=k.scope||n.scope||n,p;Ext.applyIf(r,n.ajaxOptions);Ext.applyIf(k,r);Ext.applyIf(q,n.params);Ext.apply(q,n.baseParams);Ext.applyIf(k,{url:n.url});if(!k.url){Ext.Error.raise("You must specify the URL from which content should be loaded")}Ext.apply(k,{scope:n,params:q,callback:n.onComplete});if(n.fireEvent("beforeload",n,k)===false){return}if(j){n.addMask(j)}p=Ext.Ajax.request(k);n.active={request:p,options:k,mask:j,scope:l,callback:m,success:k.success||n.success,failure:k.failure||n.failure,renderer:k.renderer||n.renderer,scripts:Ext.isDefined(k.scripts)?k.scripts:n.scripts};n.setOptions(n.active,k)},setOptions:Ext.emptyFn,onComplete:function(h,j,i){var m=this,k=m.active,n=k.scope,l=m.getRenderer(k.renderer);if(j){j=l.call(m,m,i,k)}if(j){Ext.callback(k.success,n,[m,i,h]);m.fireEvent("load",m,i,h)}else{Ext.callback(k.failure,n,[m,i,h]);m.fireEvent("exception",m,i,h)}Ext.callback(k.callback,n,[m,j,i,h]);if(k.mask){m.removeMask()}delete m.active},getRenderer:function(b){if(Ext.isFunction(b)){return b}return this.statics().Renderer.Html},startAutoRefresh:function(e,d){var f=this;f.stopAutoRefresh();f.autoRefresh=setInterval(function(){f.load(d)},e)},stopAutoRefresh:function(){clearInterval(this.autoRefresh);delete this.autoRefresh},isAutoRefreshing:function(){return Ext.isDefined(this.autoRefresh)},destroy:function(){var b=this;b.stopAutoRefresh();delete b.target;b.abort();b.clearListeners()}});Ext.define("Ext.dd.DragTracker",{uses:["Ext.util.Region"],mixins:{observable:"Ext.util.Observable"},active:false,trackOver:false,tolerance:5,autoStart:false,constructor:function(b){Ext.apply(this,b);this.addEvents("mouseover","mouseout","mousedown","mouseup","mousemove","beforedragstart","dragstart","dragend","drag");this.dragRegion=Ext.create("Ext.util.Region",0,0,0,0);if(this.el){this.initEl(this.el)}this.mixins.observable.constructor.call(this);if(this.disabled){this.disable()}},initEl:function(b){this.el=Ext.get(b);this.handle=Ext.get(this.delegate);this.delegate=this.handle?undefined:this.delegate;if(!this.handle){this.handle=this.el}this.mon(this.handle,{mousedown:this.onMouseDown,delegate:this.delegate,scope:this});if(this.trackOver||this.overCls){this.mon(this.handle,{mouseover:this.onMouseOver,mouseout:this.onMouseOut,delegate:this.delegate,scope:this})}},disable:function(){this.disabled=true},enable:function(){this.disabled=false},destroy:function(){this.clearListeners();delete this.el},onMouseOver:function(f,d){var e=this;if(!e.disabled){if(Ext.EventManager.contains(f)||e.delegate){e.mouseIsOut=false;if(e.overCls){e.el.addCls(e.overCls)}e.fireEvent("mouseover",e,f,e.delegate?f.getTarget(e.delegate,d):e.handle)}}},onMouseOut:function(b){if(this.mouseIsDown){this.mouseIsOut=true}else{if(this.overCls){this.el.removeCls(this.overCls)}this.fireEvent("mouseout",this,b)}},onMouseDown:function(c,d){if(this.disabled||c.dragTracked){return}this.dragTarget=this.delegate?d:this.handle.dom;this.startXY=this.lastXY=c.getXY();this.startRegion=Ext.fly(this.dragTarget).getRegion();if(this.fireEvent("mousedown",this,c)===false||this.fireEvent("beforedragstart",this,c)===false||this.onBeforeStart(c)===false){return}this.mouseIsDown=true;c.dragTracked=true;if(this.preventDefault!==false){c.preventDefault()}Ext.getDoc().on({scope:this,mouseup:this.onMouseUp,mousemove:this.onMouseMove,selectstart:this.stopSelect});if(this.autoStart){this.timer=Ext.defer(this.triggerStart,this.autoStart===true?1000:this.autoStart,this,[c])}},onMouseMove:function(g,h){if(this.active&&Ext.isIE&&!g.browserEvent.button){g.preventDefault();this.onMouseUp(g);return}g.preventDefault();var e=g.getXY(),f=this.startXY;this.lastXY=e;if(!this.active){if(Math.max(Math.abs(f[0]-e[0]),Math.abs(f[1]-e[1]))>this.tolerance){this.triggerStart(g)}else{return}}if(this.fireEvent("mousemove",this,g)===false){this.onMouseUp(g)}else{this.onDrag(g);this.fireEvent("drag",this,g)}},onMouseUp:function(b){this.mouseIsDown=false;if(this.mouseIsOut){this.mouseIsOut=false;this.onMouseOut(b)}b.preventDefault();this.fireEvent("mouseup",this,b);this.endDrag(b)},endDrag:function(f){var d=Ext.getDoc(),e=this.active;d.un("mousemove",this.onMouseMove,this);d.un("mouseup",this.onMouseUp,this);d.un("selectstart",this.stopSelect,this);this.clearStart();this.active=false;if(e){this.onEnd(f);this.fireEvent("dragend",this,f)}delete this._constrainRegion;delete Ext.EventObject.dragTracked},triggerStart:function(b){this.clearStart();this.active=true;this.onStart(b);this.fireEvent("dragstart",this,b)},clearStart:function(){if(this.timer){clearTimeout(this.timer);delete this.timer}},stopSelect:function(b){b.stopEvent();return false},onBeforeStart:function(b){},onStart:function(b){},onDrag:function(b){},onEnd:function(b){},getDragTarget:function(){return this.dragTarget},getDragCt:function(){return this.el},getConstrainRegion:function(){if(this.constrainTo){if(this.constrainTo instanceof Ext.util.Region){return this.constrainTo}if(!this._constrainRegion){this._constrainRegion=Ext.fly(this.constrainTo).getViewRegion()}}else{if(!this._constrainRegion){this._constrainRegion=this.getDragCt().getViewRegion()}}return this._constrainRegion},getXY:function(b){return b?this.constrainModes[b](this,this.lastXY):this.lastXY},getOffset:function(f){var d=this.getXY(f),e=this.startXY;return[d[0]-e[0],d[1]-e[1]]},constrainModes:{point:function(e,g){var h=e.dragRegion,f=e.getConstrainRegion();if(!f){return g}h.x=h.left=h[0]=h.right=g[0];h.y=h.top=h[1]=h.bottom=g[1];h.constrainTo(f);return[h.left,h.top]},dragTarget:function(l,i){var g=l.startXY,j=l.startRegion.copy(),h=l.getConstrainRegion(),k;if(!h){return i}j.translateBy(i[0]-g[0],i[1]-g[1]);if(j.right>h.right){i[0]+=k=(h.right-j.right);j.left+=k}if(j.left<h.left){i[0]+=(h.left-j.left)}if(j.bottom>h.bottom){i[1]+=k=(h.bottom-j.bottom);j.top+=k}if(j.top<h.top){i[1]+=(h.top-j.top)}return i}}});Ext.define("Ext.layout.component.Draw",{alias:"layout.draw",extend:"Ext.layout.component.Auto",type:"draw",onLayout:function(c,d){this.owner.surface.setSize(c,d);this.callParent(arguments)}});Ext.define("Ext.grid.header.DragZone",{extend:"Ext.dd.DragZone",colHeaderCls:Ext.baseCSSPrefix+"column-header",maxProxyWidth:120,constructor:function(b){this.headerCt=b;this.ddGroup=this.getDDGroup();this.callParent([b.el]);this.proxy.el.addCls(Ext.baseCSSPrefix+"grid-col-dd")},getDDGroup:function(){return"header-dd-zone-"+this.headerCt.up("[scrollerOwner]").id},getDragData:function(e){var g=e.getTarget("."+this.colHeaderCls),f;if(g){f=Ext.getCmp(g.id);if(!this.headerCt.dragging&&f.draggable&&!(f.isOnLeftEdge(e)||f.isOnRightEdge(e))){var h=document.createElement("div");h.innerHTML=Ext.getCmp(g.id).text;return{ddel:h,header:f}}}return false},onBeforeDrag:function(){return !(this.headerCt.dragging||this.disabled)},onInitDrag:function(){this.headerCt.dragging=true;this.callParent(arguments)},onDragDrop:function(){this.headerCt.dragging=false;this.callParent(arguments)},afterRepair:function(){this.callParent();this.headerCt.dragging=false},getRepairXY:function(){return this.dragData.header.el.getXY()},disable:function(){this.disabled=true},enable:function(){this.disabled=false}});Ext.define("Ext.grid.LockingView",{mixins:{observable:"Ext.util.Observable"},eventRelayRe:/^(beforeitem|beforecontainer|item|container|cell)/,constructor:function(p){var m=this,k=[],j=m.eventRelayRe,i=p.locked.getView(),l=p.normal.getView(),o,n;Ext.apply(m,{lockedView:i,normalView:l,lockedGrid:p.locked,normalGrid:p.normal,panel:p.panel});m.mixins.observable.constructor.call(m,p);o=i.events;for(n in o){if(o.hasOwnProperty(n)&&j.test(n)){k.push(n)}}m.relayEvents(i,k);m.relayEvents(l,k);l.on({scope:m,itemmouseleave:m.onItemMouseLeave,itemmouseenter:m.onItemMouseEnter});i.on({scope:m,itemmouseleave:m.onItemMouseLeave,itemmouseenter:m.onItemMouseEnter})},getGridColumns:function(){var b=this.lockedGrid.headerCt.getGridColumns();return b.concat(this.normalGrid.headerCt.getGridColumns())},getEl:function(b){return this.getViewForColumn(b).getEl()},getViewForColumn:function(d){var e=this.lockedView,f;e.headerCt.cascade(function(a){if(a===d){f=true;return false}});return f?e:this.normalView},onItemMouseEnter:function(l,g){var i=this,k=i.lockedView,h=i.normalView,j;if(l.trackOver){if(l!==k){h=k}j=h.getNode(g);h.highlightItem(j)}},onItemMouseLeave:function(j,f){var h=this,i=h.lockedView,g=h.normalView;if(j.trackOver){if(j!==i){g=i}g.clearHighlight()}},relayFn:function(f,d){d=d||[];var e=this.lockedView;e[f].apply(e,d||[]);e=this.normalView;e[f].apply(e,d||[])},getSelectionModel:function(){return this.panel.getSelectionModel()},getStore:function(){return this.panel.store},getNode:function(b){return this.normalView.getNode(b)},getCell:function(e,h){var f=this.getViewForColumn(h),g;g=f.getNode(e);return Ext.fly(g).down(h.getCellSelector())},getRecord:function(c){var d=this.lockedView.getRecord(c);if(!c){d=this.normalView.getRecord(c)}return d},addElListener:function(e,f,d){this.relayFn("addElListener",arguments)},refreshNode:function(){this.relayFn("refreshNode",arguments)},refresh:function(){this.relayFn("refresh",arguments)},bindStore:function(){this.relayFn("bindStore",arguments)},addRowCls:function(){this.relayFn("addRowCls",arguments)},removeRowCls:function(){this.relayFn("removeRowCls",arguments)}});Ext.define("Ext.data.proxy.Client",{extend:"Ext.data.proxy.Proxy",alternateClassName:"Ext.data.ClientProxy",clear:function(){Ext.Error.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.draw.CompositeSprite",{extend:"Ext.util.MixedCollection",mixins:{animate:"Ext.util.Animate"},isCompositeSprite:true,constructor:function(d){var c=this;d=d||{};Ext.apply(c,d);c.addEvents("mousedown","mouseup","mouseover","mouseout","click");c.id=Ext.id(null,"ext-sprite-group-");c.callParent()},onClick:function(b){this.fireEvent("click",b)},onMouseUp:function(b){this.fireEvent("mouseup",b)},onMouseDown:function(b){this.fireEvent("mousedown",b)},onMouseOver:function(b){this.fireEvent("mouseover",b)},onMouseOut:function(b){this.fireEvent("mouseout",b)},attachEvents:function(c){var d=this;c.on({scope:d,mousedown:d.onMouseDown,mouseup:d.onMouseUp,mouseover:d.onMouseOver,mouseout:d.onMouseOut,click:d.onClick})},add:function(d,f){var e=this.callParent(arguments);this.attachEvents(e);return e},insert:function(e,d,f){return this.callParent(arguments)},remove:function(c){var d=this;c.un({scope:d,mousedown:d.onMouseDown,mouseup:d.onMouseUp,mouseover:d.onMouseOver,mouseout:d.onMouseOut,click:d.onClick});return d.callParent(arguments)},getBBox:function(){var t=0,i,q,p=this.items,s=this.length,r=Infinity,v=r,n=-r,w=r,o=-r,u,x;for(;t<s;t++){i=p[t];if(i.el){q=i.getBBox();v=Math.min(v,q.x);w=Math.min(w,q.y);n=Math.max(n,q.height+q.y);o=Math.max(o,q.width+q.x)}}return{x:v,y:w,height:n-w,width:o-v}},setAttributes:function(j,h){var i=0,f=this.items,g=this.length;for(;i<g;i++){f[i].setAttributes(j,h)}return this},hide:function(g){var h=0,e=this.items,f=this.length;for(;h<f;h++){e[h].hide(g)}return this},show:function(g){var h=0,e=this.items,f=this.length;for(;h<f;h++){e[h].show(g)}return this},redraw:function(){var h=this,i=0,j=h.items,f=h.getSurface(),g=h.length;if(f){for(;i<g;i++){f.renderItem(j[i])}}return h},setStyle:function(i){var l=0,g=this.items,h=this.length,j,k;for(;l<h;l++){j=g[l];k=j.el;if(k){k.setStyle(i)}}},addCls:function(h){var i=0,j=this.items,f=this.getSurface(),g=this.length;if(f){for(;i<g;i++){f.addCls(j[i],h)}}},removeCls:function(h){var i=0,j=this.items,f=this.getSurface(),g=this.length;if(f){for(;i<g;i++){f.removeCls(j[i],h)}}},getSurface:function(){var b=this.first();if(b){return b.surface}return null},destroy:function(){var f=this,e=f.getSurface(),d;if(e){while(f.getCount()>0){d=f.first();f.remove(d);e.remove(d)}}f.clearListeners()}});Ext.define("Ext.dd.Registry",{singleton:true,constructor:function(){this.elements={};this.handles={};this.autoIdSeed=0},getId:function(d,e){if(typeof d=="string"){return d}var f=d.id;if(!f&&e!==false){f="extdd-"+(++this.autoIdSeed);d.id=f}return f},register:function(i,h){h=h||{};if(typeof i=="string"){i=document.getElementById(i)}h.ddel=i;this.elements[this.getId(i)]=h;if(h.isHandle!==false){this.handles[h.ddel.id]=h}if(h.handles){var j=h.handles;for(var f=0,g=j.length;f<g;f++){this.handles[this.getId(j[f])]=h}}},unregister:function(k){var i=this.getId(k,false);var j=this.elements[i];if(j){delete this.elements[i];if(j.handles){var l=j.handles;for(var g=0,h=l.length;g<h;g++){delete this.handles[this.getId(l[g],false)]}}}},getHandle:function(b){if(typeof b!="string"){b=b.id}return this.handles[b]},getHandleFromEvent:function(c){var d=c.getTarget();return d?this.handles[d.id]:null},getTarget:function(b){if(typeof b!="string"){b=b.id}return this.elements[b]},getTargetFromEvent:function(c){var d=c.getTarget();return d?this.elements[d.id]||this.handles[d.id]:null}});Ext.define("Ext.dd.DDTarget",{extend:"Ext.dd.DragDrop",constructor:function(f,e,d){if(f){this.initTarget(f,e,d)}},getDragEl:Ext.emptyFn,isValidHandleChild:Ext.emptyFn,startDrag:Ext.emptyFn,endDrag:Ext.emptyFn,onDrag:Ext.emptyFn,onDragDrop:Ext.emptyFn,onDragEnter:Ext.emptyFn,onDragOut:Ext.emptyFn,onDragOver:Ext.emptyFn,onInvalidDrop:Ext.emptyFn,onMouseDown:Ext.emptyFn,onMouseUp:Ext.emptyFn,setXConstraint:Ext.emptyFn,setYConstraint:Ext.emptyFn,resetConstraints:Ext.emptyFn,clearConstraints:Ext.emptyFn,clearTicks:Ext.emptyFn,setInitPosition:Ext.emptyFn,setDragElId:Ext.emptyFn,setHandleElId:Ext.emptyFn,setOuterHandleElId:Ext.emptyFn,addInvalidHandleClass:Ext.emptyFn,addInvalidHandleId:Ext.emptyFn,addInvalidHandleType:Ext.emptyFn,removeInvalidHandleClass:Ext.emptyFn,removeInvalidHandleId:Ext.emptyFn,removeInvalidHandleType:Ext.emptyFn,toString:function(){return("DDTarget "+this.id)}});Ext.define("Ext.dd.ScrollManager",{singleton:true,requires:["Ext.dd.DragDropManager"],constructor:function(){var b=Ext.dd.DragDropManager;b.fireEvents=Ext.Function.createSequence(b.fireEvents,this.onFire,this);b.stopDrag=Ext.Function.createSequence(b.stopDrag,this.onStop,this);this.doScroll=Ext.Function.bind(this.doScroll,this);this.ddmInstance=b;this.els={};this.dragEl=null;this.proc={}},onStop:function(d){var c=Ext.dd.ScrollManager;c.dragEl=null;c.clearProc()},triggerRefresh:function(){if(this.ddmInstance.dragCurrent){this.ddmInstance.refreshCache(this.ddmInstance.dragCurrent.groups)}},doScroll:function(){if(this.ddmInstance.dragCurrent){var f=this.proc,e=f.el,h=f.el.ddScrollConfig,g=h?h.increment:this.increment;if(!this.animate){if(e.scroll(f.dir,g)){this.triggerRefresh()}}else{e.scroll(f.dir,g,true,this.animDuration,this.triggerRefresh)}}},clearProc:function(){var b=this.proc;if(b.id){clearInterval(b.id)}b.id=0;b.el=null;b.dir=""},startProc:function(e,f){this.clearProc();this.proc.el=e;this.proc.dir=f;var g=e.ddScrollConfig?e.ddScrollConfig.ddGroup:undefined,h=(e.ddScrollConfig&&e.ddScrollConfig.frequency)?e.ddScrollConfig.frequency:this.frequency;if(g===undefined||this.ddmInstance.dragCurrent.ddGroup==g){this.proc.id=setInterval(this.doScroll,h)}},onFire:function(p,m){if(m||!this.ddmInstance.dragCurrent){return}if(!this.dragEl||this.dragEl!=this.ddmInstance.dragCurrent){this.dragEl=this.ddmInstance.dragCurrent;this.refreshCache()}var e=p.getXY(),c=p.getPoint(),o=this.proc,q=this.els;for(var s in q){var r=q[s],t=r._region;var n=r.ddScrollConfig?r.ddScrollConfig:this;if(t&&t.contains(c)&&r.isScrollable()){if(t.bottom-c.y<=n.vthresh){if(o.el!=r){this.startProc(r,"down")}return}else{if(t.right-c.x<=n.hthresh){if(o.el!=r){this.startProc(r,"left")}return}else{if(c.y-t.top<=n.vthresh){if(o.el!=r){this.startProc(r,"up")}return}else{if(c.x-t.left<=n.hthresh){if(o.el!=r){this.startProc(r,"right")}return}}}}}}this.clearProc()},register:function(f){if(Ext.isArray(f)){for(var d=0,e=f.length;d<e;d++){this.register(f[d])}}else{f=Ext.get(f);this.els[f.id]=f}},unregister:function(f){if(Ext.isArray(f)){for(var d=0,e=f.length;d<e;d++){this.unregister(f[d])}}else{f=Ext.get(f);delete this.els[f.id]}},vthresh:25,hthresh:25,increment:100,frequency:500,animate:true,animDuration:0.4,ddGroup:undefined,refreshCache:function(){var d=this.els,c;for(c in d){if(typeof d[c]=="object"){d[c]._region=d[c].getRegion()}}}});Ext.define("Ext.view.DragZone",{extend:"Ext.dd.DragZone",containerScroll:false,constructor:function(d){var c=this;Ext.apply(c,d);if(!c.ddGroup){c.ddGroup="view-dd-zone-"+c.view.id}c.callParent([c.view.el.dom.parentNode]);c.ddel=Ext.get(document.createElement("div"));c.ddel.addCls(Ext.baseCSSPrefix+"grid-dd-wrap")},init:function(f,e,d){this.initTarget(f,e,d);this.view.mon(this.view,{itemmousedown:this.onItemMouseDown,scope:this})},onItemMouseDown:function(e,g,i,j,h){if(!this.isPreventDrag(h,g,i,j)){this.handleMouseDown(h);if(e.getSelectionModel().selectionMode=="MULTI"&&!h.ctrlKey&&e.getSelectionModel().isSelected(g)){return false}}},isPreventDrag:function(b){return false},getDragData:function(i){var l=this.view,j=i.getTarget(l.getItemSelector()),e,h,k;if(j){e=l.getRecord(j);h=l.getSelectionModel();k=h.getSelection();return{copy:this.view.copy||(this.view.allowCopy&&i.ctrlKey),event:new Ext.EventObjectImpl(i),view:l,ddel:this.ddel,item:j,records:k,fromPosition:Ext.fly(j).getXY()}}},onInitDrag:function(e,k){var n=this,m=n.dragData,o=m.view,j=o.getSelectionModel(),p=o.getRecord(m.item),l=m.event;if(!j.isSelected(p)||l.hasModifier()){j.selectWithEvent(p,l,true)}m.records=j.getSelection();n.ddel.update(n.getDragText());n.proxy.update(n.ddel.dom);n.onStartDrag(e,k);return true},getDragText:function(){var b=this.dragData.records.length;return Ext.String.format(this.dragText,b,b==1?"":"s")},getRepairXY:function(c,d){return d?d.fromPosition:false}});Ext.define("Ext.ComponentLoader",{extend:"Ext.ElementLoader",statics:{Renderer:{Data:function(g,e,i){var h=true;try{g.getTarget().update(Ext.decode(e.responseText))}catch(j){h=false}return h},Component:function(i,n,k){var j=true,l=i.getTarget(),e=[];if(!l.isContainer){Ext.Error.raise({target:l,msg:"Components can only be loaded into a container"})}try{e=Ext.decode(n.responseText)}catch(m){j=false}if(j){if(k.removeAll){l.removeAll()}l.add(e)}return j}}},target:null,loadMask:false,renderer:"html",setTarget:function(c){var d=this;if(Ext.isString(c)){c=Ext.getCmp(c)}if(d.target&&d.target!=c){d.abort()}d.target=c},removeMask:function(){this.target.setLoading(false)},addMask:function(b){this.target.setLoading(b)},setOptions:function(c,d){c.removeAll=Ext.isDefined(d.removeAll)?d.removeAll:this.removeAll},getRenderer:function(c){if(Ext.isFunction(c)){return c}var d=this.statics().Renderer;switch(c){case"component":return d.Component;case"data":return d.Data;default:return Ext.ElementLoader.Renderer.Html}}});Ext.define("Ext.util.ComponentDragger",{extend:"Ext.dd.DragTracker",autoStart:500,constructor:function(d,c){this.comp=d;this.initialConstrainTo=c.constrainTo;this.callParent([c])},onStart:function(f){var d=this,e=d.comp;this.startPosition=e.getPosition();if(e.ghost&&!e.liveDrag){d.proxy=e.ghost();d.dragTarget=d.proxy.header.el}if(d.constrain||d.constrainDelegate){d.constrainTo=d.calculateConstrainRegion()}},calculateConstrainRegion:function(){var l=this,h=l.comp,i=l.initialConstrainTo,k,j,c=h.el.shadow?h.el.shadow.offset:0;if(!(i instanceof Ext.util.Region)){i=Ext.fly(i).getViewRegion()}if(c){i.adjust(0,-c,-c,c)}if(!l.constrainDelegate){k=Ext.fly(l.dragTarget).getRegion();j=l.proxy?l.proxy.el.getRegion():h.el.getRegion();i.adjust(k.top-j.top,k.right-j.right,k.bottom-j.bottom,k.left-j.left)}return i},onDrag:function(h){var e=this,f=(e.proxy&&!e.comp.liveDrag)?e.proxy:e.comp,g=e.getOffset(e.constrain||e.constrainDelegate?"dragTarget":null);f.setPosition(e.startPosition[0]+g[0],e.startPosition[1]+g[1])},onEnd:function(b){if(this.proxy&&!this.comp.liveDrag){this.comp.unghost()}}});Ext.define("Ext.window.Window",{extend:"Ext.panel.Panel",alternateClassName:"Ext.Window",requires:["Ext.util.ComponentDragger","Ext.util.Region","Ext.EventManager"],alias:"widget.window",baseCls:Ext.baseCSSPrefix+"window",resizable:true,draggable:true,constrain:false,constrainHeader:false,plain:false,minimizable:false,maximizable:false,minHeight:100,minWidth:200,expandOnShow:true,collapsible:false,closable:true,hidden:true,autoRender:true,hideMode:"visibility",floating:true,ariaRole:"alertdialog",itemCls:"x-window-item",overlapHeader:true,ignoreHeaderBorderManagement:true,initComponent:function(){var b=this;b.callParent();b.addEvents("resize","maximize","minimize","restore");if(b.plain){b.addClsWithUI("plain")}if(b.modal){b.ariaRole="dialog"}},initStateEvents:function(){var b=this.stateEvents;Ext.each(["maximize","restore","resize","dragend"],function(a){if(Ext.Array.indexOf(b,a)){b.push(a)}});this.callParent()},getState:function(){var d=this,f=d.callParent()||{},e=!!d.maximized;f.maximized=e;Ext.apply(f,{size:e?d.restoreSize:d.getSize(),pos:e?d.restorePos:d.getPosition()});return f},applyState:function(c){var d=this;if(c){d.maximized=c.maximized;if(d.maximized){d.hasSavedRestore=true;d.restoreSize=c.size;d.restorePos=c.pos}else{Ext.apply(d,{width:c.size.width,height:c.size.height,x:c.pos[0],y:c.pos[1]})}}},onMouseDown:function(c){var d;if(this.floating){if(Ext.fly(c.getTarget()).focusable()){d=true}this.toFront(d)}},onRender:function(d,e){var f=this;f.callParent(arguments);f.focusEl=f.el;if(f.maximizable){f.header.on({dblclick:{fn:f.toggleMaximize,element:"el",scope:f}})}},afterRender:function(){var e=this,d=e.hidden,f;e.hidden=false;e.callParent();e.hidden=d;e.proxy=e.getProxy();e.mon(e.el,"mousedown",e.onMouseDown,e);e.el.set({tabIndex:-1});if(e.maximized){e.maximized=false;e.maximize()}if(e.closable){f=e.getKeyMap();f.on(27,e.onEsc,e);f.disable()}if(!d){e.syncMonitorWindowResize();e.doConstrain()}},initDraggable:function(){var c=this,d;if(!c.header){c.updateHeader(true)}if(c.header){d=Ext.applyIf({el:c.el,delegate:"#"+c.header.id},c.draggable);if(c.constrain||c.constrainHeader){d.constrain=c.constrain;d.constrainDelegate=c.constrainHeader;d.constrainTo=c.constrainTo||c.container}c.dd=Ext.create("Ext.util.ComponentDragger",this,d);c.relayEvents(c.dd,["dragstart","drag","dragend"])}},onEsc:function(d,c){c.stopEvent();this[this.closeAction]()},beforeDestroy:function(){var b=this;if(b.rendered){delete this.animateTarget;b.hide();Ext.destroy(b.keyMap)}b.callParent()},addTools:function(){var b=this;b.callParent();if(b.minimizable){b.addTool({type:"minimize",handler:Ext.Function.bind(b.minimize,b,[])})}if(b.maximizable){b.addTool({type:"maximize",handler:Ext.Function.bind(b.maximize,b,[])});b.addTool({type:"restore",handler:Ext.Function.bind(b.restore,b,[]),hidden:true})}},getFocusEl:function(){var k=this,i=k.focusEl,j=k.defaultButton||k.defaultFocus,f=typeof db,l,h;if(Ext.isDefined(j)){if(Ext.isNumber(j)){i=k.query("button")[j]}else{if(Ext.isString(j)){i=k.down("#"+j)}else{i=j}}}return i||k.focusEl},beforeShow:function(){this.callParent();if(this.expandOnShow){this.expand(false)}},afterShow:function(f){var d=this,e=f||d.animateTarget;d.callParent(arguments);if(d.maximized){d.fitContainer()}d.syncMonitorWindowResize();if(!e){d.doConstrain()}if(d.keyMap){d.keyMap.enable()}},doClose:function(){var b=this;if(b.hidden){b.fireEvent("close",b);if(b.closeAction=="destroy"){this.destroy()}}else{b.hide(b.animateTarget,b.doClose,b)}},afterHide:function(){var b=this;b.syncMonitorWindowResize();if(b.keyMap){b.keyMap.disable()}b.callParent(arguments)},onWindowResize:function(){if(this.maximized){this.fitContainer()}this.doConstrain()},minimize:function(){this.fireEvent("minimize",this);return this},afterCollapse:function(){var b=this;if(b.maximizable){b.tools.maximize.hide();b.tools.restore.hide()}if(b.resizer){b.resizer.disable()}b.callParent(arguments)},afterExpand:function(){var b=this;if(b.maximized){b.tools.restore.show()}else{if(b.maximizable){b.tools.maximize.show()}}if(b.resizer){b.resizer.enable()}b.callParent(arguments)},maximize:function(){var b=this;if(!b.maximized){b.expand(false);if(!b.hasSavedRestore){b.restoreSize=b.getSize();b.restorePos=b.getPosition(true)}if(b.maximizable){b.tools.maximize.hide();b.tools.restore.show()}b.maximized=true;b.el.disableShadow();if(b.dd){b.dd.disable()}if(b.collapseTool){b.collapseTool.hide()}b.el.addCls(Ext.baseCSSPrefix+"window-maximized");b.container.addCls(Ext.baseCSSPrefix+"window-maximized-ct");b.syncMonitorWindowResize();b.setPosition(0,0);b.fitContainer();b.fireEvent("maximize",b)}return b},restore:function(){var d=this,c=d.tools;if(d.maximized){delete d.hasSavedRestore;d.removeCls(Ext.baseCSSPrefix+"window-maximized");if(c.restore){c.restore.hide()}if(c.maximize){c.maximize.show()}if(d.collapseTool){d.collapseTool.show()}d.setPosition(d.restorePos);d.setSize(d.restoreSize);delete d.restorePos;delete d.restoreSize;d.maximized=false;d.el.enableShadow(true);if(d.dd){d.dd.enable()}d.container.removeCls(Ext.baseCSSPrefix+"window-maximized-ct");d.syncMonitorWindowResize();d.doConstrain();d.fireEvent("restore",d)}return d},syncMonitorWindowResize:function(){var e=this,h=e._monitoringResize,g=e.monitorResize||e.constrain||e.constrainHeader||e.maximized,f=e.hidden||e.destroying||e.isDestroyed;if(g&&!f){if(!h){Ext.EventManager.onWindowResize(e.onWindowResize,e);e._monitoringResize=true}}else{if(h){Ext.EventManager.removeResizeListener(e.onWindowResize,e);e._monitoringResize=false}}},toggleMaximize:function(){return this[this.maximized?"restore":"maximize"]()}});Ext.define("Ext.resizer.SplitterTracker",{extend:"Ext.dd.DragTracker",requires:["Ext.util.Region"],enabled:true,overlayCls:Ext.baseCSSPrefix+"resizable-overlay",getPrevCmp:function(){var b=this.getSplitter();return b.previousSibling()},getNextCmp:function(){var b=this.getSplitter();return b.nextSibling()},onBeforeStart:function(i){var k=this,j=k.getPrevCmp(),h=k.getNextCmp(),l=k.getSplitter().collapseEl,e;if(l&&(i.getTarget()===k.getSplitter().collapseEl.dom)){return false}if(h.collapsed||j.collapsed){return false}e=k.overlay=Ext.getBody().createChild({cls:k.overlayCls,html:" "});e.unselectable();e.setSize(Ext.Element.getViewWidth(true),Ext.Element.getViewHeight(true));e.show();k.prevBox=j.getEl().getBox();k.nextBox=h.getEl().getBox();k.constrainTo=k.calculateConstrainRegion()},onStart:function(c){var d=this.getSplitter();d.addCls(d.baseCls+"-active")},calculateConstrainRegion:function(){var q=this,v=q.getSplitter(),p=v.getWidth(),o=v.defaultSplitMin,u=v.orientation,s=q.prevBox,n=q.getPrevCmp(),t=q.nextBox,r=q.getNextCmp(),l,m;if(u==="vertical"){l=Ext.create("Ext.util.Region",s.y,(n.maxWidth?s.x+n.maxWidth:t.right-(r.minWidth||o))+p,s.bottom,s.x+(n.minWidth||o));m=Ext.create("Ext.util.Region",t.y,t.right-(r.minWidth||o),t.bottom,(r.maxWidth?t.right-r.maxWidth:s.x+(s.minWidth||o))-p)}else{l=Ext.create("Ext.util.Region",s.y+(n.minHeight||o),s.right,(n.maxHeight?s.y+n.maxHeight:t.bottom-(r.minHeight||o))+p,s.x);m=Ext.create("Ext.util.Region",(r.maxHeight?t.bottom-r.maxHeight:s.y+(n.minHeight||o))-p,t.right,t.bottom-(r.minHeight||o),t.x)}return l.intersect(m)},performResize:function(m){var k=this,p=k.getOffset("dragTarget"),r=k.getSplitter(),o=r.orientation,e=k.getPrevCmp(),l=k.getNextCmp(),q=r.ownerCt,n=q.getLayout();q.suspendLayout=true;if(o==="vertical"){if(e){if(!e.maintainFlex){delete e.flex;e.setSize(k.prevBox.width+p[0],e.getHeight())}}if(l){if(!l.maintainFlex){delete l.flex;l.setSize(k.nextBox.width-p[0],l.getHeight())}}}else{if(e){if(!e.maintainFlex){delete e.flex;e.setSize(e.getWidth(),k.prevBox.height+p[1])}}if(l){if(!l.maintainFlex){delete l.flex;l.setSize(e.getWidth(),k.nextBox.height-p[1])}}}delete q.suspendLayout;n.onLayout()},endDrag:function(){var b=this;if(b.overlay){b.overlay.remove();delete b.overlay}b.callParent(arguments)},onEnd:function(f){var e=this,d=e.getSplitter();d.removeCls(d.baseCls+"-active");e.performResize()},onDrag:function(j){var l=this,i=l.getOffset("dragTarget"),k=l.getSplitter(),e=k.getEl(),h=k.orientation;if(h==="vertical"){e.setX(l.startRegion.left+i[0])}else{e.setY(l.startRegion.top+i[1])}},getSplitter:function(){return Ext.getCmp(this.getDragCt().id)}});Ext.define("Ext.menu.CheckItem",{extend:"Ext.menu.Item",alias:"widget.menucheckitem",checkedCls:Ext.baseCSSPrefix+"menu-item-checked",uncheckedCls:Ext.baseCSSPrefix+"menu-item-unchecked",groupCls:Ext.baseCSSPrefix+"menu-group-icon",hideOnClick:false,afterRender:function(){var b=this;this.callParent();b.checked=!b.checked;b.setChecked(!b.checked,true)},initComponent:function(){var b=this;b.addEvents("beforecheckchange","checkchange");b.callParent(arguments);Ext.menu.Manager.registerCheckable(b);if(b.group){if(!b.iconCls){b.iconCls=b.groupCls}if(b.initialConfig.hideOnClick!==false){b.hideOnClick=true}}},disableCheckChange:function(){var b=this;if(b.iconEl){b.iconEl.addCls(b.disabledCls)}b.checkChangeDisabled=true},enableCheckChange:function(){var b=this;b.iconEl.removeCls(b.disabledCls);b.checkChangeDisabled=false},onClick:function(c){var d=this;if(!d.disabled&&!d.checkChangeDisabled&&!(d.checked&&d.group)){d.setChecked(!d.checked)}this.callParent([c])},onDestroy:function(){Ext.menu.Manager.unregisterCheckable(this);this.callParent(arguments)},setChecked:function(f,e){var d=this;if(d.checked!==f&&(e||d.fireEvent("beforecheckchange",d,f)!==false)){if(d.el){d.el[f?"addCls":"removeCls"](d.checkedCls)[!f?"addCls":"removeCls"](d.uncheckedCls)}d.checked=f;Ext.menu.Manager.onCheckChange(d,f);if(!e){Ext.callback(d.checkHandler,d.scope,[d,f]);d.fireEvent("checkchange",d,f)}}}});Ext.define("Ext.menu.Separator",{extend:"Ext.menu.Item",alias:"widget.menuseparator",canActivate:false,focusable:false,hideOnClick:false,plain:true,separatorCls:Ext.baseCSSPrefix+"menu-item-separator",text:" ",onRender:function(e,g){var h=this,f=h.separatorCls;h.cls+=" "+f;h.callParent(arguments)}});Ext.define("Ext.menu.Menu",{extend:"Ext.panel.Panel",alias:"widget.menu",requires:["Ext.layout.container.Fit","Ext.layout.container.VBox","Ext.menu.CheckItem","Ext.menu.Item","Ext.menu.KeyNav","Ext.menu.Manager","Ext.menu.Separator"],allowOtherMenus:false,ariaRole:"menu",defaultAlign:"tl-bl?",floating:true,constrain:true,hidden:true,hideMode:"visibility",ignoreParentClicks:false,isMenu:true,showSeparator:true,minWidth:120,initComponent:function(){var e=this,g=Ext.baseCSSPrefix,f=[g+"menu"],h=e.bodyCls?[e.bodyCls]:[];e.addEvents("click","mouseenter","mouseleave","mouseover");Ext.menu.Manager.register(e);if(e.plain){f.push(g+"menu-plain")}e.cls=f.join(" ");h.unshift(g+"menu-body");e.bodyCls=h.join(" ");e.layout={type:"vbox",align:"stretchmax",autoSize:true,clearInnerCtOnLayout:true,overflowHandler:"Scroller"};if(e.floating===false&&e.initialConfig.hidden!==true){e.hidden=false}e.callParent(arguments);e.on("beforeshow",function(){var a=!!e.items.length;if(a&&e.rendered){e.el.setStyle("visibility",null)}return a})},afterRender:function(f){var e=this,g=Ext.baseCSSPrefix,h=" ";e.callParent(arguments);if(e.showSeparator){e.iconSepEl=e.layout.getRenderTarget().insertFirst({cls:g+"menu-icon-separator",html:h})}e.focusEl=e.el.createChild({cls:g+"menu-focus",tabIndex:"-1",html:h});e.mon(e.el,{click:e.onClick,mouseover:e.onMouseOver,scope:e});e.mouseMonitor=e.el.monitorMouseLeave(100,e.onMouseLeave,e);if(e.showSeparator&&((!Ext.isStrict&&Ext.isIE)||Ext.isIE6)){e.iconSepEl.setHeight(e.el.getHeight())}e.keyNav=Ext.create("Ext.menu.KeyNav",e)},afterLayout:function(){var i=this;i.callParent(arguments);if((!Ext.isStrict&&Ext.isIE)||Ext.isIE6){var r=i.layout.getRenderTarget(),p=0,q=i.dockedItems,o=q.length,m=0,l,k,n;p=r.getWidth();n=p+i.body.getBorderWidth("lr")+i.body.getPadding("lr");i.body.setWidth(n);for(;m<o,l=q.getAt(m);m++){if(l.dock=="left"||l.dock=="right"){n+=l.getWidth()}}i.el.setWidth(n)}},getBubbleTarget:function(){return this.parentMenu||this.callParent()},canActivateItem:function(b){return b&&!b.isDisabled()&&b.isVisible()&&(b.canActivate||b.getXTypes().indexOf("menuitem")<0)},deactivateActiveItem:function(){var b=this;if(b.activeItem){b.activeItem.deactivate();if(!b.activeItem.activated){delete b.activeItem}}if(b.focusedItem&&!b.filtered){b.focusedItem.blur();if(!b.focusedItem.$focused){delete b.focusedItem}}},clearStretch:function(){if(this.rendered){this.items.each(function(b){if(b.componentLayout){delete b.componentLayout.lastComponentSize}if(b.el){b.el.setWidth(null)}})}},onAdd:function(){var b=this;b.clearStretch();b.callParent(arguments);if(Ext.isIE6||Ext.isIE7){Ext.Function.defer(b.doComponentLayout,10,b)}},onRemove:function(){this.clearStretch();this.callParent(arguments)},redoComponentLayout:function(){if(this.rendered){this.clearStretch();this.doComponentLayout()}},getFocusEl:function(){return this.focusEl},hide:function(){this.deactivateActiveItem();this.callParent(arguments)},getItemFromEvent:function(b){return this.getChildByElement(b.getTarget())},lookupComponent:function(c){var d=this;if(Ext.isString(c)){c=d.lookupItemFromString(c)}else{if(Ext.isObject(c)){c=d.lookupItemFromObject(c)}}c.minWidth=c.minWidth||d.minWidth;return c},lookupItemFromObject:function(j){var f=this,i=Ext.baseCSSPrefix,g,h;if(!j.isComponent){if(!j.xtype){j=Ext.create("Ext.menu."+(Ext.isBoolean(j.checked)?"Check":"")+"Item",j)}else{j=Ext.ComponentManager.create(j,j.xtype)}}if(j.isMenuItem){j.parentMenu=f}if(!j.isMenuItem&&!j.dock){g=[i+"menu-item",i+"menu-item-cmp"];h=Ext.Function.createInterceptor;j.focus=h(j.focus,function(){this.$focused=true},j);j.blur=h(j.blur,function(){this.$focused=false},j);if(!f.plain&&(j.indent===true||j.iconCls==="no-icon")){g.push(i+"menu-item-indent")}if(j.rendered){j.el.addCls(g)}else{j.cls=(j.cls?j.cls:"")+" "+g.join(" ")}j.isMenuItem=true}return j},lookupItemFromString:function(b){return(b=="separator"||b=="-")?Ext.createWidget("menuseparator"):Ext.createWidget("menuitem",{canActivate:false,hideOnClick:false,plain:true,text:b})},onClick:function(f){var d=this,e;if(d.disabled){f.stopEvent();return}if((f.getTarget()==d.focusEl.dom)||f.within(d.layout.getRenderTarget())){e=d.getItemFromEvent(f)||d.activeItem;if(e){if(e.getXTypes().indexOf("menuitem")>=0){if(!e.menu||!d.ignoreParentClicks){e.onClick(f)}else{f.stopEvent()}}}d.fireEvent("click",d,e,f)}},onDestroy:function(){var b=this;Ext.menu.Manager.unregister(b);if(b.rendered){b.el.un(b.mouseMonitor);b.keyNav.destroy();delete b.keyNav}b.callParent(arguments)},onMouseLeave:function(c){var d=this;d.deactivateActiveItem();if(d.disabled){return}d.fireEvent("mouseleave",d,c)},onMouseOver:function(i){var j=this,h=i.getRelatedTarget(),g=!j.el.contains(h),e=j.getItemFromEvent(i);if(g&&j.parentMenu){j.parentMenu.setActiveItem(j.parentItem);j.parentMenu.mouseMonitor.mouseenter()}if(j.disabled){return}if(e){j.setActiveItem(e);if(e.activated&&e.expandMenu){e.expandMenu()}}if(g){j.fireEvent("mouseenter",j,i)}j.fireEvent("mouseover",j,e,i)},setActiveItem:function(c){var d=this;if(c&&(c!=d.activeItem&&c!=d.focusedItem)){d.deactivateActiveItem();if(d.canActivateItem(c)){if(c.activate){c.activate();if(c.activated){d.activeItem=c;d.focusedItem=c;d.focus()}}else{c.focus();d.focusedItem=c}}c.el.scrollIntoView(d.layout.getRenderTarget())}},showBy:function(g,i,j){var h=this,k,l;if(h.floating&&g){h.layout.autoSize=true;h.doAutoRender();delete h.needsLayout;g=g.el||g;k=h.el.getAlignToXY(g,i||h.defaultAlign,j);if(h.floatParent){l=h.floatParent.getTargetEl().getViewRegion();k[0]-=l.x;k[1]-=l.y}h.showAt(k)}return h},doConstrain:function(){var o=this,n=o.el.getY(),m,p,s,l=n,k,q,t,r;delete o.height;o.setSize();p=o.getHeight();if(o.floating){q=Ext.fly(o.el.getScopeParent());t=q.getScroll().top;r=q.getViewSize().height;k=n-t;m=o.maxHeight?o.maxHeight:r-k;if(p>r){m=r;l=n-k}else{if(m<p){l=n-(p-m);m=p}}}else{m=o.getHeight()}if(o.maxHeight){m=Math.min(o.maxHeight,m)}if(p>m&&m>0){o.layout.autoSize=false;o.setHeight(m);if(o.showSeparator){o.iconSepEl.setHeight(o.layout.getRenderTarget().dom.scrollHeight)}}s=o.getConstrainVector(o.el.getScopeParent());if(s){o.setPosition(o.getPosition()[0]+s[0])}o.el.setY(l)}});Ext.define("Ext.grid.plugin.HeaderResizer",{extend:"Ext.util.Observable",requires:["Ext.dd.DragTracker","Ext.util.Region"],alias:"plugin.gridheaderresizer",disabled:false,configs:{dynamic:true},colHeaderCls:Ext.baseCSSPrefix+"column-header",minColWidth:40,maxColWidth:1000,wResizeCursor:"col-resize",eResizeCursor:"col-resize",init:function(b){this.headerCt=b;b.on("render",this.afterHeaderRender,this,{single:true})},destroy:function(){if(this.tracker){this.tracker.destroy()}},afterHeaderRender:function(){var c=this.headerCt,d=c.el;c.mon(d,"mousemove",this.onHeaderCtMouseMove,this);this.tracker=Ext.create("Ext.dd.DragTracker",{disabled:this.disabled,onBeforeStart:Ext.Function.bind(this.onBeforeStart,this),onStart:Ext.Function.bind(this.onStart,this),onDrag:Ext.Function.bind(this.onDrag,this),onEnd:Ext.Function.bind(this.onEnd,this),tolerance:3,autoStart:300,el:d})},onHeaderCtMouseMove:function(j,g){if(this.headerCt.dragging){if(this.activeHd){this.activeHd.el.dom.style.cursor="";delete this.activeHd}}else{var h=j.getTarget("."+this.colHeaderCls,3,true),e,i;if(h){e=Ext.getCmp(h.id);if(e.isOnLeftEdge(j)){i=e.previousNode("gridcolumn:not([hidden])")}else{if(e.isOnRightEdge(j)){i=e}else{i=null}}if(i){if(i.isGroupHeader){i=i.down(":not([isGroupHeader]):not([hidden]):last")}if(i&&!(i.fixed||(i.resizable===false)||this.disabled)){this.activeHd=i;e.el.dom.style.cursor=this.eResizeCursor}}else{e.el.dom.style.cursor="";delete this.activeHd}}}},onBeforeStart:function(c){var d=c.getTarget();this.dragHd=this.activeHd;if(!!this.dragHd&&!Ext.fly(d).hasCls("x-column-header-trigger")&&!this.headerCt.dragging){this.tracker.constrainTo=this.getConstrainRegion();return true}else{this.headerCt.dragging=false;return false}},getConstrainRegion:function(){var d=this.dragHd.el,c=Ext.util.Region.getRegion(d);return c.adjust(0,this.maxColWidth-d.getWidth(),0,this.minColWidth)},onStart:function(t){var e=this,G=e.dragHd,K=G.el,z=K.getWidth(),E=e.headerCt,C=t.getTarget();if(e.dragHd&&!Ext.fly(C).hasCls("x-column-header-trigger")){E.dragging=true}e.origWidth=z;if(!e.dynamic){var I=K.getXY(),w=E.up("[scrollerOwner]"),H=e.dragHd.up(":not([isGroupHeader])"),D=H.up(),J=w.getLhsMarker(),A=w.getRhsMarker(),L=A.parent(),F=L.getLeft(true),v=L.getTop(true),x=L.translatePoints(I),y=D.body.getHeight()+E.getHeight(),B=x.top-v;J.setTop(B);A.setTop(B);J.setHeight(y);A.setHeight(y);J.setLeft(x.left-F);A.setLeft(x.left+z-F)}},onDrag:function(k){if(!this.dynamic){var l=this.tracker.getXY("point"),i=this.headerCt.up("[scrollerOwner]"),j=i.getRhsMarker(),n=j.parent(),e=n.translatePoints(l),m=n.getLeft(true);j.setLeft(e.left-m)}else{this.doResize()}},onEnd:function(m){this.headerCt.dragging=false;if(this.dragHd){if(!this.dynamic){var n=this.dragHd,p=this.headerCt.up("[scrollerOwner]"),o=p.getLhsMarker(),k=p.getRhsMarker(),j=n.getWidth(),l=this.tracker.getOffset("point"),e=-9999;o.setLeft(e);k.setLeft(e)}this.doResize()}},doResize:function(){if(this.dragHd){var d=this.dragHd,e,f=this.tracker.getOffset("point");if(d.flex){delete d.flex}this.headerCt.suspendLayout=true;d.setWidth(this.origWidth+f[0],false);if(this.headerCt.forceFit){e=d.nextNode("gridcolumn:not([hidden]):not([isGroupHeader])");if(e){delete e.flex;e.setWidth(e.getWidth()-f[0],false)}}this.headerCt.suspendLayout=false;this.headerCt.doComponentLayout(this.headerCt.getFullWidth())}},disable:function(){this.disabled=true;if(this.tracker){this.tracker.disable()}},enable:function(){this.disabled=false;if(this.tracker){this.tracker.enable()}}});Ext.define("Ext.grid.Lockable",{requires:["Ext.grid.LockingView"],syncRowHeight:true,spacerHidden:true,headerCounter:0,unlockText:"Unlock",lockText:"Lock",determineXTypeToCreate:function(){var l=this,i;if(l.subGridXType){i=l.subGridXType}else{var k=this.getXTypes().split("/"),g=k.length,j=k[g-1],h=k[g-2];if(h!=="tablepanel"){i=h}else{i=j}}return i},injectLockable:function(){this.lockable=true;this.hasView=true;var i=this,r=i.determineXTypeToCreate(),l=i.getSelectionModel(),q={xtype:r,enableAnimations:false,scroll:false,scrollerOwner:false,selModel:l,border:false,cls:Ext.baseCSSPrefix+"grid-inner-locked"},k={xtype:r,enableAnimations:false,scrollerOwner:false,selModel:l,border:false},n=0,o,p,m;i.addCls(Ext.baseCSSPrefix+"grid-locked");Ext.copyTo(k,i,i.normalCfgCopy);Ext.copyTo(q,i,i.lockedCfgCopy);for(;n<i.normalCfgCopy.length;n++){delete i[i.normalCfgCopy[n]]}for(n=0;n<i.lockedCfgCopy.length;n++){delete i[i.lockedCfgCopy[n]]}i.addEvents("lockcolumn","unlockcolumn");i.addStateEvents(["lockcolumn","unlockcolumn"]);i.lockedHeights=[];i.normalHeights=[];o=i.processColumns(i.columns);q.width=o.lockedWidth+Ext.num(l.headerWidth,0);q.columns=o.locked;k.columns=o.normal;i.store=Ext.StoreManager.lookup(i.store);q.store=i.store;k.store=i.store;k.flex=1;q.viewConfig=i.lockedViewConfig||{};q.viewConfig.loadingUseMsg=false;k.viewConfig=i.normalViewConfig||{};Ext.applyIf(q.viewConfig,i.viewConfig);Ext.applyIf(k.viewConfig,i.viewConfig);i.normalGrid=Ext.ComponentManager.create(k);i.lockedGrid=Ext.ComponentManager.create(q);i.view=Ext.create("Ext.grid.LockingView",{locked:i.lockedGrid,normal:i.normalGrid,panel:i});if(i.syncRowHeight){i.lockedGrid.getView().on({refresh:i.onLockedGridAfterRefresh,itemupdate:i.onLockedGridAfterUpdate,scope:i});i.normalGrid.getView().on({refresh:i.onNormalGridAfterRefresh,itemupdate:i.onNormalGridAfterUpdate,scope:i})}p=i.lockedGrid.headerCt;m=i.normalGrid.headerCt;p.lockedCt=true;p.lockableInjected=true;m.lockableInjected=true;p.on({columnshow:i.onLockedHeaderShow,columnhide:i.onLockedHeaderHide,columnmove:i.onLockedHeaderMove,sortchange:i.onLockedHeaderSortChange,columnresize:i.onLockedHeaderResize,scope:i});m.on({columnmove:i.onNormalHeaderMove,sortchange:i.onNormalHeaderSortChange,scope:i});i.normalGrid.on({scrollershow:i.onScrollerShow,scrollerhide:i.onScrollerHide,scope:i});i.lockedGrid.on("afterlayout",i.onLockedGridAfterLayout,i,{single:true});i.modifyHeaderCt();i.items=[i.lockedGrid,i.normalGrid];i.relayHeaderCtEvents(p);i.relayHeaderCtEvents(m);i.layout={type:"hbox",align:"stretch"}},processColumns:function(k){var l=0,i=k.length,h=1,m=[],n=[],j;for(;l<i;++l){j=k[l];j.processed=true;if(j.locked){if(j.flex){Ext.Error.raise("Columns which are locked do NOT support a flex width. You must set a width on the "+k[l].text+"column.")}if(!j.hidden){h+=j.width||Ext.grid.header.Container.prototype.defaultWidth}m.push(j)}else{n.push(j)}if(!j.headerId){j.headerId=(j.initialConfig||j).id||("L"+(++this.headerCounter))}}return{lockedWidth:h,locked:m,normal:n}},onLockedGridAfterLayout:function(){var c=this,d=c.lockedGrid.getView();d.on({beforerefresh:c.destroySpacer,scope:c})},onLockedHeaderMove:function(){if(this.syncRowHeight){this.onNormalGridAfterRefresh()}},onNormalHeaderMove:function(){if(this.syncRowHeight){this.onLockedGridAfterRefresh()}},getSpacerEl:function(){var g=this,e,f,h;if(!g.spacerEl){e=Ext.getScrollBarWidth()+(Ext.isIE?2:0);f=g.lockedGrid.getView();h=f.el;g.spacerEl=Ext.DomHelper.append(h,{cls:g.spacerHidden?(Ext.baseCSSPrefix+"hidden"):"",style:"height: "+e+"px;"},true)}return g.spacerEl},destroySpacer:function(){var b=this;if(b.spacerEl){b.spacerEl.destroy();delete b.spacerEl}},onLockedGridAfterRefresh:function(){var j=this,h=j.lockedGrid.getView(),l=h.el,i=l.query(h.getItemSelector()),k=i.length,g=0;j.lockedHeights=[];for(;g<k;g++){j.lockedHeights[g]=i[g].clientHeight}j.syncRowHeights()},onNormalGridAfterRefresh:function(){var j=this,h=j.normalGrid.getView(),l=h.el,i=l.query(h.getItemSelector()),k=i.length,g=0;j.normalHeights=[];for(;g<k;g++){j.normalHeights[g]=i[g].clientHeight}j.syncRowHeights()},onLockedGridAfterUpdate:function(e,d,f){this.lockedHeights[d]=f.clientHeight;this.syncRowHeights()},onNormalGridAfterUpdate:function(e,d,f){this.normalHeights[d]=f.clientHeight;this.syncRowHeights()},syncRowHeights:function(){var o=this,w=o.lockedHeights,n=o.normalHeights,x=[],p=w.length,r=0,i,u,t,q,s=o.getVerticalScroller(),v;if(w.length&&n.length){i=o.lockedGrid.getView();u=o.normalGrid.getView();t=i.el.query(i.getItemSelector());q=u.el.query(u.getItemSelector());for(;r<p;r++){if(!isNaN(w[r])&&!isNaN(n[r])){if(w[r]>n[r]){Ext.fly(q[r]).setHeight(w[r])}else{if(w[r]<n[r]){Ext.fly(t[r]).setHeight(n[r])}}}}o.normalGrid.invalidateScroller();if(s&&s.setViewScrollTop){s.setViewScrollTop(o.virtualScrollTop)}else{v=u.el.dom.scrollTop;u.el.dom.scrollTop=v;i.el.dom.scrollTop=v}o.lockedHeights=[];o.normalHeights=[]}},onScrollerShow:function(d,c){if(c==="horizontal"){this.spacerHidden=false;this.getSpacerEl().removeCls(Ext.baseCSSPrefix+"hidden")}},onScrollerHide:function(d,c){if(c==="horizontal"){this.spacerHidden=true;if(this.spacerEl){this.spacerEl.addCls(Ext.baseCSSPrefix+"hidden")}}},modifyHeaderCt:function(){var b=this;b.lockedGrid.headerCt.getMenuItems=b.getMenuItems(true);b.normalGrid.headerCt.getMenuItems=b.getMenuItems(false)},onUnlockMenuClick:function(){this.unlock()},onLockMenuClick:function(){this.lock()},getMenuItems:function(i){var m=this,l=m.unlockText,k=m.lockText,p=Ext.baseCSSPrefix+"hmenu-unlock",n=Ext.baseCSSPrefix+"hmenu-lock",j=Ext.Function.bind(m.onUnlockMenuClick,m),o=Ext.Function.bind(m.onLockMenuClick,m);return function(){var a=Ext.grid.header.Container.prototype.getMenuItems.call(this);a.push("-",{cls:p,text:l,handler:j,disabled:!i});a.push({cls:n,text:k,handler:o,disabled:i});return a}},lock:function(i,m){var n=this,l=n.normalGrid,j=n.lockedGrid,k=l.headerCt,h=j.headerCt;i=i||k.getMenu().activeHeader;if(i.flex){i.width=i.getWidth();delete i.flex}k.remove(i,false);h.suspendLayout=true;i.locked=true;if(Ext.isDefined(m)){h.insert(m,i)}else{h.add(i)}h.suspendLayout=false;n.syncLockedSection();n.fireEvent("lockcolumn",n,i)},syncLockedSection:function(){var b=this;b.syncLockedWidth();b.lockedGrid.getView().refresh();b.normalGrid.getView().refresh()},syncLockedWidth:function(){var c=this,d=c.lockedGrid.headerCt.getFullWidth(true);c.lockedGrid.setWidth(d+1);c.doComponentLayout()},onLockedHeaderResize:function(){this.syncLockedWidth()},onLockedHeaderHide:function(){this.syncLockedWidth()},onLockedHeaderShow:function(){this.syncLockedWidth()},onLockedHeaderSortChange:function(d,f,e){if(e){this.normalGrid.headerCt.clearOtherSortStates(null,true)}},onNormalHeaderSortChange:function(d,f,e){if(e){this.lockedGrid.headerCt.clearOtherSortStates(null,true)}},unlock:function(i,m){var n=this,l=n.normalGrid,j=n.lockedGrid,k=l.headerCt,h=j.headerCt;if(!Ext.isDefined(m)){m=0}i=i||h.getMenu().activeHeader;h.remove(i,false);n.syncLockedWidth();n.lockedGrid.getView().refresh();i.locked=false;k.insert(m,i);n.normalGrid.getView().refresh();n.fireEvent("unlockcolumn",n,i)},applyColumnsState:function(t){var n=this,v=n.lockedGrid,u=v.headerCt,p=n.normalGrid.headerCt,m=u.items,s=p.items,x,q=[],o=[],w,r=1;Ext.each(t,function(a){function b(c){return c.headerId==a.id}w=true;if(!(x=m.findBy(b))){x=s.findBy(b);w=false}if(x){if(x.applyColumnState){x.applyColumnState(a)}if(!Ext.isDefined(x.locked)){x.locked=w}if(x.locked){q.push(x);if(!x.hidden&&Ext.isNumber(x.width)){r+=x.width}}else{o.push(x)}}});if(q.length+o.length==m.getCount()+s.getCount()){u.removeAll(false);p.removeAll(false);u.add(q);p.add(o);v.setWidth(r)}},getColumnsState:function(){var d=this,e=d.lockedGrid.headerCt.getColumnsState(),f=d.normalGrid.headerCt.getColumnsState();return e.concat(f)},reconfigureLockable:function(g,f){var j=this,h=j.lockedGrid,i=j.normalGrid;if(f){h.headerCt.suspendLayout=true;i.headerCt.suspendLayout=true;h.headerCt.removeAll();i.headerCt.removeAll();f=j.processColumns(f);h.setWidth(f.lockedWidth);h.headerCt.add(f.locked);i.headerCt.add(f.normal)}if(g){g=Ext.data.StoreManager.lookup(g);j.store=g;h.bindStore(g);i.bindStore(g)}else{h.getView().refresh();i.getView().refresh()}if(f){h.headerCt.suspendLayout=false;i.headerCt.suspendLayout=false;h.headerCt.forceComponentLayout();i.headerCt.forceComponentLayout()}}});Ext.define("Ext.data.proxy.Memory",{extend:"Ext.data.proxy.Client",alias:"proxy.memory",alternateClassName:"Ext.data.MemoryProxy",constructor:function(b){this.callParent([b]);this.setReader(this.reader)},read:function(l,i,k){var j=this,g=j.getReader(),h=g.read(j.data);Ext.apply(l,{resultSet:h});l.setCompleted();l.setSuccessful();Ext.callback(i,k||j,[l])},clear:Ext.emptyFn});Ext.define("Ext.draw.Surface",{mixins:{observable:"Ext.util.Observable"},requires:["Ext.draw.CompositeSprite"],uses:["Ext.draw.engine.Svg","Ext.draw.engine.Vml"],separatorRe:/[, ]+/,statics:{create:function(f,i){i=i||["Svg","Vml"];var j=0,g=i.length,h;for(;j<g;j++){if(Ext.supports[i[j]]){return Ext.create("Ext.draw.engine."+i[j],f)}}return false}},availableAttrs:{blur:0,"clip-rect":"0 0 1e9 1e9",cursor:"default",cx:0,cy:0,"dominant-baseline":"auto",fill:"none","fill-opacity":1,font:'10px "Arial"',"font-family":'"Arial"',"font-size":"10","font-style":"normal","font-weight":400,gradient:"",height:0,hidden:false,href:"http://sencha.com/",opacity:1,path:"M0,0",radius:0,rx:0,ry:0,scale:"1 1",src:"",stroke:"#000","stroke-dasharray":"","stroke-linecap":"butt","stroke-linejoin":"butt","stroke-miterlimit":0,"stroke-opacity":1,"stroke-width":1,target:"_blank",text:"","text-anchor":"middle",title:"Ext Draw",width:0,x:0,y:0,zIndex:0},container:undefined,height:352,width:512,x:0,y:0,orderSpritesByZIndex:true,constructor:function(d){var c=this;d=d||{};Ext.apply(c,d);c.domRef=Ext.getDoc().dom;c.customAttributes={};c.addEvents("mousedown","mouseup","mouseover","mouseout","mousemove","mouseenter","mouseleave","click");c.mixins.observable.constructor.call(c);c.getId();c.initGradients();c.initItems();if(c.renderTo){c.render(c.renderTo);delete c.renderTo}c.initBackground(d.background)},initSurface:Ext.emptyFn,renderItem:Ext.emptyFn,renderItems:Ext.emptyFn,setViewBox:function(e,g,h,f){if(isFinite(e)&&isFinite(g)&&isFinite(h)&&isFinite(f)){this.viewBox={x:e,y:g,width:h,height:f};this.applyViewBox()}},addCls:Ext.emptyFn,removeCls:Ext.emptyFn,setStyle:Ext.emptyFn,initGradients:function(){var b=this.gradients;if(b){Ext.each(b,this.addGradient,this)}},initItems:function(){var b=this.items;this.items=Ext.create("Ext.draw.CompositeSprite");this.groups=Ext.create("Ext.draw.CompositeSprite");if(b){this.add(b)}},initBackground:function(h){var l=this,m=l.width,i=l.height,k,j,n;if(h){if(h.gradient){j=h.gradient;k=j.id;l.addGradient(j);l.background=l.add({type:"rect",x:0,y:0,width:m,height:i,fill:"url(#"+k+")"})}else{if(h.fill){l.background=l.add({type:"rect",x:0,y:0,width:m,height:i,fill:h.fill})}else{if(h.image){l.background=l.add({type:"image",x:0,y:0,width:m,height:i,src:h.image})}}}}},setSize:function(d,c){if(this.background){this.background.setAttributes({width:d,height:c,hidden:false},true)}this.applyViewBox()},scrubAttrs:function(i){var j,f={},g={},h=i.attr;for(j in h){if(this.translateAttrs.hasOwnProperty(j)){f[this.translateAttrs[j]]=h[j];g[this.translateAttrs[j]]=true}else{if(this.availableAttrs.hasOwnProperty(j)&&!g[j]){f[j]=h[j]}}}return f},onClick:function(b){this.processEvent("click",b)},onMouseUp:function(b){this.processEvent("mouseup",b)},onMouseDown:function(b){this.processEvent("mousedown",b)},onMouseOver:function(b){this.processEvent("mouseover",b)},onMouseOut:function(b){this.processEvent("mouseout",b)},onMouseMove:function(b){this.fireEvent("mousemove",b)},onMouseEnter:Ext.emptyFn,onMouseLeave:Ext.emptyFn,addGradient:Ext.emptyFn,add:function(){var m=Array.prototype.slice.call(arguments),k,o;var r=m.length>1;if(r||Ext.isArray(m[0])){var l=r?m:m[0],q=[],p,n,i;for(p=0,n=l.length;p<n;p++){i=l[p];i=this.add(i);q.push(i)}return q}k=this.prepareItems(m[0],true)[0];this.insertByZIndex(k);this.onAdd(k);return k},insertByZIndex:function(l){var o=this,q=o.items.items,r=q.length,k=Math.ceil,n=l.attr.zIndex,m=r,s=m-1,p=0,t;if(o.orderSpritesByZIndex&&r&&n<q[s].attr.zIndex){while(p<=s){m=k((p+s)/2);t=q[m].attr.zIndex;if(t>n){s=m-1}else{if(t<n){p=m+1}else{break}}}while(m<r&&q[m].attr.zIndex<=n){m++}}o.items.insert(m,l);return m},onAdd:function(k){var i=k.group,g=k.draggable,h,j,l;if(i){h=[].concat(i);j=h.length;for(l=0;l<j;l++){i=h[l];this.getGroup(i).add(k)}delete k.group}if(g){k.initDraggable()}},remove:function(d,c){if(d){this.items.remove(d);this.groups.each(function(a){a.remove(d)});d.onRemove();if(c===true){d.destroy()}}},removeAll:function(g){var f=this.items.items,h=f.length,e;for(e=h-1;e>-1;e--){this.remove(f[e],g)}},onRemove:Ext.emptyFn,onDestroy:Ext.emptyFn,applyViewBox:function(){var s=this,l=s.viewBox,v=s.width,p=s.height,q,r,n,u,o,t,m;if(l&&(v||p)){q=l.x;r=l.y;n=l.width;u=l.height;o=p/u;t=v/n;if(n*o<v){q-=(v-n*o)/2/o}if(u*t<p){r-=(p-u*t)/2/t}m=1/Math.min(n,o);s.viewBoxShift={dx:-q,dy:-r,scale:m}}},transformToViewBox:function(f,g){if(this.viewBoxShift){var h=this,e=h.viewBoxShift;return[f*e.scale-e.dx,g*e.scale-e.dy]}else{return[f,g]}},applyTransformations:function(e){e.bbox.transform=0;this.transform(e);var g=this,h=false,f=e.attr;if(f.translation.x!=null||f.translation.y!=null){g.translate(e);h=true}if(f.scaling.x!=null||f.scaling.y!=null){g.scale(e);h=true}if(f.rotation.degrees!=null){g.rotate(e);h=true}if(h){e.bbox.transform=0;this.transform(e);e.transformations=[]}},rotate:function(g){var h,f=g.attr.rotation.degrees,i=g.attr.rotation.x,j=g.attr.rotation.y;if(!Ext.isNumber(i)||!Ext.isNumber(j)){h=this.getBBox(g);i=!Ext.isNumber(i)?h.x+h.width/2:i;j=!Ext.isNumber(j)?h.y+h.height/2:j}g.transformations.push({type:"rotate",degrees:f,x:i,y:j})},translate:function(d){var e=d.attr.translation.x||0,f=d.attr.translation.y||0;d.transformations.push({type:"translate",x:e,y:f})},scale:function(g){var j,h=g.attr.scaling.x||1,i=g.attr.scaling.y||1,k=g.attr.scaling.centerX,l=g.attr.scaling.centerY;if(!Ext.isNumber(k)||!Ext.isNumber(l)){j=this.getBBox(g);k=!Ext.isNumber(k)?j.x+j.width/2:k;l=!Ext.isNumber(l)?j.y+j.height/2:l}g.transformations.push({type:"scale",x:h,y:i,centerX:k,centerY:l})},rectPath:function(g,h,f,j,i){if(i){return[["M",g+i,h],["l",f-i*2,0],["a",i,i,0,0,1,i,i],["l",0,j-i*2],["a",i,i,0,0,1,-i,i],["l",i*2-f,0],["a",i,i,0,0,1,-i,-i],["l",0,i*2-j],["a",i,i,0,0,1,i,-i],["z"]]}return[["M",g,h],["l",f,0],["l",0,j],["l",-f,0],["z"]]},ellipsePath:function(f,g,h,e){if(e==null){e=h}return[["M",f,g],["m",0,-e],["a",h,e,0,1,1,0,2*e],["a",h,e,0,1,1,0,-2*e],["z"]]},getPathpath:function(b){return b.attr.path},getPathcircle:function(d){var a=d.attr;return this.ellipsePath(a.x,a.y,a.radius,a.radius)},getPathellipse:function(d){var a=d.attr;return this.ellipsePath(a.x,a.y,a.radiusX||(a.width/2)||0,a.radiusY||(a.height/2)||0)},getPathrect:function(d){var a=d.attr;return this.rectPath(a.x,a.y,a.width,a.height,a.r)},getPathimage:function(d){var a=d.attr;return this.rectPath(a.x||0,a.y||0,a.width,a.height)},getPathtext:function(d){var c=this.getBBoxText(d);return this.rectPath(c.x,c.y,c.width,c.height)},createGroup:function(c){var d=this.groups.get(c);if(!d){d=Ext.create("Ext.draw.CompositeSprite",{surface:this});d.id=c||Ext.id(null,"ext-surface-group-");this.groups.add(d)}return d},getGroup:function(c){if(typeof c=="string"){var d=this.groups.get(c);if(!d){d=this.createGroup(c)}}else{d=c}return d},prepareItems:function(g,j){g=[].concat(g);var h,f,i;for(f=0,i=g.length;f<i;f++){h=g[f];if(!(h instanceof Ext.draw.Sprite)){h.surface=this;g[f]=this.createItem(h)}else{h.surface=this}}return g},setText:Ext.emptyFn,createItem:Ext.emptyFn,getId:function(){return this.id||(this.id=Ext.id(null,"ext-surface-"))},destroy:function(){delete this.domRef;this.removeAll()}});Ext.define("Ext.draw.Component",{alias:"widget.draw",extend:"Ext.Component",requires:["Ext.draw.Surface","Ext.layout.component.Draw"],enginePriority:["Svg","Vml"],baseCls:Ext.baseCSSPrefix+"surface",componentLayout:"draw",viewBox:true,autoSize:false,initComponent:function(){this.callParent(arguments);this.addEvents("mousedown","mouseup","mousemove","mouseenter","mouseleave","click")},onRender:function(){var o=this,j=o.viewBox,q=o.autoSize,l,p,r,k,m,n;o.callParent(arguments);if(o.createSurface()!==false){p=o.surface.items;if(j||q){l=p.getBBox();r=l.width;k=l.height;m=l.x;n=l.y;if(o.viewBox){o.surface.setViewBox(m,n,r,k)}else{o.autoSizeSurface()}}}},autoSizeSurface:function(){var i=this,f=i.surface.items,h=f.getBBox(),j=h.width,g=h.height;f.setAttributes({translate:{x:-h.x,y:-h.y+(+Ext.isOpera)}},true);if(i.rendered){i.setSize(j,g);i.surface.setSize(j,g)}else{i.surface.setSize(j,g)}i.el.setSize(j,g)},createSurface:function(){var d=Ext.draw.Surface.create(Ext.apply({},{width:this.width,height:this.height,renderTo:this.el},this.initialConfig));if(!d){return false}this.surface=d;function c(a){return function(b){this.fireEvent(a,b)}}d.on({scope:this,mouseup:c("mouseup"),mousedown:c("mousedown"),mousemove:c("mousemove"),mouseenter:c("mouseenter"),mouseleave:c("mouseleave"),click:c("click")})},onDestroy:function(){var b=this.surface;if(b){b.destroy()}this.callParent(arguments)}});Ext.define("Ext.dd.DropTarget",{extend:"Ext.dd.DDTarget",requires:["Ext.dd.ScrollManager"],constructor:function(c,d){this.el=Ext.get(c);Ext.apply(this,d);if(this.containerScroll){Ext.dd.ScrollManager.register(this.el)}this.callParent([this.el.dom,this.ddGroup||this.group,{isTarget:true}])},dropAllowed:Ext.baseCSSPrefix+"dd-drop-ok",dropNotAllowed:Ext.baseCSSPrefix+"dd-drop-nodrop",isTarget:true,isNotifyTarget:true,notifyEnter:function(e,f,d){if(this.overClass){this.el.addCls(this.overClass)}return this.dropAllowed},notifyOver:function(e,f,d){return this.dropAllowed},notifyOut:function(e,f,d){if(this.overClass){this.el.removeCls(this.overClass)}},notifyDrop:function(e,f,d){return false},destroy:function(){this.callParent();if(this.containerScroll){Ext.dd.ScrollManager.unregister(this.el)}}});Ext.define("Ext.dd.DropZone",{extend:"Ext.dd.DropTarget",requires:["Ext.dd.Registry"],getTargetFromEvent:function(b){return Ext.dd.Registry.getTargetFromEvent(b)},onNodeEnter:function(g,f,h,e){},onNodeOver:function(g,f,h,e){return this.dropAllowed},onNodeOut:function(g,f,h,e){},onNodeDrop:function(g,f,h,e){return false},onContainerOver:function(e,f,d){return this.dropNotAllowed},onContainerDrop:function(e,f,d){return false},notifyEnter:function(e,f,d){return this.dropNotAllowed},notifyOver:function(f,h,e){var g=this.getTargetFromEvent(h);if(!g){if(this.lastOverNode){this.onNodeOut(this.lastOverNode,f,h,e);this.lastOverNode=null}return this.onContainerOver(f,h,e)}if(this.lastOverNode!=g){if(this.lastOverNode){this.onNodeOut(this.lastOverNode,f,h,e)}this.onNodeEnter(g,f,h,e);this.lastOverNode=g}return this.onNodeOver(g,f,h,e)},notifyOut:function(e,f,d){if(this.lastOverNode){this.onNodeOut(this.lastOverNode,e,f,d);this.lastOverNode=null}},notifyDrop:function(f,h,e){if(this.lastOverNode){this.onNodeOut(this.lastOverNode,f,h,e);this.lastOverNode=null}var g=this.getTargetFromEvent(h);return g?this.onNodeDrop(g,f,h,e):this.onContainerDrop(f,h,e)},triggerCacheRefresh:function(){Ext.dd.DDM.refreshCache(this.groups)}});Ext.define("Ext.view.DropZone",{extend:"Ext.dd.DropZone",indicatorHtml:'<div class="x-grid-drop-indicator-left"></div><div class="x-grid-drop-indicator-right"></div>',indicatorCls:"x-grid-drop-indicator",constructor:function(d){var c=this;Ext.apply(c,d);if(!c.ddGroup){c.ddGroup="view-dd-zone-"+c.view.id}c.callParent([c.view.el])},fireViewEvent:function(){var c=this,d;c.lock();d=c.view.fireEvent.apply(c.view,arguments);c.unlock();return d},getTargetFromEvent:function(k){var l=k.getTarget(this.view.getItemSelector()),o,p,e,n,i,m;if(!l){o=k.getPageY();for(n=0,p=this.view.getNodes(),i=p.length;n<i;n++){e=p[n];m=Ext.fly(e).getBox();if(o<=m.bottom){return e}}}return l},getIndicator:function(){var b=this;if(!b.indicator){b.indicator=Ext.createWidget("component",{html:b.indicatorHtml,cls:b.indicatorCls,ownerCt:b.view,floating:true,shadow:false})}return b.indicator},getPosition:function(j,g){var h=j.getXY()[1],e=Ext.fly(g).getRegion(),i;if((e.bottom-h)>=(e.bottom-e.top)/2){i="before"}else{i="after"}return i},containsRecordAtOffset:function(m,h,k){if(!h){return false}var i=this.view,n=i.indexOf(h),l=i.getNode(n+k),j=l?i.getRecord(l):null;return j&&Ext.Array.contains(m,j)},positionIndicator:function(s,r,q){var p=this,n=p.view,o=p.getPosition(q,s),e=n.getRecord(s),t=r.records,m,l;if(!Ext.Array.contains(t,e)&&(o=="before"&&!p.containsRecordAtOffset(t,e,-1)||o=="after"&&!p.containsRecordAtOffset(t,e,1))){p.valid=true;if(p.overRecord!=e||p.currentPosition!=o){l=Ext.fly(s).getY()-n.el.getY()-1;if(o=="after"){l+=Ext.fly(s).getHeight()}p.getIndicator().setWidth(Ext.fly(n.el).getWidth()).showAt(0,l);p.overRecord=e;p.currentPosition=o}}else{p.invalidateDrop()}},invalidateDrop:function(){if(this.valid){this.valid=false;this.getIndicator().hide()}},onNodeOver:function(j,g,h,i){var e=this;if(!Ext.Array.contains(i.records,e.view.getRecord(j))){e.positionIndicator(j,i,h)}return e.valid?e.dropAllowed:e.dropNotAllowed},notifyOut:function(j,g,h,i){var e=this;e.callParent(arguments);delete e.overRecord;delete e.currentPosition;if(e.indicator){e.indicator.hide()}},onContainerOver:function(h,i,j){var k=this,e=k.view,l=e.store.getCount();if(l){k.positionIndicator(e.getNode(l-1),j,i)}else{delete k.overRecord;delete k.currentPosition;k.getIndicator().setWidth(Ext.fly(e.el).getWidth()).showAt(0,0);k.valid=true}return k.dropAllowed},onContainerDrop:function(e,f,d){return this.onNodeDrop(e,null,f,d)},onNodeDrop:function(o,j,m,n){var p=this,k=false,e=function(){p.invalidateDrop();p.handleNodeDrop(n,p.overRecord,p.currentPosition);k=true;p.fireViewEvent("drop",o,n,p.overRecord,p.currentPosition)},l=false;if(p.valid){l=p.fireViewEvent("beforedrop",o,n,p.overRecord,p.currentPosition,e);if(l!==false){if(!k){e()}}}return l},destroy:function(){Ext.destroy(this.indicator);delete this.indicator;this.callParent()}});Ext.define("Ext.grid.ViewDropZone",{extend:"Ext.view.DropZone",indicatorHtml:'<div class="x-grid-drop-indicator-left"></div><div class="x-grid-drop-indicator-right"></div>',indicatorCls:"x-grid-drop-indicator",handleNodeDrop:function(q,o,n){var k=this.view,i=k.getStore(),l,r,p,m;if(q.copy){r=q.records;q.records=[];for(p=0,m=r.length;p<m;p++){q.records.push(r[p].copy(r[p].getId()))}}else{q.view.store.remove(q.records,q.view===k)}l=i.indexOf(o);if(n!=="before"){l++}i.insert(l,q.records);k.getSelectionModel().select(q.records)}});Ext.define("Ext.grid.header.DropZone",{extend:"Ext.dd.DropZone",colHeaderCls:Ext.baseCSSPrefix+"column-header",proxyOffsets:[-4,-9],constructor:function(b){this.headerCt=b;this.ddGroup=this.getDDGroup();this.callParent([b.el])},getDDGroup:function(){return"header-dd-zone-"+this.headerCt.up("[scrollerOwner]").id},getTargetFromEvent:function(b){return b.getTarget("."+this.colHeaderCls)},getTopIndicator:function(){if(!this.topIndicator){this.topIndicator=Ext.DomHelper.append(Ext.getBody(),{cls:"col-move-top",html:" "},true)}return this.topIndicator},getBottomIndicator:function(){if(!this.bottomIndicator){this.bottomIndicator=Ext.DomHelper.append(Ext.getBody(),{cls:"col-move-bottom",html:" "},true)}return this.bottomIndicator},getLocation:function(k,e){var h=k.getXY()[0],l=Ext.fly(e).getRegion(),i,j;if((l.right-h)<=(l.right-l.left)/2){i="after"}else{i="before"}return{pos:i,header:Ext.getCmp(e.id),node:e}},positionIndicator:function(i,F,z){var R=this.getLocation(z,F),D=R.header,M=R.pos,N=i.nextSibling("gridcolumn:not([hidden])"),A=i.previousSibling("gridcolumn:not([hidden])"),O,I,C,B,Q,P,J,H,e,y;if(!D.draggable&&D.getIndex()==0){return false}this.lastLocation=R;if((i!==D)&&((M==="before"&&N!==D)||(M==="after"&&A!==D))&&!D.isDescendantOf(i)){var G=Ext.dd.DragDropManager.getRelated(this),K=G.length,E=0,L;for(;E<K;E++){L=G[E];if(L!==this&&L.invalidateDrop){L.invalidateDrop()}}this.valid=true;I=this.getTopIndicator();C=this.getBottomIndicator();if(M==="before"){B="tl";Q="bl"}else{B="tr";Q="br"}P=D.el.getAnchorXY(B);J=D.el.getAnchorXY(Q);H=this.headerCt.el;e=H.getLeft();y=H.getRight();P[0]=Ext.Number.constrain(P[0],e,y);J[0]=Ext.Number.constrain(J[0],e,y);P[0]-=4;P[1]-=9;J[0]-=4;I.setXY(P);C.setXY(J);I.show();C.show()}else{this.invalidateDrop()}},invalidateDrop:function(){this.valid=false;this.hideIndicators()},onNodeOver:function(e,f,g,h){if(h.header.el.dom!==e){this.positionIndicator(h.header,e,g)}return this.valid?this.dropAllowed:this.dropNotAllowed},hideIndicators:function(){this.getTopIndicator().hide();this.getBottomIndicator().hide()},onNodeOut:function(){this.hideIndicators()},onNodeDrop:function(w,q,r,v){if(this.valid){this.invalidateDrop();var t=v.header,u=this.lastLocation,o=t.ownerCt,z=o.items.indexOf(t),s=u.header.ownerCt,e=s.items.indexOf(u.header),x=this.headerCt,p,y;if(u.pos==="after"){e++}if(o!==s&&o.lockableInjected&&s.lockableInjected&&s.lockedCt){y=o.up("[scrollerOwner]");y.lock(t,e)}else{if(o!==s&&o.lockableInjected&&s.lockableInjected&&o.lockedCt){y=o.up("[scrollerOwner]");y.unlock(t,e)}else{if((o===s)&&(e>o.items.indexOf(t))){e--}if(o!==s){o.suspendLayout=true;o.remove(t,false);o.suspendLayout=false}if(o.isGroupHeader){if(!o.items.getCount()){p=o.ownerCt;p.suspendLayout=true;p.remove(o,false);o.el.dom.parentNode.removeChild(o.el.dom);p.suspendLayout=false}else{o.minWidth=o.getWidth()-t.getWidth();o.setWidth(o.minWidth)}}s.suspendLayout=true;if(o===s){s.move(z,e)}else{s.insert(e,t)}s.suspendLayout=false;if(s.isGroupHeader){t.savedFlex=t.flex;delete t.flex;t.width=t.getWidth();s.minWidth=s.getWidth()+t.getWidth()-(t.savedFlex?1:0);s.setWidth(s.minWidth)}else{if(t.savedFlex){t.flex=t.savedFlex;delete t.width}}x.purgeCache();x.doLayout();x.onHeaderMoved(t,z,e);if(!o.items.getCount()){o.destroy()}}}}}});Ext.define("Ext.grid.plugin.HeaderReorderer",{extend:"Ext.util.Observable",requires:["Ext.grid.header.DragZone","Ext.grid.header.DropZone"],alias:"plugin.gridheaderreorderer",init:function(b){this.headerCt=b;b.on("render",this.onHeaderCtRender,this)},destroy:function(){Ext.destroy(this.dragZone,this.dropZone)},onHeaderCtRender:function(){this.dragZone=Ext.create("Ext.grid.header.DragZone",this.headerCt);this.dropZone=Ext.create("Ext.grid.header.DropZone",this.headerCt);if(this.disabled){this.dragZone.disable()}},enable:function(){this.disabled=false;if(this.dragZone){this.dragZone.enable()}},disable:function(){this.disabled=true;if(this.dragZone){this.dragZone.disable()}}});Ext.define("Ext.data.reader.Array",{extend:"Ext.data.reader.Json",alternateClassName:"Ext.data.ArrayReader",alias:"reader.array",buildExtractors:function(){this.callParent(arguments);var g=this.model.prototype.fields.items,f=0,j=g.length,h=[],i;for(;f<j;f++){i=g[f].mapping;h.push(function(a){return function(b){return b[a]}}(i!==null?i:f))}this.extractorFunctions=h}});Ext.define("Ext.resizer.ResizeTracker",{extend:"Ext.dd.DragTracker",dynamic:true,preserveRatio:false,constrainTo:null,proxyCls:Ext.baseCSSPrefix+"resizable-proxy",constructor:function(f){var i=this;if(!f.el){if(f.target.isComponent){i.el=f.target.getEl()}else{i.el=f.target}}this.callParent(arguments);if(i.preserveRatio&&i.minWidth&&i.minHeight){var j=i.minWidth/i.el.getWidth(),g=i.minHeight/i.el.getHeight();if(g>j){i.minWidth=i.el.getWidth()*g}else{i.minHeight=i.el.getHeight()*j}}if(i.throttle){var h=Ext.Function.createThrottled(function(){Ext.resizer.ResizeTracker.prototype.resize.apply(i,arguments)},i.throttle);i.resize=function(b,a,c){if(c){Ext.resizer.ResizeTracker.prototype.resize.apply(i,arguments)}else{h.apply(null,arguments)}}}},onBeforeStart:function(b){this.startBox=this.el.getBox()},getDynamicTarget:function(){var d=this,c=d.target;if(d.dynamic){return c}else{if(!d.proxy){d.proxy=d.createProxy(c)}}d.proxy.show();return d.proxy},createProxy:function(h){var e,f=this.proxyCls,g;if(h.isComponent){e=h.getProxy().addCls(f)}else{g=Ext.getBody();if(Ext.scopeResetCSS){g=Ext.getBody().createChild({cls:Ext.baseCSSPrefix+"reset"})}e=h.createProxy({tag:"div",cls:f,id:h.id+"-rzproxy"},g)}e.removeCls(Ext.baseCSSPrefix+"proxy-el");return e},onStart:function(b){this.activeResizeHandle=Ext.getCmp(this.getDragTarget().id);if(!this.dynamic){this.resize(this.startBox,{horizontal:"none",vertical:"none"})}},onDrag:function(b){if(this.dynamic||this.proxy){this.updateDimensions(b)}},updateDimensions:function(z,F){var y=this,N=y.activeResizeHandle.region,L=y.getOffset(y.constrainTo?"dragTarget":null),H=y.startBox,K,C=0,x=0,I,B,P=0,e=0,w,E=L[0]<0?"right":"left",A=L[1]<0?"down":"up",J,O;switch(N){case"south":x=L[1];O=2;break;case"north":x=-L[1];e=-x;O=2;break;case"east":C=L[0];O=1;break;case"west":C=-L[0];P=-C;O=1;break;case"northeast":x=-L[1];e=-x;C=L[0];J=[H.x,H.y+H.height];O=3;break;case"southeast":x=L[1];C=L[0];J=[H.x,H.y];O=3;break;case"southwest":C=-L[0];P=-C;x=L[1];J=[H.x+H.width,H.y];O=3;break;case"northwest":x=-L[1];e=-x;C=-L[0];P=-C;J=[H.x+H.width,H.y+H.height];O=3;break}var M={width:H.width+C,height:H.height+x,x:H.x+P,y:H.y+e};I=Ext.Number.snap(M.width,y.widthIncrement);B=Ext.Number.snap(M.height,y.heightIncrement);if(I!=M.width||B!=M.height){switch(N){case"northeast":M.y-=B-M.height;break;case"north":M.y-=B-M.height;break;case"southwest":M.x-=I-M.width;break;case"west":M.x-=I-M.width;break;case"northwest":M.x-=I-M.width;M.y-=B-M.height}M.width=I;M.height=B}if(M.width<y.minWidth||M.width>y.maxWidth){M.width=Ext.Number.constrain(M.width,y.minWidth,y.maxWidth);if(P){M.x=H.x+(H.width-M.width)}}else{y.lastX=M.x}if(M.height<y.minHeight||M.height>y.maxHeight){M.height=Ext.Number.constrain(M.height,y.minHeight,y.maxHeight);if(e){M.y=H.y+(H.height-M.height)}}else{y.lastY=M.y}if(y.preserveRatio||z.shiftKey){var D,G;K=y.startBox.width/y.startBox.height;D=Math.min(Math.max(y.minHeight,M.width/K),y.maxHeight);G=Math.min(Math.max(y.minWidth,M.height*K),y.maxWidth);if(O==1){M.height=D}else{if(O==2){M.width=G}else{w=Math.abs(J[0]-this.lastXY[0])/Math.abs(J[1]-this.lastXY[1]);if(w>K){M.height=D}else{M.width=G}if(N=="northeast"){M.y=H.y-(M.height-H.height)}else{if(N=="northwest"){M.y=H.y-(M.height-H.height);M.x=H.x-(M.width-H.width)}else{if(N=="southwest"){M.x=H.x-(M.width-H.width)}}}}}}if(x===0){A="none"}if(C===0){E="none"}y.resize(M,{horizontal:E,vertical:A},F)},getResizeTarget:function(b){return b?this.target:this.getDynamicTarget()},resize:function(e,g,f){var h=this.getResizeTarget(f);if(h.isComponent){if(h.floating){h.setPagePosition(e.x,e.y)}h.setSize(e.width,e.height)}else{h.setBox(e);if(this.originalTarget){this.originalTarget.setBox(e)}}},onEnd:function(b){this.updateDimensions(b,true);if(this.proxy){this.proxy.hide()}}});Ext.define("Ext.ShadowPool",{singleton:true,requires:["Ext.DomHelper"],markup:function(){if(Ext.supports.CSS3BoxShadow){return'<div class="'+Ext.baseCSSPrefix+'css-shadow" role="presentation"></div>'}else{if(Ext.isIE){return'<div class="'+Ext.baseCSSPrefix+'ie-shadow" role="presentation"></div>'}else{return'<div class="'+Ext.baseCSSPrefix+'frame-shadow" role="presentation"><div class="xst" role="presentation"><div class="xstl" role="presentation"></div><div class="xstc" role="presentation"></div><div class="xstr" role="presentation"></div></div><div class="xsc" role="presentation"><div class="xsml" role="presentation"></div><div class="xsmc" role="presentation"></div><div class="xsmr" role="presentation"></div></div><div class="xsb" role="presentation"><div class="xsbl" role="presentation"></div><div class="xsbc" role="presentation"></div><div class="xsbr" role="presentation"></div></div></div>'}}}(),shadows:[],pull:function(){var b=this.shadows.shift();if(!b){b=Ext.get(Ext.DomHelper.insertHtml("beforeBegin",document.body.firstChild,this.markup));b.autoBoxAdjust=false}return b},push:function(b){this.shadows.push(b)},reset:function(){Ext.Array.each(this.shadows,function(b){b.remove()});this.shadows=[]}});Ext.define("Ext.draw.Matrix",{requires:["Ext.draw.Draw"],constructor:function(e,f,a,b,c,d){if(e!=null){this.matrix=[[e,a,c],[f,b,d],[0,0,1]]}else{this.matrix=[[1,0,0],[0,1,0],[0,0,1]]}},add:function(z,c,f,u,w,x){var e=this,y=[[],[],[]],a=[[z,f,w],[c,u,x],[0,0,1]],b,d,t,v;for(b=0;b<3;b++){for(d=0;d<3;d++){v=0;for(t=0;t<3;t++){v+=e.matrix[b][t]*a[t][d]}y[b][d]=v}}e.matrix=y},prepend:function(z,c,f,u,w,x){var e=this,y=[[],[],[]],a=[[z,f,w],[c,u,x],[0,0,1]],b,d,t,v;for(b=0;b<3;b++){for(d=0;d<3;d++){v=0;for(t=0;t<3;t++){v+=a[b][t]*e.matrix[t][d]}y[b][d]=v}}e.matrix=y},invert:function(){var d=this.matrix,e=d[0][0],f=d[1][0],p=d[0][1],a=d[1][1],b=d[0][2],c=d[1][2],o=e*a-f*p;return new Ext.draw.Matrix(a/o,-f/o,-p/o,e/o,(p*c-a*b)/o,(f*b-e*c)/o)},clone:function(){var e=this.matrix,f=e[0][0],n=e[1][0],a=e[0][1],b=e[1][1],c=e[0][2],d=e[1][2];return new Ext.draw.Matrix(f,n,a,b,c,d)},translate:function(d,c){this.prepend(1,0,0,1,d,c)},scale:function(f,h,g,i){var j=this;if(h==null){h=f}j.add(1,0,0,1,g,i);j.add(f,0,0,h,0,0);j.add(1,0,0,1,-g,-i)},rotate:function(l,a,h){l=Ext.draw.Draw.rad(l);var j=this,i=+Math.cos(l).toFixed(9),k=+Math.sin(l).toFixed(9);j.add(i,k,-k,i,a,h);j.add(1,0,0,1,-a,-h)},x:function(e,f){var d=this.matrix;return e*d[0][0]+f*d[0][1]+d[0][2]},y:function(e,f){var d=this.matrix;return e*d[1][0]+f*d[1][1]+d[1][2]},get:function(c,d){return +this.matrix[c][d].toFixed(4)},toString:function(){var b=this;return[b.get(0,0),b.get(0,1),b.get(1,0),b.get(1,1),0,0].join()},toSvg:function(){var b=this;return"matrix("+[b.get(0,0),b.get(1,0),b.get(0,1),b.get(1,1),b.get(0,2),b.get(1,2)].join()+")"},toFilter:function(){var b=this;return"progid:DXImageTransform.Microsoft.Matrix(sizingMethod='auto expand',FilterType=bilinear,M11="+b.get(0,0)+", M12="+b.get(0,1)+", M21="+b.get(1,0)+", M22="+b.get(1,1)+", Dx="+b.get(0,2)+", Dy="+b.get(1,2)+")"},offset:function(){var b=this.matrix;return[(b[0][2]||0).toFixed(4),(b[1][2]||0).toFixed(4)]},split:function(){function i(a){return a[0]*a[0]+a[1]*a[1]}function f(b){var a=Math.sqrt(i(b));b[0]/=a;b[1]/=a}var g=this.matrix,j={translateX:g[0][2],translateY:g[1][2]},h;h=[[g[0][0],g[0][1]],[g[1][0],g[1][1]]];j.scaleX=Math.sqrt(i(h[0]));f(h[0]);j.shear=h[0][0]*h[1][0]+h[0][1]*h[1][1];h[1]=[h[1][0]-h[0][0]*j.shear,h[1][1]-h[0][1]*j.shear];j.scaleY=Math.sqrt(i(h[1]));f(h[1]);j.shear/=j.scaleY;j.rotate=Math.asin(-h[0][1]);j.isSimple=!+j.shear.toFixed(9)&&(j.scaleX.toFixed(9)==j.scaleY.toFixed(9)||!j.rotate);return j}});Ext.define("Ext.draw.SpriteDD",{extend:"Ext.dd.DragSource",constructor:function(e,f){var g=this,h=e.el;g.sprite=e;g.el=h;g.dragData={el:h,sprite:e};g.callParent([h,f]);g.sprite.setStyle("cursor","move")},showFrame:Ext.emptyFn,createFrame:Ext.emptyFn,getDragEl:function(b){return this.el},getRegion:function(){var v=this,y=v.el,t,z,A,r,s,b,B,u,x,e,l;l=v.sprite;e=l.getBBox();try{t=Ext.Element.getXY(y)}catch(w){}if(!t){return null}z=t[0];A=z+e.width;r=t[1];s=r+e.height;return Ext.create("Ext.util.Region",r,A,s,z)},startDrag:function(e,g){var h=this,f=h.sprite.attr;h.prev=h.sprite.surface.transformToViewBox(e,g)},onDrag:function(j){var k=j.getXY(),l=this,m=l.sprite,i=m.attr,n,e;k=l.sprite.surface.transformToViewBox(k[0],k[1]);n=k[0]-l.prev[0];e=k[1]-l.prev[1];m.setAttributes({translate:{x:i.translation.x+n,y:i.translation.y+e}},true);l.prev=k},setDragElPos:function(){return false}});Ext.define("Ext.Shadow",{requires:["Ext.ShadowPool"],constructor:function(f){var j=this,i={h:0},h,g;Ext.apply(j,f);if(!Ext.isString(j.mode)){j.mode=j.defaultMode}h=j.offset;g=Math.floor(h/2);j.opacity=50;switch(j.mode.toLowerCase()){case"drop":if(Ext.supports.CSS3BoxShadow){i.w=i.h=-h;i.l=i.t=h}else{i.w=0;i.l=i.t=h;i.t-=1;if(Ext.isIE){i.l-=h+g;i.t-=h+g;i.w-=g;i.h-=g;i.t+=1}}break;case"sides":if(Ext.supports.CSS3BoxShadow){i.h-=h;i.t=h;i.l=i.w=0}else{i.w=(h*2);i.l=-h;i.t=h-1;if(Ext.isIE){i.l-=(h-g);i.t-=h+g;i.l+=1;i.w-=(h-g)*2;i.w-=g+1;i.h-=1}}break;case"frame":if(Ext.supports.CSS3BoxShadow){i.l=i.w=i.t=0}else{i.w=i.h=(h*2);i.l=i.t=-h;i.t+=1;i.h-=2;if(Ext.isIE){i.l-=(h-g);i.t-=(h-g);i.l+=1;i.w-=(h+g+1);i.h-=(h+g);i.h+=1}break}}j.adjusts=i},offset:4,defaultMode:"drop",show:function(f){var d=this,e;f=Ext.get(f);if(!d.el){d.el=Ext.ShadowPool.pull();if(d.el.dom.nextSibling!=f.dom){d.el.insertBefore(f)}}e=(parseInt(f.getStyle("z-index"),10)-1)||0;d.el.setStyle("z-index",d.zIndex||e);if(Ext.isIE&&!Ext.supports.CSS3BoxShadow){d.el.dom.style.filter="progid:DXImageTransform.Microsoft.alpha(opacity="+d.opacity+") progid:DXImageTransform.Microsoft.Blur(pixelradius="+(d.offset)+")"}d.realign(f.getLeft(true),f.getTop(true),f.dom.offsetWidth,f.dom.offsetHeight);d.el.dom.style.display="block"},isVisible:function(){return this.el?true:false},realign:function(y,d,q,u){if(!this.el){return}var z=this.adjusts,s=this.el.dom,r=s.style,x,v,p,w,t,l;r.left=(y+z.l)+"px";r.top=(d+z.t)+"px";x=Math.max(q+z.w,0);v=Math.max(u+z.h,0);t=x+"px";l=v+"px";if(r.width!=t||r.height!=l){r.width=t;r.height=l;if(Ext.supports.CSS3BoxShadow){r.boxShadow="0 0 "+this.offset+"px 0 #888"}else{if(!Ext.isIE){p=s.childNodes;w=Math.max(0,(x-12))+"px";p[0].childNodes[1].style.width=w;p[1].childNodes[1].style.width=w;p[2].childNodes[1].style.width=w;p[1].style.height=Math.max(0,(v-12))+"px"}}}},hide:function(){var b=this;if(b.el){b.el.dom.style.display="none";Ext.ShadowPool.push(b.el);delete b.el}},setZIndex:function(b){this.zIndex=b;if(this.el){this.el.setStyle("z-index",b)}},setOpacity:function(b){if(this.el){if(Ext.isIE&&!Ext.supports.CSS3BoxShadow){b=Math.floor(b*100/2)/100}this.opacity=b;this.el.setOpacity(b)}}});Ext.define("Ext.draw.Sprite",{mixins:{observable:"Ext.util.Observable",animate:"Ext.util.Animate"},requires:["Ext.draw.SpriteDD"],dirty:false,dirtyHidden:false,dirtyTransform:false,dirtyPath:true,dirtyFont:true,zIndexDirty:true,isSprite:true,zIndex:0,fontProperties:["font","font-size","font-weight","font-style","font-family","text-anchor","text"],pathProperties:["x","y","d","path","height","width","radius","r","rx","ry","cx","cy"],constructor:function(d){var c=this;d=d||{};c.id=Ext.id(null,"ext-sprite-");c.transformations=[];Ext.copyTo(this,d,"surface,group,type,draggable");c.bbox={};c.attr={zIndex:0,translation:{x:null,y:null},rotation:{degrees:null,x:null,y:null},scaling:{x:null,y:null,cx:null,cy:null}};delete d.surface;delete d.group;delete d.type;delete d.draggable;c.setAttributes(d);c.addEvents("beforedestroy","destroy","render","mousedown","mouseup","mouseover","mouseout","mousemove","click");c.mixins.observable.constructor.apply(this,arguments)},initDraggable:function(){var b=this;b.draggable=true;if(!b.el){b.surface.createSpriteElement(b)}b.dd=Ext.create("Ext.draw.SpriteDD",b,Ext.isBoolean(b.draggable)?null:b.draggable);b.on("beforedestroy",b.dd.destroy,b.dd)},setAttributes:function(B,y){var t=this,C=t.fontProperties,v=C.length,E=t.pathProperties,F=E.length,u=!!t.surface,J=u&&t.surface.customAttributes||{},I=t.attr,A,x,D,H,w,z,i,G;B=Ext.apply({},B);for(A in J){if(B.hasOwnProperty(A)&&typeof J[A]=="function"){Ext.apply(B,J[A].apply(t,[].concat(B[A])))}}if(!!B.hidden!==!!I.hidden){t.dirtyHidden=true}for(x=0;x<F;x++){A=E[x];if(A in B&&B[A]!==I[A]){t.dirtyPath=true;break}}if("zIndex" in B){t.zIndexDirty=true}for(x=0;x<v;x++){A=C[x];if(A in B&&B[A]!==I[A]){t.dirtyFont=true;break}}D=B.translate;H=I.translation;if(D){if((D.x&&D.x!==H.x)||(D.y&&D.y!==H.y)){Ext.apply(H,D);t.dirtyTransform=true}delete B.translate}w=B.rotate;z=I.rotation;if(w){if((w.x&&w.x!==z.x)||(w.y&&w.y!==z.y)||(w.degrees&&w.degrees!==z.degrees)){Ext.apply(z,w);t.dirtyTransform=true}delete B.rotate}i=B.scale;G=I.scaling;if(i){if((i.x&&i.x!==G.x)||(i.y&&i.y!==G.y)||(i.cx&&i.cx!==G.cx)||(i.cy&&i.cy!==G.cy)){Ext.apply(G,i);t.dirtyTransform=true}delete B.scale}Ext.apply(I,B);t.dirty=true;if(y===true&&u){t.redraw()}return this},getBBox:function(){return this.surface.getBBox(this)},setText:function(b){return this.surface.setText(this,b)},hide:function(b){this.setAttributes({hidden:true},b);return this},show:function(b){this.setAttributes({hidden:false},b);return this},remove:function(){if(this.surface){this.surface.remove(this);return true}return false},onRemove:function(){this.surface.onRemove(this)},destroy:function(){var b=this;if(b.fireEvent("beforedestroy",b)!==false){b.remove();b.surface.onDestroy(b);b.clearListeners();b.fireEvent("destroy")}},redraw:function(){this.surface.renderItem(this);return this},setStyle:function(){this.el.setStyle.apply(this.el,arguments);return this},addCls:function(b){this.surface.addCls(this,b);return this},removeCls:function(b){this.surface.removeCls(this,b);return this}});Ext.define("Ext.draw.engine.Svg",{extend:"Ext.draw.Surface",requires:["Ext.draw.Draw","Ext.draw.Sprite","Ext.draw.Matrix","Ext.Element"],engine:"Svg",trimRe:/^\s+|\s+$/g,spacesRe:/\s+/,xlink:"http://www.w3.org/1999/xlink",translateAttrs:{radius:"r",radiusX:"rx",radiusY:"ry",path:"d",lineWidth:"stroke-width",fillOpacity:"fill-opacity",strokeOpacity:"stroke-opacity",strokeLinejoin:"stroke-linejoin"},parsers:{},minDefaults:{circle:{cx:0,cy:0,r:0,fill:"none",stroke:null,"stroke-width":null,opacity:null,"fill-opacity":null,"stroke-opacity":null},ellipse:{cx:0,cy:0,rx:0,ry:0,fill:"none",stroke:null,"stroke-width":null,opacity:null,"fill-opacity":null,"stroke-opacity":null},rect:{x:0,y:0,width:0,height:0,rx:0,ry:0,fill:"none",stroke:null,"stroke-width":null,opacity:null,"fill-opacity":null,"stroke-opacity":null},text:{x:0,y:0,"text-anchor":"start","font-family":null,"font-size":null,"font-weight":null,"font-style":null,fill:"#000",stroke:null,"stroke-width":null,opacity:null,"fill-opacity":null,"stroke-opacity":null},path:{d:"M0,0",fill:"none",stroke:null,"stroke-width":null,opacity:null,"fill-opacity":null,"stroke-opacity":null},image:{x:0,y:0,width:0,height:0,preserveAspectRatio:"none",opacity:null}},createSvgElement:function(g,f){var h=this.domRef.createElementNS("http://www.w3.org/2000/svg",g),e;if(f){for(e in f){h.setAttribute(e,String(f[e]))}}return h},createSpriteElement:function(d){var c=this.createSvgElement(d.type);c.id=d.id;if(c.style){c.style.webkitTapHighlightColor="rgba(0,0,0,0)"}d.el=Ext.get(c);this.applyZIndex(d);d.matrix=Ext.create("Ext.draw.Matrix");d.bbox={plain:0,transform:0};d.fireEvent("render",d);return c},getBBox:function(e,d){var f=this["getPath"+e.type](e);if(d){e.bbox.plain=e.bbox.plain||Ext.draw.Draw.pathDimensions(f);return e.bbox.plain}e.bbox.transform=e.bbox.transform||Ext.draw.Draw.pathDimensions(Ext.draw.Draw.mapPath(f,e.matrix));return e.bbox.transform},getBBoxText:function(l){var i={},n,e,r,p,m,q;if(l&&l.el){q=l.el.dom;try{i=q.getBBox();return i}catch(o){}i={x:i.x,y:Infinity,width:0,height:0};m=q.getNumberOfChars();for(p=0;p<m;p++){n=q.getExtentOfChar(p);i.y=Math.min(n.y,i.y);e=n.y+n.height-i.y;i.height=Math.max(i.height,e);r=n.x+n.width-i.x;i.width=Math.max(i.width,r)}return i}},hide:function(){Ext.get(this.el).hide()},show:function(){Ext.get(this.el).show()},hidePrim:function(b){this.addCls(b,Ext.baseCSSPrefix+"hide-visibility")},showPrim:function(b){this.removeCls(b,Ext.baseCSSPrefix+"hide-visibility")},getDefs:function(){return this._defs||(this._defs=this.createSvgElement("defs"))},transform:function(o){var l=this,j=Ext.create("Ext.draw.Matrix"),m=o.transformations,k=m.length,p=0,i,n;for(;p<k;p++){i=m[p];n=i.type;if(n=="translate"){j.translate(i.x,i.y)}else{if(n=="rotate"){j.rotate(i.degrees,i.x,i.y)}else{if(n=="scale"){j.scale(i.x,i.y,i.centerX,i.centerY)}}}}o.matrix=j;o.el.set({transform:j.toSvg()})},setSize:function(f,h){var g=this,e=g.el;f=+f||g.width;h=+h||g.height;g.width=f;g.height=h;e.setSize(f,h);e.set({width:f,height:h});g.callParent([f,h])},getRegion:function(){var h=this.el.getXY(),j=this.bgRect.getXY(),f=Math.max,g=f(h[0],j[0]),i=f(h[1],j[1]);return{left:g,top:i,right:g+this.width,bottom:i+this.height}},onRemove:function(b){if(b.el){b.el.remove();delete b.el}this.callParent(arguments)},setViewBox:function(e,g,h,f){if(isFinite(e)&&isFinite(g)&&isFinite(h)&&isFinite(f)){this.callParent(arguments);this.el.dom.setAttribute("viewBox",[e,g,h,f].join(" "))}},render:function(p){var m=this;if(!m.el){var n=m.width||10,i=m.height||10,o=m.createSvgElement("svg",{xmlns:"http://www.w3.org/2000/svg",version:1.1,width:n,height:i}),j=m.getDefs(),l=m.createSvgElement("rect",{width:"100%",height:"100%",fill:"#000",stroke:"none",opacity:0}),k;if(Ext.isSafari3){k=m.createSvgElement("rect",{x:-10,y:-10,width:"110%",height:"110%",fill:"none",stroke:"#000"})}o.appendChild(j);if(Ext.isSafari3){o.appendChild(k)}o.appendChild(l);p.appendChild(o);m.el=Ext.get(o);m.bgRect=Ext.get(l);if(Ext.isSafari3){m.webkitRect=Ext.get(k);m.webkitRect.hide()}m.el.on({scope:m,mouseup:m.onMouseUp,mousedown:m.onMouseDown,mouseover:m.onMouseOver,mouseout:m.onMouseOut,mousemove:m.onMouseMove,mouseenter:m.onMouseEnter,mouseleave:m.onMouseLeave,click:m.onClick})}m.renderAll()},onMouseEnter:function(b){if(this.el.parent().getRegion().contains(b.getPoint())){this.fireEvent("mouseenter",b)}},onMouseLeave:function(b){if(!this.el.parent().getRegion().contains(b.getPoint())){this.fireEvent("mouseleave",b)}},processEvent:function(e,h){var i=h.getTarget(),g=this.surface,j;this.fireEvent(e,h);if(i.nodeName=="tspan"&&i.parentNode){i=i.parentNode}j=this.items.get(i.id);if(j){j.fireEvent(e,j,h)}},tuneText:function(o,n){var v=o.el.dom,u=[],i,p,m,s,r,t,q;if(n.hasOwnProperty("text")){u=this.setText(o,n.text)}if(u.length){i=this.getBBoxText(o).height;for(s=0,r=u.length;s<r;s++){q=(Ext.isFF3_0||Ext.isFF3_5)?2:4;u[s].setAttribute("dy",s?i*1.2:i/q)}o.dirty=true}},setText:function(o,u){var r=this,x=o.el.dom,p=x.getAttribute("x"),w=[],i,q,n,t,s,v;while(x.firstChild){x.removeChild(x.firstChild)}v=String(u).split("\n");for(t=0,s=v.length;t<s;t++){n=v[t];if(n){q=r.createSvgElement("tspan");q.appendChild(document.createTextNode(Ext.htmlDecode(n)));q.setAttribute("x",p);x.appendChild(q);w[t]=q}}return w},renderAll:function(){this.items.each(this.renderItem,this)},renderItem:function(b){if(!this.el){return}if(!b.el){this.createSpriteElement(b)}if(b.zIndexDirty){this.applyZIndex(b)}if(b.dirty){this.applyAttrs(b);this.applyTransformations(b)}},redraw:function(b){b.dirty=b.zIndexDirty=true;this.renderItem(b)},applyAttrs:function(s){var x=this,F=s.el,t=s.group,A=s.attr,i=x.parsers,C=x.gradientsMap||{},z=Ext.isSafari&&!Ext.isStrict,D,B,y,u,E,v,G,H,w;if(t){D=[].concat(t);y=D.length;for(B=0;B<y;B++){t=D[B];x.getGroup(t).add(s)}delete s.group}u=x.scrubAttrs(s)||{};s.bbox.plain=0;s.bbox.transform=0;if(s.type=="circle"||s.type=="ellipse"){u.cx=u.cx||u.x;u.cy=u.cy||u.y}else{if(s.type=="rect"){u.rx=u.ry=u.r}else{if(s.type=="path"&&u.d){u.d=Ext.draw.Draw.pathToString(Ext.draw.Draw.pathToAbsolute(u.d))}}}s.dirtyPath=false;if(u["clip-rect"]){x.setClip(s,u);delete u["clip-rect"]}if(s.type=="text"&&u.font&&s.dirtyFont){F.set({style:"font: "+u.font});s.dirtyFont=false}if(s.type=="image"){F.dom.setAttributeNS(x.xlink,"href",u.src)}Ext.applyIf(u,x.minDefaults[s.type]);if(s.dirtyHidden){(A.hidden)?x.hidePrim(s):x.showPrim(s);s.dirtyHidden=false}for(v in u){if(u.hasOwnProperty(v)&&u[v]!=null){if(z&&("color|stroke|fill".indexOf(v)>-1)&&(u[v] in C)){u[v]=C[u[v]]}if(v in i){F.dom.setAttribute(v,i[v](u[v],s,x))}else{F.dom.setAttribute(v,u[v])}}}if(s.type=="text"){x.tuneText(s,u)}G=A.style;if(G){F.setStyle(G)}s.dirty=false;if(Ext.isSafari3){x.webkitRect.show();setTimeout(function(){x.webkitRect.hide()})}},setClip:function(g,i){var j=this,k=i["clip-rect"],h,l;if(k){if(g.clip){g.clip.parentNode.parentNode.removeChild(g.clip.parentNode)}h=j.createSvgElement("clipPath");l=j.createSvgElement("rect");h.id=Ext.id(null,"ext-clip-");l.setAttribute("x",k.x);l.setAttribute("y",k.y);l.setAttribute("width",k.width);l.setAttribute("height",k.height);h.appendChild(l);j.getDefs().appendChild(h);g.el.dom.setAttribute("clip-path","url(#"+h.id+")");g.clip=l}},applyZIndex:function(k){var i=this,g=i.items,h=g.indexOf(k),j=k.el,l;if(i.el.dom.childNodes[h+2]!==j.dom){if(h>0){do{l=g.getAt(--h).el}while(!l&&h>0)}j.insertAfter(l||i.bgRect)}k.zIndexDirty=false},createItem:function(d){var c=Ext.create("Ext.draw.Sprite",d);c.surface=this;return c},addGradient:function(n){n=Ext.draw.Draw.parseGradient(n);var p=this,q=n.stops.length,t=n.vector,i=Ext.isSafari&&!Ext.isStrict,m,o,l,r,s;s=p.gradientsMap||{};if(!i){if(n.type=="linear"){m=p.createSvgElement("linearGradient");m.setAttribute("x1",t[0]);m.setAttribute("y1",t[1]);m.setAttribute("x2",t[2]);m.setAttribute("y2",t[3])}else{m=p.createSvgElement("radialGradient");m.setAttribute("cx",n.centerX);m.setAttribute("cy",n.centerY);m.setAttribute("r",n.radius);if(Ext.isNumber(n.focalX)&&Ext.isNumber(n.focalY)){m.setAttribute("fx",n.focalX);m.setAttribute("fy",n.focalY)}}m.id=n.id;p.getDefs().appendChild(m);for(r=0;r<q;r++){o=n.stops[r];l=p.createSvgElement("stop");l.setAttribute("offset",o.offset+"%");l.setAttribute("stop-color",o.color);l.setAttribute("stop-opacity",o.opacity);m.appendChild(l)}}else{s["url(#"+n.id+")"]=n.stops[0].color}p.gradientsMap=s},hasCls:function(d,c){return c&&(" "+(d.el.dom.getAttribute("class")||"")+" ").indexOf(" "+c+" ")!=-1},addCls:function(n,l){var m=n.el,o,j,p,i=[],k=m.getAttribute("class")||"";if(!Ext.isArray(l)){if(typeof l=="string"&&!this.hasCls(n,l)){m.set({"class":k+" "+l})}}else{for(o=0,j=l.length;o<j;o++){p=l[o];if(typeof p=="string"&&(" "+k+" ").indexOf(" "+p+" ")==-1){i.push(p)}}if(i.length){m.set({"class":" "+i.join(" ")})}}},removeCls:function(l,o){var n=this,s=l.el,q=s.getAttribute("class")||"",r,m,p,i,t;if(!Ext.isArray(o)){o=[o]}if(q){t=q.replace(n.trimRe," ").split(n.spacesRe);for(r=0,p=o.length;r<p;r++){i=o[r];if(typeof i=="string"){i=i.replace(n.trimRe,"");m=Ext.Array.indexOf(t,i);if(m!=-1){Ext.Array.erase(t,m,1)}}}s.set({"class":t.join(" ")})}},destroy:function(){var b=this;b.callParent();if(b.el){b.el.remove()}delete b.el}});Ext.define("Ext.draw.engine.Vml",{extend:"Ext.draw.Surface",requires:["Ext.draw.Draw","Ext.draw.Color","Ext.draw.Sprite","Ext.draw.Matrix","Ext.Element"],engine:"Vml",map:{M:"m",L:"l",C:"c",Z:"x",m:"t",l:"r",c:"v",z:"x"},bitesRe:/([clmz]),?([^clmz]*)/gi,valRe:/-?[^,\s-]+/g,fillUrlRe:/^url\(\s*['"]?([^\)]+?)['"]?\s*\)$/i,pathlike:/^(path|rect)$/,NonVmlPathRe:/[ahqstv]/ig,partialPathRe:/[clmz]/g,fontFamilyRe:/^['"]+|['"]+$/g,baseVmlCls:Ext.baseCSSPrefix+"vml-base",vmlGroupCls:Ext.baseCSSPrefix+"vml-group",spriteCls:Ext.baseCSSPrefix+"vml-sprite",measureSpanCls:Ext.baseCSSPrefix+"vml-measure-span",zoom:21600,coordsize:1000,coordorigin:"0 0",orderSpritesByZIndex:false,path2vml:function(F){var r=this,E=r.NonVmlPathRe,C=r.map,z=r.valRe,i=r.zoom,A=r.bitesRe,y=Ext.Function.bind(Ext.draw.Draw.pathToAbsolute,Ext.draw.Draw),u,p,B,D,w,j,x,v;if(String(F).match(E)){y=Ext.Function.bind(Ext.draw.Draw.path2curve,Ext.draw.Draw)}else{if(!String(F).match(r.partialPathRe)){u=String(F).replace(A,function(e,a,c){var b=[],d=a.toLowerCase()=="m",f=C[a];c.replace(z,function(g){if(d&&b[length]==2){f+=b+C[a=="m"?"l":"L"];b=[]}b.push(Math.round(g*i))});return f+b});return u}}p=y(F);u=[];for(w=0,j=p.length;w<j;w++){B=p[w];D=p[w][0].toLowerCase();if(D=="z"){D="x"}for(x=1,v=B.length;x<v;x++){D+=Math.round(B[x]*r.zoom)+(x!=v-1?",":"")}u.push(D)}return u.join(" ")},translateAttrs:{radius:"r",radiusX:"rx",radiusY:"ry",lineWidth:"stroke-width",fillOpacity:"fill-opacity",strokeOpacity:"stroke-opacity",strokeLinejoin:"stroke-linejoin"},minDefaults:{circle:{fill:"none",stroke:null,"stroke-width":null,opacity:null,"fill-opacity":null,"stroke-opacity":null},ellipse:{cx:0,cy:0,rx:0,ry:0,fill:"none",stroke:null,"stroke-width":null,opacity:null,"fill-opacity":null,"stroke-opacity":null},rect:{x:0,y:0,width:0,height:0,rx:0,ry:0,fill:"none",stroke:null,"stroke-width":null,opacity:null,"fill-opacity":null,"stroke-opacity":null},text:{x:0,y:0,"text-anchor":"start",font:'10px "Arial"',fill:"#000",stroke:null,"stroke-width":null,opacity:null,"fill-opacity":null,"stroke-opacity":null},path:{d:"M0,0",fill:"none",stroke:null,"stroke-width":null,opacity:null,"fill-opacity":null,"stroke-opacity":null},image:{x:0,y:0,width:0,height:0,preserveAspectRatio:"none",opacity:null}},onMouseEnter:function(b){this.fireEvent("mouseenter",b)},onMouseLeave:function(b){this.fireEvent("mouseleave",b)},processEvent:function(e,h){var i=h.getTarget(),g=this.surface,j;this.fireEvent(e,h);j=this.items.get(i.id);if(j){j.fireEvent(e,j,h)}},createSpriteElement:function(p){var r=this,s=p.attr,q=p.type,n=r.zoom,u=p.vml||(p.vml={}),m=Math.round,t=r.createNode("shape"),l,o,v;t.coordsize=n+" "+n;t.coordorigin=s.coordorigin||"0 0";Ext.get(t).addCls(r.spriteCls);if(q=="text"){u.path=l=r.createNode("path");l.textpathok=true;u.textpath=v=r.createNode("textpath");v.on=true;t.appendChild(v);t.appendChild(l)}t.id=p.id;p.el=Ext.get(t);r.el.appendChild(t);if(q!=="image"){o=r.createNode("skew");o.on=true;t.appendChild(o);p.skew=o}p.matrix=Ext.create("Ext.draw.Matrix");p.bbox={plain:null,transform:null};p.fireEvent("render",p);return p.el},getBBox:function(e,d){var f=this["getPath"+e.type](e);if(d){e.bbox.plain=e.bbox.plain||Ext.draw.Draw.pathDimensions(f);return e.bbox.plain}e.bbox.transform=e.bbox.transform||Ext.draw.Draw.pathDimensions(Ext.draw.Draw.mapPath(f,e.matrix));return e.bbox.transform},getBBoxText:function(c){var d=c.vml;return{x:d.X+(d.bbx||0)-d.W/2,y:d.Y-d.H/2,width:d.W,height:d.H}},applyAttrs:function(C){var w=this,K=C.vml,F=C.group,M=C.attr,L=C.el,A=L.dom,z,i,x,B,E,y,D,v,N;if(F){x=[].concat(F);E=x.length;for(B=0;B<E;B++){F=x[B];w.getGroup(F).add(C)}delete C.group}y=w.scrubAttrs(C)||{};if(C.zIndexDirty){w.setZIndex(C)}Ext.applyIf(y,w.minDefaults[C.type]);if(A.href){A.href=y.href}if(A.title){A.title=y.title}if(A.target){A.target=y.target}if(A.cursor){A.cursor=y.cursor}if(C.dirtyHidden){(y.hidden)?w.hidePrim(C):w.showPrim(C);C.dirtyHidden=false}if(C.dirtyPath){if(C.type=="circle"||C.type=="ellipse"){var I=y.x,J=y.y,G=y.rx||y.r||0,H=y.ry||y.r||0;A.path=Ext.String.format("ar{0},{1},{2},{3},{4},{1},{4},{1}",Math.round((I-G)*w.zoom),Math.round((J-H)*w.zoom),Math.round((I+G)*w.zoom),Math.round((J+H)*w.zoom),Math.round(I*w.zoom));C.dirtyPath=false}else{if(C.type!=="text"){C.attr.path=y.path=w.setPaths(C,y)||y.path;A.path=w.path2vml(y.path);C.dirtyPath=false}}}if("clip-rect" in y){w.setClip(C,y)}if(C.type=="text"){w.setTextAttributes(C,y)}if(C.type=="image"||y.opacity||y["fill-opacity"]||y.fill){w.setFill(C,y)}if(y.stroke||y["stroke-opacity"]||y.fill){w.setStroke(C,y)}z=M.style;if(z){L.setStyle(z)}C.dirty=false},setZIndex:function(b){if(b.el){if(b.attr.zIndex!=undefined){b.el.setStyle("zIndex",b.attr.zIndex)}b.zIndexDirty=false}},setPaths:function(d,f){var e=d.attr;d.bbox.plain=null;d.bbox.transform=null;if(d.type=="circle"){e.rx=e.ry=f.r;return Ext.draw.Draw.ellipsePath(d)}else{if(d.type=="ellipse"){e.rx=f.rx;e.ry=f.ry;return Ext.draw.Draw.ellipsePath(d)}else{if(d.type=="rect"||d.type=="image"){e.rx=e.ry=f.r;return Ext.draw.Draw.rectPath(d)}else{if(d.type=="path"&&e.path){return Ext.draw.Draw.pathToAbsolute(e.path)}}}}return false},setFill:function(m,s){var p=this,u=m.el,r=u.dom,n=r.getElementsByTagName("fill")[0],q,o,v,l,t;if(n){r.removeChild(n)}else{n=p.createNode("fill")}if(Ext.isArray(s.fill)){s.fill=s.fill[0]}if(m.type=="image"){n.on=true;n.src=s.src;n.type="tile";n.rotate=true}else{if(s.fill=="none"){n.on=false}else{if(typeof s.opacity=="number"){n.opacity=s.opacity}if(typeof s["fill-opacity"]=="number"){n.opacity=s["fill-opacity"]}n.on=true;if(typeof s.fill=="string"){v=s.fill.match(p.fillUrlRe);if(v){v=v[1];if(v.charAt(0)=="#"){o=p.gradientsColl.getByKey(v.substring(1))}if(o){l=s.rotation;t=-(o.angle+270+(l?l.degrees:0))%360;if(t===0){t=180}n.angle=t;n.type="gradient";n.method="sigma";n.colors=o.colors}else{n.src=v;n.type="tile";n.rotate=true}}else{n.color=Ext.draw.Color.toHex(s.fill)||s.fill;n.src="";n.type="solid"}}}}r.appendChild(n)},setStroke:function(i,l){var n=this,o=i.el.dom,k=i.strokeEl,m=false,p,j;if(!k){k=i.strokeEl=n.createNode("stroke");m=true}if(Ext.isArray(l.stroke)){l.stroke=l.stroke[0]}if(!l.stroke||l.stroke=="none"||l.stroke==0||l["stroke-width"]==0){k.on=false}else{k.on=true;if(l.stroke&&!l.stroke.match(n.fillUrlRe)){k.color=Ext.draw.Color.toHex(l.stroke)}k.joinstyle=l["stroke-linejoin"];k.endcap=l["stroke-linecap"]||"round";k.miterlimit=l["stroke-miterlimit"]||8;p=parseFloat(l["stroke-width"]||1)*0.75;j=l["stroke-opacity"]||1;if(Ext.isNumber(p)&&p<1){k.weight=1;k.opacity=j*p}else{k.weight=p;k.opacity=j}}if(m){o.appendChild(k)}},setClip:function(g,i){var j=this,l=g.el,h=g.clipEl,k=String(i["clip-rect"]).split(j.separatorRe);if(!h){h=g.clipEl=j.el.insertFirst(Ext.getDoc().dom.createElement("div"));h.addCls(Ext.baseCSSPrefix+"vml-sprite")}if(k.length==4){k[2]=+k[2]+(+k[0]);k[3]=+k[3]+(+k[1]);h.setStyle("clip",Ext.String.format("rect({1}px {2}px {3}px {0}px)",k[0],k[1],k[2],k[3]));h.setSize(j.el.width,j.el.height)}else{h.setStyle("clip","")}},setTextAttributes:function(o,t){var p=this,v=o.vml,r=v.textpath.style,q=p.span.style,n=p.zoom,m=Math.round,l={fontSize:"font-size",fontWeight:"font-weight",fontStyle:"font-style"},u,s;if(o.dirtyFont){if(t.font){r.font=q.font=t.font}if(t["font-family"]){r.fontFamily='"'+t["font-family"].split(",")[0].replace(p.fontFamilyRe,"")+'"';q.fontFamily=t["font-family"]}for(u in l){s=t[l[u]];if(s){r[u]=q[u]=s}}p.setText(o,t.text);if(v.textpath.string){p.span.innerHTML=String(v.textpath.string).replace(/</g,"<").replace(/&/g,"&").replace(/\n/g,"<br>")}v.W=p.span.offsetWidth;v.H=p.span.offsetHeight+2;if(t["text-anchor"]=="middle"){r["v-text-align"]="center"}else{if(t["text-anchor"]=="end"){r["v-text-align"]="right";v.bbx=-Math.round(v.W/2)}else{r["v-text-align"]="left";v.bbx=Math.round(v.W/2)}}}v.X=t.x;v.Y=t.y;v.path.v=Ext.String.format("m{0},{1}l{2},{1}",Math.round(v.X*n),Math.round(v.Y*n),Math.round(v.X*n)+1);o.bbox.plain=null;o.bbox.transform=null;o.dirtyFont=false},setText:function(d,c){d.vml.textpath.string=Ext.htmlDecode(c)},hide:function(){this.el.hide()},show:function(){this.el.show()},hidePrim:function(b){b.el.addCls(Ext.baseCSSPrefix+"hide-visibility")},showPrim:function(b){b.el.removeCls(Ext.baseCSSPrefix+"hide-visibility")},setSize:function(d,e){var f=this;d=d||f.width;e=e||f.height;f.width=d;f.height=e;if(f.el){if(d!=undefined){f.el.setWidth(d)}if(e!=undefined){f.el.setHeight(e)}f.applyViewBox();f.callParent(arguments)}},setViewBox:function(e,g,h,f){this.callParent(arguments);this.viewBox={x:e,y:g,width:h,height:f};this.applyViewBox()},applyViewBox:function(){var s=this,l=s.viewBox,v=s.width,p=s.height,q,r,n,u,o,t,m;if(l&&(v||p)){q=l.x;r=l.y;n=l.width;u=l.height;o=p/u;t=v/n;if(n*o<v){q-=(v-n*o)/2/o}if(u*t<p){r-=(p-u*t)/2/t}m=1/Math.max(n/v,u/p);s.viewBoxShift={dx:-q,dy:-r,scale:m};s.items.each(function(a){s.transform(a)})}},onAdd:function(b){this.callParent(arguments);if(this.el){this.renderItem(b)}},onRemove:function(b){if(b.el){b.el.remove();delete b.el}this.callParent(arguments)},createNode:(function(){try{var c=Ext.getDoc().dom;if(!c.namespaces.rvml){c.namespaces.add("rvml","urn:schemas-microsoft-com:vml")}return function(a){return c.createElement("<rvml:"+a+' class="rvml">')}}catch(d){return function(a){return c.createElement("<"+a+' xmlns="urn:schemas-microsoft.com:vml" class="rvml">')}}})(),render:function(f){var h=this,g=Ext.getDoc().dom;if(!h.el){var e=g.createElement("div");h.el=Ext.get(e);h.el.addCls(h.baseVmlCls);h.span=g.createElement("span");Ext.get(h.span).addCls(h.measureSpanCls);e.appendChild(h.span);h.el.setSize(h.width||10,h.height||10);f.appendChild(e);h.el.on({scope:h,mouseup:h.onMouseUp,mousedown:h.onMouseDown,mouseover:h.onMouseOver,mouseout:h.onMouseOut,mousemove:h.onMouseMove,mouseenter:h.onMouseEnter,mouseleave:h.onMouseLeave,click:h.onClick})}h.renderAll()},renderAll:function(){this.items.each(this.renderItem,this)},redraw:function(b){b.dirty=true;this.renderItem(b)},renderItem:function(b){if(!this.el){return}if(!b.el){this.createSpriteElement(b)}if(b.dirty){this.applyAttrs(b);if(b.dirtyTransform){this.applyTransformations(b)}}},rotationCompensation:function(g,h,f){var e=Ext.create("Ext.draw.Matrix");e.rotate(-g,0.5,0.5);return{x:e.x(h,f),y:e.y(h,f)}},extractTransform:function(i){var l=this,k=Ext.create("Ext.draw.Matrix"),n,p,r,o,m=0,q=l.viewBoxShift;for(p=i.transformations,r=p.length;m<r;m++){o=p[m];switch(o.type){case"translate":k.translate(o.x,o.y);break;case"rotate":k.rotate(o.degrees,o.x,o.y);break;case"scale":k.scale(o.x||o.scale,o.y||o.scale,o.centerX,o.centerY);break}}if(q){k.add(1,0,0,1,q.dx,q.dy);k.prepend(q.scale,0,0,q.scale,0,0)}return i.matrix=k},setSimpleCoords:function(t,v,w,q,r,B){var x=this,u=t.matrix,C=t.el.dom,F=C.style,D=1,A="",s=C.getElementsByTagName("fill")[0],y=x.zoom/v,z=x.zoom/w,E;if(!v||!w){return}C.coordsize=Math.abs(y)+" "+Math.abs(z);F.rotation=B*(v*w<0?-1:1);if(B){E=x.rotationCompensation(B,q,r);q=E.x;r=E.y}if(v<0){A+="x"}if(w<0){A+=" y";D=-1}F.flip=A;C.coordorigin=(q*-y)+" "+(r*-z);if(s){C.removeChild(s);E=x.rotationCompensation(B,u.x(t.x,t.y),u.y(t.x,t.y));s.position=E.x*D+" "+E.y*D;s.size=t.width*Math.abs(v)+" "+t.height*Math.abs(w);C.appendChild(s)}},transform:function(v){var y=this,E=v.el,r=v.skew,C=E.dom,B=C.style,w=y.extractTransform(v).clone(),x,s=y.zoom,t=C.getElementsByTagName("fill")[0],F=!String(v.fill).indexOf("url("),D,z;if(v.type!="image"&&r&&!F){r.matrix=w.toString();D=w.offset();if(D[0]>32767){D[0]=32767}else{if(D[0]<-32768){D[0]=-32768}}if(D[1]>32767){D[1]=32767}else{if(D[1]<-32768){D[1]=-32768}}r.offset=D}else{if(r){r.matrix="1 0 0 1";r.offset="0 0"}x=w.split();if(x.isSimple){B.filter="";y.setSimpleCoords(v,x.scaleX,x.scaleY,x.translateX,x.translateY,x.rotate/Math.PI*180)}else{B.filter=w.toFilter();var A=y.getBBox(v),c=A.x-v.x,u=A.y-v.y;C.coordorigin=(c*-s)+" "+(u*-s);if(t){C.removeChild(t);t.position=c+" "+u;t.size=v.width*v.scale.x+" "+v.height*1.1;C.appendChild(t)}}}},createItem:function(b){return Ext.create("Ext.draw.Sprite",b)},getRegion:function(){return this.el.getRegion()},addCls:function(d,c){if(d&&d.el){d.el.addCls(c)}},removeCls:function(d,c){if(d&&d.el){d.el.removeCls(c)}},addGradient:function(g){var f=this.gradientsColl||(this.gradientsColl=Ext.create("Ext.util.MixedCollection")),e=[],h=Ext.create("Ext.util.MixedCollection");h.addAll(g.stops);h.sortByKey("ASC",function(a,b){a=parseInt(a,10);b=parseInt(b,10);return a>b?1:(a<b?-1:0)});h.eachKey(function(a,b){e.push(a+"% "+b.color)});f.add(g.id,{colors:e.join(","),angle:g.angle})},destroy:function(){var b=this;b.callParent(arguments);if(b.el){b.el.remove()}delete b.el}});Ext.define("Docs.controller.InlineExamples",{extend:"Ext.app.Controller",init:function(){this.control({"inlineexample [cmpName=code]":{activate:function(c){this.activateTab(c,"code");var d=c.up("inlineexample").editor;d.refresh();d.refresh()}},"inlineexample [cmpName=preview]":{activate:function(b){this.activateTab(b,"preview")}},"inlineexample toolbar button[iconCls=code]":{click:function(b){b.up("inlineexample").showCode()}},"inlineexample toolbar button[iconCls=preview]":{click:function(b){b.up("inlineexample").showPreview()}},"inlineexample toolbar button[iconCls=copy]":{click:function(b){b.up("inlineexample").showCode();b.up("inlineexample").editor.selectAll()}},classoverview:{resize:this.createResizer(".class-overview"),afterload:this.replaceExampleDivs},guidecontainer:{resize:this.createResizer(".guide-container"),afterload:this.replaceExampleDivs}})},createResizer:function(b){return function(){Ext.Array.each(Ext.ComponentQuery.query(b+" .inlineexample"),function(a){if(a.editor&&a.isVisible()){a.doLayout();a.editor.refresh()}})}},activateTab:function(d,c){Ext.Array.each(d.up("inlineexample").query("toolbar button"),function(a){a.removeCls("active")});Ext.Array.each(d.up("inlineexample").query("toolbar button[iconCls="+c+"]"),function(a){a.addCls("active")})},replaceExampleDivs:function(){Ext.Array.each(Ext.query(".inline-example"),function(j){var f=Ext.String.htmlDecode(Ext.util.Format.stripTags(j.innerHTML));var g={};Ext.Array.forEach(j.className.split(/ +/),function(a){if(a==="phone"||a==="miniphone"||a==="tablet"){g.device=a}else{if(a==="ladscape"||a==="portrait"){g.orientation=a}else{g[a]=true}}});var h=document.createElement("div");j.parentNode.replaceChild(h,j);var i=Ext.create("Docs.view.examples.Inline",{height:200,renderTo:h,value:f,options:g})},this)}});Ext.define("Docs.controller.Tabs",{extend:"Ext.app.Controller",requires:["Docs.History","Docs.Settings"],refs:[{ref:"welcomeIndex",selector:"#welcomeindex"},{ref:"classIndex",selector:"#classindex"},{ref:"guideIndex",selector:"#guideindex"},{ref:"videoIndex",selector:"#videoindex"},{ref:"exampleIndex",selector:"#exampleindex"},{ref:"classTree",selector:"#classtree"},{ref:"guideTree",selector:"#guidetree"},{ref:"exampleTree",selector:"#exampletree"},{ref:"videoTree",selector:"#videotree"},{ref:"doctabs",selector:"#doctabs"}],scrollState:{},init:function(){this.getController("Classes").addListener({showClass:function(b){this.addTabFromTree("#!/api/"+b)},scope:this});this.getController("Guides").addListener({showGuide:function(b){this.addTabFromTree("#!/guide/"+b)},scope:this});this.getController("Examples").addListener({showExample:function(b){this.addTabFromTree(b)},scope:this});this.getController("Videos").addListener({showVideo:function(b){this.addTabFromTree(b)},scope:this});this.control({"container [componentCls=doctabs]":{afterrender:function(b){this.addTabIconListeners(b);this.addTabListeners(b);b.el.on("mouseleave",function(){if(b.shouldResize){b.resizeTabs({animate:true})}})},resize:function(){Ext.getCmp("doctabs").refresh()},scope:this},"#tabOverflowMenu menuitem":{click:function(b){Docs.History.push(b.href,{navigate:true})},scope:this}})},onLaunch:function(){this.getDoctabs().setStaticTabs(Ext.Array.filter([this.getWelcomeIndex().getTab(),this.getClassIndex().getTab(),this.getGuideIndex().getTab(),this.getVideoIndex().getTab(),this.getExampleIndex().getTab()],function(a){return a}));var b=Docs.Settings.get("tabs");if(b){Ext.Array.forEach(b,function(a){this.addTabFromTree(a,{animate:false})},this)}Docs.History.notifyTabsLoaded()},addTabFromTree:function(h,g){g=g||{animate:true,activate:true};var e=this.getTree(h);var f=e.findRecordByUrl(h);if(f&&f.raw){if(!this.scrollState[h]){this.scrollState[h]=0}this.getDoctabs().addTab({href:f.raw.url,text:f.raw.text,iconCls:f.raw.iconCls},g)}},getTree:function(b){if(/#!?\/api/.test(b)){return this.getClassTree()}else{if(/#!?\/guide/.test(b)){return this.getGuideTree()}else{if(/#!?\/video/.test(b)){return this.getVideoTree()}else{if(/#!?\/example/.test(b)){return this.getExampleTree()}else{return this.getClassTree()}}}}},addTabIconListeners:function(b){b.el.addListener("mouseover",function(d,a){Ext.get(a).addCls("ovr")},this,{delegate:".close"});b.el.addListener("mouseout",function(d,a){Ext.get(a).removeCls("ovr")},this,{delegate:".close"});b.el.addListener("click",function(e,f){b.justClosed=true;var a=Ext.get(f).up(".doctab").down(".tabUrl").getAttribute("href");a=Docs.History.cleanUrl(a);delete this.scrollState[a];Ext.getCmp("doctabs").removeTab(a)},this,{delegate:".close",preventDefault:true})},addTabListeners:function(b){b.el.addListener("click",function(e,f){if(b.justClosed){b.justClosed=false;return}var a=Ext.get(f).down(".tabUrl").getAttribute("href");Docs.History.push(a,{navigate:true})},this,{delegate:".doctab"});b.el.addListener("click",Ext.emptyFn,this,{delegate:".tabUrl",preventDefault:true})},setScrollState:function(c,d){this.scrollState[c]=d},getScrollState:function(b){return this.scrollState[b]||0}});Ext.define("Docs.controller.Content",{extend:"Ext.app.Controller",MIDDLE:1,title:"",onLaunch:function(){var b=this.getIndex();if(b.rendered){this.initScrollListener()}else{b.on("afterrender",this.initScrollListener,this)}},initScrollListener:function(){this.getIndex().getEl().addListener("scroll",function(c,d){this.setScrollState(this.baseUrl,d.scrollTop)},this)},loadIndex:function(b){b||Docs.History.push(this.baseUrl);this.getViewport().setPageTitle(this.title);Ext.getCmp("doctabs").activateTab(this.baseUrl);Ext.getCmp("card-panel").layout.setActiveItem(this.getIndex());this.getIndex().getEl().scrollTo("top",this.getScrollState(this.baseUrl))},opensNewWindow:function(b){return b.button===this.MIDDLE||b.shiftKey||b.ctrlKey},getBaseUrl:function(){return document.location.href.replace(/#.*/,"").replace(/index.html/,"")},getScrollState:function(b){return Docs.App.getController("Tabs").getScrollState(b)},setScrollState:function(c,d){Docs.App.getController("Tabs").setScrollState(c,d)}});Ext.define("Docs.view.search.Dropdown",{extend:"Ext.view.View",alias:"widget.searchdropdown",floating:true,autoShow:false,autoRender:true,toFrontOnShow:true,focusOnToFront:false,store:"Search",id:"search-dropdown",overItemCls:"x-view-over",trackOver:true,itemSelector:"div.item",singleSelect:true,pageStart:0,pageSize:10,initComponent:function(){this.addEvents("changePage","footerClick");this.tpl=new Ext.XTemplate('<tpl for=".">','<div class="item {type}">','<div class="title">{member}</div>','<div class="class">{cls}</div>',"</div>","</tpl>",'<div class="footer">','<a href="#" class="prev"><</a>','<span class="total">{[this.getStart()+1]}-{[this.getEnd()]} of {[this.getTotal()]}</span>','<a href="#" class="next">></a>',"</div>",{getTotal:Ext.bind(this.getTotal,this),getStart:Ext.bind(this.getStart,this),getEnd:Ext.bind(this.getEnd,this)});this.on("afterrender",function(){this.el.addListener("click",function(){this.fireEvent("changePage",this,-1)},this,{preventDefault:true,delegate:".prev"});this.el.addListener("click",function(){this.fireEvent("changePage",this,+1)},this,{preventDefault:true,delegate:".next"});this.el.addListener("click",function(){this.fireEvent("footerClick",this)},this,{delegate:".footer"})},this);this.callParent(arguments)},setTotal:function(b){this.total=b},getTotal:function(){return this.total},setStart:function(b){this.pageStart=b},getStart:function(b){return this.pageStart},getEnd:function(c){var d=this.pageStart+this.pageSize;return d>this.total?this.total:d}});Ext.define("Docs.store.Search",{extend:"Ext.data.Store",fields:["cls","member","type","xtypes","id"],proxy:{type:"memory",reader:{type:"json"}}});Ext.define("Docs.controller.Welcome",{extend:"Docs.controller.Content",baseUrl:"#",refs:[{ref:"viewport",selector:"#viewport"},{ref:"index",selector:"#welcomeindex"}],loadIndex:function(){Ext.getCmp("treecontainer").hide();this.callParent([true])},showFailure:function(c){var d=new Ext.XTemplate("<h1>Oops...</h1>","<p>{msg}</p>","<p>Maybe it was renamed to something else? Or maybe it has passed away permanently to the 404 land? ","This would be sad. Hopefully it's just a bug in our side. ","Report it to <a href='http://www.sencha.com/forum/showthread.php?135036'>Sencha Forum</a> if you feel so.</p>","<p>Sorry for all this :(</p>");Ext.getCmp("failure").update(d.apply({msg:c}));Ext.getCmp("card-panel").layout.setActiveItem("failure")},isActive:function(){return !!this.getIndex().getTab()}});Ext.define("Docs.controller.Search",{extend:"Ext.app.Controller",views:["search.Dropdown"],stores:["Search"],refs:[{ref:"field",selector:"#search-field"}],pageIndex:0,pageSize:10,init:function(){this.control({"#search-dropdown":{itemclick:function(c,d){this.loadRecord(d)},changePage:function(c,d){this.pageIndex+=d;this.search(this.getField().getValue())},footerClick:function(c,d){clearTimeout(this.hideTimeout);this.getField().focus()}},"#search-field":{keyup:function(m,l){var j=this.getDropdown();m.setHideTrigger(m.getValue().length===0);if(l.keyCode===Ext.EventObject.ESC||!m.value){j.hide();m.setValue("");return}else{j.show()}var h=j.getSelectionModel();var i=h.getLastSelected();var n=j.store.indexOf(i);var k=j.store.getCount()-1;if(l.keyCode===Ext.EventObject.UP){if(n===undefined){h.select(0)}else{h.select(n===0?k:(n-1))}}else{if(l.keyCode===Ext.EventObject.DOWN){if(n===undefined){h.select(0)}else{h.select(n===k?0:n+1)}}else{if(l.keyCode===Ext.EventObject.ENTER){l.preventDefault();i&&this.loadRecord(i)}else{this.pageIndex=0;clearTimeout(this.searchTimeout);this.searchTimeout=Ext.Function.defer(function(){this.search(m.value)},50,this)}}}},focus:function(b){if(b.value&&this.getDropdown().store.getCount()>0){this.getDropdown().show()}},blur:function(){var b=this.getDropdown();this.hideTimeout=Ext.Function.defer(b.hide,500,b)}}})},getDropdown:function(){return this.dropdown||(this.dropdown=Ext.getCmp("search-dropdown"))},loadRecord:function(d){var c=d.get("cls");if(d.get("type")!=="cls"){c+="-"+d.get("id")}Docs.App.getController("Classes").loadClass("#!/api/"+c);this.getDropdown().hide()},search:function(h){var e=this.filterMembers(h);if(this.pageIndex<0){this.pageIndex=0}else{if(this.pageIndex>Math.floor(e.length/this.pageSize)){this.pageIndex=Math.floor(e.length/this.pageSize)}}var g=this.pageIndex*this.pageSize;var f=g+this.pageSize;this.getDropdown().setTotal(e.length);this.getDropdown().setStart(g);this.getDropdown().getStore().loadData(e.slice(g,f));this.getDropdown().alignTo("search-field","bl",[-12,-2]);if(e.length===0){this.getDropdown().hide()}else{this.getDropdown().getSelectionModel().select(0)}},filterMembers:function(p){var z=[[],[],[],[],[],[],[],[]];var w=0,r=1,A=2,y=3,s=4,C=5,q=6,B=7;var u=/\./.test(p);var t=Ext.escapeRe(p);var D=new RegExp("^"+t+"$","i");var x=new RegExp("^"+t,"i");var v=new RegExp(t,"i");Ext.Array.forEach(Docs.data.search,function(a){var b=u?a.cls+(a.type==="cls"?"":"."+a.member):a.member;if(a.xtypes&&this.matchXType(a.xtypes,D)){z[w].push(a)}else{if(D.test(b)){z[a.type==="cls"?r:A].push(a)}else{if(a.xtypes&&this.matchXType(a.xtypes,x)){z[y].push(a)}else{if(x.test(b)){z[a.type==="cls"?s:C].push(a)}else{if(v.test(b)){z[a.type==="cls"?q:B].push(a)}}}}}},this);return Ext.Array.flatten(z)},matchXType:function(f,d){for(var e in f){if(f.hasOwnProperty(e)){if(Ext.Array.some(f[e],function(a){return d.test(a)})){return true}}}return false}});Ext.define("Docs.controller.Examples",{extend:"Docs.controller.Content",baseUrl:"#!/example",title:"Examples",refs:[{ref:"viewport",selector:"#viewport"},{ref:"index",selector:"#exampleindex"},{ref:"tree",selector:"#exampletree"},{ref:"page",selector:"#example"}],init:function(){this.addEvents("showExample");this.control({"#exampletree":{urlclick:function(d,c){this.loadExample(d)}},"exampleindex > thumblist":{urlclick:function(b){this.loadExample(b)}},touchexamplecontainer:{afterrender:function(b){b.el.addListener("click",function(d,a){this.changeDevice("tablet")},this,{delegate:"button.tablet"});b.el.addListener("click",function(d,a){this.changeDevice("phone")},this,{delegate:"button.phone"});b.el.addListener("click",function(d,a){this.changeOrientation("portrait")},this,{delegate:"button.portrait"});b.el.addListener("click",function(d,a){this.changeOrientation("landscape")},this,{delegate:"button.landscape"});b.el.addListener("click",function(d,a){this.openInNewWindow()},this,{delegate:"button.new-window"})}}})},loadIndex:function(){Ext.getCmp("treecontainer").showTree("exampletree");this.callParent()},loadExample:function(d,f){var e=this.getExample(d);this.getViewport().setPageTitle(e.text);if(this.activeUrl!==d){this.getPage().clear();this.activateExampleCard();this.getPage().load(e)}else{this.activateExampleCard()}f||Docs.History.push(d);this.fireEvent("showExample",d);this.getTree().selectUrl(d);this.activeUrl=d},activateExampleCard:function(){Ext.getCmp("card-panel").layout.setActiveItem("example");Ext.getCmp("treecontainer").showTree("exampletree")},getExample:function(b){if(!this.map){this.map={};Ext.Array.forEach(Docs.data.examples,function(a){Ext.Array.forEach(a.items,function(d){this.map["#!/example/"+d.url]=d},this)},this)}return this.map[b]},changeOrientation:function(b){this.getPage().setOrientation(b)},changeDevice:function(b){this.getPage().setDevice(b)},openInNewWindow:function(){var b=this.getExample(this.activeUrl);window.open("touch/examples/"+b.url)}});Ext.define("Docs.controller.Guides",{extend:"Docs.controller.Content",baseUrl:"#!/guide",title:"Guides",refs:[{ref:"viewport",selector:"#viewport"},{ref:"index",selector:"#guideindex"},{ref:"tree",selector:"#guidetree"}],cache:{},init:function(){this.addEvents("showGuide");this.control({"#guidetree":{urlclick:function(d,c){this.handleUrlClick(d,c,this.getTree())}},"guideindex > thumblist":{urlclick:function(b){this.loadGuide(b)}},indexcontainer:{afterrender:function(b){b.el.addListener("click",function(d,a){this.handleUrlClick(a.href,d)},this,{preventDefault:true,delegate:".guide"})}},"#guide":{afterrender:function(b){b.el.addListener("scroll",function(d,a){this.setScrollState(this.activeUrl,a.scrollTop)},this)}}})},handleUrlClick:function(d,f,e){d=d.replace(/.*#!?/,"#!");if(this.opensNewWindow(f)){window.open(d);e&&e.selectUrl(this.activeUrl?this.activeUrl:"")}else{this.loadGuide(d)}},loadIndex:function(){Ext.getCmp("treecontainer").showTree("guidetree");this.callParent()},loadGuide:function(d,f){Ext.getCmp("card-panel").layout.setActiveItem("guide");Ext.getCmp("treecontainer").showTree("guidetree");var e=d.match(/^#!\/guide\/(.*)$/)[1];f||Docs.History.push(d);if(this.cache[e]){this.showGuide(this.cache[e],d,e)}else{this.cache[e]="in-progress";Ext.data.JsonP.request({url:this.getBaseUrl()+"/guides/"+e+"/README.js",callbackName:e,success:function(a){this.cache[e]=a;this.showGuide(a,d,e)},failure:function(b,a){this.getController("Index").showFailure("Guide <b>"+e+"</b> was not found.")},scope:this})}},showGuide:function(f,d,e){if(f==="in-progress"){return}this.getViewport().setPageTitle(f.title);if(this.activeUrl!==d){Ext.getCmp("guide").load({name:e,content:f.guide})}this.activeUrl=d;this.scrollContent();this.fireEvent("showGuide",e);this.getTree().selectUrl(d)},scrollContent:function(){Ext.get("guide").scrollTo("top",this.getScrollState(this.activeUrl))}});Ext.define("Docs.controller.Videos",{extend:"Docs.controller.Content",baseUrl:"#!/video",title:"Videos",refs:[{ref:"viewport",selector:"#viewport"},{ref:"index",selector:"#videoindex"},{ref:"tree",selector:"#videotree"}],init:function(){this.addEvents("showVideo");this.control({"#videotree":{urlclick:function(b){this.loadVideo(b)}},"videoindex > thumblist":{urlclick:function(b){this.loadVideo(b)}}})},loadIndex:function(){Ext.getCmp("treecontainer").showTree("videotree");this.callParent()},loadVideo:function(f,g){Ext.getCmp("card-panel").layout.setActiveItem("video");Ext.getCmp("treecontainer").showTree("videotree");var h=f.match(/[0-9]+$/)[0];var e=this.getVideo(h);this.getViewport().setPageTitle(e.title);if(this.activeUrl!==f){Ext.getCmp("video").load(e)}g||Docs.History.push(f);this.fireEvent("showVideo",f);this.getTree().selectUrl(f);this.activeUrl=f},getVideo:function(b){if(!this.map){this.map={};Ext.Array.forEach(Docs.data.videos,function(a){Ext.Array.forEach(a.items,function(d){this.map[d.id]=d},this)},this)}return this.map[b]}});Ext.define("Ext.data.proxy.WebStorage",{extend:"Ext.data.proxy.Client",alternateClassName:"Ext.data.WebStorageProxy",id:undefined,constructor:function(b){this.callParent(arguments);this.cache={};if(this.getStorageObject()===undefined){Ext.Error.raise("Local Storage is not supported in this browser, please use another type of data proxy")}this.id=this.id||(this.store?this.store.storeId:undefined);if(this.id===undefined){Ext.Error.raise("No unique id was provided to the local storage proxy. See Ext.data.proxy.LocalStorage documentation for details")}this.initialize()},create:function(n,k,i){var o=n.records,p=o.length,r=this.getIds(),q,l,m;n.setStarted();for(m=0;m<p;m++){l=o[m];if(l.phantom){l.phantom=false;q=this.getNextId()}else{q=l.getId()}this.setRecord(l,q);r.push(q)}this.setIds(r);n.setCompleted();n.setSuccessful();if(typeof k=="function"){k.call(i||this,n)}},read:function(n,k,i){var o=[],r=this.getIds(),p=r.length,m,q,l;if(n.id){l=this.getRecord(n.id);if(l){o.push(l);n.setSuccessful()}}else{for(m=0;m<p;m++){o.push(this.getRecord(r[m]))}n.setSuccessful()}n.setCompleted();n.resultSet=Ext.create("Ext.data.ResultSet",{records:o,total:o.length,loaded:true});if(typeof k=="function"){k.call(i||this,n)}},update:function(n,k,i){var o=n.records,p=o.length,r=this.getIds(),l,q,m;n.setStarted();for(m=0;m<p;m++){l=o[m];this.setRecord(l);q=l.getId();if(q!==undefined&&Ext.Array.indexOf(r,q)==-1){r.push(q)}}this.setIds(r);n.setCompleted();n.setSuccessful();if(typeof k=="function"){k.call(i||this,n)}},destroy:function(i,k,n){var j=i.records,m=j.length,o=this.getIds(),l=[].concat(o),p;for(p=0;p<m;p++){Ext.Array.remove(l,j[p].getId());this.removeRecord(j[p],false)}this.setIds(l);i.setCompleted();i.setSuccessful();if(typeof k=="function"){k.call(n||this,i)}},getRecord:function(r){if(this.cache[r]===undefined){var t=Ext.decode(this.getStorageObject().getItem(this.getRecordKey(r))),o={},p=this.model,l=p.prototype.fields.items,q=l.length,n,i,s,m;for(n=0;n<q;n++){i=l[n];s=i.name;if(typeof i.decode=="function"){o[s]=i.decode(t[s])}else{o[s]=t[s]}}m=new p(o,r);m.phantom=false;this.cache[r]=m}return this.cache[r]},setRecord:function(r,x){if(x){r.setId(x)}else{x=r.getId()}var p=this,z=r.data,t={},s=p.model,q=s.prototype.fields.items,w=q.length,u=0,o,y,v,i;for(;u<w;u++){o=q[u];y=o.name;if(typeof o.encode=="function"){t[y]=o.encode(z[y],r)}else{t[y]=z[y]}}v=p.getStorageObject();i=p.getRecordKey(x);p.cache[x]=r;v.removeItem(i);v.setItem(i,Ext.encode(t))},removeRecord:function(g,h){var e=this,f;if(g.isModel){g=g.getId()}if(h!==false){f=e.getIds();Ext.Array.remove(f,g);e.setIds(f)}e.getStorageObject().removeItem(e.getRecordKey(g))},getRecordKey:function(b){if(b.isModel){b=b.getId()}return Ext.String.format("{0}-{1}",this.id,b)},getRecordCounterKey:function(){return Ext.String.format("{0}-counter",this.id)},getIds:function(){var d=(this.getStorageObject().getItem(this.id)||"").split(","),f=d.length,e;if(f==1&&d[0]===""){d=[]}else{for(e=0;e<f;e++){d[e]=parseInt(d[e],10)}}return d},setIds:function(e){var d=this.getStorageObject(),f=e.join(",");d.removeItem(this.id);if(!Ext.isEmpty(f)){d.setItem(this.id,f)}},getNextId:function(){var i=this.getStorageObject(),g=this.getRecordCounterKey(),j=i.getItem(g),f,h;if(j===null){f=this.getIds();j=f[f.length-1]||0}h=parseInt(j,10)+1;i.setItem(g,h);return h},initialize:function(){var b=this.getStorageObject();b.setItem(this.id,b.getItem(this.id)||"")},clear:function(){var g=this.getStorageObject(),h=this.getIds(),f=h.length,e;for(e=0;e<f;e++){this.removeRecord(h[e])}g.removeItem(this.getRecordCounterKey());g.removeItem(this.id)},getStorageObject:function(){Ext.Error.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("Docs.model.Setting",{fields:["id","key","value"],extend:"Ext.data.Model",proxy:{type:("localStorage" in window&&window.localStorage!==null)?"localstorage":"memory",id:Docs.localStorageDb+"-settings"}});Ext.define("Docs.store.Settings",{extend:"Ext.data.Store",model:"Docs.model.Setting"});Ext.define("Docs.controller.Classes",{extend:"Docs.controller.Content",baseUrl:"#!/api",title:"API Documentation",requires:["Docs.History","Docs.Syntax"],stores:["Settings"],models:["Setting"],refs:[{ref:"viewport",selector:"#viewport"},{ref:"index",selector:"#classindex"},{ref:"header",selector:"classheader"},{ref:"overview",selector:"classoverview"},{ref:"tabPanel",selector:"classtabpanel"},{ref:"tree",selector:"#classtree"},{ref:"favoritesGrid",selector:"#favorites-grid"}],cache:{},init:function(){this.addEvents("showClass","showMember");Ext.getBody().addListener("click",function(c,d){this.handleUrlClick(decodeURI(d.href),c)},this,{preventDefault:true,delegate:".docClass"});this.control({classtree:{urlclick:function(d,c){this.handleUrlClick(d,c,this.getTree())},afterrender:function(b){b.el.addListener("click",function(e,g){var a=Ext.get(g),h=Ext.get(Ext.query(".cls-grouping button.selected")[0]);if(h.dom===a.dom){return}h.removeCls("selected");a.addCls("selected");if(a.hasCls("by-package")){this.getTree().setLogic(Docs.view.cls.PackageLogic)}else{this.getTree().setLogic(Docs.view.cls.InheritanceLogic)}},this,{delegate:"button"})}},toolbar:{toggleExpanded:function(b){Ext.Array.forEach(Ext.query(".side.expandable"),function(a){Ext.get(a).parent()[b?"addCls":"removeCls"]("open")})}},classoverview:{afterrender:function(b){b.el.addListener("click",function(i,k){var h=Ext.get(k).up(".member"),l=h.down(".meta .docClass"),j=l.getAttribute("rel"),a=h.getAttribute("id");if(h.hasCls("open")){this.setExpanded(a,false)}else{this.setExpanded(a,true);this.fireEvent("showMember",j,a)}h.toggleCls("open")},this,{preventDefault:true,delegate:".expandable"});b.el.addListener("click",Ext.emptyFn,this,{preventDefault:true,delegate:".not-expandable"});b.body.addListener("scroll",function(d,a){this.setScrollState("#!/api/"+this.currentCls.name,a.scrollTop)},this)}},treecontainer:{afterrender:function(b){b.el.addListener("dblclick",function(){if(b.getWidth()<30){b.setWidth(b.expandedWidth)}else{b.expandedWidth=b.getWidth();b.setWidth(20)}},this,{delegate:".x-resizable-handle"})}}})},setExpanded:function(f,d){var e=this.currentCls;if(!e.expanded){e.expanded={}}if(d){e.expanded[f]=d}else{delete e.expanded[f]}},applyExpanded:function(b){Ext.Object.each(b.expanded||{},function(a){Ext.get(a).addCls("open")},this)},handleUrlClick:function(d,f,e){d=Docs.History.cleanUrl(d);if(this.opensNewWindow(f)){window.open(d);e&&e.selectUrl(this.currentCls?"#!/api/"+this.currentCls.name:"")}else{this.loadClass(d)}},loadIndex:function(b){Ext.getCmp("treecontainer").showTree("classtree");this.callParent(arguments)},loadClass:function(f,i){Ext.getCmp("card-panel").layout.setActiveItem("classcontainer");Ext.getCmp("treecontainer").showTree("classtree");i||Docs.History.push(f);var j=f.match(/^#!\/api\/(.*?)(?:-(.*))?$/);var g=j[1];var h=j[2];if(this.getOverview()){this.getOverview().setLoading(true)}if(this.cache[g]){this.showClass(this.cache[g],h)}else{this.cache[g]="in-progress";Ext.data.JsonP.request({url:this.getBaseUrl()+"/output/"+g+".js",callbackName:g.replace(/\./g,"_"),success:function(b,a){this.cache[g]=b;this.showClass(b,h)},failure:function(b,a){this.getController("Index").showFailure("Class <b>"+g+"</b> was not found.")},scope:this})}},showClass:function(d,c){if(d==="in-progress"){return}this.getOverview().setLoading(false);this.getViewport().setPageTitle(d.name);if(this.currentCls!==d){this.getHeader().load(d);this.getOverview().load(d);this.applyExpanded(d)}this.currentCls=d;if(c){this.getOverview().scrollToEl("#"+c);this.fireEvent("showMember",d.name,c)}else{this.scrollContent()}this.getTree().selectUrl("#!/api/"+d.name);this.fireEvent("showClass",d.name)},scrollContent:function(){if(this.currentCls){var b="#!/api/"+this.currentCls.name;this.getOverview().getEl().down(".x-panel-body").scrollTo("top",this.getScrollState(b))}}});Ext.ns("Docs");Ext.Loader.setConfig({enabled:true,paths:{Docs:"app"}});Ext.require("Docs.view.Viewport");Ext.require("Ext.form.field.Trigger");Ext.require("Ext.tab.Panel");Ext.require("Ext.grid.column.Action");Ext.require("Ext.grid.plugin.DragDrop");Ext.require("Ext.layout.container.Border");Ext.require("Ext.data.TreeStore");Ext.require("Ext.toolbar.Spacer");Ext.require("Docs.Application");Ext.onReady(function(){Ext.create("Docs.Application")});
\ No newline at end of file