<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>lib/view/helpers/ext/button.rb</filename>
    </added>
    <added>
      <filename>lib/view/helpers/pdf_helper.rb</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/config/locales/models/account/en.yml</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/config/locales/models/account/it.yml</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/backend/association_break.png</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/backend/association_ok.png</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/backend/categories.gif</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/charts.swf</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/.svn/all-wcprops</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/.svn/entries</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/.svn/prop-base/gradient-bg.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/.svn/prop-base/s.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/.svn/prop-base/shadow-c.png.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/.svn/prop-base/shadow-lr.png.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/.svn/prop-base/shadow.png.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/.svn/text-base/gradient-bg.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/.svn/text-base/s.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/.svn/text-base/shadow-c.png.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/.svn/text-base/shadow-lr.png.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/.svn/text-base/shadow.png.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/box/.svn/all-wcprops</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/box/.svn/entries</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/box/.svn/prop-base/corners-blue.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/box/.svn/prop-base/corners.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/box/.svn/prop-base/l-blue.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/box/.svn/prop-base/l.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/box/.svn/prop-base/r-blue.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/box/.svn/prop-base/r.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/box/.svn/prop-base/tb-blue.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/box/.svn/prop-base/tb.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/box/.svn/text-base/corners-blue.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/box/.svn/text-base/corners.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/box/.svn/text-base/l-blue.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/box/.svn/text-base/l.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/box/.svn/text-base/r-blue.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/box/.svn/text-base/r.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/box/.svn/text-base/tb-blue.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/box/.svn/text-base/tb.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/button/.svn/all-wcprops</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/button/.svn/entries</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/button/.svn/prop-base/arrow.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/button/.svn/prop-base/btn.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/button/.svn/prop-base/group-cs.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/button/.svn/prop-base/group-lr.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/button/.svn/prop-base/group-tb.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/button/.svn/prop-base/s-arrow-b-noline.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/button/.svn/prop-base/s-arrow-b.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/button/.svn/prop-base/s-arrow-bo.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/button/.svn/prop-base/s-arrow-noline.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/button/.svn/prop-base/s-arrow-o.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/button/.svn/prop-base/s-arrow.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/button/.svn/text-base/arrow.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/button/.svn/text-base/btn.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/button/.svn/text-base/group-cs.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/button/.svn/text-base/group-lr.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/button/.svn/text-base/group-tb.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/button/.svn/text-base/s-arrow-b-noline.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/button/.svn/text-base/s-arrow-b.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/button/.svn/text-base/s-arrow-bo.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/button/.svn/text-base/s-arrow-noline.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/button/.svn/text-base/s-arrow-o.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/button/.svn/text-base/s-arrow.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/button/arrow.gif</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/button/btn.gif</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/button/group-cs.gif</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/button/group-lr.gif</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/button/group-tb.gif</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/button/s-arrow-b-noline.gif</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/button/s-arrow-b.gif</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/button/s-arrow-bo.gif</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/button/s-arrow-noline.gif</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/button/s-arrow-o.gif</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/button/s-arrow.gif</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/dd/.svn/all-wcprops</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/dd/.svn/entries</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/dd/.svn/prop-base/drop-add.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/dd/.svn/prop-base/drop-no.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/dd/.svn/prop-base/drop-yes.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/dd/.svn/text-base/drop-add.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/dd/.svn/text-base/drop-no.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/dd/.svn/text-base/drop-yes.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/editor/.svn/all-wcprops</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/editor/.svn/entries</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/editor/.svn/prop-base/tb-sprite.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/editor/.svn/text-base/tb-sprite.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/form/.svn/all-wcprops</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/form/.svn/entries</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/form/.svn/prop-base/checkbox.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/form/.svn/prop-base/clear-trigger.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/form/.svn/prop-base/clear-trigger.psd.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/form/.svn/prop-base/date-trigger.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/form/.svn/prop-base/date-trigger.psd.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/form/.svn/prop-base/error-tip-corners.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/form/.svn/prop-base/exclamation.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/form/.svn/prop-base/radio.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/form/.svn/prop-base/search-trigger.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/form/.svn/prop-base/search-trigger.psd.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/form/.svn/prop-base/text-bg.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/form/.svn/prop-base/trigger-tpl.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/form/.svn/prop-base/trigger.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/form/.svn/prop-base/trigger.psd.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/form/.svn/text-base/checkbox.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/form/.svn/text-base/clear-trigger.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/form/.svn/text-base/clear-trigger.psd.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/form/.svn/text-base/date-trigger.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/form/.svn/text-base/date-trigger.psd.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/form/.svn/text-base/error-tip-corners.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/form/.svn/text-base/exclamation.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/form/.svn/text-base/radio.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/form/.svn/text-base/search-trigger.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/form/.svn/text-base/search-trigger.psd.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/form/.svn/text-base/text-bg.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/form/.svn/text-base/trigger-tpl.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/form/.svn/text-base/trigger.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/form/.svn/text-base/trigger.psd.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/form/checkbox.gif</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/form/radio.gif</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/all-wcprops</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/entries</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/prop-base/arrow-left-white.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/prop-base/arrow-right-white.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/prop-base/col-move-bottom.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/prop-base/col-move-top.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/prop-base/columns.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/prop-base/dirty.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/prop-base/done.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/prop-base/drop-no.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/prop-base/drop-yes.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/prop-base/footer-bg.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/prop-base/grid-blue-hd.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/prop-base/grid-blue-split.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/prop-base/grid-hrow.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/prop-base/grid-loading.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/prop-base/grid-split.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/prop-base/grid-vista-hd.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/prop-base/grid3-hd-btn.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/prop-base/grid3-hrow-over.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/prop-base/grid3-hrow.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/prop-base/grid3-special-col-bg.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/prop-base/grid3-special-col-sel-bg.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/prop-base/group-by.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/prop-base/group-collapse.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/prop-base/group-expand-sprite.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/prop-base/group-expand.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/prop-base/hd-pop.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/prop-base/hmenu-asc.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/prop-base/hmenu-desc.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/prop-base/hmenu-lock.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/prop-base/hmenu-lock.png.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/prop-base/hmenu-unlock.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/prop-base/hmenu-unlock.png.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/prop-base/invalid_line.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/prop-base/loading.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/prop-base/mso-hd.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/prop-base/nowait.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/prop-base/page-first-disabled.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/prop-base/page-first.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/prop-base/page-last-disabled.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/prop-base/page-last.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/prop-base/page-next-disabled.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/prop-base/page-next.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/prop-base/page-prev-disabled.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/prop-base/page-prev.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/prop-base/pick-button.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/prop-base/refresh.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/prop-base/row-check-sprite.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/prop-base/row-expand-sprite.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/prop-base/row-over.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/prop-base/row-sel.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/prop-base/sort-hd.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/prop-base/sort_asc.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/prop-base/sort_desc.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/prop-base/wait.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/text-base/arrow-left-white.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/text-base/arrow-right-white.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/text-base/col-move-bottom.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/text-base/col-move-top.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/text-base/columns.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/text-base/dirty.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/text-base/done.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/text-base/drop-no.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/text-base/drop-yes.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/text-base/footer-bg.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/text-base/grid-blue-hd.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/text-base/grid-blue-split.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/text-base/grid-hrow.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/text-base/grid-loading.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/text-base/grid-split.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/text-base/grid-vista-hd.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/text-base/grid3-hd-btn.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/text-base/grid3-hrow-over.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/text-base/grid3-hrow.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/text-base/grid3-special-col-bg.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/text-base/grid3-special-col-sel-bg.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/text-base/group-by.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/text-base/group-collapse.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/text-base/group-expand-sprite.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/text-base/group-expand.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/text-base/hd-pop.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/text-base/hmenu-asc.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/text-base/hmenu-desc.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/text-base/hmenu-lock.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/text-base/hmenu-lock.png.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/text-base/hmenu-unlock.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/text-base/hmenu-unlock.png.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/text-base/invalid_line.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/text-base/loading.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/text-base/mso-hd.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/text-base/nowait.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/text-base/page-first-disabled.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/text-base/page-first.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/text-base/page-last-disabled.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/text-base/page-last.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/text-base/page-next-disabled.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/text-base/page-next.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/text-base/page-prev-disabled.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/text-base/page-prev.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/text-base/pick-button.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/text-base/refresh.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/text-base/row-check-sprite.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/text-base/row-expand-sprite.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/text-base/row-over.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/text-base/row-sel.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/text-base/sort-hd.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/text-base/sort_asc.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/text-base/sort_desc.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/.svn/text-base/wait.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/group-collapse.gif</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/group-expand.gif</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/sort-hd.gif</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/layout/.svn/all-wcprops</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/layout/.svn/entries</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/layout/.svn/prop-base/collapse.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/layout/.svn/prop-base/expand.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/layout/.svn/prop-base/gradient-bg.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/layout/.svn/prop-base/mini-bottom.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/layout/.svn/prop-base/mini-left.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/layout/.svn/prop-base/mini-right.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/layout/.svn/prop-base/mini-top.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/layout/.svn/prop-base/ns-collapse.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/layout/.svn/prop-base/ns-expand.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/layout/.svn/prop-base/panel-close.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/layout/.svn/prop-base/panel-title-bg.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/layout/.svn/prop-base/panel-title-light-bg.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/layout/.svn/prop-base/stick.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/layout/.svn/prop-base/stuck.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/layout/.svn/prop-base/tab-close-on.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/layout/.svn/prop-base/tab-close.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/layout/.svn/text-base/collapse.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/layout/.svn/text-base/expand.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/layout/.svn/text-base/gradient-bg.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/layout/.svn/text-base/mini-bottom.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/layout/.svn/text-base/mini-left.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/layout/.svn/text-base/mini-right.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/layout/.svn/text-base/mini-top.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/layout/.svn/text-base/ns-collapse.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/layout/.svn/text-base/ns-expand.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/layout/.svn/text-base/panel-close.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/layout/.svn/text-base/panel-title-bg.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/layout/.svn/text-base/panel-title-light-bg.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/layout/.svn/text-base/stick.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/layout/.svn/text-base/stuck.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/layout/.svn/text-base/tab-close-on.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/layout/.svn/text-base/tab-close.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/menu/.svn/all-wcprops</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/menu/.svn/entries</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/menu/.svn/prop-base/checked.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/menu/.svn/prop-base/group-checked.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/menu/.svn/prop-base/item-over.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/menu/.svn/prop-base/menu-parent.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/menu/.svn/prop-base/menu.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/menu/.svn/prop-base/unchecked.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/menu/.svn/text-base/checked.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/menu/.svn/text-base/group-checked.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/menu/.svn/text-base/item-over.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/menu/.svn/text-base/menu-parent.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/menu/.svn/text-base/menu.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/menu/.svn/text-base/unchecked.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/panel/.svn/all-wcprops</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/panel/.svn/entries</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/panel/.svn/prop-base/corners-sprite.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/panel/.svn/prop-base/left-right.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/panel/.svn/prop-base/light-hd.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/panel/.svn/prop-base/tool-sprite-tpl.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/panel/.svn/prop-base/tool-sprites.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/panel/.svn/prop-base/tools-sprites-trans.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/panel/.svn/prop-base/top-bottom.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/panel/.svn/prop-base/top-bottom.png.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/panel/.svn/prop-base/white-corners-sprite.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/panel/.svn/prop-base/white-left-right.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/panel/.svn/prop-base/white-top-bottom.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/panel/.svn/text-base/corners-sprite.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/panel/.svn/text-base/left-right.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/panel/.svn/text-base/light-hd.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/panel/.svn/text-base/tool-sprite-tpl.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/panel/.svn/text-base/tool-sprites.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/panel/.svn/text-base/tools-sprites-trans.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/panel/.svn/text-base/top-bottom.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/panel/.svn/text-base/top-bottom.png.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/panel/.svn/text-base/white-corners-sprite.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/panel/.svn/text-base/white-left-right.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/panel/.svn/text-base/white-top-bottom.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/progress/.svn/all-wcprops</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/progress/.svn/entries</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/progress/.svn/prop-base/progress-bg.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/progress/.svn/text-base/progress-bg.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/qtip/.svn/all-wcprops</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/qtip/.svn/entries</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/qtip/.svn/prop-base/bg.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/qtip/.svn/prop-base/close.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/qtip/.svn/prop-base/tip-anchor-sprite.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/qtip/.svn/prop-base/tip-sprite.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/qtip/.svn/text-base/bg.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/qtip/.svn/text-base/close.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/qtip/.svn/text-base/tip-anchor-sprite.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/qtip/.svn/text-base/tip-sprite.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/qtip/tip-anchor-sprite.gif</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/shared/.svn/all-wcprops</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/shared/.svn/entries</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/shared/.svn/prop-base/blue-loading.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/shared/.svn/prop-base/calendar.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/shared/.svn/prop-base/glass-bg.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/shared/.svn/prop-base/hd-sprite.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/shared/.svn/prop-base/large-loading.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/shared/.svn/prop-base/left-btn.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/shared/.svn/prop-base/loading-balls.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/shared/.svn/prop-base/right-btn.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/shared/.svn/prop-base/warning.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/shared/.svn/text-base/blue-loading.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/shared/.svn/text-base/calendar.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/shared/.svn/text-base/glass-bg.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/shared/.svn/text-base/hd-sprite.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/shared/.svn/text-base/large-loading.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/shared/.svn/text-base/left-btn.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/shared/.svn/text-base/loading-balls.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/shared/.svn/text-base/right-btn.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/shared/.svn/text-base/warning.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/sizer/.svn/all-wcprops</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/sizer/.svn/entries</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/sizer/.svn/prop-base/e-handle-dark.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/sizer/.svn/prop-base/e-handle.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/sizer/.svn/prop-base/ne-handle-dark.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/sizer/.svn/prop-base/ne-handle.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/sizer/.svn/prop-base/nw-handle-dark.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/sizer/.svn/prop-base/nw-handle.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/sizer/.svn/prop-base/s-handle-dark.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/sizer/.svn/prop-base/s-handle.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/sizer/.svn/prop-base/se-handle-dark.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/sizer/.svn/prop-base/se-handle.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/sizer/.svn/prop-base/square.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/sizer/.svn/prop-base/sw-handle-dark.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/sizer/.svn/prop-base/sw-handle.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/sizer/.svn/text-base/e-handle-dark.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/sizer/.svn/text-base/e-handle.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/sizer/.svn/text-base/ne-handle-dark.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/sizer/.svn/text-base/ne-handle.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/sizer/.svn/text-base/nw-handle-dark.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/sizer/.svn/text-base/nw-handle.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/sizer/.svn/text-base/s-handle-dark.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/sizer/.svn/text-base/s-handle.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/sizer/.svn/text-base/se-handle-dark.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/sizer/.svn/text-base/se-handle.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/sizer/.svn/text-base/square.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/sizer/.svn/text-base/sw-handle-dark.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/sizer/.svn/text-base/sw-handle.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/slider/.svn/all-wcprops</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/slider/.svn/entries</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/slider/.svn/prop-base/slider-bg.png.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/slider/.svn/prop-base/slider-thumb.png.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/slider/.svn/prop-base/slider-v-bg.png.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/slider/.svn/prop-base/slider-v-thumb.png.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/slider/.svn/text-base/slider-bg.png.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/slider/.svn/text-base/slider-thumb.png.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/slider/.svn/text-base/slider-v-bg.png.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/slider/.svn/text-base/slider-v-thumb.png.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/tabs/.svn/all-wcprops</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/tabs/.svn/entries</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/tabs/.svn/prop-base/scroll-left.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/tabs/.svn/prop-base/scroll-right.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/tabs/.svn/prop-base/scroller-bg.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/tabs/.svn/prop-base/tab-btm-inactive-left-bg.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/tabs/.svn/prop-base/tab-btm-inactive-right-bg.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/tabs/.svn/prop-base/tab-btm-left-bg.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/tabs/.svn/prop-base/tab-btm-right-bg.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/tabs/.svn/prop-base/tab-close.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/tabs/.svn/prop-base/tab-strip-bg.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/tabs/.svn/prop-base/tab-strip-bg.png.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/tabs/.svn/prop-base/tab-strip-btm-bg.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/tabs/.svn/prop-base/tabs-sprite.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/tabs/.svn/text-base/scroll-left.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/tabs/.svn/text-base/scroll-right.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/tabs/.svn/text-base/scroller-bg.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/tabs/.svn/text-base/tab-btm-inactive-left-bg.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/tabs/.svn/text-base/tab-btm-inactive-right-bg.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/tabs/.svn/text-base/tab-btm-left-bg.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/tabs/.svn/text-base/tab-btm-right-bg.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/tabs/.svn/text-base/tab-close.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/tabs/.svn/text-base/tab-strip-bg.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/tabs/.svn/text-base/tab-strip-bg.png.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/tabs/.svn/text-base/tab-strip-btm-bg.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/tabs/.svn/text-base/tabs-sprite.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/toolbar/.svn/all-wcprops</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/toolbar/.svn/entries</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/toolbar/.svn/prop-base/bg.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/toolbar/.svn/prop-base/btn-arrow-light.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/toolbar/.svn/prop-base/btn-arrow.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/toolbar/.svn/prop-base/btn-over-bg.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/toolbar/.svn/prop-base/gray-bg.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/toolbar/.svn/prop-base/more.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/toolbar/.svn/prop-base/tb-bg.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/toolbar/.svn/prop-base/tb-btn-sprite.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/toolbar/.svn/prop-base/tb-xl-btn-sprite.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/toolbar/.svn/prop-base/tb-xl-sep.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/toolbar/.svn/text-base/bg.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/toolbar/.svn/text-base/btn-arrow-light.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/toolbar/.svn/text-base/btn-arrow.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/toolbar/.svn/text-base/btn-over-bg.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/toolbar/.svn/text-base/gray-bg.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/toolbar/.svn/text-base/more.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/toolbar/.svn/text-base/tb-bg.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/toolbar/.svn/text-base/tb-btn-sprite.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/toolbar/.svn/text-base/tb-xl-btn-sprite.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/toolbar/.svn/text-base/tb-xl-sep.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/toolbar/more.gif</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/toolbar/tb-xl-btn-sprite.gif</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/toolbar/tb-xl-sep.gif</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/tree/.svn/all-wcprops</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/tree/.svn/entries</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/tree/.svn/prop-base/arrows.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/tree/.svn/prop-base/drop-add.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/tree/.svn/prop-base/drop-between.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/tree/.svn/prop-base/drop-no.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/tree/.svn/prop-base/drop-over.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/tree/.svn/prop-base/drop-under.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/tree/.svn/prop-base/drop-yes.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/tree/.svn/prop-base/elbow-end-minus-nl.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/tree/.svn/prop-base/elbow-end-minus.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/tree/.svn/prop-base/elbow-end-plus-nl.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/tree/.svn/prop-base/elbow-end-plus.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/tree/.svn/prop-base/elbow-end.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/tree/.svn/prop-base/elbow-line.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/tree/.svn/prop-base/elbow-minus-nl.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/tree/.svn/prop-base/elbow-minus.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/tree/.svn/prop-base/elbow-plus-nl.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/tree/.svn/prop-base/elbow-plus.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/tree/.svn/prop-base/elbow.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/tree/.svn/prop-base/folder-open.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/tree/.svn/prop-base/folder.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/tree/.svn/prop-base/leaf.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/tree/.svn/prop-base/loading.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/tree/.svn/prop-base/s.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/tree/.svn/text-base/arrows.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/tree/.svn/text-base/drop-add.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/tree/.svn/text-base/drop-between.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/tree/.svn/text-base/drop-no.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/tree/.svn/text-base/drop-over.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/tree/.svn/text-base/drop-under.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/tree/.svn/text-base/drop-yes.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/tree/.svn/text-base/elbow-end-minus-nl.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/tree/.svn/text-base/elbow-end-minus.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/tree/.svn/text-base/elbow-end-plus-nl.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/tree/.svn/text-base/elbow-end-plus.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/tree/.svn/text-base/elbow-end.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/tree/.svn/text-base/elbow-line.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/tree/.svn/text-base/elbow-minus-nl.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/tree/.svn/text-base/elbow-minus.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/tree/.svn/text-base/elbow-plus-nl.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/tree/.svn/text-base/elbow-plus.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/tree/.svn/text-base/elbow.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/tree/.svn/text-base/folder-open.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/tree/.svn/text-base/folder.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/tree/.svn/text-base/leaf.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/tree/.svn/text-base/loading.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/tree/.svn/text-base/s.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/window/.svn/all-wcprops</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/window/.svn/entries</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/window/.svn/prop-base/icon-error.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/window/.svn/prop-base/icon-info.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/window/.svn/prop-base/icon-question.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/window/.svn/prop-base/icon-warning.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/window/.svn/prop-base/left-corners.png.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/window/.svn/prop-base/left-corners.psd.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/window/.svn/prop-base/left-right.png.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/window/.svn/prop-base/left-right.psd.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/window/.svn/prop-base/right-corners.png.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/window/.svn/prop-base/right-corners.psd.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/window/.svn/prop-base/top-bottom.png.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/window/.svn/prop-base/top-bottom.psd.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/window/.svn/text-base/icon-error.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/window/.svn/text-base/icon-info.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/window/.svn/text-base/icon-question.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/window/.svn/text-base/icon-warning.gif.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/window/.svn/text-base/left-corners.png.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/window/.svn/text-base/left-corners.psd.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/window/.svn/text-base/left-right.png.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/window/.svn/text-base/left-right.psd.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/window/.svn/text-base/right-corners.png.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/window/.svn/text-base/right-corners.psd.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/window/.svn/text-base/top-bottom.png.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/window/.svn/text-base/top-bottom.psd.svn-base</filename>
    </added>
    <added>
      <filename>lipsiadmin_generators/backend/templates/images/ext/expressinstall.swf</filename>
    </added>
    <added>
      <filename>resources/javascripts/ux.min.js</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -1,5 +1,44 @@
-2009-05-11
-  * Fiexed the attachment and attachments tags
+2009-06-05
+  * Dump to 5.0 Version
+  * Support to ExtJs 3.0
+  * Now we can browse with like &quot;static&quot; pages with back &amp; next buttons of browsers [Ragunalth]
+  * Now we can call directly a page, usefull for do a manual refresh of a page but also for condivide links.
+  * Added a new method &quot;un&quot; for remove listners of extjs components
+  * Removed &quot;l&quot; method because we just have to_l for have literal json (ex: &quot;function add(){...}&quot;.to_l)
+  * Removed unusued literals
+  * Refactored add method, now is possible to add components
+  * Renamed in ColumnModel add =&gt; add_column for conflict reason with add component
+  * Refactored Configuration (used for extjs)
+  * Fixed toolbar for add_buttons like &quot;-&gt;&quot; (ex: tbar.add_button :text =&gt; &quot;-&gt;&quot;)
+  * Fixed a extra comma in attachment generator
+  * Fixed account grid generator
+  * Fixed attachment_table, now correctly include utility_scopes
+  * Fixed a little typo in ext controller component
+  * Maked ext columns compatible with extjs 3.0 and 2.0
+  * Added the possibility to add buttons with their menu
+  * Fixed Pdf generator now dude to limtis of previous version we don't put html to stdin but we made a tmp file
+  * Added Erb Templates in Pdf Generator
+  * Added mswin compatibility with Pdf Generator
+  * Fixed Ext DateTimeFiled with allowblank
+  * Removed the default allowBlank: true from Ext.form.DateTimeField
+  * Updated pdf mail builder according to new changes
+  * Removed from Controller Pdf Builder the layout for compatiblity with pdf mailer
+  * Changed simple_error_messages_for, now is localizable like default rails version
+  * Fixed path in in menu generation expecially when we use params
+  * Fixed a little issue when we regenerate locales for our models
+  * Fixed menu with empty urls and submenus
+  * Added a new option for column_model for render datetime to a date (:renderer =&gt; :time_to_date)
+  * Added a new option for column_model for render percentage (:renderer =&gt; :percentage)
+  * Fixed ext_date_select and ext_datetime_select to correctly render empty date(time) without the option :emptyToNow =&gt; true
+  * Fixed correctly the time in ext_datetime_select when :emptyToNow =&gt; true
+  * Change the box, now for render it (for uniformity reason) we need to use -box &quot;My Box&quot; do; some; end; instead of =box &quot;My Box&quot; ...
+  * Added AccountAccess caching, you can expire that using Lipsiadmin::AccountAccess::Base.cache[account.id] = nil
+  * Added Rake Tasks for start|stop|restart loops/background_workers
+  * Added handler :after =&gt; &quot;myfn()&quot; to open_form
+  * Added a new option to attachment_tag and attachments_tag for only upload files without manage the old ones
+  * Added the possiblity to personalize ttbar using only necessary buttons like ttbar [:edit, :delete] or [:add, :delete]
+  * Fixed a little bug in state_session generator
+  * Added few new images in backend
 
 2009-05-28
   * Refactored account_access now current_account (account logged) is aviable in our roles</diff>
      <filename>CHANGELOG</filename>
    </modified>
    <modified>
      <diff>@@ -56,7 +56,7 @@ module Lipsiadmin
           
           return allow &amp;&amp; !deny
         end
-
+        
         # Returns a helper to pass in a &lt;tt&gt;before_filter&lt;/tt&gt; for check if
         # an account are: &lt;tt&gt;logged_in?&lt;/tt&gt; and &lt;tt&gt;allowed?&lt;/tt&gt;
         # </diff>
      <filename>lib/access_control/authentication.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,6 @@
 module Lipsiadmin
   module AccessControl
+
     module Helper#:nodoc:
       def recognize_path(path)#:nodoc:
         case path
@@ -42,6 +43,8 @@ module Lipsiadmin
     #   - Access to all actions EXCEPT &lt;tt&gt;details&lt;/tt&gt; of controller &quot;/backend/accounts&quot;
     # 
     class Base
+      @@cache = {}
+      cattr_accessor :cache
       
       class &lt;&lt; self
         
@@ -58,13 +61,14 @@ module Lipsiadmin
         def roles
           @roles.nil? ? [] : @roles.collect(&amp;:to_s)
         end
-        
+
+        # Returns maps (allowed &amp;&amp; denied actions) for the given account
         def maps_for(account)
-          @mappers.collect { |m| m.call(account) }.
-                   reject  { |m| !m.allowed? }
+          @@cache[account.id] ||= @mappers.collect { |m| m.call(account) }.
+                                           reject  { |m| !m.allowed? }
+          @@cache[account.id]
         end
       end
-      
     end
     
     class Mapper
@@ -178,20 +182,23 @@ module Lipsiadmin
     class Menu
       include Helper
       include ActionController::UrlWriter
-      attr_reader :name, :options, :url, :items
+      attr_reader :name, :options, :items
       
       def initialize(name, path=nil, options={}, &amp;block)#:nodoc:
         @name    = name
+        @url     = path
         @options = options
         @allowed = []
         @items   = []        
-        if path
-          @url     = recognize_path(path) 
-          @allowed &lt;&lt; { :controller =&gt; @url[:controller] } if path
-        end
+        @allowed &lt;&lt; { :controller =&gt; recognize_path(path)[:controller] } if @url
         yield self if block_given?
       end
       
+      # Return the url of this menu
+      def url
+        @url.is_a?(Hash) ? url_for(@url.merge(:only_path =&gt; true)) : @url
+      end
+      
       # Add a new submenu to the menu
       def add(name, path=nil, options={}, &amp;block)
         @items &lt;&lt; Menu.new(name, path, options, &amp;block)
@@ -215,12 +222,12 @@ module Lipsiadmin
       
       # Return ExtJs Config for this menu
       def config
-        if @url.blank?
+        if @url.blank? &amp;&amp; @items.empty?
           options = human_name
         else
           options = @options.merge(:text =&gt; human_name)
           options.merge!(:menu =&gt; @items.collect(&amp;:config)) if @items.size &gt; 0
-          options.merge!(:handler =&gt; &quot;function(){ Backend.app.load('#{url_for(@url.merge(:only_path =&gt; true))}') }&quot;.to_l)
+          options.merge!(:handler =&gt; &quot;function(){ Backend.app.load('#{url}') }&quot;.to_l) if !@url.blank?
         end
         options
       end</diff>
      <filename>lib/access_control/base.rb</filename>
    </modified>
    <modified>
      <diff>@@ -105,7 +105,9 @@ module Lipsiadmin
           options[:mapping] ||= options[:dataIndex].to_s.downcase.gsub(/[^a-z0-9]+/, '_').
                                                                   gsub(/-+$/, '_').
                                                                   gsub(/^-+$/, '_')
-
+          # Now is necessary for our columns an ID
+          options[:id] = options[:mapping]
+          
           @data &lt;&lt; options
         end
 
@@ -125,8 +127,8 @@ module Lipsiadmin
         def store_fields
           @data.inject([]) do |fields, data|
             hash = { :name =&gt; data[:dataIndex], :mapping =&gt; data[:mapping] }
-            hash.merge!(:type =&gt; data[:renderer]) if data[:renderer] &amp;&amp; 
-                                                     (data[:renderer] == :date || data[:renderer] == :datetime)
+            hash.merge!(:type =&gt; data[:renderer]) if  data[:renderer] &amp;&amp; 
+                                                     (data[:renderer] == :date || data[:renderer] == :datetime || data[:renderer] == :time_to_date)
             fields &lt;&lt; hash
             fields
           end</diff>
      <filename>lib/controller/ext.rb</filename>
    </modified>
    <modified>
      <diff>@@ -47,10 +47,14 @@ module Lipsiadmin
         # path to the pd4ml jarfile
         jars_path = Lipsiadmin::Utils::PdfBuilder::JARS_PATH
         
-        options[:landescape] ||= false
+        options[:landescape]   =  options[:landescape] ? &quot;LANDESCAPE&quot; : &quot;PORTRAIT&quot;
         options[:send_data]  ||= !filename.blank?
+        
+        # try to find erb extension
+        ext = File.exist?(&quot;#{RAILS_ROOT}/app/views/pdf/#{template}.html.erb&quot;) ? &quot;erb&quot; : &quot;haml&quot;
+        
         # encode the template
-        input = encode_entities(render(:template =&gt; &quot;/pdf/#{template}.html.haml&quot;, :layout =&gt; &quot;print&quot;))
+        input = encode_entities(render(:template =&gt; &quot;/pdf/#{template}.html.#{ext}&quot;))
         
         # search for stylesheet links and make their paths absolute.
         input.gsub!('&lt;link href=&quot;/javascripts', '&lt;link href=&quot;' + RAILS_ROOT + '/public/javascripts')
@@ -60,12 +64,22 @@ module Lipsiadmin
         input.gsub!('src=&quot;/', 'src=&quot;' + RAILS_ROOT + '/public/')
         input.gsub!('url(','url('+RAILS_ROOT+'/public')
 
-        cmd = &quot;java -Xmx512m -Djava.awt.headless=true -cp #{jars_path}/pd4ml.jar:.:#{jars_path} Pd4Ruby '#{input}' 950 A4 #{options[:landescape]}&quot;
-
-        output = %x[cd #{Lipsiadmin::Utils::PdfBuilder::PD4RUBY_PATH} \n #{cmd}]
+        # write our temp file
+        t = Tempfile.new(&quot;pd4ml.html&quot;, &quot;#{Rails.root}/tmp&quot;)
+        t.binmode
+        t.write(input)
+        t.flush
+        
+        # build the command
+        class_path = &quot;#{jars_path}/pd4ml.jar:.:#{jars_path}&quot;
+        class_path = &quot;\&quot;#{jars_path}/pd4ml.jar\&quot;;\&quot;#{jars_path}\&quot;&quot; if RUBY_PLATFORM =~ /mswin/
+        cmd = &quot;cd #{Lipsiadmin::Utils::PdfBuilder::PD4RUBY_PATH} &amp;&amp; java -Xmx512m -Djava.awt.headless=true -cp #{class_path} Pd4Ruby --file \&quot;#{t.path}\&quot; --width 950 --orientation #{options[:landescape]} 2&gt;&amp;1&quot;
+        
+        # grep the output
+        output = IO.popen(cmd) { |s| s.read }
 
         # raise error if process returned false (ie: a java error)
-        raise PdfError, &quot;An unknonwn error occurred while generating pdf: cd #{Lipsiadmin::Utils::PdfBuilder::PD4RUBY_PATH} &amp;&amp; #{cmd}&quot; if $?.success? === false
+        raise PdfError, &quot;An unknonwn error occurred while generating pdf&quot; if $?.exitstatus == 127
         
         # return raw pdf binary-stream
         if options[:send_data]
@@ -76,6 +90,8 @@ module Lipsiadmin
           erase_results
           output
         end
+      # ensure
+      #         t.close
       end
 
       # Errors For PDF</diff>
      <filename>lib/controller/pdf_builder.rb</filename>
    </modified>
    <modified>
      <diff>@@ -20,7 +20,7 @@ module Lipsiadmin
       def redirect_parent_to(location)
         responds_to_parent do
           render :update do |page|
-            page.load location, true
+            page.load location
           end
         end
       end</diff>
      <filename>lib/controller/responds_to_parent.rb</filename>
    </modified>
    <modified>
      <diff>@@ -12,7 +12,6 @@ module Lipsiadmin
     # &lt;tt&gt;has_many_attachments&lt;/tt&gt; can override/add styles/validations etc...
     # 
     class AttachmentTable &lt; ActiveRecord::Base
-      
       def self.inherited(subclass)#:nodoc:
         super
         subclass.write_inheritable_attribute(:attachment_definitions, {}) if subclass.attachment_definitions.nil?</diff>
      <filename>lib/data_base/attachment_table.rb</filename>
    </modified>
    <modified>
      <diff>@@ -10,6 +10,7 @@ require 'view/helpers/backend_helper'
 require 'view/helpers/frontend_helper'
 require 'view/helpers/view_helper'
 require 'view/helpers/ext_helper'
+require 'view/helpers/pdf_helper'
 require 'controller/ext'
 require 'controller/pdf_builder'
 require 'controller/responds_to_parent'
@@ -41,6 +42,7 @@ ActionView::Base.class_eval do
   include Lipsiadmin::View::Helpers::FormTagHelper
   include Lipsiadmin::View::Helpers::DateHelper
   include Lipsiadmin::View::Helpers::CountrySelectHelper
+  include Lipsiadmin::View::Helpers::PdfHelper
 end
 
 ActionView::Helpers::FormBuilder.send(:include, Lipsiadmin::View::Helpers::FormBuilder)
@@ -57,6 +59,11 @@ ActionController::Base.class_eval do
   include Lipsiadmin::AccessControl::Authentication
 end
 
+ActionMailer::Base.class_eval do
+  include Lipsiadmin::Mailer::PdfBuilder
+  include Lipsiadmin::View::Helpers::PdfHelper  
+end
+
 # For Attachments
 File.send(:include, Lipsiadmin::Attachment::Upfile)
 </diff>
      <filename>lib/lipsiadmin.rb</filename>
    </modified>
    <modified>
      <diff>@@ -52,11 +52,13 @@ module Lipsiadmin
         # path to the pd4ml jarfile
         jars_path = Lipsiadmin::Utils::PdfBuilder::JARS_PATH
 
-        # set the landescape
-        landescape = (body[:landescape].delete || false)
-        
+        body[:landescape] = body[:landescape] ? &quot;LANDESCAPE&quot; : &quot;PORTRAIT&quot;
+
+        # try to find erb extension
+        ext = File.exist?(&quot;#{RAILS_ROOT}/app/views/pdf/#{template}.html.erb&quot;) ? &quot;erb&quot; : &quot;haml&quot;
+
         # encode the template
-        input = encode_entities(render_message(&quot;/pdf/#{template}.html.haml&quot;, body))
+        input = encode_entities(render_message(&quot;/pdf/#{template}.html.#{ext}&quot;, body))
 
         # search for stylesheet links and make their paths absolute.
         input.gsub!('&lt;link href=&quot;/javascripts', '&lt;link href=&quot;' + RAILS_ROOT + '/public/javascripts')
@@ -66,15 +68,27 @@ module Lipsiadmin
         input.gsub!('src=&quot;/', 'src=&quot;' + RAILS_ROOT + '/public/')
         input.gsub!('url(','url('+RAILS_ROOT+'/public')
 
-        cmd = &quot;java -Xmx512m -Djava.awt.headless=true -cp #{jars_path}/pd4ml.jar:.:#{jars_path} Pd4Ruby '#{input}' 950 A4 #{landescape}&quot;
+        # write our temp file
+        t = Tempfile.new(&quot;pd4ml.html&quot;, &quot;#{Rails.root}/tmp&quot;)
+        t.binmode
+        t.write(input)
+        t.flush
+
+        # build the command
+        class_path = &quot;#{jars_path}/pd4ml.jar:.:#{jars_path}&quot;
+        class_path = &quot;\&quot;#{jars_path}/pd4ml.jar\&quot;;\&quot;#{jars_path}\&quot;&quot; if RUBY_PLATFORM =~ /mswin/
+        cmd = &quot;cd #{Lipsiadmin::Utils::PdfBuilder::PD4RUBY_PATH} &amp;&amp; java -Xmx512m -Djava.awt.headless=true -cp #{class_path} Pd4Ruby --file \&quot;#{t.path}\&quot; --width 950 --orientation #{body[:landescape]} 2&gt;&amp;1&quot;
 
-        output = %x[cd #{Lipsiadmin::Utils::PdfBuilder::PD4RUBY_PATH} \n #{cmd}]
+        # grep the output
+        output = IO.popen(cmd) { |s| s.read }
 
         # raise error if process returned false (ie: a java error)
-        raise PdfError, &quot;An unknonwn error occurred while generating pdf: cd #{Lipsiadmin::Utils::PdfBuilder::PD4RUBY_PATH} &amp;&amp; #{cmd}&quot; if $?.success? === false
+        raise PdfError, &quot;An unknonwn error occurred while generating pdf&quot; if $?.exitstatus == 127
 
-        #return raw pdf binary-stream
-        output                
+        # return raw pdf binary-stream
+        output
+      ensure
+        t.close
       end
     end
 </diff>
      <filename>lib/mailer/pdf_builder.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,8 +1,8 @@
 module Lipsiadmin
   module VERSION #:nodoc:
-    MAJOR = 4
-    MINOR = 1
-    TINY  = 8
+    MAJOR = 5
+    MINOR = 0
+    TINY  = 0
 
     STRING = [MAJOR, MINOR, TINY].join('.')
   end</diff>
      <filename>lib/version.rb</filename>
    </modified>
    <modified>
      <diff>@@ -4,17 +4,49 @@ module Lipsiadmin
       module BackendHelper
         # This method work like builtin Rails error_message_for but use an Ext.Message.show({..})
         def simple_error_messages_for(*params)
-          options = params.last.is_a?(Hash) ? params.pop.symbolize_keys : {}
-          objects = params.collect {|object_name| instance_variable_get(&quot;@#{object_name}&quot;) }.compact
-          count   = objects.inject(0) {|sum, object| sum + object.errors.count }
+          options = params.extract_options!.symbolize_keys
+
+          if object = options.delete(:object)
+            objects = [object].flatten
+          else
+            objects = params.collect {|object_name| instance_variable_get(&quot;@#{object_name}&quot;) }.compact
+          end
+
+          count  = objects.inject(0) {|sum, object| sum + object.errors.count }
           unless count.zero?
-            error_messages = objects.map {|object| object.errors.full_messages.map {|msg| &quot;&lt;li&gt;#{msg}&lt;/li&gt;&quot; } }
-            return content_tag(:script, &quot;Ext.Msg.show({
-                        title:Backend.locale.messages.alert.title,
-                        msg: '&lt;ul&gt;#{escape_javascript(error_messages.join)}&lt;/ul&gt;',
-                        buttons: Ext.Msg.OK,
-                        minWidth: 400 
-                      });&quot;, :type =&gt; Mime::JS)
+            html = {}
+            [:id, :class].each do |key|
+              if options.include?(key)
+                value = options[key]
+                html[key] = value unless value.blank?
+              else
+                html[key] = 'errorExplanation'
+              end
+            end
+            options[:object_name] ||= params.first
+
+            I18n.with_options :locale =&gt; options[:locale], :scope =&gt; [:activerecord, :errors, :template] do |locale|
+              header_message = if options.include?(:header_message)
+                options[:header_message]
+              else
+                object_name = options[:object_name].to_s.gsub('_', ' ')
+                object_name = I18n.t(object_name, :default =&gt; object_name, :scope =&gt; [:activerecord, :models], :count =&gt; 1)
+                locale.t :header, :count =&gt; count, :model =&gt; object_name
+              end
+              message = options.include?(:message) ? options[:message] : locale.t(:body)
+              error_messages = objects.sum {|object| object.errors.full_messages.map {|msg| content_tag(:li, ERB::Util.html_escape(msg)) } }.join
+
+              contents = ''
+              contents &lt;&lt; content_tag(:p, message) unless message.blank?
+              contents &lt;&lt; content_tag(:ul, error_messages, :class =&gt; :list)
+              
+              content_tag(:script, &quot;Ext.Msg.show({
+                          title: '#{header_message}',
+                          msg: '&lt;ul&gt;#{contents}&lt;/ul&gt;',
+                          buttons: Ext.Msg.OK,
+                          minWidth: 400 
+                        });&quot;, :type =&gt; Mime::JS)
+            end
           else
             ''
           end
@@ -162,7 +194,8 @@ module Lipsiadmin
         # 
         # Options can be one of the following:
         # 
-        # &lt;tt&gt;:image&lt;/tt&gt;::     Indicate if the attachments are ONLY images.
+        # &lt;tt&gt;:image&lt;/tt&gt;::       Indicate if the attachments are ONLY images.
+        # &lt;tt&gt;:only_upload&lt;/tt&gt;:: Indicate that is not necessary manage the old attachments.
         # 
         # Examples:
         # 
@@ -180,40 +213,43 @@ module Lipsiadmin
           variable = instance_variable_get(&quot;@#{object_name}&quot;)
           html     = []
           html    &lt;&lt; '&lt;!-- Generated from Lipsiadmin --&gt;'
-          html    &lt;&lt; '&lt;ul id=&quot;' + &quot;#{method}-order&quot; + '&quot; class=&quot;label&quot;&gt;'
-
-          if attachment = variable.send(method)
-            # Create first the remove link
-            remove_link = link_to_remote(tl(:remove), :url =&gt; &quot;/backend/attachments/#{attachment.id}&quot;, 
-                                                      :method =&gt; :delete, 
-                                                      :success =&gt; &quot;$('#{method}_#{attachment.id}').remove();&quot;)
-
-            if options[:image]
-              fstyle  = &quot;float:left;margin:5px;margin-left:0px;&quot;
-              fclass  = &quot;box-image&quot;
-              ftag    = '&lt;div&gt;' + image_tag(attachment.url(:thumb)) + '&lt;/div&gt;'
-              ftag   += '&lt;div style=&quot;text-align:center;padding:5px;cursor:pointer&quot;&gt;'
-              ftag   += '  ' + remove_link
-              ftag   += '&lt;/div&gt;'
-            else
-              fstyle  = &quot;padding:5px;border-bottom:1px solid #DDE7F5;&quot;
-              fclass  = &quot;box-file&quot;
-              ftag    = '&lt;div style=&quot;float:left;cursor:pointer&quot;&gt;'
-              ftag   += ' ' + link_to(attachment.attached_file_name, attachment.url) + ' ' + number_to_human_size(attachment.attached_file_size)
-              ftag   += '&lt;/div&gt;'
-              ftag   += '&lt;div style=&quot;float:right;cursor:pointer&quot;&gt;'
-              ftag   += '  ' + remove_link
-              ftag   += '&lt;/div&gt;'
-              ftag   += '&lt;br style=&quot;clear:both&quot; /&gt;'
-            end
-
-            html &lt;&lt; '&lt;li id=&quot;' + &quot;#{method}_#{attachment.id}&quot; + '&quot; class=&quot;' + fclass + '&quot; style=&quot;' + fstyle + '&quot;&gt;'
-            html &lt;&lt; ' ' + ftag
-            html &lt;&lt; '&lt;/li&gt;'
-          end # End of Loop
-
-          html &lt;&lt; '&lt;/ul&gt;'
-          html &lt;&lt; '&lt;br style=&quot;clear:both&quot; /&gt;'
+          
+          unless options[:only_upload]
+            html    &lt;&lt; '&lt;ul id=&quot;' + &quot;#{method}-order&quot; + '&quot; class=&quot;label&quot;&gt;'
+            
+            if attachment = variable.send(method)
+              # Create first the remove link
+              remove_link = link_to_remote(tl(:remove), :url =&gt; &quot;/backend/attachments/#{attachment.id}&quot;, 
+                                                        :method =&gt; :delete, 
+                                                        :success =&gt; &quot;$('#{method}_#{attachment.id}').remove();&quot;)
+            
+              if options[:image]
+                fstyle  = &quot;float:left;margin:5px;margin-left:0px;&quot;
+                fclass  = &quot;box-image&quot;
+                ftag    = '&lt;div&gt;' + image_tag(attachment.url(:thumb)) + '&lt;/div&gt;'
+                ftag   += '&lt;div style=&quot;text-align:center;padding:5px;cursor:pointer&quot;&gt;'
+                ftag   += '  ' + remove_link
+                ftag   += '&lt;/div&gt;'
+              else
+                fstyle  = &quot;padding:5px;border-bottom:1px solid #DDE7F5;&quot;
+                fclass  = &quot;box-file&quot;
+                ftag    = '&lt;div style=&quot;float:left;cursor:pointer&quot;&gt;'
+                ftag   += ' ' + link_to(attachment.attached_file_name, attachment.url) + ' ' + number_to_human_size(attachment.attached_file_size)
+                ftag   += '&lt;/div&gt;'
+                ftag   += '&lt;div style=&quot;float:right;cursor:pointer&quot;&gt;'
+                ftag   += '  ' + remove_link
+                ftag   += '&lt;/div&gt;'
+                ftag   += '&lt;br style=&quot;clear:both&quot; /&gt;'
+              end
+            
+              html &lt;&lt; '&lt;li id=&quot;' + &quot;#{method}_#{attachment.id}&quot; + '&quot; class=&quot;' + fclass + '&quot; style=&quot;' + fstyle + '&quot;&gt;'
+              html &lt;&lt; ' ' + ftag
+              html &lt;&lt; '&lt;/li&gt;'
+            end # End of Loop
+            
+            html &lt;&lt; '&lt;/ul&gt;'
+            html &lt;&lt; '&lt;br style=&quot;clear:both&quot; /&gt;'
+          end
 
           flbl = options[:image] ? :upload_image : :upload_file
           html &lt;&lt; '&lt;div class=&quot;label-title&quot;&gt;' + tl(flbl) + '&lt;/div&gt;'
@@ -231,8 +267,9 @@ module Lipsiadmin
         # 
         # Options can be one of the following:
         # 
-        # &lt;tt&gt;:image&lt;/tt&gt;::     Indicate if the attachments are ONLY images.
-        # &lt;tt&gt;:order&lt;/tt&gt;::     Indicate if user can order files.
+        # &lt;tt&gt;:image&lt;/tt&gt;::       Indicate if the attachments are ONLY images.
+        # &lt;tt&gt;:only_upload&lt;/tt&gt;:: Indicate that is not necessary manage the old attachments.
+        # &lt;tt&gt;:order&lt;/tt&gt;::       Indicate if user can order files.
         # 
         # Examples:
         # 
@@ -251,50 +288,53 @@ module Lipsiadmin
           variable = instance_variable_get(&quot;@#{object_name}&quot;)
           html     = []
           html    &lt;&lt; '&lt;!-- Generated from Lipsiadmin --&gt;'
-          html    &lt;&lt; '&lt;ul id=&quot;' + &quot;#{method}-order&quot; + '&quot; class=&quot;label&quot;&gt;'
+          unless options[:only_upload]
+            html    &lt;&lt; '&lt;ul id=&quot;' + &quot;#{method}-order&quot; + '&quot; class=&quot;label&quot;&gt;'
+            
+            for attachment in variable.send(method).all(:order =&gt; :position)
+              # Create first the remove link
+              remove_link = link_to_remote(tl(:remove), :url =&gt; &quot;/backend/attachments/#{attachment.id}&quot;, 
+                                                        :method =&gt; :delete, 
+                                                        :success =&gt; &quot;$('#{method}_#{attachment.id}').remove();&quot;)
+            
+              if options[:image]
+                fstyle  = &quot;float:left;margin:5px;margin-left:0px;&quot;
+                fstyle += &quot;cursor:move;&quot; if options[:order]
+                fclass  = &quot;box-image&quot;
+                ftag    = '&lt;div&gt;' + image_tag(attachment.url(:thumb)) + '&lt;/div&gt;'
+                ftag   += '&lt;div style=&quot;text-align:center;padding:5px;cursor:pointer&quot;&gt;'
+                ftag   += '  ' + remove_link
+                ftag   += '&lt;/div&gt;'
+              else
+                fstyle  = &quot;padding:5px;border-bottom:1px solid #DDE7F5;&quot;
+                fstyle += &quot;cursor:move;&quot; if options[:order]
+                fclass  = &quot;box-file&quot;
+                ftag    = '&lt;div style=&quot;float:left;cursor:pointer&quot;&gt;'
+                ftag   += ' ' + link_to(attachment.attached_file_name, attachment.url) + ' ' + number_to_human_size(attachment.attached_file_size)
+                ftag   += '&lt;/div&gt;'
+                ftag   += '&lt;div style=&quot;float:right;cursor:pointer&quot;&gt;'
+                ftag   += '  ' + remove_link
+                ftag   += '&lt;/div&gt;'
+                ftag   += '&lt;br style=&quot;clear:both&quot; /&gt;'
+              end
+            
+              html &lt;&lt; '&lt;li id=&quot;' + &quot;#{method}_#{attachment.id}&quot; + '&quot; class=&quot;' + fclass + '&quot; style=&quot;' + fstyle + '&quot;&gt;'
+              html &lt;&lt; ' ' + ftag
+              html &lt;&lt; '&lt;/li&gt;'
+            end # End of Loop
+            
+            html &lt;&lt; '&lt;/ul&gt;'
+            html &lt;&lt; '&lt;br style=&quot;clear:both&quot; /&gt;'
+          
 
-          for attachment in variable.send(method).all(:order =&gt; :position)
-            # Create first the remove link
-            remove_link = link_to_remote(tl(:remove), :url =&gt; &quot;/backend/attachments/#{attachment.id}&quot;, 
-                                                      :method =&gt; :delete, 
-                                                      :success =&gt; &quot;$('#{method}_#{attachment.id}').remove();&quot;)
-
-            if options[:image]
-              fstyle  = &quot;float:left;margin:5px;margin-left:0px;&quot;
-              fstyle += &quot;cursor:move;&quot; if options[:order]
-              fclass  = &quot;box-image&quot;
-              ftag    = '&lt;div&gt;' + image_tag(attachment.url(:thumb)) + '&lt;/div&gt;'
-              ftag   += '&lt;div style=&quot;text-align:center;padding:5px;cursor:pointer&quot;&gt;'
-              ftag   += '  ' + remove_link
-              ftag   += '&lt;/div&gt;'
-            else
-              fstyle  = &quot;padding:5px;border-bottom:1px solid #DDE7F5;&quot;
-              fstyle += &quot;cursor:move;&quot; if options[:order]
-              fclass  = &quot;box-file&quot;
-              ftag    = '&lt;div style=&quot;float:left;cursor:pointer&quot;&gt;'
-              ftag   += ' ' + link_to(attachment.attached_file_name, attachment.url) + ' ' + number_to_human_size(attachment.attached_file_size)
-              ftag   += '&lt;/div&gt;'
-              ftag   += '&lt;div style=&quot;float:right;cursor:pointer&quot;&gt;'
-              ftag   += '  ' + remove_link
-              ftag   += '&lt;/div&gt;'
-              ftag   += '&lt;br style=&quot;clear:both&quot; /&gt;'
+            if options[:order]
+              constraint = options[:image] ? &quot;horizontal&quot; : &quot;vertical&quot;
+              html &lt;&lt; '&lt;div id=&quot;' + &quot;#{method}-message&quot; + '&quot; style=&quot;padding:5px&quot;&gt;&amp;nbsp;&lt;/div&gt;'
+              html &lt;&lt; sortable_element(&quot;#{method}-order&quot;, :url =&gt; &quot;/backend/attachments/order&quot;, :update =&gt; &quot;#{method}-message&quot;, :constraint =&gt; constraint,
+                                                          :complete =&gt; visual_effect(:highlight, &quot;#{method}-message&quot;, :duration =&gt; 0.5))
             end
-
-            html &lt;&lt; '&lt;li id=&quot;' + &quot;#{method}_#{attachment.id}&quot; + '&quot; class=&quot;' + fclass + '&quot; style=&quot;' + fstyle + '&quot;&gt;'
-            html &lt;&lt; ' ' + ftag
-            html &lt;&lt; '&lt;/li&gt;'
-          end # End of Loop
-
-          html &lt;&lt; '&lt;/ul&gt;'
-          html &lt;&lt; '&lt;br style=&quot;clear:both&quot; /&gt;'
-
-          if options[:order]
-            constraint = options[:image] ? &quot;horizontal&quot; : &quot;vertical&quot;
-            html &lt;&lt; '&lt;div id=&quot;' + &quot;#{method}-message&quot; + '&quot; style=&quot;padding:5px&quot;&gt;&amp;nbsp;&lt;/div&gt;'
-            html &lt;&lt; sortable_element(&quot;#{method}-order&quot;, :url =&gt; &quot;/backend/attachments/order&quot;, :update =&gt; &quot;#{method}-message&quot;, :constraint =&gt; constraint,
-                                                        :complete =&gt; visual_effect(:highlight, &quot;#{method}-message&quot;, :duration =&gt; 0.5))
           end
-
+          
           flbl = options[:image] ? :upload_images : :upload_files
           html &lt;&lt; '&lt;div class=&quot;label-title&quot;&gt;'+ tl(flbl) +'&lt;/div&gt;'
           html &lt;&lt; '&lt;table&gt;'
@@ -411,7 +451,8 @@ module Lipsiadmin
         # The third argument are callbacks that may be specified:
         # 
         # &lt;tt&gt;:before&lt;/tt&gt;::     Called before request is initiated.
-        # &lt;tt&gt;:update&lt;/tt&gt;::     Called after user press +save+ button.
+        # &lt;tt&gt;:after&lt;/tt&gt;::      Called after  request is initiated.
+        # &lt;tt&gt;:on_save&lt;/tt&gt;::    Called after user press +save+ button.
         #                        This call are performed in an handler where
         #                        you have access to one variables:
         #                        &lt;tt&gt;:win&lt;/tt&gt;::  Backend.window
@@ -427,7 +468,7 @@ module Lipsiadmin
         #   #       }
         #   #     }).show();
         #   # return false;&quot; href=&quot;#&quot;&gt;Edit Post&lt;/a&gt;
-        #   open_form &quot;Edit Post&quot;, &quot;/backend/posts/'+$('comment_post_id').value+'/edit&quot;, :update =&gt; &quot;someFn();&quot;
+        #   open_form &quot;Edit Post&quot;, &quot;/backend/posts/'+$('comment_post_id').value+'/edit&quot;, :update =&gt; &quot;someFn(win);&quot;
         #   
         def open_form(text, url, options={})
           options[:before] = options[:before] + &quot;;&quot; if options[:before]
@@ -437,11 +478,10 @@ module Lipsiadmin
               url: '#{url}', 
               form: true,
               listeners: {
-                saved: function(win){
-                  #{options[:update]}
-                }
+                saved: function(win){ #{options[:on_save]} },
+                close: function(panel){ #{options[:after]} }
               }
-            }).show()
+            }).show();
           JAVASCRIPT
           link_to_function(text, javascript.gsub(/\n/, &quot; &quot;))
         end
@@ -464,7 +504,7 @@ module Lipsiadmin
         # 
         #   Examples:
         # 
-        #     =box &quot;My Title&quot;, &quot;My Subtitle&quot;, :submit =&gt; true, :collapsible =&gt; true, :style =&gt; &quot;padding:none&quot;, :start =&gt; :close do
+        #     -box &quot;My Title&quot;, &quot;My Subtitle&quot;, :submit =&gt; true, :collapsible =&gt; true, :style =&gt; &quot;padding:none&quot;, :start =&gt; :close do
         #       my content
         # 
         # Defaults:
@@ -474,9 +514,9 @@ module Lipsiadmin
         # * :start =&gt; :close
         # 
         def box(title=nil, subtitle=nil, options={}, &amp;block)
-          options[:style] ||= &quot;width:99%;&quot;
+          options[:style] ||= &quot;width:100%;&quot;
           options[:start] ||= :open
-          return &lt;&lt;-HTML
+          concat &lt;&lt;-HTML
             &lt;div class=&quot;x-box&quot; style=&quot;#{options[:style]}&quot;&gt;
               &lt;div class=&quot;x-box-tl&quot;&gt;
                 &lt;div class=&quot;x-box-tr&quot;&gt;</diff>
      <filename>lib/view/helpers/backend_helper.rb</filename>
    </modified>
    <modified>
      <diff>@@ -35,20 +35,24 @@ module Lipsiadmin
       
       # This add automatically fields from an array
       def fields(fields)
-        fields.each { |options| add(nil, nil, options); }
+        fields.each { |options| add_column(nil, nil, options); }
       end
       
       # Add columns to a Ext.grid.ColumnModel
       #
       #   # Generates: { header: &quot;Created At&quot;, dataIndex: &quot;accounts.datetime&quot;, sortable =&gt; true }
-      #   add &quot;Created At&quot;, &quot;accounts.datetime&quot;, :sortable =&gt; l(true)
+      #   add &quot;Created At&quot;, &quot;accounts.datetime&quot;, :sortable =&gt; true
       # 
       # You can pass :renderer
       #   
       #   # Generates: Ext.util.Format.dateRenderer()
+      #   :render   =&gt; :time_to_date # This render a datetime to a date
+      #   # Generates: Ext.util.Format.dateRenderer()
       #   :renderer =&gt; :date
       #   # Generates: Ext.util.Format.dateTimeRenderer()
       #   :renderer =&gt; :datetime
+      #   # Generates: Ext.util.Format.percentage
+      #   :renderer =&gt; :percentage
       #   # Generates: Ext.util.Format.eurMoney
       #   :renderer =&gt; :eur_money
       #   # Generates: Ext.util.Format.usMoney
@@ -95,37 +99,39 @@ module Lipsiadmin
       #   :textfield     =&gt;   Ext.form.TextField
       #   :timefield     =&gt;   Ext.form.TimeField
       # 
-      def add(name=nil, data=nil, options={})
+      def add_column(name=nil, data=nil, options={})
         options[:header] = name if name
         options[:dataIndex] = data if data
         
         if options[:editor]
-          xtype = options[:editor].delete(:xtype)
+          xtype = options[:editor][:xtype]
           case xtype
             when :checkbox      then options.delete(:editor); options.merge!(:checkbox =&gt; true)
-            when :combo         then options.merge!(:editor =&gt; l(&quot;new Ext.form.ComboBox(#{Configuration.new(options[:editor]).to_s(3)})&quot;))
-            when :datefield     then options.merge!(:editor =&gt; l(&quot;new Ext.form.DateField(#{Configuration.new(options[:editor]).to_s(3)})&quot;))
-            when :numberfield   then options.merge!(:editor =&gt; l(&quot;new Ext.form.NumberField(#{Configuration.new(options[:editor]).to_s(3)})&quot;))
-            when :radio         then options.merge!(:editor =&gt; l(&quot;new Ext.form.Radio(#{Configuration.new(options[:editor]).to_s(3)})&quot;))
-            when :textarea      then options.merge!(:editor =&gt; l(&quot;new Ext.form.TextArea(#{Configuration.new(options[:editor]).to_s(3)})&quot;))
-            when :textfield     then options.merge!(:editor =&gt; l(&quot;new Ext.form.TextField(#{Configuration.new(options[:editor]).to_s(3)})&quot;))
-            when :timefield     then options.merge!(:editor =&gt; l(&quot;new Ext.form.TimeField(#{Configuration.new(options[:editor]).to_s(3)})&quot;))
-            when :datetimefield then options.merge!(:editor =&gt; l(&quot;new Ext.form.DateTimeField(#{Configuration.new(options[:editor]).to_s(3)})&quot;))
+            when :combo         then options.merge!(:editor =&gt; &quot;new Ext.form.ComboBox(#{Configuration.new(options[:editor]).to_s(3)})&quot;.to_l)
+            when :datefield     then options.merge!(:editor =&gt; &quot;new Ext.form.DateField(#{Configuration.new(options[:editor]).to_s(3)})&quot;.to_l)
+            when :numberfield   then options.merge!(:editor =&gt; &quot;new Ext.form.NumberField(#{Configuration.new(options[:editor]).to_s(3)})&quot;.to_l)
+            when :radio         then options.merge!(:editor =&gt; &quot;new Ext.form.Radio(#{Configuration.new(options[:editor]).to_s(3)})&quot;.to_l)
+            when :textarea      then options.merge!(:editor =&gt; &quot;new Ext.form.TextArea(#{Configuration.new(options[:editor]).to_s(3)})&quot;.to_l)
+            when :textfield     then options.merge!(:editor =&gt; &quot;new Ext.form.TextField(#{Configuration.new(options[:editor]).to_s(3)})&quot;.to_l)
+            when :timefield     then options.merge!(:editor =&gt; &quot;new Ext.form.TimeField(#{Configuration.new(options[:editor]).to_s(3)})&quot;.to_l)
+            when :datetimefield then options.merge!(:editor =&gt; &quot;new Ext.form.DateTimeField(#{Configuration.new(options[:editor]).to_s(3)})&quot;.to_l)
           end
         end
         
         case options[:renderer]
-          when :date        then options.merge!(:renderer =&gt; l(&quot;Ext.util.Format.dateRenderer()&quot;))
-          when :datetime    then options.merge!(:renderer =&gt; l(&quot;Ext.util.Format.dateTimeRenderer()&quot;))
-          when :eur_money   then options.merge!(:renderer =&gt; l(&quot;Ext.util.Format.eurMoney&quot;))
-          when :us_money    then options.merge!(:renderer =&gt; l(&quot;Ext.util.Format.usMoney&quot;))
-          when :boolean     then options.merge!(:renderer =&gt; l(&quot;Ext.util.Format.boolRenderer&quot;))
-          when :capitalize  then options.merge!(:renderer =&gt; l(&quot;Ext.util.Format.capitalize&quot;))
-          when :file_size   then options.merge!(:renderer =&gt; l(&quot;Ext.util.Format.fileSize&quot;))
-          when :downcase    then options.merge!(:renderer =&gt; l(&quot;Ext.util.Format.lowercase&quot;))
-          when :trim        then options.merge!(:renderer =&gt; l(&quot;Ext.util.Format.trim&quot;))
-          when :undef       then options.merge!(:renderer =&gt; l(&quot;Ext.util.Format.undef&quot;))
-          when :upcase      then options.merge!(:renderer =&gt; l(&quot;Ext.util.Format.uppercase&quot;))
+          when :time_to_date then options.merge!(:renderer =&gt; &quot;Ext.util.Format.dateRenderer()&quot;.to_l)
+          when :date         then options.merge!(:renderer =&gt; &quot;Ext.util.Format.dateRenderer()&quot;.to_l)
+          when :datetime     then options.merge!(:renderer =&gt; &quot;Ext.util.Format.dateTimeRenderer()&quot;.to_l)
+          when :percentage   then options.merge!(:renderer =&gt; &quot;Ext.util.Format.percentage&quot;.to_l)
+          when :eur_money    then options.merge!(:renderer =&gt; &quot;Ext.util.Format.eurMoney&quot;.to_l)
+          when :us_money     then options.merge!(:renderer =&gt; &quot;Ext.util.Format.usMoney&quot;.to_l)
+          when :boolean      then options.merge!(:renderer =&gt; &quot;Ext.util.Format.boolRenderer&quot;.to_l)
+          when :capitalize   then options.merge!(:renderer =&gt; &quot;Ext.util.Format.capitalize&quot;.to_l)
+          when :file_size    then options.merge!(:renderer =&gt; &quot;Ext.util.Format.fileSize&quot;.to_l)
+          when :downcase     then options.merge!(:renderer =&gt; &quot;Ext.util.Format.lowercase&quot;.to_l)
+          when :trim         then options.merge!(:renderer =&gt; &quot;Ext.util.Format.trim&quot;.to_l)
+          when :undef        then options.merge!(:renderer =&gt; &quot;Ext.util.Format.undef&quot;.to_l)
+          when :upcase       then options.merge!(:renderer =&gt; &quot;Ext.util.Format.uppercase&quot;.to_l)
         end
         
         raise ComponentError, &quot;You must provide header and dataIndex for generate a column model&quot; if options[:header].blank? || </diff>
      <filename>lib/view/helpers/ext/column_model.rb</filename>
    </modified>
    <modified>
      <diff>@@ -22,7 +22,7 @@ module Lipsiadmin#:nodoc:
         @var    = options.delete(:var)
         @config = Configuration.new(options)
         @before, @after = [], []
-      
+        @items  = {}
         if self.class == Component &amp;&amp; block_given?
           yield self 
         end
@@ -47,12 +47,22 @@ module Lipsiadmin#:nodoc:
       #      
       def get_var
         # I will nillify obj if they are blank
-        @var = nil            if @var == &quot;&quot;
-        @config.delete(:var)  if @config[:var] == &quot;&quot;
+        @var = nil            if @var.blank?
+        @config.delete(:var)  if @config[:var].blank?
+        
         # Return a correct var
         current_var = (@var || @config[:var] || build_var)
         @prefix.to_s + current_var.to_s
       end
+
+      # Define the title of the component.
+      # 
+      # Every component can have a title, because in Lipsiadmin we use it 
+      # as a &quot;pagetitle&quot;, but if you need it as a config you can provide global = false
+      # 
+      def title(title, global=true)
+        global ? (before &lt;&lt; &quot;Backend.app.setTitle(#{title.to_json});&quot;) :  config[:title] = title
+      end
       
       # Write the the configuration of object from an hash
       #
@@ -60,17 +70,17 @@ module Lipsiadmin#:nodoc:
         @config = Configuration.new(options)
       end
 
-      # Read the the configuration of object from an hash
+      # Return the configuration hash
       #
       def config
         @config
       end
       
-      def method_missing(method, arg=nil)#:nodoc:
-        if method.to_s.start_with?(&quot;get_&quot;)
-          @config[method.to_s.gsub(&quot;get_&quot;, &quot;&quot;).to_sym]
+      def method_missing(method, arguments=nil, &amp;block)#:nodoc:
+        if method.to_s =~ /^get_/
+          @config[method.to_s.gsub(/^get_/, &quot;&quot;).to_sym]
         else
-          add_object(method, arg)
+          add_object(method, arguments)
         end
       end
       
@@ -104,44 +114,53 @@ module Lipsiadmin#:nodoc:
       #     #       new();
       #     #       Ext.Msg.alert(&quot;Hello&quot;, &quot;world&quot;);
       #     #     });
-      # 
       #     grid.on :dblclick do |p|
       #       p.call &quot;edit&quot;
       #       p.call &quot;new&quot;
       #       p.ext_alert &quot;Hello&quot;, &quot;world&quot;
       #     end
+      # 
       def on(event, function=nil, scope=nil, &amp;block)
         # Remove old handlers
-        remove_listener(event)
-        scope = &quot;, #{l(scope)}&quot; unless scope.blank?        
+        un(event)
+        scope = &quot;, #{scope.to_l}&quot; unless scope.blank?        
         if function
           after &lt;&lt; &quot;#{get_var}.on(#{event.to_json}, #{function}#{scope});&quot;
         else
           generator = ActionView::Helpers::PrototypeHelper::JavaScriptGenerator.new(self, &amp;block)
-          after &lt;&lt; &quot;#{get_var}.on(#{event.to_json}, function() { #{generator.to_s.gsub(&quot;\n&quot;, &quot;\n  &quot;)}\n}#{scope});&quot;
+          after &lt;&lt; &quot;#{get_var}.on(#{event.to_json}, function() { \n  #{generator.to_s.gsub(&quot;\n&quot;, &quot;\n  &quot;)}\n}#{scope});&quot;
         end
       end
-      alias_method :add_listener, :on
       
       # Remove a listener
+      #   
+      #   Example: grid.un(:dblclick)
       # 
-      #   Example: grid.remove_listener(:dblclick)
-      def remove_listener(event)
-        @after.delete_if { |s| s.start_with?(&quot;#{get_var}.on(#{event.to_json}&quot;) if s.is_a?(String) }
+      def un(event)
+        found = @after.delete_if { |s| s.start_with?(&quot;#{get_var}.on(#{event.to_json}&quot;) if s.is_a?(String) }
+        after &lt;&lt; &quot;#{get_var}.un(#{event.to_json})&quot; unless found
       end
       
-      # Generates a new Component for generate on the fly ExtJs Objects
+      # Generates and add new Component for generate on the fly ExtJs Objects
       # 
       #   Examples:
       # 
       #     # Generates:
-      #     #   var myComponent = new MyComponent({
-      #     #     default: true
-      #     #   });
-      #     grid.my_component grid.new_component(&quot;MyComponent&quot;) { |p| p.default true }
+      #     #   var panel = new Ext.Panel({
+      #     #     id: 'testPanel',
+      #     #     region: 'center',
+      #     #     ...
+      #     #   })
+      #     #   mycmp.add(panel)
+      #     #   
+      #     mycmp.add &quot;Ext.Panel&quot; do |panel| 
+      #       panel.id &quot;testPanel&quot;,
+      #       panel.region :center
+      #       ...
+      #     end
       # 
-      def new_component(klass, options={}, &amp;block)
-        Component.new(klass, options, &amp;block)
+      def add(klass, options={}, &amp;block)
+        add_object(Component.new(klass, options.merge(:prefix =&gt; get_var), &amp;block))
       end
       
       # Used by ActionView::Helpers::PrototypeHelper::JavaScriptGenerator
@@ -149,31 +168,23 @@ module Lipsiadmin#:nodoc:
         yield
       end
       
-      
       # Returns the javascript for current component
-      #
+      # 
       #   # Generates: var rowSelectionModel = Ext.grid.RowSelectionModel();
-      #   Component.new(&quot;Ext.grid.RowSelectionModel&quot;)
+      #   Component.new(&quot;Ext.grid.RowSelectionModel&quot;).to_s
       # 
-      def to_s
-        script = []
-        script &lt;&lt; @before.uniq.compact.join(&quot;\n\n&quot;)
-        script &lt;&lt; &quot;var #{get_var} = new #{@klass}(#{config.to_s});&quot;
-        script &lt;&lt; @after.uniq.compact.join(&quot;\n\n&quot;)
+      def to_s(options={})
+        script = returning [] do |script|
+          script &lt;&lt; @before.uniq.compact.join(&quot;\n\n&quot;)
+          script &lt;&lt; &quot;var #{get_var} = new #{@klass}(#{config.to_s});&quot;
+          script &lt;&lt; @after.uniq.compact.join(&quot;\n\n&quot;)
+        end
         script.delete_if { |s| s.blank? }.join(&quot;\n\n&quot;)
       end
       
       def raise_error(error)#:nodoc:
          raise ComponentError, error
       end
-      
-      # Returns an object whose &lt;tt&gt;to_json&lt;/tt&gt; evaluates to +code+. Use this to pass a literal JavaScript 
-      # expression as an argument to another JavaScriptGenerator method.
-      #
-      def literal(code)
-        ActiveSupport::JSON::Variable.new(code.to_s)
-      end
-      alias_method :l, :literal
 
       private
         def render_javascript(template, assigns)
@@ -187,7 +198,8 @@ module Lipsiadmin#:nodoc:
             object.prefix = get_var
             @before.delete_if { |b| b.start_with?(&quot;var #{object.get_var} = new&quot;) }
             @before &lt;&lt; object.to_s
-            @config[name.to_sym] = l(object.get_var)
+            @config[name.to_sym] = object.get_var.to_l
+            @items.merge!({ name.to_s.to_sym =&gt; object })
           else
             @config[name.to_sym] = object
           end</diff>
      <filename>lib/view/helpers/ext/component.rb</filename>
    </modified>
    <modified>
      <diff>@@ -14,9 +14,10 @@ module Lipsiadmin
       # Optionally you can specify the indentation spaces.
       def to_s(indent=1)
         return if self.empty?
-        i = (&quot;  &quot;*indent)
+        i = (&quot; &quot;*indent)
         s = self.size &gt; 0 ? &quot;\n&quot; : &quot;  &quot;
-        &quot;{#{s}&quot; + self.reject { |k,v| k.blank? || v.to_s.blank? }.collect { |k,v| &quot;#{i*2}#{k}: #{s(v)}&quot; if k != :var }.join(&quot;,#{s}&quot;) + &quot;#{s}#{i}}&quot;
+        r = &quot;{#{s}&quot; + self.collect { |k,v| &quot;#{i*2}#{k}: #{s(v)}&quot; if k != :var }.join(&quot;,#{s}&quot;) + &quot;#{s}#{i if i.size &gt; 1}}&quot;
+        return r =~ /\{\s*\}/ ? &quot;&quot; : r
       end
       
       private</diff>
      <filename>lib/view/helpers/ext/configuration.rb</filename>
    </modified>
    <modified>
      <diff>@@ -27,7 +27,7 @@ module Lipsiadmin
     #     grid.base_path &quot;/backend/posts&quot;
     #     grid.forgery_protection_token request_forgery_protection_token
     #     grid.authenticity_token form_authenticity_token
-    #     grid.tbar  :default
+    #     grid.tbar  :default # or [:add, :edit, :delete] or [:edit, :delete]
     #     grid.store do |store|
     #       store.url &quot;/backend/posts.json&quot;
     #       store.fields @column_store.store_fields
@@ -52,20 +52,20 @@ module Lipsiadmin
       def initialize(options={}, &amp;block)#:nodoc:
         # Call Super Class for initialize configuration
         @editable = options.delete(:editable)
-        
-        super(&quot;Ext.grid.#{@editable ? 'EditorGridPanel' : 'GridPanel' }&quot;, options)
+        super(&quot;Ext.grid.#{@editable ? 'EditorGridPanel' : 'GridPanel' }&quot;, { :plugins =&gt; [] }.merge(options))
 
         # Write default configuration if not specified
         config[:plugins]      ||= []
         viewConfig            :forceFit =&gt; true
-        clicksToEdit          1
         border                false
         bodyBorder            false
+        clicksToEdit          1
         region                &quot;center&quot;
         sm                    :checkbox
-        add_plugin            l(&quot;new Ext.grid.Search()&quot;)
         view                  :default
         render                true
+        config[:plugins] &lt;&lt;   &quot;new Ext.grid.Search()&quot;.to_l
+        
         # We need to add a setTimeout because, we destroy
         # the grid before loading a new page/js.
         on(:dblclick) do |p|
@@ -88,29 +88,14 @@ module Lipsiadmin
       # 
       def sm(object)
         selmodel = case object
-          when :default  then Component.new(&quot;Ext.grid.CheckboxSelectionModel&quot;)
-          when :checkbox then Component.new(&quot;Ext.grid.CheckboxSelectionModel&quot;)
-          when :row      then Component.new(&quot;Ext.grid.RowSelectionModel&quot;)
+          when :default  then Component.new(&quot;Ext.grid.CheckboxSelectionModel&quot;, :prefix =&gt; get_var)
+          when :checkbox then Component.new(&quot;Ext.grid.CheckboxSelectionModel&quot;, :prefix =&gt; get_var)
+          when :row      then Component.new(&quot;Ext.grid.RowSelectionModel&quot;,      :prefix =&gt; get_var)
           else object
         end
         add_object(:sm, selmodel)
       end
       
-      # Define the title of the grid
-      def title(title, global=true)
-        global ? (before &lt;&lt; &quot;Backend.app.setTitle(#{title.to_json});&quot;) :  config[:title] = title
-      end
-      
-      # Assign plugins for the current grid
-      def plugins(plugins)
-        config[:plugins] = plugins
-      end
-      
-      # Add a single plugin to the grid plugins
-      def add_plugin(plugins)
-        config[:plugins] &lt;&lt; plugins
-      end
-          
       # Generate or set a new Ext.Toolbar
       # You can pass tbar :default options that will create 
       # defaults buttons for add, edit and remove records, it's generate also
@@ -142,12 +127,27 @@ module Lipsiadmin
       #   tbar  :default
       # 
       def tbar(object=nil, &amp;block)
-        tbar = object.is_a?(ToolBar) ? object : ToolBar.new
-        if object == :default
-          tbar.add l(&quot;Backend.locale.buttons.add&quot;),    :id =&gt; &quot;add&quot;,    :disabled =&gt; literal(false), :cls =&gt; &quot;x-btn-text-icon add&quot;,    :handler =&gt; l(&quot;add&quot;)
-          tbar.add l(&quot;Backend.locale.buttons.edit&quot;),   :id =&gt; &quot;edit&quot;,   :disabled =&gt; literal(true),  :cls =&gt; &quot;x-btn-text-icon edit&quot;,   :handler =&gt; l(&quot;edit&quot;)
-          tbar.add l(&quot;Backend.locale.buttons.remove&quot;), :id =&gt; &quot;remove&quot;, :disabled =&gt; literal(true),  :cls =&gt; &quot;x-btn-text-icon remove&quot;, :handler =&gt; l(&quot;remove&quot;)
-          @default_tbar = true 
+        tbar = object.is_a?(ToolBar) ? object : ToolBar.new(:prefix =&gt; get_var)
+        if object == :default || object == :all
+          tbar.add_button :text =&gt; &quot;Backend.locale.buttons.add&quot;.to_l,    :id =&gt; &quot;add&quot;,    :disabled =&gt; false, :cls =&gt; &quot;x-btn-text-icon add&quot;,    :handler =&gt; &quot;add&quot;.to_l
+          tbar.add_button :text =&gt; &quot;Backend.locale.buttons.edit&quot;.to_l,   :id =&gt; &quot;edit&quot;,   :disabled =&gt; true,  :cls =&gt; &quot;x-btn-text-icon edit&quot;,   :handler =&gt; &quot;edit&quot;.to_l
+          tbar.add_button :text =&gt; &quot;Backend.locale.buttons.remove&quot;.to_l, :id =&gt; &quot;remove&quot;, :disabled =&gt; true,  :cls =&gt; &quot;x-btn-text-icon remove&quot;, :handler =&gt; &quot;remove&quot;.to_l
+          @ttbar_add, @ttbar_edit, @ttbar_delete = true, true, true
+        end
+        if object.is_a?(Array)
+          object.each do |button|
+            case button
+              when :add
+                tbar.add_button :text =&gt; &quot;Backend.locale.buttons.add&quot;.to_l,    :id =&gt; &quot;add&quot;,    :disabled =&gt; false, :cls =&gt; &quot;x-btn-text-icon add&quot;,    :handler =&gt; &quot;add&quot;.to_l
+                @ttbar_add = true
+              when :edit
+                tbar.add_button :text =&gt; &quot;Backend.locale.buttons.edit&quot;.to_l,   :id =&gt; &quot;edit&quot;,   :disabled =&gt; true,  :cls =&gt; &quot;x-btn-text-icon edit&quot;,   :handler =&gt; &quot;edit&quot;.to_l
+                @ttbar_edit = true
+              when :delete
+                tbar.add_button :text =&gt; &quot;Backend.locale.buttons.remove&quot;.to_l, :id =&gt; &quot;remove&quot;, :disabled =&gt; true,  :cls =&gt; &quot;x-btn-text-icon remove&quot;, :handler =&gt; &quot;remove&quot;.to_l
+                @ttbar_delete = true
+            end
+          end
         end
         yield tbar if block_given?
         add_object(:tbar, tbar)
@@ -164,7 +164,7 @@ module Lipsiadmin
       #   bbar :pageSize =&gt; params[:limit], :store =&gt; store.get_var, displayInfo: true
       # 
       def bbar(object=nil, &amp;block)
-        bbar = object.is_a?(Hash) ? Component.new(&quot;Ext.PagingToolbar&quot;, object) : object
+        bbar = object.is_a?(Hash) ? Component.new(&quot;Ext.PagingToolbar&quot;, object.merge(:prefix =&gt; get_var)) : object
         add_object(:bbar, bbar)
       end
 
@@ -180,8 +180,8 @@ module Lipsiadmin
       # 
       def view(object=nil, &amp;block)
         view = case object
-          when :default then Component.new(&quot;Ext.grid.GroupingView&quot;, { :forceFit =&gt; true })
-          when Hash     then Component.new(&quot;Ext.grid.GroupingView&quot;, { :forceFit =&gt; true }.merge(object))
+          when :default then Component.new(&quot;Ext.grid.GroupingView&quot;, { :forceFit =&gt; true, :prefix =&gt; get_var })
+          when Hash     then Component.new(&quot;Ext.grid.GroupingView&quot;, { :forceFit =&gt; true, :prefix =&gt; get_var }.merge(object))
           else object
         end
         add_object(:view, view)
@@ -189,7 +189,7 @@ module Lipsiadmin
       
       # Generate or set a new Ext.data.GroupingStore
       def store(object=nil, &amp;block)
-        store = object.is_a?(Store) ? object : Store.new(&amp;block)
+        store = object.is_a?(Store) ? object : Store.new(:prefix =&gt; get_var, &amp;block)
         add_object(:store, store)
       end
       
@@ -199,7 +199,7 @@ module Lipsiadmin
         if config[:sm] &amp;&amp; before.find { |js| js.start_with?(&quot;var #{config[:sm]} = new Ext.grid.CheckboxSelectionModel&quot;) }
           options[:columns] &lt;&lt; config[:sm]
         end
-        cm = object.is_a?(ColumnModel) ? value : ColumnModel.new(options, &amp;block)
+        cm = object.is_a?(ColumnModel) ? value : ColumnModel.new(options.merge(:prefix =&gt; get_var), &amp;block)
         add_object(:cm, cm)
       end
       
@@ -255,15 +255,15 @@ module Lipsiadmin
       def get_selected(data=:id)
         raise_error &quot;No Column Selection Model Defined&quot; if config[:sm].blank?
         if data.to_sym == :id
-          l(&quot;#{config[:sm]}.getSelected().id&quot;)
+         &quot;#{config[:sm]}.getSelected().id&quot;.to_l
         else
-          l(&quot;#{config[:sm]}.getSelected().data[#{data.to_json}]&quot;)
+          &quot;#{config[:sm]}.getSelected().data[#{data.to_json}]&quot;
         end
       end
       
       # Return the javascript for create a new Ext.grid.GridPanel
       def to_s
-        if @default_tbar
+        if @ttbar_add || @ttbar_edit || @ttbar_delete
           raise_error &quot;You must provide the base_path for autobuild toolbar.&quot;                      if @base_path.blank? &amp;&amp; @new_path.blank? &amp;&amp; @edit_path.blank? &amp;&amp; @destroy_path.blank?
           raise_error &quot;You must provide the new_path for autobuild button new of toolbar.&quot;         if @base_path.blank? &amp;&amp; @new_path.blank?
           raise_error &quot;You must provide the edit_path for autobuild button edit of toolbar.&quot;       if @base_path.blank? &amp;&amp; @edit_path.blank?
@@ -275,9 +275,7 @@ module Lipsiadmin
           raise_error &quot;You must provide the store.&quot;                                                if config[:store].blank?
         end
         
-        if @default_tbar
-          after &lt;&lt; render_javascript(:grid_functions, :var =&gt; get_var, :store =&gt; config[:store], :sm =&gt; config[:sm], :tbar =&gt; config[:tbar], :editable =&gt; @editable)
-        end
+        after &lt;&lt; render_javascript(:grid_functions, :var =&gt; get_var, :store =&gt; config[:store], :sm =&gt; config[:sm], :tbar =&gt; config[:tbar], :editable =&gt; @editable)
         
         if config[:store] &amp;&amp; @render
           after &lt;&lt; &quot;#{config[:store]}.on('beforeload', function(){ Backend.app.mask(); });&quot;</diff>
      <filename>lib/view/helpers/ext/grid.rb</filename>
    </modified>
    <modified>
      <diff>@@ -36,10 +36,9 @@ module Lipsiadmin#:nodoc:
     #   end
     #
     class Store &lt; Component
-      attr_accessor :items
-      
+
       def initialize(options={}, &amp;block)#:nodoc:
-        @items   = []
+        @fields   = []
         super(&quot;Ext.data.GroupingStore&quot;, options)
         remoteSort true                     if config[:remoteSort].blank?
         baseParams(&quot;_method&quot; =&gt; &quot;GET&quot;)      if config[:baseParams].blank?
@@ -53,7 +52,7 @@ module Lipsiadmin#:nodoc:
       
       # This add automatically fields from an array
       def fields(fields)
-        fields.each { |options| add(nil, options) }
+        fields.each { |options| add_field(nil, options) }
       end
 
       # Add fields to a Ext.data.JsonReader 
@@ -69,21 +68,22 @@ module Lipsiadmin#:nodoc:
       # 
       #   add &quot;accounts.datetime&quot;, :type =&gt; :datetime
       #
-      def add(name=nil, options={})#:nodoc:
+      def add_field(name=nil, options={})#:nodoc:
         options[:name] = name if name
         case options[:type]
-          when :date     then options.merge!({ :type =&gt; &quot;date&quot;, :dateFormat =&gt; &quot;Y-m-d&quot; })
-          when :datetime then options.merge!({ :type =&gt; &quot;date&quot;, :dateFormat =&gt; &quot;c&quot; })
+          when :date          then options.merge!({ :type =&gt; &quot;date&quot;, :dateFormat =&gt; &quot;Y-m-d&quot; })
+          when :time_to_date  then options.merge!({ :type =&gt; &quot;date&quot;, :dateFormat =&gt; &quot;c&quot; })
+          when :datetime      then options.merge!({ :type =&gt; &quot;date&quot;, :dateFormat =&gt; &quot;c&quot; })
         end
         raise ComponentError, &quot;You must provide a Name for all fields&quot; if options[:name].blank?
-        @items &lt;&lt; Configuration.new(options)
+        @fields &lt;&lt; Configuration.new(options)
       end
       
       # Return the javascript for create a new Ext.data.GroupingStore 
       def to_s
         raise ComponentError, &quot;You must provide the correct var the store.&quot;       if get_var.blank?
         raise ComponentError, &quot;You must provide the url for get the store data.&quot;  if @url.blank? &amp;&amp; config[:proxy].blank?
-        raise ComponentError, &quot;You must provide some fields for get build store.&quot; if items.blank?
+        raise ComponentError, &quot;You must provide some fields for get build store.&quot; if @fields.blank?
         config[:proxy]  = default_proxy  if config[:proxy].blank?
         config[:reader] = default_reader if config[:reader].blank?
         super
@@ -91,12 +91,12 @@ module Lipsiadmin#:nodoc:
       
       private
         def default_proxy
-          l(&quot;new Ext.data.HttpProxy(#{Configuration.new(:url =&gt; @url).to_s(2)})&quot;)
+         &quot;new Ext.data.HttpProxy(#{Configuration.new(:url =&gt; @url).to_s(2)})&quot;.to_l
         end
 
         def default_reader
-          options = { :id =&gt; &quot;id&quot;, :totalProperty =&gt; &quot;count&quot;, :root =&gt; &quot;results&quot;, :fields =&gt; l(&quot;[&quot;+items.collect { |i| i.to_s(3) }.join(&quot;,&quot;)+&quot;]&quot;)  }
-          l(&quot;new Ext.data.JsonReader(#{Configuration.new(options).to_s(2)})&quot;)
+          options = { :id =&gt; &quot;id&quot;, :totalProperty =&gt; &quot;count&quot;, :root =&gt; &quot;results&quot;, :fields =&gt; (&quot;[&quot;+@fields.collect { |i| i.to_s(3) }.join(&quot;,&quot;)+&quot;]&quot;).to_l  }
+          &quot;new Ext.data.JsonReader(#{Configuration.new(options).to_s(2)})&quot;.to_l
         end
 
     end</diff>
      <filename>lib/view/helpers/ext/store.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,17 +1,19 @@
+&lt;% if @ttbar_edit || @ttbar_delete %&gt;
 &lt;%= @sm %&gt;.on('selectionchange', function(){
   var n = &lt;%= @sm %&gt;.getSelected();
   var btns = &lt;%= @tbar %&gt;.items.map;
 
    if(!n){
-    btns.remove.disable();
-    btns.edit.disable();
-     return;
+    &lt;% if @ttbar_delete %&gt;btns.remove.disable();&lt;% end %&gt;
+    &lt;% if @ttbar_edit %&gt;btns.edit.disable();&lt;% end %&gt;
+    return;
   } else {
-    btns.remove.enable();
-    btns.edit.enable();
+    &lt;% if @ttbar_delete %&gt;btns.remove.enable();&lt;% end %&gt;
+    &lt;% if @ttbar_edit %&gt;btns.edit.enable();&lt;% end %&gt;
     return;
    }
 });
+&lt;% end %&gt;
 
 &lt;% if @editable %&gt;
 &lt;%= @var %&gt;.on('cellmousedown', function(grid, rowIndex, colIndex, e){
@@ -62,15 +64,17 @@
   });
 });
 &lt;% end %&gt;
-
+&lt;% if @ttbar_add %&gt;
 function add(){
   Backend.app.load('&lt;%= @new_path.blank? ? &quot;#{@base_path}/new&quot; : @new_path %&gt;');
 }
-
+&lt;% end %&gt;
+&lt;% if @ttbar_edit %&gt;
 function edit(){
   Backend.app.load('&lt;%= @edit_path || @base_path %&gt;/'+&lt;%= @sm %&gt;.getSelected().id+'/edit');
 }
-
+&lt;% end %&gt;
+&lt;% if @ttbar_delete %&gt;
 function remove(){
   Ext.Msg.confirm(Backend.locale.messages.confirm.title, String.format(Backend.locale.messages.confirm.message, &lt;%= @sm %&gt;.getCount()), function(btn, text){
     if (btn == 'yes'){
@@ -98,4 +102,5 @@ function remove(){
       })
     }
   });
-}
\ No newline at end of file
+}
+&lt;% end %&gt;
\ No newline at end of file</diff>
      <filename>lib/view/helpers/ext/templates/grid_functions.js.erb</filename>
    </modified>
    <modified>
      <diff>@@ -5,7 +5,7 @@ module Lipsiadmin
     #   Examples:
     # 
     #     var toolBar = new Ext.Toolbar([{
-    #         handler: show();,
+    #         handler: show,
     #         text: &quot;Add&quot;,
     #         other: &quot;...&quot;,
     #         icon: &quot;...&quot;
@@ -16,25 +16,24 @@ module Lipsiadmin
     #     }]);
     #
     #   grid.tbar do |bar|
-    #     bar.add &quot;Add&quot;,  :handler =&gt; bar.l(&quot;show();&quot;), :icon =&gt; &quot;...&quot;, :other =&gt; &quot;...&quot;
-    #     bar.add &quot;Edit&quot;, :handler =&gt; bar.l(&quot;Backend.app.loadHtml('/accounts/'+accounts_grid.getSelected().id+'/edit')&quot;), :other =&gt; &quot;...&quot;
+    #     bar.add &quot;Add&quot;,  :handler =&gt; &quot;show&quot;.to_l, :icon =&gt; &quot;...&quot;, :other =&gt; &quot;...&quot;
+    #     bar.add &quot;Edit&quot;, :handler =&gt; &quot;Backend.app.loadHtml('/accounts/'+accounts_grid.getSelected().id+'/edit')&quot;.to_l, :other =&gt; &quot;...&quot;
     #   end
     #
     class ToolBar &lt; Component
-      attr_accessor :items
+
       def initialize(options={}, &amp;block)#:nodoc:
-        super(&quot;Ext.Toolbar&quot;, { :items =&gt; [] }.merge(options))
+        super(&quot;Ext.Toolbar&quot;, { :buttons =&gt; [] }.merge(options))
         yield self if block_given?
       end
       
       # Add new items to a Ext.Toolbar
       # 
-      #   # Generates: { handler: show();, text: &quot;Add&quot;, other: &quot;...&quot;, icon: &quot;...&quot; }
-      #   add &quot;Add&quot;,  :handler =&gt; bar.l(&quot;show();&quot;), :icon =&gt; &quot;...&quot;, :other =&gt; &quot;...&quot;
+      #   # Generates: { handler: show, text: &quot;Add&quot;, other: &quot;...&quot;, icon: &quot;...&quot; }
+      #   add_button :text =&gt; &quot;Add&quot;,  :handler =&gt; &quot;show&quot;.to_l, :icon =&gt; &quot;...&quot;, :other =&gt; &quot;...&quot;
       # 
-      def add(name, options={})
-        options[:text] = name
-        config[:items] &lt;&lt; Configuration.new(options)
+      def add_button(options, &amp;block)
+        config[:buttons] &lt;&lt; (options.is_a?(String) ? options : Button.new(options, &amp;block).config)
       end
     end
   end</diff>
      <filename>lib/view/helpers/ext/tool_bar.rb</filename>
    </modified>
    <modified>
      <diff>@@ -2,6 +2,7 @@ require 'view/helpers/ext/component'
 require 'view/helpers/ext/grid'
 require 'view/helpers/ext/column_model'
 require 'view/helpers/ext/tool_bar'
+require 'view/helpers/ext/button'
 require 'view/helpers/ext/configuration'
 require 'view/helpers/ext/store'
 
@@ -46,9 +47,9 @@ module Lipsiadmin
         #   # Generates: Backend.app.loadJs('/my/javascript.js');
         #   load(:controller =&gt; :my, :action =&gt; :javascript, :format =&gt; :js)
         #
-        def load(location, cache = false)
+        def load(location)
           url = location.is_a?(String) ? location : @context.url_for(location)
-          call &quot;Backend.app.load&quot;, url, cache
+          call &quot;Backend.app.load&quot;, url
         end
       
         # Show errors (if they are) for the given +objects+ and show a Ext.Message </diff>
      <filename>lib/view/helpers/ext_helper.rb</filename>
    </modified>
    <modified>
      <diff>@@ -10,10 +10,6 @@ Please remember to:
   
       - has_one_attachment :myfile
       - has_many_attachments :myfiles
-  
-  - Check/Add in account_access.rb
-	
-	  - role.allow_all_actions &quot;/backend/attachments&quot;
       
   You can add some validations/processor in your models like:
   </diff>
      <filename>lipsiadmin_generators/attachment/REMEMBER</filename>
    </modified>
    <modified>
      <diff>@@ -1,7 +1,7 @@
 class CreateAttachments &lt; ActiveRecord::Migration
   def self.up
     create_table :attachments, :force =&gt; true do |t|
-      t.string     :attached_file_name, 
+      t.string     :attached_file_name 
       t.string     :attached_content_type
       t.integer    :attached_file_size
       t.references :attacher,             :polymorphic =&gt; true</diff>
      <filename>lipsiadmin_generators/attachment/templates/migration.rb</filename>
    </modified>
    <modified>
      <diff>@@ -2,13 +2,12 @@ common:
   project: My Rails App
   email_from: info@lipsiadmin.com
   email_help: help@lipsiasoft.com
-  host_addr: http://www.lipsiasoft.com
 
 production:
   host_addr: http://www.lipsiasoft.com
 
 development:
-  host_addr: localhost:3000
+  host_addr: http://localhost:3000
   
 test:
-  host_addr: localhost:3000
\ No newline at end of file
+  host_addr: http://localhost:3000
\ No newline at end of file</diff>
      <filename>lipsiadmin_generators/backend/templates/config/config.yml</filename>
    </modified>
    <modified>
      <diff>@@ -10,6 +10,8 @@ en:
       editForm: &quot;Edit {{model}} {{value}}&quot;
       newForm: &quot;New {{model}}&quot;
       cantDelete: &quot;You cannot delete this record.&quot;
+      page: &quot;Page&quot;
+      of: &quot;of&quot;
     sessions:
       wrong: &quot;Wrong email or password&quot;
       logout: &quot;Correctly Logged Out&quot;</diff>
      <filename>lipsiadmin_generators/backend/templates/config/locales/backend/en.yml</filename>
    </modified>
    <modified>
      <diff>@@ -9,6 +9,8 @@ it:
       editForm: &quot;Modifica {{model}} {{value}}&quot;
       newForm: &quot;Nuovo {{model}}&quot;
       cantDelete: &quot;Non puoi cancellare questo record.&quot;
+      page: &quot;Pagina&quot;
+      of: &quot;di&quot;
     sessions:
       wrong: &quot;Email o password sbagliati&quot;
       logout: &quot;Sei correttamente uscito dal sistema&quot;</diff>
      <filename>lipsiadmin_generators/backend/templates/config/locales/backend/it.yml</filename>
    </modified>
    <modified>
      <diff>@@ -4,7 +4,7 @@ class JavascriptsController &lt; ApplicationController
   def backend
     respond_to do |format|
       format.html { render :text =&gt; &quot;Resource is not available, regardless of authorization. Often the result of bad file or directory permissions on the server. &quot;, :status =&gt; '403 Forbidden' }
-      format.js { @panels = [] }
+      format.js
     end
   end
 </diff>
      <filename>lipsiadmin_generators/backend/templates/controllers/javascripts_controller.rb</filename>
    </modified>
    <modified>
      <diff></diff>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/form/trigger.gif</filename>
    </modified>
    <modified>
      <diff></diff>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/grid/refresh.gif</filename>
    </modified>
    <modified>
      <diff></diff>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/panel/tool-sprites.gif</filename>
    </modified>
    <modified>
      <diff></diff>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/panel/tools-sprites-trans.gif</filename>
    </modified>
    <modified>
      <diff></diff>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/shadow-c.png</filename>
    </modified>
    <modified>
      <diff></diff>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/slider/slider-bg.png</filename>
    </modified>
    <modified>
      <diff></diff>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/slider/slider-thumb.png</filename>
    </modified>
    <modified>
      <diff></diff>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/slider/slider-v-bg.png</filename>
    </modified>
    <modified>
      <diff></diff>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/slider/slider-v-thumb.png</filename>
    </modified>
    <modified>
      <diff></diff>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/window/left-corners.png</filename>
    </modified>
    <modified>
      <diff></diff>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/window/left-right.png</filename>
    </modified>
    <modified>
      <diff></diff>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/window/left-right.psd</filename>
    </modified>
    <modified>
      <diff></diff>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/window/right-corners.png</filename>
    </modified>
    <modified>
      <diff></diff>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/window/top-bottom.png</filename>
    </modified>
    <modified>
      <diff></diff>
      <filename>lipsiadmin_generators/backend/templates/images/ext/default/window/top-bottom.psd</filename>
    </modified>
    <modified>
      <diff>@@ -1,76 +1,97 @@
-Ext={version:&quot;2.2.1&quot;};window[&quot;undefined&quot;]=window[&quot;undefined&quot;];Ext.apply=function(o,c,_3){if(_3){Ext.apply(o,_3)}if(o&amp;&amp;c&amp;&amp;typeof c==&quot;object&quot;){for(var p in c){o[p]=c[p]}}return o};(function(){var _5=0;var ua=navigator.userAgent.toLowerCase();var _7=document.compatMode==&quot;CSS1Compat&quot;,_8=ua.indexOf(&quot;opera&quot;)&gt;-1,_9=ua.indexOf(&quot;chrome&quot;)&gt;-1,_a=!_9&amp;&amp;(/webkit|khtml/).test(ua),_b=_a&amp;&amp;ua.indexOf(&quot;webkit/5&quot;)!=-1,_c=!_8&amp;&amp;ua.indexOf(&quot;msie&quot;)&gt;-1,_d=!_8&amp;&amp;ua.indexOf(&quot;msie 7&quot;)&gt;-1,_e=!_8&amp;&amp;ua.indexOf(&quot;msie 8&quot;)&gt;-1,_f=!_a&amp;&amp;!_9&amp;&amp;ua.indexOf(&quot;gecko&quot;)&gt;-1,_10=_f&amp;&amp;ua.indexOf(&quot;rv:1.9&quot;)&gt;-1,_11=_c&amp;&amp;!_7,_12=(ua.indexOf(&quot;windows&quot;)!=-1||ua.indexOf(&quot;win32&quot;)!=-1),_13=(ua.indexOf(&quot;macintosh&quot;)!=-1||ua.indexOf(&quot;mac os x&quot;)!=-1),_14=(ua.indexOf(&quot;adobeair&quot;)!=-1),_15=(ua.indexOf(&quot;linux&quot;)!=-1),_16=window.location.href.toLowerCase().indexOf(&quot;https&quot;)===0;if(_c&amp;&amp;!_d){try{document.execCommand(&quot;BackgroundImageCache&quot;,false,true)}catch(e){}}Ext.apply(Ext,{isStrict:_7,isSecure:_16,isReady:false,enableGarbageCollector:true,enableListenerCollection:false,SSL_SECURE_URL:&quot;javascript:false&quot;,BLANK_IMAGE_URL:&quot;http://extjs.com/s.gif&quot;,emptyFn:function(){},applyIf:function(o,c){if(o&amp;&amp;c){for(var p in c){if(typeof o[p]==&quot;undefined&quot;){o[p]=c[p]}}}return o},addBehaviors:function(o){if(!Ext.isReady){Ext.onReady(function(){Ext.addBehaviors(o)});return}var _1b={};for(var b in o){var _1d=b.split(&quot;@&quot;);if(_1d[1]){var s=_1d[0];if(!_1b[s]){_1b[s]=Ext.select(s)}_1b[s].on(_1d[1],o[b])}}_1b=null},id:function(el,_20){_20=_20||&quot;ext-gen&quot;;el=Ext.getDom(el);var id=_20+(++_5);return el?(el.id?el.id:(el.id=id)):id},extend:function(){var io=function(o){for(var m in o){this[m]=o[m]}};var oc=Object.prototype.constructor;return function(sb,sp,_28){if(typeof sp==&quot;object&quot;){_28=sp;sp=sb;sb=_28.constructor!=oc?_28.constructor:function(){sp.apply(this,arguments)}}var F=function(){},sbp,spp=sp.prototype;F.prototype=spp;sbp=sb.prototype=new F();sbp.constructor=sb;sb.superclass=spp;if(spp.constructor==oc){spp.constructor=sp}sb.override=function(o){Ext.override(sb,o)};sbp.override=io;Ext.override(sb,_28);sb.extend=function(o){Ext.extend(sb,o)};return sb}}(),override:function(_2e,_2f){if(_2f){var p=_2e.prototype;for(var _31 in _2f){p[_31]=_2f[_31]}if(Ext.isIE&amp;&amp;_2f.toString!=_2e.toString){p.toString=_2f.toString}}},namespace:function(){var a=arguments,o=null,i,j,d,rt;for(i=0;i&lt;a.length;++i){d=a[i].split(&quot;.&quot;);rt=d[0];eval(&quot;if (typeof &quot;+rt+' == &quot;undefined&quot;){'+rt+&quot; = {};} o = &quot;+rt+&quot;;&quot;);for(j=1;j&lt;d.length;++j){o[d[j]]=o[d[j]]||{};o=o[d[j]]}}},urlEncode:function(o){if(!o){return&quot;&quot;}var buf=[];for(var key in o){var ov=o[key],k=encodeURIComponent(key);var _3d=typeof ov;if(_3d==&quot;undefined&quot;){buf.push(k,&quot;=&amp;&quot;)}else{if(_3d!=&quot;function&quot;&amp;&amp;_3d!=&quot;object&quot;){buf.push(k,&quot;=&quot;,encodeURIComponent(ov),&quot;&amp;&quot;)}else{if(Ext.isDate(ov)){var s=Ext.encode(ov).replace(/&quot;/g,&quot;&quot;);buf.push(k,&quot;=&quot;,s,&quot;&amp;&quot;)}else{if(Ext.isArray(ov)){if(ov.length){for(var i=0,len=ov.length;i&lt;len;i++){buf.push(k,&quot;=&quot;,encodeURIComponent(ov[i]===undefined?&quot;&quot;:ov[i]),&quot;&amp;&quot;)}}else{buf.push(k,&quot;=&amp;&quot;)}}}}}}buf.pop();return buf.join(&quot;&quot;)},urlDecode:function(_41,_42){if(!_41||!_41.length){return{}}var obj={};var _44=_41.split(&quot;&amp;&quot;);var _45,_46,_47;for(var i=0,len=_44.length;i&lt;len;i++){_45=_44[i].split(&quot;=&quot;);_46=decodeURIComponent(_45[0]);_47=decodeURIComponent(_45[1]);if(_42!==true){if(typeof obj[_46]==&quot;undefined&quot;){obj[_46]=_47}else{if(typeof obj[_46]==&quot;string&quot;){obj[_46]=[obj[_46]];obj[_46].push(_47)}else{obj[_46].push(_47)}}}else{obj[_46]=_47}}return obj},each:function(_4a,fn,_4c){if(typeof _4a.length==&quot;undefined&quot;||typeof _4a==&quot;string&quot;){_4a=[_4a]}for(var i=0,len=_4a.length;i&lt;len;i++){if(fn.call(_4c||_4a[i],_4a[i],i,_4a)===false){return i}}},combine:function(){var as=arguments,l=as.length,r=[];for(var i=0;i&lt;l;i++){var a=as[i];if(Ext.isArray(a)){r=r.concat(a)}else{if(a.length!==undefined&amp;&amp;!a.substr){r=r.concat(Array.prototype.slice.call(a,0))}else{r.push(a)}}}return r},escapeRe:function(s){return s.replace(/([.*+?^${}()|[\]\/\\])/g,&quot;\\$1&quot;)},callback:function(cb,_56,_57,_58){if(typeof cb==&quot;function&quot;){if(_58){cb.defer(_58,_56,_57||[])}else{cb.apply(_56,_57||[])}}},getDom:function(el){if(!el||!document){return null}return el.dom?el.dom:(typeof el==&quot;string&quot;?document.getElementById(el):el)},getDoc:function(){return Ext.get(document)},getBody:function(){return Ext.get(document.body||document.documentElement)},getCmp:function(id){return Ext.ComponentMgr.get(id)},num:function(v,_5c){if(typeof v!=&quot;number&quot;||isNaN(v)){return _5c}return v},destroy:function(){for(var i=0,a=arguments,len=a.length;i&lt;len;i++){var as=a[i];if(as){if(typeof as.destroy==&quot;function&quot;){as.destroy()}else{if(as.dom){as.removeAllListeners();as.remove()}}}}},removeNode:_c?function(){var d;return function(n){if(n&amp;&amp;n.tagName!=&quot;BODY&quot;){d=d||document.createElement(&quot;div&quot;);d.appendChild(n);d.innerHTML=&quot;&quot;}}}():function(n){if(n&amp;&amp;n.parentNode&amp;&amp;n.tagName!=&quot;BODY&quot;){n.parentNode.removeChild(n)}},type:function(o){if(o===undefined||o===null){return false}if(o.htmlElement){return&quot;element&quot;}var t=typeof o;if(t==&quot;object&quot;&amp;&amp;o.nodeName){switch(o.nodeType){case 1:return&quot;element&quot;;case 3:return(/\S/).test(o.nodeValue)?&quot;textnode&quot;:&quot;whitespace&quot;}}if(t==&quot;object&quot;||t==&quot;function&quot;){switch(o.constructor){case Array:return&quot;array&quot;;case RegExp:return&quot;regexp&quot;;case Date:return&quot;date&quot;}if(typeof o.length==&quot;number&quot;&amp;&amp;typeof o.item==&quot;function&quot;){return&quot;nodelist&quot;}}return t},isEmpty:function(v,_67){return v===null||v===undefined||(!_67?v===&quot;&quot;:false)},value:function(v,_69,_6a){return Ext.isEmpty(v,_6a)?_69:v},isArray:function(v){return v&amp;&amp;typeof v.length==&quot;number&quot;&amp;&amp;typeof v.splice==&quot;function&quot;},isDate:function(v){return v&amp;&amp;typeof v.getFullYear==&quot;function&quot;},isOpera:_8,isChrome:_9,isSafari:_a,isSafari3:_b,isSafari2:_a&amp;&amp;!_b,isIE:_c,isIE6:_c&amp;&amp;!_d&amp;&amp;!_e,isIE7:_d,isIE8:_e,isGecko:_f,isGecko2:_f&amp;&amp;!_10,isGecko3:_10,isBorderBox:_11,isLinux:_15,isWindows:_12,isMac:_13,isAir:_14,useShims:((_c&amp;&amp;!_d)||(_13&amp;&amp;_f&amp;&amp;!_10))});Ext.ns=Ext.namespace})();Ext.ns(&quot;Ext&quot;,&quot;Ext.util&quot;,&quot;Ext.grid&quot;,&quot;Ext.dd&quot;,&quot;Ext.tree&quot;,&quot;Ext.data&quot;,&quot;Ext.form&quot;,&quot;Ext.menu&quot;,&quot;Ext.state&quot;,&quot;Ext.lib&quot;,&quot;Ext.layout&quot;,&quot;Ext.app&quot;,&quot;Ext.ux&quot;);Ext.apply(Function.prototype,{createCallback:function(){var _6d=arguments;var _6e=this;return function(){return _6e.apply(window,_6d)}},createDelegate:function(obj,_70,_71){var _72=this;return function(){var _73=_70||arguments;if(_71===true){_73=Array.prototype.slice.call(arguments,0);_73=_73.concat(_70)}else{if(typeof _71==&quot;number&quot;){_73=Array.prototype.slice.call(arguments,0);var _74=[_71,0].concat(_70);Array.prototype.splice.apply(_73,_74)}}return _72.apply(obj||window,_73)}},defer:function(_75,obj,_77,_78){var fn=this.createDelegate(obj,_77,_78);if(_75){return setTimeout(fn,_75)}fn();return 0},createSequence:function(fcn,_7b){if(typeof fcn!=&quot;function&quot;){return this}var _7c=this;return function(){var _7d=_7c.apply(this||window,arguments);fcn.apply(_7b||this||window,arguments);return _7d}},createInterceptor:function(fcn,_7f){if(typeof fcn!=&quot;function&quot;){return this}var _80=this;return function(){fcn.target=this;fcn.method=_80;if(fcn.apply(_7f||this||window,arguments)===false){return}return _80.apply(this||window,arguments)}}});Ext.applyIf(String,{escape:function(_81){return _81.replace(/('|\\)/g,&quot;\\$1&quot;)},leftPad:function(val,_83,ch){var _85=new String(val);if(!ch){ch=&quot; &quot;}while(_85.length&lt;_83){_85=ch+_85}return _85.toString()},format:function(_86){var _87=Array.prototype.slice.call(arguments,1);return _86.replace(/\{(\d+)\}/g,function(m,i){return _87[i]})}});String.prototype.toggle=function(_8a,_8b){return this==_8a?_8b:_8a};String.prototype.trim=function(){var re=/^\s+|\s+$/g;return function(){return this.replace(re,&quot;&quot;)}}();Ext.applyIf(Number.prototype,{constrain:function(min,max){return Math.min(Math.max(this,min),max)}});Ext.applyIf(Array.prototype,{indexOf:function(o){for(var i=0,len=this.length;i&lt;len;i++){if(this[i]==o){return i}}return -1},remove:function(o){var _93=this.indexOf(o);if(_93!=-1){this.splice(_93,1)}return this}});Date.prototype.getElapsed=function(_94){return Math.abs((_94||new Date()).getTime()-this.getTime())};(function(){var _1;Ext.lib.Dom={getViewWidth:function(_2){return _2?this.getDocumentWidth():this.getViewportWidth()
-},getViewHeight:function(_3){return _3?this.getDocumentHeight():this.getViewportHeight()},getDocumentHeight:function(){var _4=(document.compatMode!=&quot;CSS1Compat&quot;)?document.body.scrollHeight:document.documentElement.scrollHeight;return Math.max(_4,this.getViewportHeight())},getDocumentWidth:function(){var _5=(document.compatMode!=&quot;CSS1Compat&quot;)?document.body.scrollWidth:document.documentElement.scrollWidth;return Math.max(_5,this.getViewportWidth())},getViewportHeight:function(){var _6=self.innerHeight;var _7=document.compatMode;if((_7||Ext.isIE)&amp;&amp;!Ext.isOpera){_6=(_7==&quot;CSS1Compat&quot;)?document.documentElement.clientHeight:document.body.clientHeight}return _6},getViewportWidth:function(){var _8=self.innerWidth;var _9=document.compatMode;if(_9||Ext.isIE){_8=(_9==&quot;CSS1Compat&quot;)?document.documentElement.clientWidth:document.body.clientWidth}return _8},isAncestor:function(p,c){p=Ext.getDom(p);c=Ext.getDom(c);if(!p||!c){return false}if(p.contains&amp;&amp;!Ext.isSafari){return p.contains(c)}else{if(p.compareDocumentPosition){return !!(p.compareDocumentPosition(c)&amp;16)}else{var _c=c.parentNode;while(_c){if(_c==p){return true}else{if(!_c.tagName||_c.tagName.toUpperCase()==&quot;HTML&quot;){return false}}_c=_c.parentNode}return false}}},getRegion:function(el){return Ext.lib.Region.getRegion(el)},getY:function(el){return this.getXY(el)[1]},getX:function(el){return this.getXY(el)[0]},getXY:function(el){var p,pe,b,_14,bd=(document.body||document.documentElement);el=Ext.getDom(el);if(el==bd){return[0,0]}if(el.getBoundingClientRect){b=el.getBoundingClientRect();_14=fly(document).getScroll();return[b.left+_14.left,b.top+_14.top]}var x=0,y=0;p=el;var _18=fly(el).getStyle(&quot;position&quot;)==&quot;absolute&quot;;while(p){x+=p.offsetLeft;y+=p.offsetTop;if(!_18&amp;&amp;fly(p).getStyle(&quot;position&quot;)==&quot;absolute&quot;){_18=true}if(Ext.isGecko){pe=fly(p);var bt=parseInt(pe.getStyle(&quot;borderTopWidth&quot;),10)||0;var bl=parseInt(pe.getStyle(&quot;borderLeftWidth&quot;),10)||0;x+=bl;y+=bt;if(p!=el&amp;&amp;pe.getStyle(&quot;overflow&quot;)!=&quot;visible&quot;){x+=bl;y+=bt}}p=p.offsetParent}if(Ext.isSafari&amp;&amp;_18){x-=bd.offsetLeft;y-=bd.offsetTop}if(Ext.isGecko&amp;&amp;!_18){var dbd=fly(bd);x+=parseInt(dbd.getStyle(&quot;borderLeftWidth&quot;),10)||0;y+=parseInt(dbd.getStyle(&quot;borderTopWidth&quot;),10)||0}p=el.parentNode;while(p&amp;&amp;p!=bd){if(!Ext.isOpera||(p.tagName!=&quot;TR&quot;&amp;&amp;fly(p).getStyle(&quot;display&quot;)!=&quot;inline&quot;)){x-=p.scrollLeft;y-=p.scrollTop}p=p.parentNode}return[x,y]},setXY:function(el,xy){el=Ext.fly(el,&quot;_setXY&quot;);el.position();var pts=el.translatePoints(xy);if(xy[0]!==false){el.dom.style.left=pts.left+&quot;px&quot;}if(xy[1]!==false){el.dom.style.top=pts.top+&quot;px&quot;}},setX:function(el,x){this.setXY(el,[x,false])},setY:function(el,y){this.setXY(el,[false,y])}};Ext.lib.Event={getPageX:function(e){return Event.pointerX(e.browserEvent||e)},getPageY:function(e){return Event.pointerY(e.browserEvent||e)},getXY:function(e){e=e.browserEvent||e;return[Event.pointerX(e),Event.pointerY(e)]},getTarget:function(e){return Event.element(e.browserEvent||e)},resolveTextNode:function(_27){if(_27&amp;&amp;3==_27.nodeType){return _27.parentNode}else{return _27}},getRelatedTarget:function(ev){ev=ev.browserEvent||ev;var t=ev.relatedTarget;if(!t){if(ev.type==&quot;mouseout&quot;){t=ev.toElement}else{if(ev.type==&quot;mouseover&quot;){t=ev.fromElement}}}return this.resolveTextNode(t)},on:function(el,_2b,fn){Event.observe(el,_2b,fn,false)},un:function(el,_2e,fn){Event.stopObserving(el,_2e,fn,false)},purgeElement:function(el){},preventDefault:function(e){e=e.browserEvent||e;if(e.preventDefault){e.preventDefault()}else{e.returnValue=false}},stopPropagation:function(e){e=e.browserEvent||e;if(e.stopPropagation){e.stopPropagation()}else{e.cancelBubble=true}},stopEvent:function(e){Event.stop(e.browserEvent||e)},onAvailable:function(id,fn,_36){var _37=new Date(),iid;var f=function(){if(_37.getElapsed()&gt;10000){clearInterval(iid)}var el=document.getElementById(id);if(el){clearInterval(iid);fn.call(_36||window,el)}};iid=setInterval(f,50)}};Ext.lib.Ajax=function(){var _3b=function(cb){return cb.success?function(xhr){cb.success.call(cb.scope||window,{responseText:xhr.responseText,responseXML:xhr.responseXML,argument:cb.argument})}:Ext.emptyFn};var _3e=function(cb){return cb.failure?function(xhr){cb.failure.call(cb.scope||window,{responseText:xhr.responseText,responseXML:xhr.responseXML,argument:cb.argument})}:Ext.emptyFn};return{request:function(_41,uri,cb,_44,_45){var o={method:_41,parameters:_44||&quot;&quot;,timeout:cb.timeout,onSuccess:_3b(cb),onFailure:_3e(cb)};if(_45){var hs=_45.headers;if(hs){o.requestHeaders=hs}if(_45.xmlData){_41=(_41?_41:(_45.method?_45.method:&quot;POST&quot;));if(!hs||!hs[&quot;Content-Type&quot;]){o.contentType=&quot;text/xml&quot;}o.postBody=_45.xmlData;delete o.parameters}if(_45.jsonData){_41=(_41?_41:(_45.method?_45.method:&quot;POST&quot;));if(!hs||!hs[&quot;Content-Type&quot;]){o.contentType=&quot;application/json&quot;}o.postBody=typeof _45.jsonData==&quot;object&quot;?Ext.encode(_45.jsonData):_45.jsonData;delete o.parameters}}new Ajax.Request(uri,o)},formRequest:function(_48,uri,cb,_4b,_4c,_4d){new Ajax.Request(uri,{method:Ext.getDom(_48).method||&quot;POST&quot;,parameters:Form.serialize(_48)+(_4b?&quot;&amp;&quot;+_4b:&quot;&quot;),timeout:cb.timeout,onSuccess:_3b(cb),onFailure:_3e(cb)})},isCallInProgress:function(_4e){return false},abort:function(_4f){return false},serializeForm:function(_50){return Form.serialize(_50.dom||_50)}}}();Ext.lib.Anim=function(){var _51={easeOut:function(pos){return 1-Math.pow(1-pos,2)},easeIn:function(pos){return 1-Math.pow(1-pos,2)}};var _54=function(cb,_56){return{stop:function(_57){this.effect.cancel()},isAnimated:function(){return this.effect.state==&quot;running&quot;},proxyCallback:function(){Ext.callback(cb,_56)}}};return{scroll:function(el,_59,_5a,_5b,cb,_5d){var _5e=_54(cb,_5d);el=Ext.getDom(el);if(typeof _59.scroll.to[0]==&quot;number&quot;){el.scrollLeft=_59.scroll.to[0]}if(typeof _59.scroll.to[1]==&quot;number&quot;){el.scrollTop=_59.scroll.to[1]}_5e.proxyCallback();return _5e},motion:function(el,_60,_61,_62,cb,_64){return this.run(el,_60,_61,_62,cb,_64)},color:function(el,_66,_67,_68,cb,_6a){return this.run(el,_66,_67,_68,cb,_6a)},run:function(el,_6c,_6d,_6e,cb,_70,_71){var o={};for(var k in _6c){switch(k){case&quot;points&quot;:var by,pts,e=Ext.fly(el,&quot;_animrun&quot;);e.position();if(by=_6c.points.by){var xy=e.getXY();pts=e.translatePoints([xy[0]+by[0],xy[1]+by[1]])}else{pts=e.translatePoints(_6c.points.to)}o.left=pts.left+&quot;px&quot;;o.top=pts.top+&quot;px&quot;;break;case&quot;width&quot;:o.width=_6c.width.to+&quot;px&quot;;break;case&quot;height&quot;:o.height=_6c.height.to+&quot;px&quot;;break;case&quot;opacity&quot;:o.opacity=String(_6c.opacity.to);break;default:o[k]=String(_6c[k].to);break}}var _78=_54(cb,_70);_78.effect=new Effect.Morph(Ext.id(el),{duration:_6d,afterFinish:_78.proxyCallback,transition:_51[_6e]||Effect.Transitions.linear,style:o});return _78}}}();function fly(el){if(!_1){_1=new Ext.Element.Flyweight()}_1.dom=el;return _1}Ext.lib.Region=function(t,r,b,l){this.top=t;this[1]=t;this.right=r;this.bottom=b;this.left=l;this[0]=l};Ext.lib.Region.prototype={contains:function(_7e){return(_7e.left&gt;=this.left&amp;&amp;_7e.right&lt;=this.right&amp;&amp;_7e.top&gt;=this.top&amp;&amp;_7e.bottom&lt;=this.bottom)},getArea:function(){return((this.bottom-this.top)*(this.right-this.left))},intersect:function(_7f){var t=Math.max(this.top,_7f.top);var r=Math.min(this.right,_7f.right);var b=Math.min(this.bottom,_7f.bottom);var l=Math.max(this.left,_7f.left);if(b&gt;=t&amp;&amp;r&gt;=l){return new Ext.lib.Region(t,r,b,l)}else{return null}},union:function(_84){var t=Math.min(this.top,_84.top);var r=Math.max(this.right,_84.right);var b=Math.max(this.bottom,_84.bottom);var l=Math.min(this.left,_84.left);return new Ext.lib.Region(t,r,b,l)},constrainTo:function(r){this.top=this.top.constrain(r.top,r.bottom);this.bottom=this.bottom.constrain(r.top,r.bottom);this.left=this.left.constrain(r.left,r.right);this.right=this.right.constrain(r.left,r.right);return this},adjust:function(t,l,b,r){this.top+=t;this.left+=l;this.right+=r;this.bottom+=b;return this}};Ext.lib.Region.getRegion=function(el){var p=Ext.lib.Dom.getXY(el);var t=p[1];var r=p[0]+el.offsetWidth;var b=p[1]+el.offsetHeight;var l=p[0];return new Ext.lib.Region(t,r,b,l)};Ext.lib.Point=function(x,y){if(Ext.isArray(x)){y=x[1];
-x=x[0]}this.x=this.right=this.left=this[0]=x;this.y=this.top=this.bottom=this[1]=y};Ext.lib.Point.prototype=new Ext.lib.Region();if(Ext.isIE){function fnCleanUp(){var p=Function.prototype;delete p.createSequence;delete p.defer;delete p.createDelegate;delete p.createCallback;delete p.createInterceptor;window.detachEvent(&quot;onunload&quot;,fnCleanUp)}window.attachEvent(&quot;onunload&quot;,fnCleanUp)}})();
-Ext.DomHelper=function(){var _1=null;var _2=/^(?:br|frame|hr|img|input|link|meta|range|spacer|wbr|area|param|col)$/i;var _3=/^table|tbody|tr|td$/i;var _4=function(o){if(typeof o==&quot;string&quot;){return o}var b=&quot;&quot;;if(Ext.isArray(o)){for(var i=0,l=o.length;i&lt;l;i++){b+=_4(o[i])}return b}if(!o.tag){o.tag=&quot;div&quot;}b+=&quot;&lt;&quot;+o.tag;for(var _9 in o){if(_9==&quot;tag&quot;||_9==&quot;children&quot;||_9==&quot;cn&quot;||_9==&quot;html&quot;||typeof o[_9]==&quot;function&quot;){continue}if(_9==&quot;style&quot;){var s=o.style;if(typeof s==&quot;function&quot;){s=s.call()}if(typeof s==&quot;string&quot;){b+=' style=&quot;'+s+'&quot;'}else{if(typeof s==&quot;object&quot;){b+=' style=&quot;';for(var _b in s){if(typeof s[_b]!=&quot;function&quot;){b+=_b+&quot;:&quot;+s[_b]+&quot;;&quot;}}b+='&quot;'}}}else{if(_9==&quot;cls&quot;){b+=' class=&quot;'+o.cls+'&quot;'}else{if(_9==&quot;htmlFor&quot;){b+=' for=&quot;'+o.htmlFor+'&quot;'}else{b+=&quot; &quot;+_9+'=&quot;'+o[_9]+'&quot;'}}}}if(_2.test(o.tag)){b+=&quot;/&gt;&quot;}else{b+=&quot;&gt;&quot;;var cn=o.children||o.cn;if(cn){b+=_4(cn)}else{if(o.html){b+=o.html}}b+=&quot;&lt;/&quot;+o.tag+&quot;&gt;&quot;}return b};var _d=function(o,_f){var el;if(Ext.isArray(o)){el=document.createDocumentFragment();for(var i=0,l=o.length;i&lt;l;i++){_d(o[i],el)}}else{if(typeof o==&quot;string&quot;){el=document.createTextNode(o)}else{el=document.createElement(o.tag||&quot;div&quot;);var _13=!!el.setAttribute;for(var _14 in o){if(_14==&quot;tag&quot;||_14==&quot;children&quot;||_14==&quot;cn&quot;||_14==&quot;html&quot;||_14==&quot;style&quot;||typeof o[_14]==&quot;function&quot;){continue}if(_14==&quot;cls&quot;){el.className=o.cls}else{if(_13){el.setAttribute(_14,o[_14])}else{el[_14]=o[_14]}}}Ext.DomHelper.applyStyles(el,o.style);var cn=o.children||o.cn;if(cn){_d(cn,el)}else{if(o.html){el.innerHTML=o.html}}}}if(_f){_f.appendChild(el)}return el};var _16=function(_17,s,h,e){_1.innerHTML=[s,h,e].join(&quot;&quot;);var i=-1,el=_1;while(++i&lt;_17){el=el.firstChild}return el};var ts=&quot;&lt;table&gt;&quot;,te=&quot;&lt;/table&gt;&quot;,tbs=ts+&quot;&lt;tbody&gt;&quot;,tbe=&quot;&lt;/tbody&gt;&quot;+te,trs=tbs+&quot;&lt;tr&gt;&quot;,tre=&quot;&lt;/tr&gt;&quot;+tbe;var _23=function(tag,_25,el,_27){if(!_1){_1=document.createElement(&quot;div&quot;)}var _28;var _29=null;if(tag==&quot;td&quot;){if(_25==&quot;afterbegin&quot;||_25==&quot;beforeend&quot;){return}if(_25==&quot;beforebegin&quot;){_29=el;el=el.parentNode}else{_29=el.nextSibling;el=el.parentNode}_28=_16(4,trs,_27,tre)}else{if(tag==&quot;tr&quot;){if(_25==&quot;beforebegin&quot;){_29=el;el=el.parentNode;_28=_16(3,tbs,_27,tbe)}else{if(_25==&quot;afterend&quot;){_29=el.nextSibling;el=el.parentNode;_28=_16(3,tbs,_27,tbe)}else{if(_25==&quot;afterbegin&quot;){_29=el.firstChild}_28=_16(4,trs,_27,tre)}}}else{if(tag==&quot;tbody&quot;){if(_25==&quot;beforebegin&quot;){_29=el;el=el.parentNode;_28=_16(2,ts,_27,te)}else{if(_25==&quot;afterend&quot;){_29=el.nextSibling;el=el.parentNode;_28=_16(2,ts,_27,te)}else{if(_25==&quot;afterbegin&quot;){_29=el.firstChild}_28=_16(3,tbs,_27,tbe)}}}else{if(_25==&quot;beforebegin&quot;||_25==&quot;afterend&quot;){return}if(_25==&quot;afterbegin&quot;){_29=el.firstChild}_28=_16(2,ts,_27,te)}}}el.insertBefore(_28,_29);return _28};return{useDom:false,markup:function(o){return _4(o)},applyStyles:function(el,_2c){if(_2c){el=Ext.fly(el);if(typeof _2c==&quot;string&quot;){var re=/\s?([a-z\-]*)\:\s?([^;]*);?/gi;var _2e;while((_2e=re.exec(_2c))!=null){el.setStyle(_2e[1],_2e[2])}}else{if(typeof _2c==&quot;object&quot;){for(var _2f in _2c){el.setStyle(_2f,_2c[_2f])}}else{if(typeof _2c==&quot;function&quot;){Ext.DomHelper.applyStyles(el,_2c.call())}}}}},insertHtml:function(_30,el,_32){_30=_30.toLowerCase();if(el.insertAdjacentHTML){if(_3.test(el.tagName)){var rs;if(rs=_23(el.tagName.toLowerCase(),_30,el,_32)){return rs}}switch(_30){case&quot;beforebegin&quot;:el.insertAdjacentHTML(&quot;BeforeBegin&quot;,_32);return el.previousSibling;case&quot;afterbegin&quot;:el.insertAdjacentHTML(&quot;AfterBegin&quot;,_32);return el.firstChild;case&quot;beforeend&quot;:el.insertAdjacentHTML(&quot;BeforeEnd&quot;,_32);return el.lastChild;case&quot;afterend&quot;:el.insertAdjacentHTML(&quot;AfterEnd&quot;,_32);return el.nextSibling}throw'Illegal insertion point -&gt; &quot;'+_30+'&quot;'}var _34=el.ownerDocument.createRange();var _35;switch(_30){case&quot;beforebegin&quot;:_34.setStartBefore(el);_35=_34.createContextualFragment(_32);el.parentNode.insertBefore(_35,el);return el.previousSibling;case&quot;afterbegin&quot;:if(el.firstChild){_34.setStartBefore(el.firstChild);_35=_34.createContextualFragment(_32);el.insertBefore(_35,el.firstChild);return el.firstChild}else{el.innerHTML=_32;return el.firstChild}case&quot;beforeend&quot;:if(el.lastChild){_34.setStartAfter(el.lastChild);_35=_34.createContextualFragment(_32);el.appendChild(_35);return el.lastChild}else{el.innerHTML=_32;return el.lastChild}case&quot;afterend&quot;:_34.setStartAfter(el);_35=_34.createContextualFragment(_32);el.parentNode.insertBefore(_35,el.nextSibling);return el.nextSibling}throw'Illegal insertion point -&gt; &quot;'+_30+'&quot;'},insertBefore:function(el,o,_38){return this.doInsert(el,o,_38,&quot;beforeBegin&quot;)},insertAfter:function(el,o,_3b){return this.doInsert(el,o,_3b,&quot;afterEnd&quot;,&quot;nextSibling&quot;)},insertFirst:function(el,o,_3e){return this.doInsert(el,o,_3e,&quot;afterBegin&quot;,&quot;firstChild&quot;)},doInsert:function(el,o,_41,pos,_43){el=Ext.getDom(el);var _44;if(this.useDom){_44=_d(o,null);(_43===&quot;firstChild&quot;?el:el.parentNode).insertBefore(_44,_43?el[_43]:el)}else{var _45=_4(o);_44=this.insertHtml(pos,el,_45)}return _41?Ext.get(_44,true):_44},append:function(el,o,_48){el=Ext.getDom(el);var _49;if(this.useDom){_49=_d(o,null);el.appendChild(_49)}else{var _4a=_4(o);_49=this.insertHtml(&quot;beforeEnd&quot;,el,_4a)}return _48?Ext.get(_49,true):_49},overwrite:function(el,o,_4d){el=Ext.getDom(el);el.innerHTML=_4(o);return _4d?Ext.get(el.firstChild,true):el.firstChild},createTemplate:function(o){var _4f=_4(o);return new Ext.Template(_4f)}}}();Ext.Template=function(_1){var a=arguments;if(Ext.isArray(_1)){_1=_1.join(&quot;&quot;)}else{if(a.length&gt;1){var _3=[];for(var i=0,_5=a.length;i&lt;_5;i++){if(typeof a[i]==&quot;object&quot;){Ext.apply(this,a[i])}else{_3[_3.length]=a[i]}}_1=_3.join(&quot;&quot;)}}this.html=_1;if(this.compiled){this.compile()}};Ext.Template.prototype={applyTemplate:function(_6){if(this.compiled){return this.compiled(_6)}var _7=this.disableFormats!==true;var fm=Ext.util.Format,_9=this;var fn=function(m,_c,_d,_e){if(_d&amp;&amp;_7){if(_d.substr(0,5)==&quot;this.&quot;){return _9.call(_d.substr(5),_6[_c],_6)}else{if(_e){var re=/^\s*['&quot;](.*)[&quot;']\s*$/;_e=_e.split(&quot;,&quot;);for(var i=0,len=_e.length;i&lt;len;i++){_e[i]=_e[i].replace(re,&quot;$1&quot;)}_e=[_6[_c]].concat(_e)}else{_e=[_6[_c]]}return fm[_d].apply(fm,_e)}}else{return _6[_c]!==undefined?_6[_c]:&quot;&quot;}};return this.html.replace(this.re,fn)},set:function(_12,_13){this.html=_12;this.compiled=null;if(_13){this.compile()}return this},disableFormats:false,re:/\{([\w-]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?\}/g,compile:function(){var fm=Ext.util.Format;var _15=this.disableFormats!==true;var sep=Ext.isGecko?&quot;+&quot;:&quot;,&quot;;var fn=function(m,_19,_1a,_1b){if(_1a&amp;&amp;_15){_1b=_1b?&quot;,&quot;+_1b:&quot;&quot;;if(_1a.substr(0,5)!=&quot;this.&quot;){_1a=&quot;fm.&quot;+_1a+&quot;(&quot;}else{_1a='this.call(&quot;'+_1a.substr(5)+'&quot;, ';_1b=&quot;, values&quot;}}else{_1b=&quot;&quot;;_1a=&quot;(values['&quot;+_19+&quot;'] == undefined ? '' : &quot;}return&quot;'&quot;+sep+_1a+&quot;values['&quot;+_19+&quot;']&quot;+_1b+&quot;)&quot;+sep+&quot;'&quot;};var _1c;if(Ext.isGecko){_1c=&quot;this.compiled = function(values){ return '&quot;+this.html.replace(/\\/g,&quot;\\\\&quot;).replace(/(\r\n|\n)/g,&quot;\\n&quot;).replace(/'/g,&quot;\\'&quot;).replace(this.re,fn)+&quot;';};&quot;}else{_1c=[&quot;this.compiled = function(values){ return ['&quot;];_1c.push(this.html.replace(/\\/g,&quot;\\\\&quot;).replace(/(\r\n|\n)/g,&quot;\\n&quot;).replace(/'/g,&quot;\\'&quot;).replace(this.re,fn));_1c.push(&quot;'].join('');};&quot;);_1c=_1c.join(&quot;&quot;)}eval(_1c);return this},call:function(_1d,_1e,_1f){return this[_1d](_1e,_1f)},insertFirst:function(el,_21,_22){return this.doInsert(&quot;afterBegin&quot;,el,_21,_22)},insertBefore:function(el,_24,_25){return this.doInsert(&quot;beforeBegin&quot;,el,_24,_25)},insertAfter:function(el,_27,_28){return this.doInsert(&quot;afterEnd&quot;,el,_27,_28)},append:function(el,_2a,_2b){return this.doInsert(&quot;beforeEnd&quot;,el,_2a,_2b)},doInsert:function(_2c,el,_2e,_2f){el=Ext.getDom(el);var _30=Ext.DomHelper.insertHtml(_2c,el,this.applyTemplate(_2e));return _2f?Ext.get(_30,true):_30},overwrite:function(el,_32,_33){el=Ext.getDom(el);el.innerHTML=this.applyTemplate(_32);return _33?Ext.get(el.firstChild,true):el.firstChild}};Ext.Template.prototype.apply=Ext.Template.prototype.applyTemplate;Ext.DomHelper.Template=Ext.Template;Ext.Template.from=function(el,_35){el=Ext.getDom(el);return new Ext.Template(el.value||el.innerHTML,_35||&quot;&quot;)};Ext.DomQuery=function(){var _1={},_2={},_3={};var _4=/\S/;var _5=/^\s+|\s+$/g;var _6=/\{(\d+)\}/g;
-var _7=/^(\s?[\/&gt;+~]\s?|\s|$)/;var _8=/^(#)?([\w-\*]+)/;var _9=/(\d*)n\+?(\d*)/,_a=/\D/;function child(p,_c){var i=0;var n=p.firstChild;while(n){if(n.nodeType==1){if(++i==_c){return n}}n=n.nextSibling}return null}function next(n){while((n=n.nextSibling)&amp;&amp;n.nodeType!=1){}return n}function prev(n){while((n=n.previousSibling)&amp;&amp;n.nodeType!=1){}return n}function children(d){var n=d.firstChild,ni=-1;while(n){var nx=n.nextSibling;if(n.nodeType==3&amp;&amp;!_4.test(n.nodeValue)){d.removeChild(n)}else{n.nodeIndex=++ni}n=nx}return this}function byClassName(c,a,v){if(!v){return c}var r=[],ri=-1,cn;for(var i=0,ci;ci=c[i];i++){if((&quot; &quot;+ci.className+&quot; &quot;).indexOf(v)!=-1){r[++ri]=ci}}return r}function attrValue(n,_1e){if(!n.tagName&amp;&amp;typeof n.length!=&quot;undefined&quot;){n=n[0]}if(!n){return null}if(_1e==&quot;for&quot;){return n.htmlFor}if(_1e==&quot;class&quot;||_1e==&quot;className&quot;){return n.className}return n.getAttribute(_1e)||n[_1e]}function getNodes(ns,_20,_21){var _22=[],ri=-1,cs;if(!ns){return _22}_21=_21||&quot;*&quot;;if(typeof ns.getElementsByTagName!=&quot;undefined&quot;){ns=[ns]}if(!_20){for(var i=0,ni;ni=ns[i];i++){cs=ni.getElementsByTagName(_21);for(var j=0,ci;ci=cs[j];j++){_22[++ri]=ci}}}else{if(_20==&quot;/&quot;||_20==&quot;&gt;&quot;){var _29=_21.toUpperCase();for(var i=0,ni,cn;ni=ns[i];i++){cn=ni.children||ni.childNodes;for(var j=0,cj;cj=cn[j];j++){if(cj.nodeName==_29||cj.nodeName==_21||_21==&quot;*&quot;){_22[++ri]=cj}}}}else{if(_20==&quot;+&quot;){var _29=_21.toUpperCase();for(var i=0,n;n=ns[i];i++){while((n=n.nextSibling)&amp;&amp;n.nodeType!=1){}if(n&amp;&amp;(n.nodeName==_29||n.nodeName==_21||_21==&quot;*&quot;)){_22[++ri]=n}}}else{if(_20==&quot;~&quot;){for(var i=0,n;n=ns[i];i++){while((n=n.nextSibling)&amp;&amp;(n.nodeType!=1||(_21==&quot;*&quot;||n.tagName.toLowerCase()!=_21))){}if(n){_22[++ri]=n}}}}}}return _22}function concat(a,b){if(b.slice){return a.concat(b)}for(var i=0,l=b.length;i&lt;l;i++){a[a.length]=b[i]}return a}function byTag(cs,_32){if(cs.tagName||cs==document){cs=[cs]}if(!_32){return cs}var r=[],ri=-1;_32=_32.toLowerCase();for(var i=0,ci;ci=cs[i];i++){if(ci.nodeType==1&amp;&amp;ci.tagName.toLowerCase()==_32){r[++ri]=ci}}return r}function byId(cs,_38,id){if(cs.tagName||cs==document){cs=[cs]}if(!id){return cs}var r=[],ri=-1;for(var i=0,ci;ci=cs[i];i++){if(ci&amp;&amp;ci.id==id){r[++ri]=ci;return r}}return r}function byAttribute(cs,_3f,_40,op,_42){var r=[],ri=-1,st=_42==&quot;{&quot;;var f=Ext.DomQuery.operators[op];for(var i=0,ci;ci=cs[i];i++){var a;if(st){a=Ext.DomQuery.getStyle(ci,_3f)}else{if(_3f==&quot;class&quot;||_3f==&quot;className&quot;){a=ci.className}else{if(_3f==&quot;for&quot;){a=ci.htmlFor}else{if(_3f==&quot;href&quot;){a=ci.getAttribute(&quot;href&quot;,2)}else{a=ci.getAttribute(_3f)}}}}if((f&amp;&amp;f(a,_40))||(!f&amp;&amp;a)){r[++ri]=ci}}return r}function byPseudo(cs,_4b,_4c){return Ext.DomQuery.pseudos[_4b](cs,_4c)}var _4d=window.ActiveXObject?true:false;eval(&quot;var batch = 30803;&quot;);var key=30803;function nodupIEXml(cs){var d=++key;cs[0].setAttribute(&quot;_nodup&quot;,d);var r=[cs[0]];for(var i=1,len=cs.length;i&lt;len;i++){var c=cs[i];if(!c.getAttribute(&quot;_nodup&quot;)!=d){c.setAttribute(&quot;_nodup&quot;,d);r[r.length]=c}}for(var i=0,len=cs.length;i&lt;len;i++){cs[i].removeAttribute(&quot;_nodup&quot;)}return r}function nodup(cs){if(!cs){return[]}var len=cs.length,c,i,r=cs,cj,ri=-1;if(!len||typeof cs.nodeType!=&quot;undefined&quot;||len==1){return cs}if(_4d&amp;&amp;typeof cs[0].selectSingleNode!=&quot;undefined&quot;){return nodupIEXml(cs)}var d=++key;cs[0]._nodup=d;for(i=1;c=cs[i];i++){if(c._nodup!=d){c._nodup=d}else{r=[];for(var j=0;j&lt;i;j++){r[++ri]=cs[j]}for(j=i+1;cj=cs[j];j++){if(cj._nodup!=d){cj._nodup=d;r[++ri]=cj}}return r}}return r}function quickDiffIEXml(c1,c2){var d=++key;for(var i=0,len=c1.length;i&lt;len;i++){c1[i].setAttribute(&quot;_qdiff&quot;,d)}var r=[];for(var i=0,len=c2.length;i&lt;len;i++){if(c2[i].getAttribute(&quot;_qdiff&quot;)!=d){r[r.length]=c2[i]}}for(var i=0,len=c1.length;i&lt;len;i++){c1[i].removeAttribute(&quot;_qdiff&quot;)}return r}function quickDiff(c1,c2){var _66=c1.length;if(!_66){return c2}if(_4d&amp;&amp;c1[0].selectSingleNode){return quickDiffIEXml(c1,c2)}var d=++key;for(var i=0;i&lt;_66;i++){c1[i]._qdiff=d}var r=[];for(var i=0,len=c2.length;i&lt;len;i++){if(c2[i]._qdiff!=d){r[r.length]=c2[i]}}return r}function quickId(ns,_6c,_6d,id){if(ns==_6d){var d=_6d.ownerDocument||_6d;return d.getElementById(id)}ns=getNodes(ns,_6c,&quot;*&quot;);return byId(ns,null,id)}return{getStyle:function(el,_71){return Ext.fly(el).getStyle(_71)},compile:function(_72,_73){_73=_73||&quot;select&quot;;var fn=[&quot;var f = function(root){\n var mode; ++batch; var n = root || document;\n&quot;];var q=_72,_76,lq;var tk=Ext.DomQuery.matchers;var _79=tk.length;var mm;var _7b=q.match(_7);if(_7b&amp;&amp;_7b[1]){fn[fn.length]='mode=&quot;'+_7b[1].replace(_5,&quot;&quot;)+'&quot;;';q=q.replace(_7b[1],&quot;&quot;)}while(_72.substr(0,1)==&quot;/&quot;){_72=_72.substr(1)}while(q&amp;&amp;lq!=q){lq=q;var tm=q.match(_8);if(_73==&quot;select&quot;){if(tm){if(tm[1]==&quot;#&quot;){fn[fn.length]='n = quickId(n, mode, root, &quot;'+tm[2]+'&quot;);'}else{fn[fn.length]='n = getNodes(n, mode, &quot;'+tm[2]+'&quot;);'}q=q.replace(tm[0],&quot;&quot;)}else{if(q.substr(0,1)!=&quot;@&quot;){fn[fn.length]='n = getNodes(n, mode, &quot;*&quot;);'}}}else{if(tm){if(tm[1]==&quot;#&quot;){fn[fn.length]='n = byId(n, null, &quot;'+tm[2]+'&quot;);'}else{fn[fn.length]='n = byTag(n, &quot;'+tm[2]+'&quot;);'}q=q.replace(tm[0],&quot;&quot;)}}while(!(mm=q.match(_7))){var _7d=false;for(var j=0;j&lt;_79;j++){var t=tk[j];var m=q.match(t.re);if(m){fn[fn.length]=t.select.replace(_6,function(x,i){return m[i]});q=q.replace(m[0],&quot;&quot;);_7d=true;break}}if(!_7d){throw'Error parsing selector, parsing failed at &quot;'+q+'&quot;'}}if(mm[1]){fn[fn.length]='mode=&quot;'+mm[1].replace(_5,&quot;&quot;)+'&quot;;';q=q.replace(mm[1],&quot;&quot;)}}fn[fn.length]=&quot;return nodup(n);\n}&quot;;eval(fn.join(&quot;&quot;));return f},select:function(_83,_84,_85){if(!_84||_84==document){_84=document}if(typeof _84==&quot;string&quot;){_84=document.getElementById(_84)}var _86=_83.split(&quot;,&quot;);var _87=[];for(var i=0,len=_86.length;i&lt;len;i++){var p=_86[i].replace(_5,&quot;&quot;);if(!_1[p]){_1[p]=Ext.DomQuery.compile(p);if(!_1[p]){throw p+&quot; is not a valid selector&quot;}}var _8b=_1[p](_84);if(_8b&amp;&amp;_8b!=document){_87=_87.concat(_8b)}}if(_86.length&gt;1){return nodup(_87)}return _87},selectNode:function(_8c,_8d){return Ext.DomQuery.select(_8c,_8d)[0]},selectValue:function(_8e,_8f,_90){_8e=_8e.replace(_5,&quot;&quot;);if(!_3[_8e]){_3[_8e]=Ext.DomQuery.compile(_8e,&quot;select&quot;)}var n=_3[_8e](_8f);n=n[0]?n[0]:n;var v=(n&amp;&amp;n.firstChild?n.firstChild.nodeValue:null);return((v===null||v===undefined||v===&quot;&quot;)?_90:v)},selectNumber:function(_93,_94,_95){var v=Ext.DomQuery.selectValue(_93,_94,_95||0);return parseFloat(v)},is:function(el,ss){if(typeof el==&quot;string&quot;){el=document.getElementById(el)}var _99=Ext.isArray(el);var _9a=Ext.DomQuery.filter(_99?el:[el],ss);return _99?(_9a.length==el.length):(_9a.length&gt;0)},filter:function(els,ss,_9d){ss=ss.replace(_5,&quot;&quot;);if(!_2[ss]){_2[ss]=Ext.DomQuery.compile(ss,&quot;simple&quot;)}var _9e=_2[ss](els);return _9d?quickDiff(_9e,els):_9e},matchers:[{re:/^\.([\w-]+)/,select:'n = byClassName(n, null, &quot; {1} &quot;);'},{re:/^\:([\w-]+)(?:\(((?:[^\s&gt;\/]*|.*?))\))?/,select:'n = byPseudo(n, &quot;{1}&quot;, &quot;{2}&quot;);'},{re:/^(?:([\[\{])(?:@)?([\w-]+)\s?(?:(=|.=)\s?['&quot;]?(.*?)[&quot;']?)?[\]\}])/,select:'n = byAttribute(n, &quot;{2}&quot;, &quot;{4}&quot;, &quot;{3}&quot;, &quot;{1}&quot;);'},{re:/^#([\w-]+)/,select:'n = byId(n, null, &quot;{1}&quot;);'},{re:/^@([\w-]+)/,select:'return {firstChild:{nodeValue:attrValue(n, &quot;{1}&quot;)}};'}],operators:{&quot;=&quot;:function(a,v){return a==v},&quot;!=&quot;:function(a,v){return a!=v},&quot;^=&quot;:function(a,v){return a&amp;&amp;a.substr(0,v.length)==v},&quot;$=&quot;:function(a,v){return a&amp;&amp;a.substr(a.length-v.length)==v},&quot;*=&quot;:function(a,v){return a&amp;&amp;a.indexOf(v)!==-1},&quot;%=&quot;:function(a,v){return(a%v)==0},&quot;|=&quot;:function(a,v){return a&amp;&amp;(a==v||a.substr(0,v.length+1)==v+&quot;-&quot;)},&quot;~=&quot;:function(a,v){return a&amp;&amp;(&quot; &quot;+a+&quot; &quot;).indexOf(&quot; &quot;+v+&quot; &quot;)!=-1}},pseudos:{&quot;first-child&quot;:function(c){var r=[],ri=-1,n;for(var i=0,ci;ci=n=c[i];i++){while((n=n.previousSibling)&amp;&amp;n.nodeType!=1){}if(!n){r[++ri]=ci}}return r},&quot;last-child&quot;:function(c){var r=[],ri=-1,n;for(var i=0,ci;ci=n=c[i];i++){while((n=n.nextSibling)&amp;&amp;n.nodeType!=1){}if(!n){r[++ri]=ci}}return r},&quot;nth-child&quot;:function(c,a){var r=[],ri=-1;var m=_9.exec(a==&quot;even&quot;&amp;&amp;&quot;2n&quot;||a==&quot;odd&quot;&amp;&amp;&quot;2n+1&quot;||!_a.test(a)&amp;&amp;&quot;n+&quot;+a||a);var f=(m[1]||1)-0,l=m[2]-0;for(var i=0,n;n=c[i];i++){var pn=n.parentNode;if(batch!=pn._batch){var j=0;for(var cn=pn.firstChild;cn;cn=cn.nextSibling){if(cn.nodeType==1){cn.nodeIndex=++j
-}}pn._batch=batch}if(f==1){if(l==0||n.nodeIndex==l){r[++ri]=n}}else{if((n.nodeIndex+l)%f==0){r[++ri]=n}}}return r},&quot;only-child&quot;:function(c){var r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){if(!prev(ci)&amp;&amp;!next(ci)){r[++ri]=ci}}return r},empty:function(c){var r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){var cns=ci.childNodes,j=0,cn,_d4=true;while(cn=cns[j]){++j;if(cn.nodeType==1||cn.nodeType==3){_d4=false;break}}if(_d4){r[++ri]=ci}}return r},contains:function(c,v){var r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){if((ci.textContent||ci.innerText||&quot;&quot;).indexOf(v)!=-1){r[++ri]=ci}}return r},nodeValue:function(c,v){var r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){if(ci.firstChild&amp;&amp;ci.firstChild.nodeValue==v){r[++ri]=ci}}return r},checked:function(c){var r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){if(ci.checked==true){r[++ri]=ci}}return r},not:function(c,ss){return Ext.DomQuery.filter(c,ss,true)},any:function(c,_e9){var ss=_e9.split(&quot;|&quot;);var r=[],ri=-1,s;for(var i=0,ci;ci=c[i];i++){for(var j=0;s=ss[j];j++){if(Ext.DomQuery.is(ci,s)){r[++ri]=ci;break}}}return r},odd:function(c){return this[&quot;nth-child&quot;](c,&quot;odd&quot;)},even:function(c){return this[&quot;nth-child&quot;](c,&quot;even&quot;)},nth:function(c,a){return c[a-1]||[]},first:function(c){return c[0]||[]},last:function(c){return c[c.length-1]||[]},has:function(c,ss){var s=Ext.DomQuery.select;var r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){if(s(ss,ci).length&gt;0){r[++ri]=ci}}return r},next:function(c,ss){var is=Ext.DomQuery.is;var r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){var n=next(ci);if(n&amp;&amp;is(n,ss)){r[++ri]=ci}}return r},prev:function(c,ss){var is=Ext.DomQuery.is;var r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){var n=prev(ci);if(n&amp;&amp;is(n,ss)){r[++ri]=ci}}return r}}}}();Ext.query=Ext.DomQuery.select;Ext.util.Observable=function(){if(this.listeners){this.on(this.listeners);delete this.listeners}};Ext.util.Observable.prototype={fireEvent:function(){if(this.eventsSuspended!==true){var ce=this.events[arguments[0].toLowerCase()];if(typeof ce==&quot;object&quot;){return ce.fire.apply(ce,Array.prototype.slice.call(arguments,1))}}return true},filterOptRe:/^(?:scope|delay|buffer|single)$/,addListener:function(_2,fn,_4,o){if(typeof _2==&quot;object&quot;){o=_2;for(var e in o){if(this.filterOptRe.test(e)){continue}if(typeof o[e]==&quot;function&quot;){this.addListener(e,o[e],o.scope,o)}else{this.addListener(e,o[e].fn,o[e].scope,o[e])}}return}o=(!o||typeof o==&quot;boolean&quot;)?{}:o;_2=_2.toLowerCase();var ce=this.events[_2]||true;if(typeof ce==&quot;boolean&quot;){ce=new Ext.util.Event(this,_2);this.events[_2]=ce}ce.addListener(fn,_4,o)},removeListener:function(_8,fn,_a){var ce=this.events[_8.toLowerCase()];if(typeof ce==&quot;object&quot;){ce.removeListener(fn,_a)}},purgeListeners:function(){for(var _c in this.events){if(typeof this.events[_c]==&quot;object&quot;){this.events[_c].clearListeners()}}},relayEvents:function(o,_e){var _f=function(_10){return function(){return this.fireEvent.apply(this,Ext.combine(_10,Array.prototype.slice.call(arguments,0)))}};for(var i=0,len=_e.length;i&lt;len;i++){var _13=_e[i];if(!this.events[_13]){this.events[_13]=true}o.on(_13,_f(_13),this)}},addEvents:function(o){if(!this.events){this.events={}}if(typeof o==&quot;string&quot;){for(var i=0,a=arguments,v;v=a[i];i++){if(!this.events[a[i]]){this.events[a[i]]=true}}}else{Ext.applyIf(this.events,o)}},hasListener:function(_18){var e=this.events[_18];return typeof e==&quot;object&quot;&amp;&amp;e.listeners.length&gt;0},suspendEvents:function(){this.eventsSuspended=true},resumeEvents:function(){this.eventsSuspended=false},getMethodEvent:function(_1a){if(!this.methodEvents){this.methodEvents={}}var e=this.methodEvents[_1a];if(!e){e={};this.methodEvents[_1a]=e;e.originalFn=this[_1a];e.methodName=_1a;e.before=[];e.after=[];var _1c,v,_1e;var obj=this;var _20=function(fn,_22,_23){if((v=fn.apply(_22||obj,_23))!==undefined){if(typeof v===&quot;object&quot;){if(v.returnValue!==undefined){_1c=v.returnValue}else{_1c=v}if(v.cancel===true){_1e=true}}else{if(v===false){_1e=true}else{_1c=v}}}};this[_1a]=function(){_1c=v=undefined;_1e=false;var _24=Array.prototype.slice.call(arguments,0);for(var i=0,len=e.before.length;i&lt;len;i++){_20(e.before[i].fn,e.before[i].scope,_24);if(_1e){return _1c}}if((v=e.originalFn.apply(obj,_24))!==undefined){_1c=v}for(var i=0,len=e.after.length;i&lt;len;i++){_20(e.after[i].fn,e.after[i].scope,_24);if(_1e){return _1c}}return _1c}}return e},beforeMethod:function(_27,fn,_29){var e=this.getMethodEvent(_27);e.before.push({fn:fn,scope:_29})},afterMethod:function(_2b,fn,_2d){var e=this.getMethodEvent(_2b);e.after.push({fn:fn,scope:_2d})},removeMethodListener:function(_2f,fn,_31){var e=this.getMethodEvent(_2f);for(var i=0,len=e.before.length;i&lt;len;i++){if(e.before[i].fn==fn&amp;&amp;e.before[i].scope==_31){e.before.splice(i,1);return}}for(var i=0,len=e.after.length;i&lt;len;i++){if(e.after[i].fn==fn&amp;&amp;e.after[i].scope==_31){e.after.splice(i,1);return}}}};Ext.util.Observable.prototype.on=Ext.util.Observable.prototype.addListener;Ext.util.Observable.prototype.un=Ext.util.Observable.prototype.removeListener;Ext.util.Observable.capture=function(o,fn,_37){o.fireEvent=o.fireEvent.createInterceptor(fn,_37)};Ext.util.Observable.releaseCapture=function(o){o.fireEvent=Ext.util.Observable.prototype.fireEvent};(function(){var _39=function(h,o,_3c){var _3d=new Ext.util.DelayedTask();return function(){_3d.delay(o.buffer,h,_3c,Array.prototype.slice.call(arguments,0))}};var _3e=function(h,e,fn,_42){return function(){e.removeListener(fn,_42);return h.apply(_42,arguments)}};var _43=function(h,o,_46){return function(){var _47=Array.prototype.slice.call(arguments,0);setTimeout(function(){h.apply(_46,_47)},o.delay||10)}};Ext.util.Event=function(obj,_49){this.name=_49;this.obj=obj;this.listeners=[]};Ext.util.Event.prototype={addListener:function(fn,_4b,_4c){_4b=_4b||this.obj;if(!this.isListening(fn,_4b)){var l=this.createListener(fn,_4b,_4c);if(!this.firing){this.listeners.push(l)}else{this.listeners=this.listeners.slice(0);this.listeners.push(l)}}},createListener:function(fn,_4f,o){o=o||{};_4f=_4f||this.obj;var l={fn:fn,scope:_4f,options:o};var h=fn;if(o.delay){h=_43(h,o,_4f)}if(o.single){h=_3e(h,this,fn,_4f)}if(o.buffer){h=_39(h,o,_4f)}l.fireFn=h;return l},findListener:function(fn,_54){_54=_54||this.obj;var ls=this.listeners;for(var i=0,len=ls.length;i&lt;len;i++){var l=ls[i];if(l.fn==fn&amp;&amp;l.scope==_54){return i}}return -1},isListening:function(fn,_5a){return this.findListener(fn,_5a)!=-1},removeListener:function(fn,_5c){var _5d;if((_5d=this.findListener(fn,_5c))!=-1){if(!this.firing){this.listeners.splice(_5d,1)}else{this.listeners=this.listeners.slice(0);this.listeners.splice(_5d,1)}return true}return false},clearListeners:function(){this.listeners=[]},fire:function(){var ls=this.listeners,_5f,len=ls.length;if(len&gt;0){this.firing=true;var _61=Array.prototype.slice.call(arguments,0);for(var i=0;i&lt;len;i++){var l=ls[i];if(l.fireFn.apply(l.scope||this.obj||window,arguments)===false){this.firing=false;return false}}this.firing=false}return true}}})();Ext.EventManager=function(){var _1,_2,_3=false;var _4,_5,_6,_7;var E=Ext.lib.Event;var D=Ext.lib.Dom;var _a=&quot;Ext&quot;;var _b={};var _c=function(el,_e,fn,_10,_11){var id=Ext.id(el);if(!_b[id]){_b[id]={}}var es=_b[id];if(!es[_e]){es[_e]=[]}var ls=es[_e];ls.push({id:id,ename:_e,fn:fn,wrap:_10,scope:_11});E.on(el,_e,_10);if(_e==&quot;mousewheel&quot;&amp;&amp;el.addEventListener){el.addEventListener(&quot;DOMMouseScroll&quot;,_10,false);E.on(window,&quot;unload&quot;,function(){el.removeEventListener(&quot;DOMMouseScroll&quot;,_10,false)})}if(_e==&quot;mousedown&quot;&amp;&amp;el==document){Ext.EventManager.stoppedMouseDownEvent.addListener(_10)}};var _15=function(el,_17,fn,_19){el=Ext.getDom(el);var id=Ext.id(el),es=_b[id],_1c;if(es){var ls=es[_17],l;if(ls){for(var i=0,len=ls.length;i&lt;len;i++){l=ls[i];if(l.fn==fn&amp;&amp;(!_19||l.scope==_19)){_1c=l.wrap;E.un(el,_17,_1c);ls.splice(i,1);break}}}}if(_17==&quot;mousewheel&quot;&amp;&amp;el.addEventListener&amp;&amp;_1c){el.removeEventListener(&quot;DOMMouseScroll&quot;,_1c,false)}if(_17==&quot;mousedown&quot;&amp;&amp;el==document&amp;&amp;_1c){Ext.EventManager.stoppedMouseDownEvent.removeListener(_1c)}};var _21=function(el){el=Ext.getDom(el);var id=Ext.id(el),es=_b[id],ls;if(es){for(var _26 in es){if(es.hasOwnProperty(_26)){ls=es[_26];
-for(var i=0,len=ls.length;i&lt;len;i++){E.un(el,_26,ls[i].wrap);ls[i]=null}}es[_26]=null}delete _b[id]}};var _29=function(){if(!_3){_3=true;Ext.isReady=true;if(_2){clearInterval(_2)}if(Ext.isGecko||Ext.isOpera){document.removeEventListener(&quot;DOMContentLoaded&quot;,_29,false)}if(Ext.isIE){var _2a=document.getElementById(&quot;ie-deferred-loader&quot;);if(_2a){_2a.onreadystatechange=null;_2a.parentNode.removeChild(_2a)}}if(_1){_1.fire();_1.clearListeners()}}};var _2b=function(){_1=new Ext.util.Event();if(Ext.isGecko||Ext.isOpera){document.addEventListener(&quot;DOMContentLoaded&quot;,_29,false)}else{if(Ext.isIE){document.write('&lt;script id=&quot;ie-deferred-loader&quot; defer=&quot;defer&quot; src=&quot;//:&quot;&gt;&lt;\/script&gt;');var _2c=document.getElementById(&quot;ie-deferred-loader&quot;);_2c.onreadystatechange=function(){if(this.readyState==&quot;complete&quot;){_29()}}}else{if(Ext.isSafari){_2=setInterval(function(){var rs=document.readyState;if(rs==&quot;complete&quot;){_29()}},10)}}}E.on(window,&quot;load&quot;,_29)};var _2e=function(h,o){var _31=new Ext.util.DelayedTask(h);return function(e){e=new Ext.EventObjectImpl(e);_31.delay(o.buffer,h,null,[e])}};var _33=function(h,el,_36,fn,_38){return function(e){Ext.EventManager.removeListener(el,_36,fn,_38);h(e)}};var _3a=function(h,o){return function(e){e=new Ext.EventObjectImpl(e);setTimeout(function(){h(e)},o.delay||10)}};var _3e=function(_3f,_40,opt,fn,_43){var o=(!opt||typeof opt==&quot;boolean&quot;)?{}:opt;fn=fn||o.fn;_43=_43||o.scope;var el=Ext.getDom(_3f);if(!el){throw'Error listening for &quot;'+_40+'&quot;. Element &quot;'+_3f+&quot;\&quot; doesn't exist.&quot;}var h=function(e){if(!window[_a]){return}e=Ext.EventObject.setEvent(e);var t;if(o.delegate){t=e.getTarget(o.delegate,el);if(!t){return}}else{t=e.target}if(o.stopEvent===true){e.stopEvent()}if(o.preventDefault===true){e.preventDefault()}if(o.stopPropagation===true){e.stopPropagation()}if(o.normalized===false){e=e.browserEvent}fn.call(_43||el,e,t,o)};if(o.delay){h=_3a(h,o)}if(o.single){h=_33(h,el,_40,fn,_43)}if(o.buffer){h=_2e(h,o)}_c(el,_40,fn,h,_43);return h};var _49=/^(?:scope|delay|buffer|single|stopEvent|preventDefault|stopPropagation|normalized|args|delegate)$/;var pub={addListener:function(_4b,_4c,fn,_4e,_4f){if(typeof _4c==&quot;object&quot;){var o=_4c;for(var e in o){if(_49.test(e)){continue}if(typeof o[e]==&quot;function&quot;){_3e(_4b,e,o,o[e],o.scope)}else{_3e(_4b,e,o[e])}}return}return _3e(_4b,_4c,_4f,fn,_4e)},removeListener:function(_52,_53,fn,_55){return _15(_52,_53,fn,_55)},removeAll:function(_56){return _21(_56)},onDocumentReady:function(fn,_58,_59){if(_3){_1.addListener(fn,_58,_59);_1.fire();_1.clearListeners();return}if(!_1){_2b()}_59=_59||{};if(!_59.delay){_59.delay=1}_1.addListener(fn,_58,_59)},doResizeEvent:function(){_4.fire(D.getViewWidth(),D.getViewHeight())},onWindowResize:function(fn,_5b,_5c){if(!_4){_4=new Ext.util.Event();_5=new Ext.util.DelayedTask(this.doResizeEvent);E.on(window,&quot;resize&quot;,this.fireWindowResize,this)}_4.addListener(fn,_5b,_5c)},fireWindowResize:function(){if(_4){if((Ext.isIE||Ext.isAir)&amp;&amp;_5){_5.delay(50)}else{_4.fire(D.getViewWidth(),D.getViewHeight())}}},onTextResize:function(fn,_5e,_5f){if(!_6){_6=new Ext.util.Event();var _60=new Ext.Element(document.createElement(&quot;div&quot;));_60.dom.className=&quot;x-text-resize&quot;;_60.dom.innerHTML=&quot;X&quot;;_60.appendTo(document.body);_7=_60.dom.offsetHeight;setInterval(function(){if(_60.dom.offsetHeight!=_7){_6.fire(_7,_7=_60.dom.offsetHeight)}},this.textResizeInterval)}_6.addListener(fn,_5e,_5f)},removeResizeListener:function(fn,_62){if(_4){_4.removeListener(fn,_62)}},fireResize:function(){if(_4){_4.fire(D.getViewWidth(),D.getViewHeight())}},ieDeferSrc:false,textResizeInterval:50};pub.on=pub.addListener;pub.un=pub.removeListener;pub.stoppedMouseDownEvent=new Ext.util.Event();return pub}();Ext.onReady=Ext.EventManager.onDocumentReady;(function(){var _63=function(){var bd=document.body||document.getElementsByTagName(&quot;body&quot;)[0];if(!bd){return false}var cls=[&quot; &quot;,Ext.isIE?&quot;ext-ie &quot;+(Ext.isIE6?&quot;ext-ie6&quot;:(Ext.isIE7?&quot;ext-ie7&quot;:&quot;ext-ie8&quot;)):Ext.isGecko?&quot;ext-gecko &quot;+(Ext.isGecko2?&quot;ext-gecko2&quot;:&quot;ext-gecko3&quot;):Ext.isOpera?&quot;ext-opera&quot;:Ext.isSafari?&quot;ext-safari&quot;:Ext.isChrome?&quot;ext-chrome&quot;:&quot;&quot;];if(Ext.isMac){cls.push(&quot;ext-mac&quot;)}if(Ext.isLinux){cls.push(&quot;ext-linux&quot;)}if(Ext.isBorderBox){cls.push(&quot;ext-border-box&quot;)}if(Ext.isStrict){var p=bd.parentNode;if(p){p.className+=&quot; ext-strict&quot;}}bd.className+=cls.join(&quot; &quot;);return true};if(!_63()){Ext.onReady(_63)}})();Ext.EventObject=function(){var E=Ext.lib.Event;var _68={3:13,63234:37,63235:39,63232:38,63233:40,63276:33,63277:34,63272:46,63273:36,63275:35};var _69=Ext.isIE?{1:0,4:1,2:2}:(Ext.isSafari?{1:0,2:1,3:2}:{0:0,1:1,2:2});Ext.EventObjectImpl=function(e){if(e){this.setEvent(e.browserEvent||e)}};Ext.EventObjectImpl.prototype={browserEvent:null,button:-1,shiftKey:false,ctrlKey:false,altKey:false,BACKSPACE:8,TAB:9,NUM_CENTER:12,ENTER:13,RETURN:13,SHIFT:16,CTRL:17,CONTROL:17,ALT:18,PAUSE:19,CAPS_LOCK:20,ESC:27,SPACE:32,PAGE_UP:33,PAGEUP:33,PAGE_DOWN:34,PAGEDOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,PRINT_SCREEN:44,INSERT:45,DELETE:46,ZERO:48,ONE:49,TWO:50,THREE:51,FOUR:52,FIVE:53,SIX:54,SEVEN:55,EIGHT:56,NINE:57,A:65,B:66,C:67,D:68,E:69,F:70,G:71,H:72,I:73,J:74,K:75,L:76,M:77,N:78,O:79,P:80,Q:81,R:82,S:83,T:84,U:85,V:86,W:87,X:88,Y:89,Z:90,CONTEXT_MENU:93,NUM_ZERO:96,NUM_ONE:97,NUM_TWO:98,NUM_THREE:99,NUM_FOUR:100,NUM_FIVE:101,NUM_SIX:102,NUM_SEVEN:103,NUM_EIGHT:104,NUM_NINE:105,NUM_MULTIPLY:106,NUM_PLUS:107,NUM_MINUS:109,NUM_PERIOD:110,NUM_DIVISION:111,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,setEvent:function(e){if(e==this||(e&amp;&amp;e.browserEvent)){return e}this.browserEvent=e;if(e){this.button=e.button?_69[e.button]:(e.which?e.which-1:-1);if(e.type==&quot;click&quot;&amp;&amp;this.button==-1){this.button=0}this.type=e.type;this.shiftKey=e.shiftKey;this.ctrlKey=e.ctrlKey||e.metaKey;this.altKey=e.altKey;this.keyCode=e.keyCode;this.charCode=e.charCode;this.target=E.getTarget(e);this.xy=E.getXY(e)}else{this.button=-1;this.shiftKey=false;this.ctrlKey=false;this.altKey=false;this.keyCode=0;this.charCode=0;this.target=null;this.xy=[0,0]}return this},stopEvent:function(){if(this.browserEvent){if(this.browserEvent.type==&quot;mousedown&quot;){Ext.EventManager.stoppedMouseDownEvent.fire(this)}E.stopEvent(this.browserEvent)}},preventDefault:function(){if(this.browserEvent){E.preventDefault(this.browserEvent)}},isNavKeyPress:function(){var k=this.keyCode;k=Ext.isSafari?(_68[k]||k):k;return(k&gt;=33&amp;&amp;k&lt;=40)||k==this.RETURN||k==this.TAB||k==this.ESC},isSpecialKey:function(){var k=this.keyCode;return(this.type==&quot;keypress&quot;&amp;&amp;this.ctrlKey)||k==9||k==13||k==40||k==27||(k==16)||(k==17)||(k&gt;=18&amp;&amp;k&lt;=20)||(k&gt;=33&amp;&amp;k&lt;=35)||(k&gt;=36&amp;&amp;k&lt;=39)||(k&gt;=44&amp;&amp;k&lt;=45)},stopPropagation:function(){if(this.browserEvent){if(this.browserEvent.type==&quot;mousedown&quot;){Ext.EventManager.stoppedMouseDownEvent.fire(this)}E.stopPropagation(this.browserEvent)}},getCharCode:function(){return this.charCode||this.keyCode},getKey:function(){var k=this.keyCode||this.charCode;return Ext.isSafari?(_68[k]||k):k},getPageX:function(){return this.xy[0]},getPageY:function(){return this.xy[1]},getTime:function(){if(this.browserEvent){return E.getTime(this.browserEvent)}return null},getXY:function(){return this.xy},getTarget:function(_6f,_70,_71){return _6f?Ext.fly(this.target).findParent(_6f,_70,_71):(_71?Ext.get(this.target):this.target)},getRelatedTarget:function(){if(this.browserEvent){return E.getRelatedTarget(this.browserEvent)}return null},getWheelDelta:function(){var e=this.browserEvent;var _73=0;if(e.wheelDelta){_73=e.wheelDelta/120}else{if(e.detail){_73=-e.detail/3}}return _73},hasModifier:function(){return((this.ctrlKey||this.altKey)||this.shiftKey)?true:false},within:function(el,_75,_76){var t=this[_75?&quot;getRelatedTarget&quot;:&quot;getTarget&quot;]();return t&amp;&amp;((_76?(t===Ext.getDom(el)):false)||Ext.fly(el).contains(t))},getPoint:function(){return new Ext.lib.Point(this.xy[0],this.xy[1])}};return new Ext.EventObjectImpl()}();(function(){var D=Ext.lib.Dom;var E=Ext.lib.Event;var A=Ext.lib.Anim;var _4={};var _5=/(-[a-z])/gi;var _6=function(m,a){return a.charAt(1).toUpperCase()
-};var _9=document.defaultView;Ext.Element=function(_a,_b){var _c=typeof _a==&quot;string&quot;?document.getElementById(_a):_a;if(!_c){return null}var id=_c.id;if(_b!==true&amp;&amp;id&amp;&amp;Ext.Element.cache[id]){return Ext.Element.cache[id]}this.dom=_c;this.id=id||Ext.id(_c)};var El=Ext.Element;El.prototype={originalDisplay:&quot;&quot;,visibilityMode:1,defaultUnit:&quot;px&quot;,setVisibilityMode:function(_f){this.visibilityMode=_f;return this},enableDisplayMode:function(_10){this.setVisibilityMode(El.DISPLAY);if(typeof _10!=&quot;undefined&quot;){this.originalDisplay=_10}return this},findParent:function(_11,_12,_13){var p=this.dom,b=document.body,_16=0,dq=Ext.DomQuery,_18;_12=_12||50;if(typeof _12!=&quot;number&quot;){_18=Ext.getDom(_12);_12=10}while(p&amp;&amp;p.nodeType==1&amp;&amp;_16&lt;_12&amp;&amp;p!=b&amp;&amp;p!=_18){if(dq.is(p,_11)){return _13?Ext.get(p):p}_16++;p=p.parentNode}return null},findParentNode:function(_19,_1a,_1b){var p=Ext.fly(this.dom.parentNode,&quot;_internal&quot;);return p?p.findParent(_19,_1a,_1b):null},up:function(_1d,_1e){return this.findParentNode(_1d,_1e,true)},is:function(_1f){return Ext.DomQuery.is(this.dom,_1f)},animate:function(_20,_21,_22,_23,_24){this.anim(_20,{duration:_21,callback:_22,easing:_23},_24);return this},anim:function(_25,opt,_27,_28,_29,cb){_27=_27||&quot;run&quot;;opt=opt||{};var _2b=Ext.lib.Anim[_27](this.dom,_25,(opt.duration||_28)||0.35,(opt.easing||_29)||&quot;easeOut&quot;,function(){Ext.callback(cb,this);Ext.callback(opt.callback,opt.scope||this,[this,opt])},this);opt.anim=_2b;return _2b},preanim:function(a,i){return !a[i]?false:(typeof a[i]==&quot;object&quot;?a[i]:{duration:a[i+1],callback:a[i+2],easing:a[i+3]})},clean:function(_2e){if(this.isCleaned&amp;&amp;_2e!==true){return this}var ns=/\S/;var d=this.dom,n=d.firstChild,ni=-1;while(n){var nx=n.nextSibling;if(n.nodeType==3&amp;&amp;!ns.test(n.nodeValue)){d.removeChild(n)}else{n.nodeIndex=++ni}n=nx}this.isCleaned=true;return this},scrollIntoView:function(_34,_35){var c=Ext.getDom(_34)||Ext.getBody().dom;var el=this.dom;var o=this.getOffsetsTo(c),l=o[0]+c.scrollLeft,t=o[1]+c.scrollTop,b=t+el.offsetHeight,r=l+el.offsetWidth;var ch=c.clientHeight;var ct=parseInt(c.scrollTop,10);var cl=parseInt(c.scrollLeft,10);var cb=ct+ch;var cr=cl+c.clientWidth;if(el.offsetHeight&gt;ch||t&lt;ct){c.scrollTop=t}else{if(b&gt;cb){c.scrollTop=b-ch}}c.scrollTop=c.scrollTop;if(_35!==false){if(el.offsetWidth&gt;c.clientWidth||l&lt;cl){c.scrollLeft=l}else{if(r&gt;cr){c.scrollLeft=r-c.clientWidth}}c.scrollLeft=c.scrollLeft}return this},scrollChildIntoView:function(_42,_43){Ext.fly(_42,&quot;_scrollChildIntoView&quot;).scrollIntoView(this,_43)},autoHeight:function(_44,_45,_46,_47){var _48=this.getHeight();this.clip();this.setHeight(1);setTimeout(function(){var _49=parseInt(this.dom.scrollHeight,10);if(!_44){this.setHeight(_49);this.unclip();if(typeof _46==&quot;function&quot;){_46()}}else{this.setHeight(_48);this.setHeight(_49,_44,_45,function(){this.unclip();if(typeof _46==&quot;function&quot;){_46()}}.createDelegate(this),_47)}}.createDelegate(this),0);return this},contains:function(el){if(!el){return false}return D.isAncestor(this.dom,el.dom?el.dom:el)},isVisible:function(_4b){var vis=!(this.getStyle(&quot;visibility&quot;)==&quot;hidden&quot;||this.getStyle(&quot;display&quot;)==&quot;none&quot;);if(_4b!==true||!vis){return vis}var p=this.dom.parentNode;while(p&amp;&amp;p.tagName.toLowerCase()!=&quot;body&quot;){if(!Ext.fly(p,&quot;_isVisible&quot;).isVisible()){return false}p=p.parentNode}return true},select:function(_4e,_4f){return El.select(_4e,_4f,this.dom)},query:function(_50){return Ext.DomQuery.select(_50,this.dom)},child:function(_51,_52){var n=Ext.DomQuery.selectNode(_51,this.dom);return _52?n:Ext.get(n)},down:function(_54,_55){var n=Ext.DomQuery.selectNode(&quot; &gt; &quot;+_54,this.dom);return _55?n:Ext.get(n)},initDD:function(_57,_58,_59){var dd=new Ext.dd.DD(Ext.id(this.dom),_57,_58);return Ext.apply(dd,_59)},initDDProxy:function(_5b,_5c,_5d){var dd=new Ext.dd.DDProxy(Ext.id(this.dom),_5b,_5c);return Ext.apply(dd,_5d)},initDDTarget:function(_5f,_60,_61){var dd=new Ext.dd.DDTarget(Ext.id(this.dom),_5f,_60);return Ext.apply(dd,_61)},setVisible:function(_63,_64){if(!_64||!A){if(this.visibilityMode==El.DISPLAY){this.setDisplayed(_63)}else{this.fixDisplay();this.dom.style.visibility=_63?&quot;visible&quot;:&quot;hidden&quot;}}else{var dom=this.dom;var _66=this.visibilityMode;if(_63){this.setOpacity(0.01);this.setVisible(true)}this.anim({opacity:{to:(_63?1:0)}},this.preanim(arguments,1),null,0.35,&quot;easeIn&quot;,function(){if(!_63){if(_66==El.DISPLAY){dom.style.display=&quot;none&quot;}else{dom.style.visibility=&quot;hidden&quot;}Ext.get(dom).setOpacity(1)}})}return this},isDisplayed:function(){return this.getStyle(&quot;display&quot;)!=&quot;none&quot;},toggle:function(_67){this.setVisible(!this.isVisible(),this.preanim(arguments,0));return this},setDisplayed:function(_68){if(typeof _68==&quot;boolean&quot;){_68=_68?this.originalDisplay:&quot;none&quot;}this.setStyle(&quot;display&quot;,_68);return this},focus:function(){try{this.dom.focus()}catch(e){}return this},blur:function(){try{this.dom.blur()}catch(e){}return this},addClass:function(_69){if(Ext.isArray(_69)){for(var i=0,len=_69.length;i&lt;len;i++){this.addClass(_69[i])}}else{if(_69&amp;&amp;!this.hasClass(_69)){this.dom.className=this.dom.className+&quot; &quot;+_69}}return this},radioClass:function(_6c){var _6d=this.dom.parentNode.childNodes;for(var i=0;i&lt;_6d.length;i++){var s=_6d[i];if(s.nodeType==1){Ext.get(s).removeClass(_6c)}}this.addClass(_6c);return this},removeClass:function(_70){if(!_70||!this.dom.className){return this}if(Ext.isArray(_70)){for(var i=0,len=_70.length;i&lt;len;i++){this.removeClass(_70[i])}}else{if(this.hasClass(_70)){var re=this.classReCache[_70];if(!re){re=new RegExp(&quot;(?:^|\\s+)&quot;+_70+&quot;(?:\\s+|$)&quot;,&quot;g&quot;);this.classReCache[_70]=re}this.dom.className=this.dom.className.replace(re,&quot; &quot;)}}return this},classReCache:{},toggleClass:function(_74){if(this.hasClass(_74)){this.removeClass(_74)}else{this.addClass(_74)}return this},hasClass:function(_75){return _75&amp;&amp;(&quot; &quot;+this.dom.className+&quot; &quot;).indexOf(&quot; &quot;+_75+&quot; &quot;)!=-1},replaceClass:function(_76,_77){this.removeClass(_76);this.addClass(_77);return this},getStyles:function(){var a=arguments,len=a.length,r={};for(var i=0;i&lt;len;i++){r[a[i]]=this.getStyle(a[i])}return r},getStyle:function(){return _9&amp;&amp;_9.getComputedStyle?function(_7c){var el=this.dom,v,cs,_80;if(_7c==&quot;float&quot;){_7c=&quot;cssFloat&quot;}if(v=el.style[_7c]){return v}if(cs=_9.getComputedStyle(el,&quot;&quot;)){if(!(_80=_4[_7c])){_80=_4[_7c]=_7c.replace(_5,_6)}return cs[_80]}return null}:function(_81){var el=this.dom,v,cs,_85;if(_81==&quot;opacity&quot;){if(typeof el.style.filter==&quot;string&quot;){var m=el.style.filter.match(/alpha\(opacity=(.*)\)/i);if(m){var fv=parseFloat(m[1]);if(!isNaN(fv)){return fv?fv/100:0}}}return 1}else{if(_81==&quot;float&quot;){_81=&quot;styleFloat&quot;}}if(!(_85=_4[_81])){_85=_4[_81]=_81.replace(_5,_6)}if(v=el.style[_85]){return v}if(cs=el.currentStyle){return cs[_85]}return null}}(),setStyle:function(_88,_89){if(typeof _88==&quot;string&quot;){var _8a;if(!(_8a=_4[_88])){_8a=_4[_88]=_88.replace(_5,_6)}if(_8a==&quot;opacity&quot;){this.setOpacity(_89)}else{this.dom.style[_8a]=_89}}else{for(var _8b in _88){if(typeof _88[_8b]!=&quot;function&quot;){this.setStyle(_8b,_88[_8b])}}}return this},applyStyles:function(_8c){Ext.DomHelper.applyStyles(this.dom,_8c);return this},getX:function(){return D.getX(this.dom)},getY:function(){return D.getY(this.dom)},getXY:function(){return D.getXY(this.dom)},getOffsetsTo:function(el){var o=this.getXY();var e=Ext.fly(el,&quot;_internal&quot;).getXY();return[o[0]-e[0],o[1]-e[1]]},setX:function(x,_91){if(!_91||!A){D.setX(this.dom,x)}else{this.setXY([x,this.getY()],this.preanim(arguments,1))}return this},setY:function(y,_93){if(!_93||!A){D.setY(this.dom,y)}else{this.setXY([this.getX(),y],this.preanim(arguments,1))}return this},setLeft:function(_94){this.setStyle(&quot;left&quot;,this.addUnits(_94));return this},setTop:function(top){this.setStyle(&quot;top&quot;,this.addUnits(top));return this},setRight:function(_96){this.setStyle(&quot;right&quot;,this.addUnits(_96));return this},setBottom:function(_97){this.setStyle(&quot;bottom&quot;,this.addUnits(_97));return this},setXY:function(pos,_99){if(!_99||!A){D.setXY(this.dom,pos)}else{this.anim({points:{to:pos}},this.preanim(arguments,1),&quot;motion&quot;)}return this},setLocation:function(x,y,_9c){this.setXY([x,y],this.preanim(arguments,2));
-return this},moveTo:function(x,y,_9f){this.setXY([x,y],this.preanim(arguments,2));return this},getRegion:function(){return D.getRegion(this.dom)},getHeight:function(_a0){var h=this.dom.offsetHeight||0;h=_a0!==true?h:h-this.getBorderWidth(&quot;tb&quot;)-this.getPadding(&quot;tb&quot;);return h&lt;0?0:h},getWidth:function(_a2){var w=this.dom.offsetWidth||0;w=_a2!==true?w:w-this.getBorderWidth(&quot;lr&quot;)-this.getPadding(&quot;lr&quot;);return w&lt;0?0:w},getComputedHeight:function(){var h=Math.max(this.dom.offsetHeight,this.dom.clientHeight);if(!h){h=parseInt(this.getStyle(&quot;height&quot;),10)||0;if(!this.isBorderBox()){h+=this.getFrameWidth(&quot;tb&quot;)}}return h},getComputedWidth:function(){var w=Math.max(this.dom.offsetWidth,this.dom.clientWidth);if(!w){w=parseInt(this.getStyle(&quot;width&quot;),10)||0;if(!this.isBorderBox()){w+=this.getFrameWidth(&quot;lr&quot;)}}return w},getSize:function(_a6){return{width:this.getWidth(_a6),height:this.getHeight(_a6)}},getStyleSize:function(){var w,h,d=this.dom,s=d.style;if(s.width&amp;&amp;s.width!=&quot;auto&quot;){w=parseInt(s.width,10);if(Ext.isBorderBox){w-=this.getFrameWidth(&quot;lr&quot;)}}if(s.height&amp;&amp;s.height!=&quot;auto&quot;){h=parseInt(s.height,10);if(Ext.isBorderBox){h-=this.getFrameWidth(&quot;tb&quot;)}}return{width:w||this.getWidth(true),height:h||this.getHeight(true)}},getViewSize:function(){var d=this.dom,doc=document,aw=0,ah=0;if(d==doc||d==doc.body){return{width:D.getViewWidth(),height:D.getViewHeight()}}else{return{width:d.clientWidth,height:d.clientHeight}}},getValue:function(_af){return _af?parseInt(this.dom.value,10):this.dom.value},adjustWidth:function(_b0){if(typeof _b0==&quot;number&quot;){if(this.autoBoxAdjust&amp;&amp;!this.isBorderBox()){_b0-=(this.getBorderWidth(&quot;lr&quot;)+this.getPadding(&quot;lr&quot;))}if(_b0&lt;0){_b0=0}}return _b0},adjustHeight:function(_b1){if(typeof _b1==&quot;number&quot;){if(this.autoBoxAdjust&amp;&amp;!this.isBorderBox()){_b1-=(this.getBorderWidth(&quot;tb&quot;)+this.getPadding(&quot;tb&quot;))}if(_b1&lt;0){_b1=0}}return _b1},setWidth:function(_b2,_b3){_b2=this.adjustWidth(_b2);if(!_b3||!A){this.dom.style.width=this.addUnits(_b2)}else{this.anim({width:{to:_b2}},this.preanim(arguments,1))}return this},setHeight:function(_b4,_b5){_b4=this.adjustHeight(_b4);if(!_b5||!A){this.dom.style.height=this.addUnits(_b4)}else{this.anim({height:{to:_b4}},this.preanim(arguments,1))}return this},setSize:function(_b6,_b7,_b8){if(typeof _b6==&quot;object&quot;){_b7=_b6.height;_b6=_b6.width}_b6=this.adjustWidth(_b6);_b7=this.adjustHeight(_b7);if(!_b8||!A){this.dom.style.width=this.addUnits(_b6);this.dom.style.height=this.addUnits(_b7)}else{this.anim({width:{to:_b6},height:{to:_b7}},this.preanim(arguments,2))}return this},setBounds:function(x,y,_bb,_bc,_bd){if(!_bd||!A){this.setSize(_bb,_bc);this.setLocation(x,y)}else{_bb=this.adjustWidth(_bb);_bc=this.adjustHeight(_bc);this.anim({points:{to:[x,y]},width:{to:_bb},height:{to:_bc}},this.preanim(arguments,4),&quot;motion&quot;)}return this},setRegion:function(_be,_bf){this.setBounds(_be.left,_be.top,_be.right-_be.left,_be.bottom-_be.top,this.preanim(arguments,1));return this},addListener:function(_c0,fn,_c2,_c3){Ext.EventManager.on(this.dom,_c0,fn,_c2||this,_c3)},removeListener:function(_c4,fn,_c6){Ext.EventManager.removeListener(this.dom,_c4,fn,_c6||this);return this},removeAllListeners:function(){Ext.EventManager.removeAll(this.dom);return this},relayEvent:function(_c7,_c8){this.on(_c7,function(e){_c8.fireEvent(_c7,e)})},setOpacity:function(_ca,_cb){if(!_cb||!A){var s=this.dom.style;if(Ext.isIE){s.zoom=1;s.filter=(s.filter||&quot;&quot;).replace(/alpha\([^\)]*\)/gi,&quot;&quot;)+(_ca==1?&quot;&quot;:&quot; alpha(opacity=&quot;+_ca*100+&quot;)&quot;)}else{s.opacity=_ca}}else{this.anim({opacity:{to:_ca}},this.preanim(arguments,1),null,0.35,&quot;easeIn&quot;)}return this},getLeft:function(_cd){if(!_cd){return this.getX()}else{return parseInt(this.getStyle(&quot;left&quot;),10)||0}},getRight:function(_ce){if(!_ce){return this.getX()+this.getWidth()}else{return(this.getLeft(true)+this.getWidth())||0}},getTop:function(_cf){if(!_cf){return this.getY()}else{return parseInt(this.getStyle(&quot;top&quot;),10)||0}},getBottom:function(_d0){if(!_d0){return this.getY()+this.getHeight()}else{return(this.getTop(true)+this.getHeight())||0}},position:function(pos,_d2,x,y){if(!pos){if(this.getStyle(&quot;position&quot;)==&quot;static&quot;){this.setStyle(&quot;position&quot;,&quot;relative&quot;)}}else{this.setStyle(&quot;position&quot;,pos)}if(_d2){this.setStyle(&quot;z-index&quot;,_d2)}if(x!==undefined&amp;&amp;y!==undefined){this.setXY([x,y])}else{if(x!==undefined){this.setX(x)}else{if(y!==undefined){this.setY(y)}}}},clearPositioning:function(_d5){_d5=_d5||&quot;&quot;;this.setStyle({left:_d5,right:_d5,top:_d5,bottom:_d5,&quot;z-index&quot;:&quot;&quot;,position:&quot;static&quot;});return this},getPositioning:function(){var l=this.getStyle(&quot;left&quot;);var t=this.getStyle(&quot;top&quot;);return{position:this.getStyle(&quot;position&quot;),left:l,right:l?&quot;&quot;:this.getStyle(&quot;right&quot;),top:t,bottom:t?&quot;&quot;:this.getStyle(&quot;bottom&quot;),&quot;z-index&quot;:this.getStyle(&quot;z-index&quot;)}},getBorderWidth:function(_d8){return this.addStyles(_d8,El.borders)},getPadding:function(_d9){return this.addStyles(_d9,El.paddings)},setPositioning:function(pc){this.applyStyles(pc);if(pc.right==&quot;auto&quot;){this.dom.style.right=&quot;&quot;}if(pc.bottom==&quot;auto&quot;){this.dom.style.bottom=&quot;&quot;}return this},fixDisplay:function(){if(this.getStyle(&quot;display&quot;)==&quot;none&quot;){this.setStyle(&quot;visibility&quot;,&quot;hidden&quot;);this.setStyle(&quot;display&quot;,this.originalDisplay);if(this.getStyle(&quot;display&quot;)==&quot;none&quot;){this.setStyle(&quot;display&quot;,&quot;block&quot;)}}},setOverflow:function(v){if(v==&quot;auto&quot;&amp;&amp;Ext.isMac&amp;&amp;Ext.isGecko2){this.dom.style.overflow=&quot;hidden&quot;;(function(){this.dom.style.overflow=&quot;auto&quot;}).defer(1,this)}else{this.dom.style.overflow=v}},setLeftTop:function(_dc,top){this.dom.style.left=this.addUnits(_dc);this.dom.style.top=this.addUnits(top);return this},move:function(_de,_df,_e0){var xy=this.getXY();_de=_de.toLowerCase();switch(_de){case&quot;l&quot;:case&quot;left&quot;:this.moveTo(xy[0]-_df,xy[1],this.preanim(arguments,2));break;case&quot;r&quot;:case&quot;right&quot;:this.moveTo(xy[0]+_df,xy[1],this.preanim(arguments,2));break;case&quot;t&quot;:case&quot;top&quot;:case&quot;up&quot;:this.moveTo(xy[0],xy[1]-_df,this.preanim(arguments,2));break;case&quot;b&quot;:case&quot;bottom&quot;:case&quot;down&quot;:this.moveTo(xy[0],xy[1]+_df,this.preanim(arguments,2));break}return this},clip:function(){if(!this.isClipped){this.isClipped=true;this.originalClip={o:this.getStyle(&quot;overflow&quot;),x:this.getStyle(&quot;overflow-x&quot;),y:this.getStyle(&quot;overflow-y&quot;)};this.setStyle(&quot;overflow&quot;,&quot;hidden&quot;);this.setStyle(&quot;overflow-x&quot;,&quot;hidden&quot;);this.setStyle(&quot;overflow-y&quot;,&quot;hidden&quot;)}return this},unclip:function(){if(this.isClipped){this.isClipped=false;var o=this.originalClip;if(o.o){this.setStyle(&quot;overflow&quot;,o.o)}if(o.x){this.setStyle(&quot;overflow-x&quot;,o.x)}if(o.y){this.setStyle(&quot;overflow-y&quot;,o.y)}}return this},getAnchorXY:function(_e3,_e4,s){var w,h,vp=false;if(!s){var d=this.dom;if(d==document.body||d==document){vp=true;w=D.getViewWidth();h=D.getViewHeight()}else{w=this.getWidth();h=this.getHeight()}}else{w=s.width;h=s.height}var x=0,y=0,r=Math.round;switch((_e3||&quot;tl&quot;).toLowerCase()){case&quot;c&quot;:x=r(w*0.5);y=r(h*0.5);break;case&quot;t&quot;:x=r(w*0.5);y=0;break;case&quot;l&quot;:x=0;y=r(h*0.5);break;case&quot;r&quot;:x=w;y=r(h*0.5);break;case&quot;b&quot;:x=r(w*0.5);y=h;break;case&quot;tl&quot;:x=0;y=0;break;case&quot;bl&quot;:x=0;y=h;break;case&quot;br&quot;:x=w;y=h;break;case&quot;tr&quot;:x=w;y=0;break}if(_e4===true){return[x,y]}if(vp){var sc=this.getScroll();return[x+sc.left,y+sc.top]}var o=this.getXY();return[x+o[0],y+o[1]]},getAlignToXY:function(el,p,o){el=Ext.get(el);if(!el||!el.dom){throw&quot;Element.alignToXY with an element that doesn't exist&quot;}var d=this.dom;var c=false;var p1=&quot;&quot;,p2=&quot;&quot;;o=o||[0,0];if(!p){p=&quot;tl-bl&quot;}else{if(p==&quot;?&quot;){p=&quot;tl-bl?&quot;}else{if(p.indexOf(&quot;-&quot;)==-1){p=&quot;tl-&quot;+p}}}p=p.toLowerCase();var m=p.match(/^([a-z]+)-([a-z]+)(\?)?$/);if(!m){throw&quot;Element.alignTo with an invalid alignment &quot;+p}p1=m[1];p2=m[2];c=!!m[3];var a1=this.getAnchorXY(p1,true);var a2=el.getAnchorXY(p2,false);var x=a2[0]-a1[0]+o[0];var y=a2[1]-a1[1]+o[1];if(c){var w=this.getWidth(),h=this.getHeight(),r=el.getRegion();var dw=D.getViewWidth()-5,dh=D.getViewHeight()-5;var p1y=p1.charAt(0),p1x=p1.charAt(p1.length-1);var p2y=p2.charAt(0),p2x=p2.charAt(p2.length-1);var _104=((p1y==&quot;t&quot;&amp;&amp;p2y==&quot;b&quot;)||(p1y==&quot;b&quot;&amp;&amp;p2y==&quot;t&quot;));var _105=((p1x==&quot;r&quot;&amp;&amp;p2x==&quot;l&quot;)||(p1x==&quot;l&quot;&amp;&amp;p2x==&quot;r&quot;));var doc=document;var _107=(doc.documentElement.scrollLeft||doc.body.scrollLeft||0)+5;
-var _108=(doc.documentElement.scrollTop||doc.body.scrollTop||0)+5;if((x+w)&gt;dw+_107){x=_105?r.left-w:dw+_107-w}if(x&lt;_107){x=_105?r.right:_107}if((y+h)&gt;dh+_108){y=_104?r.top-h:dh+_108-h}if(y&lt;_108){y=_104?r.bottom:_108}}return[x,y]},getConstrainToXY:function(){var os={top:0,left:0,bottom:0,right:0};return function(el,_10b,_10c,_10d){el=Ext.get(el);_10c=_10c?Ext.applyIf(_10c,os):os;var vw,vh,vx=0,vy=0;if(el.dom==document.body||el.dom==document){vw=Ext.lib.Dom.getViewWidth();vh=Ext.lib.Dom.getViewHeight()}else{vw=el.dom.clientWidth;vh=el.dom.clientHeight;if(!_10b){var vxy=el.getXY();vx=vxy[0];vy=vxy[1]}}var s=el.getScroll();vx+=_10c.left+s.left;vy+=_10c.top+s.top;vw-=_10c.right;vh-=_10c.bottom;var vr=vx+vw;var vb=vy+vh;var xy=_10d||(!_10b?this.getXY():[this.getLeft(true),this.getTop(true)]);var x=xy[0],y=xy[1];var w=this.dom.offsetWidth,h=this.dom.offsetHeight;var _11b=false;if((x+w)&gt;vr){x=vr-w;_11b=true}if((y+h)&gt;vb){y=vb-h;_11b=true}if(x&lt;vx){x=vx;_11b=true}if(y&lt;vy){y=vy;_11b=true}return _11b?[x,y]:false}}(),adjustForConstraints:function(xy,_11d,_11e){return this.getConstrainToXY(_11d||document,false,_11e,xy)||xy},alignTo:function(_11f,_120,_121,_122){var xy=this.getAlignToXY(_11f,_120,_121);this.setXY(xy,this.preanim(arguments,3));return this},anchorTo:function(el,_125,_126,_127,_128,_129){var _12a=function(){this.alignTo(el,_125,_126,_127);Ext.callback(_129,this)};Ext.EventManager.onWindowResize(_12a,this);var tm=typeof _128;if(tm!=&quot;undefined&quot;){Ext.EventManager.on(window,&quot;scroll&quot;,_12a,this,{buffer:tm==&quot;number&quot;?_128:50})}_12a.call(this);return this},clearOpacity:function(){if(window.ActiveXObject){if(typeof this.dom.style.filter==&quot;string&quot;&amp;&amp;(/alpha/i).test(this.dom.style.filter)){this.dom.style.filter=&quot;&quot;}}else{this.dom.style.opacity=&quot;&quot;;this.dom.style[&quot;-moz-opacity&quot;]=&quot;&quot;;this.dom.style[&quot;-khtml-opacity&quot;]=&quot;&quot;}return this},hide:function(_12c){this.setVisible(false,this.preanim(arguments,0));return this},show:function(_12d){this.setVisible(true,this.preanim(arguments,0));return this},addUnits:function(size){return Ext.Element.addUnits(size,this.defaultUnit)},update:function(html,_130,_131){if(typeof html==&quot;undefined&quot;){html=&quot;&quot;}if(_130!==true){this.dom.innerHTML=html;if(typeof _131==&quot;function&quot;){_131()}return this}var id=Ext.id();var dom=this.dom;html+='&lt;span id=&quot;'+id+'&quot;&gt;&lt;/span&gt;';E.onAvailable(id,function(){var hd=document.getElementsByTagName(&quot;head&quot;)[0];var re=/(?:&lt;script([^&gt;]*)?&gt;)((\n|\r|.)*?)(?:&lt;\/script&gt;)/ig;var _136=/\ssrc=([\'\&quot;])(.*?)\1/i;var _137=/\stype=([\'\&quot;])(.*?)\1/i;var _138;while(_138=re.exec(html)){var _139=_138[1];var _13a=_139?_139.match(_136):false;if(_13a&amp;&amp;_13a[2]){var s=document.createElement(&quot;script&quot;);s.src=_13a[2];var _13c=_139.match(_137);if(_13c&amp;&amp;_13c[2]){s.type=_13c[2]}hd.appendChild(s)}else{if(_138[2]&amp;&amp;_138[2].length&gt;0){if(window.execScript){window.execScript(_138[2])}else{window.eval(_138[2])}}}}var el=document.getElementById(id);if(el){Ext.removeNode(el)}if(typeof _131==&quot;function&quot;){_131()}});dom.innerHTML=html.replace(/(?:&lt;script.*?&gt;)((\n|\r|.)*?)(?:&lt;\/script&gt;)/ig,&quot;&quot;);return this},load:function(){var um=this.getUpdater();um.update.apply(um,arguments);return this},getUpdater:function(){if(!this.updateManager){this.updateManager=new Ext.Updater(this)}return this.updateManager},unselectable:function(){this.dom.unselectable=&quot;on&quot;;this.swallowEvent(&quot;selectstart&quot;,true);this.applyStyles(&quot;-moz-user-select:none;-khtml-user-select:none;&quot;);this.addClass(&quot;x-unselectable&quot;);return this},getCenterXY:function(){return this.getAlignToXY(document,&quot;c-c&quot;)},center:function(_13f){this.alignTo(_13f||document,&quot;c-c&quot;);return this},isBorderBox:function(){return _140[this.dom.tagName.toLowerCase()]||Ext.isBorderBox},getBox:function(_141,_142){var xy;if(!_142){xy=this.getXY()}else{var left=parseInt(this.getStyle(&quot;left&quot;),10)||0;var top=parseInt(this.getStyle(&quot;top&quot;),10)||0;xy=[left,top]}var el=this.dom,w=el.offsetWidth,h=el.offsetHeight,bx;if(!_141){bx={x:xy[0],y:xy[1],0:xy[0],1:xy[1],width:w,height:h}}else{var l=this.getBorderWidth(&quot;l&quot;)+this.getPadding(&quot;l&quot;);var r=this.getBorderWidth(&quot;r&quot;)+this.getPadding(&quot;r&quot;);var t=this.getBorderWidth(&quot;t&quot;)+this.getPadding(&quot;t&quot;);var b=this.getBorderWidth(&quot;b&quot;)+this.getPadding(&quot;b&quot;);bx={x:xy[0]+l,y:xy[1]+t,0:xy[0]+l,1:xy[1]+t,width:w-(l+r),height:h-(t+b)}}bx.right=bx.x+bx.width;bx.bottom=bx.y+bx.height;return bx},getFrameWidth:function(_14e,_14f){return _14f&amp;&amp;Ext.isBorderBox?0:(this.getPadding(_14e)+this.getBorderWidth(_14e))},setBox:function(box,_151,_152){var w=box.width,h=box.height;if((_151&amp;&amp;!this.autoBoxAdjust)&amp;&amp;!this.isBorderBox()){w-=(this.getBorderWidth(&quot;lr&quot;)+this.getPadding(&quot;lr&quot;));h-=(this.getBorderWidth(&quot;tb&quot;)+this.getPadding(&quot;tb&quot;))}this.setBounds(box.x,box.y,w,h,this.preanim(arguments,2));return this},repaint:function(){var dom=this.dom;this.addClass(&quot;x-repaint&quot;);setTimeout(function(){Ext.get(dom).removeClass(&quot;x-repaint&quot;)},1);return this},getMargins:function(side){if(!side){return{top:parseInt(this.getStyle(&quot;margin-top&quot;),10)||0,left:parseInt(this.getStyle(&quot;margin-left&quot;),10)||0,bottom:parseInt(this.getStyle(&quot;margin-bottom&quot;),10)||0,right:parseInt(this.getStyle(&quot;margin-right&quot;),10)||0}}else{return this.addStyles(side,El.margins)}},addStyles:function(_157,_158){var val=0,v,w;for(var i=0,len=_157.length;i&lt;len;i++){v=this.getStyle(_158[_157.charAt(i)]);if(v){w=parseInt(v,10);if(w){val+=(w&gt;=0?w:-1*w)}}}return val},createProxy:function(_15e,_15f,_160){_15e=typeof _15e==&quot;object&quot;?_15e:{tag:&quot;div&quot;,cls:_15e};var _161;if(_15f){_161=Ext.DomHelper.append(_15f,_15e,true)}else{_161=Ext.DomHelper.insertBefore(this.dom,_15e,true)}if(_160){_161.setBox(this.getBox())}return _161},mask:function(msg,_163){if(this.getStyle(&quot;position&quot;)==&quot;static&quot;){this.addClass(&quot;x-masked-relative&quot;)}if(this._maskMsg){this._maskMsg.remove()}if(this._mask){this._mask.remove()}this._mask=Ext.DomHelper.append(this.dom,{cls:&quot;ext-el-mask&quot;},true);this.addClass(&quot;x-masked&quot;);this._mask.setDisplayed(true);if(typeof msg==&quot;string&quot;){this._maskMsg=Ext.DomHelper.append(this.dom,{cls:&quot;ext-el-mask-msg&quot;,cn:{tag:&quot;div&quot;}},true);var mm=this._maskMsg;mm.dom.className=_163?&quot;ext-el-mask-msg &quot;+_163:&quot;ext-el-mask-msg&quot;;mm.dom.firstChild.innerHTML=msg;mm.setDisplayed(true);mm.center(this)}if(Ext.isIE&amp;&amp;!(Ext.isIE7&amp;&amp;Ext.isStrict)&amp;&amp;this.getStyle(&quot;height&quot;)==&quot;auto&quot;){this._mask.setSize(this.getWidth(),this.getHeight())}return this._mask},unmask:function(){if(this._mask){if(this._maskMsg){this._maskMsg.remove();delete this._maskMsg}this._mask.remove();delete this._mask}this.removeClass([&quot;x-masked&quot;,&quot;x-masked-relative&quot;])},isMasked:function(){return this._mask&amp;&amp;this._mask.isVisible()},createShim:function(){var el=document.createElement(&quot;iframe&quot;);el.frameBorder=&quot;0&quot;;el.className=&quot;ext-shim&quot;;if(Ext.isIE&amp;&amp;Ext.isSecure){el.src=Ext.SSL_SECURE_URL}var shim=Ext.get(this.dom.parentNode.insertBefore(el,this.dom));shim.autoBoxAdjust=false;return shim},remove:function(){Ext.removeNode(this.dom);delete El.cache[this.dom.id]},hover:function(_167,_168,_169){var _16a=function(e){if(!e.within(this,true)){_167.apply(_169||this,arguments)}};var _16c=function(e){if(!e.within(this,true)){_168.apply(_169||this,arguments)}};this.on(&quot;mouseover&quot;,_16a,this.dom);this.on(&quot;mouseout&quot;,_16c,this.dom);return this},addClassOnOver:function(_16e){this.hover(function(){Ext.fly(this,&quot;_internal&quot;).addClass(_16e)},function(){Ext.fly(this,&quot;_internal&quot;).removeClass(_16e)});return this},addClassOnFocus:function(_16f){this.on(&quot;focus&quot;,function(){Ext.fly(this,&quot;_internal&quot;).addClass(_16f)},this.dom);this.on(&quot;blur&quot;,function(){Ext.fly(this,&quot;_internal&quot;).removeClass(_16f)},this.dom);return this},addClassOnClick:function(_170){var dom=this.dom;this.on(&quot;mousedown&quot;,function(){Ext.fly(dom,&quot;_internal&quot;).addClass(_170);var d=Ext.getDoc();var fn=function(){Ext.fly(dom,&quot;_internal&quot;).removeClass(_170);d.removeListener(&quot;mouseup&quot;,fn)};d.on(&quot;mouseup&quot;,fn)});return this},swallowEvent:function(_174,_175){var fn=function(e){e.stopPropagation();if(_175){e.preventDefault()}};if(Ext.isArray(_174)){for(var i=0,len=_174.length;i&lt;len;i++){this.on(_174[i],fn)}return this}this.on(_174,fn);return this
-},parent:function(_17a,_17b){return this.matchNode(&quot;parentNode&quot;,&quot;parentNode&quot;,_17a,_17b)},next:function(_17c,_17d){return this.matchNode(&quot;nextSibling&quot;,&quot;nextSibling&quot;,_17c,_17d)},prev:function(_17e,_17f){return this.matchNode(&quot;previousSibling&quot;,&quot;previousSibling&quot;,_17e,_17f)},first:function(_180,_181){return this.matchNode(&quot;nextSibling&quot;,&quot;firstChild&quot;,_180,_181)},last:function(_182,_183){return this.matchNode(&quot;previousSibling&quot;,&quot;lastChild&quot;,_182,_183)},matchNode:function(dir,_185,_186,_187){var n=this.dom[_185];while(n){if(n.nodeType==1&amp;&amp;(!_186||Ext.DomQuery.is(n,_186))){return !_187?Ext.get(n):n}n=n[dir]}return null},appendChild:function(el){el=Ext.get(el);el.appendTo(this);return this},createChild:function(_18a,_18b,_18c){_18a=_18a||{tag:&quot;div&quot;};if(_18b){return Ext.DomHelper.insertBefore(_18b,_18a,_18c!==true)}return Ext.DomHelper[!this.dom.firstChild?&quot;overwrite&quot;:&quot;append&quot;](this.dom,_18a,_18c!==true)},appendTo:function(el){el=Ext.getDom(el);el.appendChild(this.dom);return this},insertBefore:function(el){el=Ext.getDom(el);el.parentNode.insertBefore(this.dom,el);return this},insertAfter:function(el){el=Ext.getDom(el);el.parentNode.insertBefore(this.dom,el.nextSibling);return this},insertFirst:function(el,_191){el=el||{};if(typeof el==&quot;object&quot;&amp;&amp;!el.nodeType&amp;&amp;!el.dom){return this.createChild(el,this.dom.firstChild,_191)}else{el=Ext.getDom(el);this.dom.insertBefore(el,this.dom.firstChild);return !_191?Ext.get(el):el}},insertSibling:function(el,_193,_194){var rt;if(Ext.isArray(el)){for(var i=0,len=el.length;i&lt;len;i++){rt=this.insertSibling(el[i],_193,_194)}return rt}_193=_193?_193.toLowerCase():&quot;before&quot;;el=el||{};var _198=_193==&quot;before&quot;?this.dom:this.dom.nextSibling;if(typeof el==&quot;object&quot;&amp;&amp;!el.nodeType&amp;&amp;!el.dom){if(_193==&quot;after&quot;&amp;&amp;!this.dom.nextSibling){rt=Ext.DomHelper.append(this.dom.parentNode,el,!_194)}else{rt=Ext.DomHelper[_193==&quot;after&quot;?&quot;insertAfter&quot;:&quot;insertBefore&quot;](this.dom,el,!_194)}}else{rt=this.dom.parentNode.insertBefore(Ext.getDom(el),_198);if(!_194){rt=Ext.get(rt)}}return rt},wrap:function(_199,_19a){if(!_199){_199={tag:&quot;div&quot;}}var _19b=Ext.DomHelper.insertBefore(this.dom,_199,!_19a);_19b.dom?_19b.dom.appendChild(this.dom):_19b.appendChild(this.dom);return _19b},replace:function(el){el=Ext.get(el);this.insertBefore(el);el.remove();return this},replaceWith:function(el){if(typeof el==&quot;object&quot;&amp;&amp;!el.nodeType&amp;&amp;!el.dom){el=this.insertSibling(el,&quot;before&quot;)}else{el=Ext.getDom(el);this.dom.parentNode.insertBefore(el,this.dom)}El.uncache(this.id);Ext.removeNode(this.dom);this.dom=el;this.id=Ext.id(el);El.cache[this.id]=this;return this},insertHtml:function(_19e,html,_1a0){var el=Ext.DomHelper.insertHtml(_19e,this.dom,html);return _1a0?Ext.get(el):el},set:function(o,_1a3){var el=this.dom;_1a3=typeof _1a3==&quot;undefined&quot;?(el.setAttribute?true:false):_1a3;for(var attr in o){if(attr==&quot;style&quot;||typeof o[attr]==&quot;function&quot;){continue}if(attr==&quot;cls&quot;){el.className=o.cls}else{if(o.hasOwnProperty(attr)){if(_1a3){el.setAttribute(attr,o[attr])}else{el[attr]=o[attr]}}}}if(o.style){Ext.DomHelper.applyStyles(el,o.style)}return this},addKeyListener:function(key,fn,_1a8){var _1a9;if(typeof key!=&quot;object&quot;||Ext.isArray(key)){_1a9={key:key,fn:fn,scope:_1a8}}else{_1a9={key:key.key,shift:key.shift,ctrl:key.ctrl,alt:key.alt,fn:fn,scope:_1a8}}return new Ext.KeyMap(this,_1a9)},addKeyMap:function(_1aa){return new Ext.KeyMap(this,_1aa)},isScrollable:function(){var dom=this.dom;return dom.scrollHeight&gt;dom.clientHeight||dom.scrollWidth&gt;dom.clientWidth},scrollTo:function(side,_1ad,_1ae){var prop=side.toLowerCase()==&quot;left&quot;?&quot;scrollLeft&quot;:&quot;scrollTop&quot;;if(!_1ae||!A){this.dom[prop]=_1ad}else{var to=prop==&quot;scrollLeft&quot;?[_1ad,this.dom.scrollTop]:[this.dom.scrollLeft,_1ad];this.anim({scroll:{to:to}},this.preanim(arguments,2),&quot;scroll&quot;)}return this},scroll:function(_1b1,_1b2,_1b3){if(!this.isScrollable()){return}var el=this.dom;var l=el.scrollLeft,t=el.scrollTop;var w=el.scrollWidth,h=el.scrollHeight;var cw=el.clientWidth,ch=el.clientHeight;_1b1=_1b1.toLowerCase();var _1bb=false;var a=this.preanim(arguments,2);switch(_1b1){case&quot;l&quot;:case&quot;left&quot;:if(w-l&gt;cw){var v=Math.min(l+_1b2,w-cw);this.scrollTo(&quot;left&quot;,v,a);_1bb=true}break;case&quot;r&quot;:case&quot;right&quot;:if(l&gt;0){var v=Math.max(l-_1b2,0);this.scrollTo(&quot;left&quot;,v,a);_1bb=true}break;case&quot;t&quot;:case&quot;top&quot;:case&quot;up&quot;:if(t&gt;0){var v=Math.max(t-_1b2,0);this.scrollTo(&quot;top&quot;,v,a);_1bb=true}break;case&quot;b&quot;:case&quot;bottom&quot;:case&quot;down&quot;:if(h-t&gt;ch){var v=Math.min(t+_1b2,h-ch);this.scrollTo(&quot;top&quot;,v,a);_1bb=true}break}return _1bb},translatePoints:function(x,y){if(typeof x==&quot;object&quot;||Ext.isArray(x)){y=x[1];x=x[0]}var p=this.getStyle(&quot;position&quot;);var o=this.getXY();var l=parseInt(this.getStyle(&quot;left&quot;),10);var t=parseInt(this.getStyle(&quot;top&quot;),10);if(isNaN(l)){l=(p==&quot;relative&quot;)?0:this.dom.offsetLeft}if(isNaN(t)){t=(p==&quot;relative&quot;)?0:this.dom.offsetTop}return{left:(x-o[0]+l),top:(y-o[1]+t)}},getScroll:function(){var d=this.dom,doc=document;if(d==doc||d==doc.body){var l,t;if(Ext.isIE&amp;&amp;Ext.isStrict){l=doc.documentElement.scrollLeft||(doc.body.scrollLeft||0);t=doc.documentElement.scrollTop||(doc.body.scrollTop||0)}else{l=window.pageXOffset||(doc.body.scrollLeft||0);t=window.pageYOffset||(doc.body.scrollTop||0)}return{left:l,top:t}}else{return{left:d.scrollLeft,top:d.scrollTop}}},getColor:function(attr,_1c9,_1ca){var v=this.getStyle(attr);if(!v||v==&quot;transparent&quot;||v==&quot;inherit&quot;){return _1c9}var _1cc=typeof _1ca==&quot;undefined&quot;?&quot;#&quot;:_1ca;if(v.substr(0,4)==&quot;rgb(&quot;){var rvs=v.slice(4,v.length-1).split(&quot;,&quot;);for(var i=0;i&lt;3;i++){var h=parseInt(rvs[i]);var s=h.toString(16);if(h&lt;16){s=&quot;0&quot;+s}_1cc+=s}}else{if(v.substr(0,1)==&quot;#&quot;){if(v.length==4){for(var i=1;i&lt;4;i++){var c=v.charAt(i);_1cc+=c+c}}else{if(v.length==7){_1cc+=v.substr(1)}}}}return(_1cc.length&gt;5?_1cc.toLowerCase():_1c9)},boxWrap:function(cls){cls=cls||&quot;x-box&quot;;var el=Ext.get(this.insertHtml(&quot;beforeBegin&quot;,String.format('&lt;div class=&quot;{0}&quot;&gt;'+El.boxMarkup+&quot;&lt;/div&gt;&quot;,cls)));el.child(&quot;.&quot;+cls+&quot;-mc&quot;).dom.appendChild(this.dom);return el},getAttributeNS:Ext.isIE?function(ns,name){var d=this.dom;var type=typeof d[ns+&quot;:&quot;+name];if(type!=&quot;undefined&quot;&amp;&amp;type!=&quot;unknown&quot;){return d[ns+&quot;:&quot;+name]}return d[name]}:function(ns,name){var d=this.dom;return d.getAttributeNS(ns,name)||d.getAttribute(ns+&quot;:&quot;+name)||d.getAttribute(name)||d[name]},getTextWidth:function(text,min,max){return(Ext.util.TextMetrics.measure(this.dom,Ext.value(text,this.dom.innerHTML,true)).width).constrain(min||0,max||1000000)}};var ep=El.prototype;ep.on=ep.addListener;ep.mon=ep.addListener;ep.getUpdateManager=ep.getUpdater;ep.un=ep.removeListener;ep.autoBoxAdjust=true;El.unitPattern=/\d+(px|em|%|en|ex|pt|in|cm|mm|pc)$/i;El.addUnits=function(v,_1e0){if(v===&quot;&quot;||v==&quot;auto&quot;){return v}if(v===undefined){return&quot;&quot;}if(typeof v==&quot;number&quot;||!El.unitPattern.test(v)){return v+(_1e0||&quot;px&quot;)}return v};El.boxMarkup='&lt;div class=&quot;{0}-tl&quot;&gt;&lt;div class=&quot;{0}-tr&quot;&gt;&lt;div class=&quot;{0}-tc&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;{0}-ml&quot;&gt;&lt;div class=&quot;{0}-mr&quot;&gt;&lt;div class=&quot;{0}-mc&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;{0}-bl&quot;&gt;&lt;div class=&quot;{0}-br&quot;&gt;&lt;div class=&quot;{0}-bc&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;';El.VISIBILITY=1;El.DISPLAY=2;El.borders={l:&quot;border-left-width&quot;,r:&quot;border-right-width&quot;,t:&quot;border-top-width&quot;,b:&quot;border-bottom-width&quot;};El.paddings={l:&quot;padding-left&quot;,r:&quot;padding-right&quot;,t:&quot;padding-top&quot;,b:&quot;padding-bottom&quot;};El.margins={l:&quot;margin-left&quot;,r:&quot;margin-right&quot;,t:&quot;margin-top&quot;,b:&quot;margin-bottom&quot;};El.cache={};var _1e1;El.get=function(el){var ex,elm,id;if(!el){return null}if(typeof el==&quot;string&quot;){if(!(elm=document.getElementById(el))){return null}if(ex=El.cache[el]){ex.dom=elm}else{ex=El.cache[el]=new El(elm)}return ex}else{if(el.tagName){if(!(id=el.id)){id=Ext.id(el)}if(ex=El.cache[id]){ex.dom=el}else{ex=El.cache[id]=new El(el)}return ex}else{if(el instanceof El){if(el!=_1e1){el.dom=document.getElementById(el.id)||el.dom;El.cache[el.id]=el}return el}else{if(el.isComposite){return el}else{if(Ext.isArray(el)){return El.select(el)}else{if(el==document){if(!_1e1){var f=function(){};f.prototype=El.prototype;_1e1=new f();_1e1.dom=document}return _1e1}}}}}}return null};El.uncache=function(el){for(var i=0,a=arguments,len=a.length;
-i&lt;len;i++){if(a[i]){delete El.cache[a[i].id||a[i]]}}};El.garbageCollect=function(){if(!Ext.enableGarbageCollector){clearInterval(El.collectorThread);return}for(var eid in El.cache){var el=El.cache[eid],d=el.dom;if(!d||!d.parentNode||(!d.offsetParent&amp;&amp;!document.getElementById(eid))){delete El.cache[eid];if(d&amp;&amp;Ext.enableListenerCollection){Ext.EventManager.removeAll(d)}}}};El.collectorThreadId=setInterval(El.garbageCollect,30000);var _1ee=function(){};_1ee.prototype=El.prototype;var _cls=new _1ee();El.Flyweight=function(dom){this.dom=dom};El.Flyweight.prototype=_cls;El.Flyweight.prototype.isFlyweight=true;El._flyweights={};El.fly=function(el,_1f2){_1f2=_1f2||&quot;_global&quot;;el=Ext.getDom(el);if(!el){return null}if(!El._flyweights[_1f2]){El._flyweights[_1f2]=new El.Flyweight()}El._flyweights[_1f2].dom=el;return El._flyweights[_1f2]};Ext.get=El.get;Ext.fly=El.fly;var _140=Ext.isStrict?{select:1}:{input:1,select:1,textarea:1};if(Ext.isIE||Ext.isGecko){_140.button=1}Ext.EventManager.on(window,&quot;unload&quot;,function(){delete El.cache;delete El._flyweights})})();Ext.enableFx=true;Ext.Fx={slideIn:function(_1,o){var el=this.getFxEl();o=o||{};el.queueFx(o,function(){_1=_1||&quot;t&quot;;this.fixDisplay();var r=this.getFxRestore();var b=this.getBox();this.setSize(b);var _6=this.fxWrap(r.pos,o,&quot;hidden&quot;);var st=this.dom.style;st.visibility=&quot;visible&quot;;st.position=&quot;absolute&quot;;var _8=function(){el.fxUnwrap(_6,r.pos,o);st.width=r.width;st.height=r.height;el.afterFx(o)};var a,pt={to:[b.x,b.y]},bw={to:b.width},bh={to:b.height};switch(_1.toLowerCase()){case&quot;t&quot;:_6.setSize(b.width,0);st.left=st.bottom=&quot;0&quot;;a={height:bh};break;case&quot;l&quot;:_6.setSize(0,b.height);st.right=st.top=&quot;0&quot;;a={width:bw};break;case&quot;r&quot;:_6.setSize(0,b.height);_6.setX(b.right);st.left=st.top=&quot;0&quot;;a={width:bw,points:pt};break;case&quot;b&quot;:_6.setSize(b.width,0);_6.setY(b.bottom);st.left=st.top=&quot;0&quot;;a={height:bh,points:pt};break;case&quot;tl&quot;:_6.setSize(0,0);st.right=st.bottom=&quot;0&quot;;a={width:bw,height:bh};break;case&quot;bl&quot;:_6.setSize(0,0);_6.setY(b.y+b.height);st.right=st.top=&quot;0&quot;;a={width:bw,height:bh,points:pt};break;case&quot;br&quot;:_6.setSize(0,0);_6.setXY([b.right,b.bottom]);st.left=st.top=&quot;0&quot;;a={width:bw,height:bh,points:pt};break;case&quot;tr&quot;:_6.setSize(0,0);_6.setX(b.x+b.width);st.left=st.bottom=&quot;0&quot;;a={width:bw,height:bh,points:pt};break}this.dom.style.visibility=&quot;visible&quot;;_6.show();arguments.callee.anim=_6.fxanim(a,o,&quot;motion&quot;,0.5,&quot;easeOut&quot;,_8)});return this},slideOut:function(_d,o){var el=this.getFxEl();o=o||{};el.queueFx(o,function(){_d=_d||&quot;t&quot;;var r=this.getFxRestore();var b=this.getBox();this.setSize(b);var _12=this.fxWrap(r.pos,o,&quot;visible&quot;);var st=this.dom.style;st.visibility=&quot;visible&quot;;st.position=&quot;absolute&quot;;_12.setSize(b);var _14=function(){if(o.useDisplay){el.setDisplayed(false)}else{el.hide()}el.fxUnwrap(_12,r.pos,o);st.width=r.width;st.height=r.height;el.afterFx(o)};var a,_16={to:0};switch(_d.toLowerCase()){case&quot;t&quot;:st.left=st.bottom=&quot;0&quot;;a={height:_16};break;case&quot;l&quot;:st.right=st.top=&quot;0&quot;;a={width:_16};break;case&quot;r&quot;:st.left=st.top=&quot;0&quot;;a={width:_16,points:{to:[b.right,b.y]}};break;case&quot;b&quot;:st.left=st.top=&quot;0&quot;;a={height:_16,points:{to:[b.x,b.bottom]}};break;case&quot;tl&quot;:st.right=st.bottom=&quot;0&quot;;a={width:_16,height:_16};break;case&quot;bl&quot;:st.right=st.top=&quot;0&quot;;a={width:_16,height:_16,points:{to:[b.x,b.bottom]}};break;case&quot;br&quot;:st.left=st.top=&quot;0&quot;;a={width:_16,height:_16,points:{to:[b.x+b.width,b.bottom]}};break;case&quot;tr&quot;:st.left=st.bottom=&quot;0&quot;;a={width:_16,height:_16,points:{to:[b.right,b.y]}};break}arguments.callee.anim=_12.fxanim(a,o,&quot;motion&quot;,0.5,&quot;easeOut&quot;,_14)});return this},puff:function(o){var el=this.getFxEl();o=o||{};el.queueFx(o,function(){this.clearOpacity();this.show();var r=this.getFxRestore();var st=this.dom.style;var _1b=function(){if(o.useDisplay){el.setDisplayed(false)}else{el.hide()}el.clearOpacity();el.setPositioning(r.pos);st.width=r.width;st.height=r.height;st.fontSize=&quot;&quot;;el.afterFx(o)};var _1c=this.getWidth();var _1d=this.getHeight();arguments.callee.anim=this.fxanim({width:{to:this.adjustWidth(_1c*2)},height:{to:this.adjustHeight(_1d*2)},points:{by:[-(_1c*0.5),-(_1d*0.5)]},opacity:{to:0},fontSize:{to:200,unit:&quot;%&quot;}},o,&quot;motion&quot;,0.5,&quot;easeOut&quot;,_1b)});return this},switchOff:function(o){var el=this.getFxEl();o=o||{};el.queueFx(o,function(){this.clearOpacity();this.clip();var r=this.getFxRestore();var st=this.dom.style;var _22=function(){if(o.useDisplay){el.setDisplayed(false)}else{el.hide()}el.clearOpacity();el.setPositioning(r.pos);st.width=r.width;st.height=r.height;el.afterFx(o)};this.fxanim({opacity:{to:0.3}},null,null,0.1,null,function(){this.clearOpacity();(function(){this.fxanim({height:{to:1},points:{by:[0,this.getHeight()*0.5]}},o,&quot;motion&quot;,0.3,&quot;easeIn&quot;,_22)}).defer(100,this)})});return this},highlight:function(_23,o){var el=this.getFxEl();o=o||{};el.queueFx(o,function(){_23=_23||&quot;ffff9c&quot;;var _26=o.attr||&quot;backgroundColor&quot;;this.clearOpacity();this.show();var _27=this.getColor(_26);var _28=this.dom.style[_26];var _29=(o.endColor||_27)||&quot;ffffff&quot;;var _2a=function(){el.dom.style[_26]=_28;el.afterFx(o)};var a={};a[_26]={from:_23,to:_29};arguments.callee.anim=this.fxanim(a,o,&quot;color&quot;,1,&quot;easeIn&quot;,_2a)});return this},frame:function(_2c,_2d,o){var el=this.getFxEl();o=o||{};el.queueFx(o,function(){_2c=_2c||&quot;#C3DAF9&quot;;if(_2c.length==6){_2c=&quot;#&quot;+_2c}_2d=_2d||1;var _30=o.duration||1;this.show();var b=this.getBox();var _32=function(){var _33=Ext.getBody().createChild({style:{visbility:&quot;hidden&quot;,position:&quot;absolute&quot;,&quot;z-index&quot;:&quot;35000&quot;,border:&quot;0px solid &quot;+_2c}});var _34=Ext.isBorderBox?2:1;_33.animate({top:{from:b.y,to:b.y-20},left:{from:b.x,to:b.x-20},borderWidth:{from:0,to:10},opacity:{from:1,to:0},height:{from:b.height,to:(b.height+(20*_34))},width:{from:b.width,to:(b.width+(20*_34))}},_30,function(){_33.remove();if(--_2d&gt;0){_32()}else{el.afterFx(o)}})};_32.call(this)});return this},pause:function(_35){var el=this.getFxEl();var o={};el.queueFx(o,function(){setTimeout(function(){el.afterFx(o)},_35*1000)});return this},fadeIn:function(o){var el=this.getFxEl();o=o||{};el.queueFx(o,function(){this.setOpacity(0);this.fixDisplay();this.dom.style.visibility=&quot;visible&quot;;var to=o.endOpacity||1;arguments.callee.anim=this.fxanim({opacity:{to:to}},o,null,0.5,&quot;easeOut&quot;,function(){if(to==1){this.clearOpacity()}el.afterFx(o)})});return this},fadeOut:function(o){var el=this.getFxEl();o=o||{};el.queueFx(o,function(){var to=o.endOpacity||0;arguments.callee.anim=this.fxanim({opacity:{to:to}},o,null,0.5,&quot;easeOut&quot;,function(){if(to===0){if(this.visibilityMode==Ext.Element.DISPLAY||o.useDisplay){this.dom.style.display=&quot;none&quot;}else{this.dom.style.visibility=&quot;hidden&quot;}this.clearOpacity()}el.afterFx(o)})});return this},scale:function(w,h,o){this.shift(Ext.apply({},o,{width:w,height:h}));return this},shift:function(o){var el=this.getFxEl();o=o||{};el.queueFx(o,function(){var a={},w=o.width,h=o.height,x=o.x,y=o.y,op=o.opacity;if(w!==undefined){a.width={to:this.adjustWidth(w)}}if(h!==undefined){a.height={to:this.adjustHeight(h)}}if(o.left!==undefined){a.left={to:o.left}}if(o.top!==undefined){a.top={to:o.top}}if(o.right!==undefined){a.right={to:o.right}}if(o.bottom!==undefined){a.bottom={to:o.bottom}}if(x!==undefined||y!==undefined){a.points={to:[x!==undefined?x:this.getX(),y!==undefined?y:this.getY()]}}if(op!==undefined){a.opacity={to:op}}if(o.xy!==undefined){a.points={to:o.xy}}arguments.callee.anim=this.fxanim(a,o,&quot;motion&quot;,0.35,&quot;easeOut&quot;,function(){el.afterFx(o)})});return this},ghost:function(_49,o){var el=this.getFxEl();o=o||{};el.queueFx(o,function(){_49=_49||&quot;b&quot;;var r=this.getFxRestore();var w=this.getWidth(),h=this.getHeight();var st=this.dom.style;var _50=function(){if(o.useDisplay){el.setDisplayed(false)}else{el.hide()}el.clearOpacity();el.setPositioning(r.pos);st.width=r.width;st.height=r.height;el.afterFx(o)};var a={opacity:{to:0},points:{}},pt=a.points;switch(_49.toLowerCase()){case&quot;t&quot;:pt.by=[0,-h];break;case&quot;l&quot;:pt.by=[-w,0];break;case&quot;r&quot;:pt.by=[w,0];break;case&quot;b&quot;:pt.by=[0,h];break;case&quot;tl&quot;:pt.by=[-w,-h];break;case&quot;bl&quot;:pt.by=[-w,h];break;case&quot;br&quot;:pt.by=[w,h];break;case&quot;tr&quot;:pt.by=[w,-h];break
-}arguments.callee.anim=this.fxanim(a,o,&quot;motion&quot;,0.5,&quot;easeOut&quot;,_50)});return this},syncFx:function(){this.fxDefaults=Ext.apply(this.fxDefaults||{},{block:false,concurrent:true,stopFx:false});return this},sequenceFx:function(){this.fxDefaults=Ext.apply(this.fxDefaults||{},{block:false,concurrent:false,stopFx:false});return this},nextFx:function(){var ef=this.fxQueue[0];if(ef){ef.call(this)}},hasActiveFx:function(){return this.fxQueue&amp;&amp;this.fxQueue[0]},stopFx:function(){if(this.hasActiveFx()){var cur=this.fxQueue[0];if(cur&amp;&amp;cur.anim&amp;&amp;cur.anim.isAnimated()){this.fxQueue=[cur];cur.anim.stop(true)}}return this},beforeFx:function(o){if(this.hasActiveFx()&amp;&amp;!o.concurrent){if(o.stopFx){this.stopFx();return true}return false}return true},hasFxBlock:function(){var q=this.fxQueue;return q&amp;&amp;q[0]&amp;&amp;q[0].block},queueFx:function(o,fn){if(!this.fxQueue){this.fxQueue=[]}if(!this.hasFxBlock()){Ext.applyIf(o,this.fxDefaults);if(!o.concurrent){var run=this.beforeFx(o);fn.block=o.block;this.fxQueue.push(fn);if(run){this.nextFx()}}else{fn.call(this)}}return this},fxWrap:function(pos,o,vis){var _5d;if(!o.wrap||!(_5d=Ext.get(o.wrap))){var _5e;if(o.fixPosition){_5e=this.getXY()}var div=document.createElement(&quot;div&quot;);div.style.visibility=vis;_5d=Ext.get(this.dom.parentNode.insertBefore(div,this.dom));_5d.setPositioning(pos);if(_5d.getStyle(&quot;position&quot;)==&quot;static&quot;){_5d.position(&quot;relative&quot;)}this.clearPositioning(&quot;auto&quot;);_5d.clip();_5d.dom.appendChild(this.dom);if(_5e){_5d.setXY(_5e)}}return _5d},fxUnwrap:function(_60,pos,o){this.clearPositioning();this.setPositioning(pos);if(!o.wrap){_60.dom.parentNode.insertBefore(this.dom,_60.dom);_60.remove()}},getFxRestore:function(){var st=this.dom.style;return{pos:this.getPositioning(),width:st.width,height:st.height}},afterFx:function(o){if(o.afterStyle){this.applyStyles(o.afterStyle)}if(o.afterCls){this.addClass(o.afterCls)}if(o.remove===true){this.remove()}Ext.callback(o.callback,o.scope,[this]);if(!o.concurrent){this.fxQueue.shift();this.nextFx()}},getFxEl:function(){return Ext.get(this.dom)},fxanim:function(_65,opt,_67,_68,_69,cb){_67=_67||&quot;run&quot;;opt=opt||{};var _6b=Ext.lib.Anim[_67](this.dom,_65,(opt.duration||_68)||0.35,(opt.easing||_69)||&quot;easeOut&quot;,function(){Ext.callback(cb,this)},this);opt.anim=_6b;return _6b}};Ext.Fx.resize=Ext.Fx.scale;Ext.apply(Ext.Element.prototype,Ext.Fx);Ext.CompositeElement=function(_1){this.elements=[];this.addElements(_1)};Ext.CompositeElement.prototype={isComposite:true,addElements:function(_2){if(!_2){return this}if(typeof _2==&quot;string&quot;){_2=Ext.Element.selectorFunction(_2)}var _3=this.elements;var _4=_3.length-1;for(var i=0,_6=_2.length;i&lt;_6;i++){_3[++_4]=Ext.get(_2[i])}return this},fill:function(_7){this.elements=[];this.add(_7);return this},filter:function(_8){var _9=[];this.each(function(el){if(el.is(_8)){_9[_9.length]=el.dom}});this.fill(_9);return this},invoke:function(fn,_c){var _d=this.elements;for(var i=0,_f=_d.length;i&lt;_f;i++){Ext.Element.prototype[fn].apply(_d[i],_c)}return this},add:function(els){if(typeof els==&quot;string&quot;){this.addElements(Ext.Element.selectorFunction(els))}else{if(els.length!==undefined){this.addElements(els)}else{this.addElements([els])}}return this},each:function(fn,_12){var els=this.elements;for(var i=0,len=els.length;i&lt;len;i++){if(fn.call(_12||els[i],els[i],this,i)===false){break}}return this},item:function(_16){return this.elements[_16]||null},first:function(){return this.item(0)},last:function(){return this.item(this.elements.length-1)},getCount:function(){return this.elements.length},contains:function(el){return this.indexOf(el)!==-1},indexOf:function(el){return this.elements.indexOf(Ext.get(el))},removeElement:function(el,_1a){if(Ext.isArray(el)){for(var i=0,len=el.length;i&lt;len;i++){this.removeElement(el[i])}return this}var _1d=typeof el==&quot;number&quot;?el:this.indexOf(el);if(_1d!==-1&amp;&amp;this.elements[_1d]){if(_1a){var d=this.elements[_1d];if(d.dom){d.remove()}else{Ext.removeNode(d)}}this.elements.splice(_1d,1)}return this},replaceElement:function(el,_20,_21){var _22=typeof el==&quot;number&quot;?el:this.indexOf(el);if(_22!==-1){if(_21){this.elements[_22].replaceWith(_20)}else{this.elements.splice(_22,1,Ext.get(_20))}}return this},clear:function(){this.elements=[]}};(function(){Ext.CompositeElement.createCall=function(_23,_24){if(!_23[_24]){_23[_24]=function(){return this.invoke(_24,arguments)}}};for(var _25 in Ext.Element.prototype){if(typeof Ext.Element.prototype[_25]==&quot;function&quot;){Ext.CompositeElement.createCall(Ext.CompositeElement.prototype,_25)}}})();Ext.CompositeElementLite=function(els){Ext.CompositeElementLite.superclass.constructor.call(this,els);this.el=new Ext.Element.Flyweight()};Ext.extend(Ext.CompositeElementLite,Ext.CompositeElement,{addElements:function(els){if(els){if(Ext.isArray(els)){this.elements=this.elements.concat(els)}else{var _28=this.elements;var _29=_28.length-1;for(var i=0,len=els.length;i&lt;len;i++){_28[++_29]=els[i]}}}return this},invoke:function(fn,_2d){var els=this.elements;var el=this.el;for(var i=0,len=els.length;i&lt;len;i++){el.dom=els[i];Ext.Element.prototype[fn].apply(el,_2d)}return this},item:function(_32){if(!this.elements[_32]){return null}this.el.dom=this.elements[_32];return this.el},addListener:function(_33,_34,_35,opt){var els=this.elements;for(var i=0,len=els.length;i&lt;len;i++){Ext.EventManager.on(els[i],_33,_34,_35||els[i],opt)}return this},each:function(fn,_3b){var els=this.elements;var el=this.el;for(var i=0,len=els.length;i&lt;len;i++){el.dom=els[i];if(fn.call(_3b||el,el,this,i)===false){break}}return this},indexOf:function(el){return this.elements.indexOf(Ext.getDom(el))},replaceElement:function(el,_42,_43){var _44=typeof el==&quot;number&quot;?el:this.indexOf(el);if(_44!==-1){_42=Ext.getDom(_42);if(_43){var d=this.elements[_44];d.parentNode.insertBefore(_42,d);Ext.removeNode(d)}this.elements.splice(_44,1,_42)}return this}});Ext.CompositeElementLite.prototype.on=Ext.CompositeElementLite.prototype.addListener;if(Ext.DomQuery){Ext.Element.selectorFunction=Ext.DomQuery.select}Ext.Element.select=function(_46,_47,_48){var els;if(typeof _46==&quot;string&quot;){els=Ext.Element.selectorFunction(_46,_48)}else{if(_46.length!==undefined){els=_46}else{throw&quot;Invalid selector&quot;}}if(_47===true){return new Ext.CompositeElement(els)}else{return new Ext.CompositeElementLite(els)}};Ext.select=Ext.Element.select;Ext.data.Connection=function(_1){Ext.apply(this,_1);this.addEvents(&quot;beforerequest&quot;,&quot;requestcomplete&quot;,&quot;requestexception&quot;);Ext.data.Connection.superclass.constructor.call(this)};Ext.extend(Ext.data.Connection,Ext.util.Observable,{timeout:30000,autoAbort:false,disableCaching:true,disableCachingParam:&quot;_dc&quot;,request:function(o){if(this.fireEvent(&quot;beforerequest&quot;,this,o)!==false){var p=o.params;if(typeof p==&quot;function&quot;){p=p.call(o.scope||window,o)}if(typeof p==&quot;object&quot;){p=Ext.urlEncode(p)}if(this.extraParams){var _4=Ext.urlEncode(this.extraParams);p=p?(p+&quot;&amp;&quot;+_4):_4}var _5=o.url||this.url;if(typeof _5==&quot;function&quot;){_5=_5.call(o.scope||window,o)}if(o.form){var _6=Ext.getDom(o.form);_5=_5||_6.action;var _7=_6.getAttribute(&quot;enctype&quot;);if(o.isUpload||(_7&amp;&amp;_7.toLowerCase()==&quot;multipart/form-data&quot;)){return this.doFormUpload(o,p,_5)}var f=Ext.lib.Ajax.serializeForm(_6);p=p?(p+&quot;&amp;&quot;+f):f}var hs=o.headers;if(this.defaultHeaders){hs=Ext.apply(hs||{},this.defaultHeaders);if(!o.headers){o.headers=hs}}var cb={success:this.handleResponse,failure:this.handleFailure,scope:this,argument:{options:o},timeout:o.timeout||this.timeout};var _b=o.method||this.method||((p||o.xmlData||o.jsonData)?&quot;POST&quot;:&quot;GET&quot;);if(_b==&quot;GET&quot;&amp;&amp;(this.disableCaching&amp;&amp;o.disableCaching!==false)||o.disableCaching===true){var _c=o.disableCachingParam||this.disableCachingParam;_5+=(_5.indexOf(&quot;?&quot;)!=-1?&quot;&amp;&quot;:&quot;?&quot;)+_c+&quot;=&quot;+(new Date().getTime())}if(typeof o.autoAbort==&quot;boolean&quot;){if(o.autoAbort){this.abort()}}else{if(this.autoAbort!==false){this.abort()}}if((_b==&quot;GET&quot;||o.xmlData||o.jsonData)&amp;&amp;p){_5+=(_5.indexOf(&quot;?&quot;)!=-1?&quot;&amp;&quot;:&quot;?&quot;)+p;p=&quot;&quot;}this.transId=Ext.lib.Ajax.request(_b,_5,cb,p,o);return this.transId}else{Ext.callback(o.callback,o.scope,[o,null,null]);return null
-}},isLoading:function(_d){if(_d){return Ext.lib.Ajax.isCallInProgress(_d)}else{return this.transId?true:false}},abort:function(_e){if(_e||this.isLoading()){Ext.lib.Ajax.abort(_e||this.transId)}},handleResponse:function(_f){this.transId=false;var _10=_f.argument.options;_f.argument=_10?_10.argument:null;this.fireEvent(&quot;requestcomplete&quot;,this,_f,_10);Ext.callback(_10.success,_10.scope,[_f,_10]);Ext.callback(_10.callback,_10.scope,[_10,true,_f])},handleFailure:function(_11,e){this.transId=false;var _13=_11.argument.options;_11.argument=_13?_13.argument:null;this.fireEvent(&quot;requestexception&quot;,this,_11,_13,e);Ext.callback(_13.failure,_13.scope,[_11,_13]);Ext.callback(_13.callback,_13.scope,[_13,false,_11])},doFormUpload:function(o,ps,url){var id=Ext.id();var _18=document.createElement(&quot;iframe&quot;);_18.id=id;_18.name=id;_18.className=&quot;x-hidden&quot;;if(Ext.isIE){_18.src=Ext.SSL_SECURE_URL}document.body.appendChild(_18);if(Ext.isIE){document.frames[id].name=id}var _19=Ext.getDom(o.form);_19.target=id;_19.method=&quot;POST&quot;;_19.enctype=_19.encoding=&quot;multipart/form-data&quot;;if(url){_19.action=url}var _1a,hd;if(ps){_1a=[];ps=Ext.urlDecode(ps,false);for(var k in ps){if(ps.hasOwnProperty(k)){hd=document.createElement(&quot;input&quot;);hd.type=&quot;hidden&quot;;hd.name=k;hd.value=ps[k];_19.appendChild(hd);_1a.push(hd)}}}function cb(){var r={responseText:&quot;&quot;,responseXML:null};r.argument=o?o.argument:null;try{var doc;if(Ext.isIE){doc=_18.contentWindow.document}else{doc=(_18.contentDocument||window.frames[id].document)}if(doc&amp;&amp;doc.body){r.responseText=doc.body.innerHTML}if(doc&amp;&amp;doc.XMLDocument){r.responseXML=doc.XMLDocument}else{r.responseXML=doc}}catch(e){}Ext.EventManager.removeListener(_18,&quot;load&quot;,cb,this);this.fireEvent(&quot;requestcomplete&quot;,this,r,o);Ext.callback(o.success,o.scope,[r,o]);Ext.callback(o.callback,o.scope,[o,true,r]);setTimeout(function(){Ext.removeNode(_18)},100)}Ext.EventManager.on(_18,&quot;load&quot;,cb,this);_19.submit();if(_1a){for(var i=0,len=_1a.length;i&lt;len;i++){Ext.removeNode(_1a[i])}}}});Ext.Ajax=new Ext.data.Connection({autoAbort:false,serializeForm:function(_21){return Ext.lib.Ajax.serializeForm(_21)}});Ext.Updater=Ext.extend(Ext.util.Observable,{constructor:function(el,_2){el=Ext.get(el);if(!_2&amp;&amp;el.updateManager){return el.updateManager}this.el=el;this.defaultUrl=null;this.addEvents(&quot;beforeupdate&quot;,&quot;update&quot;,&quot;failure&quot;);var d=Ext.Updater.defaults;this.sslBlankUrl=d.sslBlankUrl;this.disableCaching=d.disableCaching;this.indicatorText=d.indicatorText;this.showLoadIndicator=d.showLoadIndicator;this.timeout=d.timeout;this.loadScripts=d.loadScripts;this.transaction=null;this.refreshDelegate=this.refresh.createDelegate(this);this.updateDelegate=this.update.createDelegate(this);this.formUpdateDelegate=this.formUpdate.createDelegate(this);if(!this.renderer){this.renderer=this.getDefaultRenderer()}Ext.Updater.superclass.constructor.call(this)},getDefaultRenderer:function(){return new Ext.Updater.BasicRenderer()},getEl:function(){return this.el},update:function(_4,_5,_6,_7){if(this.fireEvent(&quot;beforeupdate&quot;,this.el,_4,_5)!==false){var _8,_9;if(typeof _4==&quot;object&quot;){_8=_4;_4=_8.url;_5=_5||_8.params;_6=_6||_8.callback;_7=_7||_8.discardUrl;_9=_8.scope;if(typeof _8.nocache!=&quot;undefined&quot;){this.disableCaching=_8.nocache}if(typeof _8.text!=&quot;undefined&quot;){this.indicatorText='&lt;div class=&quot;loading-indicator&quot;&gt;'+_8.text+&quot;&lt;/div&gt;&quot;}if(typeof _8.scripts!=&quot;undefined&quot;){this.loadScripts=_8.scripts}if(typeof _8.timeout!=&quot;undefined&quot;){this.timeout=_8.timeout}}this.showLoading();if(!_7){this.defaultUrl=_4}if(typeof _4==&quot;function&quot;){_4=_4.call(this)}var o=Ext.apply({},{url:_4,params:(typeof _5==&quot;function&quot;&amp;&amp;_9)?_5.createDelegate(_9):_5,success:this.processSuccess,failure:this.processFailure,scope:this,callback:undefined,timeout:(this.timeout*1000),disableCaching:this.disableCaching,argument:{options:_8,url:_4,form:null,callback:_6,scope:_9||window,params:_5}},_8);this.transaction=Ext.Ajax.request(o)}},formUpdate:function(_b,_c,_d,_e){if(this.fireEvent(&quot;beforeupdate&quot;,this.el,_b,_c)!==false){if(typeof _c==&quot;function&quot;){_c=_c.call(this)}_b=Ext.getDom(_b);this.transaction=Ext.Ajax.request({form:_b,url:_c,success:this.processSuccess,failure:this.processFailure,scope:this,timeout:(this.timeout*1000),argument:{url:_c,form:_b,callback:_e,reset:_d}});this.showLoading.defer(1,this)}},refresh:function(_f){if(this.defaultUrl==null){return}this.update(this.defaultUrl,null,_f,true)},startAutoRefresh:function(_10,url,_12,_13,_14){if(_14){this.update(url||this.defaultUrl,_12,_13,true)}if(this.autoRefreshProcId){clearInterval(this.autoRefreshProcId)}this.autoRefreshProcId=setInterval(this.update.createDelegate(this,[url||this.defaultUrl,_12,_13,true]),_10*1000)},stopAutoRefresh:function(){if(this.autoRefreshProcId){clearInterval(this.autoRefreshProcId);delete this.autoRefreshProcId}},isAutoRefreshing:function(){return this.autoRefreshProcId?true:false},showLoading:function(){if(this.showLoadIndicator){this.el.update(this.indicatorText)}},processSuccess:function(_15){this.transaction=null;if(_15.argument.form&amp;&amp;_15.argument.reset){try{_15.argument.form.reset()}catch(e){}}if(this.loadScripts){this.renderer.render(this.el,_15,this,this.updateComplete.createDelegate(this,[_15]))}else{this.renderer.render(this.el,_15,this);this.updateComplete(_15)}},updateComplete:function(_16){this.fireEvent(&quot;update&quot;,this.el,_16);if(typeof _16.argument.callback==&quot;function&quot;){_16.argument.callback.call(_16.argument.scope,this.el,true,_16,_16.argument.options)}},processFailure:function(_17){this.transaction=null;this.fireEvent(&quot;failure&quot;,this.el,_17);if(typeof _17.argument.callback==&quot;function&quot;){_17.argument.callback.call(_17.argument.scope,this.el,false,_17,_17.argument.options)}},setRenderer:function(_18){this.renderer=_18},getRenderer:function(){return this.renderer},setDefaultUrl:function(_19){this.defaultUrl=_19},abort:function(){if(this.transaction){Ext.Ajax.abort(this.transaction)}},isUpdating:function(){if(this.transaction){return Ext.Ajax.isLoading(this.transaction)}return false}});Ext.Updater.defaults={timeout:30,loadScripts:false,sslBlankUrl:(Ext.SSL_SECURE_URL||&quot;javascript:false&quot;),disableCaching:false,showLoadIndicator:true,indicatorText:'&lt;div class=&quot;loading-indicator&quot;&gt;Loading...&lt;/div&gt;'};Ext.Updater.updateElement=function(el,url,_1c,_1d){var um=Ext.get(el).getUpdater();Ext.apply(um,_1d);um.update(url,_1c,_1d?_1d.callback:null)};Ext.Updater.BasicRenderer=function(){};Ext.Updater.BasicRenderer.prototype={render:function(el,_20,_21,_22){el.update(_20.responseText,_21.loadScripts,_22)}};Ext.UpdateManager=Ext.Updater;(function(){function xf(_1){var _2=Array.prototype.slice.call(arguments,1);return _1.replace(/\{(\d+)\}/g,function(m,i){return _2[i]})}Date.formatCodeToRegex=function(_5,_6){var p=Date.parseCodes[_5];if(p){p=Ext.type(p)==&quot;function&quot;?p():p;Date.parseCodes[_5]=p}return p?Ext.applyIf({c:p.c?xf(p.c,_6||&quot;{0}&quot;):p.c},p):{g:0,c:null,s:Ext.escapeRe(_5)}};var $f=Date.formatCodeToRegex;Ext.apply(Date,{parseFunctions:{count:0},parseRegexes:[],formatFunctions:{count:0},daysInMonth:[31,28,31,30,31,30,31,31,30,31,30,31],y2kYear:50,MILLI:&quot;ms&quot;,SECOND:&quot;s&quot;,MINUTE:&quot;mi&quot;,HOUR:&quot;h&quot;,DAY:&quot;d&quot;,MONTH:&quot;mo&quot;,YEAR:&quot;y&quot;,dayNames:[&quot;Sunday&quot;,&quot;Monday&quot;,&quot;Tuesday&quot;,&quot;Wednesday&quot;,&quot;Thursday&quot;,&quot;Friday&quot;,&quot;Saturday&quot;],monthNames:[&quot;January&quot;,&quot;February&quot;,&quot;March&quot;,&quot;April&quot;,&quot;May&quot;,&quot;June&quot;,&quot;July&quot;,&quot;August&quot;,&quot;September&quot;,&quot;October&quot;,&quot;November&quot;,&quot;December&quot;],monthNumbers:{Jan:0,Feb:1,Mar:2,Apr:3,May:4,Jun:5,Jul:6,Aug:7,Sep:8,Oct:9,Nov:10,Dec:11},getShortMonthName:function(_9){return Date.monthNames[_9].substring(0,3)},getShortDayName:function(_a){return Date.dayNames[_a].substring(0,3)},getMonthNumber:function(_b){return Date.monthNumbers[_b.substring(0,1).toUpperCase()+_b.substring(1,3).toLowerCase()]},formatCodes:{d:&quot;String.leftPad(this.getDate(), 2, '0')&quot;,D:&quot;Date.getShortDayName(this.getDay())&quot;,j:&quot;this.getDate()&quot;,l:&quot;Date.dayNames[this.getDay()]&quot;,N:&quot;(this.getDay() ? this.getDay() : 7)&quot;,S:&quot;this.getSuffix()&quot;,w:&quot;this.getDay()&quot;,z:&quot;this.getDayOfYear()&quot;,W:&quot;String.leftPad(this.getWeekOfYear(), 2, '0')&quot;,F:&quot;Date.monthNames[this.getMonth()]&quot;,m:&quot;String.leftPad(this.getMonth() + 1, 2, '0')&quot;,M:&quot;Date.getShortMonthName(this.getMonth())&quot;,n:&quot;(this.getMonth() + 1)&quot;,t:&quot;this.getDaysInMonth()&quot;,L:&quot;(this.isLeapYear() ? 1 : 0)&quot;,o:&quot;(this.getFullYear() + (this.getWeekOfYear() == 1 &amp;&amp; this.getMonth() &gt; 0 ? +1 : (this.getWeekOfYear() &gt;= 52 &amp;&amp; this.getMonth() &lt; 11 ? -1 : 0)))&quot;,Y:&quot;this.getFullYear()&quot;,y:&quot;('' + this.getFullYear()).substring(2, 4)&quot;,a:&quot;(this.getHours() &lt; 12 ? 'am' : 'pm')&quot;,A:&quot;(this.getHours() &lt; 12 ? 'AM' : 'PM')&quot;,g:&quot;((this.getHours() % 12) ? this.getHours() % 12 : 12)&quot;,G:&quot;this.getHours()&quot;,h:&quot;String.leftPad((this.getHours() % 12) ? this.getHours() % 12 : 12, 2, '0')&quot;,H:&quot;String.leftPad(this.getHours(), 2, '0')&quot;,i:&quot;String.leftPad(this.getMinutes(), 2, '0')&quot;,s:&quot;String.leftPad(this.getSeconds(), 2, '0')&quot;,u:&quot;String.leftPad(this.getMilliseconds(), 3, '0')&quot;,O:&quot;this.getGMTOffset()&quot;,P:&quot;this.getGMTOffset(true)&quot;,T:&quot;this.getTimezone()&quot;,Z:&quot;(this.getTimezoneOffset() * -60)&quot;,c:function(){for(var c=&quot;Y-m-dTH:i:sP&quot;,_d=[],i=0,l=c.length;
-i&lt;l;++i){var e=c.charAt(i);_d.push(e==&quot;T&quot;?&quot;'T'&quot;:Date.getFormatCode(e))}return _d.join(&quot; + &quot;)},U:&quot;Math.round(this.getTime() / 1000)&quot;},parseDate:function(_11,_12){var p=Date.parseFunctions;if(p[_12]==null){Date.createParser(_12)}var _14=p[_12];return Date[_14](_11)},getFormatCode:function(_15){var f=Date.formatCodes[_15];if(f){f=Ext.type(f)==&quot;function&quot;?f():f;Date.formatCodes[_15]=f}return f||(&quot;'&quot;+String.escape(_15)+&quot;'&quot;)},createNewFormat:function(_17){var _18=&quot;format&quot;+Date.formatFunctions.count++,_19=&quot;Date.prototype.&quot;+_18+&quot; = function(){return &quot;,_1a=false,ch=&quot;&quot;;Date.formatFunctions[_17]=_18;for(var i=0;i&lt;_17.length;++i){ch=_17.charAt(i);if(!_1a&amp;&amp;ch==&quot;\\&quot;){_1a=true}else{if(_1a){_1a=false;_19+=&quot;'&quot;+String.escape(ch)+&quot;' + &quot;}else{_19+=Date.getFormatCode(ch)+&quot; + &quot;}}}eval(_19.substring(0,_19.length-3)+&quot;;}&quot;)},createParser:function(){var _1d=[&quot;Date.{0} = function(input){&quot;,&quot;var y, m, d, h = 0, i = 0, s = 0, ms = 0, o, z, u, v;&quot;,&quot;input = String(input);&quot;,&quot;d = new Date();&quot;,&quot;y = d.getFullYear();&quot;,&quot;m = d.getMonth();&quot;,&quot;d = d.getDate();&quot;,&quot;var results = input.match(Date.parseRegexes[{1}]);&quot;,&quot;if(results &amp;&amp; results.length &gt; 0){&quot;,&quot;{2}&quot;,&quot;if(u){&quot;,&quot;v = new Date(u * 1000);&quot;,&quot;}else if (y &gt;= 0 &amp;&amp; m &gt;= 0 &amp;&amp; d &gt; 0 &amp;&amp; h &gt;= 0 &amp;&amp; i &gt;= 0 &amp;&amp; s &gt;= 0 &amp;&amp; ms &gt;= 0){&quot;,&quot;v = new Date(y, m, d, h, i, s, ms);&quot;,&quot;}else if (y &gt;= 0 &amp;&amp; m &gt;= 0 &amp;&amp; d &gt; 0 &amp;&amp; h &gt;= 0 &amp;&amp; i &gt;= 0 &amp;&amp; s &gt;= 0){&quot;,&quot;v = new Date(y, m, d, h, i, s);&quot;,&quot;}else if (y &gt;= 0 &amp;&amp; m &gt;= 0 &amp;&amp; d &gt; 0 &amp;&amp; h &gt;= 0 &amp;&amp; i &gt;= 0){&quot;,&quot;v = new Date(y, m, d, h, i);&quot;,&quot;}else if (y &gt;= 0 &amp;&amp; m &gt;= 0 &amp;&amp; d &gt; 0 &amp;&amp; h &gt;= 0){&quot;,&quot;v = new Date(y, m, d, h);&quot;,&quot;}else if (y &gt;= 0 &amp;&amp; m &gt;= 0 &amp;&amp; d &gt; 0){&quot;,&quot;v = new Date(y, m, d);&quot;,&quot;}else if (y &gt;= 0 &amp;&amp; m &gt;= 0){&quot;,&quot;v = new Date(y, m);&quot;,&quot;}else if (y &gt;= 0){&quot;,&quot;v = new Date(y);&quot;,&quot;}&quot;,&quot;}&quot;,&quot;return (v &amp;&amp; (z != null || o != null))? (Ext.type(z) == 'number' ? v.add(Date.SECOND, -v.getTimezoneOffset() * 60 - z) : v.add(Date.MINUTE, -v.getTimezoneOffset() + (sn == '+'? -1 : 1) * (hr * 60 + mn))) : v;&quot;,&quot;}&quot;].join(&quot;\n&quot;);return function(_1e){var _1f=&quot;parse&quot;+Date.parseFunctions.count++,_20=Date.parseRegexes.length,_21=1,_22=&quot;&quot;,_23=&quot;&quot;,_24=false,ch=&quot;&quot;;Date.parseFunctions[_1e]=_1f;for(var i=0;i&lt;_1e.length;++i){ch=_1e.charAt(i);if(!_24&amp;&amp;ch==&quot;\\&quot;){_24=true}else{if(_24){_24=false;_23+=String.escape(ch)}else{var obj=$f(ch,_21);_21+=obj.g;_23+=obj.s;if(obj.g&amp;&amp;obj.c){_22+=obj.c}}}}Date.parseRegexes[_20]=new RegExp(&quot;^&quot;+_23+&quot;$&quot;,&quot;i&quot;);eval(xf(_1d,_1f,_20,_22))}}(),parseCodes:{d:{g:1,c:&quot;d = parseInt(results[{0}], 10);\n&quot;,s:&quot;(\\d{2})&quot;},j:{g:1,c:&quot;d = parseInt(results[{0}], 10);\n&quot;,s:&quot;(\\d{1,2})&quot;},D:function(){for(var a=[],i=0;i&lt;7;a.push(Date.getShortDayName(i)),++i){}return{g:0,c:null,s:&quot;(?:&quot;+a.join(&quot;|&quot;)+&quot;)&quot;}},l:function(){return{g:0,c:null,s:&quot;(?:&quot;+Date.dayNames.join(&quot;|&quot;)+&quot;)&quot;}},N:{g:0,c:null,s:&quot;[1-7]&quot;},S:{g:0,c:null,s:&quot;(?:st|nd|rd|th)&quot;},w:{g:0,c:null,s:&quot;[0-6]&quot;},z:{g:0,c:null,s:&quot;(?:\\d{1,3})&quot;},W:{g:0,c:null,s:&quot;(?:\\d{2})&quot;},F:function(){return{g:1,c:&quot;m = parseInt(Date.getMonthNumber(results[{0}]), 10);\n&quot;,s:&quot;(&quot;+Date.monthNames.join(&quot;|&quot;)+&quot;)&quot;}},M:function(){for(var a=[],i=0;i&lt;12;a.push(Date.getShortMonthName(i)),++i){}return Ext.applyIf({s:&quot;(&quot;+a.join(&quot;|&quot;)+&quot;)&quot;},$f(&quot;F&quot;))},m:{g:1,c:&quot;m = parseInt(results[{0}], 10) - 1;\n&quot;,s:&quot;(\\d{2})&quot;},n:{g:1,c:&quot;m = parseInt(results[{0}], 10) - 1;\n&quot;,s:&quot;(\\d{1,2})&quot;},t:{g:0,c:null,s:&quot;(?:\\d{2})&quot;},L:{g:0,c:null,s:&quot;(?:1|0)&quot;},o:function(){return $f(&quot;Y&quot;)},Y:{g:1,c:&quot;y = parseInt(results[{0}], 10);\n&quot;,s:&quot;(\\d{4})&quot;},y:{g:1,c:&quot;var ty = parseInt(results[{0}], 10);\ny = ty &gt; Date.y2kYear ? 1900 + ty : 2000 + ty;\n&quot;,s:&quot;(\\d{1,2})&quot;},a:{g:1,c:&quot;if (results[{0}] == 'am') {\nif (h == 12) { h = 0; }\n} else { if (h &lt; 12) { h += 12; }}&quot;,s:&quot;(am|pm)&quot;},A:{g:1,c:&quot;if (results[{0}] == 'AM') {\nif (h == 12) { h = 0; }\n} else { if (h &lt; 12) { h += 12; }}&quot;,s:&quot;(AM|PM)&quot;},g:function(){return $f(&quot;G&quot;)},G:{g:1,c:&quot;h = parseInt(results[{0}], 10);\n&quot;,s:&quot;(\\d{1,2})&quot;},h:function(){return $f(&quot;H&quot;)},H:{g:1,c:&quot;h = parseInt(results[{0}], 10);\n&quot;,s:&quot;(\\d{2})&quot;},i:{g:1,c:&quot;i = parseInt(results[{0}], 10);\n&quot;,s:&quot;(\\d{2})&quot;},s:{g:1,c:&quot;s = parseInt(results[{0}], 10);\n&quot;,s:&quot;(\\d{2})&quot;},u:{g:1,c:&quot;ms = results[{0}]; ms = parseInt(ms, 10)/Math.pow(10, ms.length - 3);\n&quot;,s:&quot;(\\d+)&quot;},O:{g:1,c:[&quot;o = results[{0}];&quot;,&quot;var sn = o.substring(0,1);&quot;,&quot;var hr = o.substring(1,3)*1 + Math.floor(o.substring(3,5) / 60);&quot;,&quot;var mn = o.substring(3,5) % 60;&quot;,&quot;o = ((-12 &lt;= (hr*60 + mn)/60) &amp;&amp; ((hr*60 + mn)/60 &lt;= 14))? (sn + String.leftPad(hr, 2, '0') + String.leftPad(mn, 2, '0')) : null;\n&quot;].join(&quot;\n&quot;),s:&quot;([+-]\\d{4})&quot;},P:{g:1,c:[&quot;o = results[{0}];&quot;,&quot;var sn = o.substring(0,1);&quot;,&quot;var hr = o.substring(1,3)*1 + Math.floor(o.substring(4,6) / 60);&quot;,&quot;var mn = o.substring(4,6) % 60;&quot;,&quot;o = ((-12 &lt;= (hr*60 + mn)/60) &amp;&amp; ((hr*60 + mn)/60 &lt;= 14))? (sn + String.leftPad(hr, 2, '0') + String.leftPad(mn, 2, '0')) : null;\n&quot;].join(&quot;\n&quot;),s:&quot;([+-]\\d{2}:\\d{2})&quot;},T:{g:0,c:null,s:&quot;[A-Z]{1,4}&quot;},Z:{g:1,c:&quot;z = results[{0}] * 1;\nz = (-43200 &lt;= z &amp;&amp; z &lt;= 50400)? z : null;\n&quot;,s:&quot;([+-]?\\d{1,5})&quot;},c:function(){var _2c=[],arr=[$f(&quot;Y&quot;,1),$f(&quot;m&quot;,2),$f(&quot;d&quot;,3),$f(&quot;h&quot;,4),$f(&quot;i&quot;,5),$f(&quot;s&quot;,6),{c:&quot;ms = (results[7] || '.0').substring(1); ms = parseInt(ms, 10)/Math.pow(10, ms.length - 3);\n&quot;},{c:[&quot;if(results[9] == 'Z'){&quot;,&quot;z = 0;&quot;,&quot;}else{&quot;,$f(&quot;P&quot;,9).c,&quot;}&quot;].join(&quot;\n&quot;)}];for(var i=0,l=arr.length;i&lt;l;++i){_2c.push(arr[i].c)}return{g:1,c:_2c.join(&quot;&quot;),s:arr[0].s+&quot;-&quot;+arr[1].s+&quot;-&quot;+arr[2].s+&quot;T&quot;+arr[3].s+&quot;:&quot;+arr[4].s+&quot;:&quot;+arr[5].s+&quot;((.|,)\\d+)?(Z|([+-]\\d{2}:\\d{2}))&quot;}},U:{g:1,c:&quot;u = parseInt(results[{0}], 10);\n&quot;,s:&quot;(-?\\d+)&quot;}}})}());Ext.apply(Date.prototype,{dateFormat:function(_30){if(Date.formatFunctions[_30]==null){Date.createNewFormat(_30)}var _31=Date.formatFunctions[_30];return this[_31]()},getTimezone:function(){return this.toString().replace(/^.* (?:\((.*)\)|([A-Z]{1,4})(?:[\-+][0-9]{4})?(?: -?\d+)?)$/,&quot;$1$2&quot;).replace(/[^A-Z]/g,&quot;&quot;)},getGMTOffset:function(_32){return(this.getTimezoneOffset()&gt;0?&quot;-&quot;:&quot;+&quot;)+String.leftPad(Math.floor(Math.abs(this.getTimezoneOffset())/60),2,&quot;0&quot;)+(_32?&quot;:&quot;:&quot;&quot;)+String.leftPad(Math.abs(this.getTimezoneOffset()%60),2,&quot;0&quot;)},getDayOfYear:function(){var num=0;Date.daysInMonth[1]=this.isLeapYear()?29:28;for(var i=0;i&lt;this.getMonth();++i){num+=Date.daysInMonth[i]}return num+this.getDate()-1},getWeekOfYear:function(){var _35=86400000,_36=7*_35;return function(){var DC3=Date.UTC(this.getFullYear(),this.getMonth(),this.getDate()+3)/_35,AWN=Math.floor(DC3/7),Wyr=new Date(AWN*_36).getUTCFullYear();return AWN-Math.floor(Date.UTC(Wyr,0,7)/_36)+1}}(),isLeapYear:function(){var _3a=this.getFullYear();return !!((_3a&amp;3)==0&amp;&amp;(_3a%100||(_3a%400==0&amp;&amp;_3a)))},getFirstDayOfMonth:function(){var day=(this.getDay()-(this.getDate()-1))%7;return(day&lt;0)?(day+7):day},getLastDayOfMonth:function(){var day=(this.getDay()+(Date.daysInMonth[this.getMonth()]-this.getDate()))%7;return(day&lt;0)?(day+7):day},getFirstDateOfMonth:function(){return new Date(this.getFullYear(),this.getMonth(),1)},getLastDateOfMonth:function(){return new Date(this.getFullYear(),this.getMonth(),this.getDaysInMonth())},getDaysInMonth:function(){Date.daysInMonth[1]=this.isLeapYear()?29:28;return Date.daysInMonth[this.getMonth()]},getSuffix:function(){switch(this.getDate()){case 1:case 21:case 31:return&quot;st&quot;;case 2:case 22:return&quot;nd&quot;;case 3:case 23:return&quot;rd&quot;;default:return&quot;th&quot;}},clone:function(){return new Date(this.getTime())},clearTime:function(_3d){if(_3d){return this.clone().clearTime()}this.setHours(0);this.setMinutes(0);this.setSeconds(0);this.setMilliseconds(0);return this},add:function(_3e,_3f){var d=this.clone();if(!_3e||_3f===0){return d}switch(_3e.toLowerCase()){case Date.MILLI:d.setMilliseconds(this.getMilliseconds()+_3f);break;case Date.SECOND:d.setSeconds(this.getSeconds()+_3f);break;case Date.MINUTE:d.setMinutes(this.getMinutes()+_3f);break;case Date.HOUR:d.setHours(this.getHours()+_3f);break;case Date.DAY:d.setDate(this.getDate()+_3f);break;case Date.MONTH:var day=this.getDate();if(day&gt;28){day=Math.min(day,this.getFirstDateOfMonth().add(&quot;mo&quot;,_3f).getLastDateOfMonth().getDate())}d.setDate(day);d.setMonth(this.getMonth()+_3f);break;case Date.YEAR:d.setFullYear(this.getFullYear()+_3f);break}return d
-},between:function(_42,end){var t=this.getTime();return _42.getTime()&lt;=t&amp;&amp;t&lt;=end.getTime()}});Date.prototype.format=Date.prototype.dateFormat;if(Ext.isSafari){Date.brokenSetMonth=Date.prototype.setMonth;Date.prototype.setMonth=function(num){if(num&lt;=-1){var n=Math.ceil(-num);var _47=Math.ceil(n/12);var _48=(n%12)?12-n%12:0;this.setFullYear(this.getFullYear()-_47);return Date.brokenSetMonth.call(this,_48)}else{return Date.brokenSetMonth.apply(this,arguments)}}}Ext.util.DelayedTask=function(fn,_2,_3){var id=null,d,t;var _7=function(){var _8=new Date().getTime();if(_8-t&gt;=d){clearInterval(id);id=null;fn.apply(_2,_3||[])}};this.delay=function(_9,_a,_b,_c){if(id&amp;&amp;_9!=d){this.cancel()}d=_9;t=new Date().getTime();fn=_a||fn;_2=_b||_2;_3=_c||_3;if(!id){id=setInterval(_7,d)}};this.cancel=function(){if(id){clearInterval(id);id=null}}};Ext.util.TaskRunner=function(_1){_1=_1||10;var _2=[],_3=[];var id=0;var _5=false;var _6=function(){_5=false;clearInterval(id);id=0};var _7=function(){if(!_5){_5=true;id=setInterval(_8,_1)}};var _9=function(t){_3.push(t);if(t.onStop){t.onStop.apply(t.scope||t)}};var _8=function(){if(_3.length&gt;0){for(var i=0,_c=_3.length;i&lt;_c;i++){_2.remove(_3[i])}_3=[];if(_2.length&lt;1){_6();return}}var _d=new Date().getTime();for(var i=0,_c=_2.length;i&lt;_c;++i){var t=_2[i];var _f=_d-t.taskRunTime;if(t.interval&lt;=_f){var rt=t.run.apply(t.scope||t,t.args||[++t.taskRunCount]);t.taskRunTime=_d;if(rt===false||t.taskRunCount===t.repeat){_9(t);return}}if(t.duration&amp;&amp;t.duration&lt;=(_d-t.taskStartTime)){_9(t)}}};this.start=function(_11){_2.push(_11);_11.taskStartTime=new Date().getTime();_11.taskRunTime=0;_11.taskRunCount=0;_7();return _11};this.stop=function(_12){_9(_12);return _12};this.stopAll=function(){_6();for(var i=0,len=_2.length;i&lt;len;i++){if(_2[i].onStop){_2[i].onStop()}}_2=[];_3=[]}};Ext.TaskMgr=new Ext.util.TaskRunner();Ext.util.MixedCollection=function(_1,_2){this.items=[];this.map={};this.keys=[];this.length=0;this.addEvents(&quot;clear&quot;,&quot;add&quot;,&quot;replace&quot;,&quot;remove&quot;,&quot;sort&quot;);this.allowFunctions=_1===true;if(_2){this.getKey=_2}Ext.util.MixedCollection.superclass.constructor.call(this)};Ext.extend(Ext.util.MixedCollection,Ext.util.Observable,{allowFunctions:false,add:function(_3,o){if(arguments.length==1){o=arguments[0];_3=this.getKey(o)}if(typeof _3==&quot;undefined&quot;||_3===null){this.length++;this.items.push(o);this.keys.push(null)}else{var _5=this.map[_3];if(_5){return this.replace(_3,o)}this.length++;this.items.push(o);this.map[_3]=o;this.keys.push(_3)}this.fireEvent(&quot;add&quot;,this.length-1,o,_3);return o},getKey:function(o){return o.id},replace:function(_7,o){if(arguments.length==1){o=arguments[0];_7=this.getKey(o)}var _9=this.item(_7);if(typeof _7==&quot;undefined&quot;||_7===null||typeof _9==&quot;undefined&quot;){return this.add(_7,o)}var _a=this.indexOfKey(_7);this.items[_a]=o;this.map[_7]=o;this.fireEvent(&quot;replace&quot;,_7,_9,o);return o},addAll:function(_b){if(arguments.length&gt;1||Ext.isArray(_b)){var _c=arguments.length&gt;1?arguments:_b;for(var i=0,_e=_c.length;i&lt;_e;i++){this.add(_c[i])}}else{for(var _f in _b){if(this.allowFunctions||typeof _b[_f]!=&quot;function&quot;){this.add(_f,_b[_f])}}}},each:function(fn,_11){var _12=[].concat(this.items);for(var i=0,len=_12.length;i&lt;len;i++){if(fn.call(_11||_12[i],_12[i],i,len)===false){break}}},eachKey:function(fn,_16){for(var i=0,len=this.keys.length;i&lt;len;i++){fn.call(_16||window,this.keys[i],this.items[i],i,len)}},find:function(fn,_1a){for(var i=0,len=this.items.length;i&lt;len;i++){if(fn.call(_1a||window,this.items[i],this.keys[i])){return this.items[i]}}return null},insert:function(_1d,key,o){if(arguments.length==2){o=arguments[1];key=this.getKey(o)}if(_1d&gt;=this.length){return this.add(key,o)}this.length++;this.items.splice(_1d,0,o);if(typeof key!=&quot;undefined&quot;&amp;&amp;key!=null){this.map[key]=o}this.keys.splice(_1d,0,key);this.fireEvent(&quot;add&quot;,_1d,o,key);return o},remove:function(o){return this.removeAt(this.indexOf(o))},removeAt:function(_21){if(_21&lt;this.length&amp;&amp;_21&gt;=0){this.length--;var o=this.items[_21];this.items.splice(_21,1);var key=this.keys[_21];if(typeof key!=&quot;undefined&quot;){delete this.map[key]}this.keys.splice(_21,1);this.fireEvent(&quot;remove&quot;,o,key);return o}return false},removeKey:function(key){return this.removeAt(this.indexOfKey(key))},getCount:function(){return this.length},indexOf:function(o){return this.items.indexOf(o)},indexOfKey:function(key){return this.keys.indexOf(key)},item:function(key){var _28=typeof this.map[key]!=&quot;undefined&quot;?this.map[key]:this.items[key];return typeof _28!=&quot;function&quot;||this.allowFunctions?_28:null},itemAt:function(_29){return this.items[_29]},key:function(key){return this.map[key]},contains:function(o){return this.indexOf(o)!=-1},containsKey:function(key){return typeof this.map[key]!=&quot;undefined&quot;},clear:function(){this.length=0;this.items=[];this.keys=[];this.map={};this.fireEvent(&quot;clear&quot;)},first:function(){return this.items[0]},last:function(){return this.items[this.length-1]},_sort:function(_2d,dir,fn){var dsc=String(dir).toUpperCase()==&quot;DESC&quot;?-1:1;fn=fn||function(a,b){return a-b};var c=[],k=this.keys,_35=this.items;for(var i=0,len=_35.length;i&lt;len;i++){c[c.length]={key:k[i],value:_35[i],index:i}}c.sort(function(a,b){var v=fn(a[_2d],b[_2d])*dsc;if(v==0){v=(a.index&lt;b.index?-1:1)}return v});for(var i=0,len=c.length;i&lt;len;i++){_35[i]=c[i].value;k[i]=c[i].key}this.fireEvent(&quot;sort&quot;,this)},sort:function(dir,fn){this._sort(&quot;value&quot;,dir,fn)},keySort:function(dir,fn){this._sort(&quot;key&quot;,dir,fn||function(a,b){var v1=String(a).toUpperCase(),v2=String(b).toUpperCase();return v1&gt;v2?1:(v1&lt;v2?-1:0)})},getRange:function(_43,end){var _45=this.items;if(_45.length&lt;1){return[]}_43=_43||0;end=Math.min(typeof end==&quot;undefined&quot;?this.length-1:end,this.length-1);var r=[];if(_43&lt;=end){for(var i=_43;i&lt;=end;i++){r[r.length]=_45[i]}}else{for(var i=_43;i&gt;=end;i--){r[r.length]=_45[i]}}return r},filter:function(_48,_49,_4a,_4b){if(Ext.isEmpty(_49,false)){return this.clone()}_49=this.createValueMatcher(_49,_4a,_4b);return this.filterBy(function(o){return o&amp;&amp;_49.test(o[_48])})},filterBy:function(fn,_4e){var r=new Ext.util.MixedCollection();r.getKey=this.getKey;var k=this.keys,it=this.items;for(var i=0,len=it.length;i&lt;len;i++){if(fn.call(_4e||this,it[i],k[i])){r.add(k[i],it[i])}}return r},findIndex:function(_54,_55,_56,_57,_58){if(Ext.isEmpty(_55,false)){return -1}_55=this.createValueMatcher(_55,_57,_58);return this.findIndexBy(function(o){return o&amp;&amp;_55.test(o[_54])},null,_56)},findIndexBy:function(fn,_5b,_5c){var k=this.keys,it=this.items;for(var i=(_5c||0),len=it.length;i&lt;len;i++){if(fn.call(_5b||this,it[i],k[i])){return i}}if(typeof _5c==&quot;number&quot;&amp;&amp;_5c&gt;0){for(var i=0;i&lt;_5c;i++){if(fn.call(_5b||this,it[i],k[i])){return i}}}return -1},createValueMatcher:function(_61,_62,_63){if(!_61.exec){_61=String(_61);_61=new RegExp((_62===true?&quot;&quot;:&quot;^&quot;)+Ext.escapeRe(_61),_63?&quot;&quot;:&quot;i&quot;)}return _61},clone:function(){var r=new Ext.util.MixedCollection();var k=this.keys,it=this.items;for(var i=0,len=it.length;i&lt;len;i++){r.add(k[i],it[i])}r.getKey=this.getKey;return r}});Ext.util.MixedCollection.prototype.get=Ext.util.MixedCollection.prototype.item;Ext.util.JSON=new (function(){var _1=!!{}.hasOwnProperty;var _2=function(n){return n&lt;10?&quot;0&quot;+n:n};var m={&quot;\b&quot;:&quot;\\b&quot;,&quot;\t&quot;:&quot;\\t&quot;,&quot;\n&quot;:&quot;\\n&quot;,&quot;\f&quot;:&quot;\\f&quot;,&quot;\r&quot;:&quot;\\r&quot;,'&quot;':'\\&quot;',&quot;\\&quot;:&quot;\\\\&quot;};var _5=function(s){if(/[&quot;\\\x00-\x1f]/.test(s)){return'&quot;'+s.replace(/([\x00-\x1f\\&quot;])/g,function(a,b){var c=m[b];if(c){return c}c=b.charCodeAt();return&quot;\\u00&quot;+Math.floor(c/16).toString(16)+(c%16).toString(16)})+'&quot;'}return'&quot;'+s+'&quot;'};var _a=function(o){var a=[&quot;[&quot;],b,i,l=o.length,v;for(i=0;i&lt;l;i+=1){v=o[i];switch(typeof v){case&quot;undefined&quot;:case&quot;function&quot;:case&quot;unknown&quot;:break;default:if(b){a.push(&quot;,&quot;)}a.push(v===null?&quot;null&quot;:Ext.util.JSON.encode(v));b=true}}a.push(&quot;]&quot;);return a.join(&quot;&quot;)};this.encodeDate=function(o){return'&quot;'+o.getFullYear()+&quot;-&quot;+_2(o.getMonth()+1)+&quot;-&quot;+_2(o.getDate())+&quot;T&quot;+_2(o.getHours())+&quot;:&quot;+_2(o.getMinutes())+&quot;:&quot;+_2(o.getSeconds())+'&quot;'};this.encode=function(o){if(typeof o==&quot;undefined&quot;||o===null){return&quot;null&quot;}else{if(Ext.isArray(o)){return _a(o)}else{if(Ext.isDate(o)){return Ext.util.JSON.encodeDate(o)
-}else{if(typeof o==&quot;string&quot;){return _5(o)}else{if(typeof o==&quot;number&quot;){return isFinite(o)?String(o):&quot;null&quot;}else{if(typeof o==&quot;boolean&quot;){return String(o)}else{var a=[&quot;{&quot;],b,i,v;for(i in o){if(!_1||o.hasOwnProperty(i)){v=o[i];switch(typeof v){case&quot;undefined&quot;:case&quot;function&quot;:case&quot;unknown&quot;:break;default:if(b){a.push(&quot;,&quot;)}a.push(this.encode(i),&quot;:&quot;,v===null?&quot;null&quot;:this.encode(v));b=true}}}a.push(&quot;}&quot;);return a.join(&quot;&quot;)}}}}}}};this.decode=function(_17){return eval(&quot;(&quot;+_17+&quot;)&quot;)}})();Ext.encode=Ext.util.JSON.encode;Ext.decode=Ext.util.JSON.decode;Ext.util.Format=function(){var _1=/^\s+|\s+$/g;return{ellipsis:function(_2,_3){if(_2&amp;&amp;_2.length&gt;_3){return _2.substr(0,_3-3)+&quot;...&quot;}return _2},undef:function(_4){return _4!==undefined?_4:&quot;&quot;},defaultValue:function(_5,_6){return _5!==undefined&amp;&amp;_5!==&quot;&quot;?_5:_6},htmlEncode:function(_7){return !_7?_7:String(_7).replace(/&amp;/g,&quot;&amp;amp;&quot;).replace(/&gt;/g,&quot;&amp;gt;&quot;).replace(/&lt;/g,&quot;&amp;lt;&quot;).replace(/&quot;/g,&quot;&amp;quot;&quot;)},htmlDecode:function(_8){return !_8?_8:String(_8).replace(/&amp;gt;/g,&quot;&gt;&quot;).replace(/&amp;lt;/g,&quot;&lt;&quot;).replace(/&amp;quot;/g,'&quot;').replace(/&amp;amp;/g,&quot;&amp;&quot;)},trim:function(_9){return String(_9).replace(_1,&quot;&quot;)},substr:function(_a,_b,_c){return String(_a).substr(_b,_c)},lowercase:function(_d){return String(_d).toLowerCase()},uppercase:function(_e){return String(_e).toUpperCase()},capitalize:function(_f){return !_f?_f:_f.charAt(0).toUpperCase()+_f.substr(1).toLowerCase()},call:function(_10,fn){if(arguments.length&gt;2){var _12=Array.prototype.slice.call(arguments,2);_12.unshift(_10);return eval(fn).apply(window,_12)}else{return eval(fn).call(window,_10)}},usMoney:function(v){v=(Math.round((v-0)*100))/100;v=(v==Math.floor(v))?v+&quot;.00&quot;:((v*10==Math.floor(v*10))?v+&quot;0&quot;:v);v=String(v);var ps=v.split(&quot;.&quot;);var _15=ps[0];var sub=ps[1]?&quot;.&quot;+ps[1]:&quot;.00&quot;;var r=/(\d+)(\d{3})/;while(r.test(_15)){_15=_15.replace(r,&quot;$1,$2&quot;)}v=_15+sub;if(v.charAt(0)==&quot;-&quot;){return&quot;-$&quot;+v.substr(1)}return&quot;$&quot;+v},date:function(v,_19){if(!v){return&quot;&quot;}if(!Ext.isDate(v)){v=new Date(Date.parse(v))}return v.dateFormat(_19||&quot;m/d/Y&quot;)},dateRenderer:function(_1a){return function(v){return Ext.util.Format.date(v,_1a)}},stripTagsRE:/&lt;\/?[^&gt;]+&gt;/gi,stripTags:function(v){return !v?v:String(v).replace(this.stripTagsRE,&quot;&quot;)},stripScriptsRe:/(?:&lt;script.*?&gt;)((\n|\r|.)*?)(?:&lt;\/script&gt;)/ig,stripScripts:function(v){return !v?v:String(v).replace(this.stripScriptsRe,&quot;&quot;)},fileSize:function(_1e){if(_1e&lt;1024){return _1e+&quot; bytes&quot;}else{if(_1e&lt;1048576){return(Math.round(((_1e*10)/1024))/10)+&quot; KB&quot;}else{return(Math.round(((_1e*10)/1048576))/10)+&quot; MB&quot;}}},math:function(){var fns={};return function(v,a){if(!fns[a]){fns[a]=new Function(&quot;v&quot;,&quot;return v &quot;+a+&quot;;&quot;)}return fns[a](v)}}(),nl2br:function(v){return v===undefined||v===null?&quot;&quot;:v.replace(/\n/g,&quot;&lt;br/&gt;&quot;)}}}();Ext.XTemplate=function(){Ext.XTemplate.superclass.constructor.apply(this,arguments);var s=this.html;s=[&quot;&lt;tpl&gt;&quot;,s,&quot;&lt;/tpl&gt;&quot;].join(&quot;&quot;);var re=/&lt;tpl\b[^&gt;]*&gt;((?:(?=([^&lt;]+))\2|&lt;(?!tpl\b[^&gt;]*&gt;))*?)&lt;\/tpl&gt;/;var _3=/^&lt;tpl\b[^&gt;]*?for=&quot;(.*?)&quot;/;var _4=/^&lt;tpl\b[^&gt;]*?if=&quot;(.*?)&quot;/;var _5=/^&lt;tpl\b[^&gt;]*?exec=&quot;(.*?)&quot;/;var m,id=0;var _8=[];while(m=s.match(re)){var m2=m[0].match(_3);var m3=m[0].match(_4);var m4=m[0].match(_5);var _c=null,fn=null,_e=null;var _f=m2&amp;&amp;m2[1]?m2[1]:&quot;&quot;;if(m3){_c=m3&amp;&amp;m3[1]?m3[1]:null;if(_c){fn=new Function(&quot;values&quot;,&quot;parent&quot;,&quot;xindex&quot;,&quot;xcount&quot;,&quot;with(values){ return &quot;+(Ext.util.Format.htmlDecode(_c))+&quot;; }&quot;)}}if(m4){_c=m4&amp;&amp;m4[1]?m4[1]:null;if(_c){_e=new Function(&quot;values&quot;,&quot;parent&quot;,&quot;xindex&quot;,&quot;xcount&quot;,&quot;with(values){ &quot;+(Ext.util.Format.htmlDecode(_c))+&quot;; }&quot;)}}if(_f){switch(_f){case&quot;.&quot;:_f=new Function(&quot;values&quot;,&quot;parent&quot;,&quot;with(values){ return values; }&quot;);break;case&quot;..&quot;:_f=new Function(&quot;values&quot;,&quot;parent&quot;,&quot;with(values){ return parent; }&quot;);break;default:_f=new Function(&quot;values&quot;,&quot;parent&quot;,&quot;with(values){ return &quot;+_f+&quot;; }&quot;)}}_8.push({id:id,target:_f,exec:_e,test:fn,body:m[1]||&quot;&quot;});s=s.replace(m[0],&quot;{xtpl&quot;+id+&quot;}&quot;);++id}for(var i=_8.length-1;i&gt;=0;--i){this.compileTpl(_8[i])}this.master=_8[_8.length-1];this.tpls=_8};Ext.extend(Ext.XTemplate,Ext.Template,{re:/\{([\w-\.\#]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?(\s?[\+\-\*\\]\s?[\d\.\+\-\*\\\(\)]+)?\}/g,codeRe:/\{\[((?:\\\]|.|\n)*?)\]\}/g,applySubTemplate:function(id,_12,_13,_14,_15){var t=this.tpls[id];if(t.test&amp;&amp;!t.test.call(this,_12,_13,_14,_15)){return&quot;&quot;}if(t.exec&amp;&amp;t.exec.call(this,_12,_13,_14,_15)){return&quot;&quot;}var vs=t.target?t.target.call(this,_12,_13):_12;_13=t.target?_12:_13;if(t.target&amp;&amp;Ext.isArray(vs)){var buf=[];for(var i=0,len=vs.length;i&lt;len;i++){buf[buf.length]=t.compiled.call(this,vs[i],_13,i+1,len)}return buf.join(&quot;&quot;)}return t.compiled.call(this,vs,_13,_14,_15)},compileTpl:function(tpl){var fm=Ext.util.Format;var _1d=this.disableFormats!==true;var sep=Ext.isGecko?&quot;+&quot;:&quot;,&quot;;var fn=function(m,_21,_22,_23,_24){if(_21.substr(0,4)==&quot;xtpl&quot;){return&quot;'&quot;+sep+&quot;this.applySubTemplate(&quot;+_21.substr(4)+&quot;, values, parent, xindex, xcount)&quot;+sep+&quot;'&quot;}var v;if(_21===&quot;.&quot;){v=&quot;values&quot;}else{if(_21===&quot;#&quot;){v=&quot;xindex&quot;}else{if(_21.indexOf(&quot;.&quot;)!=-1){v=_21}else{v=&quot;values['&quot;+_21+&quot;']&quot;}}}if(_24){v=&quot;(&quot;+v+_24+&quot;)&quot;}if(_22&amp;&amp;_1d){_23=_23?&quot;,&quot;+_23:&quot;&quot;;if(_22.substr(0,5)!=&quot;this.&quot;){_22=&quot;fm.&quot;+_22+&quot;(&quot;}else{_22='this.call(&quot;'+_22.substr(5)+'&quot;, ';_23=&quot;, values&quot;}}else{_23=&quot;&quot;;_22=&quot;(&quot;+v+&quot; === undefined ? '' : &quot;}return&quot;'&quot;+sep+_22+v+_23+&quot;)&quot;+sep+&quot;'&quot;};var _26=function(m,_28){return&quot;'&quot;+sep+&quot;(&quot;+_28+&quot;)&quot;+sep+&quot;'&quot;};var _29;if(Ext.isGecko){_29=&quot;tpl.compiled = function(values, parent, xindex, xcount){ return '&quot;+tpl.body.replace(/(\r\n|\n)/g,&quot;\\n&quot;).replace(/'/g,&quot;\\'&quot;).replace(this.re,fn).replace(this.codeRe,_26)+&quot;';};&quot;}else{_29=[&quot;tpl.compiled = function(values, parent, xindex, xcount){ return ['&quot;];_29.push(tpl.body.replace(/(\r\n|\n)/g,&quot;\\n&quot;).replace(/'/g,&quot;\\'&quot;).replace(this.re,fn).replace(this.codeRe,_26));_29.push(&quot;'].join('');};&quot;);_29=_29.join(&quot;&quot;)}eval(_29);return this},applyTemplate:function(_2a){return this.master.compiled.call(this,_2a,{},1,1)},compile:function(){return this}});Ext.XTemplate.prototype.apply=Ext.XTemplate.prototype.applyTemplate;Ext.XTemplate.from=function(el){el=Ext.getDom(el);return new Ext.XTemplate(el.value||el.innerHTML)};Ext.util.CSS=function(){var _1=null;var _2=document;var _3=/(-[a-z])/gi;var _4=function(m,a){return a.charAt(1).toUpperCase()};return{createStyleSheet:function(_7,id){var ss;var _a=_2.getElementsByTagName(&quot;head&quot;)[0];var _b=_2.createElement(&quot;style&quot;);_b.setAttribute(&quot;type&quot;,&quot;text/css&quot;);if(id){_b.setAttribute(&quot;id&quot;,id)}if(Ext.isIE){_a.appendChild(_b);ss=_b.styleSheet;ss.cssText=_7}else{try{_b.appendChild(_2.createTextNode(_7))}catch(e){_b.cssText=_7}_a.appendChild(_b);ss=_b.styleSheet?_b.styleSheet:(_b.sheet||_2.styleSheets[_2.styleSheets.length-1])}this.cacheStyleSheet(ss);return ss},removeStyleSheet:function(id){var _d=_2.getElementById(id);if(_d){_d.parentNode.removeChild(_d)}},swapStyleSheet:function(id,_f){this.removeStyleSheet(id);var ss=_2.createElement(&quot;link&quot;);ss.setAttribute(&quot;rel&quot;,&quot;stylesheet&quot;);ss.setAttribute(&quot;type&quot;,&quot;text/css&quot;);ss.setAttribute(&quot;id&quot;,id);ss.setAttribute(&quot;href&quot;,_f);_2.getElementsByTagName(&quot;head&quot;)[0].appendChild(ss)},refreshCache:function(){return this.getRules(true)},cacheStyleSheet:function(ss){if(!_1){_1={}}try{var _12=ss.cssRules||ss.rules;for(var j=_12.length-1;j&gt;=0;--j){_1[_12[j].selectorText]=_12[j]}}catch(e){}},getRules:function(_14){if(_1==null||_14){_1={};var ds=_2.styleSheets;for(var i=0,len=ds.length;i&lt;len;i++){try{this.cacheStyleSheet(ds[i])}catch(e){}}}return _1},getRule:function(_18,_19){var rs=this.getRules(_19);if(!Ext.isArray(_18)){return rs[_18]}for(var i=0;i&lt;_18.length;i++){if(rs[_18[i]]){return rs[_18[i]]}}return null},updateRule:function(_1c,_1d,_1e){if(!Ext.isArray(_1c)){var _1f=this.getRule(_1c);if(_1f){_1f.style[_1d.replace(_3,_4)]=_1e;return true}}else{for(var i=0;i&lt;_1c.length;i++){if(this.updateRule(_1c[i],_1d,_1e)){return true}}}return false}}}();Ext.util.ClickRepeater=function(el,_2){this.el=Ext.get(el);this.el.unselectable();Ext.apply(this,_2);this.addEvents(&quot;mousedown&quot;,&quot;click&quot;,&quot;mouseup&quot;);this.el.on(&quot;mousedown&quot;,this.handleMouseDown,this);if(this.preventDefault||this.stopDefault){this.el.on(&quot;click&quot;,function(e){if(this.preventDefault){e.preventDefault()
-}if(this.stopDefault){e.stopEvent()}},this)}if(this.handler){this.on(&quot;click&quot;,this.handler,this.scope||this)}Ext.util.ClickRepeater.superclass.constructor.call(this)};Ext.extend(Ext.util.ClickRepeater,Ext.util.Observable,{interval:20,delay:250,preventDefault:true,stopDefault:false,timer:0,destroy:function(){Ext.destroy(this.el);this.purgeListeners()},handleMouseDown:function(){clearTimeout(this.timer);this.el.blur();if(this.pressClass){this.el.addClass(this.pressClass)}this.mousedownTime=new Date();Ext.getDoc().on(&quot;mouseup&quot;,this.handleMouseUp,this);this.el.on(&quot;mouseout&quot;,this.handleMouseOut,this);this.fireEvent(&quot;mousedown&quot;,this);this.fireEvent(&quot;click&quot;,this);if(this.accelerate){this.delay=400}this.timer=this.click.defer(this.delay||this.interval,this)},click:function(){this.fireEvent(&quot;click&quot;,this);this.timer=this.click.defer(this.accelerate?this.easeOutExpo(this.mousedownTime.getElapsed(),400,-390,12000):this.interval,this)},easeOutExpo:function(t,b,c,d){return(t==d)?b+c:c*(-Math.pow(2,-10*t/d)+1)+b},handleMouseOut:function(){clearTimeout(this.timer);if(this.pressClass){this.el.removeClass(this.pressClass)}this.el.on(&quot;mouseover&quot;,this.handleMouseReturn,this)},handleMouseReturn:function(){this.el.un(&quot;mouseover&quot;,this.handleMouseReturn,this);if(this.pressClass){this.el.addClass(this.pressClass)}this.click()},handleMouseUp:function(){clearTimeout(this.timer);this.el.un(&quot;mouseover&quot;,this.handleMouseReturn,this);this.el.un(&quot;mouseout&quot;,this.handleMouseOut,this);Ext.getDoc().un(&quot;mouseup&quot;,this.handleMouseUp,this);this.el.removeClass(this.pressClass);this.fireEvent(&quot;mouseup&quot;,this)}});Ext.KeyNav=function(el,_2){this.el=Ext.get(el);Ext.apply(this,_2);if(!this.disabled){this.disabled=true;this.enable()}};Ext.KeyNav.prototype={disabled:false,defaultEventAction:&quot;stopEvent&quot;,forceKeyDown:false,prepareEvent:function(e){var k=e.getKey();var h=this.keyToHandler[k];if(Ext.isSafari2&amp;&amp;h&amp;&amp;k&gt;=37&amp;&amp;k&lt;=40){e.stopEvent()}},relay:function(e){var k=e.getKey();var h=this.keyToHandler[k];if(h&amp;&amp;this[h]){if(this.doRelay(e,this[h],h)!==true){e[this.defaultEventAction]()}}},doRelay:function(e,h,_b){return h.call(this.scope||this,e)},enter:false,left:false,right:false,up:false,down:false,tab:false,esc:false,pageUp:false,pageDown:false,del:false,home:false,end:false,keyToHandler:{37:&quot;left&quot;,39:&quot;right&quot;,38:&quot;up&quot;,40:&quot;down&quot;,33:&quot;pageUp&quot;,34:&quot;pageDown&quot;,46:&quot;del&quot;,36:&quot;home&quot;,35:&quot;end&quot;,13:&quot;enter&quot;,27:&quot;esc&quot;,9:&quot;tab&quot;},enable:function(){if(this.disabled){if(this.forceKeyDown||Ext.isIE||Ext.isSafari3||Ext.isAir){this.el.on(&quot;keydown&quot;,this.relay,this)}else{this.el.on(&quot;keydown&quot;,this.prepareEvent,this);this.el.on(&quot;keypress&quot;,this.relay,this)}this.disabled=false}},disable:function(){if(!this.disabled){if(this.forceKeyDown||Ext.isIE||Ext.isSafari3||Ext.isAir){this.el.un(&quot;keydown&quot;,this.relay,this)}else{this.el.un(&quot;keydown&quot;,this.prepareEvent,this);this.el.un(&quot;keypress&quot;,this.relay,this)}this.disabled=true}}};Ext.KeyMap=function(el,_2,_3){this.el=Ext.get(el);this.eventName=_3||&quot;keydown&quot;;this.bindings=[];if(_2){this.addBinding(_2)}this.enable()};Ext.KeyMap.prototype={stopEvent:false,addBinding:function(_4){if(Ext.isArray(_4)){for(var i=0,_6=_4.length;i&lt;_6;i++){this.addBinding(_4[i])}return}var _7=_4.key,_8=_4.shift,_9=_4.ctrl,_a=_4.alt,fn=_4.fn||_4.handler,_c=_4.scope;if(_4.stopEvent){this.stopEvent=_4.stopEvent}if(typeof _7==&quot;string&quot;){var ks=[];var _e=_7.toUpperCase();for(var j=0,_6=_e.length;j&lt;_6;j++){ks.push(_e.charCodeAt(j))}_7=ks}var _10=Ext.isArray(_7);var _11=function(e){if((!_8||e.shiftKey)&amp;&amp;(!_9||e.ctrlKey)&amp;&amp;(!_a||e.altKey)){var k=e.getKey();if(_10){for(var i=0,_6=_7.length;i&lt;_6;i++){if(_7[i]==k){if(this.stopEvent){e.stopEvent()}fn.call(_c||window,k,e);return}}}else{if(k==_7){if(this.stopEvent){e.stopEvent()}fn.call(_c||window,k,e)}}}};this.bindings.push(_11)},on:function(key,fn,_17){var _18,_19,_1a,alt;if(typeof key==&quot;object&quot;&amp;&amp;!Ext.isArray(key)){_18=key.key;_19=key.shift;_1a=key.ctrl;alt=key.alt}else{_18=key}this.addBinding({key:_18,shift:_19,ctrl:_1a,alt:alt,fn:fn,scope:_17})},handleKeyDown:function(e){if(this.enabled){var b=this.bindings;for(var i=0,len=b.length;i&lt;len;i++){b[i].call(this,e)}}},isEnabled:function(){return this.enabled},enable:function(){if(!this.enabled){this.el.on(this.eventName,this.handleKeyDown,this);this.enabled=true}},disable:function(){if(this.enabled){this.el.removeListener(this.eventName,this.handleKeyDown,this);this.enabled=false}}};Ext.util.TextMetrics=function(){var _1;return{measure:function(el,_3,_4){if(!_1){_1=Ext.util.TextMetrics.Instance(el,_4)}_1.bind(el);_1.setFixedWidth(_4||&quot;auto&quot;);return _1.getSize(_3)},createInstance:function(el,_6){return Ext.util.TextMetrics.Instance(el,_6)}}}();Ext.util.TextMetrics.Instance=function(_7,_8){var ml=new Ext.Element(document.createElement(&quot;div&quot;));document.body.appendChild(ml.dom);ml.position(&quot;absolute&quot;);ml.setLeftTop(-1000,-1000);ml.hide();if(_8){ml.setWidth(_8)}var _a={getSize:function(_b){ml.update(_b);var s=ml.getSize();ml.update(&quot;&quot;);return s},bind:function(el){ml.setStyle(Ext.fly(el).getStyles(&quot;font-size&quot;,&quot;font-style&quot;,&quot;font-weight&quot;,&quot;font-family&quot;,&quot;line-height&quot;,&quot;text-transform&quot;,&quot;letter-spacing&quot;))},setFixedWidth:function(_e){ml.setWidth(_e)},getWidth:function(_f){ml.dom.style.width=&quot;auto&quot;;return this.getSize(_f).width},getHeight:function(_10){return this.getSize(_10).height}};_a.bind(_7);return _a};Ext.Element.measureText=Ext.util.TextMetrics.measure;(function(){var _1=Ext.EventManager;var _2=Ext.lib.Dom;Ext.dd.DragDrop=function(id,_4,_5){if(id){this.init(id,_4,_5)}};Ext.dd.DragDrop.prototype={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(x,y){},startDrag:function(x,y){},b4Drag:function(e){},onDrag:function(e){},onDragEnter:function(e,id){},b4DragOver:function(e){},onDragOver:function(e,id){},b4DragOut:function(e){},onDragOut:function(e,id){},b4DragDrop:function(e){},onDragDrop:function(e,id){},onInvalidDrop:function(e){},b4EndDrag:function(e){},endDrag:function(e){},b4MouseDown:function(e){},onMouseDown:function(e){},onMouseUp:function(e){},onAvailable:function(){},defaultPadding:{left:0,right:0,top:0,bottom:0},constrainTo:function(_1d,pad,_1f){if(typeof pad==&quot;number&quot;){pad={left:pad,right:pad,top:pad,bottom:pad}}pad=pad||this.defaultPadding;var b=Ext.get(this.getEl()).getBox();var ce=Ext.get(_1d);var s=ce.getScroll();var c,cd=ce.dom;if(cd==document.body){c={x:s.left,y:s.top,width:Ext.lib.Dom.getViewWidth(),height:Ext.lib.Dom.getViewHeight()}}else{var xy=ce.getXY();c={x:xy[0]+s.left,y:xy[1]+s.top,width:cd.clientWidth,height:cd.clientHeight}}var _26=b.y-c.y;var _27=b.x-c.x;this.resetConstraints();this.setXConstraint(_27-(pad.left||0),c.width-_27-b.width-(pad.right||0),this.xTickSize);this.setYConstraint(_26-(pad.top||0),c.height-_26-b.height-(pad.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(id,_29,_2a){this.initTarget(id,_29,_2a);_1.on(this.id,&quot;mousedown&quot;,this.handleMouseDown,this)},initTarget:function(id,_2c,_2d){this.config=_2d||{};this.DDM=Ext.dd.DDM;this.groups={};if(typeof id!==&quot;string&quot;){id=Ext.id(id)}this.id=id;this.addToGroup((_2c)?_2c:&quot;default&quot;);this.handleElId=id;this.setDragElId(id);this.invalidHandleTypes={A:&quot;A&quot;};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(_2e,_2f,_30,_31){if(!_2f&amp;&amp;0!==_2f){this.padding=[_2e,_2e,_2e,_2e]}else{if(!_30&amp;&amp;0!==_30){this.padding=[_2e,_2f,_2e,_2f]}else{this.padding=[_2e,_2f,_30,_31]}}},setInitPosition:function(_32,_33){var el=this.getEl();if(!this.DDM.verifyEl(el)){return}var dx=_32||0;var dy=_33||0;var p=_2.getXY(el);this.initPageX=p[0]-dx;this.initPageY=p[1]-dy;this.lastPageX=p[0];this.lastPageY=p[1];this.setStartPosition(p)},setStartPosition:function(pos){var p=pos||_2.getXY(this.getEl());this.deltaSetXY=null;this.startPageX=p[0];this.startPageY=p[1]},addToGroup:function(_3a){this.groups[_3a]=true;this.DDM.regDragDrop(this,_3a)},removeFromGroup:function(_3b){if(this.groups[_3b]){delete this.groups[_3b]}this.DDM.removeDDFromGroup(this,_3b)},setDragElId:function(id){this.dragElId=id},setHandleElId:function(id){if(typeof id!==&quot;string&quot;){id=Ext.id(id)}this.handleElId=id;this.DDM.regHandle(this.id,id)},setOuterHandleElId:function(id){if(typeof id!==&quot;string&quot;){id=Ext.id(id)}_1.on(id,&quot;mousedown&quot;,this.handleMouseDown,this);this.setHandleElId(id);this.hasOuterHandles=true},unreg:function(){_1.un(this.id,&quot;mousedown&quot;,this.handleMouseDown);this._domRef=null;this.DDM._remove(this)},destroy:function(){this.unreg()},isLocked:function(){return(this.DDM.isLocked()||this.locked)},handleMouseDown:function(e,oDD){if(this.primaryButtonOnly&amp;&amp;e.button!=0){return}if(this.isLocked()){return}this.DDM.refreshCache(this.groups);var pt=new Ext.lib.Point(Ext.lib.Event.getPageX(e),Ext.lib.Event.getPageY(e));if(!this.hasOuterHandles&amp;&amp;!this.DDM.isOverTarget(pt,this)){}else{if(this.clickValidator(e)){this.setStartPosition();this.b4MouseDown(e);this.onMouseDown(e);this.DDM.handleMouseDown(e,this);this.DDM.stopEvent(e)}else{}}},clickValidator:function(e){var _43=e.getTarget();return(this.isValidHandleChild(_43)&amp;&amp;(this.id==this.handleElId||this.DDM.handleWasClicked(_43,this.id)))},addInvalidHandleType:function(_44){var _45=_44.toUpperCase();this.invalidHandleTypes[_45]=_45},addInvalidHandleId:function(id){if(typeof id!==&quot;string&quot;){id=Ext.id(id)}this.invalidHandleIds[id]=id},addInvalidHandleClass:function(_47){this.invalidHandleClasses.push(_47)},removeInvalidHandleType:function(_48){var _49=_48.toUpperCase();delete this.invalidHandleTypes[_49]},removeInvalidHandleId:function(id){if(typeof id!==&quot;string&quot;){id=Ext.id(id)}delete this.invalidHandleIds[id]},removeInvalidHandleClass:function(_4b){for(var i=0,len=this.invalidHandleClasses.length;i&lt;len;++i){if(this.invalidHandleClasses[i]==_4b){delete this.invalidHandleClasses[i]}}},isValidHandleChild:function(_4e){var _4f=true;var _50;try{_50=_4e.nodeName.toUpperCase()}catch(e){_50=_4e.nodeName}_4f=_4f&amp;&amp;!this.invalidHandleTypes[_50];_4f=_4f&amp;&amp;!this.invalidHandleIds[_4e.id];for(var i=0,len=this.invalidHandleClasses.length;_4f&amp;&amp;i&lt;len;++i){_4f=!Ext.fly(_4e).hasClass(this.invalidHandleClasses[i])}return _4f},setXTicks:function(_53,_54){this.xTicks=[];this.xTickSize=_54;var _55={};for(var i=this.initPageX;i&gt;=this.minX;i=i-_54){if(!_55[i]){this.xTicks[this.xTicks.length]=i;_55[i]=true}}for(i=this.initPageX;i&lt;=this.maxX;i=i+_54){if(!_55[i]){this.xTicks[this.xTicks.length]=i;_55[i]=true}}this.xTicks.sort(this.DDM.numericSort)},setYTicks:function(_57,_58){this.yTicks=[];this.yTickSize=_58;var _59={};for(var i=this.initPageY;i&gt;=this.minY;i=i-_58){if(!_59[i]){this.yTicks[this.yTicks.length]=i;_59[i]=true}}for(i=this.initPageY;i&lt;=this.maxY;i=i+_58){if(!_59[i]){this.yTicks[this.yTicks.length]=i;_59[i]=true}}this.yTicks.sort(this.DDM.numericSort)},setXConstraint:function(_5b,_5c,_5d){this.leftConstraint=_5b;this.rightConstraint=_5c;this.minX=this.initPageX-_5b;this.maxX=this.initPageX+_5c;if(_5d){this.setXTicks(this.initPageX,_5d)}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(iUp,_5f,_60){this.topConstraint=iUp;this.bottomConstraint=_5f;this.minY=this.initPageY-iUp;this.maxY=this.initPageY+_5f;if(_60){this.setYTicks(this.initPageY,_60)}this.constrainY=true},resetConstraints:function(){if(this.initPageX||this.initPageX===0){var dx=(this.maintainOffset)?this.lastPageX-this.initPageX:0;var dy=(this.maintainOffset)?this.lastPageY-this.initPageY:0;this.setInitPosition(dx,dy)}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(val,_64){if(!_64){return val}else{if(_64[0]&gt;=val){return _64[0]}else{for(var i=0,len=_64.length;i&lt;len;++i){var _67=i+1;if(_64[_67]&amp;&amp;_64[_67]&gt;=val){var _68=val-_64[i];var _69=_64[_67]-val;return(_69&gt;_68)?_64[i]:_64[_67]}}return _64[_64.length-1]}}},toString:function(){return(&quot;DragDrop &quot;+this.id)}}})();if(!Ext.dd.DragDropMgr){Ext.dd.DragDropMgr=function(){var _6a=Ext.EventManager;return{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(_6b,_6c){for(var i in this.ids){for(var j in this.ids[i]){var oDD=this.ids[i][j];if(!this.isTypeOfDD(oDD)){continue}oDD[_6b].apply(oDD,_6c)}}},_onLoad:function(){this.init();_6a.on(document,&quot;mouseup&quot;,this.handleMouseUp,this,true);_6a.on(document,&quot;mousemove&quot;,this.handleMouseMove,this,true);_6a.on(window,&quot;unload&quot;,this._onUnload,this,true);_6a.on(window,&quot;resize&quot;,this._onResize,this,true)},_onResize:function(e){this._execOnAll(&quot;resetConstraints&quot;,[])},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(oDD,_72){if(!this.initialized){this.init()}if(!this.ids[_72]){this.ids[_72]={}}this.ids[_72][oDD.id]=oDD},removeDDFromGroup:function(oDD,_74){if(!this.ids[_74]){this.ids[_74]={}}var obj=this.ids[_74];if(obj&amp;&amp;obj[oDD.id]){delete obj[oDD.id]}},_remove:function(oDD){for(var g in oDD.groups){if(g&amp;&amp;this.ids[g]&amp;&amp;this.ids[g][oDD.id]){delete this.ids[g][oDD.id]}}delete this.handleIds[oDD.id]},regHandle:function(_78,_79){if(!this.handleIds[_78]){this.handleIds[_78]={}}this.handleIds[_78][_79]=_79},isDragDrop:function(id){return(this.getDDById(id))?true:false},getRelated:function(_7b,_7c){var _7d=[];for(var i in _7b.groups){for(var j in this.ids[i]){var dd=this.ids[i][j];if(!this.isTypeOfDD(dd)){continue}if(!_7c||dd.isTarget){_7d[_7d.length]=dd}}}return _7d},isLegalTarget:function(oDD,_82){var _83=this.getRelated(oDD,true);for(var i=0,len=_83.length;i&lt;len;++i){if(_83[i].id==_82.id){return true}}return false},isTypeOfDD:function(oDD){return(oDD&amp;&amp;oDD.__ygDragDrop)},isHandle:function(_87,_88){return(this.handleIds[_87]&amp;&amp;this.handleIds[_87][_88])},getDDById:function(id){for(var i in this.ids){if(this.ids[i][id]){return this.ids[i][id]}}return null},handleMouseDown:function(e,oDD){if(Ext.QuickTips){Ext.QuickTips.disable()}if(this.dragCurrent){this.handleMouseUp(e)}this.currentTarget=e.getTarget();this.dragCurrent=oDD;var el=oDD.getEl();this.startX=e.getPageX();this.startY=e.getPageY();this.deltaX=this.startX-el.offsetLeft;this.deltaY=this.startY-el.offsetTop;this.dragThreshMet=false;this.clickTimeout=setTimeout(function(){var DDM=Ext.dd.DDM;DDM.startDrag(DDM.startX,DDM.startY)},this.clickTimeThresh)},startDrag:function(x,y){clearTimeout(this.clickTimeout);if(this.dragCurrent){this.dragCurrent.b4StartDrag(x,y);this.dragCurrent.startDrag(x,y)}this.dragThreshMet=true},handleMouseUp:function(e){if(Ext.QuickTips){Ext.QuickTips.enable()}if(!this.dragCurrent){return}clearTimeout(this.clickTimeout);if(this.dragThreshMet){this.fireEvents(e,true)}else{}this.stopDrag(e);this.stopEvent(e)},stopEvent:function(e){if(this.stopPropagation){e.stopPropagation()}if(this.preventDefault){e.preventDefault()
-}},stopDrag:function(e){if(this.dragCurrent){if(this.dragThreshMet){this.dragCurrent.b4EndDrag(e);this.dragCurrent.endDrag(e)}this.dragCurrent.onMouseUp(e)}this.dragCurrent=null;this.dragOvers={}},handleMouseMove:function(e){if(!this.dragCurrent){return true}if(Ext.isIE&amp;&amp;(e.button!==0&amp;&amp;e.button!==1&amp;&amp;e.button!==2)){this.stopEvent(e);return this.handleMouseUp(e)}if(!this.dragThreshMet){var _95=Math.abs(this.startX-e.getPageX());var _96=Math.abs(this.startY-e.getPageY());if(_95&gt;this.clickPixelThresh||_96&gt;this.clickPixelThresh){this.startDrag(this.startX,this.startY)}}if(this.dragThreshMet){this.dragCurrent.b4Drag(e);this.dragCurrent.onDrag(e);if(!this.dragCurrent.moveOnly){this.fireEvents(e,false)}}this.stopEvent(e);return true},fireEvents:function(e,_98){var dc=this.dragCurrent;if(!dc||dc.isLocked()){return}var pt=e.getPoint();var _9b=[];var _9c=[];var _9d=[];var _9e=[];var _9f=[];for(var i in this.dragOvers){var ddo=this.dragOvers[i];if(!this.isTypeOfDD(ddo)){continue}if(!this.isOverTarget(pt,ddo,this.mode)){_9c.push(ddo)}_9b[i]=true;delete this.dragOvers[i]}for(var _a2 in dc.groups){if(&quot;string&quot;!=typeof _a2){continue}for(i in this.ids[_a2]){var oDD=this.ids[_a2][i];if(!this.isTypeOfDD(oDD)){continue}if(oDD.isTarget&amp;&amp;!oDD.isLocked()&amp;&amp;oDD!=dc){if(this.isOverTarget(pt,oDD,this.mode)){if(_98){_9e.push(oDD)}else{if(!_9b[oDD.id]){_9f.push(oDD)}else{_9d.push(oDD)}this.dragOvers[oDD.id]=oDD}}}}}if(this.mode){if(_9c.length){dc.b4DragOut(e,_9c);dc.onDragOut(e,_9c)}if(_9f.length){dc.onDragEnter(e,_9f)}if(_9d.length){dc.b4DragOver(e,_9d);dc.onDragOver(e,_9d)}if(_9e.length){dc.b4DragDrop(e,_9e);dc.onDragDrop(e,_9e)}}else{var len=0;for(i=0,len=_9c.length;i&lt;len;++i){dc.b4DragOut(e,_9c[i].id);dc.onDragOut(e,_9c[i].id)}for(i=0,len=_9f.length;i&lt;len;++i){dc.onDragEnter(e,_9f[i].id)}for(i=0,len=_9d.length;i&lt;len;++i){dc.b4DragOver(e,_9d[i].id);dc.onDragOver(e,_9d[i].id)}for(i=0,len=_9e.length;i&lt;len;++i){dc.b4DragDrop(e,_9e[i].id);dc.onDragDrop(e,_9e[i].id)}}if(_98&amp;&amp;!_9e.length){dc.onInvalidDrop(e)}},getBestMatch:function(dds){var _a6=null;var len=dds.length;if(len==1){_a6=dds[0]}else{for(var i=0;i&lt;len;++i){var dd=dds[i];if(dd.cursorIsOver){_a6=dd;break}else{if(!_a6||_a6.overlap.getArea()&lt;dd.overlap.getArea()){_a6=dd}}}}return _a6},refreshCache:function(_aa){for(var _ab in _aa){if(&quot;string&quot;!=typeof _ab){continue}for(var i in this.ids[_ab]){var oDD=this.ids[_ab][i];if(this.isTypeOfDD(oDD)){var loc=this.getLocation(oDD);if(loc){this.locationCache[oDD.id]=loc}else{delete this.locationCache[oDD.id]}}}}},verifyEl:function(el){if(el){var _b0;if(Ext.isIE){try{_b0=el.offsetParent}catch(e){}}else{_b0=el.offsetParent}if(_b0){return true}}return false},getLocation:function(oDD){if(!this.isTypeOfDD(oDD)){return null}var el=oDD.getEl(),pos,x1,x2,y1,y2,t,r,b,l;try{pos=Ext.lib.Dom.getXY(el)}catch(e){}if(!pos){return null}x1=pos[0];x2=x1+el.offsetWidth;y1=pos[1];y2=y1+el.offsetHeight;t=y1-oDD.padding[0];r=x2+oDD.padding[1];b=y2+oDD.padding[2];l=x1-oDD.padding[3];return new Ext.lib.Region(t,r,b,l)},isOverTarget:function(pt,_bd,_be){var loc=this.locationCache[_bd.id];if(!loc||!this.useCache){loc=this.getLocation(_bd);this.locationCache[_bd.id]=loc}if(!loc){return false}_bd.cursorIsOver=loc.contains(pt);var dc=this.dragCurrent;if(!dc||!dc.getTargetCoord||(!_be&amp;&amp;!dc.constrainX&amp;&amp;!dc.constrainY)){return _bd.cursorIsOver}_bd.overlap=null;var pos=dc.getTargetCoord(pt.x,pt.y);var el=dc.getDragEl();var _c3=new Ext.lib.Region(pos.y,pos.x+el.offsetWidth,pos.y+el.offsetHeight,pos.x);var _c4=_c3.intersect(loc);if(_c4){_bd.overlap=_c4;return(_be)?true:_bd.cursorIsOver}else{return false}},_onUnload:function(e,me){Ext.dd.DragDropMgr.unregAll()},unregAll:function(){if(this.dragCurrent){this.stopDrag();this.dragCurrent=null}this._execOnAll(&quot;unreg&quot;,[]);for(var i in this.elementCache){delete this.elementCache[i]}this.elementCache={};this.ids={}},elementCache:{},getElWrapper:function(id){var _c9=this.elementCache[id];if(!_c9||!_c9.el){_c9=this.elementCache[id]=new this.ElementWrapper(Ext.getDom(id))}return _c9},getElement:function(id){return Ext.getDom(id)},getCss:function(id){var el=Ext.getDom(id);return(el)?el.style:null},ElementWrapper:function(el){this.el=el||null;this.id=this.el&amp;&amp;el.id;this.css=this.el&amp;&amp;el.style},getPosX:function(el){return Ext.lib.Dom.getX(el)},getPosY:function(el){return Ext.lib.Dom.getY(el)},swapNode:function(n1,n2){if(n1.swapNode){n1.swapNode(n2)}else{var p=n2.parentNode;var s=n2.nextSibling;if(s==n1){p.insertBefore(n1,n2)}else{if(n2==n1.nextSibling){p.insertBefore(n2,n1)}else{n1.parentNode.replaceChild(n2,n1);p.insertBefore(n1,s)}}}},getScroll:function(){var t,l,dde=document.documentElement,db=document.body;if(dde&amp;&amp;(dde.scrollTop||dde.scrollLeft)){t=dde.scrollTop;l=dde.scrollLeft}else{if(db){t=db.scrollTop;l=db.scrollLeft}else{}}return{top:t,left:l}},getStyle:function(el,_d9){return Ext.fly(el).getStyle(_d9)},getScrollTop:function(){return this.getScroll().top},getScrollLeft:function(){return this.getScroll().left},moveToEl:function(_da,_db){var _dc=Ext.lib.Dom.getXY(_db);Ext.lib.Dom.setXY(_da,_dc)},numericSort:function(a,b){return(a-b)},_timeoutCount:0,_addListeners:function(){var DDM=Ext.dd.DDM;if(Ext.lib.Event&amp;&amp;document){DDM._onLoad()}else{if(DDM._timeoutCount&gt;2000){}else{setTimeout(DDM._addListeners,10);if(document&amp;&amp;document.body){DDM._timeoutCount+=1}}}},handleWasClicked:function(_e0,id){if(this.isHandle(id,_e0.id)){return true}else{var p=_e0.parentNode;while(p){if(this.isHandle(id,p.id)){return true}else{p=p.parentNode}}}return false}}}();Ext.dd.DDM=Ext.dd.DragDropMgr;Ext.dd.DDM._addListeners()}Ext.dd.DD=function(id,_e4,_e5){if(id){this.init(id,_e4,_e5)}};Ext.extend(Ext.dd.DD,Ext.dd.DragDrop,{scroll:true,autoOffset:function(_e6,_e7){var x=_e6-this.startPageX;var y=_e7-this.startPageY;this.setDelta(x,y)},setDelta:function(_ea,_eb){this.deltaX=_ea;this.deltaY=_eb},setDragElPos:function(_ec,_ed){var el=this.getDragEl();this.alignElWithMouse(el,_ec,_ed)},alignElWithMouse:function(el,_f0,_f1){var _f2=this.getTargetCoord(_f0,_f1);var fly=el.dom?el:Ext.fly(el,&quot;_dd&quot;);if(!this.deltaSetXY){var _f4=[_f2.x,_f2.y];fly.setXY(_f4);var _f5=fly.getLeft(true);var _f6=fly.getTop(true);this.deltaSetXY=[_f5-_f2.x,_f6-_f2.y]}else{fly.setLeftTop(_f2.x+this.deltaSetXY[0],_f2.y+this.deltaSetXY[1])}this.cachePosition(_f2.x,_f2.y);this.autoScroll(_f2.x,_f2.y,el.offsetHeight,el.offsetWidth);return _f2},cachePosition:function(_f7,_f8){if(_f7){this.lastPageX=_f7;this.lastPageY=_f8}else{var _f9=Ext.lib.Dom.getXY(this.getEl());this.lastPageX=_f9[0];this.lastPageY=_f9[1]}},autoScroll:function(x,y,h,w){if(this.scroll){var _fe=Ext.lib.Dom.getViewHeight();var _ff=Ext.lib.Dom.getViewWidth();var st=this.DDM.getScrollTop();var sl=this.DDM.getScrollLeft();var bot=h+y;var _103=w+x;var _104=(_fe+st-y-this.deltaY);var _105=(_ff+sl-x-this.deltaX);var _106=40;var _107=(document.all)?80:30;if(bot&gt;_fe&amp;&amp;_104&lt;_106){window.scrollTo(sl,st+_107)}if(y&lt;st&amp;&amp;st&gt;0&amp;&amp;y-st&lt;_106){window.scrollTo(sl,st-_107)}if(_103&gt;_ff&amp;&amp;_105&lt;_106){window.scrollTo(sl+_107,st)}if(x&lt;sl&amp;&amp;sl&gt;0&amp;&amp;x-sl&lt;_106){window.scrollTo(sl-_107,st)}}},getTargetCoord:function(_108,_109){var x=_108-this.deltaX;var y=_109-this.deltaY;if(this.constrainX){if(x&lt;this.minX){x=this.minX}if(x&gt;this.maxX){x=this.maxX}}if(this.constrainY){if(y&lt;this.minY){y=this.minY}if(y&gt;this.maxY){y=this.maxY}}x=this.getTick(x,this.xTicks);y=this.getTick(y,this.yTicks);return{x:x,y:y}},applyConfig:function(){Ext.dd.DD.superclass.applyConfig.call(this);this.scroll=(this.config.scroll!==false)},b4MouseDown:function(e){this.autoOffset(e.getPageX(),e.getPageY())},b4Drag:function(e){this.setDragElPos(e.getPageX(),e.getPageY())},toString:function(){return(&quot;DD &quot;+this.id)}});Ext.dd.DDProxy=function(id,_10f,_110){if(id){this.init(id,_10f,_110);this.initFrame()}};Ext.dd.DDProxy.dragElId=&quot;ygddfdiv&quot;;Ext.extend(Ext.dd.DDProxy,Ext.dd.DD,{resizeFrame:true,centerFrame:false,createFrame:function(){var self=this;var body=document.body;if(!body||!body.firstChild){setTimeout(function(){self.createFrame()},50);return}var div=this.getDragEl();
-if(!div){div=document.createElement(&quot;div&quot;);div.id=this.dragElId;var s=div.style;s.position=&quot;absolute&quot;;s.visibility=&quot;hidden&quot;;s.cursor=&quot;move&quot;;s.border=&quot;2px solid #aaa&quot;;s.zIndex=999;body.insertBefore(div,body.firstChild)}},initFrame:function(){this.createFrame()},applyConfig:function(){Ext.dd.DDProxy.superclass.applyConfig.call(this);this.resizeFrame=(this.config.resizeFrame!==false);this.centerFrame=(this.config.centerFrame);this.setDragElId(this.config.dragElId||Ext.dd.DDProxy.dragElId)},showFrame:function(_115,_116){var el=this.getEl();var _118=this.getDragEl();var s=_118.style;this._resizeProxy();if(this.centerFrame){this.setDelta(Math.round(parseInt(s.width,10)/2),Math.round(parseInt(s.height,10)/2))}this.setDragElPos(_115,_116);Ext.fly(_118).show()},_resizeProxy:function(){if(this.resizeFrame){var el=this.getEl();Ext.fly(this.getDragEl()).setSize(el.offsetWidth,el.offsetHeight)}},b4MouseDown:function(e){var x=e.getPageX();var y=e.getPageY();this.autoOffset(x,y);this.setDragElPos(x,y)},b4StartDrag:function(x,y){this.showFrame(x,y)},b4EndDrag:function(e){Ext.fly(this.getDragEl()).hide()},endDrag:function(e){var lel=this.getEl();var del=this.getDragEl();del.style.visibility=&quot;&quot;;this.beforeMove();lel.style.visibility=&quot;hidden&quot;;Ext.dd.DDM.moveToEl(lel,del);del.style.visibility=&quot;hidden&quot;;lel.style.visibility=&quot;&quot;;this.afterDrag()},beforeMove:function(){},afterDrag:function(){},toString:function(){return(&quot;DDProxy &quot;+this.id)}});Ext.dd.DDTarget=function(id,_125,_126){if(id){this.initTarget(id,_125,_126)}};Ext.extend(Ext.dd.DDTarget,Ext.dd.DragDrop,{toString:function(){return(&quot;DDTarget &quot;+this.id)}});Ext.dd.DragTracker=function(_1){Ext.apply(this,_1);this.addEvents(&quot;mousedown&quot;,&quot;mouseup&quot;,&quot;mousemove&quot;,&quot;dragstart&quot;,&quot;dragend&quot;,&quot;drag&quot;);this.dragRegion=new Ext.lib.Region(0,0,0,0);if(this.el){this.initEl(this.el)}};Ext.extend(Ext.dd.DragTracker,Ext.util.Observable,{active:false,tolerance:5,autoStart:false,initEl:function(el){this.el=Ext.get(el);el.on(&quot;mousedown&quot;,this.onMouseDown,this,this.delegate?{delegate:this.delegate}:undefined)},destroy:function(){this.el.un(&quot;mousedown&quot;,this.onMouseDown,this)},onMouseDown:function(e,_4){if(this.fireEvent(&quot;mousedown&quot;,this,e)!==false&amp;&amp;this.onBeforeStart(e)!==false){this.startXY=this.lastXY=e.getXY();this.dragTarget=this.delegate?_4:this.el.dom;e.preventDefault();var _5=Ext.getDoc();_5.on(&quot;mouseup&quot;,this.onMouseUp,this);_5.on(&quot;mousemove&quot;,this.onMouseMove,this);_5.on(&quot;selectstart&quot;,this.stopSelect,this);if(this.autoStart){this.timer=this.triggerStart.defer(this.autoStart===true?1000:this.autoStart,this)}}},onMouseMove:function(e,_7){e.preventDefault();var xy=e.getXY(),s=this.startXY;this.lastXY=xy;if(!this.active){if(Math.abs(s[0]-xy[0])&gt;this.tolerance||Math.abs(s[1]-xy[1])&gt;this.tolerance){this.triggerStart()}else{return}}this.fireEvent(&quot;mousemove&quot;,this,e);this.onDrag(e);this.fireEvent(&quot;drag&quot;,this,e)},onMouseUp:function(e){var _b=Ext.getDoc();_b.un(&quot;mousemove&quot;,this.onMouseMove,this);_b.un(&quot;mouseup&quot;,this.onMouseUp,this);_b.un(&quot;selectstart&quot;,this.stopSelect,this);e.preventDefault();this.clearStart();this.active=false;delete this.elRegion;this.fireEvent(&quot;mouseup&quot;,this,e);this.onEnd(e);this.fireEvent(&quot;dragend&quot;,this,e)},triggerStart:function(_c){this.clearStart();this.active=true;this.onStart(this.startXY);this.fireEvent(&quot;dragstart&quot;,this,this.startXY)},clearStart:function(){if(this.timer){clearTimeout(this.timer);delete this.timer}},stopSelect:function(e){e.stopEvent();return false},onBeforeStart:function(e){},onStart:function(xy){},onDrag:function(e){},onEnd:function(e){},getDragTarget:function(){return this.dragTarget},getDragCt:function(){return this.el},getXY:function(_12){return _12?this.constrainModes[_12].call(this,this.lastXY):this.lastXY},getOffset:function(_13){var xy=this.getXY(_13);var s=this.startXY;return[s[0]-xy[0],s[1]-xy[1]]},constrainModes:{point:function(xy){if(!this.elRegion){this.elRegion=this.getDragCt().getRegion()}var dr=this.dragRegion;dr.left=xy[0];dr.top=xy[1];dr.right=xy[0];dr.bottom=xy[1];dr.constrainTo(this.elRegion);return[dr.left,dr.top]}}});Ext.dd.ScrollManager=function(){var _1=Ext.dd.DragDropMgr;var _2={};var _3=null;var _4={};var _5=function(e){_3=null;_7()};var _8=function(){if(_1.dragCurrent){_1.refreshCache(_1.dragCurrent.groups)}};var _9=function(){if(_1.dragCurrent){var _a=Ext.dd.ScrollManager;var _b=_4.el.ddScrollConfig?_4.el.ddScrollConfig.increment:_a.increment;if(!_a.animate){if(_4.el.scroll(_4.dir,_b)){_8()}}else{_4.el.scroll(_4.dir,_b,true,_a.animDuration,_8)}}};var _7=function(){if(_4.id){clearInterval(_4.id)}_4.id=0;_4.el=null;_4.dir=&quot;&quot;};var _c=function(el,_e){_7();_4.el=el;_4.dir=_e;var _f=(el.ddScrollConfig&amp;&amp;el.ddScrollConfig.frequency)?el.ddScrollConfig.frequency:Ext.dd.ScrollManager.frequency;_4.id=setInterval(_9,_f)};var _10=function(e,_12){if(_12||!_1.dragCurrent){return}var dds=Ext.dd.ScrollManager;if(!_3||_3!=_1.dragCurrent){_3=_1.dragCurrent;dds.refreshCache()}var xy=Ext.lib.Event.getXY(e);var pt=new Ext.lib.Point(xy[0],xy[1]);for(var id in _2){var el=_2[id],r=el._region;var c=el.ddScrollConfig?el.ddScrollConfig:dds;if(r&amp;&amp;r.contains(pt)&amp;&amp;el.isScrollable()){if(r.bottom-pt.y&lt;=c.vthresh){if(_4.el!=el){_c(el,&quot;down&quot;)}return}else{if(r.right-pt.x&lt;=c.hthresh){if(_4.el!=el){_c(el,&quot;left&quot;)}return}else{if(pt.y-r.top&lt;=c.vthresh){if(_4.el!=el){_c(el,&quot;up&quot;)}return}else{if(pt.x-r.left&lt;=c.hthresh){if(_4.el!=el){_c(el,&quot;right&quot;)}return}}}}}}_7()};_1.fireEvents=_1.fireEvents.createSequence(_10,_1);_1.stopDrag=_1.stopDrag.createSequence(_5,_1);return{register:function(el){if(Ext.isArray(el)){for(var i=0,len=el.length;i&lt;len;i++){this.register(el[i])}}else{el=Ext.get(el);_2[el.id]=el}},unregister:function(el){if(Ext.isArray(el)){for(var i=0,len=el.length;i&lt;len;i++){this.unregister(el[i])}}else{el=Ext.get(el);delete _2[el.id]}},vthresh:25,hthresh:25,increment:100,frequency:500,animate:true,animDuration:0.4,refreshCache:function(){for(var id in _2){if(typeof _2[id]==&quot;object&quot;){_2[id]._region=_2[id].getRegion()}}}}}();Ext.dd.Registry=function(){var _1={};var _2={};var _3=0;var _4=function(el,_6){if(typeof el==&quot;string&quot;){return el}var id=el.id;if(!id&amp;&amp;_6!==false){id=&quot;extdd-&quot;+(++_3);el.id=id}return id};return{register:function(el,_9){_9=_9||{};if(typeof el==&quot;string&quot;){el=document.getElementById(el)}_9.ddel=el;_1[_4(el)]=_9;if(_9.isHandle!==false){_2[_9.ddel.id]=_9}if(_9.handles){var hs=_9.handles;for(var i=0,_c=hs.length;i&lt;_c;i++){_2[_4(hs[i])]=_9}}},unregister:function(el){var id=_4(el,false);var _f=_1[id];if(_f){delete _1[id];if(_f.handles){var hs=_f.handles;for(var i=0,len=hs.length;i&lt;len;i++){delete _2[_4(hs[i],false)]}}}},getHandle:function(id){if(typeof id!=&quot;string&quot;){id=id.id}return _2[id]},getHandleFromEvent:function(e){var t=Ext.lib.Event.getTarget(e);return t?_2[t.id]:null},getTarget:function(id){if(typeof id!=&quot;string&quot;){id=id.id}return _1[id]},getTargetFromEvent:function(e){var t=Ext.lib.Event.getTarget(e);return t?_1[t.id]||_2[t.id]:null}}}();Ext.dd.StatusProxy=function(_1){Ext.apply(this,_1);this.id=this.id||Ext.id();this.el=new Ext.Layer({dh:{id:this.id,tag:&quot;div&quot;,cls:&quot;x-dd-drag-proxy &quot;+this.dropNotAllowed,children:[{tag:&quot;div&quot;,cls:&quot;x-dd-drop-icon&quot;},{tag:&quot;div&quot;,cls:&quot;x-dd-drag-ghost&quot;}]},shadow:!_1||_1.shadow!==false});this.ghost=Ext.get(this.el.dom.childNodes[1]);this.dropStatus=this.dropNotAllowed};Ext.dd.StatusProxy.prototype={dropAllowed:&quot;x-dd-drop-ok&quot;,dropNotAllowed:&quot;x-dd-drop-nodrop&quot;,setStatus:function(_2){_2=_2||this.dropNotAllowed;if(this.dropStatus!=_2){this.el.replaceClass(this.dropStatus,_2);this.dropStatus=_2}},reset:function(_3){this.el.dom.className=&quot;x-dd-drag-proxy &quot;+this.dropNotAllowed;this.dropStatus=this.dropNotAllowed;if(_3){this.ghost.update(&quot;&quot;)}},update:function(_4){if(typeof _4==&quot;string&quot;){this.ghost.update(_4)}else{this.ghost.update(&quot;&quot;);_4.style.margin=&quot;0&quot;;this.ghost.dom.appendChild(_4)}var el=this.ghost.dom.firstChild;if(el){Ext.fly(el).setStyle(Ext.isIE?&quot;styleFloat&quot;:&quot;cssFloat&quot;,&quot;none&quot;)}},getEl:function(){return this.el},getGhost:function(){return this.ghost},hide:function(_6){this.el.hide();
-if(_6){this.reset(true)}},stop:function(){if(this.anim&amp;&amp;this.anim.isAnimated&amp;&amp;this.anim.isAnimated()){this.anim.stop()}},show:function(){this.el.show()},sync:function(){this.el.sync()},repair:function(xy,_8,_9){this.callback=_8;this.scope=_9;if(xy&amp;&amp;this.animRepair!==false){this.el.addClass(&quot;x-dd-drag-repair&quot;);this.el.hideUnders(true);this.anim=this.el.shift({duration:this.repairDuration||0.5,easing:&quot;easeOut&quot;,xy:xy,stopFx:true,callback:this.afterRepair,scope:this})}else{this.afterRepair()}},afterRepair:function(){this.hide(true);if(typeof this.callback==&quot;function&quot;){this.callback.call(this.scope||this)}this.callback=null;this.scope=null}};Ext.dd.DragSource=function(el,_2){this.el=Ext.get(el);if(!this.dragData){this.dragData={}}Ext.apply(this,_2);if(!this.proxy){this.proxy=new Ext.dd.StatusProxy()}Ext.dd.DragSource.superclass.constructor.call(this,this.el.dom,this.ddGroup||this.group,{dragElId:this.proxy.id,resizeFrame:false,isTarget:false,scroll:this.scroll===true});this.dragging=false};Ext.extend(Ext.dd.DragSource,Ext.dd.DDProxy,{dropAllowed:&quot;x-dd-drop-ok&quot;,dropNotAllowed:&quot;x-dd-drop-nodrop&quot;,getDragData:function(e){return this.dragData},onDragEnter:function(e,id){var _6=Ext.dd.DragDropMgr.getDDById(id);this.cachedTarget=_6;if(this.beforeDragEnter(_6,e,id)!==false){if(_6.isNotifyTarget){var _7=_6.notifyEnter(this,e,this.dragData);this.proxy.setStatus(_7)}else{this.proxy.setStatus(this.dropAllowed)}if(this.afterDragEnter){this.afterDragEnter(_6,e,id)}}},beforeDragEnter:function(_8,e,id){return true},alignElWithMouse:function(){Ext.dd.DragSource.superclass.alignElWithMouse.apply(this,arguments);this.proxy.sync()},onDragOver:function(e,id){var _d=this.cachedTarget||Ext.dd.DragDropMgr.getDDById(id);if(this.beforeDragOver(_d,e,id)!==false){if(_d.isNotifyTarget){var _e=_d.notifyOver(this,e,this.dragData);this.proxy.setStatus(_e)}if(this.afterDragOver){this.afterDragOver(_d,e,id)}}},beforeDragOver:function(_f,e,id){return true},onDragOut:function(e,id){var _14=this.cachedTarget||Ext.dd.DragDropMgr.getDDById(id);if(this.beforeDragOut(_14,e,id)!==false){if(_14.isNotifyTarget){_14.notifyOut(this,e,this.dragData)}this.proxy.reset();if(this.afterDragOut){this.afterDragOut(_14,e,id)}}this.cachedTarget=null},beforeDragOut:function(_15,e,id){return true},onDragDrop:function(e,id){var _1a=this.cachedTarget||Ext.dd.DragDropMgr.getDDById(id);if(this.beforeDragDrop(_1a,e,id)!==false){if(_1a.isNotifyTarget){if(_1a.notifyDrop(this,e,this.dragData)){this.onValidDrop(_1a,e,id)}else{this.onInvalidDrop(_1a,e,id)}}else{this.onValidDrop(_1a,e,id)}if(this.afterDragDrop){this.afterDragDrop(_1a,e,id)}}delete this.cachedTarget},beforeDragDrop:function(_1b,e,id){return true},onValidDrop:function(_1e,e,id){this.hideProxy();if(this.afterValidDrop){this.afterValidDrop(_1e,e,id)}},getRepairXY:function(e,_22){return this.el.getXY()},onInvalidDrop:function(_23,e,id){this.beforeInvalidDrop(_23,e,id);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,id)}},afterRepair:function(){if(Ext.enableFx){this.el.highlight(this.hlColor||&quot;c3daf9&quot;)}this.dragging=false},beforeInvalidDrop:function(_26,e,id){return true},handleMouseDown:function(e){if(this.dragging){return}var _2a=this.getDragData(e);if(_2a&amp;&amp;this.onBeforeDrag(_2a,e)!==false){this.dragData=_2a;this.proxy.stop();Ext.dd.DragSource.superclass.handleMouseDown.apply(this,arguments)}},onBeforeDrag:function(_2b,e){return true},onStartDrag:Ext.emptyFn,startDrag:function(x,y){this.proxy.reset();this.dragging=true;this.proxy.update(&quot;&quot;);this.onInitDrag(x,y);this.proxy.show()},onInitDrag:function(x,y){var _31=this.el.dom.cloneNode(true);_31.id=Ext.id();this.proxy.update(_31);this.onStartDrag(x,y);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(e){},endDrag:function(e){this.onEndDrag(this.dragData,e)},onEndDrag:function(_34,e){},autoOffset:function(x,y){this.setDelta(-12,-20)}});Ext.dd.DropTarget=function(el,_2){this.el=Ext.get(el);Ext.apply(this,_2);if(this.containerScroll){Ext.dd.ScrollManager.register(this.el)}Ext.dd.DropTarget.superclass.constructor.call(this,this.el.dom,this.ddGroup||this.group,{isTarget:true})};Ext.extend(Ext.dd.DropTarget,Ext.dd.DDTarget,{dropAllowed:&quot;x-dd-drop-ok&quot;,dropNotAllowed:&quot;x-dd-drop-nodrop&quot;,isTarget:true,isNotifyTarget:true,notifyEnter:function(dd,e,_5){if(this.overClass){this.el.addClass(this.overClass)}return this.dropAllowed},notifyOver:function(dd,e,_8){return this.dropAllowed},notifyOut:function(dd,e,_b){if(this.overClass){this.el.removeClass(this.overClass)}},notifyDrop:function(dd,e,_e){return false}});Ext.dd.DragZone=function(el,_2){Ext.dd.DragZone.superclass.constructor.call(this,el,_2);if(this.containerScroll){Ext.dd.ScrollManager.register(this.el)}};Ext.extend(Ext.dd.DragZone,Ext.dd.DragSource,{getDragData:function(e){return Ext.dd.Registry.getHandleFromEvent(e)},onInitDrag:function(x,y){this.proxy.update(this.dragData.ddel.cloneNode(true));this.onStartDrag(x,y);return true},afterRepair:function(){if(Ext.enableFx){Ext.Element.fly(this.dragData.ddel).highlight(this.hlColor||&quot;c3daf9&quot;)}this.dragging=false},getRepairXY:function(e){return Ext.Element.fly(this.dragData.ddel).getXY()}});Ext.dd.DropZone=function(el,_2){Ext.dd.DropZone.superclass.constructor.call(this,el,_2)};Ext.extend(Ext.dd.DropZone,Ext.dd.DropTarget,{getTargetFromEvent:function(e){return Ext.dd.Registry.getTargetFromEvent(e)},onNodeEnter:function(n,dd,e,_7){},onNodeOver:function(n,dd,e,_b){return this.dropAllowed},onNodeOut:function(n,dd,e,_f){},onNodeDrop:function(n,dd,e,_13){return false},onContainerOver:function(dd,e,_16){return this.dropNotAllowed},onContainerDrop:function(dd,e,_19){return false},notifyEnter:function(dd,e,_1c){return this.dropNotAllowed},notifyOver:function(dd,e,_1f){var n=this.getTargetFromEvent(e);if(!n){if(this.lastOverNode){this.onNodeOut(this.lastOverNode,dd,e,_1f);this.lastOverNode=null}return this.onContainerOver(dd,e,_1f)}if(this.lastOverNode!=n){if(this.lastOverNode){this.onNodeOut(this.lastOverNode,dd,e,_1f)}this.onNodeEnter(n,dd,e,_1f);this.lastOverNode=n}return this.onNodeOver(n,dd,e,_1f)},notifyOut:function(dd,e,_23){if(this.lastOverNode){this.onNodeOut(this.lastOverNode,dd,e,_23);this.lastOverNode=null}},notifyDrop:function(dd,e,_26){if(this.lastOverNode){this.onNodeOut(this.lastOverNode,dd,e,_26);this.lastOverNode=null}var n=this.getTargetFromEvent(e);return n?this.onNodeDrop(n,dd,e,_26):this.onContainerDrop(dd,e,_26)},triggerCacheRefresh:function(){Ext.dd.DDM.refreshCache(this.groups)}});Ext.data.SortTypes={none:function(s){return s},stripTagsRE:/&lt;\/?[^&gt;]+&gt;/gi,asText:function(s){return String(s).replace(this.stripTagsRE,&quot;&quot;)},asUCText:function(s){return String(s).toUpperCase().replace(this.stripTagsRE,&quot;&quot;)},asUCString:function(s){return String(s).toUpperCase()},asDate:function(s){if(!s){return 0}if(Ext.isDate(s)){return s.getTime()}return Date.parse(String(s))},asFloat:function(s){var _7=parseFloat(String(s).replace(/,/g,&quot;&quot;));if(isNaN(_7)){_7=0}return _7},asInt:function(s){var _9=parseInt(String(s).replace(/,/g,&quot;&quot;));if(isNaN(_9)){_9=0}return _9}};Ext.data.Record=function(_1,id){this.id=(id||id===0)?id:++Ext.data.Record.AUTO_ID;this.data=_1};Ext.data.Record.create=function(o){var f=Ext.extend(Ext.data.Record,{});var p=f.prototype;p.fields=new Ext.util.MixedCollection(false,function(_6){return _6.name});for(var i=0,_8=o.length;i&lt;_8;i++){p.fields.add(new Ext.data.Field(o[i]))}f.getField=function(_9){return p.fields.get(_9)};return f};Ext.data.Record.AUTO_ID=1000;Ext.data.Record.EDIT=&quot;edit&quot;;Ext.data.Record.REJECT=&quot;reject&quot;;Ext.data.Record.COMMIT=&quot;commit&quot;;Ext.data.Record.prototype={dirty:false,editing:false,error:null,modified:null,join:function(_a){this.store=_a
-},set:function(_b,_c){if(String(this.data[_b])==String(_c)){return}this.dirty=true;if(!this.modified){this.modified={}}if(typeof this.modified[_b]==&quot;undefined&quot;){this.modified[_b]=this.data[_b]}this.data[_b]=_c;if(!this.editing&amp;&amp;this.store){this.store.afterEdit(this)}},get:function(_d){return this.data[_d]},beginEdit:function(){this.editing=true;this.modified={}},cancelEdit:function(){this.editing=false;delete this.modified},endEdit:function(){this.editing=false;if(this.dirty&amp;&amp;this.store){this.store.afterEdit(this)}},reject:function(_e){var m=this.modified;for(var n in m){if(typeof m[n]!=&quot;function&quot;){this.data[n]=m[n]}}this.dirty=false;delete this.modified;this.editing=false;if(this.store&amp;&amp;_e!==true){this.store.afterReject(this)}},commit:function(_11){this.dirty=false;delete this.modified;this.editing=false;if(this.store&amp;&amp;_11!==true){this.store.afterCommit(this)}},getChanges:function(){var m=this.modified,cs={};for(var n in m){if(m.hasOwnProperty(n)){cs[n]=this.data[n]}}return cs},hasError:function(){return this.error!=null},clearError:function(){this.error=null},copy:function(_15){return new this.constructor(Ext.apply({},this.data),_15||this.id)},isModified:function(_16){return !!(this.modified&amp;&amp;this.modified.hasOwnProperty(_16))}};Ext.StoreMgr=Ext.apply(new Ext.util.MixedCollection(),{register:function(){for(var i=0,s;s=arguments[i];i++){this.add(s)}},unregister:function(){for(var i=0,s;s=arguments[i];i++){this.remove(this.lookup(s))}},lookup:function(id){return typeof id==&quot;object&quot;?id:this.get(id)},getKey:function(o){return o.storeId||o.id}});Ext.data.Store=function(_1){this.data=new Ext.util.MixedCollection(false);this.data.getKey=function(o){return o.id};this.baseParams={};this.paramNames={start:&quot;start&quot;,limit:&quot;limit&quot;,sort:&quot;sort&quot;,dir:&quot;dir&quot;};if(_1&amp;&amp;_1.data){this.inlineData=_1.data;delete _1.data}Ext.apply(this,_1);if(this.url&amp;&amp;!this.proxy){this.proxy=new Ext.data.HttpProxy({url:this.url})}if(this.reader){if(!this.recordType){this.recordType=this.reader.recordType}if(this.reader.onMetaChange){this.reader.onMetaChange=this.onMetaChange.createDelegate(this)}}if(this.recordType){this.fields=this.recordType.prototype.fields}this.modified=[];this.addEvents(&quot;datachanged&quot;,&quot;metachange&quot;,&quot;add&quot;,&quot;remove&quot;,&quot;update&quot;,&quot;clear&quot;,&quot;beforeload&quot;,&quot;load&quot;,&quot;loadexception&quot;);if(this.proxy){this.relayEvents(this.proxy,[&quot;loadexception&quot;])}this.sortToggle={};if(this.sortInfo){this.setDefaultSort(this.sortInfo.field,this.sortInfo.direction)}Ext.data.Store.superclass.constructor.call(this);if(this.storeId||this.id){Ext.StoreMgr.register(this)}if(this.inlineData){this.loadData(this.inlineData);delete this.inlineData}else{if(this.autoLoad){this.load.defer(10,this,[typeof this.autoLoad==&quot;object&quot;?this.autoLoad:undefined])}}};Ext.extend(Ext.data.Store,Ext.util.Observable,{remoteSort:false,pruneModifiedRecords:false,lastOptions:null,destroy:function(){if(this.storeId||this.id){Ext.StoreMgr.unregister(this)}this.data=null;this.purgeListeners()},add:function(_3){_3=[].concat(_3);if(_3.length&lt;1){return}for(var i=0,_5=_3.length;i&lt;_5;i++){_3[i].join(this)}var _6=this.data.length;this.data.addAll(_3);if(this.snapshot){this.snapshot.addAll(_3)}this.fireEvent(&quot;add&quot;,this,_3,_6)},addSorted:function(_7){var _8=this.findInsertIndex(_7);this.insert(_8,_7)},remove:function(_9){var _a=this.data.indexOf(_9);this.data.removeAt(_a);if(this.pruneModifiedRecords){this.modified.remove(_9)}if(this.snapshot){this.snapshot.remove(_9)}this.fireEvent(&quot;remove&quot;,this,_9,_a)},removeAt:function(_b){this.remove(this.getAt(_b))},removeAll:function(){this.data.clear();if(this.snapshot){this.snapshot.clear()}if(this.pruneModifiedRecords){this.modified=[]}this.fireEvent(&quot;clear&quot;,this)},insert:function(_c,_d){_d=[].concat(_d);for(var i=0,_f=_d.length;i&lt;_f;i++){this.data.insert(_c,_d[i]);_d[i].join(this)}this.fireEvent(&quot;add&quot;,this,_d,_c)},indexOf:function(_10){return this.data.indexOf(_10)},indexOfId:function(id){return this.data.indexOfKey(id)},getById:function(id){return this.data.key(id)},getAt:function(_13){return this.data.itemAt(_13)},getRange:function(_14,end){return this.data.getRange(_14,end)},storeOptions:function(o){o=Ext.apply({},o);delete o.callback;delete o.scope;this.lastOptions=o},load:function(_17){_17=_17||{};if(this.fireEvent(&quot;beforeload&quot;,this,_17)!==false){this.storeOptions(_17);var p=Ext.apply(_17.params||{},this.baseParams);if(this.sortInfo&amp;&amp;this.remoteSort){var pn=this.paramNames;p[pn.sort]=this.sortInfo.field;p[pn.dir]=this.sortInfo.direction}this.proxy.load(p,this.reader,this.loadRecords,this,_17);return true}else{return false}},reload:function(_1a){this.load(Ext.applyIf(_1a||{},this.lastOptions))},loadRecords:function(o,_1c,_1d){if(!o||_1d===false){if(_1d!==false){this.fireEvent(&quot;load&quot;,this,[],_1c)}if(_1c.callback){_1c.callback.call(_1c.scope||this,[],_1c,false)}return}var r=o.records,t=o.totalRecords||r.length;if(!_1c||_1c.add!==true){if(this.pruneModifiedRecords){this.modified=[]}for(var i=0,len=r.length;i&lt;len;i++){r[i].join(this)}if(this.snapshot){this.data=this.snapshot;delete this.snapshot}this.data.clear();this.data.addAll(r);this.totalLength=t;this.applySort();this.fireEvent(&quot;datachanged&quot;,this)}else{this.totalLength=Math.max(t,this.data.length+r.length);this.add(r)}this.fireEvent(&quot;load&quot;,this,r,_1c);if(_1c.callback){_1c.callback.call(_1c.scope||this,r,_1c,true)}},loadData:function(o,_23){var r=this.reader.readRecords(o);this.loadRecords(r,{add:_23},true)},getCount:function(){return this.data.length||0},getTotalCount:function(){return this.totalLength||0},getSortState:function(){return this.sortInfo},applySort:function(){if(this.sortInfo&amp;&amp;!this.remoteSort){var s=this.sortInfo,f=s.field;this.sortData(f,s.direction)}},sortData:function(f,_28){_28=_28||&quot;ASC&quot;;var st=this.fields.get(f).sortType;var fn=function(r1,r2){var v1=st(r1.data[f]),v2=st(r2.data[f]);return v1&gt;v2?1:(v1&lt;v2?-1:0)};this.data.sort(_28,fn);if(this.snapshot&amp;&amp;this.snapshot!=this.data){this.snapshot.sort(_28,fn)}},setDefaultSort:function(_2f,dir){dir=dir?dir.toUpperCase():&quot;ASC&quot;;this.sortInfo={field:_2f,direction:dir};this.sortToggle[_2f]=dir},sort:function(_31,dir){var f=this.fields.get(_31);if(!f){return false}if(!dir){if(this.sortInfo&amp;&amp;this.sortInfo.field==f.name){dir=(this.sortToggle[f.name]||&quot;ASC&quot;).toggle(&quot;ASC&quot;,&quot;DESC&quot;)}else{dir=f.sortDir}}var st=(this.sortToggle)?this.sortToggle[f.name]:null;var si=(this.sortInfo)?this.sortInfo:null;this.sortToggle[f.name]=dir;this.sortInfo={field:f.name,direction:dir};if(!this.remoteSort){this.applySort();this.fireEvent(&quot;datachanged&quot;,this)}else{if(!this.load(this.lastOptions)){if(st){this.sortToggle[f.name]=st}if(si){this.sortInfo=si}}}},each:function(fn,_37){this.data.each(fn,_37)},getModifiedRecords:function(){return this.modified},createFilterFn:function(_38,_39,_3a,_3b){if(Ext.isEmpty(_39,false)){return false}_39=this.data.createValueMatcher(_39,_3a,_3b);return function(r){return _39.test(r.data[_38])}},sum:function(_3d,_3e,end){var rs=this.data.items,v=0;_3e=_3e||0;end=(end||end===0)?end:rs.length-1;for(var i=_3e;i&lt;=end;i++){v+=(rs[i].data[_3d]||0)}return v},filter:function(_43,_44,_45,_46){var fn=this.createFilterFn(_43,_44,_45,_46);return fn?this.filterBy(fn):this.clearFilter()},filterBy:function(fn,_49){this.snapshot=this.snapshot||this.data;this.data=this.queryBy(fn,_49||this);this.fireEvent(&quot;datachanged&quot;,this)},query:function(_4a,_4b,_4c,_4d){var fn=this.createFilterFn(_4a,_4b,_4c,_4d);return fn?this.queryBy(fn):this.data.clone()},queryBy:function(fn,_50){var _51=this.snapshot||this.data;return _51.filterBy(fn,_50||this)},find:function(_52,_53,_54,_55,_56){var fn=this.createFilterFn(_52,_53,_55,_56);return fn?this.data.findIndexBy(fn,null,_54):-1},findBy:function(fn,_59,_5a){return this.data.findIndexBy(fn,_59,_5a)},collect:function(_5b,_5c,_5d){var d=(_5d===true&amp;&amp;this.snapshot)?this.snapshot.items:this.data.items;var v,sv,r=[],l={};for(var i=0,len=d.length;i&lt;len;i++){v=d[i].data[_5b];sv=String(v);if((_5c||!Ext.isEmpty(v))&amp;&amp;!l[sv]){l[sv]=true;r[r.length]=v}}return r},clearFilter:function(_65){if(this.isFiltered()){this.data=this.snapshot;
-delete this.snapshot;if(_65!==true){this.fireEvent(&quot;datachanged&quot;,this)}}},isFiltered:function(){return this.snapshot&amp;&amp;this.snapshot!=this.data},afterEdit:function(_66){if(this.modified.indexOf(_66)==-1){this.modified.push(_66)}this.fireEvent(&quot;update&quot;,this,_66,Ext.data.Record.EDIT)},afterReject:function(_67){this.modified.remove(_67);this.fireEvent(&quot;update&quot;,this,_67,Ext.data.Record.REJECT)},afterCommit:function(_68){this.modified.remove(_68);this.fireEvent(&quot;update&quot;,this,_68,Ext.data.Record.COMMIT)},commitChanges:function(){var m=this.modified.slice(0);this.modified=[];for(var i=0,len=m.length;i&lt;len;i++){m[i].commit()}},rejectChanges:function(){var m=this.modified.slice(0);this.modified=[];for(var i=0,len=m.length;i&lt;len;i++){m[i].reject()}},onMetaChange:function(_6f,_70,o){this.recordType=_70;this.fields=_70.prototype.fields;delete this.snapshot;this.sortInfo=_6f.sortInfo;this.modified=[];this.fireEvent(&quot;metachange&quot;,this,this.reader.meta)},findInsertIndex:function(_72){this.suspendEvents();var _73=this.data.clone();this.data.add(_72);this.applySort();var _74=this.data.indexOf(_72);this.data=_73;this.resumeEvents();return _74}});Ext.data.SimpleStore=function(_1){Ext.data.SimpleStore.superclass.constructor.call(this,Ext.apply(_1,{reader:new Ext.data.ArrayReader({id:_1.id},Ext.data.Record.create(_1.fields))}))};Ext.extend(Ext.data.SimpleStore,Ext.data.Store,{loadData:function(_2,_3){if(this.expandData===true){var r=[];for(var i=0,_6=_2.length;i&lt;_6;i++){r[r.length]=[_2[i]]}_2=r}Ext.data.SimpleStore.superclass.loadData.call(this,_2,_3)}});Ext.data.JsonStore=function(c){Ext.data.JsonStore.superclass.constructor.call(this,Ext.apply(c,{proxy:c.proxy||(!c.data?new Ext.data.HttpProxy({url:c.url}):undefined),reader:new Ext.data.JsonReader(c,c.fields)}))};Ext.extend(Ext.data.JsonStore,Ext.data.Store);Ext.data.Field=function(_1){if(typeof _1==&quot;string&quot;){_1={name:_1}}Ext.apply(this,_1);if(!this.type){this.type=&quot;auto&quot;}var st=Ext.data.SortTypes;if(typeof this.sortType==&quot;string&quot;){this.sortType=st[this.sortType]}if(!this.sortType){switch(this.type){case&quot;string&quot;:this.sortType=st.asUCString;break;case&quot;date&quot;:this.sortType=st.asDate;break;default:this.sortType=st.none}}var _3=/[\$,%]/g;if(!this.convert){var cv,_5=this.dateFormat;switch(this.type){case&quot;&quot;:case&quot;auto&quot;:case undefined:cv=function(v){return v};break;case&quot;string&quot;:cv=function(v){return(v===undefined||v===null)?&quot;&quot;:String(v)};break;case&quot;int&quot;:cv=function(v){return v!==undefined&amp;&amp;v!==null&amp;&amp;v!==&quot;&quot;?parseInt(String(v).replace(_3,&quot;&quot;),10):&quot;&quot;};break;case&quot;float&quot;:cv=function(v){return v!==undefined&amp;&amp;v!==null&amp;&amp;v!==&quot;&quot;?parseFloat(String(v).replace(_3,&quot;&quot;),10):&quot;&quot;};break;case&quot;bool&quot;:case&quot;boolean&quot;:cv=function(v){return v===true||v===&quot;true&quot;||v==1};break;case&quot;date&quot;:cv=function(v){if(!v){return&quot;&quot;}if(Ext.isDate(v)){return v}if(_5){if(_5==&quot;timestamp&quot;){return new Date(v*1000)}if(_5==&quot;time&quot;){return new Date(parseInt(v,10))}return Date.parseDate(v,_5)}var _c=Date.parse(v);return _c?new Date(_c):null};break}this.convert=cv}};Ext.data.Field.prototype={dateFormat:null,defaultValue:&quot;&quot;,mapping:null,sortType:null,sortDir:&quot;ASC&quot;};Ext.data.DataReader=function(_1,_2){this.meta=_1;this.recordType=Ext.isArray(_2)?Ext.data.Record.create(_2):_2};Ext.data.DataReader.prototype={};Ext.data.DataProxy=function(){this.addEvents(&quot;beforeload&quot;,&quot;load&quot;);Ext.data.DataProxy.superclass.constructor.call(this)};Ext.extend(Ext.data.DataProxy,Ext.util.Observable);Ext.data.MemoryProxy=function(_1){Ext.data.MemoryProxy.superclass.constructor.call(this);this.data=_1};Ext.extend(Ext.data.MemoryProxy,Ext.data.DataProxy,{load:function(_2,_3,_4,_5,_6){_2=_2||{};var _7;try{_7=_3.readRecords(this.data)}catch(e){this.fireEvent(&quot;loadexception&quot;,this,_6,null,e);_4.call(_5,null,_6,false);return}_4.call(_5,_7,_6,true)},update:function(_8,_9){}});Ext.data.HttpProxy=function(_1){Ext.data.HttpProxy.superclass.constructor.call(this);this.conn=_1;this.useAjax=!_1||!_1.events};Ext.extend(Ext.data.HttpProxy,Ext.data.DataProxy,{getConnection:function(){return this.useAjax?Ext.Ajax:this.conn},load:function(_2,_3,_4,_5,_6){if(this.fireEvent(&quot;beforeload&quot;,this,_2)!==false){var o={params:_2||{},request:{callback:_4,scope:_5,arg:_6},reader:_3,callback:this.loadResponse,scope:this};if(this.useAjax){Ext.applyIf(o,this.conn);if(this.activeRequest){Ext.Ajax.abort(this.activeRequest)}this.activeRequest=Ext.Ajax.request(o)}else{this.conn.request(o)}}else{_4.call(_5||this,null,_6,false)}},loadResponse:function(o,_9,_a){delete this.activeRequest;if(!_9){this.fireEvent(&quot;loadexception&quot;,this,o,_a);o.request.callback.call(o.request.scope,null,o.request.arg,false);return}var _b;try{_b=o.reader.read(_a)}catch(e){this.fireEvent(&quot;loadexception&quot;,this,o,_a,e);o.request.callback.call(o.request.scope,null,o.request.arg,false);return}this.fireEvent(&quot;load&quot;,this,o,o.request.arg);o.request.callback.call(o.request.scope,_b,o.request.arg,true)},update:function(_c){},updateResponse:function(_d){}});Ext.data.ScriptTagProxy=function(_1){Ext.data.ScriptTagProxy.superclass.constructor.call(this);Ext.apply(this,_1);this.head=document.getElementsByTagName(&quot;head&quot;)[0]};Ext.data.ScriptTagProxy.TRANS_ID=1000;Ext.extend(Ext.data.ScriptTagProxy,Ext.data.DataProxy,{timeout:30000,callbackParam:&quot;callback&quot;,nocache:true,load:function(_2,_3,_4,_5,_6){if(this.fireEvent(&quot;beforeload&quot;,this,_2)!==false){var p=Ext.urlEncode(Ext.apply(_2,this.extraParams));var _8=this.url;_8+=(_8.indexOf(&quot;?&quot;)!=-1?&quot;&amp;&quot;:&quot;?&quot;)+p;if(this.nocache){_8+=&quot;&amp;_dc=&quot;+(new Date().getTime())}var _9=++Ext.data.ScriptTagProxy.TRANS_ID;var _a={id:_9,cb:&quot;stcCallback&quot;+_9,scriptId:&quot;stcScript&quot;+_9,params:_2,arg:_6,url:_8,callback:_4,scope:_5,reader:_3};var _b=this;window[_a.cb]=function(o){_b.handleResponse(o,_a)};_8+=String.format(&quot;&amp;{0}={1}&quot;,this.callbackParam,_a.cb);if(this.autoAbort!==false){this.abort()}_a.timeoutId=this.handleFailure.defer(this.timeout,this,[_a]);var _d=document.createElement(&quot;script&quot;);_d.setAttribute(&quot;src&quot;,_8);_d.setAttribute(&quot;type&quot;,&quot;text/javascript&quot;);_d.setAttribute(&quot;id&quot;,_a.scriptId);this.head.appendChild(_d);this.trans=_a}else{_4.call(_5||this,null,_6,false)}},isLoading:function(){return this.trans?true:false},abort:function(){if(this.isLoading()){this.destroyTrans(this.trans)}},destroyTrans:function(_e,_f){this.head.removeChild(document.getElementById(_e.scriptId));clearTimeout(_e.timeoutId);if(_f){window[_e.cb]=undefined;try{delete window[_e.cb]}catch(e){}}else{window[_e.cb]=function(){window[_e.cb]=undefined;try{delete window[_e.cb]}catch(e){}}}},handleResponse:function(o,_11){this.trans=false;this.destroyTrans(_11,true);var _12;try{_12=_11.reader.readRecords(o)}catch(e){this.fireEvent(&quot;loadexception&quot;,this,o,_11.arg,e);_11.callback.call(_11.scope||window,null,_11.arg,false);return}this.fireEvent(&quot;load&quot;,this,o,_11.arg);_11.callback.call(_11.scope||window,_12,_11.arg,true)},handleFailure:function(_13){this.trans=false;this.destroyTrans(_13,false);this.fireEvent(&quot;loadexception&quot;,this,null,_13.arg);_13.callback.call(_13.scope||window,null,_13.arg,false)}});Ext.data.JsonReader=function(_1,_2){_1=_1||{};Ext.data.JsonReader.superclass.constructor.call(this,_1,_2||_1.fields)};Ext.extend(Ext.data.JsonReader,Ext.data.DataReader,{read:function(_3){var _4=_3.responseText;var o=eval(&quot;(&quot;+_4+&quot;)&quot;);if(!o){throw {message:&quot;JsonReader.read: Json object not found&quot;}}return this.readRecords(o)},onMetaChange:function(_6,_7,o){},simpleAccess:function(_9,_a){return _9[_a]},getJsonAccessor:function(){var re=/[\[\.]/;return function(_c){try{return(re.test(_c))?new Function(&quot;obj&quot;,&quot;return obj.&quot;+_c):function(_d){return _d[_c]}}catch(e){}return Ext.emptyFn}}(),readRecords:function(o){this.jsonData=o;if(o.metaData){delete this.ef;this.meta=o.metaData;this.recordType=Ext.data.Record.create(o.metaData.fields);this.onMetaChange(this.meta,this.recordType,o)}var s=this.meta,_10=this.recordType,f=_10.prototype.fields,fi=f.items,fl=f.length;if(!this.ef){if(s.totalProperty){this.getTotal=this.getJsonAccessor(s.totalProperty)}if(s.successProperty){this.getSuccess=this.getJsonAccessor(s.successProperty)}this.getRoot=s.root?this.getJsonAccessor(s.root):function(p){return p
-};if(s.id){var g=this.getJsonAccessor(s.id);this.getId=function(rec){var r=g(rec);return(r===undefined||r===&quot;&quot;)?null:r}}else{this.getId=function(){return null}}this.ef=[];for(var i=0;i&lt;fl;i++){f=fi[i];var map=(f.mapping!==undefined&amp;&amp;f.mapping!==null)?f.mapping:f.name;this.ef[i]=this.getJsonAccessor(map)}}var _1a=this.getRoot(o),c=_1a.length,_1c=c,_1d=true;if(s.totalProperty){var v=parseInt(this.getTotal(o),10);if(!isNaN(v)){_1c=v}}if(s.successProperty){var v=this.getSuccess(o);if(v===false||v===&quot;false&quot;){_1d=false}}var _1f=[];for(var i=0;i&lt;c;i++){var n=_1a[i];var _21={};var id=this.getId(n);for(var j=0;j&lt;fl;j++){f=fi[j];var v=this.ef[j](n);_21[f.name]=f.convert((v!==undefined)?v:f.defaultValue,n)}var _24=new _10(_21,id);_24.json=n;_1f[i]=_24}return{success:_1d,records:_1f,totalRecords:_1c}}});Ext.data.XmlReader=function(_1,_2){_1=_1||{};Ext.data.XmlReader.superclass.constructor.call(this,_1,_2||_1.fields)};Ext.extend(Ext.data.XmlReader,Ext.data.DataReader,{read:function(_3){var _4=_3.responseXML;if(!_4){throw {message:&quot;XmlReader.read: XML Document not available&quot;}}return this.readRecords(_4)},readRecords:function(_5){this.xmlData=_5;var _6=_5.documentElement||_5;var q=Ext.DomQuery;var _8=this.recordType,_9=_8.prototype.fields;var _a=this.meta.id;var _b=0,_c=true;if(this.meta.totalRecords){_b=q.selectNumber(this.meta.totalRecords,_6,0)}if(this.meta.success){var sv=q.selectValue(this.meta.success,_6,true);_c=sv!==false&amp;&amp;sv!==&quot;false&quot;}var _e=[];var ns=q.select(this.meta.record,_6);for(var i=0,len=ns.length;i&lt;len;i++){var n=ns[i];var _13={};var id=_a?q.selectValue(_a,n):undefined;for(var j=0,_16=_9.length;j&lt;_16;j++){var f=_9.items[j];var v=q.selectValue(f.mapping||f.name,n,f.defaultValue);v=f.convert(v,n);_13[f.name]=v}var _19=new _8(_13,id);_19.node=n;_e[_e.length]=_19}return{success:_c,records:_e,totalRecords:_b||_e.length}}});Ext.data.ArrayReader=Ext.extend(Ext.data.JsonReader,{readRecords:function(o){var _2=this.meta?this.meta.id:null;var _3=this.recordType,_4=_3.prototype.fields;var _5=[];var _6=o;for(var i=0;i&lt;_6.length;i++){var n=_6[i];var _9={};var id=((_2||_2===0)&amp;&amp;n[_2]!==undefined&amp;&amp;n[_2]!==&quot;&quot;?n[_2]:null);for(var j=0,_c=_4.length;j&lt;_c;j++){var f=_4.items[j];var k=f.mapping!==undefined&amp;&amp;f.mapping!==null?f.mapping:j;var v=n[k]!==undefined?n[k]:f.defaultValue;v=f.convert(v,n);_9[f.name]=v}var _10=new _3(_9,id);_10.json=n;_5[_5.length]=_10}return{records:_5,totalRecords:_5.length}}});Ext.data.Tree=function(_1){this.nodeHash={};this.root=null;if(_1){this.setRootNode(_1)}this.addEvents(&quot;append&quot;,&quot;remove&quot;,&quot;move&quot;,&quot;insert&quot;,&quot;beforeappend&quot;,&quot;beforeremove&quot;,&quot;beforemove&quot;,&quot;beforeinsert&quot;);Ext.data.Tree.superclass.constructor.call(this)};Ext.extend(Ext.data.Tree,Ext.util.Observable,{pathSeparator:&quot;/&quot;,proxyNodeEvent:function(){return this.fireEvent.apply(this,arguments)},getRootNode:function(){return this.root},setRootNode:function(_2){this.root=_2;_2.ownerTree=this;_2.isRoot=true;this.registerNode(_2);return _2},getNodeById:function(id){return this.nodeHash[id]},registerNode:function(_4){this.nodeHash[_4.id]=_4},unregisterNode:function(_5){delete this.nodeHash[_5.id]},toString:function(){return&quot;[Tree&quot;+(this.id?&quot; &quot;+this.id:&quot;&quot;)+&quot;]&quot;}});Ext.data.Node=function(_6){this.attributes=_6||{};this.leaf=this.attributes.leaf;this.id=this.attributes.id;if(!this.id){this.id=Ext.id(null,&quot;ynode-&quot;);this.attributes.id=this.id}this.childNodes=[];if(!this.childNodes.indexOf){this.childNodes.indexOf=function(o){for(var i=0,_9=this.length;i&lt;_9;i++){if(this[i]==o){return i}}return -1}}this.parentNode=null;this.firstChild=null;this.lastChild=null;this.previousSibling=null;this.nextSibling=null;this.addEvents({append:true,remove:true,move:true,insert:true,beforeappend:true,beforeremove:true,beforemove:true,beforeinsert:true});this.listeners=this.attributes.listeners;Ext.data.Node.superclass.constructor.call(this)};Ext.extend(Ext.data.Node,Ext.util.Observable,{fireEvent:function(_a){if(Ext.data.Node.superclass.fireEvent.apply(this,arguments)===false){return false}var ot=this.getOwnerTree();if(ot){if(ot.proxyNodeEvent.apply(ot,arguments)===false){return false}}return true},isLeaf:function(){return this.leaf===true},setFirstChild:function(_c){this.firstChild=_c},setLastChild:function(_d){this.lastChild=_d},isLast:function(){return(!this.parentNode?true:this.parentNode.lastChild==this)},isFirst:function(){return(!this.parentNode?true:this.parentNode.firstChild==this)},hasChildNodes:function(){return !this.isLeaf()&amp;&amp;this.childNodes.length&gt;0},isExpandable:function(){return this.attributes.expandable||this.hasChildNodes()},appendChild:function(_e){var _f=false;if(Ext.isArray(_e)){_f=_e}else{if(arguments.length&gt;1){_f=arguments}}if(_f){for(var i=0,len=_f.length;i&lt;len;i++){this.appendChild(_f[i])}}else{if(this.fireEvent(&quot;beforeappend&quot;,this.ownerTree,this,_e)===false){return false}var _12=this.childNodes.length;var _13=_e.parentNode;if(_13){if(_e.fireEvent(&quot;beforemove&quot;,_e.getOwnerTree(),_e,_13,this,_12)===false){return false}_13.removeChild(_e)}_12=this.childNodes.length;if(_12==0){this.setFirstChild(_e)}this.childNodes.push(_e);_e.parentNode=this;var ps=this.childNodes[_12-1];if(ps){_e.previousSibling=ps;ps.nextSibling=_e}else{_e.previousSibling=null}_e.nextSibling=null;this.setLastChild(_e);_e.setOwnerTree(this.getOwnerTree());this.fireEvent(&quot;append&quot;,this.ownerTree,this,_e,_12);if(_13){_e.fireEvent(&quot;move&quot;,this.ownerTree,_e,_13,this,_12)}return _e}},removeChild:function(_15){var _16=this.childNodes.indexOf(_15);if(_16==-1){return false}if(this.fireEvent(&quot;beforeremove&quot;,this.ownerTree,this,_15)===false){return false}this.childNodes.splice(_16,1);if(_15.previousSibling){_15.previousSibling.nextSibling=_15.nextSibling}if(_15.nextSibling){_15.nextSibling.previousSibling=_15.previousSibling}if(this.firstChild==_15){this.setFirstChild(_15.nextSibling)}if(this.lastChild==_15){this.setLastChild(_15.previousSibling)}_15.setOwnerTree(null);_15.parentNode=null;_15.previousSibling=null;_15.nextSibling=null;this.fireEvent(&quot;remove&quot;,this.ownerTree,this,_15);return _15},insertBefore:function(_17,_18){if(!_18){return this.appendChild(_17)}if(_17==_18){return false}if(this.fireEvent(&quot;beforeinsert&quot;,this.ownerTree,this,_17,_18)===false){return false}var _19=this.childNodes.indexOf(_18);var _1a=_17.parentNode;var _1b=_19;if(_1a==this&amp;&amp;this.childNodes.indexOf(_17)&lt;_19){_1b--}if(_1a){if(_17.fireEvent(&quot;beforemove&quot;,_17.getOwnerTree(),_17,_1a,this,_19,_18)===false){return false}_1a.removeChild(_17)}if(_1b==0){this.setFirstChild(_17)}this.childNodes.splice(_1b,0,_17);_17.parentNode=this;var ps=this.childNodes[_1b-1];if(ps){_17.previousSibling=ps;ps.nextSibling=_17}else{_17.previousSibling=null}_17.nextSibling=_18;_18.previousSibling=_17;_17.setOwnerTree(this.getOwnerTree());this.fireEvent(&quot;insert&quot;,this.ownerTree,this,_17,_18);if(_1a){_17.fireEvent(&quot;move&quot;,this.ownerTree,_17,_1a,this,_1b,_18)}return _17},remove:function(){this.parentNode.removeChild(this);return this},item:function(_1d){return this.childNodes[_1d]},replaceChild:function(_1e,_1f){var s=_1f?_1f.nextSibling:null;this.removeChild(_1f);this.insertBefore(_1e,s);return _1f},indexOf:function(_21){return this.childNodes.indexOf(_21)},getOwnerTree:function(){if(!this.ownerTree){var p=this;while(p){if(p.ownerTree){this.ownerTree=p.ownerTree;break}p=p.parentNode}}return this.ownerTree},getDepth:function(){var _23=0;var p=this;while(p.parentNode){++_23;p=p.parentNode}return _23},setOwnerTree:function(_25){if(_25!=this.ownerTree){if(this.ownerTree){this.ownerTree.unregisterNode(this)}this.ownerTree=_25;var cs=this.childNodes;for(var i=0,len=cs.length;i&lt;len;i++){cs[i].setOwnerTree(_25)}if(_25){_25.registerNode(this)}}},getPath:function(_29){_29=_29||&quot;id&quot;;var p=this.parentNode;var b=[this.attributes[_29]];while(p){b.unshift(p.attributes[_29]);p=p.parentNode}var sep=this.getOwnerTree().pathSeparator;return sep+b.join(sep)},bubble:function(fn,_2e,_2f){var p=this;while(p){if(fn.apply(_2e||p,_2f||[p])===false){break}p=p.parentNode}},cascade:function(fn,_32,_33){if(fn.apply(_32||this,_33||[this])!==false){var cs=this.childNodes;
-for(var i=0,len=cs.length;i&lt;len;i++){cs[i].cascade(fn,_32,_33)}}},eachChild:function(fn,_38,_39){var cs=this.childNodes;for(var i=0,len=cs.length;i&lt;len;i++){if(fn.apply(_38||this,_39||[cs[i]])===false){break}}},findChild:function(_3d,_3e){var cs=this.childNodes;for(var i=0,len=cs.length;i&lt;len;i++){if(cs[i].attributes[_3d]==_3e){return cs[i]}}return null},findChildBy:function(fn,_43){var cs=this.childNodes;for(var i=0,len=cs.length;i&lt;len;i++){if(fn.call(_43||cs[i],cs[i])===true){return cs[i]}}return null},sort:function(fn,_48){var cs=this.childNodes;var len=cs.length;if(len&gt;0){var _4b=_48?function(){fn.apply(_48,arguments)}:fn;cs.sort(_4b);for(var i=0;i&lt;len;i++){var n=cs[i];n.previousSibling=cs[i-1];n.nextSibling=cs[i+1];if(i==0){this.setFirstChild(n)}if(i==len-1){this.setLastChild(n)}}}},contains:function(_4e){return _4e.isAncestor(this)},isAncestor:function(_4f){var p=this.parentNode;while(p){if(p==_4f){return true}p=p.parentNode}return false},toString:function(){return&quot;[Node&quot;+(this.id?&quot; &quot;+this.id:&quot;&quot;)+&quot;]&quot;}});Ext.data.GroupingStore=Ext.extend(Ext.data.Store,{remoteGroup:false,groupOnSort:false,clearGrouping:function(){this.groupField=false;if(this.remoteGroup){if(this.baseParams){delete this.baseParams.groupBy}this.reload()}else{this.applySort();this.fireEvent(&quot;datachanged&quot;,this)}},groupBy:function(_1,_2){if(this.groupField==_1&amp;&amp;!_2){return}this.groupField=_1;if(this.remoteGroup){if(!this.baseParams){this.baseParams={}}this.baseParams.groupBy=_1}if(this.groupOnSort){this.sort(_1);return}if(this.remoteGroup){this.reload()}else{var si=this.sortInfo||{};if(si.field!=_1){this.applySort()}else{this.sortData(_1)}this.fireEvent(&quot;datachanged&quot;,this)}},applySort:function(){Ext.data.GroupingStore.superclass.applySort.call(this);if(!this.groupOnSort&amp;&amp;!this.remoteGroup){var gs=this.getGroupState();if(gs&amp;&amp;gs!=this.sortInfo.field){this.sortData(this.groupField)}}},applyGrouping:function(_5){if(this.groupField!==false){this.groupBy(this.groupField,true);return true}else{if(_5===true){this.fireEvent(&quot;datachanged&quot;,this)}return false}},getGroupState:function(){return this.groupOnSort&amp;&amp;this.groupField!==false?(this.sortInfo?this.sortInfo.field:undefined):this.groupField}});Ext.ComponentMgr=function(){var _1=new Ext.util.MixedCollection();var _2={};return{register:function(c){_1.add(c)},unregister:function(c){_1.remove(c)},get:function(id){return _1.get(id)},onAvailable:function(id,fn,_8){_1.on(&quot;add&quot;,function(_9,o){if(o.id==id){fn.call(_8||o,o);_1.un(&quot;add&quot;,fn,_8)}})},all:_1,registerType:function(_b,_c){_2[_b]=_c;_c.xtype=_b},create:function(_d,_e){return new _2[_d.xtype||_e](_d)}}}();Ext.reg=Ext.ComponentMgr.registerType;Ext.Component=function(_1){_1=_1||{};if(_1.initialConfig){if(_1.isAction){this.baseAction=_1}_1=_1.initialConfig}else{if(_1.tagName||_1.dom||typeof _1==&quot;string&quot;){_1={applyTo:_1,id:_1.id||_1}}}this.initialConfig=_1;Ext.apply(this,_1);this.addEvents(&quot;disable&quot;,&quot;enable&quot;,&quot;beforeshow&quot;,&quot;show&quot;,&quot;beforehide&quot;,&quot;hide&quot;,&quot;beforerender&quot;,&quot;render&quot;,&quot;beforedestroy&quot;,&quot;destroy&quot;,&quot;beforestaterestore&quot;,&quot;staterestore&quot;,&quot;beforestatesave&quot;,&quot;statesave&quot;);this.getId();Ext.ComponentMgr.register(this);Ext.Component.superclass.constructor.call(this);if(this.baseAction){this.baseAction.addComponent(this)}this.initComponent();if(this.plugins){if(Ext.isArray(this.plugins)){for(var i=0,_3=this.plugins.length;i&lt;_3;i++){this.plugins[i]=this.initPlugin(this.plugins[i])}}else{this.plugins=this.initPlugin(this.plugins)}}if(this.stateful!==false){this.initState(_1)}if(this.applyTo){this.applyToMarkup(this.applyTo);delete this.applyTo}else{if(this.renderTo){this.render(this.renderTo);delete this.renderTo}}};Ext.Component.AUTO_ID=1000;Ext.extend(Ext.Component,Ext.util.Observable,{disabledClass:&quot;x-item-disabled&quot;,allowDomMove:true,autoShow:false,hideMode:&quot;display&quot;,hideParent:false,hidden:false,disabled:false,rendered:false,ctype:&quot;Ext.Component&quot;,actionMode:&quot;el&quot;,getActionEl:function(){return this[this.actionMode]},initPlugin:function(p){p.init(this);return p},initComponent:Ext.emptyFn,render:function(_5,_6){if(!this.rendered&amp;&amp;this.fireEvent(&quot;beforerender&quot;,this)!==false){if(!_5&amp;&amp;this.el){this.el=Ext.get(this.el);_5=this.el.dom.parentNode;this.allowDomMove=false}this.container=Ext.get(_5);if(this.ctCls){this.container.addClass(this.ctCls)}this.rendered=true;if(_6!==undefined){if(typeof _6==&quot;number&quot;){_6=this.container.dom.childNodes[_6]}else{_6=Ext.getDom(_6)}}this.onRender(this.container,_6||null);if(this.autoShow){this.el.removeClass([&quot;x-hidden&quot;,&quot;x-hide-&quot;+this.hideMode])}if(this.cls){this.el.addClass(this.cls);delete this.cls}if(this.style){this.el.applyStyles(this.style);delete this.style}if(this.overCls){this.el.addClassOnOver(this.overCls)}this.fireEvent(&quot;render&quot;,this);this.afterRender(this.container);if(this.hidden){this.hide()}if(this.disabled){this.disable()}if(this.stateful!==false){this.initStateEvents()}}return this},initState:function(_7){if(Ext.state.Manager){var id=this.getStateId();if(id){var _9=Ext.state.Manager.get(id);if(_9){if(this.fireEvent(&quot;beforestaterestore&quot;,this,_9)!==false){this.applyState(_9);this.fireEvent(&quot;staterestore&quot;,this,_9)}}}}},getStateId:function(){return this.stateId||((this.id.indexOf(&quot;ext-comp-&quot;)==0||this.id.indexOf(&quot;ext-gen&quot;)==0)?null:this.id)},initStateEvents:function(){if(this.stateEvents){for(var i=0,e;e=this.stateEvents[i];i++){this.on(e,this.saveState,this,{delay:100})}}},applyState:function(_c,_d){if(_c){Ext.apply(this,_c)}},getState:function(){return null},saveState:function(){if(Ext.state.Manager){var id=this.getStateId();if(id){var _f=this.getState();if(this.fireEvent(&quot;beforestatesave&quot;,this,_f)!==false){Ext.state.Manager.set(id,_f);this.fireEvent(&quot;statesave&quot;,this,_f)}}}},applyToMarkup:function(el){this.allowDomMove=false;this.el=Ext.get(el);this.render(this.el.dom.parentNode)},addClass:function(cls){if(this.el){this.el.addClass(cls)}else{this.cls=this.cls?this.cls+&quot; &quot;+cls:cls}},removeClass:function(cls){if(this.el){this.el.removeClass(cls)}else{if(this.cls){this.cls=this.cls.split(&quot; &quot;).remove(cls).join(&quot; &quot;)}}},onRender:function(ct,_14){if(this.autoEl){if(typeof this.autoEl==&quot;string&quot;){this.el=document.createElement(this.autoEl)}else{var div=document.createElement(&quot;div&quot;);Ext.DomHelper.overwrite(div,this.autoEl);this.el=div.firstChild}if(!this.el.id){this.el.id=this.getId()}}if(this.el){this.el=Ext.get(this.el);if(this.allowDomMove!==false){ct.dom.insertBefore(this.el.dom,_14)}}},getAutoCreate:function(){var cfg=typeof this.autoCreate==&quot;object&quot;?this.autoCreate:Ext.apply({},this.defaultAutoCreate);if(this.id&amp;&amp;!cfg.id){cfg.id=this.id}return cfg},afterRender:Ext.emptyFn,destroy:function(){if(this.fireEvent(&quot;beforedestroy&quot;,this)!==false){this.beforeDestroy();if(this.rendered){this.el.removeAllListeners();this.el.remove();if(this.actionMode==&quot;container&quot;){this.container.remove()}}this.onDestroy();Ext.ComponentMgr.unregister(this);this.fireEvent(&quot;destroy&quot;,this);this.purgeListeners()}},beforeDestroy:Ext.emptyFn,onDestroy:Ext.emptyFn,getEl:function(){return this.el},getId:function(){return this.id||(this.id=&quot;ext-comp-&quot;+(++Ext.Component.AUTO_ID))},getItemId:function(){return this.itemId||this.getId()},focus:function(_17,_18){if(_18){this.focus.defer(typeof _18==&quot;number&quot;?_18:10,this,[_17,false]);return}if(this.rendered){this.el.focus();if(_17===true){this.el.dom.select()}}return this},blur:function(){if(this.rendered){this.el.blur()}return this},disable:function(){if(this.rendered){this.onDisable()}this.disabled=true;this.fireEvent(&quot;disable&quot;,this);return this},onDisable:function(){this.getActionEl().addClass(this.disabledClass);this.el.dom.disabled=true},enable:function(){if(this.rendered){this.onEnable()}this.disabled=false;this.fireEvent(&quot;enable&quot;,this);return this},onEnable:function(){this.getActionEl().removeClass(this.disabledClass);this.el.dom.disabled=false},setDisabled:function(_19){this[_19?&quot;disable&quot;:&quot;enable&quot;]()},show:function(){if(this.fireEvent(&quot;beforeshow&quot;,this)!==false){this.hidden=false;if(this.autoRender){this.render(typeof this.autoRender==&quot;boolean&quot;?Ext.getBody():this.autoRender)
-}if(this.rendered){this.onShow()}this.fireEvent(&quot;show&quot;,this)}return this},onShow:function(){if(this.hideParent){this.container.removeClass(&quot;x-hide-&quot;+this.hideMode)}else{this.getActionEl().removeClass(&quot;x-hide-&quot;+this.hideMode)}},hide:function(){if(this.fireEvent(&quot;beforehide&quot;,this)!==false){this.hidden=true;if(this.rendered){this.onHide()}this.fireEvent(&quot;hide&quot;,this)}return this},onHide:function(){if(this.hideParent){this.container.addClass(&quot;x-hide-&quot;+this.hideMode)}else{this.getActionEl().addClass(&quot;x-hide-&quot;+this.hideMode)}},setVisible:function(_1a){if(_1a){this.show()}else{this.hide()}return this},isVisible:function(){return this.rendered&amp;&amp;this.getActionEl().isVisible()},cloneConfig:function(_1b){_1b=_1b||{};var id=_1b.id||Ext.id();var cfg=Ext.applyIf(_1b,this.initialConfig);cfg.id=id;return new this.constructor(cfg)},getXType:function(){return this.constructor.xtype},isXType:function(_1e,_1f){if(typeof _1e==&quot;function&quot;){_1e=_1e.xtype}else{if(typeof _1e==&quot;object&quot;){_1e=_1e.constructor.xtype}}return !_1f?(&quot;/&quot;+this.getXTypes()+&quot;/&quot;).indexOf(&quot;/&quot;+_1e+&quot;/&quot;)!=-1:this.constructor.xtype==_1e},getXTypes:function(){var tc=this.constructor;if(!tc.xtypes){var c=[],sc=this;while(sc&amp;&amp;sc.constructor.xtype){c.unshift(sc.constructor.xtype);sc=sc.constructor.superclass}tc.xtypeChain=c;tc.xtypes=c.join(&quot;/&quot;)}return tc.xtypes},findParentBy:function(fn){for(var p=this.ownerCt;(p!=null)&amp;&amp;!fn(p,this);p=p.ownerCt){}return p||null},findParentByType:function(_25){return typeof _25==&quot;function&quot;?this.findParentBy(function(p){return p.constructor===_25}):this.findParentBy(function(p){return p.constructor.xtype===_25})},mon:function(_28,_29,fn,_2b,opt){if(!this.mons){this.mons=[];this.on(&quot;beforedestroy&quot;,function(){for(var i=0,len=this.mons.length;i&lt;len;i++){var m=this.mons[i];m.item.un(m.ename,m.fn,m.scope)}},this)}this.mons.push({item:_28,ename:_29,fn:fn,scope:_2b});_28.on(_29,fn,_2b,opt)}});Ext.reg(&quot;component&quot;,Ext.Component);Ext.Action=function(_1){this.initialConfig=_1;this.items=[]};Ext.Action.prototype={isAction:true,setText:function(_2){this.initialConfig.text=_2;this.callEach(&quot;setText&quot;,[_2])},getText:function(){return this.initialConfig.text},setIconClass:function(_3){this.initialConfig.iconCls=_3;this.callEach(&quot;setIconClass&quot;,[_3])},getIconClass:function(){return this.initialConfig.iconCls},setDisabled:function(v){this.initialConfig.disabled=v;this.callEach(&quot;setDisabled&quot;,[v])},enable:function(){this.setDisabled(false)},disable:function(){this.setDisabled(true)},isDisabled:function(){return this.initialConfig.disabled},setHidden:function(v){this.initialConfig.hidden=v;this.callEach(&quot;setVisible&quot;,[!v])},show:function(){this.setHidden(false)},hide:function(){this.setHidden(true)},isHidden:function(){return this.initialConfig.hidden},setHandler:function(fn,_7){this.initialConfig.handler=fn;this.initialConfig.scope=_7;this.callEach(&quot;setHandler&quot;,[fn,_7])},each:function(fn,_9){Ext.each(this.items,fn,_9)},callEach:function(_a,_b){var cs=this.items;for(var i=0,_e=cs.length;i&lt;_e;i++){cs[i][_a].apply(cs[i],_b)}},addComponent:function(_f){this.items.push(_f);_f.on(&quot;destroy&quot;,this.removeComponent,this)},removeComponent:function(_10){this.items.remove(_10)},execute:function(){this.initialConfig.handler.apply(this.initialConfig.scope||window,arguments)}};(function(){Ext.Layer=function(_1,_2){_1=_1||{};var dh=Ext.DomHelper;var cp=_1.parentEl,_5=cp?Ext.getDom(cp):document.body;if(_2){this.dom=Ext.getDom(_2)}if(!this.dom){var o=_1.dh||{tag:&quot;div&quot;,cls:&quot;x-layer&quot;};this.dom=dh.append(_5,o)}if(_1.cls){this.addClass(_1.cls)}this.constrain=_1.constrain!==false;this.visibilityMode=Ext.Element.VISIBILITY;if(_1.id){this.id=this.dom.id=_1.id}else{this.id=Ext.id(this.dom)}this.zindex=_1.zindex||this.getZIndex();this.position(&quot;absolute&quot;,this.zindex);if(_1.shadow){this.shadowOffset=_1.shadowOffset||4;this.shadow=new Ext.Shadow({offset:this.shadowOffset,mode:_1.shadow})}else{this.shadowOffset=0}this.useShim=_1.shim!==false&amp;&amp;Ext.useShims;this.useDisplay=_1.useDisplay;this.hide()};var _7=Ext.Element.prototype;var _8=[];Ext.extend(Ext.Layer,Ext.Element,{getZIndex:function(){return this.zindex||parseInt(this.getStyle(&quot;z-index&quot;),10)||11000},getShim:function(){if(!this.useShim){return null}if(this.shim){return this.shim}var _9=_8.shift();if(!_9){_9=this.createShim();_9.enableDisplayMode(&quot;block&quot;);_9.dom.style.display=&quot;none&quot;;_9.dom.style.visibility=&quot;visible&quot;}var pn=this.dom.parentNode;if(_9.dom.parentNode!=pn){pn.insertBefore(_9.dom,this.dom)}_9.setStyle(&quot;z-index&quot;,this.getZIndex()-2);this.shim=_9;return _9},hideShim:function(){if(this.shim){this.shim.setDisplayed(false);_8.push(this.shim);delete this.shim}},disableShadow:function(){if(this.shadow){this.shadowDisabled=true;this.shadow.hide();this.lastShadowOffset=this.shadowOffset;this.shadowOffset=0}},enableShadow:function(_b){if(this.shadow){this.shadowDisabled=false;this.shadowOffset=this.lastShadowOffset;delete this.lastShadowOffset;if(_b){this.sync(true)}}},sync:function(_c){var sw=this.shadow;if(!this.updating&amp;&amp;this.isVisible()&amp;&amp;(sw||this.useShim)){var sh=this.getShim();var w=this.getWidth(),h=this.getHeight();var l=this.getLeft(true),t=this.getTop(true);if(sw&amp;&amp;!this.shadowDisabled){if(_c&amp;&amp;!sw.isVisible()){sw.show(this)}else{sw.realign(l,t,w,h)}if(sh){if(_c){sh.show()}var a=sw.adjusts,s=sh.dom.style;s.left=(Math.min(l,l+a.l))+&quot;px&quot;;s.top=(Math.min(t,t+a.t))+&quot;px&quot;;s.width=(w+a.w)+&quot;px&quot;;s.height=(h+a.h)+&quot;px&quot;}}else{if(sh){if(_c){sh.show()}sh.setSize(w,h);sh.setLeftTop(l,t)}}}},destroy:function(){this.hideShim();if(this.shadow){this.shadow.hide()}this.removeAllListeners();Ext.removeNode(this.dom);Ext.Element.uncache(this.id)},remove:function(){this.destroy()},beginUpdate:function(){this.updating=true},endUpdate:function(){this.updating=false;this.sync(true)},hideUnders:function(_15){if(this.shadow){this.shadow.hide()}this.hideShim()},constrainXY:function(){if(this.constrain){var vw=Ext.lib.Dom.getViewWidth(),vh=Ext.lib.Dom.getViewHeight();var s=Ext.getDoc().getScroll();var xy=this.getXY();var x=xy[0],y=xy[1];var w=this.dom.offsetWidth+this.shadowOffset,h=this.dom.offsetHeight+this.shadowOffset;var _1e=false;if((x+w)&gt;vw+s.left){x=vw-w-this.shadowOffset;_1e=true}if((y+h)&gt;vh+s.top){y=vh-h-this.shadowOffset;_1e=true}if(x&lt;s.left){x=s.left;_1e=true}if(y&lt;s.top){y=s.top;_1e=true}if(_1e){if(this.avoidY){var ay=this.avoidY;if(y&lt;=ay&amp;&amp;(y+h)&gt;=ay){y=ay-h-5}}xy=[x,y];this.storeXY(xy);_7.setXY.call(this,xy);this.sync()}}},isVisible:function(){return this.visible},showAction:function(){this.visible=true;if(this.useDisplay===true){this.setDisplayed(&quot;&quot;)}else{if(this.lastXY){_7.setXY.call(this,this.lastXY)}else{if(this.lastLT){_7.setLeftTop.call(this,this.lastLT[0],this.lastLT[1])}}}},hideAction:function(){this.visible=false;if(this.useDisplay===true){this.setDisplayed(false)}else{this.setLeftTop(-10000,-10000)}},setVisible:function(v,a,d,c,e){if(v){this.showAction()}if(a&amp;&amp;v){var cb=function(){this.sync(true);if(c){c()}}.createDelegate(this);_7.setVisible.call(this,true,true,d,cb,e)}else{if(!v){this.hideUnders(true)}var cb=c;if(a){cb=function(){this.hideAction();if(c){c()}}.createDelegate(this)}_7.setVisible.call(this,v,a,d,cb,e);if(v){this.sync(true)}else{if(!a){this.hideAction()}}}},storeXY:function(xy){delete this.lastLT;this.lastXY=xy},storeLeftTop:function(_27,top){delete this.lastXY;this.lastLT=[_27,top]},beforeFx:function(){this.beforeAction();return Ext.Layer.superclass.beforeFx.apply(this,arguments)},afterFx:function(){Ext.Layer.superclass.afterFx.apply(this,arguments);this.sync(this.isVisible())},beforeAction:function(){if(!this.updating&amp;&amp;this.shadow){this.shadow.hide()}},setLeft:function(_29){this.storeLeftTop(_29,this.getTop(true));_7.setLeft.apply(this,arguments);this.sync()},setTop:function(top){this.storeLeftTop(this.getLeft(true),top);_7.setTop.apply(this,arguments);this.sync()},setLeftTop:function(_2b,top){this.storeLeftTop(_2b,top);_7.setLeftTop.apply(this,arguments);this.sync()},setXY:function(xy,a,d,c,e){this.fixDisplay();this.beforeAction();this.storeXY(xy);var cb=this.createCB(c);
-_7.setXY.call(this,xy,a,d,cb,e);if(!a){cb()}},createCB:function(c){var el=this;return function(){el.constrainXY();el.sync(true);if(c){c()}}},setX:function(x,a,d,c,e){this.setXY([x,this.getY()],a,d,c,e)},setY:function(y,a,d,c,e){this.setXY([this.getX(),y],a,d,c,e)},setSize:function(w,h,a,d,c,e){this.beforeAction();var cb=this.createCB(c);_7.setSize.call(this,w,h,a,d,cb,e);if(!a){cb()}},setWidth:function(w,a,d,c,e){this.beforeAction();var cb=this.createCB(c);_7.setWidth.call(this,w,a,d,cb,e);if(!a){cb()}},setHeight:function(h,a,d,c,e){this.beforeAction();var cb=this.createCB(c);_7.setHeight.call(this,h,a,d,cb,e);if(!a){cb()}},setBounds:function(x,y,w,h,a,d,c,e){this.beforeAction();var cb=this.createCB(c);if(!a){this.storeXY([x,y]);_7.setXY.call(this,[x,y]);_7.setSize.call(this,w,h,a,d,cb,e);cb()}else{_7.setBounds.call(this,x,y,w,h,a,d,cb,e)}return this},setZIndex:function(_5b){this.zindex=_5b;this.setStyle(&quot;z-index&quot;,_5b+2);if(this.shadow){this.shadow.setZIndex(_5b+1)}if(this.shim){this.shim.setStyle(&quot;z-index&quot;,_5b)}}})})();Ext.Shadow=function(_1){Ext.apply(this,_1);if(typeof this.mode!=&quot;string&quot;){this.mode=this.defaultMode}var o=this.offset,a={h:0};var _4=Math.floor(this.offset/2);switch(this.mode.toLowerCase()){case&quot;drop&quot;:a.w=0;a.l=a.t=o;a.t-=1;if(Ext.isIE){a.l-=this.offset+_4;a.t-=this.offset+_4;a.w-=_4;a.h-=_4;a.t+=1}break;case&quot;sides&quot;:a.w=(o*2);a.l=-o;a.t=o-1;if(Ext.isIE){a.l-=(this.offset-_4);a.t-=this.offset+_4;a.l+=1;a.w-=(this.offset-_4)*2;a.w-=_4+1;a.h-=1}break;case&quot;frame&quot;:a.w=a.h=(o*2);a.l=a.t=-o;a.t+=1;a.h-=2;if(Ext.isIE){a.l-=(this.offset-_4);a.t-=(this.offset-_4);a.l+=1;a.w-=(this.offset+_4+1);a.h-=(this.offset+_4);a.h+=1}break}this.adjusts=a};Ext.Shadow.prototype={offset:4,defaultMode:&quot;drop&quot;,show:function(_5){_5=Ext.get(_5);if(!this.el){this.el=Ext.Shadow.Pool.pull();if(this.el.dom.nextSibling!=_5.dom){this.el.insertBefore(_5)}}this.el.setStyle(&quot;z-index&quot;,this.zIndex||parseInt(_5.getStyle(&quot;z-index&quot;),10)-1);if(Ext.isIE){this.el.dom.style.filter=&quot;progid:DXImageTransform.Microsoft.alpha(opacity=50) progid:DXImageTransform.Microsoft.Blur(pixelradius=&quot;+(this.offset)+&quot;)&quot;}this.realign(_5.getLeft(true),_5.getTop(true),_5.getWidth(),_5.getHeight());this.el.dom.style.display=&quot;block&quot;},isVisible:function(){return this.el?true:false},realign:function(l,t,w,h){if(!this.el){return}var a=this.adjusts,d=this.el.dom,s=d.style;var _d=0;s.left=(l+a.l)+&quot;px&quot;;s.top=(t+a.t)+&quot;px&quot;;var sw=(w+a.w),sh=(h+a.h),sws=sw+&quot;px&quot;,shs=sh+&quot;px&quot;;if(s.width!=sws||s.height!=shs){s.width=sws;s.height=shs;if(!Ext.isIE){var cn=d.childNodes;var sww=Math.max(0,(sw-12))+&quot;px&quot;;cn[0].childNodes[1].style.width=sww;cn[1].childNodes[1].style.width=sww;cn[2].childNodes[1].style.width=sww;cn[1].style.height=Math.max(0,(sh-12))+&quot;px&quot;}}},hide:function(){if(this.el){this.el.dom.style.display=&quot;none&quot;;Ext.Shadow.Pool.push(this.el);delete this.el}},setZIndex:function(z){this.zIndex=z;if(this.el){this.el.setStyle(&quot;z-index&quot;,z)}}};Ext.Shadow.Pool=function(){var p=[];var _16=Ext.isIE?'&lt;div class=&quot;x-ie-shadow&quot;&gt;&lt;/div&gt;':'&lt;div class=&quot;x-shadow&quot;&gt;&lt;div class=&quot;xst&quot;&gt;&lt;div class=&quot;xstl&quot;&gt;&lt;/div&gt;&lt;div class=&quot;xstc&quot;&gt;&lt;/div&gt;&lt;div class=&quot;xstr&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;xsc&quot;&gt;&lt;div class=&quot;xsml&quot;&gt;&lt;/div&gt;&lt;div class=&quot;xsmc&quot;&gt;&lt;/div&gt;&lt;div class=&quot;xsmr&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;xsb&quot;&gt;&lt;div class=&quot;xsbl&quot;&gt;&lt;/div&gt;&lt;div class=&quot;xsbc&quot;&gt;&lt;/div&gt;&lt;div class=&quot;xsbr&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;';return{pull:function(){var sh=p.shift();if(!sh){sh=Ext.get(Ext.DomHelper.insertHtml(&quot;beforeBegin&quot;,document.body.firstChild,_16));sh.autoBoxAdjust=false}return sh},push:function(sh){p.push(sh)}}}();Ext.BoxComponent=Ext.extend(Ext.Component,{initComponent:function(){Ext.BoxComponent.superclass.initComponent.call(this);this.addEvents(&quot;resize&quot;,&quot;move&quot;)},boxReady:false,deferHeight:false,setSize:function(w,h){if(typeof w==&quot;object&quot;){h=w.height;w=w.width}if(!this.boxReady){this.width=w;this.height=h;return this}if(this.lastSize&amp;&amp;this.lastSize.width==w&amp;&amp;this.lastSize.height==h){return this}this.lastSize={width:w,height:h};var _3=this.adjustSize(w,h);var aw=_3.width,ah=_3.height;if(aw!==undefined||ah!==undefined){var rz=this.getResizeEl();if(!this.deferHeight&amp;&amp;aw!==undefined&amp;&amp;ah!==undefined){rz.setSize(aw,ah)}else{if(!this.deferHeight&amp;&amp;ah!==undefined){rz.setHeight(ah)}else{if(aw!==undefined){rz.setWidth(aw)}}}this.onResize(aw,ah,w,h);this.fireEvent(&quot;resize&quot;,this,aw,ah,w,h)}return this},setWidth:function(_7){return this.setSize(_7)},setHeight:function(_8){return this.setSize(undefined,_8)},getSize:function(){return this.el.getSize()},getPosition:function(_9){if(_9===true){return[this.el.getLeft(true),this.el.getTop(true)]}return this.xy||this.el.getXY()},getBox:function(_a){var s=this.el.getSize();if(_a===true){s.x=this.el.getLeft(true);s.y=this.el.getTop(true)}else{var xy=this.xy||this.el.getXY();s.x=xy[0];s.y=xy[1]}return s},updateBox:function(_d){this.setSize(_d.width,_d.height);this.setPagePosition(_d.x,_d.y);return this},getResizeEl:function(){return this.resizeEl||this.el},getPositionEl:function(){return this.positionEl||this.el},setPosition:function(x,y){if(x&amp;&amp;typeof x[1]==&quot;number&quot;){y=x[1];x=x[0]}this.x=x;this.y=y;if(!this.boxReady){return this}var adj=this.adjustPosition(x,y);var ax=adj.x,ay=adj.y;var el=this.getPositionEl();if(ax!==undefined||ay!==undefined){if(ax!==undefined&amp;&amp;ay!==undefined){el.setLeftTop(ax,ay)}else{if(ax!==undefined){el.setLeft(ax)}else{if(ay!==undefined){el.setTop(ay)}}}this.onPosition(ax,ay);this.fireEvent(&quot;move&quot;,this,ax,ay)}return this},setPagePosition:function(x,y){if(x&amp;&amp;typeof x[1]==&quot;number&quot;){y=x[1];x=x[0]}this.pageX=x;this.pageY=y;if(!this.boxReady){return}if(x===undefined||y===undefined){return}var p=this.el.translatePoints(x,y);this.setPosition(p.left,p.top);return this},onRender:function(ct,_18){Ext.BoxComponent.superclass.onRender.call(this,ct,_18);if(this.resizeEl){this.resizeEl=Ext.get(this.resizeEl)}if(this.positionEl){this.positionEl=Ext.get(this.positionEl)}},afterRender:function(){Ext.BoxComponent.superclass.afterRender.call(this);this.boxReady=true;this.setSize(this.width,this.height);if(this.x||this.y){this.setPosition(this.x,this.y)}else{if(this.pageX||this.pageY){this.setPagePosition(this.pageX,this.pageY)}}},syncSize:function(){delete this.lastSize;this.setSize(this.autoWidth?undefined:this.el.getWidth(),this.autoHeight?undefined:this.el.getHeight());return this},onResize:function(_19,_1a,_1b,_1c){},onPosition:function(x,y){},adjustSize:function(w,h){if(this.autoWidth){w=&quot;auto&quot;}if(this.autoHeight){h=&quot;auto&quot;}return{width:w,height:h}},adjustPosition:function(x,y){return{x:x,y:y}}});Ext.reg(&quot;box&quot;,Ext.BoxComponent);Ext.SplitBar=function(_1,_2,_3,_4,_5){this.el=Ext.get(_1,true);this.el.dom.unselectable=&quot;on&quot;;this.resizingEl=Ext.get(_2,true);this.orientation=_3||Ext.SplitBar.HORIZONTAL;this.minSize=0;this.maxSize=2000;this.animate=false;this.useShim=false;this.shim=null;if(!_5){this.proxy=Ext.SplitBar.createProxy(this.orientation)}else{this.proxy=Ext.get(_5).dom}this.dd=new Ext.dd.DDProxy(this.el.dom.id,&quot;XSplitBars&quot;,{dragElId:this.proxy.id});this.dd.b4StartDrag=this.onStartProxyDrag.createDelegate(this);this.dd.endDrag=this.onEndProxyDrag.createDelegate(this);this.dragSpecs={};this.adapter=new Ext.SplitBar.BasicLayoutAdapter();this.adapter.init(this);if(this.orientation==Ext.SplitBar.HORIZONTAL){this.placement=_4||(this.el.getX()&gt;this.resizingEl.getX()?Ext.SplitBar.LEFT:Ext.SplitBar.RIGHT);this.el.addClass(&quot;x-splitbar-h&quot;)}else{this.placement=_4||(this.el.getY()&gt;this.resizingEl.getY()?Ext.SplitBar.TOP:Ext.SplitBar.BOTTOM);this.el.addClass(&quot;x-splitbar-v&quot;)}this.addEvents(&quot;resize&quot;,&quot;moved&quot;,&quot;beforeresize&quot;,&quot;beforeapply&quot;);Ext.SplitBar.superclass.constructor.call(this)};Ext.extend(Ext.SplitBar,Ext.util.Observable,{onStartProxyDrag:function(x,y){this.fireEvent(&quot;beforeresize&quot;,this);this.overlay=Ext.DomHelper.append(document.body,{cls:&quot;x-drag-overlay&quot;,html:&quot;&amp;#160;&quot;},true);this.overlay.unselectable();this.overlay.setSize(Ext.lib.Dom.getViewWidth(true),Ext.lib.Dom.getViewHeight(true));this.overlay.show();Ext.get(this.proxy).setDisplayed(&quot;block&quot;);var _8=this.adapter.getElementSize(this);
-this.activeMinSize=this.getMinimumSize();this.activeMaxSize=this.getMaximumSize();var c1=_8-this.activeMinSize;var c2=Math.max(this.activeMaxSize-_8,0);if(this.orientation==Ext.SplitBar.HORIZONTAL){this.dd.resetConstraints();this.dd.setXConstraint(this.placement==Ext.SplitBar.LEFT?c1:c2,this.placement==Ext.SplitBar.LEFT?c2:c1);this.dd.setYConstraint(0,0)}else{this.dd.resetConstraints();this.dd.setXConstraint(0,0);this.dd.setYConstraint(this.placement==Ext.SplitBar.TOP?c1:c2,this.placement==Ext.SplitBar.TOP?c2:c1)}this.dragSpecs.startSize=_8;this.dragSpecs.startPoint=[x,y];Ext.dd.DDProxy.prototype.b4StartDrag.call(this.dd,x,y)},onEndProxyDrag:function(e){Ext.get(this.proxy).setDisplayed(false);var _c=Ext.lib.Event.getXY(e);if(this.overlay){Ext.destroy(this.overlay);delete this.overlay}var _d;if(this.orientation==Ext.SplitBar.HORIZONTAL){_d=this.dragSpecs.startSize+(this.placement==Ext.SplitBar.LEFT?_c[0]-this.dragSpecs.startPoint[0]:this.dragSpecs.startPoint[0]-_c[0])}else{_d=this.dragSpecs.startSize+(this.placement==Ext.SplitBar.TOP?_c[1]-this.dragSpecs.startPoint[1]:this.dragSpecs.startPoint[1]-_c[1])}_d=Math.min(Math.max(_d,this.activeMinSize),this.activeMaxSize);if(_d!=this.dragSpecs.startSize){if(this.fireEvent(&quot;beforeapply&quot;,this,_d)!==false){this.adapter.setElementSize(this,_d);this.fireEvent(&quot;moved&quot;,this,_d);this.fireEvent(&quot;resize&quot;,this,_d)}}},getAdapter:function(){return this.adapter},setAdapter:function(_e){this.adapter=_e;this.adapter.init(this)},getMinimumSize:function(){return this.minSize},setMinimumSize:function(_f){this.minSize=_f},getMaximumSize:function(){return this.maxSize},setMaximumSize:function(_10){this.maxSize=_10},setCurrentSize:function(_11){var _12=this.animate;this.animate=false;this.adapter.setElementSize(this,_11);this.animate=_12},destroy:function(_13){if(this.shim){this.shim.remove()}this.dd.unreg();Ext.destroy(Ext.get(this.proxy));if(_13){this.el.remove()}}});Ext.SplitBar.createProxy=function(dir){var _15=new Ext.Element(document.createElement(&quot;div&quot;));_15.unselectable();var cls=&quot;x-splitbar-proxy&quot;;_15.addClass(cls+&quot; &quot;+(dir==Ext.SplitBar.HORIZONTAL?cls+&quot;-h&quot;:cls+&quot;-v&quot;));document.body.appendChild(_15.dom);return _15.dom};Ext.SplitBar.BasicLayoutAdapter=function(){};Ext.SplitBar.BasicLayoutAdapter.prototype={init:function(s){},getElementSize:function(s){if(s.orientation==Ext.SplitBar.HORIZONTAL){return s.resizingEl.getWidth()}else{return s.resizingEl.getHeight()}},setElementSize:function(s,_1a,_1b){if(s.orientation==Ext.SplitBar.HORIZONTAL){if(!s.animate){s.resizingEl.setWidth(_1a);if(_1b){_1b(s,_1a)}}else{s.resizingEl.setWidth(_1a,true,0.1,_1b,&quot;easeOut&quot;)}}else{if(!s.animate){s.resizingEl.setHeight(_1a);if(_1b){_1b(s,_1a)}}else{s.resizingEl.setHeight(_1a,true,0.1,_1b,&quot;easeOut&quot;)}}}};Ext.SplitBar.AbsoluteLayoutAdapter=function(_1c){this.basic=new Ext.SplitBar.BasicLayoutAdapter();this.container=Ext.get(_1c)};Ext.SplitBar.AbsoluteLayoutAdapter.prototype={init:function(s){this.basic.init(s)},getElementSize:function(s){return this.basic.getElementSize(s)},setElementSize:function(s,_20,_21){this.basic.setElementSize(s,_20,this.moveSplitter.createDelegate(this,[s]))},moveSplitter:function(s){var yes=Ext.SplitBar;switch(s.placement){case yes.LEFT:s.el.setX(s.resizingEl.getRight());break;case yes.RIGHT:s.el.setStyle(&quot;right&quot;,(this.container.getWidth()-s.resizingEl.getLeft())+&quot;px&quot;);break;case yes.TOP:s.el.setY(s.resizingEl.getBottom());break;case yes.BOTTOM:s.el.setY(s.resizingEl.getTop()-s.el.getHeight());break}}};Ext.SplitBar.VERTICAL=1;Ext.SplitBar.HORIZONTAL=2;Ext.SplitBar.LEFT=1;Ext.SplitBar.RIGHT=2;Ext.SplitBar.TOP=3;Ext.SplitBar.BOTTOM=4;Ext.Container=Ext.extend(Ext.BoxComponent,{autoDestroy:true,defaultType:&quot;panel&quot;,initComponent:function(){Ext.Container.superclass.initComponent.call(this);this.addEvents(&quot;afterlayout&quot;,&quot;beforeadd&quot;,&quot;beforeremove&quot;,&quot;add&quot;,&quot;remove&quot;);var _1=this.items;if(_1){delete this.items;if(Ext.isArray(_1)&amp;&amp;_1.length&gt;0){this.add.apply(this,_1)}else{this.add(_1)}}},initItems:function(){if(!this.items){this.items=new Ext.util.MixedCollection(false,this.getComponentId);this.getLayout()}},setLayout:function(_2){if(this.layout&amp;&amp;this.layout!=_2){this.layout.setContainer(null)}this.initItems();this.layout=_2;_2.setContainer(this)},render:function(){Ext.Container.superclass.render.apply(this,arguments);if(this.layout){if(typeof this.layout==&quot;string&quot;){this.layout=new Ext.Container.LAYOUTS[this.layout.toLowerCase()](this.layoutConfig)}this.setLayout(this.layout);if(this.activeItem!==undefined){var _3=this.activeItem;delete this.activeItem;this.layout.setActiveItem(_3);return}}if(!this.ownerCt){this.doLayout()}if(this.monitorResize===true){Ext.EventManager.onWindowResize(this.doLayout,this,[false])}},getLayoutTarget:function(){return this.el},getComponentId:function(_4){return _4.itemId||_4.id},add:function(_5){if(!this.items){this.initItems()}var a=arguments,_7=a.length;if(_7&gt;1){for(var i=0;i&lt;_7;i++){this.add(a[i])}return}var c=this.lookupComponent(this.applyDefaults(_5));var _a=this.items.length;if(this.fireEvent(&quot;beforeadd&quot;,this,c,_a)!==false&amp;&amp;this.onBeforeAdd(c)!==false){this.items.add(c);c.ownerCt=this;this.fireEvent(&quot;add&quot;,this,c,_a)}return c},insert:function(_b,_c){if(!this.items){this.initItems()}var a=arguments,_e=a.length;if(_e&gt;2){for(var i=_e-1;i&gt;=1;--i){this.insert(_b,a[i])}return}var c=this.lookupComponent(this.applyDefaults(_c));if(c.ownerCt==this&amp;&amp;this.items.indexOf(c)&lt;_b){--_b}if(this.fireEvent(&quot;beforeadd&quot;,this,c,_b)!==false&amp;&amp;this.onBeforeAdd(c)!==false){this.items.insert(_b,c);c.ownerCt=this;this.fireEvent(&quot;add&quot;,this,c,_b)}return c},applyDefaults:function(c){if(this.defaults){if(typeof c==&quot;string&quot;){c=Ext.ComponentMgr.get(c);Ext.apply(c,this.defaults)}else{if(!c.events){Ext.applyIf(c,this.defaults)}else{Ext.apply(c,this.defaults)}}}return c},onBeforeAdd:function(_12){if(_12.ownerCt){_12.ownerCt.remove(_12,false)}if(this.hideBorders===true){_12.border=(_12.border===true)}},remove:function(_13,_14){var c=this.getComponent(_13);if(c&amp;&amp;this.fireEvent(&quot;beforeremove&quot;,this,c)!==false){this.items.remove(c);delete c.ownerCt;if(_14===true||(_14!==false&amp;&amp;this.autoDestroy)){c.destroy()}if(this.layout&amp;&amp;this.layout.activeItem==c){delete this.layout.activeItem}this.fireEvent(&quot;remove&quot;,this,c)}return c},removeAll:function(_16){var _17,_18=[];while((_17=this.items.last())){_18.unshift(this.remove(_17,_16))}return _18},getComponent:function(_19){if(typeof _19==&quot;object&quot;){return _19}return this.items.get(_19)},lookupComponent:function(_1a){if(typeof _1a==&quot;string&quot;){return Ext.ComponentMgr.get(_1a)}else{if(!_1a.events){return this.createComponent(_1a)}}return _1a},createComponent:function(_1b){return Ext.ComponentMgr.create(_1b,this.defaultType)},doLayout:function(_1c){if(this.rendered&amp;&amp;this.layout){this.layout.layout()}if(_1c!==false&amp;&amp;this.items){var cs=this.items.items;for(var i=0,len=cs.length;i&lt;len;i++){var c=cs[i];if(c.doLayout){c.doLayout()}}}},getLayout:function(){if(!this.layout){var _21=new Ext.layout.ContainerLayout(this.layoutConfig);this.setLayout(_21)}return this.layout},beforeDestroy:function(){if(this.items){Ext.destroy.apply(Ext,this.items.items)}if(this.monitorResize){Ext.EventManager.removeResizeListener(this.doLayout,this)}if(this.layout&amp;&amp;this.layout.destroy){this.layout.destroy()}Ext.Container.superclass.beforeDestroy.call(this)},bubble:function(fn,_23,_24){var p=this;while(p){if(fn.apply(_23||p,_24||[p])===false){break}p=p.ownerCt}},cascade:function(fn,_27,_28){if(fn.apply(_27||this,_28||[this])!==false){if(this.items){var cs=this.items.items;for(var i=0,len=cs.length;i&lt;len;i++){if(cs[i].cascade){cs[i].cascade(fn,_27,_28)}else{fn.apply(_27||cs[i],_28||[cs[i]])}}}}},findById:function(id){var m,ct=this;this.cascade(function(c){if(ct!=c&amp;&amp;c.id===id){m=c;return false}});return m||null},findByType:function(_30,_31){return this.findBy(function(c){return c.isXType(_30,_31)})},find:function(_33,_34){return this.findBy(function(c){return c[_33]===_34})},findBy:function(fn,_37){var m=[],ct=this;this.cascade(function(c){if(ct!=c&amp;&amp;fn.call(_37||c,c,ct)===true){m.push(c)
-}});return m}});Ext.Container.LAYOUTS={};Ext.reg(&quot;container&quot;,Ext.Container);Ext.layout.ContainerLayout=function(_1){Ext.apply(this,_1)};Ext.layout.ContainerLayout.prototype={monitorResize:false,activeItem:null,layout:function(){var _2=this.container.getLayoutTarget();this.onLayout(this.container,_2);this.container.fireEvent(&quot;afterlayout&quot;,this.container,this)},onLayout:function(ct,_4){this.renderAll(ct,_4)},isValidParent:function(c,_6){var el=c.getPositionEl?c.getPositionEl():c.getEl();return el.dom.parentNode==_6.dom},renderAll:function(ct,_9){var _a=ct.items.items;for(var i=0,_c=_a.length;i&lt;_c;i++){var c=_a[i];if(c&amp;&amp;(!c.rendered||!this.isValidParent(c,_9))){this.renderItem(c,i,_9)}}},renderItem:function(c,_f,_10){if(c&amp;&amp;!c.rendered){c.render(_10,_f);if(this.extraCls){var t=c.getPositionEl?c.getPositionEl():c;t.addClass(this.extraCls)}if(this.renderHidden&amp;&amp;c!=this.activeItem){c.hide()}}else{if(c&amp;&amp;!this.isValidParent(c,_10)){if(this.extraCls){var t=c.getPositionEl?c.getPositionEl():c;t.addClass(this.extraCls)}if(typeof _f==&quot;number&quot;){_f=_10.dom.childNodes[_f]}_10.dom.insertBefore(c.getEl().dom,_f||null);if(this.renderHidden&amp;&amp;c!=this.activeItem){c.hide()}}}},onResize:function(){if(this.container.collapsed){return}var b=this.container.bufferResize;if(b){if(!this.resizeTask){this.resizeTask=new Ext.util.DelayedTask(this.layout,this);this.resizeBuffer=typeof b==&quot;number&quot;?b:100}this.resizeTask.delay(this.resizeBuffer)}else{this.layout()}},setContainer:function(ct){if(this.monitorResize&amp;&amp;ct!=this.container){if(this.container){this.container.un(&quot;resize&quot;,this.onResize,this)}if(ct){ct.on(&quot;resize&quot;,this.onResize,this)}}this.container=ct},parseMargins:function(v){var ms=v.split(&quot; &quot;);var len=ms.length;if(len==1){ms[1]=ms[0];ms[2]=ms[0];ms[3]=ms[0]}if(len==2){ms[2]=ms[0];ms[3]=ms[1]}return{top:parseInt(ms[0],10)||0,right:parseInt(ms[1],10)||0,bottom:parseInt(ms[2],10)||0,left:parseInt(ms[3],10)||0}},destroy:Ext.emptyFn};Ext.Container.LAYOUTS.auto=Ext.layout.ContainerLayout;Ext.layout.FitLayout=Ext.extend(Ext.layout.ContainerLayout,{monitorResize:true,onLayout:function(ct,_2){Ext.layout.FitLayout.superclass.onLayout.call(this,ct,_2);if(!this.container.collapsed){this.setItemSize(this.activeItem||ct.items.itemAt(0),_2.getStyleSize())}},setItemSize:function(_3,_4){if(_3&amp;&amp;_4.height&gt;0){_3.setSize(_4)}}});Ext.Container.LAYOUTS.fit=Ext.layout.FitLayout;Ext.layout.CardLayout=Ext.extend(Ext.layout.FitLayout,{deferredRender:false,renderHidden:true,setActiveItem:function(_1){_1=this.container.getComponent(_1);if(this.activeItem!=_1){if(this.activeItem){this.activeItem.hide()}this.activeItem=_1;_1.show();this.layout()}},renderAll:function(ct,_3){if(this.deferredRender){this.renderItem(this.activeItem,undefined,_3)}else{Ext.layout.CardLayout.superclass.renderAll.call(this,ct,_3)}}});Ext.Container.LAYOUTS.card=Ext.layout.CardLayout;Ext.layout.AnchorLayout=Ext.extend(Ext.layout.ContainerLayout,{monitorResize:true,getAnchorViewSize:function(ct,_2){return _2.dom==document.body?_2.getViewSize():_2.getStyleSize()},onLayout:function(ct,_4){Ext.layout.AnchorLayout.superclass.onLayout.call(this,ct,_4);var _5=this.getAnchorViewSize(ct,_4);var w=_5.width,h=_5.height;if(w&lt;20||h&lt;20){return}var aw,ah;if(ct.anchorSize){if(typeof ct.anchorSize==&quot;number&quot;){aw=ct.anchorSize}else{aw=ct.anchorSize.width;ah=ct.anchorSize.height}}else{aw=ct.initialConfig.width;ah=ct.initialConfig.height}var cs=ct.items.items,_b=cs.length,i,c,a,cw,ch;for(i=0;i&lt;_b;i++){c=cs[i];if(c.anchor){a=c.anchorSpec;if(!a){var vs=c.anchor.split(&quot; &quot;);c.anchorSpec=a={right:this.parseAnchor(vs[0],c.initialConfig.width,aw),bottom:this.parseAnchor(vs[1],c.initialConfig.height,ah)}}cw=a.right?this.adjustWidthAnchor(a.right(w),c):undefined;ch=a.bottom?this.adjustHeightAnchor(a.bottom(h),c):undefined;if(cw||ch){c.setSize(cw||undefined,ch||undefined)}}}},parseAnchor:function(a,_13,_14){if(a&amp;&amp;a!=&quot;none&quot;){var _15;if(/^(r|right|b|bottom)$/i.test(a)){var _16=_14-_13;return function(v){if(v!==_15){_15=v;return v-_16}}}else{if(a.indexOf(&quot;%&quot;)!=-1){var _18=parseFloat(a.replace(&quot;%&quot;,&quot;&quot;))*0.01;return function(v){if(v!==_15){_15=v;return Math.floor(v*_18)}}}else{a=parseInt(a,10);if(!isNaN(a)){return function(v){if(v!==_15){_15=v;return v+a}}}}}}return false},adjustWidthAnchor:function(_1b,_1c){return _1b},adjustHeightAnchor:function(_1d,_1e){return _1d}});Ext.Container.LAYOUTS.anchor=Ext.layout.AnchorLayout;Ext.layout.ColumnLayout=Ext.extend(Ext.layout.ContainerLayout,{monitorResize:true,extraCls:&quot;x-column&quot;,scrollOffset:0,isValidParent:function(c,_2){return(c.getPositionEl?c.getPositionEl():c.getEl()).dom.parentNode==this.innerCt.dom},onLayout:function(ct,_4){var cs=ct.items.items,_6=cs.length,c,i;if(!this.innerCt){_4.addClass(&quot;x-column-layout-ct&quot;);this.innerCt=_4.createChild({cls:&quot;x-column-inner&quot;});this.innerCt.createChild({cls:&quot;x-clear&quot;})}this.renderAll(ct,this.innerCt);var _9=Ext.isIE&amp;&amp;_4.dom!=Ext.getBody().dom?_4.getStyleSize():_4.getViewSize();if(_9.width&lt;1&amp;&amp;_9.height&lt;1){return}var w=_9.width-_4.getPadding(&quot;lr&quot;)-this.scrollOffset,h=_9.height-_4.getPadding(&quot;tb&quot;),pw=w;this.innerCt.setWidth(w);for(i=0;i&lt;_6;i++){c=cs[i];if(!c.columnWidth){pw-=(c.getSize().width+c.getEl().getMargins(&quot;lr&quot;))}}pw=pw&lt;0?0:pw;for(i=0;i&lt;_6;i++){c=cs[i];if(c.columnWidth){c.setSize(Math.floor(c.columnWidth*pw)-c.getEl().getMargins(&quot;lr&quot;))}}}});Ext.Container.LAYOUTS.column=Ext.layout.ColumnLayout;Ext.layout.BorderLayout=Ext.extend(Ext.layout.ContainerLayout,{monitorResize:true,rendered:false,onLayout:function(ct,_2){var _3;if(!this.rendered){_2.position();_2.addClass(&quot;x-border-layout-ct&quot;);var _4=ct.items.items;_3=[];for(var i=0,_6=_4.length;i&lt;_6;i++){var c=_4[i];var _8=c.region;if(c.collapsed){_3.push(c)}c.collapsed=false;if(!c.rendered){c.cls=c.cls?c.cls+&quot; x-border-panel&quot;:&quot;x-border-panel&quot;;c.render(_2,i)}this[_8]=_8!=&quot;center&quot;&amp;&amp;c.split?new Ext.layout.BorderLayout.SplitRegion(this,c.initialConfig,_8):new Ext.layout.BorderLayout.Region(this,c.initialConfig,_8);this[_8].render(_2,c)}this.rendered=true}var _9=_2.getViewSize();if(_9.width&lt;20||_9.height&lt;20){if(_3){this.restoreCollapsed=_3}return}else{if(this.restoreCollapsed){_3=this.restoreCollapsed;delete this.restoreCollapsed}}var w=_9.width,h=_9.height;var _c=w,_d=h,_e=0,_f=0;var n=this.north,s=this.south,_12=this.west,e=this.east,c=this.center;if(!c&amp;&amp;Ext.layout.BorderLayout.WARN!==false){throw&quot;No center region defined in BorderLayout &quot;+ct.id}if(n&amp;&amp;n.isVisible()){var b=n.getSize();var m=n.getMargins();b.width=w-(m.left+m.right);b.x=m.left;b.y=m.top;_e=b.height+b.y+m.bottom;_d-=_e;n.applyLayout(b)}if(s&amp;&amp;s.isVisible()){var b=s.getSize();var m=s.getMargins();b.width=w-(m.left+m.right);b.x=m.left;var _16=(b.height+m.top+m.bottom);b.y=h-_16+m.top;_d-=_16;s.applyLayout(b)}if(_12&amp;&amp;_12.isVisible()){var b=_12.getSize();var m=_12.getMargins();b.height=_d-(m.top+m.bottom);b.x=m.left;b.y=_e+m.top;var _17=(b.width+m.left+m.right);_f+=_17;_c-=_17;_12.applyLayout(b)}if(e&amp;&amp;e.isVisible()){var b=e.getSize();var m=e.getMargins();b.height=_d-(m.top+m.bottom);var _17=(b.width+m.left+m.right);b.x=w-_17+m.left;b.y=_e+m.top;_c-=_17;e.applyLayout(b)}if(c){var m=c.getMargins();var _18={x:_f+m.left,y:_e+m.top,width:_c-(m.left+m.right),height:_d-(m.top+m.bottom)};c.applyLayout(_18)}if(_3){for(var i=0,_6=_3.length;i&lt;_6;i++){_3[i].collapse(false)}}if(Ext.isIE&amp;&amp;Ext.isStrict){_2.repaint()}},destroy:function(){var r=[&quot;north&quot;,&quot;south&quot;,&quot;east&quot;,&quot;west&quot;];for(var i=0;i&lt;r.length;i++){var _1b=this[r[i]];if(_1b){if(_1b.destroy){_1b.destroy()}else{if(_1b.split){_1b.split.destroy(true)}}}}Ext.layout.BorderLayout.superclass.destroy.call(this)}});Ext.layout.BorderLayout.Region=function(_1c,_1d,pos){Ext.apply(this,_1d);this.layout=_1c;this.position=pos;this.state={};if(typeof this.margins==&quot;string&quot;){this.margins=this.layout.parseMargins(this.margins)}this.margins=Ext.applyIf(this.margins||{},this.defaultMargins);if(this.collapsible){if(typeof this.cmargins==&quot;string&quot;){this.cmargins=this.layout.parseMargins(this.cmargins)}if(this.collapseMode==&quot;mini&quot;&amp;&amp;!this.cmargins){this.cmargins={left:0,top:0,right:0,bottom:0}
-}else{this.cmargins=Ext.applyIf(this.cmargins||{},pos==&quot;north&quot;||pos==&quot;south&quot;?this.defaultNSCMargins:this.defaultEWCMargins)}}};Ext.layout.BorderLayout.Region.prototype={collapsible:false,split:false,floatable:true,minWidth:50,minHeight:50,defaultMargins:{left:0,top:0,right:0,bottom:0},defaultNSCMargins:{left:5,top:5,right:5,bottom:5},defaultEWCMargins:{left:5,top:0,right:5,bottom:0},isCollapsed:false,render:function(ct,p){this.panel=p;p.el.enableDisplayMode();this.targetEl=ct;this.el=p.el;var gs=p.getState,ps=this.position;p.getState=function(){return Ext.apply(gs.call(p)||{},this.state)}.createDelegate(this);if(ps!=&quot;center&quot;){p.allowQueuedExpand=false;p.on({beforecollapse:this.beforeCollapse,collapse:this.onCollapse,beforeexpand:this.beforeExpand,expand:this.onExpand,hide:this.onHide,show:this.onShow,scope:this});if(this.collapsible||this.floatable){p.collapseEl=&quot;el&quot;;p.slideAnchor=this.getSlideAnchor()}if(p.tools&amp;&amp;p.tools.toggle){p.tools.toggle.addClass(&quot;x-tool-collapse-&quot;+ps);p.tools.toggle.addClassOnOver(&quot;x-tool-collapse-&quot;+ps+&quot;-over&quot;)}}},getCollapsedEl:function(){if(!this.collapsedEl){if(!this.toolTemplate){var tt=new Ext.Template('&lt;div class=&quot;x-tool x-tool-{id}&quot;&gt;&amp;#160;&lt;/div&gt;');tt.disableFormats=true;tt.compile();Ext.layout.BorderLayout.Region.prototype.toolTemplate=tt}this.collapsedEl=this.targetEl.createChild({cls:&quot;x-layout-collapsed x-layout-collapsed-&quot;+this.position,id:this.panel.id+&quot;-xcollapsed&quot;});this.collapsedEl.enableDisplayMode(&quot;block&quot;);if(this.collapseMode==&quot;mini&quot;){this.collapsedEl.addClass(&quot;x-layout-cmini-&quot;+this.position);this.miniCollapsedEl=this.collapsedEl.createChild({cls:&quot;x-layout-mini x-layout-mini-&quot;+this.position,html:&quot;&amp;#160;&quot;});this.miniCollapsedEl.addClassOnOver(&quot;x-layout-mini-over&quot;);this.collapsedEl.addClassOnOver(&quot;x-layout-collapsed-over&quot;);this.collapsedEl.on(&quot;click&quot;,this.onExpandClick,this,{stopEvent:true})}else{if(this.collapsible!==false&amp;&amp;!this.hideCollapseTool){var t=this.toolTemplate.append(this.collapsedEl.dom,{id:&quot;expand-&quot;+this.position},true);t.addClassOnOver(&quot;x-tool-expand-&quot;+this.position+&quot;-over&quot;);t.on(&quot;click&quot;,this.onExpandClick,this,{stopEvent:true})}if(this.floatable!==false||this.titleCollapse){this.collapsedEl.addClassOnOver(&quot;x-layout-collapsed-over&quot;);this.collapsedEl.on(&quot;click&quot;,this[this.floatable?&quot;collapseClick&quot;:&quot;onExpandClick&quot;],this)}}}return this.collapsedEl},onExpandClick:function(e){if(this.isSlid){this.afterSlideIn();this.panel.expand(false)}else{this.panel.expand()}},onCollapseClick:function(e){this.panel.collapse()},beforeCollapse:function(p,_28){this.lastAnim=_28;if(this.splitEl){this.splitEl.hide()}this.getCollapsedEl().show();this.panel.el.setStyle(&quot;z-index&quot;,100);this.isCollapsed=true;this.layout.layout()},onCollapse:function(_29){this.panel.el.setStyle(&quot;z-index&quot;,1);if(this.lastAnim===false||this.panel.animCollapse===false){this.getCollapsedEl().dom.style.visibility=&quot;visible&quot;}else{this.getCollapsedEl().slideIn(this.panel.slideAnchor,{duration:0.2})}this.state.collapsed=true;this.panel.saveState()},beforeExpand:function(_2a){var c=this.getCollapsedEl();this.el.show();if(this.position==&quot;east&quot;||this.position==&quot;west&quot;){this.panel.setSize(undefined,c.getHeight())}else{this.panel.setSize(c.getWidth(),undefined)}c.hide();c.dom.style.visibility=&quot;hidden&quot;;this.panel.el.setStyle(&quot;z-index&quot;,100)},onExpand:function(){this.isCollapsed=false;if(this.splitEl){this.splitEl.show()}this.layout.layout();this.panel.el.setStyle(&quot;z-index&quot;,1);this.state.collapsed=false;this.panel.saveState()},collapseClick:function(e){if(this.isSlid){e.stopPropagation();this.slideIn()}else{e.stopPropagation();this.slideOut()}},onHide:function(){if(this.isCollapsed){this.getCollapsedEl().hide()}else{if(this.splitEl){this.splitEl.hide()}}},onShow:function(){if(this.isCollapsed){this.getCollapsedEl().show()}else{if(this.splitEl){this.splitEl.show()}}},isVisible:function(){return !this.panel.hidden},getMargins:function(){return this.isCollapsed&amp;&amp;this.cmargins?this.cmargins:this.margins},getSize:function(){return this.isCollapsed?this.getCollapsedEl().getSize():this.panel.getSize()},setPanel:function(_2d){this.panel=_2d},getMinWidth:function(){return this.minWidth},getMinHeight:function(){return this.minHeight},applyLayoutCollapsed:function(box){var ce=this.getCollapsedEl();ce.setLeftTop(box.x,box.y);ce.setSize(box.width,box.height)},applyLayout:function(box){if(this.isCollapsed){this.applyLayoutCollapsed(box)}else{this.panel.setPosition(box.x,box.y);this.panel.setSize(box.width,box.height)}},beforeSlide:function(){this.panel.beforeEffect()},afterSlide:function(){this.panel.afterEffect()},initAutoHide:function(){if(this.autoHide!==false){if(!this.autoHideHd){var st=new Ext.util.DelayedTask(this.slideIn,this);this.autoHideHd={mouseout:function(e){if(!e.within(this.el,true)){st.delay(500)}},mouseover:function(e){st.cancel()},scope:this}}this.el.on(this.autoHideHd)}},clearAutoHide:function(){if(this.autoHide!==false){this.el.un(&quot;mouseout&quot;,this.autoHideHd.mouseout);this.el.un(&quot;mouseover&quot;,this.autoHideHd.mouseover)}},clearMonitor:function(){Ext.getDoc().un(&quot;click&quot;,this.slideInIf,this)},slideOut:function(){if(this.isSlid||this.el.hasActiveFx()){return}this.isSlid=true;var ts=this.panel.tools;if(ts&amp;&amp;ts.toggle){ts.toggle.hide()}this.el.show();if(this.position==&quot;east&quot;||this.position==&quot;west&quot;){this.panel.setSize(undefined,this.collapsedEl.getHeight())}else{this.panel.setSize(this.collapsedEl.getWidth(),undefined)}this.restoreLT=[this.el.dom.style.left,this.el.dom.style.top];this.el.alignTo(this.collapsedEl,this.getCollapseAnchor());this.el.setStyle(&quot;z-index&quot;,102);this.panel.el.replaceClass(&quot;x-panel-collapsed&quot;,&quot;x-panel-floating&quot;);if(this.animFloat!==false){this.beforeSlide();this.el.slideIn(this.getSlideAnchor(),{callback:function(){this.afterSlide();this.initAutoHide();Ext.getDoc().on(&quot;click&quot;,this.slideInIf,this)},scope:this,block:true})}else{this.initAutoHide();Ext.getDoc().on(&quot;click&quot;,this.slideInIf,this)}},afterSlideIn:function(){this.clearAutoHide();this.isSlid=false;this.clearMonitor();this.el.setStyle(&quot;z-index&quot;,&quot;&quot;);this.panel.el.replaceClass(&quot;x-panel-floating&quot;,&quot;x-panel-collapsed&quot;);this.el.dom.style.left=this.restoreLT[0];this.el.dom.style.top=this.restoreLT[1];var ts=this.panel.tools;if(ts&amp;&amp;ts.toggle){ts.toggle.show()}},slideIn:function(cb){if(!this.isSlid||this.el.hasActiveFx()){Ext.callback(cb);return}this.isSlid=false;if(this.animFloat!==false){this.beforeSlide();this.el.slideOut(this.getSlideAnchor(),{callback:function(){this.el.hide();this.afterSlide();this.afterSlideIn();Ext.callback(cb)},scope:this,block:true})}else{this.el.hide();this.afterSlideIn()}},slideInIf:function(e){if(!e.within(this.el)){this.slideIn()}},anchors:{west:&quot;left&quot;,east:&quot;right&quot;,north:&quot;top&quot;,south:&quot;bottom&quot;},sanchors:{west:&quot;l&quot;,east:&quot;r&quot;,north:&quot;t&quot;,south:&quot;b&quot;},canchors:{west:&quot;tl-tr&quot;,east:&quot;tr-tl&quot;,north:&quot;tl-bl&quot;,south:&quot;bl-tl&quot;},getAnchor:function(){return this.anchors[this.position]},getCollapseAnchor:function(){return this.canchors[this.position]},getSlideAnchor:function(){return this.sanchors[this.position]},getAlignAdj:function(){var cm=this.cmargins;switch(this.position){case&quot;west&quot;:return[0,0];break;case&quot;east&quot;:return[0,0];break;case&quot;north&quot;:return[0,0];break;case&quot;south&quot;:return[0,0];break}},getExpandAdj:function(){var c=this.collapsedEl,cm=this.cmargins;switch(this.position){case&quot;west&quot;:return[-(cm.right+c.getWidth()+cm.left),0];break;case&quot;east&quot;:return[cm.right+c.getWidth()+cm.left,0];break;case&quot;north&quot;:return[0,-(cm.top+cm.bottom+c.getHeight())];break;case&quot;south&quot;:return[0,cm.top+cm.bottom+c.getHeight()];break}}};Ext.layout.BorderLayout.SplitRegion=function(_3b,_3c,pos){Ext.layout.BorderLayout.SplitRegion.superclass.constructor.call(this,_3b,_3c,pos);this.applyLayout=this.applyFns[pos]};Ext.extend(Ext.layout.BorderLayout.SplitRegion,Ext.layout.BorderLayout.Region,{splitTip:&quot;Drag to resize.&quot;,collapsibleSplitTip:&quot;Drag to resize. Double click to hide.&quot;,useSplitTips:false,splitSettings:{north:{orientation:Ext.SplitBar.VERTICAL,placement:Ext.SplitBar.TOP,maxFn:&quot;getVMaxSize&quot;,minProp:&quot;minHeight&quot;,maxProp:&quot;maxHeight&quot;},south:{orientation:Ext.SplitBar.VERTICAL,placement:Ext.SplitBar.BOTTOM,maxFn:&quot;getVMaxSize&quot;,minProp:&quot;minHeight&quot;,maxProp:&quot;maxHeight&quot;},east:{orientation:Ext.SplitBar.HORIZONTAL,placement:Ext.SplitBar.RIGHT,maxFn:&quot;getHMaxSize&quot;,minProp:&quot;minWidth&quot;,maxProp:&quot;maxWidth&quot;},west:{orientation:Ext.SplitBar.HORIZONTAL,placement:Ext.SplitBar.LEFT,maxFn:&quot;getHMaxSize&quot;,minProp:&quot;minWidth&quot;,maxProp:&quot;maxWidth&quot;}},applyFns:{west:function(box){if(this.isCollapsed){return this.applyLayoutCollapsed(box)
-}var sd=this.splitEl.dom,s=sd.style;this.panel.setPosition(box.x,box.y);var sw=sd.offsetWidth;s.left=(box.x+box.width-sw)+&quot;px&quot;;s.top=(box.y)+&quot;px&quot;;s.height=Math.max(0,box.height)+&quot;px&quot;;this.panel.setSize(box.width-sw,box.height)},east:function(box){if(this.isCollapsed){return this.applyLayoutCollapsed(box)}var sd=this.splitEl.dom,s=sd.style;var sw=sd.offsetWidth;this.panel.setPosition(box.x+sw,box.y);s.left=(box.x)+&quot;px&quot;;s.top=(box.y)+&quot;px&quot;;s.height=Math.max(0,box.height)+&quot;px&quot;;this.panel.setSize(box.width-sw,box.height)},north:function(box){if(this.isCollapsed){return this.applyLayoutCollapsed(box)}var sd=this.splitEl.dom,s=sd.style;var sh=sd.offsetHeight;this.panel.setPosition(box.x,box.y);s.left=(box.x)+&quot;px&quot;;s.top=(box.y+box.height-sh)+&quot;px&quot;;s.width=Math.max(0,box.width)+&quot;px&quot;;this.panel.setSize(box.width,box.height-sh)},south:function(box){if(this.isCollapsed){return this.applyLayoutCollapsed(box)}var sd=this.splitEl.dom,s=sd.style;var sh=sd.offsetHeight;this.panel.setPosition(box.x,box.y+sh);s.left=(box.x)+&quot;px&quot;;s.top=(box.y)+&quot;px&quot;;s.width=Math.max(0,box.width)+&quot;px&quot;;this.panel.setSize(box.width,box.height-sh)}},render:function(ct,p){Ext.layout.BorderLayout.SplitRegion.superclass.render.call(this,ct,p);var ps=this.position;this.splitEl=ct.createChild({cls:&quot;x-layout-split x-layout-split-&quot;+ps,html:&quot;&amp;#160;&quot;,id:this.panel.id+&quot;-xsplit&quot;});if(this.collapseMode==&quot;mini&quot;){this.miniSplitEl=this.splitEl.createChild({cls:&quot;x-layout-mini x-layout-mini-&quot;+ps,html:&quot;&amp;#160;&quot;});this.miniSplitEl.addClassOnOver(&quot;x-layout-mini-over&quot;);this.miniSplitEl.on(&quot;click&quot;,this.onCollapseClick,this,{stopEvent:true})}var s=this.splitSettings[ps];this.split=new Ext.SplitBar(this.splitEl.dom,p.el,s.orientation);this.split.placement=s.placement;this.split.getMaximumSize=this[s.maxFn].createDelegate(this);this.split.minSize=this.minSize||this[s.minProp];this.split.on(&quot;beforeapply&quot;,this.onSplitMove,this);this.split.useShim=this.useShim===true;this.maxSize=this.maxSize||this[s.maxProp];if(p.hidden){this.splitEl.hide()}if(this.useSplitTips){this.splitEl.dom.title=this.collapsible?this.collapsibleSplitTip:this.splitTip}if(this.collapsible){this.splitEl.on(&quot;dblclick&quot;,this.onCollapseClick,this)}},getSize:function(){if(this.isCollapsed){return this.collapsedEl.getSize()}var s=this.panel.getSize();if(this.position==&quot;north&quot;||this.position==&quot;south&quot;){s.height+=this.splitEl.dom.offsetHeight}else{s.width+=this.splitEl.dom.offsetWidth}return s},getHMaxSize:function(){var _53=this.maxSize||10000;var _54=this.layout.center;return Math.min(_53,(this.el.getWidth()+_54.el.getWidth())-_54.getMinWidth())},getVMaxSize:function(){var _55=this.maxSize||10000;var _56=this.layout.center;return Math.min(_55,(this.el.getHeight()+_56.el.getHeight())-_56.getMinHeight())},onSplitMove:function(_57,_58){var s=this.panel.getSize();this.lastSplitSize=_58;if(this.position==&quot;north&quot;||this.position==&quot;south&quot;){this.panel.setSize(s.width,_58);this.state.height=_58}else{this.panel.setSize(_58,s.height);this.state.width=_58}this.layout.layout();this.panel.saveState();return false},getSplitBar:function(){return this.split},destroy:function(){Ext.destroy(this.miniSplitEl,this.split,this.splitEl)}});Ext.Container.LAYOUTS.border=Ext.layout.BorderLayout;Ext.layout.FormLayout=Ext.extend(Ext.layout.AnchorLayout,{labelSeparator:&quot;:&quot;,getAnchorViewSize:function(ct,_2){return(ct.body||ct.el).getStyleSize()},setContainer:function(ct){Ext.layout.FormLayout.superclass.setContainer.call(this,ct);if(ct.labelAlign){ct.addClass(&quot;x-form-label-&quot;+ct.labelAlign)}if(ct.hideLabels){this.labelStyle=&quot;display:none&quot;;this.elementStyle=&quot;padding-left:0;&quot;;this.labelAdjust=0}else{this.labelSeparator=ct.labelSeparator||this.labelSeparator;ct.labelWidth=ct.labelWidth||100;if(typeof ct.labelWidth==&quot;number&quot;){var _4=(typeof ct.labelPad==&quot;number&quot;?ct.labelPad:5);this.labelAdjust=ct.labelWidth+_4;this.labelStyle=&quot;width:&quot;+ct.labelWidth+&quot;px;&quot;;this.elementStyle=&quot;padding-left:&quot;+(ct.labelWidth+_4)+&quot;px&quot;}if(ct.labelAlign==&quot;top&quot;){this.labelStyle=&quot;width:auto;&quot;;this.labelAdjust=0;this.elementStyle=&quot;padding-left:0;&quot;}}if(!this.fieldTpl){var t=new Ext.Template('&lt;div class=&quot;x-form-item {5}&quot; tabIndex=&quot;-1&quot;&gt;','&lt;label for=&quot;{0}&quot; style=&quot;{2}&quot; class=&quot;x-form-item-label&quot;&gt;{1}{4}&lt;/label&gt;','&lt;div class=&quot;x-form-element&quot; id=&quot;x-form-el-{0}&quot; style=&quot;{3}&quot;&gt;','&lt;/div&gt;&lt;div class=&quot;{6}&quot;&gt;&lt;/div&gt;',&quot;&lt;/div&gt;&quot;);t.disableFormats=true;t.compile();Ext.layout.FormLayout.prototype.fieldTpl=t}},getLabelStyle:function(s){var ls=&quot;&quot;,_8=[this.labelStyle,s];for(var i=0,_a=_8.length;i&lt;_a;++i){if(_8[i]){ls+=_8[i];if(ls.substr(-1,1)!=&quot;;&quot;){ls+=&quot;;&quot;}}}return ls},renderItem:function(c,_c,_d){if(c&amp;&amp;!c.rendered&amp;&amp;c.isFormField&amp;&amp;c.inputType!=&quot;hidden&quot;){var _e=[c.id,c.fieldLabel,this.getLabelStyle(c.labelStyle),this.elementStyle||&quot;&quot;,typeof c.labelSeparator==&quot;undefined&quot;?this.labelSeparator:c.labelSeparator,(c.itemCls||this.container.itemCls||&quot;&quot;)+(c.hideLabel?&quot; x-hide-label&quot;:&quot;&quot;),c.clearCls||&quot;x-form-clear-left&quot;];if(typeof _c==&quot;number&quot;){_c=_d.dom.childNodes[_c]||null}if(_c){this.fieldTpl.insertBefore(_c,_e)}else{this.fieldTpl.append(_d,_e)}c.render(&quot;x-form-el-&quot;+c.id)}else{Ext.layout.FormLayout.superclass.renderItem.apply(this,arguments)}},adjustWidthAnchor:function(_f,_10){return _f-(_10.isFormField?(_10.hideLabel?0:this.labelAdjust):0)},isValidParent:function(c,_12){return true}});Ext.Container.LAYOUTS.form=Ext.layout.FormLayout;Ext.layout.Accordion=Ext.extend(Ext.layout.FitLayout,{fill:true,autoWidth:true,titleCollapse:true,hideCollapseTool:false,collapseFirst:false,animate:false,sequence:false,activeOnTop:false,setActiveItem:function(_1){_1=this.container.getComponent(_1);this.activeItem=_1;this.layout()},renderItem:function(c){if(this.animate===false){c.animCollapse=false}c.collapsible=true;if(this.autoWidth){c.autoWidth=true}if(this.titleCollapse){c.titleCollapse=true}if(this.hideCollapseTool){c.hideCollapseTool=true}if(this.collapseFirst!==undefined){c.collapseFirst=this.collapseFirst}if(!this.activeItem&amp;&amp;!c.collapsed){this.activeItem=c}else{if(this.activeItem&amp;&amp;this.activeItem!=c){c.collapsed=true}}Ext.layout.Accordion.superclass.renderItem.apply(this,arguments);c.header.addClass(&quot;x-accordion-hd&quot;);c.on(&quot;beforeexpand&quot;,this.beforeExpand,this)},beforeExpand:function(p,_4){var ai=this.activeItem;if(ai){if(this.sequence){delete this.activeItem;if(!ai.collapsed){ai.collapse({callback:function(){p.expand(_4||true)},scope:this});return false}}else{ai.collapse(this.animate)}}this.activeItem=p;if(this.activeOnTop){p.el.dom.parentNode.insertBefore(p.el.dom,p.el.dom.parentNode.firstChild)}this.layout()},setItemSize:function(_6,_7){if(this.fill&amp;&amp;_6){var _8=this.container.items.items;var hh=0;for(var i=0,_b=_8.length;i&lt;_b;i++){var p=_8[i];if(p!=_6){hh+=(p.getSize().height-p.bwrap.getHeight())}}_7.height-=hh;_6.setSize(_7)}}});Ext.Container.LAYOUTS.accordion=Ext.layout.Accordion;Ext.layout.TableLayout=Ext.extend(Ext.layout.ContainerLayout,{monitorResize:false,setContainer:function(ct){Ext.layout.TableLayout.superclass.setContainer.call(this,ct);this.currentRow=0;this.currentColumn=0;this.cells=[]},onLayout:function(ct,_3){var cs=ct.items.items,_5=cs.length,c,i;if(!this.table){_3.addClass(&quot;x-table-layout-ct&quot;);this.table=_3.createChild({tag:&quot;table&quot;,cls:&quot;x-table-layout&quot;,cellspacing:0,cn:{tag:&quot;tbody&quot;}},null,true);this.renderAll(ct,_3)}},getRow:function(_8){var _9=this.table.tBodies[0].childNodes[_8];if(!_9){_9=document.createElement(&quot;tr&quot;);this.table.tBodies[0].appendChild(_9)}return _9},getNextCell:function(c){var _b=this.getNextNonSpan(this.currentColumn,this.currentRow);var _c=this.currentColumn=_b[0],_d=this.currentRow=_b[1];for(var _e=_d;_e&lt;_d+(c.rowspan||1);_e++){if(!this.cells[_e]){this.cells[_e]=[]}for(var _f=_c;_f&lt;_c+(c.colspan||1);_f++){this.cells[_e][_f]=true}}var td=document.createElement(&quot;td&quot;);if(c.cellId){td.id=c.cellId}var cls=&quot;x-table-layout-cell&quot;;if(c.cellCls){cls+=&quot; &quot;+c.cellCls}td.className=cls;if(c.colspan){td.colSpan=c.colspan}if(c.rowspan){td.rowSpan=c.rowspan}this.getRow(_d).appendChild(td);return td},getNextNonSpan:function(_12,_13){var _14=this.columns;
-while((_14&amp;&amp;_12&gt;=_14)||(this.cells[_13]&amp;&amp;this.cells[_13][_12])){if(_14&amp;&amp;_12&gt;=_14){_13++;_12=0}else{_12++}}return[_12,_13]},renderItem:function(c,_16,_17){if(c&amp;&amp;!c.rendered){c.render(this.getNextCell(c));if(this.extraCls){var t=c.getPositionEl?c.getPositionEl():c;t.addClass(this.extraCls)}}},isValidParent:function(c,_1a){return true}});Ext.Container.LAYOUTS.table=Ext.layout.TableLayout;Ext.layout.AbsoluteLayout=Ext.extend(Ext.layout.AnchorLayout,{extraCls:&quot;x-abs-layout-item&quot;,isForm:false,setContainer:function(ct){Ext.layout.AbsoluteLayout.superclass.setContainer.call(this,ct);if(ct.isXType(&quot;form&quot;)){this.isForm=true}},onLayout:function(ct,_3){if(this.isForm){ct.body.position()}else{_3.position()}Ext.layout.AbsoluteLayout.superclass.onLayout.call(this,ct,_3)},getAnchorViewSize:function(ct,_5){return this.isForm?ct.body.getStyleSize():Ext.layout.AbsoluteLayout.superclass.getAnchorViewSize.call(this,ct,_5)},isValidParent:function(c,_7){return this.isForm?true:Ext.layout.AbsoluteLayout.superclass.isValidParent.call(this,c,_7)},adjustWidthAnchor:function(_8,_9){return _8?_8-_9.getPosition(true)[0]:_8},adjustHeightAnchor:function(_a,_b){return _a?_a-_b.getPosition(true)[1]:_a}});Ext.Container.LAYOUTS.absolute=Ext.layout.AbsoluteLayout;Ext.Viewport=Ext.extend(Ext.Container,{initComponent:function(){Ext.Viewport.superclass.initComponent.call(this);document.getElementsByTagName(&quot;html&quot;)[0].className+=&quot; x-viewport&quot;;this.el=Ext.getBody();this.el.setHeight=Ext.emptyFn;this.el.setWidth=Ext.emptyFn;this.el.setSize=Ext.emptyFn;this.el.dom.scroll=&quot;no&quot;;this.allowDomMove=false;this.autoWidth=true;this.autoHeight=true;Ext.EventManager.onWindowResize(this.fireResize,this);this.renderTo=this.el},fireResize:function(w,h){this.fireEvent(&quot;resize&quot;,this,w,h,w,h)}});Ext.reg(&quot;viewport&quot;,Ext.Viewport);Ext.Panel=Ext.extend(Ext.Container,{baseCls:&quot;x-panel&quot;,collapsedCls:&quot;x-panel-collapsed&quot;,maskDisabled:true,animCollapse:Ext.enableFx,headerAsText:true,buttonAlign:&quot;right&quot;,collapsed:false,collapseFirst:true,minButtonWidth:75,elements:&quot;body&quot;,toolTarget:&quot;header&quot;,collapseEl:&quot;bwrap&quot;,slideAnchor:&quot;t&quot;,disabledClass:&quot;&quot;,deferHeight:true,expandDefaults:{duration:0.25},collapseDefaults:{duration:0.25},initComponent:function(){Ext.Panel.superclass.initComponent.call(this);this.addEvents(&quot;bodyresize&quot;,&quot;titlechange&quot;,&quot;iconchange&quot;,&quot;collapse&quot;,&quot;expand&quot;,&quot;beforecollapse&quot;,&quot;beforeexpand&quot;,&quot;beforeclose&quot;,&quot;close&quot;,&quot;activate&quot;,&quot;deactivate&quot;);if(this.tbar){this.elements+=&quot;,tbar&quot;;if(typeof this.tbar==&quot;object&quot;){this.topToolbar=this.tbar}delete this.tbar}if(this.bbar){this.elements+=&quot;,bbar&quot;;if(typeof this.bbar==&quot;object&quot;){this.bottomToolbar=this.bbar}delete this.bbar}if(this.header===true){this.elements+=&quot;,header&quot;;delete this.header}else{if(this.title&amp;&amp;this.header!==false){this.elements+=&quot;,header&quot;}}if(this.footer===true){this.elements+=&quot;,footer&quot;;delete this.footer}if(this.buttons){var _1=this.buttons;this.buttons=[];for(var i=0,_3=_1.length;i&lt;_3;i++){if(_1[i].render){_1[i].ownerCt=this;this.buttons.push(_1[i])}else{this.addButton(_1[i])}}}if(this.autoLoad){this.on(&quot;render&quot;,this.doAutoLoad,this,{delay:10})}},createElement:function(_4,_5){if(this[_4]){_5.appendChild(this[_4].dom);return}if(_4===&quot;bwrap&quot;||this.elements.indexOf(_4)!=-1){if(this[_4+&quot;Cfg&quot;]){this[_4]=Ext.fly(_5).createChild(this[_4+&quot;Cfg&quot;])}else{var el=document.createElement(&quot;div&quot;);el.className=this[_4+&quot;Cls&quot;];this[_4]=Ext.get(_5.appendChild(el))}if(this[_4+&quot;CssClass&quot;]){this[_4].addClass(this[_4+&quot;CssClass&quot;])}if(this[_4+&quot;Style&quot;]){this[_4].applyStyles(this[_4+&quot;Style&quot;])}}},onRender:function(ct,_8){Ext.Panel.superclass.onRender.call(this,ct,_8);this.createClasses();if(this.el){this.el.addClass(this.baseCls);this.header=this.el.down(&quot;.&quot;+this.headerCls);this.bwrap=this.el.down(&quot;.&quot;+this.bwrapCls);var cp=this.bwrap?this.bwrap:this.el;this.tbar=cp.down(&quot;.&quot;+this.tbarCls);this.body=cp.down(&quot;.&quot;+this.bodyCls);this.bbar=cp.down(&quot;.&quot;+this.bbarCls);this.footer=cp.down(&quot;.&quot;+this.footerCls);this.fromMarkup=true}else{this.el=ct.createChild({id:this.id,cls:this.baseCls},_8)}var el=this.el,d=el.dom;if(this.cls){this.el.addClass(this.cls)}if(this.buttons){this.elements+=&quot;,footer&quot;}if(this.frame){el.insertHtml(&quot;afterBegin&quot;,String.format(Ext.Element.boxMarkup,this.baseCls));this.createElement(&quot;header&quot;,d.firstChild.firstChild.firstChild);this.createElement(&quot;bwrap&quot;,d);var bw=this.bwrap.dom;var ml=d.childNodes[1],bl=d.childNodes[2];bw.appendChild(ml);bw.appendChild(bl);var mc=bw.firstChild.firstChild.firstChild;this.createElement(&quot;tbar&quot;,mc);this.createElement(&quot;body&quot;,mc);this.createElement(&quot;bbar&quot;,mc);this.createElement(&quot;footer&quot;,bw.lastChild.firstChild.firstChild);if(!this.footer){this.bwrap.dom.lastChild.className+=&quot; x-panel-nofooter&quot;}}else{this.createElement(&quot;header&quot;,d);this.createElement(&quot;bwrap&quot;,d);var bw=this.bwrap.dom;this.createElement(&quot;tbar&quot;,bw);this.createElement(&quot;body&quot;,bw);this.createElement(&quot;bbar&quot;,bw);this.createElement(&quot;footer&quot;,bw);if(!this.header){this.body.addClass(this.bodyCls+&quot;-noheader&quot;);if(this.tbar){this.tbar.addClass(this.tbarCls+&quot;-noheader&quot;)}}}if(this.border===false){this.el.addClass(this.baseCls+&quot;-noborder&quot;);this.body.addClass(this.bodyCls+&quot;-noborder&quot;);if(this.header){this.header.addClass(this.headerCls+&quot;-noborder&quot;)}if(this.footer){this.footer.addClass(this.footerCls+&quot;-noborder&quot;)}if(this.tbar){this.tbar.addClass(this.tbarCls+&quot;-noborder&quot;)}if(this.bbar){this.bbar.addClass(this.bbarCls+&quot;-noborder&quot;)}}if(this.bodyBorder===false){this.body.addClass(this.bodyCls+&quot;-noborder&quot;)}this.bwrap.enableDisplayMode(&quot;block&quot;);if(this.header){this.header.unselectable();if(this.headerAsText){this.header.dom.innerHTML='&lt;span class=&quot;'+this.headerTextCls+'&quot;&gt;'+this.header.dom.innerHTML+&quot;&lt;/span&gt;&quot;;if(this.iconCls){this.setIconClass(this.iconCls)}}}if(this.floating){this.makeFloating(this.floating)}if(this.collapsible){this.tools=this.tools?this.tools.slice(0):[];if(!this.hideCollapseTool){this.tools[this.collapseFirst?&quot;unshift&quot;:&quot;push&quot;]({id:&quot;toggle&quot;,handler:this.toggleCollapse,scope:this})}if(this.titleCollapse&amp;&amp;this.header){this.header.on(&quot;click&quot;,this.toggleCollapse,this);this.header.setStyle(&quot;cursor&quot;,&quot;pointer&quot;)}}if(this.tools){var ts=this.tools;this.tools={};this.addTool.apply(this,ts)}else{this.tools={}}if(this.buttons&amp;&amp;this.buttons.length&gt;0){var tb=this.footer.createChild({cls:&quot;x-panel-btns-ct&quot;,cn:{cls:&quot;x-panel-btns x-panel-btns-&quot;+this.buttonAlign,html:'&lt;table cellspacing=&quot;0&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class=&quot;x-clear&quot;&gt;&lt;/div&gt;'}},null,true);var tr=tb.getElementsByTagName(&quot;tr&quot;)[0];for(var i=0,len=this.buttons.length;i&lt;len;i++){var b=this.buttons[i];var td=document.createElement(&quot;td&quot;);td.className=&quot;x-panel-btn-td&quot;;b.render(tr.appendChild(td))}}if(this.tbar&amp;&amp;this.topToolbar){if(Ext.isArray(this.topToolbar)){this.topToolbar=new Ext.Toolbar(this.topToolbar)}this.topToolbar.render(this.tbar);this.topToolbar.ownerCt=this}if(this.bbar&amp;&amp;this.bottomToolbar){if(Ext.isArray(this.bottomToolbar)){this.bottomToolbar=new Ext.Toolbar(this.bottomToolbar)}this.bottomToolbar.render(this.bbar);this.bottomToolbar.ownerCt=this}},setIconClass:function(cls){var old=this.iconCls;this.iconCls=cls;if(this.rendered&amp;&amp;this.header){if(this.frame){this.header.addClass(&quot;x-panel-icon&quot;);this.header.replaceClass(old,this.iconCls)}else{var hd=this.header.dom;var img=hd.firstChild&amp;&amp;String(hd.firstChild.tagName).toLowerCase()==&quot;img&quot;?hd.firstChild:null;if(img){Ext.fly(img).replaceClass(old,this.iconCls)}else{Ext.DomHelper.insertBefore(hd.firstChild,{tag:&quot;img&quot;,src:Ext.BLANK_IMAGE_URL,cls:&quot;x-panel-inline-icon &quot;+this.iconCls})}}}this.fireEvent(&quot;iconchange&quot;,this,cls,old)},makeFloating:function(cfg){this.floating=true;this.el=new Ext.Layer(typeof cfg==&quot;object&quot;?cfg:{shadow:this.shadow!==undefined?this.shadow:&quot;sides&quot;,shadowOffset:this.shadowOffset,constrain:false,shim:this.shim===false?false:undefined},this.el)},getTopToolbar:function(){return this.topToolbar},getBottomToolbar:function(){return this.bottomToolbar},addButton:function(_1c,_1d,_1e){var bc={handler:_1d,scope:_1e,minWidth:this.minButtonWidth,hideParent:true};if(typeof _1c==&quot;string&quot;){bc.text=_1c
-}else{Ext.apply(bc,_1c)}var btn=new Ext.Button(bc);btn.ownerCt=this;if(!this.buttons){this.buttons=[]}this.buttons.push(btn);return btn},addTool:function(){if(!this[this.toolTarget]){return}if(!this.toolTemplate){var tt=new Ext.Template('&lt;div class=&quot;x-tool x-tool-{id}&quot;&gt;&amp;#160;&lt;/div&gt;');tt.disableFormats=true;tt.compile();Ext.Panel.prototype.toolTemplate=tt}for(var i=0,a=arguments,len=a.length;i&lt;len;i++){var tc=a[i];if(!this.tools[tc.id]){var _26=&quot;x-tool-&quot;+tc.id+&quot;-over&quot;;var t=this.toolTemplate.insertFirst((tc.align!==&quot;left&quot;)?this[this.toolTarget]:this[this.toolTarget].child(&quot;span&quot;),tc,true);this.tools[tc.id]=t;t.enableDisplayMode(&quot;block&quot;);t.on(&quot;click&quot;,this.createToolHandler(t,tc,_26,this));if(tc.on){t.on(tc.on)}if(tc.hidden){t.hide()}if(tc.qtip){if(typeof tc.qtip==&quot;object&quot;){Ext.QuickTips.register(Ext.apply({target:t.id},tc.qtip))}else{t.dom.qtip=tc.qtip}}t.addClassOnOver(_26)}}},onShow:function(){if(this.floating){return this.el.show()}Ext.Panel.superclass.onShow.call(this)},onHide:function(){if(this.floating){return this.el.hide()}Ext.Panel.superclass.onHide.call(this)},createToolHandler:function(t,tc,_2a,_2b){return function(e){t.removeClass(_2a);e.stopEvent();if(tc.handler){tc.handler.call(tc.scope||t,e,t,_2b)}}},afterRender:function(){if(this.fromMarkup&amp;&amp;this.height===undefined&amp;&amp;!this.autoHeight){this.height=this.el.getHeight()}if(this.floating&amp;&amp;!this.hidden&amp;&amp;!this.initHidden){this.el.show()}if(this.title){this.setTitle(this.title)}this.setAutoScroll();if(this.html){this.body.update(typeof this.html==&quot;object&quot;?Ext.DomHelper.markup(this.html):this.html);delete this.html}if(this.contentEl){var ce=Ext.getDom(this.contentEl);Ext.fly(ce).removeClass([&quot;x-hidden&quot;,&quot;x-hide-display&quot;]);this.body.dom.appendChild(ce)}if(this.collapsed){this.collapsed=false;this.collapse(false)}Ext.Panel.superclass.afterRender.call(this);this.initEvents()},setAutoScroll:function(){if(this.rendered&amp;&amp;this.autoScroll){var el=this.body||this.el;if(el){el.setOverflow(&quot;auto&quot;)}}},getKeyMap:function(){if(!this.keyMap){this.keyMap=new Ext.KeyMap(this.el,this.keys)}return this.keyMap},initEvents:function(){if(this.keys){this.getKeyMap()}if(this.draggable){this.initDraggable()}},initDraggable:function(){this.dd=new Ext.Panel.DD(this,typeof this.draggable==&quot;boolean&quot;?null:this.draggable)},beforeEffect:function(){if(this.floating){this.el.beforeAction()}this.el.addClass(&quot;x-panel-animated&quot;)},afterEffect:function(){this.syncShadow();this.el.removeClass(&quot;x-panel-animated&quot;)},createEffect:function(a,cb,_31){var o={scope:_31,block:true};if(a===true){o.callback=cb;return o}else{if(!a.callback){o.callback=cb}else{o.callback=function(){cb.call(_31);Ext.callback(a.callback,a.scope)}}}return Ext.applyIf(o,a)},collapse:function(_33){if(this.collapsed||this.el.hasFxBlock()||this.fireEvent(&quot;beforecollapse&quot;,this,_33)===false){return}var _34=_33===true||(_33!==false&amp;&amp;this.animCollapse);this.beforeEffect();this.onCollapse(_34,_33);return this},onCollapse:function(_35,_36){if(_35){this[this.collapseEl].slideOut(this.slideAnchor,Ext.apply(this.createEffect(_36||true,this.afterCollapse,this),this.collapseDefaults))}else{this[this.collapseEl].hide();this.afterCollapse()}},afterCollapse:function(){this.collapsed=true;this.el.addClass(this.collapsedCls);this.afterEffect();this.fireEvent(&quot;collapse&quot;,this)},expand:function(_37){if(!this.collapsed||this.el.hasFxBlock()||this.fireEvent(&quot;beforeexpand&quot;,this,_37)===false){return}var _38=_37===true||(_37!==false&amp;&amp;this.animCollapse);this.el.removeClass(this.collapsedCls);this.beforeEffect();this.onExpand(_38,_37);return this},onExpand:function(_39,_3a){if(_39){this[this.collapseEl].slideIn(this.slideAnchor,Ext.apply(this.createEffect(_3a||true,this.afterExpand,this),this.expandDefaults))}else{this[this.collapseEl].show();this.afterExpand()}},afterExpand:function(){this.collapsed=false;this.afterEffect();this.fireEvent(&quot;expand&quot;,this)},toggleCollapse:function(_3b){this[this.collapsed?&quot;expand&quot;:&quot;collapse&quot;](_3b);return this},onDisable:function(){if(this.rendered&amp;&amp;this.maskDisabled){this.el.mask()}Ext.Panel.superclass.onDisable.call(this)},onEnable:function(){if(this.rendered&amp;&amp;this.maskDisabled){this.el.unmask()}Ext.Panel.superclass.onEnable.call(this)},onResize:function(w,h){if(w!==undefined||h!==undefined){if(!this.collapsed){if(typeof w==&quot;number&quot;){this.body.setWidth(this.adjustBodyWidth(w-this.getFrameWidth()))}else{if(w==&quot;auto&quot;){this.body.setWidth(w)}}if(typeof h==&quot;number&quot;){this.body.setHeight(this.adjustBodyHeight(h-this.getFrameHeight()))}else{if(h==&quot;auto&quot;){this.body.setHeight(h)}}if(this.disabled&amp;&amp;this.el._mask){this.el._mask.setSize(this.el.dom.clientWidth,this.el.getHeight())}}else{this.queuedBodySize={width:w,height:h};if(!this.queuedExpand&amp;&amp;this.allowQueuedExpand!==false){this.queuedExpand=true;this.on(&quot;expand&quot;,function(){delete this.queuedExpand;this.onResize(this.queuedBodySize.width,this.queuedBodySize.height);this.doLayout()},this,{single:true})}}this.fireEvent(&quot;bodyresize&quot;,this,w,h)}this.syncShadow()},adjustBodyHeight:function(h){return h},adjustBodyWidth:function(w){return w},onPosition:function(){this.syncShadow()},getFrameWidth:function(){var w=this.el.getFrameWidth(&quot;lr&quot;);if(this.frame){var l=this.bwrap.dom.firstChild;w+=(Ext.fly(l).getFrameWidth(&quot;l&quot;)+Ext.fly(l.firstChild).getFrameWidth(&quot;r&quot;));var mc=this.bwrap.dom.firstChild.firstChild.firstChild;w+=Ext.fly(mc).getFrameWidth(&quot;lr&quot;)}return w},getFrameHeight:function(){var h=this.el.getFrameWidth(&quot;tb&quot;);h+=(this.tbar?this.tbar.getHeight():0)+(this.bbar?this.bbar.getHeight():0);if(this.frame){var hd=this.el.dom.firstChild;var ft=this.bwrap.dom.lastChild;h+=(hd.offsetHeight+ft.offsetHeight);var mc=this.bwrap.dom.firstChild.firstChild.firstChild;h+=Ext.fly(mc).getFrameWidth(&quot;tb&quot;)}else{h+=(this.header?this.header.getHeight():0)+(this.footer?this.footer.getHeight():0)}return h},getInnerWidth:function(){return this.getSize().width-this.getFrameWidth()},getInnerHeight:function(){return this.getSize().height-this.getFrameHeight()},syncShadow:function(){if(this.floating){this.el.sync(true)}},getLayoutTarget:function(){return this.body},setTitle:function(_47,_48){this.title=_47;if(this.header&amp;&amp;this.headerAsText){this.header.child(&quot;span&quot;).update(_47)}if(_48){this.setIconClass(_48)}this.fireEvent(&quot;titlechange&quot;,this,_47);return this},getUpdater:function(){return this.body.getUpdater()},load:function(){var um=this.body.getUpdater();um.update.apply(um,arguments);return this},beforeDestroy:function(){if(this.header){this.header.removeAllListeners();if(this.headerAsText){Ext.Element.uncache(this.header.child(&quot;span&quot;))}}Ext.Element.uncache(this.header,this.tbar,this.bbar,this.footer,this.body,this.bwrap);if(this.tools){for(var k in this.tools){Ext.destroy(this.tools[k])}}if(this.buttons){for(var b in this.buttons){Ext.destroy(this.buttons[b])}}Ext.destroy(this.topToolbar,this.bottomToolbar);Ext.Panel.superclass.beforeDestroy.call(this)},createClasses:function(){this.headerCls=this.baseCls+&quot;-header&quot;;this.headerTextCls=this.baseCls+&quot;-header-text&quot;;this.bwrapCls=this.baseCls+&quot;-bwrap&quot;;this.tbarCls=this.baseCls+&quot;-tbar&quot;;this.bodyCls=this.baseCls+&quot;-body&quot;;this.bbarCls=this.baseCls+&quot;-bbar&quot;;this.footerCls=this.baseCls+&quot;-footer&quot;},createGhost:function(cls,_4d,_4e){var el=document.createElement(&quot;div&quot;);el.className=&quot;x-panel-ghost &quot;+(cls?cls:&quot;&quot;);if(this.header){el.appendChild(this.el.dom.firstChild.cloneNode(true))}Ext.fly(el.appendChild(document.createElement(&quot;ul&quot;))).setHeight(this.bwrap.getHeight());el.style.width=this.el.dom.offsetWidth+&quot;px&quot;;if(!_4e){this.container.dom.appendChild(el)}else{Ext.getDom(_4e).appendChild(el)}if(_4d!==false&amp;&amp;this.el.useShim!==false){var _50=new Ext.Layer({shadow:false,useDisplay:true,constrain:false},el);_50.show();return _50}else{return new Ext.Element(el)}},doAutoLoad:function(){var u=this.body.getUpdater();if(this.renderer){u.setRenderer(this.renderer)}u.update(typeof this.autoLoad==&quot;object&quot;?this.autoLoad:{url:this.autoLoad})},getTool:function(id){return this.tools[id]}});Ext.reg(&quot;panel&quot;,Ext.Panel);Ext.Window=Ext.extend(Ext.Panel,{baseCls:&quot;x-window&quot;,resizable:true,draggable:true,closable:true,constrain:false,constrainHeader:false,plain:false,minimizable:false,maximizable:false,minHeight:100,minWidth:200,expandOnShow:true,closeAction:&quot;close&quot;,elements:&quot;header,body&quot;,collapsible:false,initHidden:true,monitorResize:true,frame:true,floating:true,initComponent:function(){Ext.Window.superclass.initComponent.call(this);
-this.addEvents(&quot;resize&quot;,&quot;maximize&quot;,&quot;minimize&quot;,&quot;restore&quot;)},getState:function(){return Ext.apply(Ext.Window.superclass.getState.call(this)||{},this.getBox())},onRender:function(ct,_2){Ext.Window.superclass.onRender.call(this,ct,_2);if(this.plain){this.el.addClass(&quot;x-window-plain&quot;)}this.focusEl=this.el.createChild({tag:&quot;a&quot;,href:&quot;#&quot;,cls:&quot;x-dlg-focus&quot;,tabIndex:&quot;-1&quot;,html:&quot;&amp;#160;&quot;});this.focusEl.swallowEvent(&quot;click&quot;,true);this.proxy=this.el.createProxy(&quot;x-window-proxy&quot;);this.proxy.enableDisplayMode(&quot;block&quot;);if(this.modal){this.mask=this.container.createChild({cls:&quot;ext-el-mask&quot;},this.el.dom);this.mask.enableDisplayMode(&quot;block&quot;);this.mask.hide();this.mask.on(&quot;click&quot;,this.focus,this)}this.initTools()},initEvents:function(){Ext.Window.superclass.initEvents.call(this);if(this.animateTarget){this.setAnimateTarget(this.animateTarget)}if(this.resizable){this.resizer=new Ext.Resizable(this.el,{minWidth:this.minWidth,minHeight:this.minHeight,handles:this.resizeHandles||&quot;all&quot;,pinned:true,resizeElement:this.resizerAction});this.resizer.window=this;this.resizer.on(&quot;beforeresize&quot;,this.beforeResize,this)}if(this.draggable){this.header.addClass(&quot;x-window-draggable&quot;)}this.el.on(&quot;mousedown&quot;,this.toFront,this);this.manager=this.manager||Ext.WindowMgr;this.manager.register(this);this.hidden=true;if(this.maximized){this.maximized=false;this.maximize()}if(this.closable){var km=this.getKeyMap();km.on(27,this.onEsc,this);km.disable()}},initDraggable:function(){this.dd=new Ext.Window.DD(this)},onEsc:function(){this[this.closeAction]()},beforeDestroy:function(){if(this.rendered){this.hide();if(this.doAnchor){Ext.EventManager.removeResizeListener(this.doAnchor,this);Ext.EventManager.un(window,&quot;scroll&quot;,this.doAnchor,this)}Ext.destroy(this.focusEl,this.resizer,this.dd,this.proxy,this.mask)}Ext.Window.superclass.beforeDestroy.call(this)},onDestroy:function(){if(this.manager){this.manager.unregister(this)}Ext.Window.superclass.onDestroy.call(this)},initTools:function(){if(this.minimizable){this.addTool({id:&quot;minimize&quot;,handler:this.minimize.createDelegate(this,[])})}if(this.maximizable){this.addTool({id:&quot;maximize&quot;,handler:this.maximize.createDelegate(this,[])});this.addTool({id:&quot;restore&quot;,handler:this.restore.createDelegate(this,[]),hidden:true});this.header.on(&quot;dblclick&quot;,this.toggleMaximize,this)}if(this.closable){this.addTool({id:&quot;close&quot;,handler:this[this.closeAction].createDelegate(this,[])})}},resizerAction:function(){var _4=this.proxy.getBox();this.proxy.hide();this.window.handleResize(_4);return _4},beforeResize:function(){this.resizer.minHeight=Math.max(this.minHeight,this.getFrameHeight()+40);this.resizer.minWidth=Math.max(this.minWidth,this.getFrameWidth()+40);this.resizeBox=this.el.getBox()},updateHandles:function(){if(Ext.isIE&amp;&amp;this.resizer){this.resizer.syncHandleHeight();this.el.repaint()}},handleResize:function(_5){var rz=this.resizeBox;if(rz.x!=_5.x||rz.y!=_5.y){this.updateBox(_5)}else{this.setSize(_5)}this.focus();this.updateHandles();this.saveState();if(this.layout){this.doLayout()}this.fireEvent(&quot;resize&quot;,this,_5.width,_5.height)},focus:function(){var f=this.focusEl,db=this.defaultButton,t=typeof db;if(t!=&quot;undefined&quot;){if(t==&quot;number&quot;){f=this.buttons[db]}else{if(t==&quot;string&quot;){f=Ext.getCmp(db)}else{f=db}}}f.focus.defer(10,f)},setAnimateTarget:function(el){el=Ext.get(el);this.animateTarget=el},beforeShow:function(){delete this.el.lastXY;delete this.el.lastLT;if(this.x===undefined||this.y===undefined){var xy=this.el.getAlignToXY(this.container,&quot;c-c&quot;);var _c=this.el.translatePoints(xy[0],xy[1]);this.x=this.x===undefined?_c.left:this.x;this.y=this.y===undefined?_c.top:this.y}this.el.setLeftTop(this.x,this.y);if(this.expandOnShow){this.expand(false)}if(this.modal){Ext.getBody().addClass(&quot;x-body-masked&quot;);this.mask.setSize(Ext.lib.Dom.getViewWidth(true),Ext.lib.Dom.getViewHeight(true));this.mask.show()}},show:function(_d,cb,_f){if(!this.rendered){this.render(Ext.getBody())}if(this.hidden===false){this.toFront();return}if(this.fireEvent(&quot;beforeshow&quot;,this)===false){return}if(cb){this.on(&quot;show&quot;,cb,_f,{single:true})}this.hidden=false;if(_d!==undefined){this.setAnimateTarget(_d)}this.beforeShow();if(this.animateTarget){this.animShow()}else{this.afterShow()}},afterShow:function(){this.proxy.hide();this.el.setStyle(&quot;display&quot;,&quot;block&quot;);this.el.show();if(this.maximized){this.fitContainer()}if(Ext.isMac&amp;&amp;Ext.isGecko){this.cascade(this.setAutoScroll)}if(this.monitorResize||this.modal||this.constrain||this.constrainHeader){Ext.EventManager.onWindowResize(this.onWindowResize,this)}this.doConstrain();if(this.layout){this.doLayout()}if(this.keyMap){this.keyMap.enable()}this.toFront();this.updateHandles();this.fireEvent(&quot;show&quot;,this)},animShow:function(){this.proxy.show();this.proxy.setBox(this.animateTarget.getBox());this.proxy.setOpacity(0);var b=this.getBox(false);b.callback=this.afterShow;b.scope=this;b.duration=0.25;b.easing=&quot;easeNone&quot;;b.opacity=0.5;b.block=true;this.el.setStyle(&quot;display&quot;,&quot;none&quot;);this.proxy.shift(b)},hide:function(_11,cb,_13){if(this.activeGhost){this.hide.defer(100,this,[_11,cb,_13]);return}if(this.hidden||this.fireEvent(&quot;beforehide&quot;,this)===false){return}if(cb){this.on(&quot;hide&quot;,cb,_13,{single:true})}this.hidden=true;if(_11!==undefined){this.setAnimateTarget(_11)}if(this.animateTarget){this.animHide()}else{this.el.hide();this.afterHide()}},afterHide:function(){this.proxy.hide();if(this.monitorResize||this.modal||this.constrain||this.constrainHeader){Ext.EventManager.removeResizeListener(this.onWindowResize,this)}if(this.modal){this.mask.hide();Ext.getBody().removeClass(&quot;x-body-masked&quot;)}if(this.keyMap){this.keyMap.disable()}this.fireEvent(&quot;hide&quot;,this)},animHide:function(){this.proxy.setOpacity(0.5);this.proxy.show();var tb=this.getBox(false);this.proxy.setBox(tb);this.el.hide();var b=this.animateTarget.getBox();b.callback=this.afterHide;b.scope=this;b.duration=0.25;b.easing=&quot;easeNone&quot;;b.block=true;b.opacity=0;this.proxy.shift(b)},onWindowResize:function(){if(this.maximized){this.fitContainer()}if(this.modal){this.mask.setSize(&quot;100%&quot;,&quot;100%&quot;);var _16=this.mask.dom.offsetHeight;this.mask.setSize(Ext.lib.Dom.getViewWidth(true),Ext.lib.Dom.getViewHeight(true))}this.doConstrain()},doConstrain:function(){if(this.constrain||this.constrainHeader){var _17;if(this.constrain){_17={right:this.el.shadowOffset,left:this.el.shadowOffset,bottom:this.el.shadowOffset}}else{var s=this.getSize();_17={right:-(s.width-100),bottom:-(s.height-25)}}var xy=this.el.getConstrainToXY(this.container,true,_17);if(xy){this.setPosition(xy[0],xy[1])}}},ghost:function(cls){var _1b=this.createGhost(cls);var box=this.getBox(true);_1b.setLeftTop(box.x,box.y);_1b.setWidth(box.width);this.el.hide();this.activeGhost=_1b;return _1b},unghost:function(_1d,_1e){if(_1d!==false){this.el.show();this.focus();if(Ext.isMac&amp;&amp;Ext.isGecko){this.cascade(this.setAutoScroll)}}if(_1e!==false){this.setPosition(this.activeGhost.getLeft(true),this.activeGhost.getTop(true))}this.activeGhost.hide();this.activeGhost.remove();delete this.activeGhost},minimize:function(){this.fireEvent(&quot;minimize&quot;,this)},close:function(){if(this.fireEvent(&quot;beforeclose&quot;,this)!==false){this.hide(null,function(){this.fireEvent(&quot;close&quot;,this);this.destroy()},this)}},maximize:function(){if(!this.maximized){this.expand(false);this.restoreSize=this.getSize();this.restorePos=this.getPosition(true);if(this.maximizable){this.tools.maximize.hide();this.tools.restore.show()}this.maximized=true;this.el.disableShadow();if(this.dd){this.dd.lock()}if(this.collapsible){this.tools.toggle.hide()}this.el.addClass(&quot;x-window-maximized&quot;);this.container.addClass(&quot;x-window-maximized-ct&quot;);this.setPosition(0,0);this.fitContainer();this.fireEvent(&quot;maximize&quot;,this)}},restore:function(){if(this.maximized){this.el.removeClass(&quot;x-window-maximized&quot;);this.tools.restore.hide();this.tools.maximize.show();this.setPosition(this.restorePos[0],this.restorePos[1]);this.setSize(this.restoreSize.width,this.restoreSize.height);delete this.restorePos;delete this.restoreSize;this.maximized=false;this.el.enableShadow(true);
-if(this.dd){this.dd.unlock()}if(this.collapsible){this.tools.toggle.show()}this.container.removeClass(&quot;x-window-maximized-ct&quot;);this.doConstrain();this.fireEvent(&quot;restore&quot;,this)}},toggleMaximize:function(){this[this.maximized?&quot;restore&quot;:&quot;maximize&quot;]()},fitContainer:function(){var vs=this.container.getViewSize();this.setSize(vs.width,vs.height)},setZIndex:function(_20){if(this.modal){this.mask.setStyle(&quot;z-index&quot;,_20)}this.el.setZIndex(++_20);_20+=5;if(this.resizer){this.resizer.proxy.setStyle(&quot;z-index&quot;,++_20)}this.lastZIndex=_20},alignTo:function(_21,_22,_23){var xy=this.el.getAlignToXY(_21,_22,_23);this.setPagePosition(xy[0],xy[1]);return this},anchorTo:function(el,_26,_27,_28){if(this.doAnchor){Ext.EventManager.removeResizeListener(this.doAnchor,this);Ext.EventManager.un(window,&quot;scroll&quot;,this.doAnchor,this)}this.doAnchor=function(){this.alignTo(el,_26,_27)};Ext.EventManager.onWindowResize(this.doAnchor,this);var tm=typeof _28;if(tm!=&quot;undefined&quot;){Ext.EventManager.on(window,&quot;scroll&quot;,this.doAnchor,this,{buffer:tm==&quot;number&quot;?_28:50})}this.doAnchor();return this},toFront:function(e){if(this.manager.bringToFront(this)){if(!e||!e.getTarget().focus){this.focus()}}return this},setActive:function(_2b){if(_2b){if(!this.maximized){this.el.enableShadow(true)}this.fireEvent(&quot;activate&quot;,this)}else{this.el.disableShadow();this.fireEvent(&quot;deactivate&quot;,this)}},toBack:function(){this.manager.sendToBack(this);return this},center:function(){var xy=this.el.getAlignToXY(this.container,&quot;c-c&quot;);this.setPagePosition(xy[0],xy[1]);return this}});Ext.reg(&quot;window&quot;,Ext.Window);Ext.Window.DD=function(win){this.win=win;Ext.Window.DD.superclass.constructor.call(this,win.el.id,&quot;WindowDD-&quot;+win.id);this.setHandleElId(win.header.id);this.scroll=false};Ext.extend(Ext.Window.DD,Ext.dd.DD,{moveOnly:true,headerOffsets:[100,25],startDrag:function(){var w=this.win;this.proxy=w.ghost();if(w.constrain!==false){var so=w.el.shadowOffset;this.constrainTo(w.container,{right:so,left:so,bottom:so})}else{if(w.constrainHeader!==false){var s=this.proxy.getSize();this.constrainTo(w.container,{right:-(s.width-this.headerOffsets[0]),bottom:-(s.height-this.headerOffsets[1])})}}},b4Drag:Ext.emptyFn,onDrag:function(e){this.alignElWithMouse(this.proxy,e.getPageX(),e.getPageY())},endDrag:function(e){this.win.unghost();this.win.saveState()}});Ext.WindowGroup=function(){var _1={};var _2=[];var _3=null;var _4=function(d1,d2){return(!d1._lastAccess||d1._lastAccess&lt;d2._lastAccess)?-1:1};var _7=function(){var a=_2,_9=a.length;if(_9&gt;0){a.sort(_4);var _a=a[0].manager.zseed;for(var i=0;i&lt;_9;i++){var _c=a[i];if(_c&amp;&amp;!_c.hidden){_c.setZIndex(_a+(i*10))}}}_d()};var _e=function(_f){if(_f!=_3){if(_3){_3.setActive(false)}_3=_f;if(_f){_f.setActive(true)}}};var _d=function(){for(var i=_2.length-1;i&gt;=0;--i){if(!_2[i].hidden){_e(_2[i]);return}}_e(null)};return{zseed:9000,register:function(win){_1[win.id]=win;_2.push(win);win.on(&quot;hide&quot;,_d)},unregister:function(win){delete _1[win.id];win.un(&quot;hide&quot;,_d);_2.remove(win)},get:function(id){return typeof id==&quot;object&quot;?id:_1[id]},bringToFront:function(win){win=this.get(win);if(win!=_3){win._lastAccess=new Date().getTime();_7();return true}return false},sendToBack:function(win){win=this.get(win);win._lastAccess=-(new Date().getTime());_7();return win},hideAll:function(){for(var id in _1){if(_1[id]&amp;&amp;typeof _1[id]!=&quot;function&quot;&amp;&amp;_1[id].isVisible()){_1[id].hide()}}},getActive:function(){return _3},getBy:function(fn,_18){var r=[];for(var i=_2.length-1;i&gt;=0;--i){var win=_2[i];if(fn.call(_18||win,win)!==false){r.push(win)}}return r},each:function(fn,_1d){for(var id in _1){if(_1[id]&amp;&amp;typeof _1[id]!=&quot;function&quot;){if(fn.call(_1d||_1[id],_1[id])===false){return}}}}}};Ext.WindowMgr=new Ext.WindowGroup();Ext.dd.PanelProxy=function(_1,_2){this.panel=_1;this.id=this.panel.id+&quot;-ddproxy&quot;;Ext.apply(this,_2)};Ext.dd.PanelProxy.prototype={insertProxy:true,setStatus:Ext.emptyFn,reset:Ext.emptyFn,update:Ext.emptyFn,stop:Ext.emptyFn,sync:Ext.emptyFn,getEl:function(){return this.ghost},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.el.dom.style.display=&quot;&quot;;this.ghost.remove();delete this.ghost}},show:function(){if(!this.ghost){this.ghost=this.panel.createGhost(undefined,undefined,Ext.getBody());this.ghost.setXY(this.panel.el.getXY());if(this.insertProxy){this.proxy=this.panel.el.insertSibling({cls:&quot;x-panel-dd-spacer&quot;});this.proxy.setSize(this.panel.getSize())}this.panel.el.dom.style.display=&quot;none&quot;}},repair:function(xy,_4,_5){this.hide();if(typeof _4==&quot;function&quot;){_4.call(_5||this)}},moveProxy:function(_6,_7){if(this.proxy){_6.insertBefore(this.proxy.dom,_7)}}};Ext.Panel.DD=function(_8,_9){this.panel=_8;this.dragData={panel:_8};this.proxy=new Ext.dd.PanelProxy(_8,_9);Ext.Panel.DD.superclass.constructor.call(this,_8.el,_9);var h=_8.header;if(h){this.setHandleElId(h.id)}(h?h:this.panel.body).setStyle(&quot;cursor&quot;,&quot;move&quot;);this.scroll=false};Ext.extend(Ext.Panel.DD,Ext.dd.DragSource,{showFrame:Ext.emptyFn,startDrag:Ext.emptyFn,b4StartDrag:function(x,y){this.proxy.show()},b4MouseDown:function(e){var x=e.getPageX();var y=e.getPageY();this.autoOffset(x,y)},onInitDrag:function(x,y){this.onStartDrag(x,y);return true},createFrame:Ext.emptyFn,getDragEl:function(e){return this.proxy.ghost.dom},endDrag:function(e){this.proxy.hide();this.panel.saveState()},autoOffset:function(x,y){x-=this.startPageX;y-=this.startPageY;this.setDelta(x,y)}});Ext.state.Provider=function(){this.addEvents(&quot;statechange&quot;);this.state={};Ext.state.Provider.superclass.constructor.call(this)};Ext.extend(Ext.state.Provider,Ext.util.Observable,{get:function(_1,_2){return typeof this.state[_1]==&quot;undefined&quot;?_2:this.state[_1]},clear:function(_3){delete this.state[_3];this.fireEvent(&quot;statechange&quot;,this,_3,null)},set:function(_4,_5){this.state[_4]=_5;this.fireEvent(&quot;statechange&quot;,this,_4,_5)},decodeValue:function(_6){var re=/^(a|n|d|b|s|o)\:(.*)$/;var _8=re.exec(unescape(_6));if(!_8||!_8[1]){return}var _9=_8[1];var v=_8[2];switch(_9){case&quot;n&quot;:return parseFloat(v);case&quot;d&quot;:return new Date(Date.parse(v));case&quot;b&quot;:return(v==&quot;1&quot;);case&quot;a&quot;:var _b=[];var _c=v.split(&quot;^&quot;);for(var i=0,_e=_c.length;i&lt;_e;i++){_b.push(this.decodeValue(_c[i]))}return _b;case&quot;o&quot;:var _b={};var _c=v.split(&quot;^&quot;);for(var i=0,_e=_c.length;i&lt;_e;i++){var kv=_c[i].split(&quot;=&quot;);_b[kv[0]]=this.decodeValue(kv[1])}return _b;default:return v}},encodeValue:function(v){var enc;if(typeof v==&quot;number&quot;){enc=&quot;n:&quot;+v}else{if(typeof v==&quot;boolean&quot;){enc=&quot;b:&quot;+(v?&quot;1&quot;:&quot;0&quot;)}else{if(Ext.isDate(v)){enc=&quot;d:&quot;+v.toGMTString()}else{if(Ext.isArray(v)){var _12=&quot;&quot;;for(var i=0,len=v.length;i&lt;len;i++){_12+=this.encodeValue(v[i]);if(i!=len-1){_12+=&quot;^&quot;}}enc=&quot;a:&quot;+_12}else{if(typeof v==&quot;object&quot;){var _12=&quot;&quot;;for(var key in v){if(typeof v[key]!=&quot;function&quot;&amp;&amp;v[key]!==undefined){_12+=key+&quot;=&quot;+this.encodeValue(v[key])+&quot;^&quot;}}enc=&quot;o:&quot;+_12.substring(0,_12.length-1)}else{enc=&quot;s:&quot;+v}}}}}return escape(enc)}});Ext.state.Manager=function(){var _1=new Ext.state.Provider();return{setProvider:function(_2){_1=_2},get:function(_3,_4){return _1.get(_3,_4)},set:function(_5,_6){_1.set(_5,_6)},clear:function(_7){_1.clear(_7)},getProvider:function(){return _1}}}();Ext.state.CookieProvider=function(_1){Ext.state.CookieProvider.superclass.constructor.call(this);this.path=&quot;/&quot;;this.expires=new Date(new Date().getTime()+(1000*60*60*24*7));this.domain=null;this.secure=false;Ext.apply(this,_1);this.state=this.readCookies()};Ext.extend(Ext.state.CookieProvider,Ext.state.Provider,{set:function(_2,_3){if(typeof _3==&quot;undefined&quot;||_3===null){this.clear(_2);return}this.setCookie(_2,_3);Ext.state.CookieProvider.superclass.set.call(this,_2,_3)},clear:function(_4){this.clearCookie(_4);Ext.state.CookieProvider.superclass.clear.call(this,_4)},readCookies:function(){var _5={};var c=document.cookie+&quot;;&quot;;var re=/\s?(.*?)=(.*?);/g;var _8;while((_8=re.exec(c))!=null){var _9=_8[1];var _a=_8[2];if(_9&amp;&amp;_9.substring(0,3)==&quot;ys-&quot;){_5[_9.substr(3)]=this.decodeValue(_a)}}return _5},setCookie:function(_b,_c){document.cookie=&quot;ys-&quot;+_b+&quot;=&quot;+this.encodeValue(_c)+((this.expires==null)?&quot;&quot;:(&quot;; expires=&quot;+this.expires.toGMTString()))+((this.path==null)?&quot;&quot;:(&quot;; path=&quot;+this.path))+((this.domain==null)?&quot;&quot;:(&quot;; domain=&quot;+this.domain))+((this.secure==true)?&quot;; secure&quot;:&quot;&quot;)
-},clearCookie:function(_d){document.cookie=&quot;ys-&quot;+_d+&quot;=null; expires=Thu, 01-Jan-70 00:00:01 GMT&quot;+((this.path==null)?&quot;&quot;:(&quot;; path=&quot;+this.path))+((this.domain==null)?&quot;&quot;:(&quot;; domain=&quot;+this.domain))+((this.secure==true)?&quot;; secure&quot;:&quot;&quot;)}});Ext.DataView=Ext.extend(Ext.BoxComponent,{selectedClass:&quot;x-view-selected&quot;,emptyText:&quot;&quot;,deferEmptyText:true,trackOver:false,last:false,initComponent:function(){Ext.DataView.superclass.initComponent.call(this);if(typeof this.tpl==&quot;string&quot;||Ext.isArray(this.tpl)){this.tpl=new Ext.XTemplate(this.tpl)}this.addEvents(&quot;beforeclick&quot;,&quot;click&quot;,&quot;mouseenter&quot;,&quot;mouseleave&quot;,&quot;containerclick&quot;,&quot;dblclick&quot;,&quot;contextmenu&quot;,&quot;selectionchange&quot;,&quot;beforeselect&quot;);this.all=new Ext.CompositeElementLite();this.selected=new Ext.CompositeElementLite()},onRender:function(){if(!this.el){this.el=document.createElement(&quot;div&quot;);this.el.id=this.id}Ext.DataView.superclass.onRender.apply(this,arguments)},afterRender:function(){Ext.DataView.superclass.afterRender.call(this);this.el.on({click:this.onClick,dblclick:this.onDblClick,contextmenu:this.onContextMenu,scope:this});if(this.overClass||this.trackOver){this.el.on({mouseover:this.onMouseOver,mouseout:this.onMouseOut,scope:this})}if(this.store){this.setStore(this.store,true)}},refresh:function(){this.clearSelections(false,true);this.el.update(&quot;&quot;);var _1=this.store.getRange();if(_1.length&lt;1){if(!this.deferEmptyText||this.hasSkippedEmptyText){this.el.update(this.emptyText)}this.all.clear();return}else{this.tpl.overwrite(this.el,this.collectData(_1,0));this.all.fill(Ext.query(this.itemSelector,this.el.dom));this.updateIndexes(0)}this.hasSkippedEmptyText=true},prepareData:function(_2){return _2},collectData:function(_3,_4){var r=[];for(var i=0,_7=_3.length;i&lt;_7;i++){r[r.length]=this.prepareData(_3[i].data,_4+i,_3[i])}return r},bufferRender:function(_8){var _9=document.createElement(&quot;div&quot;);this.tpl.overwrite(_9,this.collectData(_8));return Ext.query(this.itemSelector,_9)},onUpdate:function(ds,_b){var _c=this.store.indexOf(_b);var _d=this.isSelected(_c);var _e=this.all.elements[_c];var _f=this.bufferRender([_b],_c)[0];this.all.replaceElement(_c,_f,true);if(_d){this.selected.replaceElement(_e,_f);this.all.item(_c).addClass(this.selectedClass)}this.updateIndexes(_c,_c)},onAdd:function(ds,_11,_12){if(this.all.getCount()==0){this.refresh();return}var _13=this.bufferRender(_11,_12),n,a=this.all.elements;if(_12&lt;this.all.getCount()){n=this.all.item(_12).insertSibling(_13,&quot;before&quot;,true);a.splice.apply(a,[_12,0].concat(_13))}else{n=this.all.last().insertSibling(_13,&quot;after&quot;,true);a.push.apply(a,_13)}this.updateIndexes(_12)},onRemove:function(ds,_17,_18){this.deselect(_18);this.all.removeElement(_18,true);this.updateIndexes(_18);if(this.store.getCount()==0){this.refresh()}},refreshNode:function(_19){this.onUpdate(this.store,this.store.getAt(_19))},updateIndexes:function(_1a,_1b){var ns=this.all.elements;_1a=_1a||0;_1b=_1b||((_1b===0)?0:(ns.length-1));for(var i=_1a;i&lt;=_1b;i++){ns[i].viewIndex=i}},getStore:function(){return this.store},setStore:function(_1e,_1f){if(!_1f&amp;&amp;this.store){this.store.un(&quot;beforeload&quot;,this.onBeforeLoad,this);this.store.un(&quot;datachanged&quot;,this.refresh,this);this.store.un(&quot;add&quot;,this.onAdd,this);this.store.un(&quot;remove&quot;,this.onRemove,this);this.store.un(&quot;update&quot;,this.onUpdate,this);this.store.un(&quot;clear&quot;,this.refresh,this)}if(_1e){_1e=Ext.StoreMgr.lookup(_1e);_1e.on(&quot;beforeload&quot;,this.onBeforeLoad,this);_1e.on(&quot;datachanged&quot;,this.refresh,this);_1e.on(&quot;add&quot;,this.onAdd,this);_1e.on(&quot;remove&quot;,this.onRemove,this);_1e.on(&quot;update&quot;,this.onUpdate,this);_1e.on(&quot;clear&quot;,this.refresh,this)}this.store=_1e;if(_1e){this.refresh()}},findItemFromChild:function(_20){return Ext.fly(_20).findParent(this.itemSelector,this.el)},onClick:function(e){var _22=e.getTarget(this.itemSelector,this.el);if(_22){var _23=this.indexOf(_22);if(this.onItemClick(_22,_23,e)!==false){this.fireEvent(&quot;click&quot;,this,_23,_22,e)}}else{if(this.fireEvent(&quot;containerclick&quot;,this,e)!==false){this.clearSelections()}}},onContextMenu:function(e){var _25=e.getTarget(this.itemSelector,this.el);if(_25){this.fireEvent(&quot;contextmenu&quot;,this,this.indexOf(_25),_25,e)}},onDblClick:function(e){var _27=e.getTarget(this.itemSelector,this.el);if(_27){this.fireEvent(&quot;dblclick&quot;,this,this.indexOf(_27),_27,e)}},onMouseOver:function(e){var _29=e.getTarget(this.itemSelector,this.el);if(_29&amp;&amp;_29!==this.lastItem){this.lastItem=_29;Ext.fly(_29).addClass(this.overClass);this.fireEvent(&quot;mouseenter&quot;,this,this.indexOf(_29),_29,e)}},onMouseOut:function(e){if(this.lastItem){if(!e.within(this.lastItem,true,true)){Ext.fly(this.lastItem).removeClass(this.overClass);this.fireEvent(&quot;mouseleave&quot;,this,this.indexOf(this.lastItem),this.lastItem,e);delete this.lastItem}}},onItemClick:function(_2b,_2c,e){if(this.fireEvent(&quot;beforeclick&quot;,this,_2c,_2b,e)===false){return false}if(this.multiSelect){this.doMultiSelection(_2b,_2c,e);e.preventDefault()}else{if(this.singleSelect){this.doSingleSelection(_2b,_2c,e);e.preventDefault()}}return true},doSingleSelection:function(_2e,_2f,e){if(e.ctrlKey&amp;&amp;this.isSelected(_2f)){this.deselect(_2f)}else{this.select(_2f,false)}},doMultiSelection:function(_31,_32,e){if(e.shiftKey&amp;&amp;this.last!==false){var _34=this.last;this.selectRange(_34,_32,e.ctrlKey);this.last=_34}else{if((e.ctrlKey||this.simpleSelect)&amp;&amp;this.isSelected(_32)){this.deselect(_32)}else{this.select(_32,e.ctrlKey||e.shiftKey||this.simpleSelect)}}},getSelectionCount:function(){return this.selected.getCount()},getSelectedNodes:function(){return this.selected.elements},getSelectedIndexes:function(){var _35=[],s=this.selected.elements;for(var i=0,len=s.length;i&lt;len;i++){_35.push(s[i].viewIndex)}return _35},getSelectedRecords:function(){var r=[],s=this.selected.elements;for(var i=0,len=s.length;i&lt;len;i++){r[r.length]=this.store.getAt(s[i].viewIndex)}return r},getRecords:function(_3d){var r=[],s=_3d;for(var i=0,len=s.length;i&lt;len;i++){r[r.length]=this.store.getAt(s[i].viewIndex)}return r},getRecord:function(_42){return this.store.getAt(_42.viewIndex)},clearSelections:function(_43,_44){if((this.multiSelect||this.singleSelect)&amp;&amp;this.selected.getCount()&gt;0){if(!_44){this.selected.removeClass(this.selectedClass)}this.selected.clear();this.last=false;if(!_43){this.fireEvent(&quot;selectionchange&quot;,this,this.selected.elements)}}},isSelected:function(_45){return this.selected.contains(this.getNode(_45))},deselect:function(_46){if(this.isSelected(_46)){_46=this.getNode(_46);this.selected.removeElement(_46);if(this.last==_46.viewIndex){this.last=false}Ext.fly(_46).removeClass(this.selectedClass);this.fireEvent(&quot;selectionchange&quot;,this,this.selected.elements)}},select:function(_47,_48,_49){if(Ext.isArray(_47)){if(!_48){this.clearSelections(true)}for(var i=0,len=_47.length;i&lt;len;i++){this.select(_47[i],true,true)}if(!_49){this.fireEvent(&quot;selectionchange&quot;,this,this.selected.elements)}}else{var _4c=this.getNode(_47);if(!_48){this.clearSelections(true)}if(_4c&amp;&amp;!this.isSelected(_4c)){if(this.fireEvent(&quot;beforeselect&quot;,this,_4c,this.selected.elements)!==false){Ext.fly(_4c).addClass(this.selectedClass);this.selected.add(_4c);this.last=_4c.viewIndex;if(!_49){this.fireEvent(&quot;selectionchange&quot;,this,this.selected.elements)}}}}},selectRange:function(_4d,end,_4f){if(!_4f){this.clearSelections(true)}this.select(this.getNodes(_4d,end),true)},getNode:function(_50){if(typeof _50==&quot;string&quot;){return document.getElementById(_50)}else{if(typeof _50==&quot;number&quot;){return this.all.elements[_50]}}return _50},getNodes:function(_51,end){var ns=this.all.elements;_51=_51||0;end=typeof end==&quot;undefined&quot;?Math.max(ns.length-1,0):end;var _54=[],i;if(_51&lt;=end){for(i=_51;i&lt;=end&amp;&amp;ns[i];i++){_54.push(ns[i])}}else{for(i=_51;i&gt;=end&amp;&amp;ns[i];i--){_54.push(ns[i])}}return _54},indexOf:function(_56){_56=this.getNode(_56);if(typeof _56.viewIndex==&quot;number&quot;){return _56.viewIndex}return this.all.indexOf(_56)},onBeforeLoad:function(){if(this.loadingText){this.clearSelections(false,true);this.el.update('&lt;div class=&quot;loading-indicator&quot;&gt;'+this.loadingText+&quot;&lt;/div&gt;&quot;);this.all.clear()}},onDestroy:function(){Ext.DataView.superclass.onDestroy.call(this);
-this.setStore(null)}});Ext.reg(&quot;dataview&quot;,Ext.DataView);Ext.ColorPalette=function(_1){Ext.ColorPalette.superclass.constructor.call(this,_1);this.addEvents(&quot;select&quot;);if(this.handler){this.on(&quot;select&quot;,this.handler,this.scope,true)}};Ext.extend(Ext.ColorPalette,Ext.Component,{itemCls:&quot;x-color-palette&quot;,value:null,clickEvent:&quot;click&quot;,ctype:&quot;Ext.ColorPalette&quot;,allowReselect:false,colors:[&quot;000000&quot;,&quot;993300&quot;,&quot;333300&quot;,&quot;003300&quot;,&quot;003366&quot;,&quot;000080&quot;,&quot;333399&quot;,&quot;333333&quot;,&quot;800000&quot;,&quot;FF6600&quot;,&quot;808000&quot;,&quot;008000&quot;,&quot;008080&quot;,&quot;0000FF&quot;,&quot;666699&quot;,&quot;808080&quot;,&quot;FF0000&quot;,&quot;FF9900&quot;,&quot;99CC00&quot;,&quot;339966&quot;,&quot;33CCCC&quot;,&quot;3366FF&quot;,&quot;800080&quot;,&quot;969696&quot;,&quot;FF00FF&quot;,&quot;FFCC00&quot;,&quot;FFFF00&quot;,&quot;00FF00&quot;,&quot;00FFFF&quot;,&quot;00CCFF&quot;,&quot;993366&quot;,&quot;C0C0C0&quot;,&quot;FF99CC&quot;,&quot;FFCC99&quot;,&quot;FFFF99&quot;,&quot;CCFFCC&quot;,&quot;CCFFFF&quot;,&quot;99CCFF&quot;,&quot;CC99FF&quot;,&quot;FFFFFF&quot;],onRender:function(_2,_3){var t=this.tpl||new Ext.XTemplate('&lt;tpl for=&quot;.&quot;&gt;&lt;a href=&quot;#&quot; class=&quot;color-{.}&quot; hidefocus=&quot;on&quot;&gt;&lt;em&gt;&lt;span style=&quot;background:#{.}&quot; unselectable=&quot;on&quot;&gt;&amp;#160;&lt;/span&gt;&lt;/em&gt;&lt;/a&gt;&lt;/tpl&gt;');var el=document.createElement(&quot;div&quot;);el.id=this.getId();el.className=this.itemCls;t.overwrite(el,this.colors);_2.dom.insertBefore(el,_3);this.el=Ext.get(el);this.el.on(this.clickEvent,this.handleClick,this,{delegate:&quot;a&quot;});if(this.clickEvent!=&quot;click&quot;){this.el.on(&quot;click&quot;,Ext.emptyFn,this,{delegate:&quot;a&quot;,preventDefault:true})}},afterRender:function(){Ext.ColorPalette.superclass.afterRender.call(this);if(this.value){var s=this.value;this.value=null;this.select(s)}},handleClick:function(e,t){e.preventDefault();if(!this.disabled){var c=t.className.match(/(?:^|\s)color-(.{6})(?:\s|$)/)[1];this.select(c.toUpperCase())}},select:function(_a){_a=_a.replace(&quot;#&quot;,&quot;&quot;);if(_a!=this.value||this.allowReselect){var el=this.el;if(this.value){el.child(&quot;a.color-&quot;+this.value).removeClass(&quot;x-color-palette-sel&quot;)}el.child(&quot;a.color-&quot;+_a).addClass(&quot;x-color-palette-sel&quot;);this.value=_a;this.fireEvent(&quot;select&quot;,this,_a)}}});Ext.reg(&quot;colorpalette&quot;,Ext.ColorPalette);Ext.DatePicker=Ext.extend(Ext.Component,{todayText:&quot;Today&quot;,okText:&quot;&amp;#160;OK&amp;#160;&quot;,cancelText:&quot;Cancel&quot;,todayTip:&quot;{0} (Spacebar)&quot;,minText:&quot;This date is before the minimum date&quot;,maxText:&quot;This date is after the maximum date&quot;,format:&quot;m/d/y&quot;,disabledDaysText:&quot;Disabled&quot;,disabledDatesText:&quot;Disabled&quot;,monthNames:Date.monthNames,dayNames:Date.dayNames,nextText:&quot;Next Month (Control+Right)&quot;,prevText:&quot;Previous Month (Control+Left)&quot;,monthYearText:&quot;Choose a month (Control+Up/Down to move years)&quot;,startDay:0,showToday:true,initComponent:function(){Ext.DatePicker.superclass.initComponent.call(this);this.value=this.value?this.value.clearTime():new Date().clearTime();this.addEvents(&quot;select&quot;);if(this.handler){this.on(&quot;select&quot;,this.handler,this.scope||this)}this.initDisabledDays()},initDisabledDays:function(){if(!this.disabledDatesRE&amp;&amp;this.disabledDates){var dd=this.disabledDates;var re=&quot;(?:&quot;;for(var i=0;i&lt;dd.length;i++){re+=dd[i];if(i!=dd.length-1){re+=&quot;|&quot;}}this.disabledDatesRE=new RegExp(re+&quot;)&quot;)}},setDisabledDates:function(dd){if(Ext.isArray(dd)){this.disabledDates=dd;this.disabledDatesRE=null}else{this.disabledDatesRE=dd}this.initDisabledDays();this.update(this.value,true)},setDisabledDays:function(dd){this.disabledDays=dd;this.update(this.value,true)},setMinDate:function(dt){this.minDate=dt;this.update(this.value,true)},setMaxDate:function(dt){this.maxDate=dt;this.update(this.value,true)},setValue:function(_8){var _9=this.value;this.value=_8.clearTime(true);if(this.el){this.update(this.value)}},getValue:function(){return this.value},focus:function(){if(this.el){this.update(this.activeDate)}},onRender:function(_a,_b){var m=['&lt;table cellspacing=&quot;0&quot;&gt;','&lt;tr&gt;&lt;td class=&quot;x-date-left&quot;&gt;&lt;a href=&quot;#&quot; title=&quot;',this.prevText,'&quot;&gt;&amp;#160;&lt;/a&gt;&lt;/td&gt;&lt;td class=&quot;x-date-middle&quot; align=&quot;center&quot;&gt;&lt;/td&gt;&lt;td class=&quot;x-date-right&quot;&gt;&lt;a href=&quot;#&quot; title=&quot;',this.nextText,'&quot;&gt;&amp;#160;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;','&lt;tr&gt;&lt;td colspan=&quot;3&quot;&gt;&lt;table class=&quot;x-date-inner&quot; cellspacing=&quot;0&quot;&gt;&lt;thead&gt;&lt;tr&gt;'];var dn=this.dayNames;for(var i=0;i&lt;7;i++){var d=this.startDay+i;if(d&gt;6){d=d-7}m.push(&quot;&lt;th&gt;&lt;span&gt;&quot;,dn[d].substr(0,1),&quot;&lt;/span&gt;&lt;/th&gt;&quot;)}m[m.length]=&quot;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&quot;;for(var i=0;i&lt;42;i++){if(i%7==0&amp;&amp;i!=0){m[m.length]=&quot;&lt;/tr&gt;&lt;tr&gt;&quot;}m[m.length]='&lt;td&gt;&lt;a href=&quot;#&quot; hidefocus=&quot;on&quot; class=&quot;x-date-date&quot; tabIndex=&quot;1&quot;&gt;&lt;em&gt;&lt;span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/a&gt;&lt;/td&gt;'}m.push(&quot;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&quot;,this.showToday?'&lt;tr&gt;&lt;td colspan=&quot;3&quot; class=&quot;x-date-bottom&quot; align=&quot;center&quot;&gt;&lt;/td&gt;&lt;/tr&gt;':&quot;&quot;,'&lt;/table&gt;&lt;div class=&quot;x-date-mp&quot;&gt;&lt;/div&gt;');var el=document.createElement(&quot;div&quot;);el.className=&quot;x-date-picker&quot;;el.innerHTML=m.join(&quot;&quot;);_a.dom.insertBefore(el,_b);this.el=Ext.get(el);this.eventEl=Ext.get(el.firstChild);this.leftClickRpt=new Ext.util.ClickRepeater(this.el.child(&quot;td.x-date-left a&quot;),{handler:this.showPrevMonth,scope:this,preventDefault:true,stopDefault:true});this.rightClickRpt=new Ext.util.ClickRepeater(this.el.child(&quot;td.x-date-right a&quot;),{handler:this.showNextMonth,scope:this,preventDefault:true,stopDefault:true});this.eventEl.on(&quot;mousewheel&quot;,this.handleMouseWheel,this);this.monthPicker=this.el.down(&quot;div.x-date-mp&quot;);this.monthPicker.enableDisplayMode(&quot;block&quot;);var kn=new Ext.KeyNav(this.eventEl,{left:function(e){e.ctrlKey?this.showPrevMonth():this.update(this.activeDate.add(&quot;d&quot;,-1))},right:function(e){e.ctrlKey?this.showNextMonth():this.update(this.activeDate.add(&quot;d&quot;,1))},up:function(e){e.ctrlKey?this.showNextYear():this.update(this.activeDate.add(&quot;d&quot;,-7))},down:function(e){e.ctrlKey?this.showPrevYear():this.update(this.activeDate.add(&quot;d&quot;,7))},pageUp:function(e){this.showNextMonth()},pageDown:function(e){this.showPrevMonth()},enter:function(e){e.stopPropagation();return true},scope:this});this.eventEl.on(&quot;click&quot;,this.handleDateClick,this,{delegate:&quot;a.x-date-date&quot;});this.el.unselectable();this.cells=this.el.select(&quot;table.x-date-inner tbody td&quot;);this.textNodes=this.el.query(&quot;table.x-date-inner tbody span&quot;);this.mbtn=new Ext.Button({text:&quot;&amp;#160;&quot;,tooltip:this.monthYearText,renderTo:this.el.child(&quot;td.x-date-middle&quot;,true)});this.mbtn.on(&quot;click&quot;,this.showMonthPicker,this);this.mbtn.el.child(this.mbtn.menuClassTarget).addClass(&quot;x-btn-with-menu&quot;);if(this.showToday){this.todayKeyListener=this.eventEl.addKeyListener(Ext.EventObject.SPACE,this.selectToday,this);var _19=(new Date()).dateFormat(this.format);this.todayBtn=new Ext.Button({renderTo:this.el.child(&quot;td.x-date-bottom&quot;,true),text:String.format(this.todayText,_19),tooltip:String.format(this.todayTip,_19),handler:this.selectToday,scope:this})}if(Ext.isIE){this.el.repaint()}this.update(this.value)},createMonthPicker:function(){if(!this.monthPicker.dom.firstChild){var buf=['&lt;table border=&quot;0&quot; cellspacing=&quot;0&quot;&gt;'];for(var i=0;i&lt;6;i++){buf.push('&lt;tr&gt;&lt;td class=&quot;x-date-mp-month&quot;&gt;&lt;a href=&quot;#&quot;&gt;',this.monthNames[i].substr(0,3),&quot;&lt;/a&gt;&lt;/td&gt;&quot;,'&lt;td class=&quot;x-date-mp-month x-date-mp-sep&quot;&gt;&lt;a href=&quot;#&quot;&gt;',this.monthNames[i+6].substr(0,3),&quot;&lt;/a&gt;&lt;/td&gt;&quot;,i==0?'&lt;td class=&quot;x-date-mp-ybtn&quot; align=&quot;center&quot;&gt;&lt;a class=&quot;x-date-mp-prev&quot;&gt;&lt;/a&gt;&lt;/td&gt;&lt;td class=&quot;x-date-mp-ybtn&quot; align=&quot;center&quot;&gt;&lt;a class=&quot;x-date-mp-next&quot;&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;':'&lt;td class=&quot;x-date-mp-year&quot;&gt;&lt;a href=&quot;#&quot;&gt;&lt;/a&gt;&lt;/td&gt;&lt;td class=&quot;x-date-mp-year&quot;&gt;&lt;a href=&quot;#&quot;&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;')}buf.push('&lt;tr class=&quot;x-date-mp-btns&quot;&gt;&lt;td colspan=&quot;4&quot;&gt;&lt;button type=&quot;button&quot; class=&quot;x-date-mp-ok&quot;&gt;',this.okText,'&lt;/button&gt;&lt;button type=&quot;button&quot; class=&quot;x-date-mp-cancel&quot;&gt;',this.cancelText,&quot;&lt;/button&gt;&lt;/td&gt;&lt;/tr&gt;&quot;,&quot;&lt;/table&gt;&quot;);this.monthPicker.update(buf.join(&quot;&quot;));this.monthPicker.on(&quot;click&quot;,this.onMonthClick,this);this.monthPicker.on(&quot;dblclick&quot;,this.onMonthDblClick,this);this.mpMonths=this.monthPicker.select(&quot;td.x-date-mp-month&quot;);this.mpYears=this.monthPicker.select(&quot;td.x-date-mp-year&quot;);this.mpMonths.each(function(m,a,i){i+=1;if((i%2)==0){m.dom.xmonth=5+Math.round(i*0.5)}else{m.dom.xmonth=Math.round((i-1)*0.5)}})}},showMonthPicker:function(){this.createMonthPicker();var _1f=this.el.getSize();this.monthPicker.setSize(_1f);this.monthPicker.child(&quot;table&quot;).setSize(_1f);this.mpSelMonth=(this.activeDate||this.value).getMonth();this.updateMPMonth(this.mpSelMonth);this.mpSelYear=(this.activeDate||this.value).getFullYear();this.updateMPYear(this.mpSelYear);this.monthPicker.slideIn(&quot;t&quot;,{duration:0.2})
-},updateMPYear:function(y){this.mpyear=y;var ys=this.mpYears.elements;for(var i=1;i&lt;=10;i++){var td=ys[i-1],y2;if((i%2)==0){y2=y+Math.round(i*0.5);td.firstChild.innerHTML=y2;td.xyear=y2}else{y2=y-(5-Math.round(i*0.5));td.firstChild.innerHTML=y2;td.xyear=y2}this.mpYears.item(i-1)[y2==this.mpSelYear?&quot;addClass&quot;:&quot;removeClass&quot;](&quot;x-date-mp-sel&quot;)}},updateMPMonth:function(sm){this.mpMonths.each(function(m,a,i){m[m.dom.xmonth==sm?&quot;addClass&quot;:&quot;removeClass&quot;](&quot;x-date-mp-sel&quot;)})},selectMPMonth:function(m){},onMonthClick:function(e,t){e.stopEvent();var el=new Ext.Element(t),pn;if(el.is(&quot;button.x-date-mp-cancel&quot;)){this.hideMonthPicker()}else{if(el.is(&quot;button.x-date-mp-ok&quot;)){var d=new Date(this.mpSelYear,this.mpSelMonth,(this.activeDate||this.value).getDate());if(d.getMonth()!=this.mpSelMonth){d=new Date(this.mpSelYear,this.mpSelMonth,1).getLastDateOfMonth()}this.update(d);this.hideMonthPicker()}else{if(pn=el.up(&quot;td.x-date-mp-month&quot;,2)){this.mpMonths.removeClass(&quot;x-date-mp-sel&quot;);pn.addClass(&quot;x-date-mp-sel&quot;);this.mpSelMonth=pn.dom.xmonth}else{if(pn=el.up(&quot;td.x-date-mp-year&quot;,2)){this.mpYears.removeClass(&quot;x-date-mp-sel&quot;);pn.addClass(&quot;x-date-mp-sel&quot;);this.mpSelYear=pn.dom.xyear}else{if(el.is(&quot;a.x-date-mp-prev&quot;)){this.updateMPYear(this.mpyear-10)}else{if(el.is(&quot;a.x-date-mp-next&quot;)){this.updateMPYear(this.mpyear+10)}}}}}}},onMonthDblClick:function(e,t){e.stopEvent();var el=new Ext.Element(t),pn;if(pn=el.up(&quot;td.x-date-mp-month&quot;,2)){this.update(new Date(this.mpSelYear,pn.dom.xmonth,(this.activeDate||this.value).getDate()));this.hideMonthPicker()}else{if(pn=el.up(&quot;td.x-date-mp-year&quot;,2)){this.update(new Date(pn.dom.xyear,this.mpSelMonth,(this.activeDate||this.value).getDate()));this.hideMonthPicker()}}},hideMonthPicker:function(_33){if(this.monthPicker){if(_33===true){this.monthPicker.hide()}else{this.monthPicker.slideOut(&quot;t&quot;,{duration:0.2})}}},showPrevMonth:function(e){this.update(this.activeDate.add(&quot;mo&quot;,-1))},showNextMonth:function(e){this.update(this.activeDate.add(&quot;mo&quot;,1))},showPrevYear:function(){this.update(this.activeDate.add(&quot;y&quot;,-1))},showNextYear:function(){this.update(this.activeDate.add(&quot;y&quot;,1))},handleMouseWheel:function(e){var _37=e.getWheelDelta();if(_37&gt;0){this.showPrevMonth();e.stopEvent()}else{if(_37&lt;0){this.showNextMonth();e.stopEvent()}}},handleDateClick:function(e,t){e.stopEvent();if(t.dateValue&amp;&amp;!Ext.fly(t.parentNode).hasClass(&quot;x-date-disabled&quot;)){this.setValue(new Date(t.dateValue));this.fireEvent(&quot;select&quot;,this,this.value)}},selectToday:function(){if(this.todayBtn&amp;&amp;!this.todayBtn.disabled){this.setValue(new Date().clearTime());this.fireEvent(&quot;select&quot;,this,this.value)}},update:function(_3a,_3b){var vd=this.activeDate;this.activeDate=_3a;if(!_3b&amp;&amp;vd&amp;&amp;this.el){var t=_3a.getTime();if(vd.getMonth()==_3a.getMonth()&amp;&amp;vd.getFullYear()==_3a.getFullYear()){this.cells.removeClass(&quot;x-date-selected&quot;);this.cells.each(function(c){if(c.dom.firstChild.dateValue==t){c.addClass(&quot;x-date-selected&quot;);setTimeout(function(){try{c.dom.firstChild.focus()}catch(e){}},50);return false}});return}}var _3f=_3a.getDaysInMonth();var _40=_3a.getFirstDateOfMonth();var _41=_40.getDay()-this.startDay;if(_41&lt;=this.startDay){_41+=7}var pm=_3a.add(&quot;mo&quot;,-1);var _43=pm.getDaysInMonth()-_41;var _44=this.cells.elements;var _45=this.textNodes;_3f+=_41;var day=86400000;var d=(new Date(pm.getFullYear(),pm.getMonth(),_43)).clearTime();var _48=new Date().clearTime().getTime();var sel=_3a.clearTime().getTime();var min=this.minDate?this.minDate.clearTime():Number.NEGATIVE_INFINITY;var max=this.maxDate?this.maxDate.clearTime():Number.POSITIVE_INFINITY;var _4c=this.disabledDatesRE;var _4d=this.disabledDatesText;var _4e=this.disabledDays?this.disabledDays.join(&quot;&quot;):false;var _4f=this.disabledDaysText;var _50=this.format;if(this.showToday){var td=new Date().clearTime();var _52=(td&lt;min||td&gt;max||(_4c&amp;&amp;_50&amp;&amp;_4c.test(td.dateFormat(_50)))||(_4e&amp;&amp;_4e.indexOf(td.getDay())!=-1));this.todayBtn.setDisabled(_52);this.todayKeyListener[_52?&quot;disable&quot;:&quot;enable&quot;]()}var _53=function(cal,_55){_55.title=&quot;&quot;;var t=d.getTime();_55.firstChild.dateValue=t;if(t==_48){_55.className+=&quot; x-date-today&quot;;_55.title=cal.todayText}if(t==sel){_55.className+=&quot; x-date-selected&quot;;setTimeout(function(){try{_55.firstChild.focus()}catch(e){}},50)}if(t&lt;min){_55.className=&quot; x-date-disabled&quot;;_55.title=cal.minText;return}if(t&gt;max){_55.className=&quot; x-date-disabled&quot;;_55.title=cal.maxText;return}if(_4e){if(_4e.indexOf(d.getDay())!=-1){_55.title=_4f;_55.className=&quot; x-date-disabled&quot;}}if(_4c&amp;&amp;_50){var _57=d.dateFormat(_50);if(_4c.test(_57)){_55.title=_4d.replace(&quot;%0&quot;,_57);_55.className=&quot; x-date-disabled&quot;}}};var i=0;for(;i&lt;_41;i++){_45[i].innerHTML=(++_43);d.setDate(d.getDate()+1);_44[i].className=&quot;x-date-prevday&quot;;_53(this,_44[i])}for(;i&lt;_3f;i++){var _59=i-_41+1;_45[i].innerHTML=(_59);d.setDate(d.getDate()+1);_44[i].className=&quot;x-date-active&quot;;_53(this,_44[i])}var _5a=0;for(;i&lt;42;i++){_45[i].innerHTML=(++_5a);d.setDate(d.getDate()+1);_44[i].className=&quot;x-date-nextday&quot;;_53(this,_44[i])}this.mbtn.setText(this.monthNames[_3a.getMonth()]+&quot; &quot;+_3a.getFullYear());if(!this.internalRender){var _5b=this.el.dom.firstChild;var w=_5b.offsetWidth;this.el.setWidth(w+this.el.getBorderWidth(&quot;lr&quot;));Ext.fly(_5b).setWidth(w);this.internalRender=true;if(Ext.isOpera&amp;&amp;!this.secondPass){_5b.rows[0].cells[1].style.width=(w-(_5b.rows[0].cells[0].offsetWidth+_5b.rows[0].cells[2].offsetWidth))+&quot;px&quot;;this.secondPass=true;this.update.defer(10,this,[_3a])}}},beforeDestroy:function(){if(this.rendered){Ext.destroy(this.leftClickRpt,this.rightClickRpt,this.monthPicker,this.eventEl,this.mbtn,this.todayBtn)}}});Ext.reg(&quot;datepicker&quot;,Ext.DatePicker);Ext.TabPanel=Ext.extend(Ext.Panel,{monitorResize:true,deferredRender:true,tabWidth:120,minTabWidth:30,resizeTabs:false,enableTabScroll:false,scrollIncrement:0,scrollRepeatInterval:400,scrollDuration:0.35,animScroll:true,tabPosition:&quot;top&quot;,baseCls:&quot;x-tab-panel&quot;,autoTabs:false,autoTabSelector:&quot;div.x-tab&quot;,activeTab:null,tabMargin:2,plain:false,wheelIncrement:20,idDelimiter:&quot;__&quot;,itemCls:&quot;x-tab-item&quot;,elements:&quot;body&quot;,headerAsText:false,frame:false,hideBorders:true,initComponent:function(){this.frame=false;Ext.TabPanel.superclass.initComponent.call(this);this.addEvents(&quot;beforetabchange&quot;,&quot;tabchange&quot;,&quot;contextmenu&quot;);this.setLayout(new Ext.layout.CardLayout({deferredRender:this.deferredRender}));if(this.tabPosition==&quot;top&quot;){this.elements+=&quot;,header&quot;;this.stripTarget=&quot;header&quot;}else{this.elements+=&quot;,footer&quot;;this.stripTarget=&quot;footer&quot;}if(!this.stack){this.stack=Ext.TabPanel.AccessStack()}this.initItems()},render:function(){Ext.TabPanel.superclass.render.apply(this,arguments);if(this.activeTab!==undefined){var _1=this.activeTab;delete this.activeTab;this.setActiveTab(_1)}},onRender:function(ct,_3){Ext.TabPanel.superclass.onRender.call(this,ct,_3);if(this.plain){var _4=this.tabPosition==&quot;top&quot;?&quot;header&quot;:&quot;footer&quot;;this[_4].addClass(&quot;x-tab-panel-&quot;+_4+&quot;-plain&quot;)}var st=this[this.stripTarget];this.stripWrap=st.createChild({cls:&quot;x-tab-strip-wrap&quot;,cn:{tag:&quot;ul&quot;,cls:&quot;x-tab-strip x-tab-strip-&quot;+this.tabPosition}});var _6=(this.tabPosition==&quot;bottom&quot;?this.stripWrap:null);this.stripSpacer=st.createChild({cls:&quot;x-tab-strip-spacer&quot;},_6);this.strip=new Ext.Element(this.stripWrap.dom.firstChild);this.edge=this.strip.createChild({tag:&quot;li&quot;,cls:&quot;x-tab-edge&quot;});this.strip.createChild({cls:&quot;x-clear&quot;});this.body.addClass(&quot;x-tab-panel-body-&quot;+this.tabPosition);if(!this.itemTpl){var tt=new Ext.Template('&lt;li class=&quot;{cls}&quot; id=&quot;{id}&quot;&gt;&lt;a class=&quot;x-tab-strip-close&quot; onclick=&quot;return false;&quot;&gt;&lt;/a&gt;','&lt;a class=&quot;x-tab-right&quot; href=&quot;#&quot; onclick=&quot;return false;&quot;&gt;&lt;em class=&quot;x-tab-left&quot;&gt;','&lt;span class=&quot;x-tab-strip-inner&quot;&gt;&lt;span class=&quot;x-tab-strip-text {iconCls}&quot;&gt;{text}&lt;/span&gt;&lt;/span&gt;',&quot;&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;&quot;);tt.disableFormats=true;tt.compile();Ext.TabPanel.prototype.itemTpl=tt}this.items.each(this.initTab,this)},afterRender:function(){Ext.TabPanel.superclass.afterRender.call(this);if(this.autoTabs){this.readTabs(false)}},initEvents:function(){Ext.TabPanel.superclass.initEvents.call(this);this.on(&quot;add&quot;,this.onAdd,this);this.on(&quot;remove&quot;,this.onRemove,this);
-this.strip.on(&quot;mousedown&quot;,this.onStripMouseDown,this);this.strip.on(&quot;contextmenu&quot;,this.onStripContextMenu,this);if(this.enableTabScroll){this.strip.on(&quot;mousewheel&quot;,this.onWheel,this)}},findTargets:function(e){var _9=null;var _a=e.getTarget(&quot;li&quot;,this.strip);if(_a){_9=this.getComponent(_a.id.split(this.idDelimiter)[1]);if(_9.disabled){return{close:null,item:null,el:null}}}return{close:e.getTarget(&quot;.x-tab-strip-close&quot;,this.strip),item:_9,el:_a}},onStripMouseDown:function(e){if(e.button!=0){return}e.preventDefault();var t=this.findTargets(e);if(t.close){this.remove(t.item);return}if(t.item&amp;&amp;t.item!=this.activeTab){this.setActiveTab(t.item)}},onStripContextMenu:function(e){e.preventDefault();var t=this.findTargets(e);if(t.item){this.fireEvent(&quot;contextmenu&quot;,this,t.item,e)}},readTabs:function(_f){if(_f===true){this.items.each(function(_10){this.remove(_10)},this)}var _11=this.el.query(this.autoTabSelector);for(var i=0,len=_11.length;i&lt;len;i++){var tab=_11[i];var _15=tab.getAttribute(&quot;title&quot;);tab.removeAttribute(&quot;title&quot;);this.add({title:_15,contentEl:tab})}},initTab:function(_16,_17){var _18=this.strip.dom.childNodes[_17];var cls=_16.closable?&quot;x-tab-strip-closable&quot;:&quot;&quot;;if(_16.disabled){cls+=&quot; x-item-disabled&quot;}if(_16.iconCls){cls+=&quot; x-tab-with-icon&quot;}if(_16.tabCls){cls+=&quot; &quot;+_16.tabCls}var p={id:this.id+this.idDelimiter+_16.getItemId(),text:_16.title,cls:cls,iconCls:_16.iconCls||&quot;&quot;};var el=_18?this.itemTpl.insertBefore(_18,p):this.itemTpl.append(this.strip,p);Ext.fly(el).addClassOnOver(&quot;x-tab-strip-over&quot;);if(_16.tabTip){Ext.fly(el).child(&quot;span.x-tab-strip-text&quot;,true).qtip=_16.tabTip}_16.tabEl=el;_16.on(&quot;disable&quot;,this.onItemDisabled,this);_16.on(&quot;enable&quot;,this.onItemEnabled,this);_16.on(&quot;titlechange&quot;,this.onItemTitleChanged,this);_16.on(&quot;iconchange&quot;,this.onItemIconChanged,this);_16.on(&quot;beforeshow&quot;,this.onBeforeShowItem,this)},onAdd:function(tp,_1d,_1e){this.initTab(_1d,_1e);if(this.items.getCount()==1){this.syncSize()}this.delegateUpdates()},onBeforeAdd:function(_1f){var _20=_1f.events?(this.items.containsKey(_1f.getItemId())?_1f:null):this.items.get(_1f);if(_20){this.setActiveTab(_1f);return false}Ext.TabPanel.superclass.onBeforeAdd.apply(this,arguments);var es=_1f.elements;_1f.elements=es?es.replace(&quot;,header&quot;,&quot;&quot;):es;_1f.border=(_1f.border===true)},onRemove:function(tp,_23){Ext.destroy(Ext.get(this.getTabEl(_23)));this.stack.remove(_23);_23.un(&quot;disable&quot;,this.onItemDisabled,this);_23.un(&quot;enable&quot;,this.onItemEnabled,this);_23.un(&quot;titlechange&quot;,this.onItemTitleChanged,this);_23.un(&quot;iconchange&quot;,this.onItemIconChanged,this);_23.un(&quot;beforeshow&quot;,this.onBeforeShowItem,this);if(_23==this.activeTab){var _24=this.stack.next();if(_24){this.setActiveTab(_24)}else{if(this.items.getCount()&gt;0){this.setActiveTab(0)}else{this.activeTab=null}}}this.delegateUpdates()},onBeforeShowItem:function(_25){if(_25!=this.activeTab){this.setActiveTab(_25);return false}},onItemDisabled:function(_26){var el=this.getTabEl(_26);if(el){Ext.fly(el).addClass(&quot;x-item-disabled&quot;)}this.stack.remove(_26)},onItemEnabled:function(_28){var el=this.getTabEl(_28);if(el){Ext.fly(el).removeClass(&quot;x-item-disabled&quot;)}},onItemTitleChanged:function(_2a){var el=this.getTabEl(_2a);if(el){Ext.fly(el).child(&quot;span.x-tab-strip-text&quot;,true).innerHTML=_2a.title}},onItemIconChanged:function(_2c,_2d,_2e){var el=this.getTabEl(_2c);if(el){Ext.fly(el).child(&quot;span.x-tab-strip-text&quot;).replaceClass(_2e,_2d)}},getTabEl:function(_30){var _31=(typeof _30===&quot;number&quot;)?this.items.items[_30].getItemId():_30.getItemId();return document.getElementById(this.id+this.idDelimiter+_31)},onResize:function(){Ext.TabPanel.superclass.onResize.apply(this,arguments);this.delegateUpdates()},beginUpdate:function(){this.suspendUpdates=true},endUpdate:function(){this.suspendUpdates=false;this.delegateUpdates()},hideTabStripItem:function(_32){_32=this.getComponent(_32);var el=this.getTabEl(_32);if(el){el.style.display=&quot;none&quot;;this.delegateUpdates()}this.stack.remove(_32)},unhideTabStripItem:function(_34){_34=this.getComponent(_34);var el=this.getTabEl(_34);if(el){el.style.display=&quot;&quot;;this.delegateUpdates()}},delegateUpdates:function(){if(this.suspendUpdates){return}if(this.resizeTabs&amp;&amp;this.rendered){this.autoSizeTabs()}if(this.enableTabScroll&amp;&amp;this.rendered){this.autoScrollTabs()}},autoSizeTabs:function(){var _36=this.items.length;var ce=this.tabPosition!=&quot;bottom&quot;?&quot;header&quot;:&quot;footer&quot;;var ow=this[ce].dom.offsetWidth;var aw=this[ce].dom.clientWidth;if(!this.resizeTabs||_36&lt;1||!aw){return}var _3a=Math.max(Math.min(Math.floor((aw-4)/_36)-this.tabMargin,this.tabWidth),this.minTabWidth);this.lastTabWidth=_3a;var lis=this.stripWrap.dom.getElementsByTagName(&quot;li&quot;);for(var i=0,len=lis.length-1;i&lt;len;i++){var li=lis[i];var _3f=li.childNodes[1].firstChild.firstChild;var tw=li.offsetWidth;var iw=_3f.offsetWidth;_3f.style.width=(_3a-(tw-iw))+&quot;px&quot;}},adjustBodyWidth:function(w){if(this.header){this.header.setWidth(w)}if(this.footer){this.footer.setWidth(w)}return w},setActiveTab:function(_43){_43=this.getComponent(_43);if(!_43||this.fireEvent(&quot;beforetabchange&quot;,this,_43,this.activeTab)===false){return}if(!this.rendered){this.activeTab=_43;return}if(this.activeTab!=_43){if(this.activeTab){var _44=this.getTabEl(this.activeTab);if(_44){Ext.fly(_44).removeClass(&quot;x-tab-strip-active&quot;)}this.activeTab.fireEvent(&quot;deactivate&quot;,this.activeTab)}var el=this.getTabEl(_43);Ext.fly(el).addClass(&quot;x-tab-strip-active&quot;);this.activeTab=_43;this.stack.add(_43);this.layout.setActiveItem(_43);if(this.layoutOnTabChange&amp;&amp;_43.doLayout){_43.doLayout()}if(this.scrolling){this.scrollToTab(_43,this.animScroll)}_43.fireEvent(&quot;activate&quot;,_43);this.fireEvent(&quot;tabchange&quot;,this,_43)}},getActiveTab:function(){return this.activeTab||null},getItem:function(_46){return this.getComponent(_46)},autoScrollTabs:function(){this.pos=this.tabPosition==&quot;bottom&quot;?this.footer:this.header;var _47=this.items.length;var ow=this.pos.dom.offsetWidth;var tw=this.pos.dom.clientWidth;var _4a=this.stripWrap;var wd=_4a.dom;var cw=wd.offsetWidth;var pos=this.getScrollPos();var l=this.edge.getOffsetsTo(this.stripWrap)[0]+pos;if(!this.enableTabScroll||_47&lt;1||cw&lt;20){return}if(l&lt;=tw){wd.scrollLeft=0;_4a.setWidth(tw);if(this.scrolling){this.scrolling=false;this.pos.removeClass(&quot;x-tab-scrolling&quot;);this.scrollLeft.hide();this.scrollRight.hide();if(Ext.isAir||Ext.isSafari){wd.style.marginLeft=&quot;&quot;;wd.style.marginRight=&quot;&quot;}}}else{if(!this.scrolling){this.pos.addClass(&quot;x-tab-scrolling&quot;);if(Ext.isAir||Ext.isSafari){wd.style.marginLeft=&quot;18px&quot;;wd.style.marginRight=&quot;18px&quot;}}tw-=_4a.getMargins(&quot;lr&quot;);_4a.setWidth(tw&gt;20?tw:20);if(!this.scrolling){if(!this.scrollLeft){this.createScrollers()}else{this.scrollLeft.show();this.scrollRight.show()}}this.scrolling=true;if(pos&gt;(l-tw)){wd.scrollLeft=l-tw}else{this.scrollToTab(this.activeTab,false)}this.updateScrollButtons()}},createScrollers:function(){this.pos.addClass(&quot;x-tab-scrolling-&quot;+this.tabPosition);var h=this.stripWrap.dom.offsetHeight;var sl=this.pos.insertFirst({cls:&quot;x-tab-scroller-left&quot;});sl.setHeight(h);sl.addClassOnOver(&quot;x-tab-scroller-left-over&quot;);this.leftRepeater=new Ext.util.ClickRepeater(sl,{interval:this.scrollRepeatInterval,handler:this.onScrollLeft,scope:this});this.scrollLeft=sl;var sr=this.pos.insertFirst({cls:&quot;x-tab-scroller-right&quot;});sr.setHeight(h);sr.addClassOnOver(&quot;x-tab-scroller-right-over&quot;);this.rightRepeater=new Ext.util.ClickRepeater(sr,{interval:this.scrollRepeatInterval,handler:this.onScrollRight,scope:this});this.scrollRight=sr},getScrollWidth:function(){return this.edge.getOffsetsTo(this.stripWrap)[0]+this.getScrollPos()},getScrollPos:function(){return parseInt(this.stripWrap.dom.scrollLeft,10)||0},getScrollArea:function(){return parseInt(this.stripWrap.dom.clientWidth,10)||0},getScrollAnim:function(){return{duration:this.scrollDuration,callback:this.updateScrollButtons,scope:this}},getScrollIncrement:function(){return this.scrollIncrement||(this.resizeTabs?this.lastTabWidth+2:100)},scrollToTab:function(_52,_53){if(!_52){return}var el=this.getTabEl(_52);var pos=this.getScrollPos(),_56=this.getScrollArea();
-var _57=Ext.fly(el).getOffsetsTo(this.stripWrap)[0]+pos;var _58=_57+el.offsetWidth;if(_57&lt;pos){this.scrollTo(_57,_53)}else{if(_58&gt;(pos+_56)){this.scrollTo(_58-_56,_53)}}},scrollTo:function(pos,_5a){this.stripWrap.scrollTo(&quot;left&quot;,pos,_5a?this.getScrollAnim():false);if(!_5a){this.updateScrollButtons()}},onWheel:function(e){var d=e.getWheelDelta()*this.wheelIncrement*-1;e.stopEvent();var pos=this.getScrollPos();var _5e=pos+d;var sw=this.getScrollWidth()-this.getScrollArea();var s=Math.max(0,Math.min(sw,_5e));if(s!=pos){this.scrollTo(s,false)}},onScrollRight:function(){var sw=this.getScrollWidth()-this.getScrollArea();var pos=this.getScrollPos();var s=Math.min(sw,pos+this.getScrollIncrement());if(s!=pos){this.scrollTo(s,this.animScroll)}},onScrollLeft:function(){var pos=this.getScrollPos();var s=Math.max(0,pos-this.getScrollIncrement());if(s!=pos){this.scrollTo(s,this.animScroll)}},updateScrollButtons:function(){var pos=this.getScrollPos();this.scrollLeft[pos==0?&quot;addClass&quot;:&quot;removeClass&quot;](&quot;x-tab-scroller-left-disabled&quot;);this.scrollRight[pos&gt;=(this.getScrollWidth()-this.getScrollArea())?&quot;addClass&quot;:&quot;removeClass&quot;](&quot;x-tab-scroller-right-disabled&quot;)},beforeDestroy:function(){if(this.items){this.items.each(function(_67){if(_67&amp;&amp;_67.tabEl){Ext.get(_67.tabEl).removeAllListeners();_67.tabEl=null}},this)}if(this.strip){this.strip.removeAllListeners()}Ext.TabPanel.superclass.beforeDestroy.apply(this)}});Ext.reg(&quot;tabpanel&quot;,Ext.TabPanel);Ext.TabPanel.prototype.activate=Ext.TabPanel.prototype.setActiveTab;Ext.TabPanel.AccessStack=function(){var _68=[];return{add:function(_69){_68.push(_69);if(_68.length&gt;10){_68.shift()}},remove:function(_6a){var s=[];for(var i=0,len=_68.length;i&lt;len;i++){if(_68[i]!=_6a){s.push(_68[i])}}_68=s},next:function(){return _68.pop()}}};Ext.Button=Ext.extend(Ext.Component,{hidden:false,disabled:false,pressed:false,enableToggle:false,menuAlign:&quot;tl-bl?&quot;,type:&quot;button&quot;,menuClassTarget:&quot;tr&quot;,clickEvent:&quot;click&quot;,handleMouseEvents:true,tooltipType:&quot;qtip&quot;,buttonSelector:&quot;button:first-child&quot;,initComponent:function(){Ext.Button.superclass.initComponent.call(this);this.addEvents(&quot;click&quot;,&quot;toggle&quot;,&quot;mouseover&quot;,&quot;mouseout&quot;,&quot;menushow&quot;,&quot;menuhide&quot;,&quot;menutriggerover&quot;,&quot;menutriggerout&quot;);if(this.menu){this.menu=Ext.menu.MenuMgr.get(this.menu)}if(typeof this.toggleGroup===&quot;string&quot;){this.enableToggle=true}},onRender:function(ct,_2){if(!this.template){if(!Ext.Button.buttonTemplate){Ext.Button.buttonTemplate=new Ext.Template('&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;x-btn-wrap&quot;&gt;&lt;tbody&gt;&lt;tr&gt;','&lt;td class=&quot;x-btn-left&quot;&gt;&lt;i&gt;&amp;#160;&lt;/i&gt;&lt;/td&gt;&lt;td class=&quot;x-btn-center&quot;&gt;&lt;em unselectable=&quot;on&quot;&gt;&lt;button class=&quot;x-btn-text&quot; type=&quot;{1}&quot;&gt;{0}&lt;/button&gt;&lt;/em&gt;&lt;/td&gt;&lt;td class=&quot;x-btn-right&quot;&gt;&lt;i&gt;&amp;#160;&lt;/i&gt;&lt;/td&gt;',&quot;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&quot;)}this.template=Ext.Button.buttonTemplate}var _3,_4=[this.text||&quot;&amp;#160;&quot;,this.type];if(_2){_3=this.template.insertBefore(_2,_4,true)}else{_3=this.template.append(ct,_4,true)}var _5=this.btnEl=_3.child(this.buttonSelector);_5.on(&quot;focus&quot;,this.onFocus,this);_5.on(&quot;blur&quot;,this.onBlur,this);this.initButtonEl(_3,_5);if(this.menu){this.el.child(this.menuClassTarget).addClass(&quot;x-btn-with-menu&quot;)}Ext.ButtonToggleMgr.register(this)},initButtonEl:function(_6,_7){this.el=_6;_6.addClass(&quot;x-btn&quot;);if(this.id){this.el.dom.id=this.el.id=this.id}if(this.icon){_7.setStyle(&quot;background-image&quot;,&quot;url(&quot;+this.icon+&quot;)&quot;)}if(this.iconCls){_7.addClass(this.iconCls);if(!this.cls){_6.addClass(this.text?&quot;x-btn-text-icon&quot;:&quot;x-btn-icon&quot;)}}if(this.tabIndex!==undefined){_7.dom.tabIndex=this.tabIndex}if(this.tooltip){if(typeof this.tooltip==&quot;object&quot;){Ext.QuickTips.register(Ext.apply({target:_7.id},this.tooltip))}else{_7.dom[this.tooltipType]=this.tooltip}}if(this.pressed){this.el.addClass(&quot;x-btn-pressed&quot;)}if(this.handleMouseEvents){_6.on(&quot;mouseover&quot;,this.onMouseOver,this);_6.on(&quot;mousedown&quot;,this.onMouseDown,this)}if(this.menu){this.menu.on(&quot;show&quot;,this.onMenuShow,this);this.menu.on(&quot;hide&quot;,this.onMenuHide,this)}if(this.repeat){var _8=new Ext.util.ClickRepeater(_6,typeof this.repeat==&quot;object&quot;?this.repeat:{});_8.on(&quot;click&quot;,this.onClick,this)}_6.on(this.clickEvent,this.onClick,this)},afterRender:function(){Ext.Button.superclass.afterRender.call(this);if(Ext.isIE6){this.autoWidth.defer(1,this)}else{this.autoWidth()}},setIconClass:function(_9){if(this.el){this.btnEl.replaceClass(this.iconCls,_9)}this.iconCls=_9},beforeDestroy:function(){if(this.rendered){if(this.btnEl){if(typeof this.tooltip==&quot;object&quot;){Ext.QuickTips.unregister(this.btnEl)}Ext.destroy(this.btnEl)}}Ext.destroy(this.menu)},onDestroy:function(){if(this.rendered){Ext.ButtonToggleMgr.unregister(this)}},autoWidth:function(){if(this.el){this.el.setWidth(&quot;auto&quot;);if(Ext.isIE7&amp;&amp;Ext.isStrict){var ib=this.btnEl;if(ib&amp;&amp;ib.getWidth()&gt;20){ib.clip();ib.setWidth(Ext.util.TextMetrics.measure(ib,this.text).width+ib.getFrameWidth(&quot;lr&quot;))}}if(this.minWidth){if(this.el.getWidth()&lt;this.minWidth){this.el.setWidth(this.minWidth)}}}},setHandler:function(_b,_c){this.handler=_b;this.scope=_c},setText:function(_d){this.text=_d;if(this.el){this.el.child(&quot;td.x-btn-center &quot;+this.buttonSelector).update(_d)}this.autoWidth()},getText:function(){return this.text},toggle:function(_e,_f){_e=_e===undefined?!this.pressed:!!_e;if(_e!=this.pressed){this.el[_e?&quot;addClass&quot;:&quot;removeClass&quot;](&quot;x-btn-pressed&quot;);this.pressed=_e;if(!_f){this.fireEvent(&quot;toggle&quot;,this,_e);if(this.toggleHandler){this.toggleHandler.call(this.scope||this,this,_e)}}}},focus:function(){this.btnEl.focus()},onDisable:function(){if(this.el){if(!Ext.isIE6||!this.text){this.el.addClass(this.disabledClass)}this.el.dom.disabled=true}this.disabled=true},onEnable:function(){if(this.el){if(!Ext.isIE6||!this.text){this.el.removeClass(this.disabledClass)}this.el.dom.disabled=false}this.disabled=false},showMenu:function(){if(this.menu){this.menu.show(this.el,this.menuAlign)}return this},hideMenu:function(){if(this.menu){this.menu.hide()}return this},hasVisibleMenu:function(){return this.menu&amp;&amp;this.menu.isVisible()},onClick:function(e){if(e){e.preventDefault()}if(e.button!=0){return}if(!this.disabled){if(this.enableToggle&amp;&amp;(this.allowDepress!==false||!this.pressed)){this.toggle()}if(this.menu&amp;&amp;!this.menu.isVisible()&amp;&amp;!this.ignoreNextClick){this.showMenu()}this.fireEvent(&quot;click&quot;,this,e);if(this.handler){this.handler.call(this.scope||this,this,e)}}},isMenuTriggerOver:function(e,_12){return this.menu&amp;&amp;!_12},isMenuTriggerOut:function(e,_14){return this.menu&amp;&amp;!_14},onMouseOver:function(e){if(!this.disabled){var _16=e.within(this.el,true);if(!_16){this.el.addClass(&quot;x-btn-over&quot;);if(!this.monitoringMouseOver){Ext.getDoc().on(&quot;mouseover&quot;,this.monitorMouseOver,this);this.monitoringMouseOver=true}this.fireEvent(&quot;mouseover&quot;,this,e)}if(this.isMenuTriggerOver(e,_16)){this.fireEvent(&quot;menutriggerover&quot;,this,this.menu,e)}}},monitorMouseOver:function(e){if(e.target!=this.el.dom&amp;&amp;!e.within(this.el)){if(this.monitoringMouseOver){Ext.getDoc().un(&quot;mouseover&quot;,this.monitorMouseOver,this);this.monitoringMouseOver=false}this.onMouseOut(e)}},onMouseOut:function(e){var _19=e.within(this.el)&amp;&amp;e.target!=this.el.dom;this.el.removeClass(&quot;x-btn-over&quot;);this.fireEvent(&quot;mouseout&quot;,this,e);if(this.isMenuTriggerOut(e,_19)){this.fireEvent(&quot;menutriggerout&quot;,this,this.menu,e)}},onFocus:function(e){if(!this.disabled){this.el.addClass(&quot;x-btn-focus&quot;)}},onBlur:function(e){this.el.removeClass(&quot;x-btn-focus&quot;)},getClickEl:function(e,_1d){return this.el},onMouseDown:function(e){if(!this.disabled&amp;&amp;e.button==0){this.getClickEl(e).addClass(&quot;x-btn-click&quot;);Ext.getDoc().on(&quot;mouseup&quot;,this.onMouseUp,this)}},onMouseUp:function(e){if(e.button==0){this.getClickEl(e,true).removeClass(&quot;x-btn-click&quot;);Ext.getDoc().un(&quot;mouseup&quot;,this.onMouseUp,this)}},onMenuShow:function(e){this.ignoreNextClick=0;this.el.addClass(&quot;x-btn-menu-active&quot;);this.fireEvent(&quot;menushow&quot;,this,this.menu)},onMenuHide:function(e){this.el.removeClass(&quot;x-btn-menu-active&quot;);this.ignoreNextClick=this.restoreClick.defer(250,this);this.fireEvent(&quot;menuhide&quot;,this,this.menu)},restoreClick:function(){this.ignoreNextClick=0}});Ext.reg(&quot;button&quot;,Ext.Button);
-Ext.ButtonToggleMgr=function(){var _22={};function toggleGroup(btn,_24){if(_24){var g=_22[btn.toggleGroup];for(var i=0,l=g.length;i&lt;l;i++){if(g[i]!=btn){g[i].toggle(false)}}}}return{register:function(btn){if(!btn.toggleGroup){return}var g=_22[btn.toggleGroup];if(!g){g=_22[btn.toggleGroup]=[]}g.push(btn);btn.on(&quot;toggle&quot;,toggleGroup)},unregister:function(btn){if(!btn.toggleGroup){return}var g=_22[btn.toggleGroup];if(g){g.remove(btn);btn.un(&quot;toggle&quot;,toggleGroup)}}}}();Ext.SplitButton=Ext.extend(Ext.Button,{arrowSelector:&quot;button:last&quot;,initComponent:function(){Ext.SplitButton.superclass.initComponent.call(this);this.addEvents(&quot;arrowclick&quot;)},onRender:function(ct,_2){var _3=new Ext.Template('&lt;table cellspacing=&quot;0&quot; class=&quot;x-btn-menu-wrap x-btn&quot;&gt;&lt;tr&gt;&lt;td&gt;','&lt;table cellspacing=&quot;0&quot; class=&quot;x-btn-wrap x-btn-menu-text-wrap&quot;&gt;&lt;tbody&gt;','&lt;tr&gt;&lt;td class=&quot;x-btn-left&quot;&gt;&lt;i&gt;&amp;#160;&lt;/i&gt;&lt;/td&gt;&lt;td class=&quot;x-btn-center&quot;&gt;&lt;button class=&quot;x-btn-text&quot; type=&quot;{1}&quot;&gt;{0}&lt;/button&gt;&lt;/td&gt;&lt;/tr&gt;',&quot;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td&gt;&quot;,'&lt;table cellspacing=&quot;0&quot; class=&quot;x-btn-wrap x-btn-menu-arrow-wrap&quot;&gt;&lt;tbody&gt;','&lt;tr&gt;&lt;td class=&quot;x-btn-center&quot;&gt;&lt;button class=&quot;x-btn-menu-arrow-el&quot; type=&quot;button&quot;&gt;&amp;#160;&lt;/button&gt;&lt;/td&gt;&lt;td class=&quot;x-btn-right&quot;&gt;&lt;i&gt;&amp;#160;&lt;/i&gt;&lt;/td&gt;&lt;/tr&gt;',&quot;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&quot;);var _4,_5=[this.text||&quot;&amp;#160;&quot;,this.type];if(_2){_4=_3.insertBefore(_2,_5,true)}else{_4=_3.append(ct,_5,true)}var _6=_4.child(this.buttonSelector);this.initButtonEl(_4,_6);this.arrowBtnTable=_4.child(&quot;table:last&quot;);if(this.arrowTooltip){_4.child(this.arrowSelector).dom[this.tooltipType]=this.arrowTooltip}},autoWidth:function(){if(this.el){var _7=this.el.child(&quot;table:first&quot;);var _8=this.el.child(&quot;table:last&quot;);this.el.setWidth(&quot;auto&quot;);_7.setWidth(&quot;auto&quot;);if(Ext.isIE7&amp;&amp;Ext.isStrict){var ib=this.el.child(this.buttonSelector);if(ib&amp;&amp;ib.getWidth()&gt;20){ib.clip();ib.setWidth(Ext.util.TextMetrics.measure(ib,this.text).width+ib.getFrameWidth(&quot;lr&quot;))}}if(this.minWidth){if((_7.getWidth()+_8.getWidth())&lt;this.minWidth){_7.setWidth(this.minWidth-_8.getWidth())}}this.el.setWidth(_7.getWidth()+_8.getWidth())}},setArrowHandler:function(_a,_b){this.arrowHandler=_a;this.scope=_b},onClick:function(e){e.preventDefault();if(!this.disabled){if(e.getTarget(&quot;.x-btn-menu-arrow-wrap&quot;)){if(this.menu&amp;&amp;!this.menu.isVisible()&amp;&amp;!this.ignoreNextClick){this.showMenu()}this.fireEvent(&quot;arrowclick&quot;,this,e);if(this.arrowHandler){this.arrowHandler.call(this.scope||this,this,e)}}else{if(this.enableToggle){this.toggle()}this.fireEvent(&quot;click&quot;,this,e);if(this.handler){this.handler.call(this.scope||this,this,e)}}}},getClickEl:function(e,_e){if(!_e){return(this.lastClickEl=e.getTarget(&quot;table&quot;,10,true))}return this.lastClickEl},onDisable:function(){if(this.el){if(!Ext.isIE6){this.el.addClass(&quot;x-item-disabled&quot;)}this.el.child(this.buttonSelector).dom.disabled=true;this.el.child(this.arrowSelector).dom.disabled=true}this.disabled=true},onEnable:function(){if(this.el){if(!Ext.isIE6){this.el.removeClass(&quot;x-item-disabled&quot;)}this.el.child(this.buttonSelector).dom.disabled=false;this.el.child(this.arrowSelector).dom.disabled=false}this.disabled=false},isMenuTriggerOver:function(e){return this.menu&amp;&amp;e.within(this.arrowBtnTable)&amp;&amp;!e.within(this.arrowBtnTable,true)},isMenuTriggerOut:function(e,_11){return this.menu&amp;&amp;!e.within(this.arrowBtnTable)},onDestroy:function(){Ext.destroy(this.arrowBtnTable);Ext.SplitButton.superclass.onDestroy.call(this)}});Ext.MenuButton=Ext.SplitButton;Ext.reg(&quot;splitbutton&quot;,Ext.SplitButton);Ext.CycleButton=Ext.extend(Ext.SplitButton,{getItemText:function(_1){if(_1&amp;&amp;this.showText===true){var _2=&quot;&quot;;if(this.prependText){_2+=this.prependText}_2+=_1.text;return _2}return undefined},setActiveItem:function(_3,_4){if(typeof _3!=&quot;object&quot;){_3=this.menu.items.get(_3)}if(_3){if(!this.rendered){this.text=this.getItemText(_3);this.iconCls=_3.iconCls}else{var t=this.getItemText(_3);if(t){this.setText(t)}this.setIconClass(_3.iconCls)}this.activeItem=_3;if(!_3.checked){_3.setChecked(true,true)}if(this.forceIcon){this.setIconClass(this.forceIcon)}if(!_4){this.fireEvent(&quot;change&quot;,this,_3)}}},getActiveItem:function(){return this.activeItem},initComponent:function(){this.addEvents(&quot;change&quot;);if(this.changeHandler){this.on(&quot;change&quot;,this.changeHandler,this.scope||this);delete this.changeHandler}this.itemCount=this.items.length;this.menu={cls:&quot;x-cycle-menu&quot;,items:[]};var _6;for(var i=0,_8=this.itemCount;i&lt;_8;i++){var _9=this.items[i];_9.group=_9.group||this.id;_9.itemIndex=i;_9.checkHandler=this.checkHandler;_9.scope=this;_9.checked=_9.checked||false;this.menu.items.push(_9);if(_9.checked){_6=_9}}this.setActiveItem(_6,true);Ext.CycleButton.superclass.initComponent.call(this);this.on(&quot;click&quot;,this.toggleSelected,this)},checkHandler:function(_a,_b){if(_b){this.setActiveItem(_a)}},toggleSelected:function(){this.menu.render();var _c,_d;for(var i=1;i&lt;this.itemCount;i++){_c=(this.activeItem.itemIndex+i)%this.itemCount;_d=this.menu.items.itemAt(_c);if(!_d.disabled){_d.setChecked(true);break}}}});Ext.reg(&quot;cycle&quot;,Ext.CycleButton);Ext.Toolbar=function(_1){if(Ext.isArray(_1)){_1={buttons:_1}}Ext.Toolbar.superclass.constructor.call(this,_1)};(function(){var T=Ext.Toolbar;Ext.extend(T,Ext.BoxComponent,{trackMenus:true,initComponent:function(){T.superclass.initComponent.call(this);if(this.items){this.buttons=this.items}this.items=new Ext.util.MixedCollection(false,function(o){return o.itemId||o.id||Ext.id()})},autoCreate:{cls:&quot;x-toolbar x-small-editor&quot;,html:'&lt;table cellspacing=&quot;0&quot;&gt;&lt;tr&gt;&lt;/tr&gt;&lt;/table&gt;'},onRender:function(ct,_5){this.el=ct.createChild(Ext.apply({id:this.id},this.autoCreate),_5);this.tr=this.el.child(&quot;tr&quot;,true)},afterRender:function(){T.superclass.afterRender.call(this);if(this.buttons){this.add.apply(this,this.buttons);delete this.buttons}},add:function(){var a=arguments,l=a.length;for(var i=0;i&lt;l;i++){var el=a[i];if(el.isFormField){this.addField(el)}else{if(el.render){this.addItem(el)}else{if(typeof el==&quot;string&quot;){if(el==&quot;separator&quot;||el==&quot;-&quot;){this.addSeparator()}else{if(el==&quot; &quot;){this.addSpacer()}else{if(el==&quot;-&gt;&quot;){this.addFill()}else{this.addText(el)}}}}else{if(el.tagName){this.addElement(el)}else{if(typeof el==&quot;object&quot;){if(el.xtype){this.addField(Ext.ComponentMgr.create(el,&quot;button&quot;))}else{this.addButton(el)}}}}}}}},addSeparator:function(){return this.addItem(new T.Separator())},addSpacer:function(){return this.addItem(new T.Spacer())},addFill:function(){return this.addItem(new T.Fill())},addElement:function(el){return this.addItem(new T.Item(el))},addItem:function(_b){var td=this.nextBlock();this.initMenuTracking(_b);_b.render(td);this.items.add(_b);return _b},addButton:function(_d){if(Ext.isArray(_d)){var _e=[];for(var i=0,len=_d.length;i&lt;len;i++){_e.push(this.addButton(_d[i]))}return _e}var b=_d;if(!(_d instanceof T.Button)){b=_d.split?new T.SplitButton(_d):new T.Button(_d)}var td=this.nextBlock();this.initMenuTracking(b);b.render(td);this.items.add(b);return b},initMenuTracking:function(_13){if(this.trackMenus&amp;&amp;_13.menu){_13.on({menutriggerover:this.onButtonTriggerOver,menushow:this.onButtonMenuShow,menuhide:this.onButtonMenuHide,scope:this})}},addText:function(_14){return this.addItem(new T.TextItem(_14))},insertButton:function(_15,_16){if(Ext.isArray(_16)){var _17=[];for(var i=0,len=_16.length;i&lt;len;i++){_17.push(this.insertButton(_15+i,_16[i]))}return _17}if(!(_16 instanceof T.Button)){_16=new T.Button(_16)}var td=document.createElement(&quot;td&quot;);this.tr.insertBefore(td,this.tr.childNodes[_15]);this.initMenuTracking(_16);_16.render(td);this.items.insert(_15,_16);return _16},addDom:function(_1b,_1c){var td=this.nextBlock();Ext.DomHelper.overwrite(td,_1b);var ti=new T.Item(td.firstChild);ti.render(td);this.items.add(ti);return ti},addField:function(_1f){var td=this.nextBlock();_1f.render(td);var ti=new T.Item(td.firstChild);ti.render(td);this.items.add(_1f);return ti},nextBlock:function(){var td=document.createElement(&quot;td&quot;);this.tr.appendChild(td);return td},onDestroy:function(){Ext.Toolbar.superclass.onDestroy.call(this);if(this.rendered){if(this.items){Ext.destroy.apply(Ext,this.items.items)
-}Ext.Element.uncache(this.tr)}},onDisable:function(){this.items.each(function(_23){if(_23.disable){_23.disable()}})},onEnable:function(){this.items.each(function(_24){if(_24.enable){_24.enable()}})},onButtonTriggerOver:function(btn){if(this.activeMenuBtn&amp;&amp;this.activeMenuBtn!=btn){this.activeMenuBtn.hideMenu();btn.showMenu();this.activeMenuBtn=btn}},onButtonMenuShow:function(btn){this.activeMenuBtn=btn},onButtonMenuHide:function(btn){delete this.activeMenuBtn}});Ext.reg(&quot;toolbar&quot;,Ext.Toolbar);T.Item=function(el){this.el=Ext.getDom(el);this.id=Ext.id(this.el);this.hidden=false};T.Item.prototype={getEl:function(){return this.el},render:function(td){this.td=td;td.appendChild(this.el)},destroy:function(){if(this.el){var el=Ext.get(this.el);Ext.destroy(el)}Ext.removeNode(this.td)},show:function(){this.hidden=false;this.td.style.display=&quot;&quot;},hide:function(){this.hidden=true;this.td.style.display=&quot;none&quot;},setVisible:function(_2b){if(_2b){this.show()}else{this.hide()}},focus:function(){Ext.fly(this.el).focus()},disable:function(){Ext.fly(this.td).addClass(&quot;x-item-disabled&quot;);this.disabled=true;this.el.disabled=true},enable:function(){Ext.fly(this.td).removeClass(&quot;x-item-disabled&quot;);this.disabled=false;this.el.disabled=false}};Ext.reg(&quot;tbitem&quot;,T.Item);T.Separator=function(){var s=document.createElement(&quot;span&quot;);s.className=&quot;ytb-sep&quot;;T.Separator.superclass.constructor.call(this,s)};Ext.extend(T.Separator,T.Item,{enable:Ext.emptyFn,disable:Ext.emptyFn,focus:Ext.emptyFn});Ext.reg(&quot;tbseparator&quot;,T.Separator);T.Spacer=function(){var s=document.createElement(&quot;div&quot;);s.className=&quot;ytb-spacer&quot;;T.Spacer.superclass.constructor.call(this,s)};Ext.extend(T.Spacer,T.Item,{enable:Ext.emptyFn,disable:Ext.emptyFn,focus:Ext.emptyFn});Ext.reg(&quot;tbspacer&quot;,T.Spacer);T.Fill=Ext.extend(T.Spacer,{render:function(td){td.style.width=&quot;100%&quot;;T.Fill.superclass.render.call(this,td)}});Ext.reg(&quot;tbfill&quot;,T.Fill);T.TextItem=function(t){var s=document.createElement(&quot;span&quot;);s.className=&quot;ytb-text&quot;;s.innerHTML=t.text?t.text:t;T.TextItem.superclass.constructor.call(this,s)};Ext.extend(T.TextItem,T.Item,{enable:Ext.emptyFn,disable:Ext.emptyFn,focus:Ext.emptyFn});Ext.reg(&quot;tbtext&quot;,T.TextItem);T.Button=Ext.extend(Ext.Button,{hideParent:true,onDestroy:function(){T.Button.superclass.onDestroy.call(this);if(this.container){this.container.remove()}}});Ext.reg(&quot;tbbutton&quot;,T.Button);T.SplitButton=Ext.extend(Ext.SplitButton,{hideParent:true,onDestroy:function(){T.SplitButton.superclass.onDestroy.call(this);if(this.container){this.container.remove()}}});Ext.reg(&quot;tbsplit&quot;,T.SplitButton);T.MenuButton=T.SplitButton})();Ext.PagingToolbar=Ext.extend(Ext.Toolbar,{pageSize:20,displayMsg:&quot;Displaying {0} - {1} of {2}&quot;,emptyMsg:&quot;No data to display&quot;,beforePageText:&quot;Page&quot;,afterPageText:&quot;of {0}&quot;,firstText:&quot;First Page&quot;,prevText:&quot;Previous Page&quot;,nextText:&quot;Next Page&quot;,lastText:&quot;Last Page&quot;,refreshText:&quot;Refresh&quot;,paramNames:{start:&quot;start&quot;,limit:&quot;limit&quot;},initComponent:function(){this.addEvents(&quot;change&quot;,&quot;beforechange&quot;);Ext.PagingToolbar.superclass.initComponent.call(this);this.cursor=0;this.bind(this.store)},onRender:function(ct,_2){Ext.PagingToolbar.superclass.onRender.call(this,ct,_2);this.first=this.addButton({tooltip:this.firstText,iconCls:&quot;x-tbar-page-first&quot;,disabled:true,handler:this.onClick.createDelegate(this,[&quot;first&quot;])});this.prev=this.addButton({tooltip:this.prevText,iconCls:&quot;x-tbar-page-prev&quot;,disabled:true,handler:this.onClick.createDelegate(this,[&quot;prev&quot;])});this.addSeparator();this.add(this.beforePageText);this.field=Ext.get(this.addDom({tag:&quot;input&quot;,type:&quot;text&quot;,size:&quot;3&quot;,value:&quot;1&quot;,cls:&quot;x-tbar-page-number&quot;}).el);this.field.on(&quot;keydown&quot;,this.onPagingKeydown,this);this.field.on(&quot;focus&quot;,function(){this.dom.select()});this.field.on(&quot;blur&quot;,this.onPagingBlur,this);this.afterTextEl=this.addText(String.format(this.afterPageText,1));this.field.setHeight(18);this.addSeparator();this.next=this.addButton({tooltip:this.nextText,iconCls:&quot;x-tbar-page-next&quot;,disabled:true,handler:this.onClick.createDelegate(this,[&quot;next&quot;])});this.last=this.addButton({tooltip:this.lastText,iconCls:&quot;x-tbar-page-last&quot;,disabled:true,handler:this.onClick.createDelegate(this,[&quot;last&quot;])});this.addSeparator();this.loading=this.addButton({tooltip:this.refreshText,iconCls:&quot;x-tbar-loading&quot;,handler:this.onClick.createDelegate(this,[&quot;refresh&quot;])});if(this.displayInfo){this.displayEl=Ext.fly(this.el.dom).createChild({cls:&quot;x-paging-info&quot;})}if(this.dsLoaded){this.onLoad.apply(this,this.dsLoaded)}},updateInfo:function(){if(this.displayEl){var _3=this.store.getCount();var _4=_3==0?this.emptyMsg:String.format(this.displayMsg,this.cursor+1,this.cursor+_3,this.store.getTotalCount());this.displayEl.update(_4)}},onLoad:function(_5,r,o){if(!this.rendered){this.dsLoaded=[_5,r,o];return}this.cursor=o.params?o.params[this.paramNames.start]:0;var d=this.getPageData(),ap=d.activePage,ps=d.pages;this.afterTextEl.el.innerHTML=String.format(this.afterPageText,d.pages);this.field.dom.value=ap;this.first.setDisabled(ap==1);this.prev.setDisabled(ap==1);this.next.setDisabled(ap==ps);this.last.setDisabled(ap==ps);this.loading.enable();this.updateInfo();this.fireEvent(&quot;change&quot;,this,d)},getPageData:function(){var _b=this.store.getTotalCount();return{total:_b,activePage:Math.ceil((this.cursor+this.pageSize)/this.pageSize),pages:_b&lt;this.pageSize?1:Math.ceil(_b/this.pageSize)}},onLoadError:function(){if(!this.rendered){return}this.loading.enable()},readPage:function(d){var v=this.field.dom.value,_e;if(!v||isNaN(_e=parseInt(v,10))){this.field.dom.value=d.activePage;return false}return _e},onPagingBlur:function(e){this.field.dom.value=this.getPageData().activePage},onPagingKeydown:function(e){var k=e.getKey(),d=this.getPageData(),_13;if(k==e.RETURN){e.stopEvent();_13=this.readPage(d);if(_13!==false){_13=Math.min(Math.max(1,_13),d.pages)-1;this.doLoad(_13*this.pageSize)}}else{if(k==e.HOME||k==e.END){e.stopEvent();_13=k==e.HOME?1:d.pages;this.field.dom.value=_13}else{if(k==e.UP||k==e.PAGEUP||k==e.DOWN||k==e.PAGEDOWN){e.stopEvent();if(_13=this.readPage(d)){var _14=e.shiftKey?10:1;if(k==e.DOWN||k==e.PAGEDOWN){_14*=-1}_13+=_14;if(_13&gt;=1&amp;_13&lt;=d.pages){this.field.dom.value=_13}}}}}},beforeLoad:function(){if(this.rendered&amp;&amp;this.loading){this.loading.disable()}},doLoad:function(_15){var o={},pn=this.paramNames;o[pn.start]=_15;o[pn.limit]=this.pageSize;if(this.fireEvent(&quot;beforechange&quot;,this,o)!==false){this.store.load({params:o})}},changePage:function(_18){this.doLoad(((_18-1)*this.pageSize).constrain(0,this.store.getTotalCount()))},onClick:function(_19){var _1a=this.store;switch(_19){case&quot;first&quot;:this.doLoad(0);break;case&quot;prev&quot;:this.doLoad(Math.max(0,this.cursor-this.pageSize));break;case&quot;next&quot;:this.doLoad(this.cursor+this.pageSize);break;case&quot;last&quot;:var _1b=_1a.getTotalCount();var _1c=_1b%this.pageSize;var _1d=_1c?(_1b-_1c):_1b-this.pageSize;this.doLoad(_1d);break;case&quot;refresh&quot;:this.doLoad(this.cursor);break}},unbind:function(_1e){_1e=Ext.StoreMgr.lookup(_1e);_1e.un(&quot;beforeload&quot;,this.beforeLoad,this);_1e.un(&quot;load&quot;,this.onLoad,this);_1e.un(&quot;loadexception&quot;,this.onLoadError,this);this.store=undefined},bind:function(_1f){_1f=Ext.StoreMgr.lookup(_1f);_1f.on(&quot;beforeload&quot;,this.beforeLoad,this);_1f.on(&quot;load&quot;,this.onLoad,this);_1f.on(&quot;loadexception&quot;,this.onLoadError,this);this.store=_1f;if(_1f.getCount()&gt;0){this.onLoad(_1f,null,{})}},onDestroy:function(){if(this.store){this.unbind(this.store)}Ext.PagingToolbar.superclass.onDestroy.call(this)}});Ext.reg(&quot;paging&quot;,Ext.PagingToolbar);Ext.Resizable=function(el,_2){this.el=Ext.get(el);if(_2&amp;&amp;_2.wrap){_2.resizeChild=this.el;this.el=this.el.wrap(typeof _2.wrap==&quot;object&quot;?_2.wrap:{cls:&quot;xresizable-wrap&quot;});this.el.id=this.el.dom.id=_2.resizeChild.id+&quot;-rzwrap&quot;;this.el.setStyle(&quot;overflow&quot;,&quot;hidden&quot;);this.el.setPositioning(_2.resizeChild.getPositioning());_2.resizeChild.clearPositioning();if(!_2.width||!_2.height){var _3=_2.resizeChild.getSize();this.el.setSize(_3.width,_3.height)}if(_2.pinned&amp;&amp;!_2.adjustments){_2.adjustments=&quot;auto&quot;}}this.proxy=this.el.createProxy({tag:&quot;div&quot;,cls:&quot;x-resizable-proxy&quot;,id:this.el.id+&quot;-rzproxy&quot;},Ext.getBody());
-this.proxy.unselectable();this.proxy.enableDisplayMode(&quot;block&quot;);Ext.apply(this,_2);if(this.pinned){this.disableTrackOver=true;this.el.addClass(&quot;x-resizable-pinned&quot;)}var _4=this.el.getStyle(&quot;position&quot;);if(_4!=&quot;absolute&quot;&amp;&amp;_4!=&quot;fixed&quot;){this.el.setStyle(&quot;position&quot;,&quot;relative&quot;)}if(!this.handles){this.handles=&quot;s,e,se&quot;;if(this.multiDirectional){this.handles+=&quot;,n,w&quot;}}if(this.handles==&quot;all&quot;){this.handles=&quot;n s e w ne nw se sw&quot;}var hs=this.handles.split(/\s*?[,;]\s*?| /);var ps=Ext.Resizable.positions;for(var i=0,_8=hs.length;i&lt;_8;i++){if(hs[i]&amp;&amp;ps[hs[i]]){var _9=ps[hs[i]];this[_9]=new Ext.Resizable.Handle(this,_9,this.disableTrackOver,this.transparent)}}this.corner=this.southeast;if(this.handles.indexOf(&quot;n&quot;)!=-1||this.handles.indexOf(&quot;w&quot;)!=-1){this.updateBox=true}this.activeHandle=null;if(this.resizeChild){if(typeof this.resizeChild==&quot;boolean&quot;){this.resizeChild=Ext.get(this.el.dom.firstChild,true)}else{this.resizeChild=Ext.get(this.resizeChild,true)}}if(this.adjustments==&quot;auto&quot;){var rc=this.resizeChild;var hw=this.west,he=this.east,hn=this.north,hs=this.south;if(rc&amp;&amp;(hw||hn)){rc.position(&quot;relative&quot;);rc.setLeft(hw?hw.el.getWidth():0);rc.setTop(hn?hn.el.getHeight():0)}this.adjustments=[(he?-he.el.getWidth():0)+(hw?-hw.el.getWidth():0),(hn?-hn.el.getHeight():0)+(hs?-hs.el.getHeight():0)-1]}if(this.draggable){this.dd=this.dynamic?this.el.initDD(null):this.el.initDDProxy(null,{dragElId:this.proxy.id});this.dd.setHandleElId(this.resizeChild?this.resizeChild.id:this.el.id)}this.addEvents(&quot;beforeresize&quot;,&quot;resize&quot;);if(this.width!==null&amp;&amp;this.height!==null){this.resizeTo(this.width,this.height)}else{this.updateChildSize()}if(Ext.isIE){this.el.dom.style.zoom=1}Ext.Resizable.superclass.constructor.call(this)};Ext.extend(Ext.Resizable,Ext.util.Observable,{resizeChild:false,adjustments:[0,0],minWidth:5,minHeight:5,maxWidth:10000,maxHeight:10000,enabled:true,animate:false,duration:0.35,dynamic:false,handles:false,multiDirectional:false,disableTrackOver:false,easing:&quot;easeOutStrong&quot;,widthIncrement:0,heightIncrement:0,pinned:false,width:null,height:null,preserveRatio:false,transparent:false,minX:0,minY:0,draggable:false,resizeTo:function(_e,_f){this.el.setSize(_e,_f);this.updateChildSize();this.fireEvent(&quot;resize&quot;,this,_e,_f,null)},startSizing:function(e,_11){this.fireEvent(&quot;beforeresize&quot;,this,e);if(this.enabled){if(!this.overlay){this.overlay=this.el.createProxy({tag:&quot;div&quot;,cls:&quot;x-resizable-overlay&quot;,html:&quot;&amp;#160;&quot;},Ext.getBody());this.overlay.unselectable();this.overlay.enableDisplayMode(&quot;block&quot;);this.overlay.on(&quot;mousemove&quot;,this.onMouseMove,this);this.overlay.on(&quot;mouseup&quot;,this.onMouseUp,this)}this.overlay.setStyle(&quot;cursor&quot;,_11.el.getStyle(&quot;cursor&quot;));this.resizing=true;this.startBox=this.el.getBox();this.startPoint=e.getXY();this.offsets=[(this.startBox.x+this.startBox.width)-this.startPoint[0],(this.startBox.y+this.startBox.height)-this.startPoint[1]];this.overlay.setSize(Ext.lib.Dom.getViewWidth(true),Ext.lib.Dom.getViewHeight(true));this.overlay.show();if(this.constrainTo){var ct=Ext.get(this.constrainTo);this.resizeRegion=ct.getRegion().adjust(ct.getFrameWidth(&quot;t&quot;),ct.getFrameWidth(&quot;l&quot;),-ct.getFrameWidth(&quot;b&quot;),-ct.getFrameWidth(&quot;r&quot;))}this.proxy.setStyle(&quot;visibility&quot;,&quot;hidden&quot;);this.proxy.show();this.proxy.setBox(this.startBox);if(!this.dynamic){this.proxy.setStyle(&quot;visibility&quot;,&quot;visible&quot;)}}},onMouseDown:function(_13,e){if(this.enabled){e.stopEvent();this.activeHandle=_13;this.startSizing(e,_13)}},onMouseUp:function(e){var _16=this.resizeElement();this.resizing=false;this.handleOut();this.overlay.hide();this.proxy.hide();this.fireEvent(&quot;resize&quot;,this,_16.width,_16.height,e)},updateChildSize:function(){if(this.resizeChild){var el=this.el;var _18=this.resizeChild;var adj=this.adjustments;if(el.dom.offsetWidth){var b=el.getSize(true);_18.setSize(b.width+adj[0],b.height+adj[1])}if(Ext.isIE){setTimeout(function(){if(el.dom.offsetWidth){var b=el.getSize(true);_18.setSize(b.width+adj[0],b.height+adj[1])}},10)}}},snap:function(_1c,inc,min){if(!inc||!_1c){return _1c}var _1f=_1c;var m=_1c%inc;if(m&gt;0){if(m&gt;(inc/2)){_1f=_1c+(inc-m)}else{_1f=_1c-m}}return Math.max(min,_1f)},resizeElement:function(){var box=this.proxy.getBox();if(this.updateBox){this.el.setBox(box,false,this.animate,this.duration,null,this.easing)}else{this.el.setSize(box.width,box.height,this.animate,this.duration,null,this.easing)}this.updateChildSize();if(!this.dynamic){this.proxy.hide()}return box},constrain:function(v,_23,m,mx){if(v-_23&lt;m){_23=v-m}else{if(v-_23&gt;mx){_23=mx-v}}return _23},onMouseMove:function(e){if(this.enabled){try{if(this.resizeRegion&amp;&amp;!this.resizeRegion.contains(e.getPoint())){return}var _27=this.curSize||this.startBox;var x=this.startBox.x,y=this.startBox.y;var ox=x,oy=y;var w=_27.width,h=_27.height;var ow=w,oh=h;var mw=this.minWidth,mh=this.minHeight;var mxw=this.maxWidth,mxh=this.maxHeight;var wi=this.widthIncrement;var hi=this.heightIncrement;var _36=e.getXY();var _37=-(this.startPoint[0]-Math.max(this.minX,_36[0]));var _38=-(this.startPoint[1]-Math.max(this.minY,_36[1]));var pos=this.activeHandle.position;switch(pos){case&quot;east&quot;:w+=_37;w=Math.min(Math.max(mw,w),mxw);break;case&quot;south&quot;:h+=_38;h=Math.min(Math.max(mh,h),mxh);break;case&quot;southeast&quot;:w+=_37;h+=_38;w=Math.min(Math.max(mw,w),mxw);h=Math.min(Math.max(mh,h),mxh);break;case&quot;north&quot;:_38=this.constrain(h,_38,mh,mxh);y+=_38;h-=_38;break;case&quot;west&quot;:_37=this.constrain(w,_37,mw,mxw);x+=_37;w-=_37;break;case&quot;northeast&quot;:w+=_37;w=Math.min(Math.max(mw,w),mxw);_38=this.constrain(h,_38,mh,mxh);y+=_38;h-=_38;break;case&quot;northwest&quot;:_37=this.constrain(w,_37,mw,mxw);_38=this.constrain(h,_38,mh,mxh);y+=_38;h-=_38;x+=_37;w-=_37;break;case&quot;southwest&quot;:_37=this.constrain(w,_37,mw,mxw);h+=_38;h=Math.min(Math.max(mh,h),mxh);x+=_37;w-=_37;break}var sw=this.snap(w,wi,mw);var sh=this.snap(h,hi,mh);if(sw!=w||sh!=h){switch(pos){case&quot;northeast&quot;:y-=sh-h;break;case&quot;north&quot;:y-=sh-h;break;case&quot;southwest&quot;:x-=sw-w;break;case&quot;west&quot;:x-=sw-w;break;case&quot;northwest&quot;:x-=sw-w;y-=sh-h;break}w=sw;h=sh}if(this.preserveRatio){switch(pos){case&quot;southeast&quot;:case&quot;east&quot;:h=oh*(w/ow);h=Math.min(Math.max(mh,h),mxh);w=ow*(h/oh);break;case&quot;south&quot;:w=ow*(h/oh);w=Math.min(Math.max(mw,w),mxw);h=oh*(w/ow);break;case&quot;northeast&quot;:w=ow*(h/oh);w=Math.min(Math.max(mw,w),mxw);h=oh*(w/ow);break;case&quot;north&quot;:var tw=w;w=ow*(h/oh);w=Math.min(Math.max(mw,w),mxw);h=oh*(w/ow);x+=(tw-w)/2;break;case&quot;southwest&quot;:h=oh*(w/ow);h=Math.min(Math.max(mh,h),mxh);var tw=w;w=ow*(h/oh);x+=tw-w;break;case&quot;west&quot;:var th=h;h=oh*(w/ow);h=Math.min(Math.max(mh,h),mxh);y+=(th-h)/2;var tw=w;w=ow*(h/oh);x+=tw-w;break;case&quot;northwest&quot;:var tw=w;var th=h;h=oh*(w/ow);h=Math.min(Math.max(mh,h),mxh);w=ow*(h/oh);y+=th-h;x+=tw-w;break}}this.proxy.setBounds(x,y,w,h);if(this.dynamic){this.resizeElement()}}catch(e){}}},handleOver:function(){if(this.enabled){this.el.addClass(&quot;x-resizable-over&quot;)}},handleOut:function(){if(!this.resizing){this.el.removeClass(&quot;x-resizable-over&quot;)}},getEl:function(){return this.el},getResizeChild:function(){return this.resizeChild},destroy:function(_3e){if(this.dd){this.dd.destroy()}if(this.overlay){Ext.destroy(this.overlay);this.overlay=null}Ext.destroy(this.proxy);this.proxy=null;var ps=Ext.Resizable.positions;for(var k in ps){if(typeof ps[k]!=&quot;function&quot;&amp;&amp;this[ps[k]]){this[ps[k]].destroy()}}if(_3e){this.el.update(&quot;&quot;);Ext.destroy(this.el);this.el=null}},syncHandleHeight:function(){var h=this.el.getHeight(true);if(this.west){this.west.el.setHeight(h)}if(this.east){this.east.el.setHeight(h)}}});Ext.Resizable.positions={n:&quot;north&quot;,s:&quot;south&quot;,e:&quot;east&quot;,w:&quot;west&quot;,se:&quot;southeast&quot;,sw:&quot;southwest&quot;,nw:&quot;northwest&quot;,ne:&quot;northeast&quot;};Ext.Resizable.Handle=function(rz,pos,_44,_45){if(!this.tpl){var tpl=Ext.DomHelper.createTemplate({tag:&quot;div&quot;,cls:&quot;x-resizable-handle x-resizable-handle-{0}&quot;});tpl.compile();Ext.Resizable.Handle.prototype.tpl=tpl}this.position=pos;this.rz=rz;this.el=this.tpl.append(rz.el.dom,[this.position],true);this.el.unselectable();if(_45){this.el.setOpacity(0)}this.el.on(&quot;mousedown&quot;,this.onMouseDown,this);if(!_44){this.el.on(&quot;mouseover&quot;,this.onMouseOver,this);
-this.el.on(&quot;mouseout&quot;,this.onMouseOut,this)}};Ext.Resizable.Handle.prototype={afterResize:function(rz){},onMouseDown:function(e){this.rz.onMouseDown(this,e)},onMouseOver:function(e){this.rz.handleOver(this,e)},onMouseOut:function(e){this.rz.handleOut(this,e)},destroy:function(){Ext.destroy(this.el);this.el=null}};Ext.Editor=function(_1,_2){this.field=_1;Ext.Editor.superclass.constructor.call(this,_2)};Ext.extend(Ext.Editor,Ext.Component,{value:&quot;&quot;,alignment:&quot;c-c?&quot;,shadow:&quot;frame&quot;,constrain:false,swallowKeys:true,completeOnEnter:false,cancelOnEsc:false,updateEl:false,initComponent:function(){Ext.Editor.superclass.initComponent.call(this);this.addEvents(&quot;beforestartedit&quot;,&quot;startedit&quot;,&quot;beforecomplete&quot;,&quot;complete&quot;,&quot;canceledit&quot;,&quot;specialkey&quot;)},onRender:function(ct,_4){this.el=new Ext.Layer({shadow:this.shadow,cls:&quot;x-editor&quot;,parentEl:ct,shim:this.shim,shadowOffset:4,id:this.id,constrain:this.constrain});this.el.setStyle(&quot;overflow&quot;,Ext.isGecko?&quot;auto&quot;:&quot;hidden&quot;);if(this.field.msgTarget!=&quot;title&quot;){this.field.msgTarget=&quot;qtip&quot;}this.field.inEditor=true;this.field.render(this.el);if(Ext.isGecko){this.field.el.dom.setAttribute(&quot;autocomplete&quot;,&quot;off&quot;)}this.field.on(&quot;specialkey&quot;,this.onSpecialKey,this);if(this.swallowKeys){this.field.el.swallowEvent([&quot;keydown&quot;,&quot;keypress&quot;])}this.field.show();this.field.on(&quot;blur&quot;,this.onBlur,this);if(this.field.grow){this.field.on(&quot;autosize&quot;,this.el.sync,this.el,{delay:1})}},onSpecialKey:function(_5,e){var _7=e.getKey();if(this.completeOnEnter&amp;&amp;_7==e.ENTER){e.stopEvent();this.completeEdit()}else{if(this.cancelOnEsc&amp;&amp;_7==e.ESC){this.cancelEdit()}else{this.fireEvent(&quot;specialkey&quot;,_5,e)}}if(this.field.triggerBlur&amp;&amp;(_7==e.ENTER||_7==e.ESC||_7==e.TAB)){this.field.triggerBlur()}},startEdit:function(el,_9){if(this.editing){this.completeEdit()}this.boundEl=Ext.get(el);var v=_9!==undefined?_9:this.boundEl.dom.innerHTML;if(!this.rendered){this.render(this.parentEl||document.body)}if(this.fireEvent(&quot;beforestartedit&quot;,this,this.boundEl,v)===false){return}this.startValue=v;this.field.setValue(v);this.doAutoSize();this.el.alignTo(this.boundEl,this.alignment);this.editing=true;this.show()},doAutoSize:function(){if(this.autoSize){var sz=this.boundEl.getSize();switch(this.autoSize){case&quot;width&quot;:this.setSize(sz.width,&quot;&quot;);break;case&quot;height&quot;:this.setSize(&quot;&quot;,sz.height);break;default:this.setSize(sz.width,sz.height)}}},setSize:function(w,h){delete this.field.lastSize;this.field.setSize(w,h);if(this.el){if(Ext.isGecko2||Ext.isOpera){this.el.setSize(w,h)}this.el.sync()}},realign:function(){this.el.alignTo(this.boundEl,this.alignment)},completeEdit:function(_e){if(!this.editing){return}var v=this.getValue();if(this.revertInvalid!==false&amp;&amp;!this.field.isValid()){v=this.startValue;this.cancelEdit(true)}if(String(v)===String(this.startValue)&amp;&amp;this.ignoreNoChange){this.editing=false;this.hide();return}if(this.fireEvent(&quot;beforecomplete&quot;,this,v,this.startValue)!==false){this.editing=false;if(this.updateEl&amp;&amp;this.boundEl){this.boundEl.update(v)}if(_e!==true){this.hide()}this.fireEvent(&quot;complete&quot;,this,v,this.startValue)}},onShow:function(){this.el.show();if(this.hideEl!==false){this.boundEl.hide()}this.field.show();if(Ext.isIE&amp;&amp;!this.fixIEFocus){this.fixIEFocus=true;this.deferredFocus.defer(50,this)}else{this.field.focus()}this.fireEvent(&quot;startedit&quot;,this.boundEl,this.startValue)},deferredFocus:function(){if(this.editing){this.field.focus()}},cancelEdit:function(_10){if(this.editing){var v=this.getValue();this.setValue(this.startValue);if(_10!==true){this.hide()}this.fireEvent(&quot;canceledit&quot;,this,v,this.startValue)}},onBlur:function(){if(this.allowBlur!==true&amp;&amp;this.editing){this.completeEdit()}},onHide:function(){if(this.editing){this.completeEdit();return}this.field.blur();if(this.field.collapse){this.field.collapse()}this.el.hide();if(this.hideEl!==false){this.boundEl.show()}},setValue:function(v){this.field.setValue(v)},getValue:function(){return this.field.getValue()},beforeDestroy:function(){Ext.destroy(this.field);this.field=null}});Ext.reg(&quot;editor&quot;,Ext.Editor);Ext.MessageBox=function(){var _1,_2,_3,_4;var _5,_6,_7,_8,_9,pp,_b,_c;var _d,_e,_f,_10=&quot;&quot;;var _11=function(_12){if(_1.isVisible()){_1.hide();Ext.callback(_2.fn,_2.scope||window,[_12,_e.dom.value,_2],1)}};var _13=function(){if(_2&amp;&amp;_2.cls){_1.el.removeClass(_2.cls)}_9.reset()};var _14=function(d,k,e){if(_2&amp;&amp;_2.closable!==false){_1.hide()}if(e){e.stopEvent()}};var _18=function(b){var _1a=0;if(!b){_d.ok.hide();_d.cancel.hide();_d.yes.hide();_d.no.hide();return _1a}_1.footer.dom.style.display=&quot;&quot;;for(var k in _d){if(typeof _d[k]!=&quot;function&quot;){if(b[k]){_d[k].show();_d[k].setText(typeof b[k]==&quot;string&quot;?b[k]:Ext.MessageBox.buttonText[k]);_1a+=_d[k].el.getWidth()+15}else{_d[k].hide()}}}return _1a};return{getDialog:function(_1c){if(!_1){_1=new Ext.Window({autoCreate:true,title:_1c,resizable:false,constrain:true,constrainHeader:true,minimizable:false,maximizable:false,stateful:false,modal:true,shim:true,buttonAlign:&quot;center&quot;,width:400,height:100,minHeight:80,plain:true,footer:true,closable:true,close:function(){if(_2&amp;&amp;_2.buttons&amp;&amp;_2.buttons.no&amp;&amp;!_2.buttons.cancel){_11(&quot;no&quot;)}else{_11(&quot;cancel&quot;)}}});_d={};var bt=this.buttonText;_d.ok=_1.addButton(bt.ok,_11.createCallback(&quot;ok&quot;));_d.yes=_1.addButton(bt.yes,_11.createCallback(&quot;yes&quot;));_d.no=_1.addButton(bt.no,_11.createCallback(&quot;no&quot;));_d.cancel=_1.addButton(bt.cancel,_11.createCallback(&quot;cancel&quot;));_d.ok.hideMode=_d.yes.hideMode=_d.no.hideMode=_d.cancel.hideMode=&quot;offsets&quot;;_1.render(document.body);_1.getEl().addClass(&quot;x-window-dlg&quot;);_3=_1.mask;_5=_1.body.createChild({html:'&lt;div class=&quot;ext-mb-icon&quot;&gt;&lt;/div&gt;&lt;div class=&quot;ext-mb-content&quot;&gt;&lt;span class=&quot;ext-mb-text&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class=&quot;ext-mb-fix-cursor&quot;&gt;&lt;input type=&quot;text&quot; class=&quot;ext-mb-input&quot; /&gt;&lt;textarea class=&quot;ext-mb-textarea&quot;&gt;&lt;/textarea&gt;&lt;/div&gt;&lt;/div&gt;'});_b=Ext.get(_5.dom.firstChild);var _1e=_5.dom.childNodes[1];_6=Ext.get(_1e.firstChild);_7=Ext.get(_1e.childNodes[2].firstChild);_7.enableDisplayMode();_7.addKeyListener([10,13],function(){if(_1.isVisible()&amp;&amp;_2&amp;&amp;_2.buttons){if(_2.buttons.ok){_11(&quot;ok&quot;)}else{if(_2.buttons.yes){_11(&quot;yes&quot;)}}}});_8=Ext.get(_1e.childNodes[2].childNodes[1]);_8.enableDisplayMode();_9=new Ext.ProgressBar({renderTo:_5});_5.createChild({cls:&quot;x-clear&quot;})}return _1},updateText:function(_1f){if(!_1.isVisible()&amp;&amp;!_2.width){_1.setSize(this.maxWidth,100)}_6.update(_1f||&quot;&amp;#160;&quot;);var iw=_10!=&quot;&quot;?(_b.getWidth()+_b.getMargins(&quot;lr&quot;)):0;var mw=_6.getWidth()+_6.getMargins(&quot;lr&quot;);var fw=_1.getFrameWidth(&quot;lr&quot;);var bw=_1.body.getFrameWidth(&quot;lr&quot;);if(Ext.isIE&amp;&amp;iw&gt;0){iw+=3}var w=Math.max(Math.min(_2.width||iw+mw+fw+bw,this.maxWidth),Math.max(_2.minWidth||this.minWidth,_f||0));if(_2.prompt===true){_e.setWidth(w-iw-fw-bw)}if(_2.progress===true||_2.wait===true){_9.setSize(w-iw-fw-bw)}if(Ext.isIE&amp;&amp;w==_f){w+=4}_1.setSize(w,&quot;auto&quot;).center();return this},updateProgress:function(_25,_26,msg){_9.updateProgress(_25,_26);if(msg){this.updateText(msg)}return this},isVisible:function(){return _1&amp;&amp;_1.isVisible()},hide:function(){var _28=_1?_1.activeGhost:null;if(this.isVisible()||_28){_1.hide();_13();if(_28){_28.hide()}}return this},show:function(_29){if(this.isVisible()){this.hide()}_2=_29;var d=this.getDialog(_2.title||&quot;&amp;#160;&quot;);d.setTitle(_2.title||&quot;&amp;#160;&quot;);var _2b=(_2.closable!==false&amp;&amp;_2.progress!==true&amp;&amp;_2.wait!==true);d.tools.close.setDisplayed(_2b);_e=_7;_2.prompt=_2.prompt||(_2.multiline?true:false);if(_2.prompt){if(_2.multiline){_7.hide();_8.show();_8.setHeight(typeof _2.multiline==&quot;number&quot;?_2.multiline:this.defaultTextHeight);_e=_8}else{_7.show();_8.hide()}}else{_7.hide();_8.hide()}_e.dom.value=_2.value||&quot;&quot;;if(_2.prompt){d.focusEl=_e}else{var bs=_2.buttons;var db=null;if(bs&amp;&amp;bs.ok){db=_d.ok}else{if(bs&amp;&amp;bs.yes){db=_d.yes}}if(db){d.focusEl=db}}if(_2.iconCls){d.setIconClass(_2.iconCls)}this.setIcon(_2.icon);_f=_18(_2.buttons);_9.setVisible(_2.progress===true||_2.wait===true);this.updateProgress(0,_2.progressText);this.updateText(_2.msg);if(_2.cls){d.el.addClass(_2.cls)}d.proxyDrag=_2.proxyDrag===true;d.modal=_2.modal!==false;d.mask=_2.modal!==false?_3:false;
-if(!d.isVisible()){document.body.appendChild(_1.el.dom);d.setAnimateTarget(_2.animEl);d.show(_2.animEl)}d.on(&quot;show&quot;,function(){if(_2b===true){d.keyMap.enable()}else{d.keyMap.disable()}},this,{single:true});if(_2.wait===true){_9.wait(_2.waitConfig)}return this},setIcon:function(_2e){if(_2e&amp;&amp;_2e!=&quot;&quot;){_b.removeClass(&quot;x-hidden&quot;);_b.replaceClass(_10,_2e);_5.addClass(&quot;x-dlg-icon&quot;);_10=_2e}else{_b.replaceClass(_10,&quot;x-hidden&quot;);_5.removeClass(&quot;x-dlg-icon&quot;);_10=&quot;&quot;}return this},progress:function(_2f,msg,_31){this.show({title:_2f,msg:msg,buttons:false,progress:true,closable:false,minWidth:this.minProgressWidth,progressText:_31});return this},wait:function(msg,_33,_34){this.show({title:_33,msg:msg,buttons:false,closable:false,wait:true,modal:true,minWidth:this.minProgressWidth,waitConfig:_34});return this},alert:function(_35,msg,fn,_38){this.show({title:_35,msg:msg,buttons:this.OK,fn:fn,scope:_38});return this},confirm:function(_39,msg,fn,_3c){this.show({title:_39,msg:msg,buttons:this.YESNO,fn:fn,scope:_3c,icon:this.QUESTION});return this},prompt:function(_3d,msg,fn,_40,_41,_42){this.show({title:_3d,msg:msg,buttons:this.OKCANCEL,fn:fn,minWidth:250,scope:_40,prompt:true,multiline:_41,value:_42});return this},OK:{ok:true},CANCEL:{cancel:true},OKCANCEL:{ok:true,cancel:true},YESNO:{yes:true,no:true},YESNOCANCEL:{yes:true,no:true,cancel:true},INFO:&quot;ext-mb-info&quot;,WARNING:&quot;ext-mb-warning&quot;,QUESTION:&quot;ext-mb-question&quot;,ERROR:&quot;ext-mb-error&quot;,defaultTextHeight:75,maxWidth:600,minWidth:100,minProgressWidth:250,buttonText:{ok:&quot;OK&quot;,cancel:&quot;Cancel&quot;,yes:&quot;Yes&quot;,no:&quot;No&quot;}}}();Ext.Msg=Ext.MessageBox;Ext.Tip=Ext.extend(Ext.Panel,{minWidth:40,maxWidth:300,shadow:&quot;sides&quot;,defaultAlign:&quot;tl-bl?&quot;,autoRender:true,quickShowInterval:250,frame:true,hidden:true,baseCls:&quot;x-tip&quot;,floating:{shadow:true,shim:true,useDisplay:true,constrain:false},autoHeight:true,initComponent:function(){Ext.Tip.superclass.initComponent.call(this);if(this.closable&amp;&amp;!this.title){this.elements+=&quot;,header&quot;}},afterRender:function(){Ext.Tip.superclass.afterRender.call(this);if(this.closable){this.addTool({id:&quot;close&quot;,handler:this.hide,scope:this})}},showAt:function(xy){Ext.Tip.superclass.show.call(this);if(this.measureWidth!==false&amp;&amp;(!this.initialConfig||typeof this.initialConfig.width!=&quot;number&quot;)){this.doAutoWidth()}if(this.constrainPosition){xy=this.el.adjustForConstraints(xy)}this.setPagePosition(xy[0],xy[1])},doAutoWidth:function(){var bw=this.body.getTextWidth();if(this.title){bw=Math.max(bw,this.header.child(&quot;span&quot;).getTextWidth(this.title))}bw+=this.getFrameWidth()+(this.closable?20:0)+this.body.getPadding(&quot;lr&quot;);this.setWidth(bw.constrain(this.minWidth,this.maxWidth));if(Ext.isIE7&amp;&amp;!this.repainted){this.el.repaint();this.repainted=true}},showBy:function(el,_4){if(!this.rendered){this.render(Ext.getBody())}this.showAt(this.el.getAlignToXY(el,_4||this.defaultAlign))},initDraggable:function(){this.dd=new Ext.Tip.DD(this,typeof this.draggable==&quot;boolean&quot;?null:this.draggable);this.header.addClass(&quot;x-tip-draggable&quot;)}});Ext.Tip.DD=function(_5,_6){Ext.apply(this,_6);this.tip=_5;Ext.Tip.DD.superclass.constructor.call(this,_5.el.id,&quot;WindowDD-&quot;+_5.id);this.setHandleElId(_5.header.id);this.scroll=false};Ext.extend(Ext.Tip.DD,Ext.dd.DD,{moveOnly:true,scroll:false,headerOffsets:[100,25],startDrag:function(){this.tip.el.disableShadow()},endDrag:function(e){this.tip.el.enableShadow(true)}});Ext.ToolTip=Ext.extend(Ext.Tip,{showDelay:500,hideDelay:200,dismissDelay:5000,mouseOffset:[15,18],trackMouse:false,constrainPosition:true,initComponent:function(){Ext.ToolTip.superclass.initComponent.call(this);this.lastActive=new Date();this.initTarget()},initTarget:function(){if(this.target){this.target=Ext.get(this.target);this.target.on(&quot;mouseover&quot;,this.onTargetOver,this);this.target.on(&quot;mouseout&quot;,this.onTargetOut,this);this.target.on(&quot;mousemove&quot;,this.onMouseMove,this)}},onMouseMove:function(e){this.targetXY=e.getXY();if(!this.hidden&amp;&amp;this.trackMouse){this.setPagePosition(this.getTargetXY())}},getTargetXY:function(){return[this.targetXY[0]+this.mouseOffset[0],this.targetXY[1]+this.mouseOffset[1]]},onTargetOver:function(e){if(this.disabled||e.within(this.target.dom,true)){return}this.clearTimer(&quot;hide&quot;);this.targetXY=e.getXY();this.delayShow()},delayShow:function(){if(this.hidden&amp;&amp;!this.showTimer){if(this.lastActive.getElapsed()&lt;this.quickShowInterval){this.show()}else{this.showTimer=this.show.defer(this.showDelay,this)}}else{if(!this.hidden&amp;&amp;this.autoHide!==false){this.show()}}},onTargetOut:function(e){if(this.disabled||e.within(this.target.dom,true)){return}this.clearTimer(&quot;show&quot;);if(this.autoHide!==false){this.delayHide()}},delayHide:function(){if(!this.hidden&amp;&amp;!this.hideTimer){this.hideTimer=this.hide.defer(this.hideDelay,this)}},hide:function(){this.clearTimer(&quot;dismiss&quot;);this.lastActive=new Date();Ext.ToolTip.superclass.hide.call(this)},show:function(){this.showAt(this.getTargetXY())},showAt:function(xy){this.lastActive=new Date();this.clearTimers();Ext.ToolTip.superclass.showAt.call(this,xy);if(this.dismissDelay&amp;&amp;this.autoHide!==false){this.dismissTimer=this.hide.defer(this.dismissDelay,this)}},clearTimer:function(_5){_5=_5+&quot;Timer&quot;;clearTimeout(this[_5]);delete this[_5]},clearTimers:function(){this.clearTimer(&quot;show&quot;);this.clearTimer(&quot;dismiss&quot;);this.clearTimer(&quot;hide&quot;)},onShow:function(){Ext.ToolTip.superclass.onShow.call(this);Ext.getDoc().on(&quot;mousedown&quot;,this.onDocMouseDown,this)},onHide:function(){Ext.ToolTip.superclass.onHide.call(this);Ext.getDoc().un(&quot;mousedown&quot;,this.onDocMouseDown,this)},onDocMouseDown:function(e){if(this.autoHide!==false&amp;&amp;!e.within(this.el.dom)){this.disable();this.enable.defer(100,this)}},onDisable:function(){this.clearTimers();this.hide()},adjustPosition:function(x,y){var ay=this.targetXY[1],h=this.getSize().height;if(this.constrainPosition&amp;&amp;y&lt;=ay&amp;&amp;(y+h)&gt;=ay){y=ay-h-5}return{x:x,y:y}},onDestroy:function(){Ext.ToolTip.superclass.onDestroy.call(this);if(this.target){this.target.un(&quot;mouseover&quot;,this.onTargetOver,this);this.target.un(&quot;mouseout&quot;,this.onTargetOut,this);this.target.un(&quot;mousemove&quot;,this.onMouseMove,this)}}});Ext.QuickTip=Ext.extend(Ext.ToolTip,{interceptTitles:false,tagConfig:{namespace:&quot;ext&quot;,attribute:&quot;qtip&quot;,width:&quot;qwidth&quot;,target:&quot;target&quot;,title:&quot;qtitle&quot;,hide:&quot;hide&quot;,cls:&quot;qclass&quot;,align:&quot;qalign&quot;},initComponent:function(){this.target=this.target||Ext.getDoc();this.targets=this.targets||{};Ext.QuickTip.superclass.initComponent.call(this)},register:function(_1){var cs=Ext.isArray(_1)?_1:arguments;for(var i=0,_4=cs.length;i&lt;_4;i++){var c=cs[i];var _6=c.target;if(_6){if(Ext.isArray(_6)){for(var j=0,_8=_6.length;j&lt;_8;j++){this.targets[Ext.id(_6[j])]=c}}else{this.targets[Ext.id(_6)]=c}}}},unregister:function(el){delete this.targets[Ext.id(el)]},onTargetOver:function(e){if(this.disabled){return}this.targetXY=e.getXY();var t=e.getTarget();if(!t||t.nodeType!==1||t==document||t==document.body){return}if(this.activeTarget&amp;&amp;t==this.activeTarget.el){this.clearTimer(&quot;hide&quot;);this.show();return}if(t&amp;&amp;this.targets[t.id]){this.activeTarget=this.targets[t.id];this.activeTarget.el=t;this.delayShow();return}var _c,et=Ext.fly(t),_e=this.tagConfig;var ns=_e.namespace;if(this.interceptTitles&amp;&amp;t.title){_c=t.title;t.qtip=_c;t.removeAttribute(&quot;title&quot;);e.preventDefault()}else{_c=t.qtip||et.getAttributeNS(ns,_e.attribute)}if(_c){var _10=et.getAttributeNS(ns,_e.hide);this.activeTarget={el:t,text:_c,width:et.getAttributeNS(ns,_e.width),autoHide:_10!=&quot;user&quot;&amp;&amp;_10!==&quot;false&quot;,title:et.getAttributeNS(ns,_e.title),cls:et.getAttributeNS(ns,_e.cls),align:et.getAttributeNS(ns,_e.align)};this.delayShow()}},onTargetOut:function(e){this.clearTimer(&quot;show&quot;);if(this.autoHide!==false){this.delayHide()}},showAt:function(xy){var t=this.activeTarget;if(t){if(!this.rendered){this.render(Ext.getBody());this.activeTarget=t}if(t.width){this.setWidth(t.width);this.body.setWidth(this.adjustBodyWidth(t.width-this.getFrameWidth()));this.measureWidth=false}else{this.measureWidth=true}this.setTitle(t.title||&quot;&quot;);this.body.update(t.text);this.autoHide=t.autoHide;this.dismissDelay=t.dismissDelay||this.dismissDelay;
-if(this.lastCls){this.el.removeClass(this.lastCls);delete this.lastCls}if(t.cls){this.el.addClass(t.cls);this.lastCls=t.cls}if(t.align){xy=this.el.getAlignToXY(t.el,t.align);this.constrainPosition=false}else{this.constrainPosition=true}}Ext.QuickTip.superclass.showAt.call(this,xy)},hide:function(){delete this.activeTarget;Ext.QuickTip.superclass.hide.call(this)}});Ext.QuickTips=function(){var _1,_2=[];return{init:function(_3){if(!_1){if(!Ext.isReady){Ext.onReady(function(){Ext.QuickTips.init(_3)});return}_1=new Ext.QuickTip({elements:&quot;header,body&quot;});if(_3!==false){_1.render(Ext.getBody())}}},enable:function(){if(_1){_2.pop();if(_2.length&lt;1){_1.enable()}}},disable:function(){if(_1){_1.disable()}_2.push(1)},isEnabled:function(){return _1!==undefined&amp;&amp;!_1.disabled},getQuickTip:function(){return _1},register:function(){_1.register.apply(_1,arguments)},unregister:function(){_1.unregister.apply(_1,arguments)},tips:function(){_1.register.apply(_1,arguments)}}}();Ext.tree.TreePanel=Ext.extend(Ext.Panel,{rootVisible:true,animate:Ext.enableFx,lines:true,enableDD:false,hlDrop:Ext.enableFx,pathSeparator:&quot;/&quot;,initComponent:function(){Ext.tree.TreePanel.superclass.initComponent.call(this);if(!this.eventModel){this.eventModel=new Ext.tree.TreeEventModel(this)}var l=this.loader;if(!l){l=new Ext.tree.TreeLoader({dataUrl:this.dataUrl})}else{if(typeof l==&quot;object&quot;&amp;&amp;!l.load){l=new Ext.tree.TreeLoader(l)}}this.loader=l;this.nodeHash={};if(this.root){this.setRootNode(this.root)}this.addEvents(&quot;append&quot;,&quot;remove&quot;,&quot;movenode&quot;,&quot;insert&quot;,&quot;beforeappend&quot;,&quot;beforeremove&quot;,&quot;beforemovenode&quot;,&quot;beforeinsert&quot;,&quot;beforeload&quot;,&quot;load&quot;,&quot;textchange&quot;,&quot;beforeexpandnode&quot;,&quot;beforecollapsenode&quot;,&quot;expandnode&quot;,&quot;disabledchange&quot;,&quot;collapsenode&quot;,&quot;beforeclick&quot;,&quot;click&quot;,&quot;checkchange&quot;,&quot;dblclick&quot;,&quot;contextmenu&quot;,&quot;beforechildrenrendered&quot;,&quot;startdrag&quot;,&quot;enddrag&quot;,&quot;dragdrop&quot;,&quot;beforenodedrop&quot;,&quot;nodedrop&quot;,&quot;nodedragover&quot;);if(this.singleExpand){this.on(&quot;beforeexpandnode&quot;,this.restrictExpand,this)}},proxyNodeEvent:function(_2,a1,a2,a3,a4,a5,a6){if(_2==&quot;collapse&quot;||_2==&quot;expand&quot;||_2==&quot;beforecollapse&quot;||_2==&quot;beforeexpand&quot;||_2==&quot;move&quot;||_2==&quot;beforemove&quot;){_2=_2+&quot;node&quot;}return this.fireEvent(_2,a1,a2,a3,a4,a5,a6)},getRootNode:function(){return this.root},setRootNode:function(_9){if(!_9.render){_9=this.loader.createNode(_9)}this.root=_9;_9.ownerTree=this;_9.isRoot=true;this.registerNode(_9);if(!this.rootVisible){var _a=_9.attributes.uiProvider;_9.ui=_a?new _a(_9):new Ext.tree.RootTreeNodeUI(_9)}return _9},getNodeById:function(id){return this.nodeHash[id]},registerNode:function(_c){this.nodeHash[_c.id]=_c},unregisterNode:function(_d){delete this.nodeHash[_d.id]},toString:function(){return&quot;[Tree&quot;+(this.id?&quot; &quot;+this.id:&quot;&quot;)+&quot;]&quot;},restrictExpand:function(_e){var p=_e.parentNode;if(p){if(p.expandedChild&amp;&amp;p.expandedChild.parentNode==p){p.expandedChild.collapse()}p.expandedChild=_e}},getChecked:function(a,_11){_11=_11||this.root;var r=[];var f=function(){if(this.attributes.checked){r.push(!a?this:(a==&quot;id&quot;?this.id:this.attributes[a]))}};_11.cascade(f);return r},getEl:function(){return this.el},getLoader:function(){return this.loader},expandAll:function(){this.root.expand(true)},collapseAll:function(){this.root.collapse(true)},getSelectionModel:function(){if(!this.selModel){this.selModel=new Ext.tree.DefaultSelectionModel()}return this.selModel},expandPath:function(_14,_15,_16){_15=_15||&quot;id&quot;;var _17=_14.split(this.pathSeparator);var _18=this.root;if(_18.attributes[_15]!=_17[1]){if(_16){_16(false,null)}return}var _19=1;var f=function(){if(++_19==_17.length){if(_16){_16(true,_18)}return}var c=_18.findChild(_15,_17[_19]);if(!c){if(_16){_16(false,_18)}return}_18=c;c.expand(false,false,f)};_18.expand(false,false,f)},selectPath:function(_1c,_1d,_1e){_1d=_1d||&quot;id&quot;;var _1f=_1c.split(this.pathSeparator);var v=_1f.pop();if(_1f.length&gt;0){var f=function(_22,_23){if(_22&amp;&amp;_23){var n=_23.findChild(_1d,v);if(n){n.select();if(_1e){_1e(true,n)}}else{if(_1e){_1e(false,n)}}}else{if(_1e){_1e(false,n)}}};this.expandPath(_1f.join(this.pathSeparator),_1d,f)}else{this.root.select();if(_1e){_1e(true,this.root)}}},getTreeEl:function(){return this.body},onRender:function(ct,_26){Ext.tree.TreePanel.superclass.onRender.call(this,ct,_26);this.el.addClass(&quot;x-tree&quot;);this.innerCt=this.body.createChild({tag:&quot;ul&quot;,cls:&quot;x-tree-root-ct &quot;+(this.useArrows?&quot;x-tree-arrows&quot;:this.lines?&quot;x-tree-lines&quot;:&quot;x-tree-no-lines&quot;)})},initEvents:function(){Ext.tree.TreePanel.superclass.initEvents.call(this);if(this.containerScroll){Ext.dd.ScrollManager.register(this.body)}if((this.enableDD||this.enableDrop)&amp;&amp;!this.dropZone){this.dropZone=new Ext.tree.TreeDropZone(this,this.dropConfig||{ddGroup:this.ddGroup||&quot;TreeDD&quot;,appendOnly:this.ddAppendOnly===true})}if((this.enableDD||this.enableDrag)&amp;&amp;!this.dragZone){this.dragZone=new Ext.tree.TreeDragZone(this,this.dragConfig||{ddGroup:this.ddGroup||&quot;TreeDD&quot;,scroll:this.ddScroll})}this.getSelectionModel().init(this)},afterRender:function(){Ext.tree.TreePanel.superclass.afterRender.call(this);this.root.render();if(!this.rootVisible){this.root.renderChildren()}},onDestroy:function(){if(this.rendered){this.body.removeAllListeners();Ext.dd.ScrollManager.unregister(this.body);if(this.dropZone){this.dropZone.unreg()}if(this.dragZone){this.dragZone.unreg()}}this.root.destroy();this.nodeHash=null;Ext.tree.TreePanel.superclass.onDestroy.call(this)}});Ext.tree.TreePanel.nodeTypes={};Ext.reg(&quot;treepanel&quot;,Ext.tree.TreePanel);Ext.tree.TreeEventModel=function(_1){this.tree=_1;this.tree.on(&quot;render&quot;,this.initEvents,this)};Ext.tree.TreeEventModel.prototype={initEvents:function(){var el=this.tree.getTreeEl();el.on(&quot;click&quot;,this.delegateClick,this);if(this.tree.trackMouseOver!==false){el.on(&quot;mouseover&quot;,this.delegateOver,this);el.on(&quot;mouseout&quot;,this.delegateOut,this)}el.on(&quot;dblclick&quot;,this.delegateDblClick,this);el.on(&quot;contextmenu&quot;,this.delegateContextMenu,this)},getNode:function(e){var t;if(t=e.getTarget(&quot;.x-tree-node-el&quot;,10)){var id=Ext.fly(t,&quot;_treeEvents&quot;).getAttributeNS(&quot;ext&quot;,&quot;tree-node-id&quot;);if(id){return this.tree.getNodeById(id)}}return null},getNodeTarget:function(e){var t=e.getTarget(&quot;.x-tree-node-icon&quot;,1);if(!t){t=e.getTarget(&quot;.x-tree-node-el&quot;,6)}return t},delegateOut:function(e,t){if(!this.beforeEvent(e)){return}if(e.getTarget(&quot;.x-tree-ec-icon&quot;,1)){var n=this.getNode(e);this.onIconOut(e,n);if(n==this.lastEcOver){delete this.lastEcOver}}if((t=this.getNodeTarget(e))&amp;&amp;!e.within(t,true)){this.onNodeOut(e,this.getNode(e))}},delegateOver:function(e,t){if(!this.beforeEvent(e)){return}if(this.lastEcOver){this.onIconOut(e,this.lastEcOver);delete this.lastEcOver}if(e.getTarget(&quot;.x-tree-ec-icon&quot;,1)){this.lastEcOver=this.getNode(e);this.onIconOver(e,this.lastEcOver)}if(t=this.getNodeTarget(e)){this.onNodeOver(e,this.getNode(e))}},delegateClick:function(e,t){if(!this.beforeEvent(e)){return}if(e.getTarget(&quot;input[type=checkbox]&quot;,1)){this.onCheckboxClick(e,this.getNode(e))}else{if(e.getTarget(&quot;.x-tree-ec-icon&quot;,1)){this.onIconClick(e,this.getNode(e))}else{if(this.getNodeTarget(e)){this.onNodeClick(e,this.getNode(e))}}}},delegateDblClick:function(e,t){if(this.beforeEvent(e)&amp;&amp;this.getNodeTarget(e)){this.onNodeDblClick(e,this.getNode(e))}},delegateContextMenu:function(e,t){if(this.beforeEvent(e)&amp;&amp;this.getNodeTarget(e)){this.onNodeContextMenu(e,this.getNode(e))}},onNodeClick:function(e,_14){_14.ui.onClick(e)},onNodeOver:function(e,_16){_16.ui.onOver(e)},onNodeOut:function(e,_18){_18.ui.onOut(e)},onIconOver:function(e,_1a){_1a.ui.addClass(&quot;x-tree-ec-over&quot;)},onIconOut:function(e,_1c){_1c.ui.removeClass(&quot;x-tree-ec-over&quot;)},onIconClick:function(e,_1e){_1e.ui.ecClick(e)},onCheckboxClick:function(e,_20){_20.ui.onCheckChange(e)},onNodeDblClick:function(e,_22){_22.ui.onDblClick(e)},onNodeContextMenu:function(e,_24){_24.ui.onContextMenu(e)},beforeEvent:function(e){if(this.disabled){e.stopEvent();return false}return true},disable:function(){this.disabled=true},enable:function(){this.disabled=false}};Ext.tree.DefaultSelectionModel=function(_1){this.selNode=null;this.addEvents(&quot;selectionchange&quot;,&quot;beforeselect&quot;);Ext.apply(this,_1);
-Ext.tree.DefaultSelectionModel.superclass.constructor.call(this)};Ext.extend(Ext.tree.DefaultSelectionModel,Ext.util.Observable,{init:function(_2){this.tree=_2;_2.getTreeEl().on(&quot;keydown&quot;,this.onKeyDown,this);_2.on(&quot;click&quot;,this.onNodeClick,this)},onNodeClick:function(_3,e){this.select(_3)},select:function(_5){var _6=this.selNode;if(_6!=_5&amp;&amp;this.fireEvent(&quot;beforeselect&quot;,this,_5,_6)!==false){if(_6){_6.ui.onSelectedChange(false)}this.selNode=_5;_5.ui.onSelectedChange(true);this.fireEvent(&quot;selectionchange&quot;,this,_5,_6)}return _5},unselect:function(_7){if(this.selNode==_7){this.clearSelections()}},clearSelections:function(){var n=this.selNode;if(n){n.ui.onSelectedChange(false);this.selNode=null;this.fireEvent(&quot;selectionchange&quot;,this,null)}return n},getSelectedNode:function(){return this.selNode},isSelected:function(_9){return this.selNode==_9},selectPrevious:function(){var s=this.selNode||this.lastSelNode;if(!s){return null}var ps=s.previousSibling;if(ps){if(!ps.isExpanded()||ps.childNodes.length&lt;1){return this.select(ps)}else{var lc=ps.lastChild;while(lc&amp;&amp;lc.isExpanded()&amp;&amp;lc.childNodes.length&gt;0){lc=lc.lastChild}return this.select(lc)}}else{if(s.parentNode&amp;&amp;(this.tree.rootVisible||!s.parentNode.isRoot)){return this.select(s.parentNode)}}return null},selectNext:function(){var s=this.selNode||this.lastSelNode;if(!s){return null}if(s.firstChild&amp;&amp;s.isExpanded()){return this.select(s.firstChild)}else{if(s.nextSibling){return this.select(s.nextSibling)}else{if(s.parentNode){var _e=null;s.parentNode.bubble(function(){if(this.nextSibling){_e=this.getOwnerTree().selModel.select(this.nextSibling);return false}});return _e}}}return null},onKeyDown:function(e){var s=this.selNode||this.lastSelNode;var sm=this;if(!s){return}var k=e.getKey();switch(k){case e.DOWN:e.stopEvent();this.selectNext();break;case e.UP:e.stopEvent();this.selectPrevious();break;case e.RIGHT:e.preventDefault();if(s.hasChildNodes()){if(!s.isExpanded()){s.expand()}else{if(s.firstChild){this.select(s.firstChild,e)}}}break;case e.LEFT:e.preventDefault();if(s.hasChildNodes()&amp;&amp;s.isExpanded()){s.collapse()}else{if(s.parentNode&amp;&amp;(this.tree.rootVisible||s.parentNode!=this.tree.getRootNode())){this.select(s.parentNode,e)}}break}}});Ext.tree.MultiSelectionModel=function(_13){this.selNodes=[];this.selMap={};this.addEvents(&quot;selectionchange&quot;);Ext.apply(this,_13);Ext.tree.MultiSelectionModel.superclass.constructor.call(this)};Ext.extend(Ext.tree.MultiSelectionModel,Ext.util.Observable,{init:function(_14){this.tree=_14;_14.getTreeEl().on(&quot;keydown&quot;,this.onKeyDown,this);_14.on(&quot;click&quot;,this.onNodeClick,this)},onNodeClick:function(_15,e){this.select(_15,e,e.ctrlKey)},select:function(_17,e,_19){if(_19!==true){this.clearSelections(true)}if(this.isSelected(_17)){this.lastSelNode=_17;return _17}this.selNodes.push(_17);this.selMap[_17.id]=_17;this.lastSelNode=_17;_17.ui.onSelectedChange(true);this.fireEvent(&quot;selectionchange&quot;,this,this.selNodes);return _17},unselect:function(_1a){if(this.selMap[_1a.id]){_1a.ui.onSelectedChange(false);var sn=this.selNodes;var _1c=sn.indexOf(_1a);if(_1c!=-1){this.selNodes.splice(_1c,1)}delete this.selMap[_1a.id];this.fireEvent(&quot;selectionchange&quot;,this,this.selNodes)}},clearSelections:function(_1d){var sn=this.selNodes;if(sn.length&gt;0){for(var i=0,len=sn.length;i&lt;len;i++){sn[i].ui.onSelectedChange(false)}this.selNodes=[];this.selMap={};if(_1d!==true){this.fireEvent(&quot;selectionchange&quot;,this,this.selNodes)}}},isSelected:function(_21){return this.selMap[_21.id]?true:false},getSelectedNodes:function(){return this.selNodes},onKeyDown:Ext.tree.DefaultSelectionModel.prototype.onKeyDown,selectNext:Ext.tree.DefaultSelectionModel.prototype.selectNext,selectPrevious:Ext.tree.DefaultSelectionModel.prototype.selectPrevious});Ext.tree.TreeNode=function(_1){_1=_1||{};if(typeof _1==&quot;string&quot;){_1={text:_1}}this.childrenRendered=false;this.rendered=false;Ext.tree.TreeNode.superclass.constructor.call(this,_1);this.expanded=_1.expanded===true;this.isTarget=_1.isTarget!==false;this.draggable=_1.draggable!==false&amp;&amp;_1.allowDrag!==false;this.allowChildren=_1.allowChildren!==false&amp;&amp;_1.allowDrop!==false;this.text=_1.text;this.disabled=_1.disabled===true;this.addEvents(&quot;textchange&quot;,&quot;beforeexpand&quot;,&quot;beforecollapse&quot;,&quot;expand&quot;,&quot;disabledchange&quot;,&quot;collapse&quot;,&quot;beforeclick&quot;,&quot;click&quot;,&quot;checkchange&quot;,&quot;dblclick&quot;,&quot;contextmenu&quot;,&quot;beforechildrenrendered&quot;);var _2=this.attributes.uiProvider||this.defaultUI||Ext.tree.TreeNodeUI;this.ui=new _2(this)};Ext.extend(Ext.tree.TreeNode,Ext.data.Node,{preventHScroll:true,isExpanded:function(){return this.expanded},getUI:function(){return this.ui},getLoader:function(){var _3;return this.loader||((_3=this.getOwnerTree())&amp;&amp;_3.loader?_3.loader:new Ext.tree.TreeLoader())},setFirstChild:function(_4){var of=this.firstChild;Ext.tree.TreeNode.superclass.setFirstChild.call(this,_4);if(this.childrenRendered&amp;&amp;of&amp;&amp;_4!=of){of.renderIndent(true,true)}if(this.rendered){this.renderIndent(true,true)}},setLastChild:function(_6){var ol=this.lastChild;Ext.tree.TreeNode.superclass.setLastChild.call(this,_6);if(this.childrenRendered&amp;&amp;ol&amp;&amp;_6!=ol){ol.renderIndent(true,true)}if(this.rendered){this.renderIndent(true,true)}},appendChild:function(n){if(!n.render&amp;&amp;!Ext.isArray(n)){n=this.getLoader().createNode(n)}var _9=Ext.tree.TreeNode.superclass.appendChild.call(this,n);if(_9&amp;&amp;this.childrenRendered){_9.render()}this.ui.updateExpandIcon();return _9},removeChild:function(_a){this.ownerTree.getSelectionModel().unselect(_a);Ext.tree.TreeNode.superclass.removeChild.apply(this,arguments);if(this.childrenRendered){_a.ui.remove()}if(this.childNodes.length&lt;1){this.collapse(false,false)}else{this.ui.updateExpandIcon()}if(!this.firstChild&amp;&amp;!this.isHiddenRoot()){this.childrenRendered=false}return _a},insertBefore:function(_b,_c){if(!_b.render){_b=this.getLoader().createNode(_b)}var _d=Ext.tree.TreeNode.superclass.insertBefore.apply(this,arguments);if(_d&amp;&amp;_c&amp;&amp;this.childrenRendered){_b.render()}this.ui.updateExpandIcon();return _d},setText:function(_e){var _f=this.text;this.text=_e;this.attributes.text=_e;if(this.rendered){this.ui.onTextChange(this,_e,_f)}this.fireEvent(&quot;textchange&quot;,this,_e,_f)},select:function(){this.getOwnerTree().getSelectionModel().select(this)},unselect:function(){this.getOwnerTree().getSelectionModel().unselect(this)},isSelected:function(){return this.getOwnerTree().getSelectionModel().isSelected(this)},expand:function(_10,_11,_12){if(!this.expanded){if(this.fireEvent(&quot;beforeexpand&quot;,this,_10,_11)===false){return}if(!this.childrenRendered){this.renderChildren()}this.expanded=true;if(!this.isHiddenRoot()&amp;&amp;(this.getOwnerTree().animate&amp;&amp;_11!==false)||_11){this.ui.animExpand(function(){this.fireEvent(&quot;expand&quot;,this);if(typeof _12==&quot;function&quot;){_12(this)}if(_10===true){this.expandChildNodes(true)}}.createDelegate(this));return}else{this.ui.expand();this.fireEvent(&quot;expand&quot;,this);if(typeof _12==&quot;function&quot;){_12(this)}}}else{if(typeof _12==&quot;function&quot;){_12(this)}}if(_10===true){this.expandChildNodes(true)}},isHiddenRoot:function(){return this.isRoot&amp;&amp;!this.getOwnerTree().rootVisible},collapse:function(_13,_14){if(this.expanded&amp;&amp;!this.isHiddenRoot()){if(this.fireEvent(&quot;beforecollapse&quot;,this,_13,_14)===false){return}this.expanded=false;if((this.getOwnerTree().animate&amp;&amp;_14!==false)||_14){this.ui.animCollapse(function(){this.fireEvent(&quot;collapse&quot;,this);if(_13===true){this.collapseChildNodes(true)}}.createDelegate(this));return}else{this.ui.collapse();this.fireEvent(&quot;collapse&quot;,this)}}if(_13===true){var cs=this.childNodes;for(var i=0,len=cs.length;i&lt;len;i++){cs[i].collapse(true,false)}}},delayedExpand:function(_18){if(!this.expandProcId){this.expandProcId=this.expand.defer(_18,this)}},cancelExpand:function(){if(this.expandProcId){clearTimeout(this.expandProcId)}this.expandProcId=false},toggle:function(){if(this.expanded){this.collapse()}else{this.expand()}},ensureVisible:function(_19){var _1a=this.getOwnerTree();_1a.expandPath(this.parentNode?this.parentNode.getPath():this.getPath(),false,function(){var _1b=_1a.getNodeById(this.id);_1a.getTreeEl().scrollChildIntoView(_1b.ui.anchor);
-Ext.callback(_19)}.createDelegate(this))},expandChildNodes:function(_1c){var cs=this.childNodes;for(var i=0,len=cs.length;i&lt;len;i++){cs[i].expand(_1c)}},collapseChildNodes:function(_20){var cs=this.childNodes;for(var i=0,len=cs.length;i&lt;len;i++){cs[i].collapse(_20)}},disable:function(){this.disabled=true;this.unselect();if(this.rendered&amp;&amp;this.ui.onDisableChange){this.ui.onDisableChange(this,true)}this.fireEvent(&quot;disabledchange&quot;,this,true)},enable:function(){this.disabled=false;if(this.rendered&amp;&amp;this.ui.onDisableChange){this.ui.onDisableChange(this,false)}this.fireEvent(&quot;disabledchange&quot;,this,false)},renderChildren:function(_24){if(_24!==false){this.fireEvent(&quot;beforechildrenrendered&quot;,this)}var cs=this.childNodes;for(var i=0,len=cs.length;i&lt;len;i++){cs[i].render(true)}this.childrenRendered=true},sort:function(fn,_29){Ext.tree.TreeNode.superclass.sort.apply(this,arguments);if(this.childrenRendered){var cs=this.childNodes;for(var i=0,len=cs.length;i&lt;len;i++){cs[i].render(true)}}},render:function(_2d){this.ui.render(_2d);if(!this.rendered){this.getOwnerTree().registerNode(this);this.rendered=true;if(this.expanded){this.expanded=false;this.expand(false,false)}}},renderIndent:function(_2e,_2f){if(_2f){this.ui.childIndent=null}this.ui.renderIndent();if(_2e===true&amp;&amp;this.childrenRendered){var cs=this.childNodes;for(var i=0,len=cs.length;i&lt;len;i++){cs[i].renderIndent(true,_2f)}}},beginUpdate:function(){this.childrenRendered=false},endUpdate:function(){if(this.expanded&amp;&amp;this.rendered){this.renderChildren()}},destroy:function(){if(this.childNodes){for(var i=0,l=this.childNodes.length;i&lt;l;i++){this.childNodes[i].destroy()}this.childNodes=null}if(this.ui.destroy){this.ui.destroy()}}});Ext.tree.TreePanel.nodeTypes.node=Ext.tree.TreeNode;Ext.tree.AsyncTreeNode=function(_1){this.loaded=_1&amp;&amp;_1.loaded===true;this.loading=false;Ext.tree.AsyncTreeNode.superclass.constructor.apply(this,arguments);this.addEvents(&quot;beforeload&quot;,&quot;load&quot;)};Ext.extend(Ext.tree.AsyncTreeNode,Ext.tree.TreeNode,{expand:function(_2,_3,_4){if(this.loading){var _5;var f=function(){if(!this.loading){clearInterval(_5);this.expand(_2,_3,_4)}}.createDelegate(this);_5=setInterval(f,200);return}if(!this.loaded){if(this.fireEvent(&quot;beforeload&quot;,this)===false){return}this.loading=true;this.ui.beforeLoad(this);var _7=this.loader||this.attributes.loader||this.getOwnerTree().getLoader();if(_7){_7.load(this,this.loadComplete.createDelegate(this,[_2,_3,_4]));return}}Ext.tree.AsyncTreeNode.superclass.expand.call(this,_2,_3,_4)},isLoading:function(){return this.loading},loadComplete:function(_8,_9,_a){this.loading=false;this.loaded=true;this.ui.afterLoad(this);this.fireEvent(&quot;load&quot;,this);this.expand(_8,_9,_a)},isLoaded:function(){return this.loaded},hasChildNodes:function(){if(!this.isLeaf()&amp;&amp;!this.loaded){return true}else{return Ext.tree.AsyncTreeNode.superclass.hasChildNodes.call(this)}},reload:function(_b){this.collapse(false,false);while(this.firstChild){this.removeChild(this.firstChild).destroy()}this.childrenRendered=false;this.loaded=false;if(this.isHiddenRoot()){this.expanded=false}this.expand(false,false,_b)}});Ext.tree.TreePanel.nodeTypes.async=Ext.tree.AsyncTreeNode;Ext.tree.TreeNodeUI=function(_1){this.node=_1;this.rendered=false;this.animating=false;this.wasLeaf=true;this.ecc=&quot;x-tree-ec-icon x-tree-elbow&quot;;this.emptyIcon=Ext.BLANK_IMAGE_URL};Ext.tree.TreeNodeUI.prototype={removeChild:function(_2){if(this.rendered){this.ctNode.removeChild(_2.ui.getEl())}},beforeLoad:function(){this.addClass(&quot;x-tree-node-loading&quot;)},afterLoad:function(){this.removeClass(&quot;x-tree-node-loading&quot;)},onTextChange:function(_3,_4,_5){if(this.rendered){this.textNode.innerHTML=_4}},onDisableChange:function(_6,_7){this.disabled=_7;if(this.checkbox){this.checkbox.disabled=_7}if(_7){this.addClass(&quot;x-tree-node-disabled&quot;)}else{this.removeClass(&quot;x-tree-node-disabled&quot;)}},onSelectedChange:function(_8){if(_8){this.focus();this.addClass(&quot;x-tree-selected&quot;)}else{this.removeClass(&quot;x-tree-selected&quot;)}},onMove:function(_9,_a,_b,_c,_d,_e){this.childIndent=null;if(this.rendered){var _f=_c.ui.getContainer();if(!_f){this.holder=document.createElement(&quot;div&quot;);this.holder.appendChild(this.wrap);return}var _10=_e?_e.ui.getEl():null;if(_10){_f.insertBefore(this.wrap,_10)}else{_f.appendChild(this.wrap)}this.node.renderIndent(true)}},addClass:function(cls){if(this.elNode){Ext.fly(this.elNode).addClass(cls)}},removeClass:function(cls){if(this.elNode){Ext.fly(this.elNode).removeClass(cls)}},remove:function(){if(this.rendered){this.holder=document.createElement(&quot;div&quot;);this.holder.appendChild(this.wrap)}},fireEvent:function(){return this.node.fireEvent.apply(this.node,arguments)},initEvents:function(){this.node.on(&quot;move&quot;,this.onMove,this);if(this.node.disabled){this.addClass(&quot;x-tree-node-disabled&quot;);if(this.checkbox){this.checkbox.disabled=true}}if(this.node.hidden){this.hide()}var ot=this.node.getOwnerTree();var dd=ot.enableDD||ot.enableDrag||ot.enableDrop;if(dd&amp;&amp;(!this.node.isRoot||ot.rootVisible)){Ext.dd.Registry.register(this.elNode,{node:this.node,handles:this.getDDHandles(),isHandle:false})}},getDDHandles:function(){return[this.iconNode,this.textNode,this.elNode]},hide:function(){this.node.hidden=true;if(this.wrap){this.wrap.style.display=&quot;none&quot;}},show:function(){this.node.hidden=false;if(this.wrap){this.wrap.style.display=&quot;&quot;}},onContextMenu:function(e){if(this.node.hasListener(&quot;contextmenu&quot;)||this.node.getOwnerTree().hasListener(&quot;contextmenu&quot;)){e.preventDefault();this.focus();this.fireEvent(&quot;contextmenu&quot;,this.node,e)}},onClick:function(e){if(this.dropping){e.stopEvent();return}if(this.fireEvent(&quot;beforeclick&quot;,this.node,e)!==false){var a=e.getTarget(&quot;a&quot;);if(!this.disabled&amp;&amp;this.node.attributes.href&amp;&amp;a){this.fireEvent(&quot;click&quot;,this.node,e);return}else{if(a&amp;&amp;e.ctrlKey){e.stopEvent()}}e.preventDefault();if(this.disabled){return}if(this.node.attributes.singleClickExpand&amp;&amp;!this.animating&amp;&amp;this.node.isExpandable()){this.node.toggle()}this.fireEvent(&quot;click&quot;,this.node,e)}else{e.stopEvent()}},onDblClick:function(e){e.preventDefault();if(this.disabled){return}if(this.checkbox){this.toggleCheck()}if(!this.animating&amp;&amp;this.node.isExpandable()){this.node.toggle()}this.fireEvent(&quot;dblclick&quot;,this.node,e)},onOver:function(e){this.addClass(&quot;x-tree-node-over&quot;)},onOut:function(e){this.removeClass(&quot;x-tree-node-over&quot;)},onCheckChange:function(){var _1b=this.checkbox.checked;this.checkbox.defaultChecked=_1b;this.node.attributes.checked=_1b;this.fireEvent(&quot;checkchange&quot;,this.node,_1b)},ecClick:function(e){if(!this.animating&amp;&amp;this.node.isExpandable()){this.node.toggle()}},startDrop:function(){this.dropping=true},endDrop:function(){setTimeout(function(){this.dropping=false}.createDelegate(this),50)},expand:function(){this.updateExpandIcon();this.ctNode.style.display=&quot;&quot;},focus:function(){if(!this.node.preventHScroll){try{this.anchor.focus()}catch(e){}}else{try{var _1d=this.node.getOwnerTree().getTreeEl().dom;var l=_1d.scrollLeft;this.anchor.focus();_1d.scrollLeft=l}catch(e){}}},toggleCheck:function(_1f){var cb=this.checkbox;if(cb){cb.checked=(_1f===undefined?!cb.checked:_1f);this.onCheckChange()}},blur:function(){try{this.anchor.blur()}catch(e){}},animExpand:function(_21){var ct=Ext.get(this.ctNode);ct.stopFx();if(!this.node.isExpandable()){this.updateExpandIcon();this.ctNode.style.display=&quot;&quot;;Ext.callback(_21);return}this.animating=true;this.updateExpandIcon();ct.slideIn(&quot;t&quot;,{callback:function(){this.animating=false;Ext.callback(_21)},scope:this,duration:this.node.ownerTree.duration||0.25})},highlight:function(){var _23=this.node.getOwnerTree();Ext.fly(this.wrap).highlight(_23.hlColor||&quot;C3DAF9&quot;,{endColor:_23.hlBaseColor})},collapse:function(){this.updateExpandIcon();this.ctNode.style.display=&quot;none&quot;},animCollapse:function(_24){var ct=Ext.get(this.ctNode);ct.enableDisplayMode(&quot;block&quot;);ct.stopFx();this.animating=true;this.updateExpandIcon();ct.slideOut(&quot;t&quot;,{callback:function(){this.animating=false;Ext.callback(_24)},scope:this,duration:this.node.ownerTree.duration||0.25})},getContainer:function(){return this.ctNode
-},getEl:function(){return this.wrap},appendDDGhost:function(_26){_26.appendChild(this.elNode.cloneNode(true))},getDDRepairXY:function(){return Ext.lib.Dom.getXY(this.iconNode)},onRender:function(){this.render()},render:function(_27){var n=this.node,a=n.attributes;var _2a=n.parentNode?n.parentNode.ui.getContainer():n.ownerTree.innerCt.dom;if(!this.rendered){this.rendered=true;this.renderElements(n,a,_2a,_27);if(a.qtip){if(this.textNode.setAttributeNS){this.textNode.setAttributeNS(&quot;ext&quot;,&quot;qtip&quot;,a.qtip);if(a.qtipTitle){this.textNode.setAttributeNS(&quot;ext&quot;,&quot;qtitle&quot;,a.qtipTitle)}}else{this.textNode.setAttribute(&quot;ext:qtip&quot;,a.qtip);if(a.qtipTitle){this.textNode.setAttribute(&quot;ext:qtitle&quot;,a.qtipTitle)}}}else{if(a.qtipCfg){a.qtipCfg.target=Ext.id(this.textNode);Ext.QuickTips.register(a.qtipCfg)}}this.initEvents();if(!this.node.expanded){this.updateExpandIcon(true)}}else{if(_27===true){_2a.appendChild(this.wrap)}}},renderElements:function(n,a,_2d,_2e){this.indentMarkup=n.parentNode?n.parentNode.ui.getChildIndent():&quot;&quot;;var cb=typeof a.checked==&quot;boolean&quot;;var _30=a.href?a.href:Ext.isGecko?&quot;&quot;:&quot;#&quot;;var buf=['&lt;li class=&quot;x-tree-node&quot;&gt;&lt;div ext:tree-node-id=&quot;',n.id,'&quot; class=&quot;x-tree-node-el x-tree-node-leaf x-unselectable ',a.cls,'&quot; unselectable=&quot;on&quot;&gt;','&lt;span class=&quot;x-tree-node-indent&quot;&gt;',this.indentMarkup,&quot;&lt;/span&gt;&quot;,'&lt;img src=&quot;',this.emptyIcon,'&quot; class=&quot;x-tree-ec-icon x-tree-elbow&quot; /&gt;','&lt;img src=&quot;',a.icon||this.emptyIcon,'&quot; class=&quot;x-tree-node-icon',(a.icon?&quot; x-tree-node-inline-icon&quot;:&quot;&quot;),(a.iconCls?&quot; &quot;+a.iconCls:&quot;&quot;),'&quot; unselectable=&quot;on&quot; /&gt;',cb?('&lt;input class=&quot;x-tree-node-cb&quot; type=&quot;checkbox&quot; '+(a.checked?'checked=&quot;checked&quot; /&gt;':&quot;/&gt;&quot;)):&quot;&quot;,'&lt;a hidefocus=&quot;on&quot; class=&quot;x-tree-node-anchor&quot; href=&quot;',_30,'&quot; tabIndex=&quot;1&quot; ',a.hrefTarget?' target=&quot;'+a.hrefTarget+'&quot;':&quot;&quot;,'&gt;&lt;span unselectable=&quot;on&quot;&gt;',n.text,&quot;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&quot;,'&lt;ul class=&quot;x-tree-node-ct&quot; style=&quot;display:none;&quot;&gt;&lt;/ul&gt;',&quot;&lt;/li&gt;&quot;].join(&quot;&quot;);var nel;if(_2e!==true&amp;&amp;n.nextSibling&amp;&amp;(nel=n.nextSibling.ui.getEl())){this.wrap=Ext.DomHelper.insertHtml(&quot;beforeBegin&quot;,nel,buf)}else{this.wrap=Ext.DomHelper.insertHtml(&quot;beforeEnd&quot;,_2d,buf)}this.elNode=this.wrap.childNodes[0];this.ctNode=this.wrap.childNodes[1];var cs=this.elNode.childNodes;this.indentNode=cs[0];this.ecNode=cs[1];this.iconNode=cs[2];var _34=3;if(cb){this.checkbox=cs[3];this.checkbox.defaultChecked=this.checkbox.checked;_34++}this.anchor=cs[_34];this.textNode=cs[_34].firstChild},getAnchor:function(){return this.anchor},getTextEl:function(){return this.textNode},getIconEl:function(){return this.iconNode},isChecked:function(){return this.checkbox?this.checkbox.checked:false},updateExpandIcon:function(){if(this.rendered){var n=this.node,c1,c2;var cls=n.isLast()?&quot;x-tree-elbow-end&quot;:&quot;x-tree-elbow&quot;;if(n.isExpandable()){if(n.expanded){cls+=&quot;-minus&quot;;c1=&quot;x-tree-node-collapsed&quot;;c2=&quot;x-tree-node-expanded&quot;}else{cls+=&quot;-plus&quot;;c1=&quot;x-tree-node-expanded&quot;;c2=&quot;x-tree-node-collapsed&quot;}if(this.wasLeaf){this.removeClass(&quot;x-tree-node-leaf&quot;);this.wasLeaf=false}if(this.c1!=c1||this.c2!=c2){Ext.fly(this.elNode).replaceClass(c1,c2);this.c1=c1;this.c2=c2}}else{if(!this.wasLeaf){Ext.fly(this.elNode).replaceClass(&quot;x-tree-node-expanded&quot;,&quot;x-tree-node-leaf&quot;);delete this.c1;delete this.c2;this.wasLeaf=true}}var ecc=&quot;x-tree-ec-icon &quot;+cls;if(this.ecc!=ecc){this.ecNode.className=ecc;this.ecc=ecc}}},getChildIndent:function(){if(!this.childIndent){var buf=[];var p=this.node;while(p){if(!p.isRoot||(p.isRoot&amp;&amp;p.ownerTree.rootVisible)){if(!p.isLast()){buf.unshift('&lt;img src=&quot;'+this.emptyIcon+'&quot; class=&quot;x-tree-elbow-line&quot; /&gt;')}else{buf.unshift('&lt;img src=&quot;'+this.emptyIcon+'&quot; class=&quot;x-tree-icon&quot; /&gt;')}}p=p.parentNode}this.childIndent=buf.join(&quot;&quot;)}return this.childIndent},renderIndent:function(){if(this.rendered){var _3c=&quot;&quot;;var p=this.node.parentNode;if(p){_3c=p.ui.getChildIndent()}if(this.indentMarkup!=_3c){this.indentNode.innerHTML=_3c;this.indentMarkup=_3c}this.updateExpandIcon()}},destroy:function(){if(this.elNode){Ext.dd.Registry.unregister(this.elNode.id)}delete this.elNode;delete this.ctNode;delete this.indentNode;delete this.ecNode;delete this.iconNode;delete this.checkbox;delete this.anchor;delete this.textNode;if(this.holder){delete this.wrap;Ext.removeNode(this.holder);delete this.holder}else{Ext.removeNode(this.wrap);delete this.wrap}}};Ext.tree.RootTreeNodeUI=Ext.extend(Ext.tree.TreeNodeUI,{render:function(){if(!this.rendered){var _3e=this.node.ownerTree.innerCt.dom;this.node.expanded=true;_3e.innerHTML='&lt;div class=&quot;x-tree-root-node&quot;&gt;&lt;/div&gt;';this.wrap=this.ctNode=_3e.firstChild}},collapse:Ext.emptyFn,expand:Ext.emptyFn});Ext.tree.TreeLoader=function(_1){this.baseParams={};Ext.apply(this,_1);this.addEvents(&quot;beforeload&quot;,&quot;load&quot;,&quot;loadexception&quot;);Ext.tree.TreeLoader.superclass.constructor.call(this)};Ext.extend(Ext.tree.TreeLoader,Ext.util.Observable,{uiProviders:{},clearOnLoad:true,load:function(_2,_3){if(this.clearOnLoad){while(_2.firstChild){_2.removeChild(_2.firstChild)}}if(this.doPreload(_2)){if(typeof _3==&quot;function&quot;){_3()}}else{if(this.dataUrl||this.url){this.requestData(_2,_3)}}},doPreload:function(_4){if(_4.attributes.children){if(_4.childNodes.length&lt;1){var cs=_4.attributes.children;_4.beginUpdate();for(var i=0,_7=cs.length;i&lt;_7;i++){var cn=_4.appendChild(this.createNode(cs[i]));if(this.preloadChildren){this.doPreload(cn)}}_4.endUpdate()}return true}else{return false}},getParams:function(_9){var _a=[],bp=this.baseParams;for(var _c in bp){if(typeof bp[_c]!=&quot;function&quot;){_a.push(encodeURIComponent(_c),&quot;=&quot;,encodeURIComponent(bp[_c]),&quot;&amp;&quot;)}}_a.push(&quot;node=&quot;,encodeURIComponent(_9.id));return _a.join(&quot;&quot;)},requestData:function(_d,_e){if(this.fireEvent(&quot;beforeload&quot;,this,_d,_e)!==false){this.transId=Ext.Ajax.request({method:this.requestMethod,url:this.dataUrl||this.url,success:this.handleResponse,failure:this.handleFailure,scope:this,argument:{callback:_e,node:_d},params:this.getParams(_d)})}else{if(typeof _e==&quot;function&quot;){_e()}}},isLoading:function(){return !!this.transId},abort:function(){if(this.isLoading()){Ext.Ajax.abort(this.transId)}},createNode:function(_f){if(this.baseAttrs){Ext.applyIf(_f,this.baseAttrs)}if(this.applyLoader!==false){_f.loader=this}if(typeof _f.uiProvider==&quot;string&quot;){_f.uiProvider=this.uiProviders[_f.uiProvider]||eval(_f.uiProvider)}if(_f.nodeType){return new Ext.tree.TreePanel.nodeTypes[_f.nodeType](_f)}else{return _f.leaf?new Ext.tree.TreeNode(_f):new Ext.tree.AsyncTreeNode(_f)}},processResponse:function(_10,_11,_12){var _13=_10.responseText;try{var o=eval(&quot;(&quot;+_13+&quot;)&quot;);_11.beginUpdate();for(var i=0,len=o.length;i&lt;len;i++){var n=this.createNode(o[i]);if(n){_11.appendChild(n)}}_11.endUpdate();if(typeof _12==&quot;function&quot;){_12(this,_11)}}catch(e){this.handleFailure(_10)}},handleResponse:function(_18){this.transId=false;var a=_18.argument;this.processResponse(_18,a.node,a.callback);this.fireEvent(&quot;load&quot;,this,a.node,_18)},handleFailure:function(_1a){this.transId=false;var a=_1a.argument;this.fireEvent(&quot;loadexception&quot;,this,a.node,_1a);if(typeof a.callback==&quot;function&quot;){a.callback(this,a.node)}}});Ext.tree.TreeFilter=function(_1,_2){this.tree=_1;this.filtered={};Ext.apply(this,_2)};Ext.tree.TreeFilter.prototype={clearBlank:false,reverse:false,autoClear:false,remove:false,filter:function(_3,_4,_5){_4=_4||&quot;text&quot;;var f;if(typeof _3==&quot;string&quot;){var _7=_3.length;if(_7==0&amp;&amp;this.clearBlank){this.clear();return}_3=_3.toLowerCase();f=function(n){return n.attributes[_4].substr(0,_7).toLowerCase()==_3}}else{if(_3.exec){f=function(n){return _3.test(n.attributes[_4])}}else{throw&quot;Illegal filter type, must be string or regex&quot;}}this.filterBy(f,null,_5)},filterBy:function(fn,_b,_c){_c=_c||this.tree.root;if(this.autoClear){this.clear()}var af=this.filtered,rv=this.reverse;var f=function(n){if(n==_c){return true}if(af[n.id]){return false}var m=fn.call(_b||n,n);if(!m||rv){af[n.id]=n;n.ui.hide();return false}return true};_c.cascade(f);if(this.remove){for(var id in af){if(typeof id!=&quot;function&quot;){var n=af[id];if(n&amp;&amp;n.parentNode){n.parentNode.removeChild(n)}}}}},clear:function(){var t=this.tree;var af=this.filtered;for(var id in af){if(typeof id!=&quot;function&quot;){var n=af[id];
-if(n){n.ui.show()}}}this.filtered={}}};Ext.tree.TreeSorter=function(_1,_2){Ext.apply(this,_2);_1.on(&quot;beforechildrenrendered&quot;,this.doSort,this);_1.on(&quot;append&quot;,this.updateSort,this);_1.on(&quot;insert&quot;,this.updateSort,this);_1.on(&quot;textchange&quot;,this.updateSortParent,this);var _3=this.dir&amp;&amp;this.dir.toLowerCase()==&quot;desc&quot;;var p=this.property||&quot;text&quot;;var _5=this.sortType;var fs=this.folderSort;var cs=this.caseSensitive===true;var _8=this.leafAttr||&quot;leaf&quot;;this.sortFn=function(n1,n2){if(fs){if(n1.attributes[_8]&amp;&amp;!n2.attributes[_8]){return 1}if(!n1.attributes[_8]&amp;&amp;n2.attributes[_8]){return -1}}var v1=_5?_5(n1):(cs?n1.attributes[p]:n1.attributes[p].toUpperCase());var v2=_5?_5(n2):(cs?n2.attributes[p]:n2.attributes[p].toUpperCase());if(v1&lt;v2){return _3?+1:-1}else{if(v1&gt;v2){return _3?-1:+1}else{return 0}}}};Ext.tree.TreeSorter.prototype={doSort:function(_d){_d.sort(this.sortFn)},compareNodes:function(n1,n2){return(n1.text.toUpperCase()&gt;n2.text.toUpperCase()?1:-1)},updateSort:function(_10,_11){if(_11.childrenRendered){this.doSort.defer(1,this,[_11])}},updateSortParent:function(_12){var p=_12.parentNode;if(p&amp;&amp;p.childrenRendered){this.doSort.defer(1,this,[p])}}};if(Ext.dd.DropZone){Ext.tree.TreeDropZone=function(_1,_2){this.allowParentInsert=false;this.allowContainerDrop=false;this.appendOnly=false;Ext.tree.TreeDropZone.superclass.constructor.call(this,_1.innerCt,_2);this.tree=_1;this.dragOverData={};this.lastInsertClass=&quot;x-tree-no-status&quot;};Ext.extend(Ext.tree.TreeDropZone,Ext.dd.DropZone,{ddGroup:&quot;TreeDD&quot;,expandDelay:1000,expandNode:function(_3){if(_3.hasChildNodes()&amp;&amp;!_3.isExpanded()){_3.expand(false,null,this.triggerCacheRefresh.createDelegate(this))}},queueExpand:function(_4){this.expandProcId=this.expandNode.defer(this.expandDelay,this,[_4])},cancelExpand:function(){if(this.expandProcId){clearTimeout(this.expandProcId);this.expandProcId=false}},isValidDropPoint:function(n,pt,dd,e,_9){if(!n||!_9){return false}var _a=n.node;var _b=_9.node;if(!(_a&amp;&amp;_a.isTarget&amp;&amp;pt)){return false}if(pt==&quot;append&quot;&amp;&amp;_a.allowChildren===false){return false}if((pt==&quot;above&quot;||pt==&quot;below&quot;)&amp;&amp;(_a.parentNode&amp;&amp;_a.parentNode.allowChildren===false)){return false}if(_b&amp;&amp;(_a==_b||_b.contains(_a))){return false}var _c=this.dragOverData;_c.tree=this.tree;_c.target=_a;_c.data=_9;_c.point=pt;_c.source=dd;_c.rawEvent=e;_c.dropNode=_b;_c.cancel=false;var _d=this.tree.fireEvent(&quot;nodedragover&quot;,_c);return _c.cancel===false&amp;&amp;_d!==false},getDropPoint:function(e,n,dd){var tn=n.node;if(tn.isRoot){return tn.allowChildren!==false?&quot;append&quot;:false}var _12=n.ddel;var t=Ext.lib.Dom.getY(_12),b=t+_12.offsetHeight;var y=Ext.lib.Event.getPageY(e);var _16=tn.allowChildren===false||tn.isLeaf();if(this.appendOnly||tn.parentNode.allowChildren===false){return _16?false:&quot;append&quot;}var _17=false;if(!this.allowParentInsert){_17=tn.hasChildNodes()&amp;&amp;tn.isExpanded()}var q=(b-t)/(_16?2:3);if(y&gt;=t&amp;&amp;y&lt;(t+q)){return&quot;above&quot;}else{if(!_17&amp;&amp;(_16||y&gt;=b-q&amp;&amp;y&lt;=b)){return&quot;below&quot;}else{return&quot;append&quot;}}},onNodeEnter:function(n,dd,e,_1c){this.cancelExpand()},onNodeOver:function(n,dd,e,_20){var pt=this.getDropPoint(e,n,dd);var _22=n.node;if(!this.expandProcId&amp;&amp;pt==&quot;append&quot;&amp;&amp;_22.hasChildNodes()&amp;&amp;!n.node.isExpanded()){this.queueExpand(_22)}else{if(pt!=&quot;append&quot;){this.cancelExpand()}}var _23=this.dropNotAllowed;if(this.isValidDropPoint(n,pt,dd,e,_20)){if(pt){var el=n.ddel;var cls;if(pt==&quot;above&quot;){_23=n.node.isFirst()?&quot;x-tree-drop-ok-above&quot;:&quot;x-tree-drop-ok-between&quot;;cls=&quot;x-tree-drag-insert-above&quot;}else{if(pt==&quot;below&quot;){_23=n.node.isLast()?&quot;x-tree-drop-ok-below&quot;:&quot;x-tree-drop-ok-between&quot;;cls=&quot;x-tree-drag-insert-below&quot;}else{_23=&quot;x-tree-drop-ok-append&quot;;cls=&quot;x-tree-drag-append&quot;}}if(this.lastInsertClass!=cls){Ext.fly(el).replaceClass(this.lastInsertClass,cls);this.lastInsertClass=cls}}}return _23},onNodeOut:function(n,dd,e,_29){this.cancelExpand();this.removeDropIndicators(n)},onNodeDrop:function(n,dd,e,_2d){var _2e=this.getDropPoint(e,n,dd);var _2f=n.node;_2f.ui.startDrop();if(!this.isValidDropPoint(n,_2e,dd,e,_2d)){_2f.ui.endDrop();return false}var _30=_2d.node||(dd.getTreeNode?dd.getTreeNode(_2d,_2f,_2e,e):null);var _31={tree:this.tree,target:_2f,data:_2d,point:_2e,source:dd,rawEvent:e,dropNode:_30,cancel:!_30,dropStatus:false};var _32=this.tree.fireEvent(&quot;beforenodedrop&quot;,_31);if(_32===false||_31.cancel===true||!_31.dropNode){_2f.ui.endDrop();return _31.dropStatus}_2f=_31.target;if(_2e==&quot;append&quot;&amp;&amp;!_2f.isExpanded()){_2f.expand(false,null,function(){this.completeDrop(_31)}.createDelegate(this))}else{this.completeDrop(_31)}return true},completeDrop:function(de){var ns=de.dropNode,p=de.point,t=de.target;if(!Ext.isArray(ns)){ns=[ns]}var n;for(var i=0,len=ns.length;i&lt;len;i++){n=ns[i];if(p==&quot;above&quot;){t.parentNode.insertBefore(n,t)}else{if(p==&quot;below&quot;){t.parentNode.insertBefore(n,t.nextSibling)}else{t.appendChild(n)}}}n.ui.focus();if(Ext.enableFx&amp;&amp;this.tree.hlDrop){n.ui.highlight()}t.ui.endDrop();this.tree.fireEvent(&quot;nodedrop&quot;,de)},afterNodeMoved:function(dd,_3b,e,_3d,_3e){if(Ext.enableFx&amp;&amp;this.tree.hlDrop){_3e.ui.focus();_3e.ui.highlight()}this.tree.fireEvent(&quot;nodedrop&quot;,this.tree,_3d,_3b,dd,e)},getTree:function(){return this.tree},removeDropIndicators:function(n){if(n&amp;&amp;n.ddel){var el=n.ddel;Ext.fly(el).removeClass([&quot;x-tree-drag-insert-above&quot;,&quot;x-tree-drag-insert-below&quot;,&quot;x-tree-drag-append&quot;]);this.lastInsertClass=&quot;_noclass&quot;}},beforeDragDrop:function(_41,e,id){this.cancelExpand();return true},afterRepair:function(_44){if(_44&amp;&amp;Ext.enableFx){_44.node.ui.highlight()}this.hideProxy()}})}if(Ext.dd.DragZone){Ext.tree.TreeDragZone=function(_1,_2){Ext.tree.TreeDragZone.superclass.constructor.call(this,_1.getTreeEl(),_2);this.tree=_1};Ext.extend(Ext.tree.TreeDragZone,Ext.dd.DragZone,{ddGroup:&quot;TreeDD&quot;,onBeforeDrag:function(_3,e){var n=_3.node;return n&amp;&amp;n.draggable&amp;&amp;!n.disabled},onInitDrag:function(e){var _7=this.dragData;this.tree.getSelectionModel().select(_7.node);this.tree.eventModel.disable();this.proxy.update(&quot;&quot;);_7.node.ui.appendDDGhost(this.proxy.ghost.dom);this.tree.fireEvent(&quot;startdrag&quot;,this.tree,_7.node,e)},getRepairXY:function(e,_9){return _9.node.ui.getDDRepairXY()},onEndDrag:function(_a,e){this.tree.eventModel.enable.defer(100,this.tree.eventModel);this.tree.fireEvent(&quot;enddrag&quot;,this.tree,_a.node,e)},onValidDrop:function(dd,e,id){this.tree.fireEvent(&quot;dragdrop&quot;,this.tree,this.dragData.node,dd,e);this.hideProxy()},beforeInvalidDrop:function(e,id){var sm=this.tree.getSelectionModel();sm.clearSelections();sm.select(this.dragData.node)},afterRepair:function(){if(Ext.enableFx&amp;&amp;this.tree.hlDrop){Ext.Element.fly(this.dragData.ddel).highlight(this.hlColor||&quot;c3daf9&quot;)}this.dragging=false}})}Ext.tree.TreeEditor=function(_1,fc,_3){fc=fc||{};var _4=fc.events?fc:new Ext.form.TextField(fc);Ext.tree.TreeEditor.superclass.constructor.call(this,_4,_3);this.tree=_1;if(!_1.rendered){_1.on(&quot;render&quot;,this.initEditor,this)}else{this.initEditor(_1)}};Ext.extend(Ext.tree.TreeEditor,Ext.Editor,{alignment:&quot;l-l&quot;,autoSize:false,hideEl:false,cls:&quot;x-small-editor x-tree-editor&quot;,shim:false,shadow:&quot;frame&quot;,maxWidth:250,editDelay:350,initEditor:function(_5){_5.on(&quot;beforeclick&quot;,this.beforeNodeClick,this);_5.on(&quot;dblclick&quot;,this.onNodeDblClick,this);this.on(&quot;complete&quot;,this.updateNode,this);this.on(&quot;beforestartedit&quot;,this.fitToTree,this);this.on(&quot;startedit&quot;,this.bindScroll,this,{delay:10});this.on(&quot;specialkey&quot;,this.onSpecialKey,this)},fitToTree:function(ed,el){var td=this.tree.getTreeEl().dom,nd=el.dom;if(td.scrollLeft&gt;nd.offsetLeft){td.scrollLeft=nd.offsetLeft}var w=Math.min(this.maxWidth,(td.clientWidth&gt;20?td.clientWidth:td.offsetWidth)-Math.max(0,nd.offsetLeft-td.scrollLeft)-5);this.setSize(w,&quot;&quot;)},triggerEdit:function(_b,_c){this.completeEdit();if(_b.attributes.editable!==false){this.editNode=_b;if(this.tree.autoScroll){_b.ui.getEl().scrollIntoView(this.tree.body)}var _d=_b.text||&quot;&quot;;if(!Ext.isGecko&amp;&amp;Ext.isEmpty(_b.text)){_b.setText(&quot;&amp;nbsp;&quot;)}this.autoEditTimer=this.startEdit.defer(this.editDelay,this,[_b.ui.textNode,_d]);return false}},bindScroll:function(){this.tree.getTreeEl().on(&quot;scroll&quot;,this.cancelEdit,this)},beforeNodeClick:function(_e,e){clearTimeout(this.autoEditTimer);
-if(this.tree.getSelectionModel().isSelected(_e)){e.stopEvent();return this.triggerEdit(_e)}},onNodeDblClick:function(_10,e){clearTimeout(this.autoEditTimer)},updateNode:function(ed,_13){this.tree.getTreeEl().un(&quot;scroll&quot;,this.cancelEdit,this);this.editNode.setText(_13)},onHide:function(){Ext.tree.TreeEditor.superclass.onHide.call(this);if(this.editNode){this.editNode.ui.focus.defer(50,this.editNode.ui)}},onSpecialKey:function(_14,e){var k=e.getKey();if(k==e.ESC){e.stopEvent();this.cancelEdit()}else{if(k==e.ENTER&amp;&amp;!e.hasModifier()){e.stopEvent();this.completeEdit()}}}});Ext.menu.Menu=function(_1){if(Ext.isArray(_1)){_1={items:_1}}Ext.apply(this,_1);this.id=this.id||Ext.id();this.addEvents(&quot;beforeshow&quot;,&quot;beforehide&quot;,&quot;show&quot;,&quot;hide&quot;,&quot;click&quot;,&quot;mouseover&quot;,&quot;mouseout&quot;,&quot;itemclick&quot;);Ext.menu.MenuMgr.register(this);Ext.menu.Menu.superclass.constructor.call(this);var _2=this.items;this.items=new Ext.util.MixedCollection();if(_2){this.add.apply(this,_2)}};Ext.extend(Ext.menu.Menu,Ext.util.Observable,{minWidth:120,shadow:&quot;sides&quot;,subMenuAlign:&quot;tl-tr?&quot;,defaultAlign:&quot;tl-bl?&quot;,allowOtherMenus:false,ignoreParentClicks:false,hidden:true,createEl:function(){return new Ext.Layer({cls:&quot;x-menu&quot;,shadow:this.shadow,constrain:false,parentEl:this.parentEl||document.body,zindex:15000})},render:function(){if(this.el){return}var el=this.el=this.createEl();if(!this.keyNav){this.keyNav=new Ext.menu.MenuNav(this)}if(this.plain){el.addClass(&quot;x-menu-plain&quot;)}if(this.cls){el.addClass(this.cls)}this.focusEl=el.createChild({tag:&quot;a&quot;,cls:&quot;x-menu-focus&quot;,href:&quot;#&quot;,onclick:&quot;return false;&quot;,tabIndex:&quot;-1&quot;});var ul=el.createChild({tag:&quot;ul&quot;,cls:&quot;x-menu-list&quot;});ul.on(&quot;click&quot;,this.onClick,this);ul.on(&quot;mouseover&quot;,this.onMouseOver,this);ul.on(&quot;mouseout&quot;,this.onMouseOut,this);this.items.each(function(_5){var li=document.createElement(&quot;li&quot;);li.className=&quot;x-menu-list-item&quot;;ul.dom.appendChild(li);_5.render(li,this)},this);this.ul=ul;this.autoWidth()},autoWidth:function(){var el=this.el,ul=this.ul;if(!el){return}var w=this.width;if(w){el.setWidth(w)}else{if(Ext.isIE){el.setWidth(this.minWidth);var t=el.dom.offsetWidth;el.setWidth(ul.getWidth()+el.getFrameWidth(&quot;lr&quot;))}}},delayAutoWidth:function(){if(this.el){if(!this.awTask){this.awTask=new Ext.util.DelayedTask(this.autoWidth,this)}this.awTask.delay(20)}},findTargetItem:function(e){var t=e.getTarget(&quot;.x-menu-list-item&quot;,this.ul,true);if(t&amp;&amp;t.menuItemId){return this.items.get(t.menuItemId)}},onClick:function(e){var t;if(t=this.findTargetItem(e)){if(t.menu&amp;&amp;this.ignoreParentClicks){t.expandMenu()}else{t.onClick(e);this.fireEvent(&quot;click&quot;,this,t,e)}}},setActiveItem:function(_f,_10){if(_f!=this.activeItem){if(this.activeItem){this.activeItem.deactivate()}this.activeItem=_f;_f.activate(_10)}else{if(_10){_f.expandMenu()}}},tryActivate:function(_11,_12){var _13=this.items;for(var i=_11,len=_13.length;i&gt;=0&amp;&amp;i&lt;len;i+=_12){var _16=_13.get(i);if(!_16.disabled&amp;&amp;_16.canActivate){this.setActiveItem(_16,false);return _16}}return false},onMouseOver:function(e){var t;if(t=this.findTargetItem(e)){if(t.canActivate&amp;&amp;!t.disabled){this.setActiveItem(t,true)}}this.over=true;this.fireEvent(&quot;mouseover&quot;,this,e,t)},onMouseOut:function(e){var t;if(t=this.findTargetItem(e)){if(t==this.activeItem&amp;&amp;t.shouldDeactivate(e)){this.activeItem.deactivate();delete this.activeItem}}this.over=false;this.fireEvent(&quot;mouseout&quot;,this,e,t)},isVisible:function(){return this.el&amp;&amp;!this.hidden},show:function(el,pos,_1d){this.parentMenu=_1d;if(!this.el){this.render()}this.fireEvent(&quot;beforeshow&quot;,this);this.showAt(this.el.getAlignToXY(el,pos||this.defaultAlign),_1d,false)},showAt:function(xy,_1f,_e){this.parentMenu=_1f;if(!this.el){this.render()}if(_e!==false){this.fireEvent(&quot;beforeshow&quot;,this);xy=this.el.adjustForConstraints(xy)}this.el.setXY(xy);this.el.show();this.hidden=false;this.focus();this.fireEvent(&quot;show&quot;,this)},focus:function(){if(!this.hidden){this.doFocus.defer(50,this)}},doFocus:function(){if(!this.hidden){this.focusEl.focus()}},hide:function(_21){if(this.el&amp;&amp;this.isVisible()){this.fireEvent(&quot;beforehide&quot;,this);if(this.activeItem){this.activeItem.deactivate();this.activeItem=null}this.el.hide();this.hidden=true;this.fireEvent(&quot;hide&quot;,this)}if(_21===true&amp;&amp;this.parentMenu){this.parentMenu.hide(true)}},add:function(){var a=arguments,l=a.length,_24;for(var i=0;i&lt;l;i++){var el=a[i];if(el.render){_24=this.addItem(el)}else{if(typeof el==&quot;string&quot;){if(el==&quot;separator&quot;||el==&quot;-&quot;){_24=this.addSeparator()}else{_24=this.addText(el)}}else{if(el.tagName||el.el){_24=this.addElement(el)}else{if(typeof el==&quot;object&quot;){Ext.applyIf(el,this.defaults);_24=this.addMenuItem(el)}}}}}return _24},getEl:function(){if(!this.el){this.render()}return this.el},addSeparator:function(){return this.addItem(new Ext.menu.Separator())},addElement:function(el){return this.addItem(new Ext.menu.BaseItem(el))},addItem:function(_28){this.items.add(_28);if(this.ul){var li=document.createElement(&quot;li&quot;);li.className=&quot;x-menu-list-item&quot;;this.ul.dom.appendChild(li);_28.render(li,this);this.delayAutoWidth()}return _28},addMenuItem:function(_2a){if(!(_2a instanceof Ext.menu.Item)){if(typeof _2a.checked==&quot;boolean&quot;){_2a=new Ext.menu.CheckItem(_2a)}else{_2a=new Ext.menu.Item(_2a)}}return this.addItem(_2a)},addText:function(_2b){return this.addItem(new Ext.menu.TextItem(_2b))},insert:function(_2c,_2d){this.items.insert(_2c,_2d);if(this.ul){var li=document.createElement(&quot;li&quot;);li.className=&quot;x-menu-list-item&quot;;this.ul.dom.insertBefore(li,this.ul.dom.childNodes[_2c]);_2d.render(li,this);this.delayAutoWidth()}return _2d},remove:function(_2f){this.items.removeKey(_2f.id);_2f.destroy()},removeAll:function(){if(this.items){var f;while(f=this.items.first()){this.remove(f)}}},destroy:function(){this.beforeDestroy();Ext.menu.MenuMgr.unregister(this);if(this.keyNav){this.keyNav.disable()}this.removeAll();if(this.ul){this.ul.removeAllListeners()}if(this.el){this.el.destroy()}},beforeDestroy:Ext.emptyFn});Ext.menu.MenuNav=function(_31){Ext.menu.MenuNav.superclass.constructor.call(this,_31.el);this.scope=this.menu=_31};Ext.extend(Ext.menu.MenuNav,Ext.KeyNav,{doRelay:function(e,h){var k=e.getKey();if(!this.menu.activeItem&amp;&amp;e.isNavKeyPress()&amp;&amp;k!=e.SPACE&amp;&amp;k!=e.RETURN){this.menu.tryActivate(0,1);return false}return h.call(this.scope||this,e,this.menu)},up:function(e,m){if(!m.tryActivate(m.items.indexOf(m.activeItem)-1,-1)){m.tryActivate(m.items.length-1,-1)}},down:function(e,m){if(!m.tryActivate(m.items.indexOf(m.activeItem)+1,1)){m.tryActivate(0,1)}},right:function(e,m){if(m.activeItem){m.activeItem.expandMenu(true)}},left:function(e,m){m.hide();if(m.parentMenu&amp;&amp;m.parentMenu.activeItem){m.parentMenu.activeItem.activate()}},enter:function(e,m){if(m.activeItem){e.stopPropagation();m.activeItem.onClick(e);m.fireEvent(&quot;click&quot;,this,m.activeItem);return true}}});Ext.menu.MenuMgr=function(){var _1,_2,_3={},_4=false,_5=new Date();function init(){_1={};_2=new Ext.util.MixedCollection();Ext.getDoc().addKeyListener(27,function(){if(_2.length&gt;0){hideAll()}})}function hideAll(){if(_2&amp;&amp;_2.length&gt;0){var c=_2.clone();c.each(function(m){m.hide()})}}function onHide(m){_2.remove(m);if(_2.length&lt;1){Ext.getDoc().un(&quot;mousedown&quot;,onMouseDown);_4=false}}function onShow(m){var _a=_2.last();_5=new Date();_2.add(m);if(!_4){Ext.getDoc().on(&quot;mousedown&quot;,onMouseDown);_4=true}if(m.parentMenu){m.getEl().setZIndex(parseInt(m.parentMenu.getEl().getStyle(&quot;z-index&quot;),10)+3);m.parentMenu.activeChild=m}else{if(_a&amp;&amp;_a.isVisible()){m.getEl().setZIndex(parseInt(_a.getEl().getStyle(&quot;z-index&quot;),10)+3)}}}function onBeforeHide(m){if(m.activeChild){m.activeChild.hide()}if(m.autoHideTimer){clearTimeout(m.autoHideTimer);delete m.autoHideTimer}}function onBeforeShow(m){var pm=m.parentMenu;if(!pm&amp;&amp;!m.allowOtherMenus){hideAll()}else{if(pm&amp;&amp;pm.activeChild){pm.activeChild.hide()}}}function onMouseDown(e){if(_5.getElapsed()&gt;50&amp;&amp;_2.length&gt;0&amp;&amp;!e.getTarget(&quot;.x-menu&quot;)){hideAll()}}function onBeforeCheck(mi,_10){if(_10){var g=_3[mi.group];for(var i=0,l=g.length;i&lt;l;i++){if(g[i]!=mi){g[i].setChecked(false)}}}}return{hideAll:function(){hideAll()},register:function(_14){if(!_1){init()
-}_1[_14.id]=_14;_14.on(&quot;beforehide&quot;,onBeforeHide);_14.on(&quot;hide&quot;,onHide);_14.on(&quot;beforeshow&quot;,onBeforeShow);_14.on(&quot;show&quot;,onShow);var g=_14.group;if(g&amp;&amp;_14.events.checkchange){if(!_3[g]){_3[g]=[]}_3[g].push(_14);_14.on(&quot;checkchange&quot;,onCheck)}},get:function(_16){if(typeof _16==&quot;string&quot;){if(!_1){return null}return _1[_16]}else{if(_16.events){return _16}else{if(typeof _16.length==&quot;number&quot;){return new Ext.menu.Menu({items:_16})}else{return new Ext.menu.Menu(_16)}}}},unregister:function(_17){delete _1[_17.id];_17.un(&quot;beforehide&quot;,onBeforeHide);_17.un(&quot;hide&quot;,onHide);_17.un(&quot;beforeshow&quot;,onBeforeShow);_17.un(&quot;show&quot;,onShow);var g=_17.group;if(g&amp;&amp;_17.events.checkchange){_3[g].remove(_17);_17.un(&quot;checkchange&quot;,onCheck)}},registerCheckable:function(_19){var g=_19.group;if(g){if(!_3[g]){_3[g]=[]}_3[g].push(_19);_19.on(&quot;beforecheckchange&quot;,onBeforeCheck)}},unregisterCheckable:function(_1b){var g=_1b.group;if(g){_3[g].remove(_1b);_1b.un(&quot;beforecheckchange&quot;,onBeforeCheck)}},getCheckedItem:function(_1d){var g=_3[_1d];if(g){for(var i=0,l=g.length;i&lt;l;i++){if(g[i].checked){return g[i]}}}return null},setCheckedItem:function(_21,_22){var g=_3[_21];if(g){for(var i=0,l=g.length;i&lt;l;i++){if(g[i].id==_22){g[i].setChecked(true)}}}return null}}}();Ext.menu.BaseItem=function(_1){Ext.menu.BaseItem.superclass.constructor.call(this,_1);this.addEvents(&quot;click&quot;,&quot;activate&quot;,&quot;deactivate&quot;);if(this.handler){this.on(&quot;click&quot;,this.handler,this.scope)}};Ext.extend(Ext.menu.BaseItem,Ext.Component,{canActivate:false,activeClass:&quot;x-menu-item-active&quot;,hideOnClick:true,hideDelay:100,ctype:&quot;Ext.menu.BaseItem&quot;,actionMode:&quot;container&quot;,render:function(_2,_3){this.parentMenu=_3;Ext.menu.BaseItem.superclass.render.call(this,_2);this.container.menuItemId=this.id},onRender:function(_4,_5){this.el=Ext.get(this.el);if(this.id){this.el.id=this.id}_4.dom.appendChild(this.el.dom)},setHandler:function(_6,_7){if(this.handler){this.un(&quot;click&quot;,this.handler,this.scope)}this.on(&quot;click&quot;,this.handler=_6,this.scope=_7)},onClick:function(e){if(!this.disabled&amp;&amp;this.fireEvent(&quot;click&quot;,this,e)!==false&amp;&amp;this.parentMenu.fireEvent(&quot;itemclick&quot;,this,e)!==false){this.handleClick(e)}else{e.stopEvent()}},activate:function(){if(this.disabled){return false}var li=this.container;li.addClass(this.activeClass);this.region=li.getRegion().adjust(2,2,-2,-2);this.fireEvent(&quot;activate&quot;,this);return true},deactivate:function(){this.container.removeClass(this.activeClass);this.fireEvent(&quot;deactivate&quot;,this)},shouldDeactivate:function(e){return !this.region||!this.region.contains(e.getPoint())},handleClick:function(e){if(this.hideOnClick){this.parentMenu.hide.defer(this.hideDelay,this.parentMenu,[true])}},expandMenu:function(_c){},hideMenu:function(){}});Ext.menu.TextItem=function(_1){if(typeof _1==&quot;string&quot;){_1={text:_1}}Ext.menu.TextItem.superclass.constructor.call(this,_1)};Ext.extend(Ext.menu.TextItem,Ext.menu.BaseItem,{hideOnClick:false,itemCls:&quot;x-menu-text&quot;,onRender:function(){var s=document.createElement(&quot;span&quot;);s.className=this.itemCls;s.innerHTML=this.text;this.el=s;Ext.menu.TextItem.superclass.onRender.apply(this,arguments)}});Ext.menu.Separator=function(_1){Ext.menu.Separator.superclass.constructor.call(this,_1)};Ext.extend(Ext.menu.Separator,Ext.menu.BaseItem,{itemCls:&quot;x-menu-sep&quot;,hideOnClick:false,onRender:function(li){var s=document.createElement(&quot;span&quot;);s.className=this.itemCls;s.innerHTML=&quot;&amp;#160;&quot;;this.el=s;li.addClass(&quot;x-menu-sep-li&quot;);Ext.menu.Separator.superclass.onRender.apply(this,arguments)}});Ext.menu.Item=function(_1){Ext.menu.Item.superclass.constructor.call(this,_1);if(this.menu){this.menu=Ext.menu.MenuMgr.get(this.menu)}};Ext.extend(Ext.menu.Item,Ext.menu.BaseItem,{itemCls:&quot;x-menu-item&quot;,canActivate:true,showDelay:200,hideDelay:200,ctype:&quot;Ext.menu.Item&quot;,onRender:function(_2,_3){var el=document.createElement(&quot;a&quot;);el.hideFocus=true;el.unselectable=&quot;on&quot;;el.href=this.href||&quot;#&quot;;if(this.hrefTarget){el.target=this.hrefTarget}el.className=this.itemCls+(this.menu?&quot; x-menu-item-arrow&quot;:&quot;&quot;)+(this.cls?&quot; &quot;+this.cls:&quot;&quot;);el.innerHTML=String.format('&lt;img src=&quot;{0}&quot; class=&quot;x-menu-item-icon {2}&quot; /&gt;{1}',this.icon||Ext.BLANK_IMAGE_URL,this.itemText||this.text,this.iconCls||&quot;&quot;);this.el=el;Ext.menu.Item.superclass.onRender.call(this,_2,_3)},setText:function(_5){this.text=_5;if(this.rendered){this.el.update(String.format('&lt;img src=&quot;{0}&quot; class=&quot;x-menu-item-icon {2}&quot;&gt;{1}',this.icon||Ext.BLANK_IMAGE_URL,this.text,this.iconCls||&quot;&quot;));this.parentMenu.autoWidth()}},setIconClass:function(_6){var _7=this.iconCls;this.iconCls=_6;if(this.rendered){this.el.child(&quot;img.x-menu-item-icon&quot;).replaceClass(_7,this.iconCls)}},beforeDestroy:function(){if(this.menu){this.menu.destroy()}Ext.menu.Item.superclass.beforeDestroy.call(this)},handleClick:function(e){if(!this.href){e.stopEvent()}Ext.menu.Item.superclass.handleClick.apply(this,arguments)},activate:function(_9){if(Ext.menu.Item.superclass.activate.apply(this,arguments)){this.focus();if(_9){this.expandMenu()}}return true},shouldDeactivate:function(e){if(Ext.menu.Item.superclass.shouldDeactivate.call(this,e)){if(this.menu&amp;&amp;this.menu.isVisible()){return !this.menu.getEl().getRegion().contains(e.getPoint())}return true}return false},deactivate:function(){Ext.menu.Item.superclass.deactivate.apply(this,arguments);this.hideMenu()},expandMenu:function(_b){if(!this.disabled&amp;&amp;this.menu){clearTimeout(this.hideTimer);delete this.hideTimer;if(!this.menu.isVisible()&amp;&amp;!this.showTimer){this.showTimer=this.deferExpand.defer(this.showDelay,this,[_b])}else{if(this.menu.isVisible()&amp;&amp;_b){this.menu.tryActivate(0,1)}}}},deferExpand:function(_c){delete this.showTimer;this.menu.show(this.container,this.parentMenu.subMenuAlign||&quot;tl-tr?&quot;,this.parentMenu);if(_c){this.menu.tryActivate(0,1)}},hideMenu:function(){clearTimeout(this.showTimer);delete this.showTimer;if(!this.hideTimer&amp;&amp;this.menu&amp;&amp;this.menu.isVisible()){this.hideTimer=this.deferHide.defer(this.hideDelay,this)}},deferHide:function(){delete this.hideTimer;if(this.menu.over){this.parentMenu.setActiveItem(this,false)}else{this.menu.hide()}}});Ext.menu.CheckItem=function(_1){Ext.menu.CheckItem.superclass.constructor.call(this,_1);this.addEvents(&quot;beforecheckchange&quot;,&quot;checkchange&quot;);if(this.checkHandler){this.on(&quot;checkchange&quot;,this.checkHandler,this.scope)}Ext.menu.MenuMgr.registerCheckable(this)};Ext.extend(Ext.menu.CheckItem,Ext.menu.Item,{itemCls:&quot;x-menu-item x-menu-check-item&quot;,groupClass:&quot;x-menu-group-item&quot;,checked:false,ctype:&quot;Ext.menu.CheckItem&quot;,onRender:function(c){Ext.menu.CheckItem.superclass.onRender.apply(this,arguments);if(this.group){this.el.addClass(this.groupClass)}if(this.checked){this.checked=false;this.setChecked(true,true)}},destroy:function(){Ext.menu.MenuMgr.unregisterCheckable(this);Ext.menu.CheckItem.superclass.destroy.apply(this,arguments)},setChecked:function(_3,_4){if(this.checked!=_3&amp;&amp;this.fireEvent(&quot;beforecheckchange&quot;,this,_3)!==false){if(this.container){this.container[_3?&quot;addClass&quot;:&quot;removeClass&quot;](&quot;x-menu-item-checked&quot;)}this.checked=_3;if(_4!==true){this.fireEvent(&quot;checkchange&quot;,this,_3)}}},handleClick:function(e){if(!this.disabled&amp;&amp;!(this.checked&amp;&amp;this.group)){this.setChecked(!this.checked)}Ext.menu.CheckItem.superclass.handleClick.apply(this,arguments)}});Ext.menu.Adapter=function(_1,_2){Ext.menu.Adapter.superclass.constructor.call(this,_2);this.component=_1};Ext.extend(Ext.menu.Adapter,Ext.menu.BaseItem,{canActivate:true,onRender:function(_3,_4){this.component.render(_3);this.el=this.component.getEl()},activate:function(){if(this.disabled){return false}this.component.focus();this.fireEvent(&quot;activate&quot;,this);return true},deactivate:function(){this.fireEvent(&quot;deactivate&quot;,this)},disable:function(){this.component.disable();Ext.menu.Adapter.superclass.disable.call(this)},enable:function(){this.component.enable();Ext.menu.Adapter.superclass.enable.call(this)}});Ext.menu.DateItem=function(_1){Ext.menu.DateItem.superclass.constructor.call(this,new Ext.DatePicker(_1),_1);this.picker=this.component;this.addEvents(&quot;select&quot;);this.picker.on(&quot;render&quot;,function(_2){_2.getEl().swallowEvent(&quot;click&quot;);
-_2.container.addClass(&quot;x-menu-date-item&quot;)});this.picker.on(&quot;select&quot;,this.onSelect,this)};Ext.extend(Ext.menu.DateItem,Ext.menu.Adapter,{onSelect:function(_3,_4){this.fireEvent(&quot;select&quot;,this,_4,_3);Ext.menu.DateItem.superclass.handleClick.call(this)}});Ext.menu.ColorItem=function(_1){Ext.menu.ColorItem.superclass.constructor.call(this,new Ext.ColorPalette(_1),_1);this.palette=this.component;this.relayEvents(this.palette,[&quot;select&quot;]);if(this.selectHandler){this.on(&quot;select&quot;,this.selectHandler,this.scope)}};Ext.extend(Ext.menu.ColorItem,Ext.menu.Adapter);Ext.menu.DateMenu=function(_1){Ext.menu.DateMenu.superclass.constructor.call(this,_1);this.plain=true;var di=new Ext.menu.DateItem(_1);this.add(di);this.picker=di.picker;this.relayEvents(di,[&quot;select&quot;]);this.on(&quot;beforeshow&quot;,function(){if(this.picker){this.picker.hideMonthPicker(true)}},this)};Ext.extend(Ext.menu.DateMenu,Ext.menu.Menu,{cls:&quot;x-date-menu&quot;,beforeDestroy:function(){this.picker.destroy()}});Ext.menu.ColorMenu=function(_1){Ext.menu.ColorMenu.superclass.constructor.call(this,_1);this.plain=true;var ci=new Ext.menu.ColorItem(_1);this.add(ci);this.palette=ci.palette;this.relayEvents(ci,[&quot;select&quot;])};Ext.extend(Ext.menu.ColorMenu,Ext.menu.Menu,{beforeDestroy:function(){this.palette.destroy()}});Ext.form.Field=Ext.extend(Ext.BoxComponent,{invalidClass:&quot;x-form-invalid&quot;,invalidText:&quot;The value in this field is invalid&quot;,focusClass:&quot;x-form-focus&quot;,validationEvent:&quot;keyup&quot;,validateOnBlur:true,validationDelay:250,defaultAutoCreate:{tag:&quot;input&quot;,type:&quot;text&quot;,size:&quot;20&quot;,autocomplete:&quot;off&quot;},fieldClass:&quot;x-form-field&quot;,msgTarget:&quot;qtip&quot;,msgFx:&quot;normal&quot;,readOnly:false,disabled:false,isFormField:true,hasFocus:false,initComponent:function(){Ext.form.Field.superclass.initComponent.call(this);this.addEvents(&quot;focus&quot;,&quot;blur&quot;,&quot;specialkey&quot;,&quot;change&quot;,&quot;invalid&quot;,&quot;valid&quot;)},getName:function(){return this.rendered&amp;&amp;this.el.dom.name?this.el.dom.name:(this.hiddenName||&quot;&quot;)},onRender:function(ct,_2){Ext.form.Field.superclass.onRender.call(this,ct,_2);if(!this.el){var _3=this.getAutoCreate();if(!_3.name){_3.name=this.name||this.id}if(this.inputType){_3.type=this.inputType}this.el=ct.createChild(_3,_2)}var _4=this.el.dom.type;if(_4){if(_4==&quot;password&quot;){_4=&quot;text&quot;}this.el.addClass(&quot;x-form-&quot;+_4)}if(this.readOnly){this.el.dom.readOnly=true}if(this.tabIndex!==undefined){this.el.dom.setAttribute(&quot;tabIndex&quot;,this.tabIndex)}this.el.addClass([this.fieldClass,this.cls])},initValue:function(){if(this.value!==undefined){this.setValue(this.value)}else{if(this.el.dom.value.length&gt;0&amp;&amp;this.el.dom.value!=this.emptyText){this.setValue(this.el.dom.value)}}this.originalValue=this.getValue()},isDirty:function(){if(this.disabled){return false}return String(this.getValue())!==String(this.originalValue)},afterRender:function(){Ext.form.Field.superclass.afterRender.call(this);this.initEvents();this.initValue()},fireKey:function(e){if(e.isSpecialKey()){this.fireEvent(&quot;specialkey&quot;,this,e)}},reset:function(){this.setValue(this.originalValue);this.clearInvalid()},initEvents:function(){this.el.on(Ext.isIE||Ext.isSafari3?&quot;keydown&quot;:&quot;keypress&quot;,this.fireKey,this);this.el.on(&quot;focus&quot;,this.onFocus,this);var o=this.inEditor&amp;&amp;Ext.isWindows&amp;&amp;Ext.isGecko?{buffer:10}:null;this.el.on(&quot;blur&quot;,this.onBlur,this,o)},onFocus:function(){if(this.focusClass){this.el.addClass(this.focusClass)}if(!this.hasFocus){this.hasFocus=true;this.startValue=this.getValue();this.fireEvent(&quot;focus&quot;,this)}},beforeBlur:Ext.emptyFn,onBlur:function(){this.beforeBlur();if(this.focusClass){this.el.removeClass(this.focusClass)}this.hasFocus=false;if(this.validationEvent!==false&amp;&amp;this.validateOnBlur&amp;&amp;this.validationEvent!=&quot;blur&quot;){this.validate()}var v=this.getValue();if(String(v)!==String(this.startValue)){this.fireEvent(&quot;change&quot;,this,v,this.startValue)}this.fireEvent(&quot;blur&quot;,this)},isValid:function(_8){if(this.disabled){return true}var _9=this.preventMark;this.preventMark=_8===true;var v=this.validateValue(this.processValue(this.getRawValue()));this.preventMark=_9;return v},validate:function(){if(this.disabled||this.validateValue(this.processValue(this.getRawValue()))){this.clearInvalid();return true}return false},processValue:function(_b){return _b},validateValue:function(_c){return true},markInvalid:function(_d){if(!this.rendered||this.preventMark){return}this.el.addClass(this.invalidClass);_d=_d||this.invalidText;switch(this.msgTarget){case&quot;qtip&quot;:this.el.dom.qtip=_d;this.el.dom.qclass=&quot;x-form-invalid-tip&quot;;if(Ext.QuickTips){Ext.QuickTips.enable()}break;case&quot;title&quot;:this.el.dom.title=_d;break;case&quot;under&quot;:if(!this.errorEl){var _e=this.getErrorCt();if(!_e){this.el.dom.title=_d;break}this.errorEl=_e.createChild({cls:&quot;x-form-invalid-msg&quot;});this.errorEl.setWidth(_e.getWidth(true)-20)}this.errorEl.update(_d);Ext.form.Field.msgFx[this.msgFx].show(this.errorEl,this);break;case&quot;side&quot;:if(!this.errorIcon){var _e=this.getErrorCt();if(!_e){this.el.dom.title=_d;break}this.errorIcon=_e.createChild({cls:&quot;x-form-invalid-icon&quot;})}this.alignErrorIcon();this.errorIcon.dom.qtip=_d;this.errorIcon.dom.qclass=&quot;x-form-invalid-tip&quot;;this.errorIcon.show();this.on(&quot;resize&quot;,this.alignErrorIcon,this);break;default:var t=Ext.getDom(this.msgTarget);t.innerHTML=_d;t.style.display=this.msgDisplay;break}this.fireEvent(&quot;invalid&quot;,this,_d)},getErrorCt:function(){return this.el.findParent(&quot;.x-form-element&quot;,5,true)||this.el.findParent(&quot;.x-form-field-wrap&quot;,5,true)},alignErrorIcon:function(){this.errorIcon.alignTo(this.el,&quot;tl-tr&quot;,[2,0])},clearInvalid:function(){if(!this.rendered||this.preventMark){return}this.el.removeClass(this.invalidClass);switch(this.msgTarget){case&quot;qtip&quot;:this.el.dom.qtip=&quot;&quot;;break;case&quot;title&quot;:this.el.dom.title=&quot;&quot;;break;case&quot;under&quot;:if(this.errorEl){Ext.form.Field.msgFx[this.msgFx].hide(this.errorEl,this)}break;case&quot;side&quot;:if(this.errorIcon){this.errorIcon.dom.qtip=&quot;&quot;;this.errorIcon.hide();this.un(&quot;resize&quot;,this.alignErrorIcon,this)}break;default:var t=Ext.getDom(this.msgTarget);t.innerHTML=&quot;&quot;;t.style.display=&quot;none&quot;;break}this.fireEvent(&quot;valid&quot;,this)},getRawValue:function(){var v=this.rendered?this.el.getValue():Ext.value(this.value,&quot;&quot;);if(v===this.emptyText){v=&quot;&quot;}return v},getValue:function(){if(!this.rendered){return this.value}var v=this.el.getValue();if(v===this.emptyText||v===undefined){v=&quot;&quot;}return v},setRawValue:function(v){return this.el.dom.value=(v===null||v===undefined?&quot;&quot;:v)},setValue:function(v){this.value=v;if(this.rendered){this.el.dom.value=(v===null||v===undefined?&quot;&quot;:v);this.validate()}},adjustSize:function(w,h){var s=Ext.form.Field.superclass.adjustSize.call(this,w,h);s.width=this.adjustWidth(this.el.dom.tagName,s.width);return s},adjustWidth:function(tag,w){tag=tag.toLowerCase();if(typeof w==&quot;number&quot;&amp;&amp;!Ext.isSafari){if(Ext.isIE&amp;&amp;(tag==&quot;input&quot;||tag==&quot;textarea&quot;)){if(tag==&quot;input&quot;&amp;&amp;!Ext.isStrict){return this.inEditor?w:w-3}if(tag==&quot;input&quot;&amp;&amp;Ext.isStrict){return w-(Ext.isIE6?4:1)}if(tag==&quot;textarea&quot;&amp;&amp;Ext.isStrict){return w-2}}else{if(Ext.isOpera&amp;&amp;Ext.isStrict){if(tag==&quot;input&quot;){return w+2}if(tag==&quot;textarea&quot;){return w-2}}}}return w}});Ext.form.MessageTargets={qtip:{mark:function(f){this.el.dom.qtip=msg;this.el.dom.qclass=&quot;x-form-invalid-tip&quot;;if(Ext.QuickTips){Ext.QuickTips.enable()}},clear:function(f){this.el.dom.qtip=&quot;&quot;}},title:{mark:function(f){this.el.dom.title=msg},clear:function(f){this.el.dom.title=&quot;&quot;}},under:{mark:function(f){if(!this.errorEl){var elp=this.getErrorCt();if(!elp){this.el.dom.title=msg;return}this.errorEl=elp.createChild({cls:&quot;x-form-invalid-msg&quot;});this.errorEl.setWidth(elp.getWidth(true)-20)}this.errorEl.update(msg);Ext.form.Field.msgFx[this.msgFx].show(this.errorEl,this)},clear:function(f){if(this.errorEl){Ext.form.Field.msgFx[this.msgFx].hide(this.errorEl,this)}else{this.el.dom.title=&quot;&quot;}}},side:{mark:function(f){if(!this.errorIcon){var elp=this.getErrorCt();if(!elp){this.el.dom.title=msg;return}this.errorIcon=elp.createChild({cls:&quot;x-form-invalid-icon&quot;})}this.alignErrorIcon();this.errorIcon.dom.qtip=msg;this.errorIcon.dom.qclass=&quot;x-form-invalid-tip&quot;;this.errorIcon.show();this.on(&quot;resize&quot;,this.alignErrorIcon,this)},clear:function(f){if(this.errorIcon){this.errorIcon.dom.qtip=&quot;&quot;;
-this.errorIcon.hide();this.un(&quot;resize&quot;,this.alignErrorIcon,this)}else{this.el.dom.title=&quot;&quot;}}},around:{mark:function(f){},clear:function(f){}}};Ext.form.Field.msgFx={normal:{show:function(_26,f){_26.setDisplayed(&quot;block&quot;)},hide:function(_28,f){_28.setDisplayed(false).update(&quot;&quot;)}},slide:{show:function(_2a,f){_2a.slideIn(&quot;t&quot;,{stopFx:true})},hide:function(_2c,f){_2c.slideOut(&quot;t&quot;,{stopFx:true,useDisplay:true})}},slideRight:{show:function(_2e,f){_2e.fixDisplay();_2e.alignTo(f.el,&quot;tl-tr&quot;);_2e.slideIn(&quot;l&quot;,{stopFx:true})},hide:function(_30,f){_30.slideOut(&quot;l&quot;,{stopFx:true,useDisplay:true})}}};Ext.reg(&quot;field&quot;,Ext.form.Field);Ext.form.TextField=Ext.extend(Ext.form.Field,{grow:false,growMin:30,growMax:800,vtype:null,maskRe:null,disableKeyFilter:false,allowBlank:true,minLength:0,maxLength:Number.MAX_VALUE,minLengthText:&quot;The minimum length for this field is {0}&quot;,maxLengthText:&quot;The maximum length for this field is {0}&quot;,selectOnFocus:false,blankText:&quot;This field is required&quot;,validator:null,regex:null,regexText:&quot;&quot;,emptyText:null,emptyClass:&quot;x-form-empty-field&quot;,initComponent:function(){Ext.form.TextField.superclass.initComponent.call(this);this.addEvents(&quot;autosize&quot;,&quot;keydown&quot;,&quot;keyup&quot;,&quot;keypress&quot;)},initEvents:function(){Ext.form.TextField.superclass.initEvents.call(this);if(this.validationEvent==&quot;keyup&quot;){this.validationTask=new Ext.util.DelayedTask(this.validate,this);this.el.on(&quot;keyup&quot;,this.filterValidation,this)}else{if(this.validationEvent!==false){this.el.on(this.validationEvent,this.validate,this,{buffer:this.validationDelay})}}if(this.selectOnFocus||this.emptyText){this.on(&quot;focus&quot;,this.preFocus,this);this.el.on(&quot;mousedown&quot;,function(){if(!this.hasFocus){this.el.on(&quot;mouseup&quot;,function(e){e.preventDefault()},this,{single:true})}},this);if(this.emptyText){this.on(&quot;blur&quot;,this.postBlur,this);this.applyEmptyText()}}if(this.maskRe||(this.vtype&amp;&amp;this.disableKeyFilter!==true&amp;&amp;(this.maskRe=Ext.form.VTypes[this.vtype+&quot;Mask&quot;]))){this.el.on(&quot;keypress&quot;,this.filterKeys,this)}if(this.grow){this.el.on(&quot;keyup&quot;,this.onKeyUpBuffered,this,{buffer:50});this.el.on(&quot;click&quot;,this.autoSize,this)}if(this.enableKeyEvents){this.el.on(&quot;keyup&quot;,this.onKeyUp,this);this.el.on(&quot;keydown&quot;,this.onKeyDown,this);this.el.on(&quot;keypress&quot;,this.onKeyPress,this)}},processValue:function(_2){if(this.stripCharsRe){var _3=_2.replace(this.stripCharsRe,&quot;&quot;);if(_3!==_2){this.setRawValue(_3);return _3}}return _2},filterValidation:function(e){if(!e.isNavKeyPress()){this.validationTask.delay(this.validationDelay)}},onDisable:function(){Ext.form.TextField.superclass.onDisable.call(this);if(Ext.isIE){this.el.dom.unselectable=&quot;on&quot;}},onEnable:function(){Ext.form.TextField.superclass.onEnable.call(this);if(Ext.isIE){this.el.dom.unselectable=&quot;&quot;}},onKeyUpBuffered:function(e){if(!e.isNavKeyPress()){this.autoSize()}},onKeyUp:function(e){this.fireEvent(&quot;keyup&quot;,this,e)},onKeyDown:function(e){this.fireEvent(&quot;keydown&quot;,this,e)},onKeyPress:function(e){this.fireEvent(&quot;keypress&quot;,this,e)},reset:function(){Ext.form.TextField.superclass.reset.call(this);this.applyEmptyText()},applyEmptyText:function(){if(this.rendered&amp;&amp;this.emptyText&amp;&amp;this.getRawValue().length&lt;1&amp;&amp;!this.hasFocus){this.setRawValue(this.emptyText);this.el.addClass(this.emptyClass)}},preFocus:function(){if(this.emptyText){if(this.el.dom.value==this.emptyText){this.setRawValue(&quot;&quot;)}this.el.removeClass(this.emptyClass)}if(this.selectOnFocus){this.el.dom.select()}},postBlur:function(){this.applyEmptyText()},filterKeys:function(e){if(e.ctrlKey){return}var k=e.getKey();if(Ext.isGecko&amp;&amp;(e.isNavKeyPress()||k==e.BACKSPACE||(k==e.DELETE&amp;&amp;e.button==-1))){return}var c=e.getCharCode(),cc=String.fromCharCode(c);if(!Ext.isGecko&amp;&amp;e.isSpecialKey()&amp;&amp;!cc){return}if(!this.maskRe.test(cc)){e.stopEvent()}},setValue:function(v){if(this.emptyText&amp;&amp;this.el&amp;&amp;v!==undefined&amp;&amp;v!==null&amp;&amp;v!==&quot;&quot;){this.el.removeClass(this.emptyClass)}Ext.form.TextField.superclass.setValue.apply(this,arguments);this.applyEmptyText();this.autoSize()},validateValue:function(_e){if(_e.length&lt;1||_e===this.emptyText){if(this.allowBlank){this.clearInvalid();return true}else{this.markInvalid(this.blankText);return false}}if(_e.length&lt;this.minLength){this.markInvalid(String.format(this.minLengthText,this.minLength));return false}if(_e.length&gt;this.maxLength){this.markInvalid(String.format(this.maxLengthText,this.maxLength));return false}if(this.vtype){var vt=Ext.form.VTypes;if(!vt[this.vtype](_e,this)){this.markInvalid(this.vtypeText||vt[this.vtype+&quot;Text&quot;]);return false}}if(typeof this.validator==&quot;function&quot;){var msg=this.validator(_e);if(msg!==true){this.markInvalid(msg);return false}}if(this.regex&amp;&amp;!this.regex.test(_e)){this.markInvalid(this.regexText);return false}return true},selectText:function(_11,end){var v=this.getRawValue();var _14=false;if(v.length&gt;0){_11=_11===undefined?0:_11;end=end===undefined?v.length:end;var d=this.el.dom;if(d.setSelectionRange){d.setSelectionRange(_11,end)}else{if(d.createTextRange){var _16=d.createTextRange();_16.moveStart(&quot;character&quot;,_11);_16.moveEnd(&quot;character&quot;,end-v.length);_16.select()}}_14=Ext.isGecko||Ext.isOpera}else{_14=true}if(_14){this.focus()}},autoSize:function(){if(!this.grow||!this.rendered){return}if(!this.metrics){this.metrics=Ext.util.TextMetrics.createInstance(this.el)}var el=this.el;var v=el.dom.value;var d=document.createElement(&quot;div&quot;);d.appendChild(document.createTextNode(v));v=d.innerHTML;Ext.removeNode(d);d=null;v+=&quot;&amp;#160;&quot;;var w=Math.min(this.growMax,Math.max(this.metrics.getWidth(v)+10,this.growMin));this.el.setWidth(w);this.fireEvent(&quot;autosize&quot;,this,w)}});Ext.reg(&quot;textfield&quot;,Ext.form.TextField);Ext.form.TriggerField=Ext.extend(Ext.form.TextField,{defaultAutoCreate:{tag:&quot;input&quot;,type:&quot;text&quot;,size:&quot;16&quot;,autocomplete:&quot;off&quot;},hideTrigger:false,autoSize:Ext.emptyFn,monitorTab:true,deferHeight:true,mimicing:false,onResize:function(w,h){Ext.form.TriggerField.superclass.onResize.call(this,w,h);if(typeof w==&quot;number&quot;){this.el.setWidth(this.adjustWidth(&quot;input&quot;,w-this.trigger.getWidth()))}this.wrap.setWidth(this.el.getWidth()+this.trigger.getWidth())},adjustSize:Ext.BoxComponent.prototype.adjustSize,getResizeEl:function(){return this.wrap},getPositionEl:function(){return this.wrap},alignErrorIcon:function(){if(this.wrap){this.errorIcon.alignTo(this.wrap,&quot;tl-tr&quot;,[2,0])}},onRender:function(ct,_4){Ext.form.TriggerField.superclass.onRender.call(this,ct,_4);this.wrap=this.el.wrap({cls:&quot;x-form-field-wrap&quot;});this.trigger=this.wrap.createChild(this.triggerConfig||{tag:&quot;img&quot;,src:Ext.BLANK_IMAGE_URL,cls:&quot;x-form-trigger &quot;+this.triggerClass});if(this.hideTrigger){this.trigger.setDisplayed(false)}this.initTrigger();if(!this.width){this.wrap.setWidth(this.el.getWidth()+this.trigger.getWidth())}},afterRender:function(){Ext.form.TriggerField.superclass.afterRender.call(this);var y;if(Ext.isIE&amp;&amp;!this.hideTrigger&amp;&amp;this.el.getY()!=(y=this.trigger.getY())){this.el.position();this.el.setY(y)}},initTrigger:function(){this.trigger.on(&quot;click&quot;,this.onTriggerClick,this,{preventDefault:true});this.trigger.addClassOnOver(&quot;x-form-trigger-over&quot;);this.trigger.addClassOnClick(&quot;x-form-trigger-click&quot;)},onDestroy:function(){if(this.trigger){this.trigger.removeAllListeners();this.trigger.remove()}if(this.wrap){this.wrap.remove()}if(this.mimicing){Ext.get(Ext.isIE?document.body:document).un(&quot;mousedown&quot;,this.mimicBlur,this)}Ext.form.TriggerField.superclass.onDestroy.call(this)},onFocus:function(){Ext.form.TriggerField.superclass.onFocus.call(this);if(!this.mimicing){this.wrap.addClass(&quot;x-trigger-wrap-focus&quot;);this.mimicing=true;Ext.get(Ext.isIE?document.body:document).on(&quot;mousedown&quot;,this.mimicBlur,this,{delay:10});if(this.monitorTab){this.el.on(&quot;keydown&quot;,this.checkTab,this)}}},checkTab:function(e){if(e.getKey()==e.TAB){this.triggerBlur()}},onBlur:function(){},mimicBlur:function(e){if(!this.wrap.contains(e.target)&amp;&amp;this.validateBlur(e)){this.triggerBlur()}},triggerBlur:function(){this.mimicing=false;Ext.get(Ext.isIE?document.body:document).un(&quot;mousedown&quot;,this.mimicBlur,this);if(this.monitorTab&amp;&amp;this.el){this.el.un(&quot;keydown&quot;,this.checkTab,this)
-}this.beforeBlur();if(this.wrap){this.wrap.removeClass(&quot;x-trigger-wrap-focus&quot;)}Ext.form.TriggerField.superclass.onBlur.call(this)},beforeBlur:Ext.emptyFn,validateBlur:function(e){return true},onDisable:function(){Ext.form.TriggerField.superclass.onDisable.call(this);if(this.wrap){this.wrap.addClass(this.disabledClass);this.el.removeClass(this.disabledClass)}},onEnable:function(){Ext.form.TriggerField.superclass.onEnable.call(this);if(this.wrap){this.wrap.removeClass(this.disabledClass)}},onShow:function(){if(this.wrap){this.wrap.dom.style.display=&quot;&quot;;this.wrap.dom.style.visibility=&quot;visible&quot;}},onHide:function(){this.wrap.dom.style.display=&quot;none&quot;},onTriggerClick:Ext.emptyFn});Ext.form.TwinTriggerField=Ext.extend(Ext.form.TriggerField,{initComponent:function(){Ext.form.TwinTriggerField.superclass.initComponent.call(this);this.triggerConfig={tag:&quot;span&quot;,cls:&quot;x-form-twin-triggers&quot;,cn:[{tag:&quot;img&quot;,src:Ext.BLANK_IMAGE_URL,cls:&quot;x-form-trigger &quot;+this.trigger1Class},{tag:&quot;img&quot;,src:Ext.BLANK_IMAGE_URL,cls:&quot;x-form-trigger &quot;+this.trigger2Class}]}},getTrigger:function(_9){return this.triggers[_9]},initTrigger:function(){var ts=this.trigger.select(&quot;.x-form-trigger&quot;,true);this.wrap.setStyle(&quot;overflow&quot;,&quot;hidden&quot;);var _b=this;ts.each(function(t,_d,_e){t.hide=function(){var w=_b.wrap.getWidth();this.dom.style.display=&quot;none&quot;;_b.el.setWidth(w-_b.trigger.getWidth())};t.show=function(){var w=_b.wrap.getWidth();this.dom.style.display=&quot;&quot;;_b.el.setWidth(w-_b.trigger.getWidth())};var _11=&quot;Trigger&quot;+(_e+1);if(this[&quot;hide&quot;+_11]){t.dom.style.display=&quot;none&quot;}t.on(&quot;click&quot;,this[&quot;on&quot;+_11+&quot;Click&quot;],this,{preventDefault:true});t.addClassOnOver(&quot;x-form-trigger-over&quot;);t.addClassOnClick(&quot;x-form-trigger-click&quot;)},this);this.triggers=ts.elements},onTrigger1Click:Ext.emptyFn,onTrigger2Click:Ext.emptyFn});Ext.reg(&quot;trigger&quot;,Ext.form.TriggerField);Ext.form.TextArea=Ext.extend(Ext.form.TextField,{growMin:60,growMax:1000,growAppend:&quot;&amp;#160;\n&amp;#160;&quot;,growPad:0,enterIsSpecial:false,preventScrollbars:false,onRender:function(ct,_2){if(!this.el){this.defaultAutoCreate={tag:&quot;textarea&quot;,style:&quot;width:100px;height:60px;&quot;,autocomplete:&quot;off&quot;}}Ext.form.TextArea.superclass.onRender.call(this,ct,_2);if(this.grow){this.textSizeEl=Ext.DomHelper.append(document.body,{tag:&quot;pre&quot;,cls:&quot;x-form-grow-sizer&quot;});if(this.preventScrollbars){this.el.setStyle(&quot;overflow&quot;,&quot;hidden&quot;)}this.el.setHeight(this.growMin)}},onDestroy:function(){if(this.textSizeEl){Ext.removeNode(this.textSizeEl)}Ext.form.TextArea.superclass.onDestroy.call(this)},fireKey:function(e){if(e.isSpecialKey()&amp;&amp;(this.enterIsSpecial||(e.getKey()!=e.ENTER||e.hasModifier()))){this.fireEvent(&quot;specialkey&quot;,this,e)}},onKeyUp:function(e){if(!e.isNavKeyPress()||e.getKey()==e.ENTER){this.autoSize()}Ext.form.TextArea.superclass.onKeyUp.call(this,e)},autoSize:function(){if(!this.grow||!this.textSizeEl){return}var el=this.el;var v=el.dom.value;var ts=this.textSizeEl;ts.innerHTML=&quot;&quot;;ts.appendChild(document.createTextNode(v));v=ts.innerHTML;Ext.fly(ts).setWidth(this.el.getWidth());if(v.length&lt;1){v=&quot;&amp;#160;&amp;#160;&quot;}else{if(Ext.isIE){v=v.replace(/\n/g,&quot;&lt;p&gt;&amp;#160;&lt;/p&gt;&quot;)}v+=this.growAppend}ts.innerHTML=v;var h=Math.min(this.growMax,Math.max(ts.offsetHeight,this.growMin)+this.growPad);if(h!=this.lastHeight){this.lastHeight=h;this.el.setHeight(h);this.fireEvent(&quot;autosize&quot;,this,h)}}});Ext.reg(&quot;textarea&quot;,Ext.form.TextArea);Ext.form.NumberField=Ext.extend(Ext.form.TextField,{fieldClass:&quot;x-form-field x-form-num-field&quot;,allowDecimals:true,decimalSeparator:&quot;.&quot;,decimalPrecision:2,allowNegative:true,minValue:Number.NEGATIVE_INFINITY,maxValue:Number.MAX_VALUE,minText:&quot;The minimum value for this field is {0}&quot;,maxText:&quot;The maximum value for this field is {0}&quot;,nanText:&quot;{0} is not a valid number&quot;,baseChars:&quot;0123456789&quot;,initEvents:function(){Ext.form.NumberField.superclass.initEvents.call(this);var _1=this.baseChars+&quot;&quot;;if(this.allowDecimals){_1+=this.decimalSeparator}if(this.allowNegative){_1+=&quot;-&quot;}this.stripCharsRe=new RegExp(&quot;[^&quot;+_1+&quot;]&quot;,&quot;gi&quot;);var _2=function(e){var k=e.getKey();if(!Ext.isIE&amp;&amp;(e.isSpecialKey()||k==e.BACKSPACE||k==e.DELETE)){return}var c=e.getCharCode();if(_1.indexOf(String.fromCharCode(c))===-1){e.stopEvent()}};this.el.on(&quot;keypress&quot;,_2,this)},validateValue:function(_6){if(!Ext.form.NumberField.superclass.validateValue.call(this,_6)){return false}if(_6.length&lt;1){return true}_6=String(_6).replace(this.decimalSeparator,&quot;.&quot;);if(isNaN(_6)){this.markInvalid(String.format(this.nanText,_6));return false}var _7=this.parseValue(_6);if(_7&lt;this.minValue){this.markInvalid(String.format(this.minText,this.minValue));return false}if(_7&gt;this.maxValue){this.markInvalid(String.format(this.maxText,this.maxValue));return false}return true},getValue:function(){return this.fixPrecision(this.parseValue(Ext.form.NumberField.superclass.getValue.call(this)))},setValue:function(v){v=typeof v==&quot;number&quot;?v:parseFloat(String(v).replace(this.decimalSeparator,&quot;.&quot;));v=isNaN(v)?&quot;&quot;:String(v).replace(&quot;.&quot;,this.decimalSeparator);Ext.form.NumberField.superclass.setValue.call(this,v)},parseValue:function(_9){_9=parseFloat(String(_9).replace(this.decimalSeparator,&quot;.&quot;));return isNaN(_9)?&quot;&quot;:_9},fixPrecision:function(_a){var _b=isNaN(_a);if(!this.allowDecimals||this.decimalPrecision==-1||_b||!_a){return _b?&quot;&quot;:_a}return parseFloat(parseFloat(_a).toFixed(this.decimalPrecision))},beforeBlur:function(){var v=this.parseValue(this.getRawValue());if(v||v===0){this.setValue(this.fixPrecision(v))}}});Ext.reg(&quot;numberfield&quot;,Ext.form.NumberField);Ext.form.DateField=Ext.extend(Ext.form.TriggerField,{format:&quot;m/d/Y&quot;,altFormats:&quot;m/d/Y|n/j/Y|n/j/y|m/j/y|n/d/y|m/j/Y|n/d/Y|m-d-y|m-d-Y|m/d|m-d|md|mdy|mdY|d|Y-m-d&quot;,disabledDaysText:&quot;Disabled&quot;,disabledDatesText:&quot;Disabled&quot;,minText:&quot;The date in this field must be equal to or after {0}&quot;,maxText:&quot;The date in this field must be equal to or before {0}&quot;,invalidText:&quot;{0} is not a valid date - it must be in the format {1}&quot;,triggerClass:&quot;x-form-date-trigger&quot;,showToday:true,defaultAutoCreate:{tag:&quot;input&quot;,type:&quot;text&quot;,size:&quot;10&quot;,autocomplete:&quot;off&quot;},initComponent:function(){Ext.form.DateField.superclass.initComponent.call(this);this.addEvents(&quot;select&quot;);if(typeof this.minValue==&quot;string&quot;){this.minValue=this.parseDate(this.minValue)}if(typeof this.maxValue==&quot;string&quot;){this.maxValue=this.parseDate(this.maxValue)}this.disabledDatesRE=null;this.initDisabledDays()},initDisabledDays:function(){if(this.disabledDates){var dd=this.disabledDates;var re=&quot;(?:&quot;;for(var i=0;i&lt;dd.length;i++){re+=dd[i];if(i!=dd.length-1){re+=&quot;|&quot;}}this.disabledDatesRE=new RegExp(re+&quot;)&quot;)}},setDisabledDates:function(dd){this.disabledDates=dd;this.initDisabledDays();if(this.menu){this.menu.picker.setDisabledDates(this.disabledDatesRE)}},setDisabledDays:function(dd){this.disabledDays=dd;if(this.menu){this.menu.picker.setDisabledDays(dd)}},setMinValue:function(dt){this.minValue=(typeof dt==&quot;string&quot;?this.parseDate(dt):dt);if(this.menu){this.menu.picker.setMinDate(this.minValue)}},setMaxValue:function(dt){this.maxValue=(typeof dt==&quot;string&quot;?this.parseDate(dt):dt);if(this.menu){this.menu.picker.setMaxDate(this.maxValue)}},validateValue:function(_8){_8=this.formatDate(_8);if(!Ext.form.DateField.superclass.validateValue.call(this,_8)){return false}if(_8.length&lt;1){return true}var _9=_8;_8=this.parseDate(_8);if(!_8){this.markInvalid(String.format(this.invalidText,_9,this.format));return false}var _a=_8.getTime();if(this.minValue&amp;&amp;_a&lt;this.minValue.getTime()){this.markInvalid(String.format(this.minText,this.formatDate(this.minValue)));return false}if(this.maxValue&amp;&amp;_a&gt;this.maxValue.getTime()){this.markInvalid(String.format(this.maxText,this.formatDate(this.maxValue)));return false}if(this.disabledDays){var _b=_8.getDay();for(var i=0;i&lt;this.disabledDays.length;i++){if(_b===this.disabledDays[i]){this.markInvalid(this.disabledDaysText);return false}}}var _d=this.formatDate(_8);if(this.disabledDatesRE&amp;&amp;this.disabledDatesRE.test(_d)){this.markInvalid(String.format(this.disabledDatesText,_d));return false}return true},validateBlur:function(){return !this.menu||!this.menu.isVisible()},getValue:function(){return this.parseDate(Ext.form.DateField.superclass.getValue.call(this))||&quot;&quot;
-},setValue:function(_e){Ext.form.DateField.superclass.setValue.call(this,this.formatDate(this.parseDate(_e)))},parseDate:function(_f){if(!_f||Ext.isDate(_f)){return _f}var v=Date.parseDate(_f,this.format);if(!v&amp;&amp;this.altFormats){if(!this.altFormatsArray){this.altFormatsArray=this.altFormats.split(&quot;|&quot;)}for(var i=0,len=this.altFormatsArray.length;i&lt;len&amp;&amp;!v;i++){v=Date.parseDate(_f,this.altFormatsArray[i])}}return v},onDestroy:function(){if(this.menu){this.menu.destroy()}if(this.wrap){this.wrap.remove()}Ext.form.DateField.superclass.onDestroy.call(this)},formatDate:function(_13){return Ext.isDate(_13)?_13.dateFormat(this.format):_13},menuListeners:{select:function(m,d){this.setValue(d);this.fireEvent(&quot;select&quot;,this,d)},show:function(){this.onFocus()},hide:function(){this.focus.defer(10,this);var ml=this.menuListeners;this.menu.un(&quot;select&quot;,ml.select,this);this.menu.un(&quot;show&quot;,ml.show,this);this.menu.un(&quot;hide&quot;,ml.hide,this)}},onTriggerClick:function(){if(this.disabled){return}if(this.menu==null){this.menu=new Ext.menu.DateMenu()}Ext.apply(this.menu.picker,{minDate:this.minValue,maxDate:this.maxValue,disabledDatesRE:this.disabledDatesRE,disabledDatesText:this.disabledDatesText,disabledDays:this.disabledDays,disabledDaysText:this.disabledDaysText,format:this.format,showToday:this.showToday,minText:String.format(this.minText,this.formatDate(this.minValue)),maxText:String.format(this.maxText,this.formatDate(this.maxValue))});this.menu.on(Ext.apply({},this.menuListeners,{scope:this}));this.menu.picker.setValue(this.getValue()||new Date());this.menu.show(this.el,&quot;tl-bl?&quot;)},beforeBlur:function(){var v=this.parseDate(this.getRawValue());if(v){this.setValue(v)}}});Ext.reg(&quot;datefield&quot;,Ext.form.DateField);Ext.form.ComboBox=Ext.extend(Ext.form.TriggerField,{defaultAutoCreate:{tag:&quot;input&quot;,type:&quot;text&quot;,size:&quot;24&quot;,autocomplete:&quot;off&quot;},listClass:&quot;&quot;,selectedClass:&quot;x-combo-selected&quot;,triggerClass:&quot;x-form-arrow-trigger&quot;,shadow:&quot;sides&quot;,listAlign:&quot;tl-bl?&quot;,maxHeight:300,minHeight:90,triggerAction:&quot;query&quot;,minChars:4,typeAhead:false,queryDelay:500,pageSize:0,selectOnFocus:false,queryParam:&quot;query&quot;,loadingText:&quot;Loading...&quot;,resizable:false,handleHeight:8,editable:true,allQuery:&quot;&quot;,mode:&quot;remote&quot;,minListWidth:70,forceSelection:false,typeAheadDelay:250,lazyInit:true,initComponent:function(){Ext.form.ComboBox.superclass.initComponent.call(this);this.addEvents(&quot;expand&quot;,&quot;collapse&quot;,&quot;beforeselect&quot;,&quot;select&quot;,&quot;beforequery&quot;);if(this.transform){this.allowDomMove=false;var s=Ext.getDom(this.transform);if(!this.hiddenName){this.hiddenName=s.name}if(!this.store){this.mode=&quot;local&quot;;var d=[],_3=s.options;for(var i=0,_5=_3.length;i&lt;_5;i++){var o=_3[i];var _7=(Ext.isIE?o.getAttributeNode(&quot;value&quot;).specified:o.hasAttribute(&quot;value&quot;))?o.value:o.text;if(o.selected){this.value=_7}d.push([_7,o.text])}this.store=new Ext.data.SimpleStore({id:0,fields:[&quot;value&quot;,&quot;text&quot;],data:d});this.valueField=&quot;value&quot;;this.displayField=&quot;text&quot;}s.name=Ext.id();if(!this.lazyRender){this.target=true;this.el=Ext.DomHelper.insertBefore(s,this.autoCreate||this.defaultAutoCreate);Ext.removeNode(s);this.render(this.el.parentNode)}else{Ext.removeNode(s)}}else{if(Ext.isArray(this.store)){if(Ext.isArray(this.store[0])){this.store=new Ext.data.SimpleStore({fields:[&quot;value&quot;,&quot;text&quot;],data:this.store});this.valueField=&quot;value&quot;}else{this.store=new Ext.data.SimpleStore({fields:[&quot;text&quot;],data:this.store,expandData:true});this.valueField=&quot;text&quot;}this.displayField=&quot;text&quot;;this.mode=&quot;local&quot;}}this.selectedIndex=-1;if(this.mode==&quot;local&quot;){if(this.initialConfig.queryDelay===undefined){this.queryDelay=10}if(this.initialConfig.minChars===undefined){this.minChars=0}}},onRender:function(ct,_9){Ext.form.ComboBox.superclass.onRender.call(this,ct,_9);if(this.hiddenName){this.hiddenField=this.el.insertSibling({tag:&quot;input&quot;,type:&quot;hidden&quot;,name:this.hiddenName,id:(this.hiddenId||this.hiddenName)},&quot;before&quot;,true);this.el.dom.removeAttribute(&quot;name&quot;)}if(Ext.isGecko){this.el.dom.setAttribute(&quot;autocomplete&quot;,&quot;off&quot;)}if(!this.lazyInit){this.initList()}else{this.on(&quot;focus&quot;,this.initList,this,{single:true})}if(!this.editable){this.editable=true;this.setEditable(false)}},initValue:function(){Ext.form.ComboBox.superclass.initValue.call(this);if(this.hiddenField){this.hiddenField.value=this.hiddenValue!==undefined?this.hiddenValue:this.value!==undefined?this.value:&quot;&quot;}},initList:function(){if(!this.list){var _a=&quot;x-combo-list&quot;;this.list=new Ext.Layer({shadow:this.shadow,cls:[_a,this.listClass].join(&quot; &quot;),constrain:false});var lw=this.listWidth||Math.max(this.wrap.getWidth(),this.minListWidth);this.list.setWidth(lw);this.list.swallowEvent(&quot;mousewheel&quot;);this.assetHeight=0;if(this.title){this.header=this.list.createChild({cls:_a+&quot;-hd&quot;,html:this.title});this.assetHeight+=this.header.getHeight()}this.innerList=this.list.createChild({cls:_a+&quot;-inner&quot;});this.innerList.on(&quot;mouseover&quot;,this.onViewOver,this);this.innerList.on(&quot;mousemove&quot;,this.onViewMove,this);this.innerList.setWidth(lw-this.list.getFrameWidth(&quot;lr&quot;));if(this.pageSize){this.footer=this.list.createChild({cls:_a+&quot;-ft&quot;});this.pageTb=new Ext.PagingToolbar({store:this.store,pageSize:this.pageSize,renderTo:this.footer});this.assetHeight+=this.footer.getHeight()}if(!this.tpl){this.tpl='&lt;tpl for=&quot;.&quot;&gt;&lt;div class=&quot;'+_a+'-item&quot;&gt;{'+this.displayField+&quot;}&lt;/div&gt;&lt;/tpl&gt;&quot;}this.view=new Ext.DataView({applyTo:this.innerList,tpl:this.tpl,singleSelect:true,selectedClass:this.selectedClass,itemSelector:this.itemSelector||&quot;.&quot;+_a+&quot;-item&quot;});this.view.on(&quot;click&quot;,this.onViewClick,this);this.bindStore(this.store,true);if(this.resizable){this.resizer=new Ext.Resizable(this.list,{pinned:true,handles:&quot;se&quot;});this.resizer.on(&quot;resize&quot;,function(r,w,h){this.maxHeight=h-this.handleHeight-this.list.getFrameWidth(&quot;tb&quot;)-this.assetHeight;this.listWidth=w;this.innerList.setWidth(w-this.list.getFrameWidth(&quot;lr&quot;));this.restrictHeight()},this);this[this.pageSize?&quot;footer&quot;:&quot;innerList&quot;].setStyle(&quot;margin-bottom&quot;,this.handleHeight+&quot;px&quot;)}}},getStore:function(){return this.store},bindStore:function(_f,_10){if(this.store&amp;&amp;!_10){this.store.un(&quot;beforeload&quot;,this.onBeforeLoad,this);this.store.un(&quot;load&quot;,this.onLoad,this);this.store.un(&quot;loadexception&quot;,this.collapse,this);if(!_f){this.store=null;if(this.view){this.view.setStore(null)}}}if(_f){this.store=Ext.StoreMgr.lookup(_f);this.store.on(&quot;beforeload&quot;,this.onBeforeLoad,this);this.store.on(&quot;load&quot;,this.onLoad,this);this.store.on(&quot;loadexception&quot;,this.collapse,this);if(this.view){this.view.setStore(_f)}}},initEvents:function(){Ext.form.ComboBox.superclass.initEvents.call(this);this.keyNav=new Ext.KeyNav(this.el,{up:function(e){this.inKeyMode=true;this.selectPrev()},down:function(e){if(!this.isExpanded()){this.onTriggerClick()}else{this.inKeyMode=true;this.selectNext()}},enter:function(e){this.onViewClick();this.delayedCheck=true;this.unsetDelayCheck.defer(10,this)},esc:function(e){this.collapse()},tab:function(e){this.onViewClick(false);return true},scope:this,doRelay:function(foo,bar,_18){if(_18==&quot;down&quot;||this.scope.isExpanded()){return Ext.KeyNav.prototype.doRelay.apply(this,arguments)}return true},forceKeyDown:true});this.queryDelay=Math.max(this.queryDelay||10,this.mode==&quot;local&quot;?10:250);this.dqTask=new Ext.util.DelayedTask(this.initQuery,this);if(this.typeAhead){this.taTask=new Ext.util.DelayedTask(this.onTypeAhead,this)}if(this.editable!==false){this.el.on(&quot;keyup&quot;,this.onKeyUp,this)}if(this.forceSelection){this.on(&quot;blur&quot;,this.doForce,this)}},onDestroy:function(){if(this.view){Ext.destroy(this.view)}if(this.list){if(this.innerList){this.innerList.un(&quot;mouseover&quot;,this.onViewOver,this);this.innerList.un(&quot;mousemove&quot;,this.onViewMove,this)}this.list.destroy()}if(this.dqTask){this.dqTask.cancel();this.dqTask=null}this.bindStore(null);Ext.form.ComboBox.superclass.onDestroy.call(this)},unsetDelayCheck:function(){delete this.delayedCheck},fireKey:function(e){if(e.isNavKeyPress()&amp;&amp;!this.isExpanded()&amp;&amp;!this.delayedCheck){this.fireEvent(&quot;specialkey&quot;,this,e)}},onResize:function(w,h){Ext.form.ComboBox.superclass.onResize.apply(this,arguments);if(this.list&amp;&amp;this.listWidth===undefined){var lw=Math.max(w,this.minListWidth);
-this.list.setWidth(lw);this.innerList.setWidth(lw-this.list.getFrameWidth(&quot;lr&quot;))}},onEnable:function(){Ext.form.ComboBox.superclass.onEnable.apply(this,arguments);if(this.hiddenField){this.hiddenField.disabled=false}},onDisable:function(){Ext.form.ComboBox.superclass.onDisable.apply(this,arguments);if(this.hiddenField){this.hiddenField.disabled=true}},setEditable:function(_1d){if(_1d==this.editable){return}this.editable=_1d;if(!_1d){this.el.dom.setAttribute(&quot;readOnly&quot;,true);this.el.on(&quot;mousedown&quot;,this.onTriggerClick,this);this.el.addClass(&quot;x-combo-noedit&quot;)}else{this.el.dom.removeAttribute(&quot;readOnly&quot;);this.el.un(&quot;mousedown&quot;,this.onTriggerClick,this);this.el.removeClass(&quot;x-combo-noedit&quot;)}},onBeforeLoad:function(){if(!this.hasFocus){return}this.innerList.update(this.loadingText?'&lt;div class=&quot;loading-indicator&quot;&gt;'+this.loadingText+&quot;&lt;/div&gt;&quot;:&quot;&quot;);this.restrictHeight();this.selectedIndex=-1},onLoad:function(){if(!this.hasFocus){return}if(this.store.getCount()&gt;0){this.expand();this.restrictHeight();if(this.lastQuery==this.allQuery){if(this.editable){this.el.dom.select()}if(!this.selectByValue(this.value,true)){this.select(0,true)}}else{this.selectNext();if(this.typeAhead&amp;&amp;this.lastKey!=Ext.EventObject.BACKSPACE&amp;&amp;this.lastKey!=Ext.EventObject.DELETE){this.taTask.delay(this.typeAheadDelay)}}}else{this.onEmptyResults()}},onTypeAhead:function(){if(this.store.getCount()&gt;0){var r=this.store.getAt(0);var _1f=r.data[this.displayField];var len=_1f.length;var _21=this.getRawValue().length;if(_21!=len){this.setRawValue(_1f);this.selectText(_21,_1f.length)}}},onSelect:function(_22,_23){if(this.fireEvent(&quot;beforeselect&quot;,this,_22,_23)!==false){this.setValue(_22.data[this.valueField||this.displayField]);this.collapse();this.fireEvent(&quot;select&quot;,this,_22,_23)}},getValue:function(){if(this.valueField){return typeof this.value!=&quot;undefined&quot;?this.value:&quot;&quot;}else{return Ext.form.ComboBox.superclass.getValue.call(this)}},clearValue:function(){if(this.hiddenField){this.hiddenField.value=&quot;&quot;}this.setRawValue(&quot;&quot;);this.lastSelectionText=&quot;&quot;;this.applyEmptyText();this.value=&quot;&quot;},setValue:function(v){var _25=v;if(this.valueField){var r=this.findRecord(this.valueField,v);if(r){_25=r.data[this.displayField]}else{if(this.valueNotFoundText!==undefined){_25=this.valueNotFoundText}}}this.lastSelectionText=_25;if(this.hiddenField){this.hiddenField.value=v}Ext.form.ComboBox.superclass.setValue.call(this,_25);this.value=v},findRecord:function(_27,_28){var _29;if(this.store.getCount()&gt;0){this.store.each(function(r){if(r.data[_27]==_28){_29=r;return false}})}return _29},onViewMove:function(e,t){this.inKeyMode=false},onViewOver:function(e,t){if(this.inKeyMode){return}var _2f=this.view.findItemFromChild(t);if(_2f){var _30=this.view.indexOf(_2f);this.select(_30,false)}},onViewClick:function(_31){var _32=this.view.getSelectedIndexes()[0];var r=this.store.getAt(_32);if(r){this.onSelect(r,_32)}if(_31!==false){this.el.focus()}},restrictHeight:function(){this.innerList.dom.style.height=&quot;&quot;;var _34=this.innerList.dom;var pad=this.list.getFrameWidth(&quot;tb&quot;)+(this.resizable?this.handleHeight:0)+this.assetHeight;var h=Math.max(_34.clientHeight,_34.offsetHeight,_34.scrollHeight);var ha=this.getPosition()[1]-Ext.getBody().getScroll().top;var hb=Ext.lib.Dom.getViewHeight()-ha-this.getSize().height;var _39=Math.max(ha,hb,this.minHeight||0)-this.list.shadowOffset-pad-5;h=Math.min(h,_39,this.maxHeight);this.innerList.setHeight(h);this.list.beginUpdate();this.list.setHeight(h+pad);this.list.alignTo(this.wrap,this.listAlign);this.list.endUpdate()},onEmptyResults:function(){this.collapse()},isExpanded:function(){return this.list&amp;&amp;this.list.isVisible()},selectByValue:function(v,_3b){if(v!==undefined&amp;&amp;v!==null){var r=this.findRecord(this.valueField||this.displayField,v);if(r){this.select(this.store.indexOf(r),_3b);return true}}return false},select:function(_3d,_3e){this.selectedIndex=_3d;this.view.select(_3d);if(_3e!==false){var el=this.view.getNode(_3d);if(el){this.innerList.scrollChildIntoView(el,false)}}},selectNext:function(){var ct=this.store.getCount();if(ct&gt;0){if(this.selectedIndex==-1){this.select(0)}else{if(this.selectedIndex&lt;ct-1){this.select(this.selectedIndex+1)}}}},selectPrev:function(){var ct=this.store.getCount();if(ct&gt;0){if(this.selectedIndex==-1){this.select(0)}else{if(this.selectedIndex!=0){this.select(this.selectedIndex-1)}}}},onKeyUp:function(e){if(this.editable!==false&amp;&amp;!e.isSpecialKey()){this.lastKey=e.getKey();this.dqTask.delay(this.queryDelay)}},validateBlur:function(){return !this.list||!this.list.isVisible()},initQuery:function(){this.doQuery(this.getRawValue())},doForce:function(){if(this.el.dom.value.length&gt;0){this.el.dom.value=this.lastSelectionText===undefined?&quot;&quot;:this.lastSelectionText;this.applyEmptyText()}},doQuery:function(q,_44){if(q===undefined||q===null){q=&quot;&quot;}var qe={query:q,forceAll:_44,combo:this,cancel:false};if(this.fireEvent(&quot;beforequery&quot;,qe)===false||qe.cancel){return false}q=qe.query;_44=qe.forceAll;if(_44===true||(q.length&gt;=this.minChars)){if(this.lastQuery!==q){this.lastQuery=q;if(this.mode==&quot;local&quot;){this.selectedIndex=-1;if(_44){this.store.clearFilter()}else{this.store.filter(this.displayField,q)}this.onLoad()}else{this.store.baseParams[this.queryParam]=q;this.store.load({params:this.getParams(q)});this.expand()}}else{this.selectedIndex=-1;this.onLoad()}}},getParams:function(q){var p={};if(this.pageSize){p.start=0;p.limit=this.pageSize}return p},collapse:function(){if(!this.isExpanded()){return}this.list.hide();Ext.getDoc().un(&quot;mousewheel&quot;,this.collapseIf,this);Ext.getDoc().un(&quot;mousedown&quot;,this.collapseIf,this);this.fireEvent(&quot;collapse&quot;,this)},collapseIf:function(e){if(!e.within(this.wrap)&amp;&amp;!e.within(this.list)){this.collapse()}},expand:function(){if(this.isExpanded()||!this.hasFocus){return}this.list.alignTo(this.wrap,this.listAlign);this.list.show();this.innerList.setOverflow(&quot;auto&quot;);Ext.getDoc().on(&quot;mousewheel&quot;,this.collapseIf,this);Ext.getDoc().on(&quot;mousedown&quot;,this.collapseIf,this);this.fireEvent(&quot;expand&quot;,this)},onTriggerClick:function(){if(this.disabled){return}if(this.isExpanded()){this.collapse();this.el.focus()}else{this.onFocus({});if(this.triggerAction==&quot;all&quot;){this.doQuery(this.allQuery,true)}else{this.doQuery(this.getRawValue())}this.el.focus()}}});Ext.reg(&quot;combo&quot;,Ext.form.ComboBox);Ext.form.Checkbox=Ext.extend(Ext.form.Field,{checkedCls:&quot;x-form-check-checked&quot;,focusCls:&quot;x-form-check-focus&quot;,overCls:&quot;x-form-check-over&quot;,mouseDownCls:&quot;x-form-check-down&quot;,tabIndex:0,checked:false,defaultAutoCreate:{tag:&quot;input&quot;,type:&quot;checkbox&quot;,autocomplete:&quot;off&quot;},baseCls:&quot;x-form-check&quot;,initComponent:function(){Ext.form.Checkbox.superclass.initComponent.call(this);this.addEvents(&quot;check&quot;)},initEvents:function(){Ext.form.Checkbox.superclass.initEvents.call(this);this.initCheckEvents()},initCheckEvents:function(){this.innerWrap.removeAllListeners();this.innerWrap.addClassOnOver(this.overCls);this.innerWrap.addClassOnClick(this.mouseDownCls);this.innerWrap.on(&quot;click&quot;,this.onClick,this);this.innerWrap.on(&quot;keyup&quot;,this.onKeyUp,this)},onRender:function(ct,_2){Ext.form.Checkbox.superclass.onRender.call(this,ct,_2);if(this.inputValue!==undefined){this.el.dom.value=this.inputValue}this.el.addClass(&quot;x-hidden&quot;);this.innerWrap=this.el.wrap({tabIndex:this.tabIndex,cls:this.baseCls+&quot;-wrap-inner&quot;});this.wrap=this.innerWrap.wrap({cls:this.baseCls+&quot;-wrap&quot;});if(this.boxLabel){this.labelEl=this.innerWrap.createChild({tag:&quot;label&quot;,htmlFor:this.el.id,cls:&quot;x-form-cb-label&quot;,html:this.boxLabel})}this.imageEl=this.innerWrap.createChild({tag:&quot;img&quot;,src:Ext.BLANK_IMAGE_URL,cls:this.baseCls},this.el);if(this.checked){this.setValue(true)}else{this.checked=this.el.dom.checked}this.originalValue=this.checked},afterRender:function(){Ext.form.Checkbox.superclass.afterRender.call(this);this.wrap[this.checked?&quot;addClass&quot;:&quot;removeClass&quot;](this.checkedCls)},onDestroy:function(){if(this.rendered){Ext.destroy(this.imageEl,this.labelEl,this.innerWrap,this.wrap)}Ext.form.Checkbox.superclass.onDestroy.call(this)},onFocus:function(e){Ext.form.Checkbox.superclass.onFocus.call(this,e);
-this.el.addClass(this.focusCls)},onBlur:function(e){Ext.form.Checkbox.superclass.onBlur.call(this,e);this.el.removeClass(this.focusCls)},onResize:function(){Ext.form.Checkbox.superclass.onResize.apply(this,arguments);if(!this.boxLabel&amp;&amp;!this.fieldLabel){this.el.alignTo(this.wrap,&quot;c-c&quot;)}},onKeyUp:function(e){if(e.getKey()==Ext.EventObject.SPACE){this.onClick(e)}},onClick:function(e){if(!this.disabled&amp;&amp;!this.readOnly){this.toggleValue()}e.stopEvent()},onEnable:function(){Ext.form.Checkbox.superclass.onEnable.call(this);this.initCheckEvents()},onDisable:function(){Ext.form.Checkbox.superclass.onDisable.call(this);this.innerWrap.removeAllListeners()},toggleValue:function(){this.setValue(!this.checked)},getResizeEl:function(){if(!this.resizeEl){this.resizeEl=Ext.isSafari?this.wrap:(this.wrap.up(&quot;.x-form-element&quot;,5)||this.wrap)}return this.resizeEl},getPositionEl:function(){return this.wrap},getActionEl:function(){return this.wrap},markInvalid:Ext.emptyFn,clearInvalid:Ext.emptyFn,initValue:Ext.emptyFn,getValue:function(){if(this.rendered){return this.el.dom.checked}return this.checked},setValue:function(v){var _8=this.checked;this.checked=(v===true||v===&quot;true&quot;||v==&quot;1&quot;||String(v).toLowerCase()==&quot;on&quot;);if(this.rendered){this.el.dom.checked=this.checked;this.el.dom.defaultChecked=this.checked;this.wrap[this.checked?&quot;addClass&quot;:&quot;removeClass&quot;](this.checkedCls)}if(_8!=this.checked){this.fireEvent(&quot;check&quot;,this,this.checked);if(this.handler){this.handler.call(this.scope||this,this,this.checked)}}}});Ext.reg(&quot;checkbox&quot;,Ext.form.Checkbox);Ext.form.CheckboxGroup=Ext.extend(Ext.form.Field,{columns:&quot;auto&quot;,vertical:false,allowBlank:true,blankText:&quot;You must select at least one item in this group&quot;,defaultType:&quot;checkbox&quot;,groupCls:&quot;x-form-check-group&quot;,onRender:function(ct,_2){if(!this.el){var _3={cls:this.groupCls,layout:&quot;column&quot;,border:false,renderTo:ct};var _4={defaultType:this.defaultType,layout:&quot;form&quot;,border:false,defaults:{hideLabel:true,anchor:&quot;100%&quot;}};if(this.items[0].items){Ext.apply(_3,{layoutConfig:{columns:this.items.length},defaults:this.defaults,items:this.items});for(var i=0,_6=this.items.length;i&lt;_6;i++){Ext.applyIf(this.items[i],_4)}}else{var _7,_8=[];if(typeof this.columns==&quot;string&quot;){this.columns=this.items.length}if(!Ext.isArray(this.columns)){var cs=[];for(var i=0;i&lt;this.columns;i++){cs.push((100/this.columns)*0.01)}this.columns=cs}_7=this.columns.length;for(var i=0;i&lt;_7;i++){var cc=Ext.apply({items:[]},_4);cc[this.columns[i]&lt;=1?&quot;columnWidth&quot;:&quot;width&quot;]=this.columns[i];if(this.defaults){cc.defaults=Ext.apply(cc.defaults||{},this.defaults)}_8.push(cc)}if(this.vertical){var _b=Math.ceil(this.items.length/_7),ri=0;for(var i=0,_6=this.items.length;i&lt;_6;i++){if(i&gt;0&amp;&amp;i%_b==0){ri++}if(this.items[i].fieldLabel){this.items[i].hideLabel=false}_8[ri].items.push(this.items[i])}}else{for(var i=0,_6=this.items.length;i&lt;_6;i++){var ci=i%_7;if(this.items[i].fieldLabel){this.items[i].hideLabel=false}_8[ci].items.push(this.items[i])}}Ext.apply(_3,{layoutConfig:{columns:_7},items:_8})}this.panel=new Ext.Panel(_3);this.el=this.panel.getEl();if(this.forId&amp;&amp;this.itemCls){var l=this.el.up(this.itemCls).child(&quot;label&quot;,true);if(l){l.setAttribute(&quot;htmlFor&quot;,this.forId)}}var _f=this.panel.findBy(function(c){return c.isFormField},this);this.items=new Ext.util.MixedCollection();this.items.addAll(_f)}Ext.form.CheckboxGroup.superclass.onRender.call(this,ct,_2)},validateValue:function(_11){if(!this.allowBlank){var _12=true;this.items.each(function(f){if(f.checked){return _12=false}},this);if(_12){this.markInvalid(this.blankText);return false}}return true},onDisable:function(){this.items.each(function(_14){_14.disable()})},onEnable:function(){this.items.each(function(_15){_15.enable()})},onResize:function(w,h){this.panel.setSize(w,h);this.panel.doLayout()},reset:function(){Ext.form.CheckboxGroup.superclass.reset.call(this);this.items.each(function(c){if(c.reset){c.reset()}},this)},initValue:Ext.emptyFn,getValue:Ext.emptyFn,getRawValue:Ext.emptyFn,setValue:Ext.emptyFn,setRawValue:Ext.emptyFn});Ext.reg(&quot;checkboxgroup&quot;,Ext.form.CheckboxGroup);Ext.form.Radio=Ext.extend(Ext.form.Checkbox,{inputType:&quot;radio&quot;,baseCls:&quot;x-form-radio&quot;,getGroupValue:function(){var c=this.getParent().child(&quot;input[name=&quot;+this.el.dom.name+&quot;]:checked&quot;,true);return c?c.value:null},getParent:function(){return this.el.up(&quot;form&quot;)||Ext.getBody()},toggleValue:function(){if(!this.checked){var _2=this.getParent().select(&quot;input[name=&quot;+this.el.dom.name+&quot;]&quot;);_2.each(function(el){if(el.dom.id==this.id){this.setValue(true)}else{Ext.getCmp(el.dom.id).setValue(false)}},this)}},setValue:function(v){if(typeof v==&quot;boolean&quot;){Ext.form.Radio.superclass.setValue.call(this,v)}else{var r=this.getParent().child(&quot;input[name=&quot;+this.el.dom.name+&quot;][value=&quot;+v+&quot;]&quot;,true);if(r&amp;&amp;!r.checked){Ext.getCmp(r.id).toggleValue()}}},markInvalid:Ext.emptyFn,clearInvalid:Ext.emptyFn});Ext.reg(&quot;radio&quot;,Ext.form.Radio);Ext.form.RadioGroup=Ext.extend(Ext.form.CheckboxGroup,{allowBlank:true,blankText:&quot;You must select one item in this group&quot;,defaultType:&quot;radio&quot;,groupCls:&quot;x-form-radio-group&quot;});Ext.reg(&quot;radiogroup&quot;,Ext.form.RadioGroup);Ext.form.Hidden=Ext.extend(Ext.form.Field,{inputType:&quot;hidden&quot;,onRender:function(){Ext.form.Hidden.superclass.onRender.apply(this,arguments)},initEvents:function(){this.originalValue=this.getValue()},setSize:Ext.emptyFn,setWidth:Ext.emptyFn,setHeight:Ext.emptyFn,setPosition:Ext.emptyFn,setPagePosition:Ext.emptyFn,markInvalid:Ext.emptyFn,clearInvalid:Ext.emptyFn});Ext.reg(&quot;hidden&quot;,Ext.form.Hidden);Ext.form.BasicForm=function(el,_2){Ext.apply(this,_2);this.items=new Ext.util.MixedCollection(false,function(o){return o.id||(o.id=Ext.id())});this.addEvents(&quot;beforeaction&quot;,&quot;actionfailed&quot;,&quot;actioncomplete&quot;);if(el){this.initEl(el)}Ext.form.BasicForm.superclass.constructor.call(this)};Ext.extend(Ext.form.BasicForm,Ext.util.Observable,{timeout:30,activeAction:null,trackResetOnLoad:false,initEl:function(el){this.el=Ext.get(el);this.id=this.el.id||Ext.id();if(!this.standardSubmit){this.el.on(&quot;submit&quot;,this.onSubmit,this)}this.el.addClass(&quot;x-form&quot;)},getEl:function(){return this.el},onSubmit:function(e){e.stopEvent()},destroy:function(){this.items.each(function(f){Ext.destroy(f)});if(this.el){this.el.removeAllListeners();this.el.remove()}this.purgeListeners()},isValid:function(){var _7=true;this.items.each(function(f){if(!f.validate()){_7=false}});return _7},isDirty:function(){var _9=false;this.items.each(function(f){if(f.isDirty()){_9=true;return false}});return _9},doAction:function(_b,_c){if(typeof _b==&quot;string&quot;){_b=new Ext.form.Action.ACTION_TYPES[_b](this,_c)}if(this.fireEvent(&quot;beforeaction&quot;,this,_b)!==false){this.beforeAction(_b);_b.run.defer(100,_b)}return this},submit:function(_d){if(this.standardSubmit){var v=this.isValid();if(v){this.el.dom.submit()}return v}this.doAction(&quot;submit&quot;,_d);return this},load:function(_f){this.doAction(&quot;load&quot;,_f);return this},updateRecord:function(_10){_10.beginEdit();var fs=_10.fields;fs.each(function(f){var _13=this.findField(f.name);if(_13){_10.set(f.name,_13.getValue())}},this);_10.endEdit();return this},loadRecord:function(_14){this.setValues(_14.data);return this},beforeAction:function(_15){var o=_15.options;if(o.waitMsg){if(this.waitMsgTarget===true){this.el.mask(o.waitMsg,&quot;x-mask-loading&quot;)}else{if(this.waitMsgTarget){this.waitMsgTarget=Ext.get(this.waitMsgTarget);this.waitMsgTarget.mask(o.waitMsg,&quot;x-mask-loading&quot;)}else{Ext.MessageBox.wait(o.waitMsg,o.waitTitle||this.waitTitle||&quot;Please Wait...&quot;)}}}},afterAction:function(_17,_18){this.activeAction=null;var o=_17.options;if(o.waitMsg){if(this.waitMsgTarget===true){this.el.unmask()}else{if(this.waitMsgTarget){this.waitMsgTarget.unmask()}else{Ext.MessageBox.updateProgress(1);Ext.MessageBox.hide()}}}if(_18){if(o.reset){this.reset()}Ext.callback(o.success,o.scope,[this,_17]);this.fireEvent(&quot;actioncomplete&quot;,this,_17)}else{Ext.callback(o.failure,o.scope,[this,_17]);this.fireEvent(&quot;actionfailed&quot;,this,_17)}},findField:function(id){var _1b=this.items.get(id);if(!_1b){this.items.each(function(f){if(f.isFormField&amp;&amp;(f.dataIndex==id||f.id==id||f.getName()==id)){_1b=f;
-return false}})}return _1b||null},markInvalid:function(_1d){if(Ext.isArray(_1d)){for(var i=0,len=_1d.length;i&lt;len;i++){var _20=_1d[i];var f=this.findField(_20.id);if(f){f.markInvalid(_20.msg)}}}else{var _22,id;for(id in _1d){if(typeof _1d[id]!=&quot;function&quot;&amp;&amp;(_22=this.findField(id))){_22.markInvalid(_1d[id])}}}return this},setValues:function(_24){if(Ext.isArray(_24)){for(var i=0,len=_24.length;i&lt;len;i++){var v=_24[i];var f=this.findField(v.id);if(f){f.setValue(v.value);if(this.trackResetOnLoad){f.originalValue=f.getValue()}}}}else{var _29,id;for(id in _24){if(typeof _24[id]!=&quot;function&quot;&amp;&amp;(_29=this.findField(id))){_29.setValue(_24[id]);if(this.trackResetOnLoad){_29.originalValue=_29.getValue()}}}}return this},getValues:function(_2b){var fs=Ext.lib.Ajax.serializeForm(this.el.dom);if(_2b===true){return fs}return Ext.urlDecode(fs)},clearInvalid:function(){this.items.each(function(f){f.clearInvalid()});return this},reset:function(){this.items.each(function(f){f.reset()});return this},add:function(){this.items.addAll(Array.prototype.slice.call(arguments,0));return this},remove:function(_2f){this.items.remove(_2f);return this},render:function(){this.items.each(function(f){if(f.isFormField&amp;&amp;!f.rendered&amp;&amp;document.getElementById(f.id)){f.applyToMarkup(f.id)}});return this},applyToFields:function(o){this.items.each(function(f){Ext.apply(f,o)});return this},applyIfToFields:function(o){this.items.each(function(f){Ext.applyIf(f,o)});return this}});Ext.BasicForm=Ext.form.BasicForm;Ext.FormPanel=Ext.extend(Ext.Panel,{buttonAlign:&quot;center&quot;,minButtonWidth:75,labelAlign:&quot;left&quot;,monitorValid:false,monitorPoll:200,layout:&quot;form&quot;,initComponent:function(){this.form=this.createForm();this.bodyCfg={tag:&quot;form&quot;,cls:this.baseCls+&quot;-body&quot;,method:this.method||&quot;POST&quot;,id:this.formId||Ext.id()};if(this.fileUpload){this.bodyCfg.enctype=&quot;multipart/form-data&quot;}Ext.FormPanel.superclass.initComponent.call(this);this.initItems();this.addEvents(&quot;clientvalidation&quot;);this.relayEvents(this.form,[&quot;beforeaction&quot;,&quot;actionfailed&quot;,&quot;actioncomplete&quot;])},createForm:function(){delete this.initialConfig.listeners;return new Ext.form.BasicForm(null,this.initialConfig)},initFields:function(){var f=this.form;var _2=this;var fn=function(c){if(c.isFormField){f.add(c)}else{if(c.doLayout&amp;&amp;c!=_2){Ext.applyIf(c,{labelAlign:c.ownerCt.labelAlign,labelWidth:c.ownerCt.labelWidth,itemCls:c.ownerCt.itemCls});if(c.items){c.items.each(fn)}}}};this.items.each(fn)},getLayoutTarget:function(){return this.form.el},getForm:function(){return this.form},onRender:function(ct,_6){this.initFields();Ext.FormPanel.superclass.onRender.call(this,ct,_6);this.form.initEl(this.body)},beforeDestroy:function(){Ext.FormPanel.superclass.beforeDestroy.call(this);this.stopMonitoring();Ext.destroy(this.form)},initEvents:function(){Ext.FormPanel.superclass.initEvents.call(this);this.items.on(&quot;remove&quot;,this.onRemove,this);this.items.on(&quot;add&quot;,this.onAdd,this);if(this.monitorValid){this.startMonitoring()}},onAdd:function(ct,c){if(c.isFormField){this.form.add(c)}},onRemove:function(c){if(c.isFormField){Ext.destroy(c.container.up(&quot;.x-form-item&quot;));this.form.remove(c)}},startMonitoring:function(){if(!this.bound){this.bound=true;Ext.TaskMgr.start({run:this.bindHandler,interval:this.monitorPoll||200,scope:this})}},stopMonitoring:function(){this.bound=false},load:function(){this.form.load.apply(this.form,arguments)},onDisable:function(){Ext.FormPanel.superclass.onDisable.call(this);if(this.form){this.form.items.each(function(){this.disable()})}},onEnable:function(){Ext.FormPanel.superclass.onEnable.call(this);if(this.form){this.form.items.each(function(){this.enable()})}},bindHandler:function(){if(!this.bound){return false}var _a=true;this.form.items.each(function(f){if(!f.isValid(true)){_a=false;return false}});if(this.buttons){for(var i=0,_d=this.buttons.length;i&lt;_d;i++){var _e=this.buttons[i];if(_e.formBind===true&amp;&amp;_e.disabled===_a){_e.setDisabled(!_a)}}}this.fireEvent(&quot;clientvalidation&quot;,this,_a)}});Ext.reg(&quot;form&quot;,Ext.FormPanel);Ext.form.FormPanel=Ext.FormPanel;Ext.form.FieldSet=Ext.extend(Ext.Panel,{baseCls:&quot;x-fieldset&quot;,layout:&quot;form&quot;,animCollapse:false,onRender:function(ct,_2){if(!this.el){this.el=document.createElement(&quot;fieldset&quot;);this.el.id=this.id;if(this.title||this.header||this.checkboxToggle){this.el.appendChild(document.createElement(&quot;legend&quot;)).className=&quot;x-fieldset-header&quot;}}Ext.form.FieldSet.superclass.onRender.call(this,ct,_2);if(this.checkboxToggle){var o=typeof this.checkboxToggle==&quot;object&quot;?this.checkboxToggle:{tag:&quot;input&quot;,type:&quot;checkbox&quot;,name:this.checkboxName||this.id+&quot;-checkbox&quot;};this.checkbox=this.header.insertFirst(o);this.checkbox.dom.checked=!this.collapsed;this.checkbox.on(&quot;click&quot;,this.onCheckClick,this)}},onCollapse:function(_4,_5){if(this.checkbox){this.checkbox.dom.checked=false}Ext.form.FieldSet.superclass.onCollapse.call(this,_4,_5)},onExpand:function(_6,_7){if(this.checkbox){this.checkbox.dom.checked=true}Ext.form.FieldSet.superclass.onExpand.call(this,_6,_7)},onCheckClick:function(){this[this.checkbox.dom.checked?&quot;expand&quot;:&quot;collapse&quot;]()},beforeDestroy:function(){if(this.checkbox){this.checkbox.un(&quot;click&quot;,this.onCheckClick,this)}Ext.form.FieldSet.superclass.beforeDestroy.call(this)}});Ext.reg(&quot;fieldset&quot;,Ext.form.FieldSet);Ext.form.HtmlEditor=Ext.extend(Ext.form.Field,{enableFormat:true,enableFontSize:true,enableColors:true,enableAlignments:true,enableLists:true,enableSourceEdit:true,enableLinks:true,enableFont:true,createLinkText:&quot;Please enter the URL for the link:&quot;,defaultLinkValue:&quot;http://&quot;,fontFamilies:[&quot;Arial&quot;,&quot;Courier New&quot;,&quot;Tahoma&quot;,&quot;Times New Roman&quot;,&quot;Verdana&quot;],defaultFont:&quot;tahoma&quot;,validationEvent:false,deferHeight:true,initialized:false,activated:false,sourceEditMode:false,onFocus:Ext.emptyFn,iframePad:3,hideMode:&quot;offsets&quot;,defaultAutoCreate:{tag:&quot;textarea&quot;,style:&quot;width:500px;height:300px;&quot;,autocomplete:&quot;off&quot;},initComponent:function(){this.addEvents(&quot;initialize&quot;,&quot;activate&quot;,&quot;beforesync&quot;,&quot;beforepush&quot;,&quot;sync&quot;,&quot;push&quot;,&quot;editmodechange&quot;)},createFontOptions:function(){var _1=[],fs=this.fontFamilies,ff,lc;for(var i=0,_6=fs.length;i&lt;_6;i++){ff=fs[i];lc=ff.toLowerCase();_1.push('&lt;option value=&quot;',lc,'&quot; style=&quot;font-family:',ff,';&quot;',(this.defaultFont==lc?' selected=&quot;true&quot;&gt;':&quot;&gt;&quot;),ff,&quot;&lt;/option&gt;&quot;)}return _1.join(&quot;&quot;)},createToolbar:function(_7){var _8=Ext.QuickTips&amp;&amp;Ext.QuickTips.isEnabled();function btn(id,_a,_b){return{itemId:id,cls:&quot;x-btn-icon x-edit-&quot;+id,enableToggle:_a!==false,scope:_7,handler:_b||_7.relayBtnCmd,clickEvent:&quot;mousedown&quot;,tooltip:_8?_7.buttonTips[id]||undefined:undefined,tabIndex:-1}}var tb=new Ext.Toolbar({renderTo:this.wrap.dom.firstChild});tb.el.on(&quot;click&quot;,function(e){e.preventDefault()});if(this.enableFont&amp;&amp;!Ext.isSafari2){this.fontSelect=tb.el.createChild({tag:&quot;select&quot;,cls:&quot;x-font-select&quot;,html:this.createFontOptions()});this.fontSelect.on(&quot;change&quot;,function(){var _e=this.fontSelect.dom.value;this.relayCmd(&quot;fontname&quot;,_e);this.deferFocus()},this);tb.add(this.fontSelect.dom,&quot;-&quot;)}if(this.enableFormat){tb.add(btn(&quot;bold&quot;),btn(&quot;italic&quot;),btn(&quot;underline&quot;))}if(this.enableFontSize){tb.add(&quot;-&quot;,btn(&quot;increasefontsize&quot;,false,this.adjustFont),btn(&quot;decreasefontsize&quot;,false,this.adjustFont))}if(this.enableColors){tb.add(&quot;-&quot;,{itemId:&quot;forecolor&quot;,cls:&quot;x-btn-icon x-edit-forecolor&quot;,clickEvent:&quot;mousedown&quot;,tooltip:_8?_7.buttonTips.forecolor||undefined:undefined,tabIndex:-1,menu:new Ext.menu.ColorMenu({allowReselect:true,focus:Ext.emptyFn,value:&quot;000000&quot;,plain:true,selectHandler:function(cp,_10){this.execCmd(&quot;forecolor&quot;,Ext.isSafari||Ext.isIE?&quot;#&quot;+_10:_10);this.deferFocus()},scope:this,clickEvent:&quot;mousedown&quot;})},{itemId:&quot;backcolor&quot;,cls:&quot;x-btn-icon x-edit-backcolor&quot;,clickEvent:&quot;mousedown&quot;,tooltip:_8?_7.buttonTips.backcolor||undefined:undefined,tabIndex:-1,menu:new Ext.menu.ColorMenu({focus:Ext.emptyFn,value:&quot;FFFFFF&quot;,plain:true,allowReselect:true,selectHandler:function(cp,_12){if(Ext.isGecko){this.execCmd(&quot;useCSS&quot;,false);this.execCmd(&quot;hilitecolor&quot;,_12);this.execCmd(&quot;useCSS&quot;,true);this.deferFocus()}else{this.execCmd(Ext.isOpera?&quot;hilitecolor&quot;:&quot;backcolor&quot;,Ext.isSafari||Ext.isIE?&quot;#&quot;+_12:_12);
-this.deferFocus()}},scope:this,clickEvent:&quot;mousedown&quot;})})}if(this.enableAlignments){tb.add(&quot;-&quot;,btn(&quot;justifyleft&quot;),btn(&quot;justifycenter&quot;),btn(&quot;justifyright&quot;))}if(!Ext.isSafari2){if(this.enableLinks){tb.add(&quot;-&quot;,btn(&quot;createlink&quot;,false,this.createLink))}if(this.enableLists){tb.add(&quot;-&quot;,btn(&quot;insertorderedlist&quot;),btn(&quot;insertunorderedlist&quot;))}if(this.enableSourceEdit){tb.add(&quot;-&quot;,btn(&quot;sourceedit&quot;,true,function(btn){this.toggleSourceEdit(btn.pressed)}))}}this.tb=tb},getDocMarkup:function(){return'&lt;html&gt;&lt;head&gt;&lt;style type=&quot;text/css&quot;&gt;body{border:0;margin:0;padding:3px;height:98%;cursor:text;}&lt;/style&gt;&lt;/head&gt;&lt;body&gt;&lt;/body&gt;&lt;/html&gt;'},getEditorBody:function(){return this.doc.body||this.doc.documentElement},getDoc:function(){return Ext.isIE?this.getWin().document:(this.iframe.contentDocument||this.getWin().document)},getWin:function(){return Ext.isIE?this.iframe.contentWindow:window.frames[this.iframe.name]},onRender:function(ct,_15){Ext.form.HtmlEditor.superclass.onRender.call(this,ct,_15);this.el.dom.style.border=&quot;0 none&quot;;this.el.dom.setAttribute(&quot;tabIndex&quot;,-1);this.el.addClass(&quot;x-hidden&quot;);if(Ext.isIE){this.el.applyStyles(&quot;margin-top:-1px;margin-bottom:-1px;&quot;)}this.wrap=this.el.wrap({cls:&quot;x-html-editor-wrap&quot;,cn:{cls:&quot;x-html-editor-tb&quot;}});this.createToolbar(this);this.tb.items.each(function(_16){if(_16.itemId!=&quot;sourceedit&quot;){_16.disable()}});var _17=document.createElement(&quot;iframe&quot;);_17.name=Ext.id();_17.frameBorder=&quot;0&quot;;_17.src=Ext.isIE?Ext.SSL_SECURE_URL:&quot;javascript:;&quot;;this.wrap.dom.appendChild(_17);this.iframe=_17;this.initFrame();if(this.autoMonitorDesignMode!==false){this.monitorTask=Ext.TaskMgr.start({run:this.checkDesignMode,scope:this,interval:100})}if(!this.width){var sz=this.el.getSize();this.setSize(sz.width,this.height||sz.height)}},initFrame:function(){this.doc=this.getDoc();this.win=this.getWin();this.doc.open();this.doc.write(this.getDocMarkup());this.doc.close();var _19={run:function(){if(this.doc.body||this.doc.readyState==&quot;complete&quot;){Ext.TaskMgr.stop(_19);this.doc.designMode=&quot;on&quot;;this.initEditor.defer(10,this)}},interval:10,duration:10000,scope:this};Ext.TaskMgr.start(_19)},checkDesignMode:function(){if(this.wrap&amp;&amp;this.wrap.dom.offsetWidth){var doc=this.getDoc();if(!doc){return}if(!doc.editorInitialized||String(doc.designMode).toLowerCase()!=&quot;on&quot;){this.initFrame()}}},onResize:function(w,h){Ext.form.HtmlEditor.superclass.onResize.apply(this,arguments);if(this.el&amp;&amp;this.iframe){if(typeof w==&quot;number&quot;){var aw=w-this.wrap.getFrameWidth(&quot;lr&quot;);this.el.setWidth(this.adjustWidth(&quot;textarea&quot;,aw));this.iframe.style.width=Math.max(aw,0)+&quot;px&quot;}if(typeof h==&quot;number&quot;){var ah=h-this.wrap.getFrameWidth(&quot;tb&quot;)-this.tb.el.getHeight();this.el.setHeight(this.adjustWidth(&quot;textarea&quot;,ah));this.iframe.style.height=Math.max(ah,0)+&quot;px&quot;;if(this.doc){this.getEditorBody().style.height=Math.max((ah-(this.iframePad*2)),0)+&quot;px&quot;}}}},toggleSourceEdit:function(_1f){if(_1f===undefined){_1f=!this.sourceEditMode}this.sourceEditMode=_1f===true;var btn=this.tb.items.get(&quot;sourceedit&quot;);if(btn.pressed!==this.sourceEditMode){btn.toggle(this.sourceEditMode);return}if(this.sourceEditMode){this.tb.items.each(function(_21){if(_21.itemId!=&quot;sourceedit&quot;){_21.disable()}});this.syncValue();this.iframe.className=&quot;x-hidden&quot;;this.el.removeClass(&quot;x-hidden&quot;);this.el.dom.removeAttribute(&quot;tabIndex&quot;);this.el.focus()}else{if(this.initialized){this.tb.items.each(function(_22){_22.enable()})}this.pushValue();this.iframe.className=&quot;&quot;;this.el.addClass(&quot;x-hidden&quot;);this.el.dom.setAttribute(&quot;tabIndex&quot;,-1);this.deferFocus()}var _23=this.lastSize;if(_23){delete this.lastSize;this.setSize(_23)}this.fireEvent(&quot;editmodechange&quot;,this,this.sourceEditMode)},createLink:function(){var url=prompt(this.createLinkText,this.defaultLinkValue);if(url&amp;&amp;url!=&quot;http://&quot;){this.relayCmd(&quot;createlink&quot;,url)}},adjustSize:Ext.BoxComponent.prototype.adjustSize,getResizeEl:function(){return this.wrap},getPositionEl:function(){return this.wrap},initEvents:function(){this.originalValue=this.getValue()},markInvalid:Ext.emptyFn,clearInvalid:Ext.emptyFn,setValue:function(v){Ext.form.HtmlEditor.superclass.setValue.call(this,v);this.pushValue()},cleanHtml:function(_26){_26=String(_26);if(_26.length&gt;5){if(Ext.isSafari){_26=_26.replace(/\sclass=&quot;(?:Apple-style-span|khtml-block-placeholder)&quot;/gi,&quot;&quot;)}}if(_26==&quot;&amp;nbsp;&quot;){_26=&quot;&quot;}return _26},syncValue:function(){if(this.initialized){var bd=this.getEditorBody();var _28=bd.innerHTML;if(Ext.isSafari){var bs=bd.getAttribute(&quot;style&quot;);var m=bs.match(/text-align:(.*?);/i);if(m&amp;&amp;m[1]){_28='&lt;div style=&quot;'+m[0]+'&quot;&gt;'+_28+&quot;&lt;/div&gt;&quot;}}_28=this.cleanHtml(_28);if(this.fireEvent(&quot;beforesync&quot;,this,_28)!==false){this.el.dom.value=_28;this.fireEvent(&quot;sync&quot;,this,_28)}}},getValue:function(){this.syncValue();return Ext.form.HtmlEditor.superclass.getValue.call(this)},pushValue:function(){if(this.initialized){var v=this.el.dom.value;if(!this.activated&amp;&amp;v.length&lt;1){v=&quot;&amp;nbsp;&quot;}if(this.fireEvent(&quot;beforepush&quot;,this,v)!==false){this.getEditorBody().innerHTML=v;this.fireEvent(&quot;push&quot;,this,v)}}},deferFocus:function(){this.focus.defer(10,this)},focus:function(){if(this.win&amp;&amp;!this.sourceEditMode){this.win.focus()}else{this.el.focus()}},initEditor:function(){var _2c=this.getEditorBody();var ss=this.el.getStyles(&quot;font-size&quot;,&quot;font-family&quot;,&quot;background-image&quot;,&quot;background-repeat&quot;);ss[&quot;background-attachment&quot;]=&quot;fixed&quot;;_2c.bgProperties=&quot;fixed&quot;;Ext.DomHelper.applyStyles(_2c,ss);if(this.doc){try{Ext.EventManager.removeAll(this.doc)}catch(e){}}this.doc=this.getDoc();Ext.EventManager.on(this.doc,{mousedown:this.onEditorEvent,dblclick:this.onEditorEvent,click:this.onEditorEvent,keyup:this.onEditorEvent,buffer:100,scope:this});if(Ext.isGecko){Ext.EventManager.on(this.doc,&quot;keypress&quot;,this.applyCommand,this)}if(Ext.isIE||Ext.isSafari||Ext.isOpera){Ext.EventManager.on(this.doc,&quot;keydown&quot;,this.fixKeys,this)}this.initialized=true;this.fireEvent(&quot;initialize&quot;,this);this.doc.editorInitialized=true;this.pushValue()},onDestroy:function(){if(this.monitorTask){Ext.TaskMgr.stop(this.monitorTask)}if(this.rendered){this.tb.items.each(function(_2e){if(_2e.menu){_2e.menu.removeAll();if(_2e.menu.el){_2e.menu.el.destroy()}}_2e.destroy()});this.wrap.dom.innerHTML=&quot;&quot;;this.wrap.remove()}},onFirstFocus:function(){this.activated=true;this.tb.items.each(function(_2f){_2f.enable()});if(Ext.isGecko){this.win.focus();var s=this.win.getSelection();if(!s.focusNode||s.focusNode.nodeType!=3){var r=s.getRangeAt(0);r.selectNodeContents(this.getEditorBody());r.collapse(true);this.deferFocus()}try{this.execCmd(&quot;useCSS&quot;,true);this.execCmd(&quot;styleWithCSS&quot;,false)}catch(e){}}this.fireEvent(&quot;activate&quot;,this)},adjustFont:function(btn){var _33=btn.itemId==&quot;increasefontsize&quot;?1:-1;var v=parseInt(this.doc.queryCommandValue(&quot;FontSize&quot;)||2,10);if(Ext.isSafari3||Ext.isAir){if(v&lt;=10){v=1+_33}else{if(v&lt;=13){v=2+_33}else{if(v&lt;=16){v=3+_33}else{if(v&lt;=18){v=4+_33}else{if(v&lt;=24){v=5+_33}else{v=6+_33}}}}}v=v.constrain(1,6)}else{if(Ext.isSafari){_33*=2}v=Math.max(1,v+_33)+(Ext.isSafari?&quot;px&quot;:0)}this.execCmd(&quot;FontSize&quot;,v)},onEditorEvent:function(e){this.updateToolbar()},updateToolbar:function(){if(!this.activated){this.onFirstFocus();return}var _36=this.tb.items.map,doc=this.doc;if(this.enableFont&amp;&amp;!Ext.isSafari2){var _38=(this.doc.queryCommandValue(&quot;FontName&quot;)||this.defaultFont).toLowerCase();if(_38!=this.fontSelect.dom.value){this.fontSelect.dom.value=_38}}if(this.enableFormat){_36.bold.toggle(doc.queryCommandState(&quot;bold&quot;));_36.italic.toggle(doc.queryCommandState(&quot;italic&quot;));_36.underline.toggle(doc.queryCommandState(&quot;underline&quot;))}if(this.enableAlignments){_36.justifyleft.toggle(doc.queryCommandState(&quot;justifyleft&quot;));_36.justifycenter.toggle(doc.queryCommandState(&quot;justifycenter&quot;));_36.justifyright.toggle(doc.queryCommandState(&quot;justifyright&quot;))}if(!Ext.isSafari2&amp;&amp;this.enableLists){_36.insertorderedlist.toggle(doc.queryCommandState(&quot;insertorderedlist&quot;));_36.insertunorderedlist.toggle(doc.queryCommandState(&quot;insertunorderedlist&quot;))}Ext.menu.MenuMgr.hideAll();this.syncValue()},relayBtnCmd:function(btn){this.relayCmd(btn.itemId)},relayCmd:function(cmd,_3b){(function(){this.focus();
-this.execCmd(cmd,_3b);this.updateToolbar()}).defer(10,this)},execCmd:function(cmd,_3d){this.doc.execCommand(cmd,false,_3d===undefined?null:_3d);this.syncValue()},applyCommand:function(e){if(e.ctrlKey){var c=e.getCharCode(),cmd;if(c&gt;0){c=String.fromCharCode(c);switch(c){case&quot;b&quot;:cmd=&quot;bold&quot;;break;case&quot;i&quot;:cmd=&quot;italic&quot;;break;case&quot;u&quot;:cmd=&quot;underline&quot;;break}if(cmd){this.win.focus();this.execCmd(cmd);this.deferFocus();e.preventDefault()}}}},insertAtCursor:function(_41){if(!this.activated){return}if(Ext.isIE){this.win.focus();var r=this.doc.selection.createRange();if(r){r.collapse(true);r.pasteHTML(_41);this.syncValue();this.deferFocus()}}else{if(Ext.isGecko||Ext.isOpera){this.win.focus();this.execCmd(&quot;InsertHTML&quot;,_41);this.deferFocus()}else{if(Ext.isSafari){this.execCmd(&quot;InsertText&quot;,_41);this.deferFocus()}}}},fixKeys:function(){if(Ext.isIE){return function(e){var k=e.getKey(),r;if(k==e.TAB){e.stopEvent();r=this.doc.selection.createRange();if(r){r.collapse(true);r.pasteHTML(&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;);this.deferFocus()}}else{if(k==e.ENTER){r=this.doc.selection.createRange();if(r){var _46=r.parentElement();if(!_46||_46.tagName.toLowerCase()!=&quot;li&quot;){e.stopEvent();r.pasteHTML(&quot;&lt;br /&gt;&quot;);r.collapse(false);r.select()}}}}}}else{if(Ext.isOpera){return function(e){var k=e.getKey();if(k==e.TAB){e.stopEvent();this.win.focus();this.execCmd(&quot;InsertHTML&quot;,&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;);this.deferFocus()}}}else{if(Ext.isSafari){return function(e){var k=e.getKey();if(k==e.TAB){e.stopEvent();this.execCmd(&quot;InsertText&quot;,&quot;\t&quot;);this.deferFocus()}}}}}}(),getToolbar:function(){return this.tb},buttonTips:{bold:{title:&quot;Bold (Ctrl+B)&quot;,text:&quot;Make the selected text bold.&quot;,cls:&quot;x-html-editor-tip&quot;},italic:{title:&quot;Italic (Ctrl+I)&quot;,text:&quot;Make the selected text italic.&quot;,cls:&quot;x-html-editor-tip&quot;},underline:{title:&quot;Underline (Ctrl+U)&quot;,text:&quot;Underline the selected text.&quot;,cls:&quot;x-html-editor-tip&quot;},increasefontsize:{title:&quot;Grow Text&quot;,text:&quot;Increase the font size.&quot;,cls:&quot;x-html-editor-tip&quot;},decreasefontsize:{title:&quot;Shrink Text&quot;,text:&quot;Decrease the font size.&quot;,cls:&quot;x-html-editor-tip&quot;},backcolor:{title:&quot;Text Highlight Color&quot;,text:&quot;Change the background color of the selected text.&quot;,cls:&quot;x-html-editor-tip&quot;},forecolor:{title:&quot;Font Color&quot;,text:&quot;Change the color of the selected text.&quot;,cls:&quot;x-html-editor-tip&quot;},justifyleft:{title:&quot;Align Text Left&quot;,text:&quot;Align text to the left.&quot;,cls:&quot;x-html-editor-tip&quot;},justifycenter:{title:&quot;Center Text&quot;,text:&quot;Center text in the editor.&quot;,cls:&quot;x-html-editor-tip&quot;},justifyright:{title:&quot;Align Text Right&quot;,text:&quot;Align text to the right.&quot;,cls:&quot;x-html-editor-tip&quot;},insertunorderedlist:{title:&quot;Bullet List&quot;,text:&quot;Start a bulleted list.&quot;,cls:&quot;x-html-editor-tip&quot;},insertorderedlist:{title:&quot;Numbered List&quot;,text:&quot;Start a numbered list.&quot;,cls:&quot;x-html-editor-tip&quot;},createlink:{title:&quot;Hyperlink&quot;,text:&quot;Make the selected text a hyperlink.&quot;,cls:&quot;x-html-editor-tip&quot;},sourceedit:{title:&quot;Source Edit&quot;,text:&quot;Switch to source editing mode.&quot;,cls:&quot;x-html-editor-tip&quot;}}});Ext.reg(&quot;htmleditor&quot;,Ext.form.HtmlEditor);Ext.form.TimeField=Ext.extend(Ext.form.ComboBox,{minValue:null,maxValue:null,minText:&quot;The time in this field must be equal to or after {0}&quot;,maxText:&quot;The time in this field must be equal to or before {0}&quot;,invalidText:&quot;{0} is not a valid time&quot;,format:&quot;g:i A&quot;,altFormats:&quot;g:ia|g:iA|g:i a|g:i A|h:i|g:i|H:i|ga|ha|gA|h a|g a|g A|gi|hi|gia|hia|g|H&quot;,increment:15,mode:&quot;local&quot;,triggerAction:&quot;all&quot;,typeAhead:false,initDate:&quot;1/1/2008&quot;,initComponent:function(){Ext.form.TimeField.superclass.initComponent.call(this);if(typeof this.minValue==&quot;string&quot;){this.minValue=this.parseDate(this.minValue)}if(typeof this.maxValue==&quot;string&quot;){this.maxValue=this.parseDate(this.maxValue)}if(!this.store){var _1=this.parseDate(this.minValue);if(!_1){_1=new Date(this.initDate).clearTime()}var _2=this.parseDate(this.maxValue);if(!_2){_2=new Date(this.initDate).clearTime().add(&quot;mi&quot;,(24*60)-1)}var _3=[];while(_1&lt;=_2){_3.push([_1.dateFormat(this.format)]);_1=_1.add(&quot;mi&quot;,this.increment)}this.store=new Ext.data.SimpleStore({fields:[&quot;text&quot;],data:_3});this.displayField=&quot;text&quot;}},getValue:function(){var v=Ext.form.TimeField.superclass.getValue.call(this);return this.formatDate(this.parseDate(v))||&quot;&quot;},setValue:function(_5){Ext.form.TimeField.superclass.setValue.call(this,this.formatDate(this.parseDate(_5)))},validateValue:Ext.form.DateField.prototype.validateValue,parseDate:Ext.form.DateField.prototype.parseDate,formatDate:Ext.form.DateField.prototype.formatDate,beforeBlur:function(){var v=this.parseDate(this.getRawValue());if(v){this.setValue(v.dateFormat(this.format))}}});Ext.reg(&quot;timefield&quot;,Ext.form.TimeField);Ext.form.Label=Ext.extend(Ext.BoxComponent,{onRender:function(ct,_2){if(!this.el){this.el=document.createElement(&quot;label&quot;);this.el.id=this.getId();this.el.innerHTML=this.text?Ext.util.Format.htmlEncode(this.text):(this.html||&quot;&quot;);if(this.forId){this.el.setAttribute(&quot;for&quot;,this.forId)}}Ext.form.Label.superclass.onRender.call(this,ct,_2)},setText:function(t,_4){this.text=t;if(this.rendered){this.el.dom.innerHTML=_4!==false?Ext.util.Format.htmlEncode(t):t}return this}});Ext.reg(&quot;label&quot;,Ext.form.Label);Ext.form.Action=function(_1,_2){this.form=_1;this.options=_2||{}};Ext.form.Action.CLIENT_INVALID=&quot;client&quot;;Ext.form.Action.SERVER_INVALID=&quot;server&quot;;Ext.form.Action.CONNECT_FAILURE=&quot;connect&quot;;Ext.form.Action.LOAD_FAILURE=&quot;load&quot;;Ext.form.Action.prototype={type:&quot;default&quot;,run:function(_3){},success:function(_4){},handleResponse:function(_5){},failure:function(_6){this.response=_6;this.failureType=Ext.form.Action.CONNECT_FAILURE;this.form.afterAction(this,false)},processResponse:function(_7){this.response=_7;if(!_7.responseText){return true}this.result=this.handleResponse(_7);return this.result},getUrl:function(_8){var _9=this.options.url||this.form.url||this.form.el.dom.action;if(_8){var p=this.getParams();if(p){_9+=(_9.indexOf(&quot;?&quot;)!=-1?&quot;&amp;&quot;:&quot;?&quot;)+p}}return _9},getMethod:function(){return(this.options.method||this.form.method||this.form.el.dom.method||&quot;POST&quot;).toUpperCase()},getParams:function(){var bp=this.form.baseParams;var p=this.options.params;if(p){if(typeof p==&quot;object&quot;){p=Ext.urlEncode(Ext.applyIf(p,bp))}else{if(typeof p==&quot;string&quot;&amp;&amp;bp){p+=&quot;&amp;&quot;+Ext.urlEncode(bp)}}}else{if(bp){p=Ext.urlEncode(bp)}}return p},createCallback:function(_d){var _d=_d||{};return{success:this.success,failure:this.failure,scope:this,timeout:(_d.timeout*1000)||(this.form.timeout*1000),upload:this.form.fileUpload?this.success:undefined}}};Ext.form.Action.Submit=function(_e,_f){Ext.form.Action.Submit.superclass.constructor.call(this,_e,_f)};Ext.extend(Ext.form.Action.Submit,Ext.form.Action,{type:&quot;submit&quot;,run:function(){var o=this.options;var _11=this.getMethod();var _12=_11==&quot;GET&quot;;if(o.clientValidation===false||this.form.isValid()){Ext.Ajax.request(Ext.apply(this.createCallback(o),{form:this.form.el.dom,url:this.getUrl(_12),method:_11,headers:o.headers,params:!_12?this.getParams():null,isUpload:this.form.fileUpload}))}else{if(o.clientValidation!==false){this.failureType=Ext.form.Action.CLIENT_INVALID;this.form.afterAction(this,false)}}},success:function(_13){var _14=this.processResponse(_13);if(_14===true||_14.success){this.form.afterAction(this,true);return}if(_14.errors){this.form.markInvalid(_14.errors);this.failureType=Ext.form.Action.SERVER_INVALID}this.form.afterAction(this,false)},handleResponse:function(_15){if(this.form.errorReader){var rs=this.form.errorReader.read(_15);var _17=[];if(rs.records){for(var i=0,len=rs.records.length;i&lt;len;i++){var r=rs.records[i];_17[i]=r.data}}if(_17.length&lt;1){_17=null}return{success:rs.success,errors:_17}}return Ext.decode(_15.responseText)}});Ext.form.Action.Load=function(_1b,_1c){Ext.form.Action.Load.superclass.constructor.call(this,_1b,_1c);this.reader=this.form.reader};Ext.extend(Ext.form.Action.Load,Ext.form.Action,{type:&quot;load&quot;,run:function(){Ext.Ajax.request(Ext.apply(this.createCallback(this.options),{method:this.getMethod(),url:this.getUrl(false),headers:this.options.headers,params:this.getParams()}))},success:function(_1d){var _1e=this.processResponse(_1d);
-if(_1e===true||!_1e.success||!_1e.data){this.failureType=Ext.form.Action.LOAD_FAILURE;this.form.afterAction(this,false);return}this.form.clearInvalid();this.form.setValues(_1e.data);this.form.afterAction(this,true)},handleResponse:function(_1f){if(this.form.reader){var rs=this.form.reader.read(_1f);var _21=rs.records&amp;&amp;rs.records[0]?rs.records[0].data:null;return{success:rs.success,data:_21}}return Ext.decode(_1f.responseText)}});Ext.form.Action.ACTION_TYPES={load:Ext.form.Action.Load,submit:Ext.form.Action.Submit};Ext.form.VTypes=function(){var _1=/^[a-zA-Z_]+$/;var _2=/^[a-zA-Z0-9_]+$/;var _3=/^([\w]+)(\.[\w]+)*@([\w\-]+\.){1,5}([A-Za-z]){2,4}$/;var _4=/(((https?)|(ftp)):\/\/([\-\w]+\.)+\w{2,3}(\/[%\-\w]+(\.\w{2,})?)*(([\w\-\.\?\\\/+@&amp;#;`~=%!]*)(\.\w{2,})?)*\/?)/i;return{email:function(v){return _3.test(v)},emailText:'This field should be an e-mail address in the format &quot;user@domain.com&quot;',emailMask:/[a-z0-9_\.\-@]/i,url:function(v){return _4.test(v)},urlText:'This field should be a URL in the format &quot;http://www.domain.com&quot;',alpha:function(v){return _1.test(v)},alphaText:&quot;This field should only contain letters and _&quot;,alphaMask:/[a-z_]/i,alphanum:function(v){return _2.test(v)},alphanumText:&quot;This field should only contain letters, numbers and _&quot;,alphanumMask:/[a-z0-9_]/i}}();Ext.grid.GridPanel=Ext.extend(Ext.Panel,{ddText:&quot;{0} selected row{1}&quot;,minColumnWidth:25,trackMouseOver:true,enableDragDrop:false,enableColumnMove:true,enableColumnHide:true,enableHdMenu:true,stripeRows:false,autoExpandColumn:false,autoExpandMin:50,autoExpandMax:1000,view:null,loadMask:false,deferRowRender:true,rendered:false,viewReady:false,stateEvents:[&quot;columnmove&quot;,&quot;columnresize&quot;,&quot;sortchange&quot;],initComponent:function(){Ext.grid.GridPanel.superclass.initComponent.call(this);this.autoScroll=false;this.autoWidth=false;if(Ext.isArray(this.columns)){this.colModel=new Ext.grid.ColumnModel(this.columns);delete this.columns}if(this.ds){this.store=this.ds;delete this.ds}if(this.cm){this.colModel=this.cm;delete this.cm}if(this.sm){this.selModel=this.sm;delete this.sm}this.store=Ext.StoreMgr.lookup(this.store);this.addEvents(&quot;click&quot;,&quot;dblclick&quot;,&quot;contextmenu&quot;,&quot;mousedown&quot;,&quot;mouseup&quot;,&quot;mouseover&quot;,&quot;mouseout&quot;,&quot;keypress&quot;,&quot;keydown&quot;,&quot;cellmousedown&quot;,&quot;rowmousedown&quot;,&quot;headermousedown&quot;,&quot;cellclick&quot;,&quot;celldblclick&quot;,&quot;rowclick&quot;,&quot;rowdblclick&quot;,&quot;headerclick&quot;,&quot;headerdblclick&quot;,&quot;rowcontextmenu&quot;,&quot;cellcontextmenu&quot;,&quot;headercontextmenu&quot;,&quot;bodyscroll&quot;,&quot;columnresize&quot;,&quot;columnmove&quot;,&quot;sortchange&quot;)},onRender:function(ct,_2){Ext.grid.GridPanel.superclass.onRender.apply(this,arguments);var c=this.body;this.el.addClass(&quot;x-grid-panel&quot;);var _4=this.getView();_4.init(this);c.on(&quot;mousedown&quot;,this.onMouseDown,this);c.on(&quot;click&quot;,this.onClick,this);c.on(&quot;dblclick&quot;,this.onDblClick,this);c.on(&quot;contextmenu&quot;,this.onContextMenu,this);c.on(&quot;keydown&quot;,this.onKeyDown,this);this.relayEvents(c,[&quot;mousedown&quot;,&quot;mouseup&quot;,&quot;mouseover&quot;,&quot;mouseout&quot;,&quot;keypress&quot;]);this.getSelectionModel().init(this);this.view.render()},initEvents:function(){Ext.grid.GridPanel.superclass.initEvents.call(this);if(this.loadMask){this.loadMask=new Ext.LoadMask(this.bwrap,Ext.apply({store:this.store},this.loadMask))}},initStateEvents:function(){Ext.grid.GridPanel.superclass.initStateEvents.call(this);this.colModel.on(&quot;hiddenchange&quot;,this.saveState,this,{delay:100})},applyState:function(_5){var cm=this.colModel;var cs=_5.columns;if(cs){for(var i=0,_9=cs.length;i&lt;_9;i++){var s=cs[i];var c=cm.getColumnById(s.id);if(c){c.hidden=s.hidden;c.width=s.width;var _c=cm.getIndexById(s.id);if(_c!=i){cm.moveColumn(_c,i)}}}}if(_5.sort){this.store[this.store.remoteSort?&quot;setDefaultSort&quot;:&quot;sort&quot;](_5.sort.field,_5.sort.direction)}},getState:function(){var o={columns:[]};for(var i=0,c;c=this.colModel.config[i];i++){o.columns[i]={id:c.id,width:c.width};if(c.hidden){o.columns[i].hidden=true}}var ss=this.store.getSortState();if(ss){o.sort=ss}return o},afterRender:function(){Ext.grid.GridPanel.superclass.afterRender.call(this);this.view.layout();if(this.deferRowRender){this.view.afterRender.defer(10,this.view)}else{this.view.afterRender()}this.viewReady=true},reconfigure:function(_11,_12){if(this.loadMask){this.loadMask.destroy();this.loadMask=new Ext.LoadMask(this.bwrap,Ext.apply({},{store:_11},this.initialConfig.loadMask))}this.view.bind(_11,_12);this.store=_11;this.colModel=_12;if(this.rendered){this.view.refresh(true)}},onKeyDown:function(e){this.fireEvent(&quot;keydown&quot;,e)},onDestroy:function(){if(this.rendered){if(this.loadMask){this.loadMask.destroy()}var c=this.body;c.removeAllListeners();this.view.destroy();c.update(&quot;&quot;)}this.colModel.purgeListeners();Ext.grid.GridPanel.superclass.onDestroy.call(this)},processEvent:function(_15,e){this.fireEvent(_15,e);var t=e.getTarget();var v=this.view;var _19=v.findHeaderIndex(t);if(_19!==false){this.fireEvent(&quot;header&quot;+_15,this,_19,e)}else{var row=v.findRowIndex(t);var _1b=v.findCellIndex(t);if(row!==false){this.fireEvent(&quot;row&quot;+_15,this,row,e);if(_1b!==false){this.fireEvent(&quot;cell&quot;+_15,this,row,_1b,e)}}}},onClick:function(e){this.processEvent(&quot;click&quot;,e)},onMouseDown:function(e){this.processEvent(&quot;mousedown&quot;,e)},onContextMenu:function(e,t){this.processEvent(&quot;contextmenu&quot;,e)},onDblClick:function(e){this.processEvent(&quot;dblclick&quot;,e)},walkCells:function(row,col,_23,fn,_25){var cm=this.colModel,_27=cm.getColumnCount();var ds=this.store,_29=ds.getCount(),_2a=true;if(_23&lt;0){if(col&lt;0){row--;_2a=false}while(row&gt;=0){if(!_2a){col=_27-1}_2a=false;while(col&gt;=0){if(fn.call(_25||this,row,col,cm)===true){return[row,col]}col--}row--}}else{if(col&gt;=_27){row++;_2a=false}while(row&lt;_29){if(!_2a){col=0}_2a=false;while(col&lt;_27){if(fn.call(_25||this,row,col,cm)===true){return[row,col]}col++}row++}}return null},getSelections:function(){return this.selModel.getSelections()},onResize:function(){Ext.grid.GridPanel.superclass.onResize.apply(this,arguments);if(this.viewReady){this.view.layout()}},getGridEl:function(){return this.body},stopEditing:Ext.emptyFn,getSelectionModel:function(){if(!this.selModel){this.selModel=new Ext.grid.RowSelectionModel(this.disableSelection?{selectRow:Ext.emptyFn}:null)}return this.selModel},getStore:function(){return this.store},getColumnModel:function(){return this.colModel},getView:function(){if(!this.view){this.view=new Ext.grid.GridView(this.viewConfig)}return this.view},getDragDropText:function(){var _2b=this.selModel.getCount();return String.format(this.ddText,_2b,_2b==1?&quot;&quot;:&quot;s&quot;)}});Ext.reg(&quot;grid&quot;,Ext.grid.GridPanel);Ext.grid.GridView=function(_1){Ext.apply(this,_1);this.addEvents(&quot;beforerowremoved&quot;,&quot;beforerowsinserted&quot;,&quot;beforerefresh&quot;,&quot;rowremoved&quot;,&quot;rowsinserted&quot;,&quot;rowupdated&quot;,&quot;refresh&quot;);Ext.grid.GridView.superclass.constructor.call(this)};Ext.extend(Ext.grid.GridView,Ext.util.Observable,{deferEmptyText:true,scrollOffset:19,autoFill:false,forceFit:false,sortClasses:[&quot;sort-asc&quot;,&quot;sort-desc&quot;],sortAscText:&quot;Sort Ascending&quot;,sortDescText:&quot;Sort Descending&quot;,columnsText:&quot;Columns&quot;,borderWidth:2,tdClass:&quot;x-grid3-cell&quot;,hdCls:&quot;x-grid3-hd&quot;,cellSelectorDepth:4,rowSelectorDepth:10,cellSelector:&quot;td.x-grid3-cell&quot;,rowSelector:&quot;div.x-grid3-row&quot;,initTemplates:function(){var ts=this.templates||{};if(!ts.master){ts.master=new Ext.Template('&lt;div class=&quot;x-grid3&quot; hidefocus=&quot;true&quot;&gt;','&lt;div class=&quot;x-grid3-viewport&quot;&gt;','&lt;div class=&quot;x-grid3-header&quot;&gt;&lt;div class=&quot;x-grid3-header-inner&quot; style=&quot;{ostyle}&quot;&gt;&lt;div class=&quot;x-grid3-header-offset&quot;&gt;{header}&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;x-clear&quot;&gt;&lt;/div&gt;&lt;/div&gt;','&lt;div class=&quot;x-grid3-scroller&quot;&gt;&lt;div class=&quot;x-grid3-body&quot; style=&quot;{bstyle}&quot;&gt;{body}&lt;/div&gt;&lt;a href=&quot;#&quot; class=&quot;x-grid3-focus&quot; tabIndex=&quot;-1&quot;&gt;&lt;/a&gt;&lt;/div&gt;',&quot;&lt;/div&gt;&quot;,'&lt;div class=&quot;x-grid3-resize-marker&quot;&gt;&amp;#160;&lt;/div&gt;','&lt;div class=&quot;x-grid3-resize-proxy&quot;&gt;&amp;#160;&lt;/div&gt;',&quot;&lt;/div&gt;&quot;)}if(!ts.header){ts.header=new Ext.Template('&lt;table border=&quot;0&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; style=&quot;{tstyle}&quot;&gt;','&lt;thead&gt;&lt;tr class=&quot;x-grid3-hd-row&quot;&gt;{cells}&lt;/tr&gt;&lt;/thead&gt;',&quot;&lt;/table&gt;&quot;)}if(!ts.hcell){ts.hcell=new Ext.Template('&lt;td class=&quot;x-grid3-hd x-grid3-cell x-grid3-td-{id} {css}&quot; style=&quot;{style}&quot;&gt;&lt;div {tooltip} {attr} class=&quot;x-grid3-hd-inner x-grid3-hd-{id}&quot; unselectable=&quot;on&quot; style=&quot;{istyle}&quot;&gt;',this.grid.enableHdMenu?'&lt;a class=&quot;x-grid3-hd-btn&quot; href=&quot;#&quot;&gt;&lt;/a&gt;':&quot;&quot;,'{value}&lt;img class=&quot;x-grid3-sort-icon&quot; src=&quot;',Ext.BLANK_IMAGE_URL,'&quot; /&gt;',&quot;&lt;/div&gt;&lt;/td&gt;&quot;)
-}if(!ts.body){ts.body=new Ext.Template(&quot;{rows}&quot;)}if(!ts.row){ts.row=new Ext.Template('&lt;div class=&quot;x-grid3-row {alt}&quot; style=&quot;{tstyle}&quot;&gt;&lt;table class=&quot;x-grid3-row-table&quot; border=&quot;0&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; style=&quot;{tstyle}&quot;&gt;',&quot;&lt;tbody&gt;&lt;tr&gt;{cells}&lt;/tr&gt;&quot;,(this.enableRowBody?'&lt;tr class=&quot;x-grid3-row-body-tr&quot; style=&quot;{bodyStyle}&quot;&gt;&lt;td colspan=&quot;{cols}&quot; class=&quot;x-grid3-body-cell&quot; tabIndex=&quot;0&quot; hidefocus=&quot;on&quot;&gt;&lt;div class=&quot;x-grid3-row-body&quot;&gt;{body}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;':&quot;&quot;),&quot;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&quot;)}if(!ts.cell){ts.cell=new Ext.Template('&lt;td class=&quot;x-grid3-col x-grid3-cell x-grid3-td-{id} {css}&quot; style=&quot;{style}&quot; tabIndex=&quot;0&quot; {cellAttr}&gt;','&lt;div class=&quot;x-grid3-cell-inner x-grid3-col-{id}&quot; unselectable=&quot;on&quot; {attr}&gt;{value}&lt;/div&gt;',&quot;&lt;/td&gt;&quot;)}for(var k in ts){var t=ts[k];if(t&amp;&amp;typeof t.compile==&quot;function&quot;&amp;&amp;!t.compiled){t.disableFormats=true;t.compile()}}this.templates=ts;this.colRe=new RegExp(&quot;x-grid3-td-([^\\s]+)&quot;,&quot;&quot;)},fly:function(el){if(!this._flyweight){this._flyweight=new Ext.Element.Flyweight(document.body)}this._flyweight.dom=el;return this._flyweight},getEditorParent:function(){return this.scroller.dom},initElements:function(){var E=Ext.Element;var el=this.grid.getGridEl().dom.firstChild;var cs=el.childNodes;this.el=new E(el);this.mainWrap=new E(cs[0]);this.mainHd=new E(this.mainWrap.dom.firstChild);if(this.grid.hideHeaders){this.mainHd.setDisplayed(false)}this.innerHd=this.mainHd.dom.firstChild;this.scroller=new E(this.mainWrap.dom.childNodes[1]);if(this.forceFit){this.scroller.setStyle(&quot;overflow-x&quot;,&quot;hidden&quot;)}this.mainBody=new E(this.scroller.dom.firstChild);this.focusEl=new E(this.scroller.dom.childNodes[1]);this.focusEl.swallowEvent(&quot;click&quot;,true);this.resizeMarker=new E(cs[1]);this.resizeProxy=new E(cs[2])},getRows:function(){return this.hasRows()?this.mainBody.dom.childNodes:[]},findCell:function(el){if(!el){return false}return this.fly(el).findParent(this.cellSelector,this.cellSelectorDepth)},findCellIndex:function(el,_b){var _c=this.findCell(el);if(_c&amp;&amp;(!_b||this.fly(_c).hasClass(_b))){return this.getCellIndex(_c)}return false},getCellIndex:function(el){if(el){var m=el.className.match(this.colRe);if(m&amp;&amp;m[1]){return this.cm.getIndexById(m[1])}}return false},findHeaderCell:function(el){var _10=this.findCell(el);return _10&amp;&amp;this.fly(_10).hasClass(this.hdCls)?_10:null},findHeaderIndex:function(el){return this.findCellIndex(el,this.hdCls)},findRow:function(el){if(!el){return false}return this.fly(el).findParent(this.rowSelector,this.rowSelectorDepth)},findRowIndex:function(el){var r=this.findRow(el);return r?r.rowIndex:false},getRow:function(row){return this.getRows()[row]},getCell:function(row,col){return this.getRow(row).getElementsByTagName(&quot;td&quot;)[col]},getHeaderCell:function(_18){return this.mainHd.dom.getElementsByTagName(&quot;td&quot;)[_18]},addRowClass:function(row,cls){var r=this.getRow(row);if(r){this.fly(r).addClass(cls)}},removeRowClass:function(row,cls){var r=this.getRow(row);if(r){this.fly(r).removeClass(cls)}},removeRow:function(row){Ext.removeNode(this.getRow(row));this.syncFocusEl(row)},removeRows:function(_20,_21){var bd=this.mainBody.dom;for(var _23=_20;_23&lt;=_21;_23++){Ext.removeNode(bd.childNodes[_20])}this.syncFocusEl(_20)},getScrollState:function(){var sb=this.scroller.dom;return{left:sb.scrollLeft,top:sb.scrollTop}},restoreScroll:function(_25){var sb=this.scroller.dom;sb.scrollLeft=_25.left;sb.scrollTop=_25.top},scrollToTop:function(){this.scroller.dom.scrollTop=0;this.scroller.dom.scrollLeft=0},syncScroll:function(){this.syncHeaderScroll();var mb=this.scroller.dom;this.grid.fireEvent(&quot;bodyscroll&quot;,mb.scrollLeft,mb.scrollTop)},syncHeaderScroll:function(){var mb=this.scroller.dom;this.innerHd.scrollLeft=mb.scrollLeft;this.innerHd.scrollLeft=mb.scrollLeft},updateSortIcon:function(col,dir){var sc=this.sortClasses;var hds=this.mainHd.select(&quot;td&quot;).removeClass(sc);hds.item(col).addClass(sc[dir==&quot;DESC&quot;?1:0])},updateAllColumnWidths:function(){var tw=this.getTotalWidth();var _2e=this.cm.getColumnCount();var ws=[];for(var i=0;i&lt;_2e;i++){ws[i]=this.getColumnWidth(i)}this.innerHd.firstChild.style.width=this.getOffsetWidth();this.innerHd.firstChild.firstChild.style.width=tw;this.mainBody.dom.style.width=tw;for(var i=0;i&lt;_2e;i++){var hd=this.getHeaderCell(i);hd.style.width=ws[i]}var ns=this.getRows(),row,_34;for(var i=0,len=ns.length;i&lt;len;i++){row=ns[i];row.style.width=tw;if(row.firstChild){row.firstChild.style.width=tw;_34=row.firstChild.rows[0];for(var j=0;j&lt;_2e;j++){_34.childNodes[j].style.width=ws[j]}}}this.onAllColumnWidthsUpdated(ws,tw)},updateColumnWidth:function(col,_38){var w=this.getColumnWidth(col);var tw=this.getTotalWidth();this.innerHd.firstChild.style.width=this.getOffsetWidth();this.innerHd.firstChild.firstChild.style.width=tw;this.mainBody.dom.style.width=tw;var hd=this.getHeaderCell(col);hd.style.width=w;var ns=this.getRows(),row;for(var i=0,len=ns.length;i&lt;len;i++){row=ns[i];row.style.width=tw;if(row.firstChild){row.firstChild.style.width=tw;row.firstChild.rows[0].childNodes[col].style.width=w}}this.onColumnWidthUpdated(col,w,tw)},updateColumnHidden:function(col,_41){var tw=this.getTotalWidth();this.innerHd.firstChild.style.width=this.getOffsetWidth();this.innerHd.firstChild.firstChild.style.width=tw;this.mainBody.dom.style.width=tw;var _43=_41?&quot;none&quot;:&quot;&quot;;var hd=this.getHeaderCell(col);hd.style.display=_43;var ns=this.getRows(),row;for(var i=0,len=ns.length;i&lt;len;i++){row=ns[i];row.style.width=tw;if(row.firstChild){row.firstChild.style.width=tw;row.firstChild.rows[0].childNodes[col].style.display=_43}}this.onColumnHiddenUpdated(col,_41,tw);delete this.lastViewWidth;this.layout()},doRender:function(cs,rs,ds,_4c,_4d,_4e){var ts=this.templates,ct=ts.cell,rt=ts.row,_52=_4d-1;var _53=&quot;width:&quot;+this.getTotalWidth()+&quot;;&quot;;var buf=[],cb,c,p={},rp={tstyle:_53},r;for(var j=0,len=rs.length;j&lt;len;j++){r=rs[j];cb=[];var _5c=(j+_4c);for(var i=0;i&lt;_4d;i++){c=cs[i];p.id=c.id;p.css=i==0?&quot;x-grid3-cell-first &quot;:(i==_52?&quot;x-grid3-cell-last &quot;:&quot;&quot;);p.attr=p.cellAttr=&quot;&quot;;p.value=c.renderer(r.data[c.name],p,r,_5c,i,ds);p.style=c.style;if(p.value==undefined||p.value===&quot;&quot;){p.value=&quot;&amp;#160;&quot;}if(r.dirty&amp;&amp;typeof r.modified[c.name]!==&quot;undefined&quot;){p.css+=&quot; x-grid3-dirty-cell&quot;}cb[cb.length]=ct.apply(p)}var alt=[];if(_4e&amp;&amp;((_5c+1)%2==0)){alt[0]=&quot;x-grid3-row-alt&quot;}if(r.dirty){alt[1]=&quot; x-grid3-dirty-row&quot;}rp.cols=_4d;if(this.getRowClass){alt[2]=this.getRowClass(r,_5c,rp,ds)}rp.alt=alt.join(&quot; &quot;);rp.cells=cb.join(&quot;&quot;);buf[buf.length]=rt.apply(rp)}return buf.join(&quot;&quot;)},processRows:function(_5f,_60){if(this.ds.getCount()&lt;1){return}_60=_60||!this.grid.stripeRows;_5f=_5f||0;var _61=this.getRows();var cls=&quot; x-grid3-row-alt &quot;;_61[0].className+=&quot; x-grid3-row-first&quot;;_61[_61.length-1].className+=&quot; x-grid3-row-last&quot;;for(var i=_5f,len=_61.length;i&lt;len;i++){var row=_61[i];row.rowIndex=i;if(!_60){var _66=((i+1)%2==0);var _67=(&quot; &quot;+row.className+&quot; &quot;).indexOf(cls)!=-1;if(_66==_67){continue}if(_66){row.className+=&quot; x-grid3-row-alt&quot;}else{row.className=row.className.replace(&quot;x-grid3-row-alt&quot;,&quot;&quot;)}}}},afterRender:function(){this.mainBody.dom.innerHTML=this.renderRows()||&quot;&amp;nbsp;&quot;;this.processRows(0,true);if(this.deferEmptyText!==true){this.applyEmptyText()}},renderUI:function(){var _68=this.renderHeaders();var _69=this.templates.body.apply({rows:&quot;&amp;nbsp;&quot;});var _6a=this.templates.master.apply({body:_69,header:_68,ostyle:&quot;width:&quot;+this.getOffsetWidth()+&quot;;&quot;,bstyle:&quot;width:&quot;+this.getTotalWidth()+&quot;;&quot;});var g=this.grid;g.getGridEl().dom.innerHTML=_6a;this.initElements();Ext.fly(this.innerHd).on(&quot;click&quot;,this.handleHdDown,this);this.mainHd.on(&quot;mouseover&quot;,this.handleHdOver,this);this.mainHd.on(&quot;mouseout&quot;,this.handleHdOut,this);this.mainHd.on(&quot;mousemove&quot;,this.handleHdMove,this);this.scroller.on(&quot;scroll&quot;,this.syncScroll,this);if(g.enableColumnResize!==false){this.splitZone=new Ext.grid.GridView.SplitDragZone(g,this.mainHd.dom)}if(g.enableColumnMove){this.columnDrag=new Ext.grid.GridView.ColumnDragZone(g,this.innerHd);this.columnDrop=new Ext.grid.HeaderDropZone(g,this.mainHd.dom)}if(g.enableHdMenu!==false){if(g.enableColumnHide!==false){this.colMenu=new Ext.menu.Menu({id:g.id+&quot;-hcols-menu&quot;});
-this.colMenu.on(&quot;beforeshow&quot;,this.beforeColMenuShow,this);this.colMenu.on(&quot;itemclick&quot;,this.handleHdMenuClick,this)}this.hmenu=new Ext.menu.Menu({id:g.id+&quot;-hctx&quot;});this.hmenu.add({id:&quot;asc&quot;,text:this.sortAscText,cls:&quot;xg-hmenu-sort-asc&quot;},{id:&quot;desc&quot;,text:this.sortDescText,cls:&quot;xg-hmenu-sort-desc&quot;});if(g.enableColumnHide!==false){this.hmenu.add(&quot;-&quot;,{id:&quot;columns&quot;,text:this.columnsText,menu:this.colMenu,iconCls:&quot;x-cols-icon&quot;})}this.hmenu.on(&quot;itemclick&quot;,this.handleHdMenuClick,this)}if(g.trackMouseOver){this.mainBody.on(&quot;mouseover&quot;,this.onRowOver,this);this.mainBody.on(&quot;mouseout&quot;,this.onRowOut,this)}if(g.enableDragDrop||g.enableDrag){this.dragZone=new Ext.grid.GridDragZone(g,{ddGroup:g.ddGroup||&quot;GridDD&quot;})}this.updateHeaderSortState()},layout:function(){if(!this.mainBody){return}var g=this.grid;var c=g.getGridEl();var _6e=c.getSize(true);var vw=_6e.width;if(vw&lt;20||_6e.height&lt;20){return}if(g.autoHeight){this.scroller.dom.style.overflow=&quot;visible&quot;;if(Ext.isSafari){this.scroller.dom.style.position=&quot;static&quot;}}else{this.el.setSize(_6e.width,_6e.height);var _70=this.mainHd.getHeight();var vh=_6e.height-(_70);this.scroller.setSize(vw,vh);if(this.innerHd){this.innerHd.style.width=(vw)+&quot;px&quot;}}if(this.forceFit){if(this.lastViewWidth!=vw){this.fitColumns(false,false);this.lastViewWidth=vw}}else{this.autoExpand();this.syncHeaderScroll()}this.onLayout(vw,vh)},onLayout:function(vw,vh){},onColumnWidthUpdated:function(col,w,tw){},onAllColumnWidthsUpdated:function(ws,tw){},onColumnHiddenUpdated:function(col,_7a,tw){},updateColumnText:function(col,_7d){},afterMove:function(_7e){},init:function(_7f){this.grid=_7f;this.initTemplates();this.initData(_7f.store,_7f.colModel);this.initUI(_7f)},getColumnId:function(_80){return this.cm.getColumnId(_80)},getOffsetWidth:function(){return(this.cm.getTotalWidth()+this.scrollOffset)+&quot;px&quot;},renderHeaders:function(){var cm=this.cm,ts=this.templates;var ct=ts.hcell;var cb=[],sb=[],p={};var len=cm.getColumnCount();var _88=len-1;for(var i=0;i&lt;len;i++){p.id=cm.getColumnId(i);p.value=cm.getColumnHeader(i)||&quot;&quot;;p.style=this.getColumnStyle(i,true);p.tooltip=this.getColumnTooltip(i);p.css=i==0?&quot;x-grid3-cell-first &quot;:(i==_88?&quot;x-grid3-cell-last &quot;:&quot;&quot;);if(cm.config[i].align==&quot;right&quot;){p.istyle=&quot;padding-right:16px&quot;}else{delete p.istyle}cb[cb.length]=ct.apply(p)}return ts.header.apply({cells:cb.join(&quot;&quot;),tstyle:&quot;width:&quot;+this.getTotalWidth()+&quot;;&quot;})},getColumnTooltip:function(i){var tt=this.cm.getColumnTooltip(i);if(tt){if(Ext.QuickTips.isEnabled()){return'ext:qtip=&quot;'+tt+'&quot;'}else{return'title=&quot;'+tt+'&quot;'}}return&quot;&quot;},beforeUpdate:function(){this.grid.stopEditing(true)},updateHeaders:function(){this.innerHd.firstChild.innerHTML=this.renderHeaders()},focusRow:function(row){this.focusCell(row,0,false)},focusCell:function(row,col,_8f){this.syncFocusEl(this.ensureVisible(row,col,_8f));if(Ext.isGecko){this.focusEl.focus()}else{this.focusEl.focus.defer(1,this.focusEl)}},resolveCell:function(row,col,_92){if(typeof row!=&quot;number&quot;){row=row.rowIndex}if(!this.ds){return null}if(row&lt;0||row&gt;=this.ds.getCount()){return null}col=(col!==undefined?col:0);var _93=this.getRow(row),_94;if(!(_92===false&amp;&amp;col===0)){while(this.cm.isHidden(col)){col++}_94=this.getCell(row,col)}return{row:_93,cell:_94}},getResolvedXY:function(_95){if(!_95){return null}var s=this.scroller.dom,c=_95.cell,r=_95.row;return c?Ext.fly(c).getXY():[this.el.getX(),Ext.fly(r).getY()]},syncFocusEl:function(row,col,_9b){var xy=row;if(!Ext.isArray(xy)){row=Math.min(row,Math.max(0,this.getRows().length-1));xy=this.getResolvedXY(this.resolveCell(row,col,_9b))}this.focusEl.setXY(xy||this.scroller.getXY())},ensureVisible:function(row,col,_9f){var _a0=this.resolveCell(row,col,_9f);if(!_a0||!_a0.row){return}var _a1=_a0.row,_a2=_a0.cell;var c=this.scroller.dom;var _a4=0;var p=_a1,_a6=this.el.dom;while(p&amp;&amp;p!=_a6){_a4+=p.offsetTop;p=p.offsetParent}_a4-=this.mainHd.dom.offsetHeight;var _a7=_a4+_a1.offsetHeight;var ch=c.clientHeight;var _a6=parseInt(c.scrollTop,10);var _a9=_a6+ch;if(_a4&lt;_a6){c.scrollTop=_a4}else{if(_a7&gt;_a9){c.scrollTop=_a7-ch}}if(_9f!==false){var _aa=parseInt(_a2.offsetLeft,10);var _ab=_aa+_a2.offsetWidth;var _ac=parseInt(c.scrollLeft,10);var _ad=_ac+c.clientWidth;if(_aa&lt;_ac){c.scrollLeft=_aa}else{if(_ab&gt;_ad){c.scrollLeft=_ab-c.clientWidth}}}return this.getResolvedXY(_a0)},insertRows:function(dm,_af,_b0,_b1){if(!_b1&amp;&amp;_af===0&amp;&amp;_b0&gt;=dm.getCount()-1){this.refresh()}else{if(!_b1){this.fireEvent(&quot;beforerowsinserted&quot;,this,_af,_b0)}var _b2=this.renderRows(_af,_b0);var _b3=this.getRow(_af);if(_b3){Ext.DomHelper.insertHtml(&quot;beforeBegin&quot;,_b3,_b2)}else{Ext.DomHelper.insertHtml(&quot;beforeEnd&quot;,this.mainBody.dom,_b2)}if(!_b1){this.fireEvent(&quot;rowsinserted&quot;,this,_af,_b0);this.processRows(_af)}}this.syncFocusEl(_af)},deleteRows:function(dm,_b5,_b6){if(dm.getRowCount()&lt;1){this.refresh()}else{this.fireEvent(&quot;beforerowsdeleted&quot;,this,_b5,_b6);this.removeRows(_b5,_b6);this.processRows(_b5);this.fireEvent(&quot;rowsdeleted&quot;,this,_b5,_b6)}},getColumnStyle:function(col,_b8){var _b9=!_b8?(this.cm.config[col].css||&quot;&quot;):&quot;&quot;;_b9+=&quot;width:&quot;+this.getColumnWidth(col)+&quot;;&quot;;if(this.cm.isHidden(col)){_b9+=&quot;display:none;&quot;}var _ba=this.cm.config[col].align;if(_ba){_b9+=&quot;text-align:&quot;+_ba+&quot;;&quot;}return _b9},getColumnWidth:function(col){var w=this.cm.getColumnWidth(col);if(typeof w==&quot;number&quot;){return(Ext.isBorderBox?w:(w-this.borderWidth&gt;0?w-this.borderWidth:0))+&quot;px&quot;}return w},getTotalWidth:function(){return this.cm.getTotalWidth()+&quot;px&quot;},fitColumns:function(_bd,_be,_bf){var cm=this.cm,_c1,_c2,i;var tw=cm.getTotalWidth(false);var aw=this.grid.getGridEl().getWidth(true)-this.scrollOffset;if(aw&lt;20){return}var _c6=aw-tw;if(_c6===0){return false}var vc=cm.getColumnCount(true);var ac=vc-(typeof _bf==&quot;number&quot;?1:0);if(ac===0){ac=1;_bf=undefined}var _c9=cm.getColumnCount();var _ca=[];var _cb=0;var _cc=0;var w;for(i=0;i&lt;_c9;i++){if(!cm.isHidden(i)&amp;&amp;!cm.isFixed(i)&amp;&amp;i!==_bf){w=cm.getColumnWidth(i);_ca.push(i);_cb=i;_ca.push(w);_cc+=w}}var _ce=(aw-cm.getTotalWidth())/_cc;while(_ca.length){w=_ca.pop();i=_ca.pop();cm.setColumnWidth(i,Math.max(this.grid.minColumnWidth,Math.floor(w+w*_ce)),true)}if((tw=cm.getTotalWidth(false))&gt;aw){var _cf=ac!=vc?_bf:_cb;cm.setColumnWidth(_cf,Math.max(1,cm.getColumnWidth(_cf)-(tw-aw)),true)}if(_bd!==true){this.updateAllColumnWidths()}return true},autoExpand:function(_d0){var g=this.grid,cm=this.cm;if(!this.userResized&amp;&amp;g.autoExpandColumn){var tw=cm.getTotalWidth(false);var aw=this.grid.getGridEl().getWidth(true)-this.scrollOffset;if(tw!=aw){var ci=cm.getIndexById(g.autoExpandColumn);var _d6=cm.getColumnWidth(ci);var cw=Math.min(Math.max(((aw-tw)+_d6),g.autoExpandMin),g.autoExpandMax);if(cw!=_d6){cm.setColumnWidth(ci,cw,true);if(_d0!==true){this.updateColumnWidth(ci,cw)}}}}},getColumnData:function(){var cs=[],cm=this.cm,_da=cm.getColumnCount();for(var i=0;i&lt;_da;i++){var _dc=cm.getDataIndex(i);cs[i]={name:(typeof _dc==&quot;undefined&quot;?this.ds.fields.get(i).name:_dc),renderer:cm.getRenderer(i),id:cm.getColumnId(i),style:this.getColumnStyle(i)}}return cs},renderRows:function(_dd,_de){var g=this.grid,cm=g.colModel,ds=g.store,_e2=g.stripeRows;var _e3=cm.getColumnCount();if(ds.getCount()&lt;1){return&quot;&quot;}var cs=this.getColumnData();_dd=_dd||0;_de=typeof _de==&quot;undefined&quot;?ds.getCount()-1:_de;var rs=ds.getRange(_dd,_de);return this.doRender(cs,rs,ds,_dd,_e3,_e2)},renderBody:function(){var _e6=this.renderRows()||&quot;&amp;nbsp;&quot;;return this.templates.body.apply({rows:_e6})},refreshRow:function(_e7){var ds=this.ds,_e9;if(typeof _e7==&quot;number&quot;){_e9=_e7;_e7=ds.getAt(_e9)}else{_e9=ds.indexOf(_e7)}var cls=[];this.insertRows(ds,_e9,_e9,true);this.getRow(_e9).rowIndex=_e9;this.onRemove(ds,_e7,_e9+1,true);this.fireEvent(&quot;rowupdated&quot;,this,_e9,_e7)},refresh:function(_eb){this.fireEvent(&quot;beforerefresh&quot;,this);this.grid.stopEditing(true);var _ec=this.renderBody();this.mainBody.update(_ec);if(_eb===true){this.updateHeaders();this.updateHeaderSortState()}this.processRows(0,true);this.layout();this.applyEmptyText();this.fireEvent(&quot;refresh&quot;,this)},applyEmptyText:function(){if(this.emptyText&amp;&amp;!this.hasRows()){this.mainBody.update('&lt;div class=&quot;x-grid-empty&quot;&gt;'+this.emptyText+&quot;&lt;/div&gt;&quot;)
-}},updateHeaderSortState:function(){var _ed=this.ds.getSortState();if(!_ed){return}if(!this.sortState||(this.sortState.field!=_ed.field||this.sortState.direction!=_ed.direction)){this.grid.fireEvent(&quot;sortchange&quot;,this.grid,_ed)}this.sortState=_ed;var _ee=this.cm.findColumnIndex(_ed.field);if(_ee!=-1){var _ef=_ed.direction;this.updateSortIcon(_ee,_ef)}},destroy:function(){if(this.colMenu){Ext.menu.MenuMgr.unregister(this.colMenu);this.colMenu.destroy();delete this.colMenu}if(this.hmenu){Ext.menu.MenuMgr.unregister(this.hmenu);this.hmenu.destroy();delete this.hmenu}if(this.grid.enableColumnMove){var dds=Ext.dd.DDM.ids[&quot;gridHeader&quot;+this.grid.getGridEl().id];if(dds){for(var dd in dds){if(!dds[dd].config.isTarget&amp;&amp;dds[dd].dragElId){var _f2=dds[dd].dragElId;dds[dd].unreg();Ext.get(_f2).remove()}else{if(dds[dd].config.isTarget){dds[dd].proxyTop.remove();dds[dd].proxyBottom.remove();dds[dd].unreg()}}if(Ext.dd.DDM.locationCache[dd]){delete Ext.dd.DDM.locationCache[dd]}}delete Ext.dd.DDM.ids[&quot;gridHeader&quot;+this.grid.getGridEl().id]}}if(this.dragZone){this.dragZone.unreg()}Ext.fly(this.innerHd).removeAllListeners();Ext.removeNode(this.innerHd);Ext.destroy(this.resizeMarker,this.resizeProxy,this.focusEl,this.mainBody,this.scroller,this.mainHd,this.mainWrap,this.dragZone,this.splitZone,this.columnDrag,this.columnDrop);this.initData(null,null);Ext.EventManager.removeResizeListener(this.onWindowResize,this);this.purgeListeners()},onDenyColumnHide:function(){},render:function(){if(this.autoFill){var ct=this.grid.ownerCt;if(ct&amp;&amp;ct.getLayout()){ct.on(&quot;afterlayout&quot;,function(){this.fitColumns(true,true);this.updateHeaders()},this,{single:true})}else{this.fitColumns(true,true)}}else{if(this.forceFit){this.fitColumns(true,false)}else{if(this.grid.autoExpandColumn){this.autoExpand(true)}}}this.renderUI()},initData:function(ds,cm){if(this.ds){this.ds.un(&quot;load&quot;,this.onLoad,this);this.ds.un(&quot;datachanged&quot;,this.onDataChange,this);this.ds.un(&quot;add&quot;,this.onAdd,this);this.ds.un(&quot;remove&quot;,this.onRemove,this);this.ds.un(&quot;update&quot;,this.onUpdate,this);this.ds.un(&quot;clear&quot;,this.onClear,this)}if(ds){ds.on(&quot;load&quot;,this.onLoad,this);ds.on(&quot;datachanged&quot;,this.onDataChange,this);ds.on(&quot;add&quot;,this.onAdd,this);ds.on(&quot;remove&quot;,this.onRemove,this);ds.on(&quot;update&quot;,this.onUpdate,this);ds.on(&quot;clear&quot;,this.onClear,this)}this.ds=ds;if(this.cm){this.cm.un(&quot;configchange&quot;,this.onColConfigChange,this);this.cm.un(&quot;widthchange&quot;,this.onColWidthChange,this);this.cm.un(&quot;headerchange&quot;,this.onHeaderChange,this);this.cm.un(&quot;hiddenchange&quot;,this.onHiddenChange,this);this.cm.un(&quot;columnmoved&quot;,this.onColumnMove,this);this.cm.un(&quot;columnlockchange&quot;,this.onColumnLock,this)}if(cm){delete this.lastViewWidth;cm.on(&quot;configchange&quot;,this.onColConfigChange,this);cm.on(&quot;widthchange&quot;,this.onColWidthChange,this);cm.on(&quot;headerchange&quot;,this.onHeaderChange,this);cm.on(&quot;hiddenchange&quot;,this.onHiddenChange,this);cm.on(&quot;columnmoved&quot;,this.onColumnMove,this);cm.on(&quot;columnlockchange&quot;,this.onColumnLock,this)}this.cm=cm},onDataChange:function(){this.refresh();this.updateHeaderSortState();this.syncFocusEl(0)},onClear:function(){this.refresh();this.syncFocusEl(0)},onUpdate:function(ds,_f7){this.refreshRow(_f7)},onAdd:function(ds,_f9,_fa){this.insertRows(ds,_fa,_fa+(_f9.length-1))},onRemove:function(ds,_fc,_fd,_fe){if(_fe!==true){this.fireEvent(&quot;beforerowremoved&quot;,this,_fd,_fc)}this.removeRow(_fd);if(_fe!==true){this.processRows(_fd);this.applyEmptyText();this.fireEvent(&quot;rowremoved&quot;,this,_fd,_fc)}},onLoad:function(){this.scrollToTop()},onColWidthChange:function(cm,col,_101){this.updateColumnWidth(col,_101)},onHeaderChange:function(cm,col,text){this.updateHeaders()},onHiddenChange:function(cm,col,_107){this.updateColumnHidden(col,_107)},onColumnMove:function(cm,_109,_10a){this.indexMap=null;var s=this.getScrollState();this.refresh(true);this.restoreScroll(s);this.afterMove(_10a)},onColConfigChange:function(){delete this.lastViewWidth;this.indexMap=null;this.refresh(true)},initUI:function(grid){grid.on(&quot;headerclick&quot;,this.onHeaderClick,this)},initEvents:function(){},onHeaderClick:function(g,_10e){if(this.headersDisabled||!this.cm.isSortable(_10e)){return}g.stopEditing(true);g.store.sort(this.cm.getDataIndex(_10e))},onRowOver:function(e,t){var row;if((row=this.findRowIndex(t))!==false){this.addRowClass(row,&quot;x-grid3-row-over&quot;)}},onRowOut:function(e,t){var row;if((row=this.findRowIndex(t))!==false&amp;&amp;!e.within(this.getRow(row),true)){this.removeRowClass(row,&quot;x-grid3-row-over&quot;)}},handleWheel:function(e){e.stopPropagation()},onRowSelect:function(row){this.addRowClass(row,&quot;x-grid3-row-selected&quot;)},onRowDeselect:function(row){this.removeRowClass(row,&quot;x-grid3-row-selected&quot;)},onCellSelect:function(row,col){var cell=this.getCell(row,col);if(cell){this.fly(cell).addClass(&quot;x-grid3-cell-selected&quot;)}},onCellDeselect:function(row,col){var cell=this.getCell(row,col);if(cell){this.fly(cell).removeClass(&quot;x-grid3-cell-selected&quot;)}},onColumnSplitterMoved:function(i,w){this.userResized=true;var cm=this.grid.colModel;cm.setColumnWidth(i,w,true);if(this.forceFit){this.fitColumns(true,false,i);this.updateAllColumnWidths()}else{this.updateColumnWidth(i,w);this.syncHeaderScroll()}this.grid.fireEvent(&quot;columnresize&quot;,i,w)},handleHdMenuClick:function(item){var _122=this.hdCtxIndex;var cm=this.cm,ds=this.ds;switch(item.id){case&quot;asc&quot;:ds.sort(cm.getDataIndex(_122),&quot;ASC&quot;);break;case&quot;desc&quot;:ds.sort(cm.getDataIndex(_122),&quot;DESC&quot;);break;default:_122=cm.getIndexById(item.id.substr(4));if(_122!=-1){if(item.checked&amp;&amp;cm.getColumnsBy(this.isHideableColumn,this).length&lt;=1){this.onDenyColumnHide();return false}cm.setHidden(_122,item.checked)}}return true},isHideableColumn:function(c){return !c.hidden&amp;&amp;!c.fixed},beforeColMenuShow:function(){var cm=this.cm,_127=cm.getColumnCount();this.colMenu.removeAll();for(var i=0;i&lt;_127;i++){if(cm.config[i].fixed!==true&amp;&amp;cm.config[i].hideable!==false){this.colMenu.add(new Ext.menu.CheckItem({id:&quot;col-&quot;+cm.getColumnId(i),text:cm.getColumnHeader(i),checked:!cm.isHidden(i),hideOnClick:false,disabled:cm.config[i].hideable===false}))}}},handleHdDown:function(e,t){if(Ext.fly(t).hasClass(&quot;x-grid3-hd-btn&quot;)){e.stopEvent();var hd=this.findHeaderCell(t);Ext.fly(hd).addClass(&quot;x-grid3-hd-menu-open&quot;);var _12c=this.getCellIndex(hd);this.hdCtxIndex=_12c;var ms=this.hmenu.items,cm=this.cm;ms.get(&quot;asc&quot;).setDisabled(!cm.isSortable(_12c));ms.get(&quot;desc&quot;).setDisabled(!cm.isSortable(_12c));this.hmenu.on(&quot;hide&quot;,function(){Ext.fly(hd).removeClass(&quot;x-grid3-hd-menu-open&quot;)},this,{single:true});this.hmenu.show(t,&quot;tl-bl?&quot;)}},handleHdOver:function(e,t){var hd=this.findHeaderCell(t);if(hd&amp;&amp;!this.headersDisabled){this.activeHd=hd;this.activeHdIndex=this.getCellIndex(hd);var fly=this.fly(hd);this.activeHdRegion=fly.getRegion();if(!this.cm.isMenuDisabled(this.activeHdIndex)){fly.addClass(&quot;x-grid3-hd-over&quot;);this.activeHdBtn=fly.child(&quot;.x-grid3-hd-btn&quot;);if(this.activeHdBtn){this.activeHdBtn.dom.style.height=(hd.firstChild.offsetHeight-1)+&quot;px&quot;}}}},handleHdMove:function(e,t){if(this.activeHd&amp;&amp;!this.headersDisabled){var hw=this.splitHandleWidth||5;var r=this.activeHdRegion;var x=e.getPageX();var ss=this.activeHd.style;if(x-r.left&lt;=hw&amp;&amp;this.cm.isResizable(this.activeHdIndex-1)){ss.cursor=Ext.isAir?&quot;move&quot;:Ext.isSafari?&quot;e-resize&quot;:&quot;col-resize&quot;}else{if(r.right-x&lt;=(!this.activeHdBtn?hw:2)&amp;&amp;this.cm.isResizable(this.activeHdIndex)){ss.cursor=Ext.isAir?&quot;move&quot;:Ext.isSafari?&quot;w-resize&quot;:&quot;col-resize&quot;}else{ss.cursor=&quot;&quot;}}}},handleHdOut:function(e,t){var hd=this.findHeaderCell(t);if(hd&amp;&amp;(!Ext.isIE||!e.within(hd,true))){this.activeHd=null;this.fly(hd).removeClass(&quot;x-grid3-hd-over&quot;);hd.style.cursor=&quot;&quot;}},hasRows:function(){var fc=this.mainBody.dom.firstChild;return fc&amp;&amp;fc.nodeType==1&amp;&amp;fc.className!=&quot;x-grid-empty&quot;},bind:function(d,c){this.initData(d,c)}});Ext.grid.GridView.SplitDragZone=function(grid,hd){this.grid=grid;this.view=grid.getView();this.marker=this.view.resizeMarker;this.proxy=this.view.resizeProxy;Ext.grid.GridView.SplitDragZone.superclass.constructor.call(this,hd,&quot;gridSplitters&quot;+this.grid.getGridEl().id,{dragElId:Ext.id(this.proxy.dom),resizeFrame:false});
-this.scroll=false;this.hw=this.view.splitHandleWidth||5};Ext.extend(Ext.grid.GridView.SplitDragZone,Ext.dd.DDProxy,{b4StartDrag:function(x,y){this.view.headersDisabled=true;var h=this.view.mainWrap.getHeight();this.marker.setHeight(h);this.marker.show();this.marker.alignTo(this.view.getHeaderCell(this.cellIndex),&quot;tl-tl&quot;,[-2,0]);this.proxy.setHeight(h);var w=this.cm.getColumnWidth(this.cellIndex);var minw=Math.max(w-this.grid.minColumnWidth,0);this.resetConstraints();this.setXConstraint(minw,1000);this.setYConstraint(0,0);this.minX=x-minw;this.maxX=x+1000;this.startPos=x;Ext.dd.DDProxy.prototype.b4StartDrag.call(this,x,y)},handleMouseDown:function(e){var t=this.view.findHeaderCell(e.getTarget());if(t){var xy=this.view.fly(t).getXY(),x=xy[0],y=xy[1];var exy=e.getXY(),ex=exy[0],ey=exy[1];var w=t.offsetWidth,_14f=false;if((ex-x)&lt;=this.hw){_14f=-1}else{if((x+w)-ex&lt;=this.hw){_14f=0}}if(_14f!==false){this.cm=this.grid.colModel;var ci=this.view.getCellIndex(t);if(_14f==-1){if(ci+_14f&lt;0){return}while(this.cm.isHidden(ci+_14f)){--_14f;if(ci+_14f&lt;0){return}}}this.cellIndex=ci+_14f;this.split=t.dom;if(this.cm.isResizable(this.cellIndex)&amp;&amp;!this.cm.isFixed(this.cellIndex)){Ext.grid.GridView.SplitDragZone.superclass.handleMouseDown.apply(this,arguments)}}else{if(this.view.columnDrag){this.view.columnDrag.callHandleMouseDown(e)}}}},endDrag:function(e){this.marker.hide();var v=this.view;var endX=Math.max(this.minX,e.getPageX());var diff=endX-this.startPos;v.onColumnSplitterMoved(this.cellIndex,this.cm.getColumnWidth(this.cellIndex)+diff);setTimeout(function(){v.headersDisabled=false},50)},autoOffset:function(){this.setDelta(0,0)}});Ext.grid.GroupingView=Ext.extend(Ext.grid.GridView,{hideGroupedColumn:false,showGroupName:true,startCollapsed:false,enableGrouping:true,enableGroupingMenu:true,enableNoGroups:true,emptyGroupText:&quot;(None)&quot;,ignoreAdd:false,groupTextTpl:&quot;{text}&quot;,gidSeed:1000,initTemplates:function(){Ext.grid.GroupingView.superclass.initTemplates.call(this);this.state={};var sm=this.grid.getSelectionModel();sm.on(sm.selectRow?&quot;beforerowselect&quot;:&quot;beforecellselect&quot;,this.onBeforeRowSelect,this);if(!this.startGroup){this.startGroup=new Ext.XTemplate('&lt;div id=&quot;{groupId}&quot; class=&quot;x-grid-group {cls}&quot;&gt;','&lt;div id=&quot;{groupId}-hd&quot; class=&quot;x-grid-group-hd&quot; style=&quot;{style}&quot;&gt;&lt;div&gt;',this.groupTextTpl,&quot;&lt;/div&gt;&lt;/div&gt;&quot;,'&lt;div id=&quot;{groupId}-bd&quot; class=&quot;x-grid-group-body&quot;&gt;')}this.startGroup.compile();this.endGroup=&quot;&lt;/div&gt;&lt;/div&gt;&quot;},findGroup:function(el){return Ext.fly(el).up(&quot;.x-grid-group&quot;,this.mainBody.dom)},getGroups:function(){return this.hasRows()?this.mainBody.dom.childNodes:[]},onAdd:function(){if(this.enableGrouping&amp;&amp;!this.ignoreAdd){var ss=this.getScrollState();this.refresh();this.restoreScroll(ss)}else{if(!this.enableGrouping){Ext.grid.GroupingView.superclass.onAdd.apply(this,arguments)}}},onRemove:function(ds,_5,_6,_7){Ext.grid.GroupingView.superclass.onRemove.apply(this,arguments);var g=document.getElementById(_5._groupId);if(g&amp;&amp;g.childNodes[1].childNodes.length&lt;1){Ext.removeNode(g)}this.applyEmptyText()},refreshRow:function(_9){if(this.ds.getCount()==1){this.refresh()}else{this.isUpdating=true;Ext.grid.GroupingView.superclass.refreshRow.apply(this,arguments);this.isUpdating=false}},beforeMenuShow:function(){var _a=this.getGroupField();var g=this.hmenu.items.get(&quot;groupBy&quot;);if(g){g.setDisabled(this.cm.config[this.hdCtxIndex].groupable===false)}var s=this.hmenu.items.get(&quot;showGroups&quot;);if(s){s.setDisabled(!_a&amp;&amp;this.cm.config[this.hdCtxIndex].groupable===false);s.setChecked(!!_a,true)}},renderUI:function(){Ext.grid.GroupingView.superclass.renderUI.call(this);this.mainBody.on(&quot;mousedown&quot;,this.interceptMouse,this);if(this.enableGroupingMenu&amp;&amp;this.hmenu){this.hmenu.add(&quot;-&quot;,{id:&quot;groupBy&quot;,text:this.groupByText,handler:this.onGroupByClick,scope:this,iconCls:&quot;x-group-by-icon&quot;});if(this.enableNoGroups){this.hmenu.add({id:&quot;showGroups&quot;,text:this.showGroupsText,checked:true,checkHandler:this.onShowGroupsClick,scope:this})}this.hmenu.on(&quot;beforeshow&quot;,this.beforeMenuShow,this)}},onGroupByClick:function(){this.grid.store.groupBy(this.cm.getDataIndex(this.hdCtxIndex));this.beforeMenuShow()},onShowGroupsClick:function(mi,_e){if(_e){this.onGroupByClick()}else{this.grid.store.clearGrouping()}},toggleGroup:function(_f,_10){this.grid.stopEditing(true);_f=Ext.getDom(_f);var gel=Ext.fly(_f);_10=_10!==undefined?_10:gel.hasClass(&quot;x-grid-group-collapsed&quot;);this.state[gel.dom.id]=_10;gel[_10?&quot;removeClass&quot;:&quot;addClass&quot;](&quot;x-grid-group-collapsed&quot;)},toggleAllGroups:function(_12){var _13=this.getGroups();for(var i=0,len=_13.length;i&lt;len;i++){this.toggleGroup(_13[i],_12)}},expandAllGroups:function(){this.toggleAllGroups(true)},collapseAllGroups:function(){this.toggleAllGroups(false)},interceptMouse:function(e){var hd=e.getTarget(&quot;.x-grid-group-hd&quot;,this.mainBody);if(hd){e.stopEvent();this.toggleGroup(hd.parentNode)}},getGroup:function(v,r,_1a,_1b,_1c,ds){var g=_1a?_1a(v,{},r,_1b,_1c,ds):String(v);if(g===&quot;&quot;){g=this.cm.config[_1c].emptyGroupText||this.emptyGroupText}return g},getGroupField:function(){return this.grid.store.getGroupState()},renderRows:function(){var _1f=this.getGroupField();var eg=!!_1f;if(this.hideGroupedColumn){var _21=this.cm.findColumnIndex(_1f);if(!eg&amp;&amp;this.lastGroupField!==undefined){this.mainBody.update(&quot;&quot;);this.cm.setHidden(this.cm.findColumnIndex(this.lastGroupField),false);delete this.lastGroupField}else{if(eg&amp;&amp;this.lastGroupField===undefined){this.lastGroupField=_1f;this.cm.setHidden(_21,true)}else{if(eg&amp;&amp;this.lastGroupField!==undefined&amp;&amp;_1f!==this.lastGroupField){this.mainBody.update(&quot;&quot;);var _22=this.cm.findColumnIndex(this.lastGroupField);this.cm.setHidden(_22,false);this.lastGroupField=_1f;this.cm.setHidden(_21,true)}}}}return Ext.grid.GroupingView.superclass.renderRows.apply(this,arguments)},doRender:function(cs,rs,ds,_26,_27,_28){if(rs.length&lt;1){return&quot;&quot;}var _29=this.getGroupField();var _2a=this.cm.findColumnIndex(_29);this.enableGrouping=!!_29;if(!this.enableGrouping||this.isUpdating){return Ext.grid.GroupingView.superclass.doRender.apply(this,arguments)}var _2b=&quot;width:&quot;+this.getTotalWidth()+&quot;;&quot;;var _2c=this.grid.getGridEl().id;var cfg=this.cm.config[_2a];var _2e=cfg.groupRenderer||cfg.renderer;var _2f=this.showGroupName?(cfg.groupName||cfg.header)+&quot;: &quot;:&quot;&quot;;var _30=[],_31,i,len,gid;for(i=0,len=rs.length;i&lt;len;i++){var _35=_26+i;var r=rs[i],_37=r.data[_29],g=this.getGroup(_37,r,_2e,_35,_2a,ds);if(!_31||_31.group!=g){gid=_2c+&quot;-gp-&quot;+_29+&quot;-&quot;+Ext.util.Format.htmlEncode(g);var _39=typeof this.state[gid]!==&quot;undefined&quot;?!this.state[gid]:this.startCollapsed;var _3a=_39?&quot;x-grid-group-collapsed&quot;:&quot;&quot;;_31={group:g,gvalue:_37,text:_2f+g,groupId:gid,startRow:_35,rs:[r],cls:_3a,style:_2b};_30.push(_31)}else{_31.rs.push(r)}r._groupId=gid}var buf=[];for(i=0,len=_30.length;i&lt;len;i++){var g=_30[i];this.doGroupStart(buf,g,cs,ds,_27);buf[buf.length]=Ext.grid.GroupingView.superclass.doRender.call(this,cs,g.rs,ds,g.startRow,_27,_28);this.doGroupEnd(buf,g,cs,ds,_27)}return buf.join(&quot;&quot;)},getGroupId:function(_3c){var _3d=this.grid.getGridEl().id;var _3e=this.getGroupField();var _3f=this.cm.findColumnIndex(_3e);var cfg=this.cm.config[_3f];var _41=cfg.groupRenderer||cfg.renderer;var _42=this.getGroup(_3c,{data:{}},_41,0,_3f,this.ds);return _3d+&quot;-gp-&quot;+_3e+&quot;-&quot;+Ext.util.Format.htmlEncode(_3c)},doGroupStart:function(buf,g,cs,ds,_47){buf[buf.length]=this.startGroup.apply(g)},doGroupEnd:function(buf,g,cs,ds,_4c){buf[buf.length]=this.endGroup},getRows:function(){if(!this.enableGrouping){return Ext.grid.GroupingView.superclass.getRows.call(this)}var r=[];var g,gs=this.getGroups();for(var i=0,len=gs.length;i&lt;len;i++){g=gs[i].childNodes[1].childNodes;for(var j=0,_53=g.length;j&lt;_53;j++){r[r.length]=g[j]}}return r},updateGroupWidths:function(){if(!this.enableGrouping||!this.hasRows()){return}var tw=Math.max(this.cm.getTotalWidth(),this.el.dom.offsetWidth-this.scrollOffset)+&quot;px&quot;;var gs=this.getGroups();for(var i=0,len=gs.length;i&lt;len;i++){gs[i].firstChild.style.width=tw}},onColumnWidthUpdated:function(col,w,tw){Ext.grid.GroupingView.superclass.onColumnWidthUpdated.call(this,col,w,tw);
-this.updateGroupWidths()},onAllColumnWidthsUpdated:function(ws,tw){Ext.grid.GroupingView.superclass.onAllColumnWidthsUpdated.call(this,ws,tw);this.updateGroupWidths()},onColumnHiddenUpdated:function(col,_5e,tw){Ext.grid.GroupingView.superclass.onColumnHiddenUpdated.call(this,col,_5e,tw);this.updateGroupWidths()},onLayout:function(){this.updateGroupWidths()},onBeforeRowSelect:function(sm,_61){if(!this.enableGrouping){return}var row=this.getRow(_61);if(row&amp;&amp;!row.offsetParent){var g=this.findGroup(row);this.toggleGroup(g,true)}},groupByText:&quot;Group By This Field&quot;,showGroupsText:&quot;Show in Groups&quot;});Ext.grid.GroupingView.GROUP_ID=1000;Ext.grid.HeaderDragZone=function(_1,hd,_3){this.grid=_1;this.view=_1.getView();this.ddGroup=&quot;gridHeader&quot;+this.grid.getGridEl().id;Ext.grid.HeaderDragZone.superclass.constructor.call(this,hd);if(_3){this.setHandleElId(Ext.id(hd));this.setOuterHandleElId(Ext.id(_3))}this.scroll=false};Ext.extend(Ext.grid.HeaderDragZone,Ext.dd.DragZone,{maxDragWidth:120,getDragData:function(e){var t=Ext.lib.Event.getTarget(e);var h=this.view.findHeaderCell(t);if(h){return{ddel:h.firstChild,header:h}}return false},onInitDrag:function(e){this.view.headersDisabled=true;var _8=this.dragData.ddel.cloneNode(true);_8.id=Ext.id();_8.style.width=Math.min(this.dragData.header.offsetWidth,this.maxDragWidth)+&quot;px&quot;;this.proxy.update(_8);return true},afterValidDrop:function(){var v=this.view;setTimeout(function(){v.headersDisabled=false},50)},afterInvalidDrop:function(){var v=this.view;setTimeout(function(){v.headersDisabled=false},50)}});Ext.grid.HeaderDropZone=function(_b,hd,_d){this.grid=_b;this.view=_b.getView();this.proxyTop=Ext.DomHelper.append(document.body,{cls:&quot;col-move-top&quot;,html:&quot;&amp;#160;&quot;},true);this.proxyBottom=Ext.DomHelper.append(document.body,{cls:&quot;col-move-bottom&quot;,html:&quot;&amp;#160;&quot;},true);this.proxyTop.hide=this.proxyBottom.hide=function(){this.setLeftTop(-100,-100);this.setStyle(&quot;visibility&quot;,&quot;hidden&quot;)};this.ddGroup=&quot;gridHeader&quot;+this.grid.getGridEl().id;Ext.grid.HeaderDropZone.superclass.constructor.call(this,_b.getGridEl().dom)};Ext.extend(Ext.grid.HeaderDropZone,Ext.dd.DropZone,{proxyOffsets:[-4,-9],fly:Ext.Element.fly,getTargetFromEvent:function(e){var t=Ext.lib.Event.getTarget(e);var _10=this.view.findCellIndex(t);if(_10!==false){return this.view.getHeaderCell(_10)}},nextVisible:function(h){var v=this.view,cm=this.grid.colModel;h=h.nextSibling;while(h){if(!cm.isHidden(v.getCellIndex(h))){return h}h=h.nextSibling}return null},prevVisible:function(h){var v=this.view,cm=this.grid.colModel;h=h.prevSibling;while(h){if(!cm.isHidden(v.getCellIndex(h))){return h}h=h.prevSibling}return null},positionIndicator:function(h,n,e){var x=Ext.lib.Event.getPageX(e);var r=Ext.lib.Dom.getRegion(n.firstChild);var px,pt,py=r.top+this.proxyOffsets[1];if((r.right-x)&lt;=(r.right-r.left)/2){px=r.right+this.view.borderWidth;pt=&quot;after&quot;}else{px=r.left;pt=&quot;before&quot;}var _1f=this.view.getCellIndex(h);var _20=this.view.getCellIndex(n);if(this.grid.colModel.isFixed(_20)){return false}var _21=this.grid.colModel.isLocked(_20);if(pt==&quot;after&quot;){_20++}if(_1f&lt;_20){_20--}if(_1f==_20&amp;&amp;(_21==this.grid.colModel.isLocked(_1f))){return false}px+=this.proxyOffsets[0];this.proxyTop.setLeftTop(px,py);this.proxyTop.show();if(!this.bottomOffset){this.bottomOffset=this.view.mainHd.getHeight()}this.proxyBottom.setLeftTop(px,py+this.proxyTop.dom.offsetHeight+this.bottomOffset);this.proxyBottom.show();return pt},onNodeEnter:function(n,dd,e,_25){if(_25.header!=n){this.positionIndicator(_25.header,n,e)}},onNodeOver:function(n,dd,e,_29){var _2a=false;if(_29.header!=n){_2a=this.positionIndicator(_29.header,n,e)}if(!_2a){this.proxyTop.hide();this.proxyBottom.hide()}return _2a?this.dropAllowed:this.dropNotAllowed},onNodeOut:function(n,dd,e,_2e){this.proxyTop.hide();this.proxyBottom.hide()},onNodeDrop:function(n,dd,e,_32){var h=_32.header;if(h!=n){var cm=this.grid.colModel;var x=Ext.lib.Event.getPageX(e);var r=Ext.lib.Dom.getRegion(n.firstChild);var pt=(r.right-x)&lt;=((r.right-r.left)/2)?&quot;after&quot;:&quot;before&quot;;var _38=this.view.getCellIndex(h);var _39=this.view.getCellIndex(n);var _3a=cm.isLocked(_39);if(pt==&quot;after&quot;){_39++}if(_38&lt;_39){_39--}if(_38==_39&amp;&amp;(_3a==cm.isLocked(_38))){return false}cm.setLocked(_38,_3a,true);cm.moveColumn(_38,_39);this.grid.fireEvent(&quot;columnmove&quot;,_38,_39);return true}return false}});Ext.grid.GridView.ColumnDragZone=function(_3b,hd){Ext.grid.GridView.ColumnDragZone.superclass.constructor.call(this,_3b,hd,null);this.proxy.el.addClass(&quot;x-grid3-col-dd&quot;)};Ext.extend(Ext.grid.GridView.ColumnDragZone,Ext.grid.HeaderDragZone,{handleMouseDown:function(e){},callHandleMouseDown:function(e){Ext.grid.GridView.ColumnDragZone.superclass.handleMouseDown.call(this,e)}});Ext.grid.SplitDragZone=function(_1,hd,_3){this.grid=_1;this.view=_1.getView();this.proxy=this.view.resizeProxy;Ext.grid.SplitDragZone.superclass.constructor.call(this,hd,&quot;gridSplitters&quot;+this.grid.getGridEl().id,{dragElId:Ext.id(this.proxy.dom),resizeFrame:false});this.setHandleElId(Ext.id(hd));this.setOuterHandleElId(Ext.id(_3));this.scroll=false};Ext.extend(Ext.grid.SplitDragZone,Ext.dd.DDProxy,{fly:Ext.Element.fly,b4StartDrag:function(x,y){this.view.headersDisabled=true;this.proxy.setHeight(this.view.mainWrap.getHeight());var w=this.cm.getColumnWidth(this.cellIndex);var _7=Math.max(w-this.grid.minColumnWidth,0);this.resetConstraints();this.setXConstraint(_7,1000);this.setYConstraint(0,0);this.minX=x-_7;this.maxX=x+1000;this.startPos=x;Ext.dd.DDProxy.prototype.b4StartDrag.call(this,x,y)},handleMouseDown:function(e){ev=Ext.EventObject.setEvent(e);var t=this.fly(ev.getTarget());if(t.hasClass(&quot;x-grid-split&quot;)){this.cellIndex=this.view.getCellIndex(t.dom);this.split=t.dom;this.cm=this.grid.colModel;if(this.cm.isResizable(this.cellIndex)&amp;&amp;!this.cm.isFixed(this.cellIndex)){Ext.grid.SplitDragZone.superclass.handleMouseDown.apply(this,arguments)}}},endDrag:function(e){this.view.headersDisabled=false;var _b=Math.max(this.minX,Ext.lib.Event.getPageX(e));var _c=_b-this.startPos;this.view.onColumnSplitterMoved(this.cellIndex,this.cm.getColumnWidth(this.cellIndex)+_c)},autoOffset:function(){this.setDelta(0,0)}});Ext.grid.GridDragZone=function(_1,_2){this.view=_1.getView();Ext.grid.GridDragZone.superclass.constructor.call(this,this.view.mainBody.dom,_2);if(this.view.lockedBody){this.setHandleElId(Ext.id(this.view.mainBody.dom));this.setOuterHandleElId(Ext.id(this.view.lockedBody.dom))}this.scroll=false;this.grid=_1;this.ddel=document.createElement(&quot;div&quot;);this.ddel.className=&quot;x-grid-dd-wrap&quot;};Ext.extend(Ext.grid.GridDragZone,Ext.dd.DragZone,{ddGroup:&quot;GridDD&quot;,getDragData:function(e){var t=Ext.lib.Event.getTarget(e);var _5=this.view.findRowIndex(t);if(_5!==false){var sm=this.grid.selModel;if(!sm.isSelected(_5)||e.hasModifier()){sm.handleMouseDown(this.grid,_5,e)}return{grid:this.grid,ddel:this.ddel,rowIndex:_5,selections:sm.getSelections()}}return false},onInitDrag:function(e){var _8=this.dragData;this.ddel.innerHTML=this.grid.getDragDropText();this.proxy.update(this.ddel)},afterRepair:function(){this.dragging=false},getRepairXY:function(e,_a){return false},onEndDrag:function(_b,e){},onValidDrop:function(dd,e,id){this.hideProxy()},beforeInvalidDrop:function(e,id){}});Ext.grid.ColumnModel=function(_1){this.defaultWidth=100;this.defaultSortable=false;if(_1.columns){Ext.apply(this,_1);this.setConfig(_1.columns,true)}else{this.setConfig(_1,true)}this.addEvents(&quot;widthchange&quot;,&quot;headerchange&quot;,&quot;hiddenchange&quot;,&quot;columnmoved&quot;,&quot;columnlockchange&quot;,&quot;configchange&quot;);Ext.grid.ColumnModel.superclass.constructor.call(this)};Ext.extend(Ext.grid.ColumnModel,Ext.util.Observable,{getColumnId:function(_2){return this.config[_2].id},setConfig:function(_3,_4){if(!_4){delete this.totalWidth;for(var i=0,_6=this.config.length;i&lt;_6;i++){var c=this.config[i];if(c.editor){c.editor.destroy()}}}this.config=_3;this.lookup={};for(var i=0,_6=_3.length;i&lt;_6;i++){var c=_3[i];if(typeof c.renderer==&quot;string&quot;){c.renderer=Ext.util.Format[c.renderer]}if(typeof c.id==&quot;undefined&quot;){c.id=i}if(c.editor&amp;&amp;c.editor.isFormField){c.editor=new Ext.grid.GridEditor(c.editor)
-}this.lookup[c.id]=c}if(!_4){this.fireEvent(&quot;configchange&quot;,this)}},getColumnById:function(id){return this.lookup[id]},getIndexById:function(id){for(var i=0,_b=this.config.length;i&lt;_b;i++){if(this.config[i].id==id){return i}}return -1},moveColumn:function(_c,_d){var c=this.config[_c];this.config.splice(_c,1);this.config.splice(_d,0,c);this.dataMap=null;this.fireEvent(&quot;columnmoved&quot;,this,_c,_d)},isLocked:function(_f){return this.config[_f].locked===true},setLocked:function(_10,_11,_12){if(this.isLocked(_10)==_11){return}this.config[_10].locked=_11;if(!_12){this.fireEvent(&quot;columnlockchange&quot;,this,_10,_11)}},getTotalLockedWidth:function(){var _13=0;for(var i=0;i&lt;this.config.length;i++){if(this.isLocked(i)&amp;&amp;!this.isHidden(i)){this.totalWidth+=this.getColumnWidth(i)}}return _13},getLockedCount:function(){for(var i=0,len=this.config.length;i&lt;len;i++){if(!this.isLocked(i)){return i}}},getColumnCount:function(_17){if(_17===true){var c=0;for(var i=0,len=this.config.length;i&lt;len;i++){if(!this.isHidden(i)){c++}}return c}return this.config.length},getColumnsBy:function(fn,_1c){var r=[];for(var i=0,len=this.config.length;i&lt;len;i++){var c=this.config[i];if(fn.call(_1c||this,c,i)===true){r[r.length]=c}}return r},isSortable:function(col){if(typeof this.config[col].sortable==&quot;undefined&quot;){return this.defaultSortable}return this.config[col].sortable},isMenuDisabled:function(col){return !!this.config[col].menuDisabled},getRenderer:function(col){if(!this.config[col].renderer){return Ext.grid.ColumnModel.defaultRenderer}return this.config[col].renderer},setRenderer:function(col,fn){this.config[col].renderer=fn},getColumnWidth:function(col){return this.config[col].width||this.defaultWidth},setColumnWidth:function(col,_28,_29){this.config[col].width=_28;this.totalWidth=null;if(!_29){this.fireEvent(&quot;widthchange&quot;,this,col,_28)}},getTotalWidth:function(_2a){if(!this.totalWidth){this.totalWidth=0;for(var i=0,len=this.config.length;i&lt;len;i++){if(_2a||!this.isHidden(i)){this.totalWidth+=this.getColumnWidth(i)}}}return this.totalWidth},getColumnHeader:function(col){return this.config[col].header},setColumnHeader:function(col,_2f){this.config[col].header=_2f;this.fireEvent(&quot;headerchange&quot;,this,col,_2f)},getColumnTooltip:function(col){return this.config[col].tooltip},setColumnTooltip:function(col,_32){this.config[col].tooltip=_32},getDataIndex:function(col){return this.config[col].dataIndex},setDataIndex:function(col,_35){this.config[col].dataIndex=_35},findColumnIndex:function(_36){var c=this.config;for(var i=0,len=c.length;i&lt;len;i++){if(c[i].dataIndex==_36){return i}}return -1},isCellEditable:function(_3a,_3b){return(this.config[_3a].editable||(typeof this.config[_3a].editable==&quot;undefined&quot;&amp;&amp;this.config[_3a].editor))?true:false},getCellEditor:function(_3c,_3d){return this.config[_3c].editor},setEditable:function(col,_3f){this.config[col].editable=_3f},isHidden:function(_40){return this.config[_40].hidden},isFixed:function(_41){return this.config[_41].fixed},isResizable:function(_42){return _42&gt;=0&amp;&amp;this.config[_42].resizable!==false&amp;&amp;this.config[_42].fixed!==true},setHidden:function(_43,_44){var c=this.config[_43];if(c.hidden!==_44){c.hidden=_44;this.totalWidth=null;this.fireEvent(&quot;hiddenchange&quot;,this,_43,_44)}},setEditor:function(col,_47){this.config[col].editor=_47}});Ext.grid.ColumnModel.defaultRenderer=function(_48){if(typeof _48==&quot;string&quot;&amp;&amp;_48.length&lt;1){return&quot;&amp;#160;&quot;}return _48};Ext.grid.DefaultColumnModel=Ext.grid.ColumnModel;Ext.grid.AbstractSelectionModel=function(){this.locked=false;Ext.grid.AbstractSelectionModel.superclass.constructor.call(this)};Ext.extend(Ext.grid.AbstractSelectionModel,Ext.util.Observable,{init:function(_1){this.grid=_1;this.initEvents()},lock:function(){this.locked=true},unlock:function(){this.locked=false},isLocked:function(){return this.locked}});Ext.grid.RowSelectionModel=function(_1){Ext.apply(this,_1);this.selections=new Ext.util.MixedCollection(false,function(o){return o.id});this.last=false;this.lastActive=false;this.addEvents(&quot;selectionchange&quot;,&quot;beforerowselect&quot;,&quot;rowselect&quot;,&quot;rowdeselect&quot;);Ext.grid.RowSelectionModel.superclass.constructor.call(this)};Ext.extend(Ext.grid.RowSelectionModel,Ext.grid.AbstractSelectionModel,{singleSelect:false,initEvents:function(){if(!this.grid.enableDragDrop&amp;&amp;!this.grid.enableDrag){this.grid.on(&quot;rowmousedown&quot;,this.handleMouseDown,this)}else{this.grid.on(&quot;rowclick&quot;,function(_3,_4,e){if(e.button===0&amp;&amp;!e.shiftKey&amp;&amp;!e.ctrlKey){this.selectRow(_4,false);_3.view.focusRow(_4)}},this)}this.rowNav=new Ext.KeyNav(this.grid.getGridEl(),{up:function(e){if(!e.shiftKey||this.singleSelect){this.selectPrevious(false)}else{if(this.last!==false&amp;&amp;this.lastActive!==false){var _7=this.last;this.selectRange(this.last,this.lastActive-1);this.grid.getView().focusRow(this.lastActive);if(_7!==false){this.last=_7}}else{this.selectFirstRow()}}},down:function(e){if(!e.shiftKey||this.singleSelect){this.selectNext(false)}else{if(this.last!==false&amp;&amp;this.lastActive!==false){var _9=this.last;this.selectRange(this.last,this.lastActive+1);this.grid.getView().focusRow(this.lastActive);if(_9!==false){this.last=_9}}else{this.selectFirstRow()}}},scope:this});var _a=this.grid.view;_a.on(&quot;refresh&quot;,this.onRefresh,this);_a.on(&quot;rowupdated&quot;,this.onRowUpdated,this);_a.on(&quot;rowremoved&quot;,this.onRemove,this)},onRefresh:function(){var ds=this.grid.store,_c;var s=this.getSelections();this.clearSelections(true);for(var i=0,_f=s.length;i&lt;_f;i++){var r=s[i];if((_c=ds.indexOfId(r.id))!=-1){this.selectRow(_c,true)}}if(s.length!=this.selections.getCount()){this.fireEvent(&quot;selectionchange&quot;,this)}},onRemove:function(v,_12,r){if(this.selections.remove(r)!==false){this.fireEvent(&quot;selectionchange&quot;,this)}},onRowUpdated:function(v,_15,r){if(this.isSelected(r)){v.onRowSelect(_15)}},selectRecords:function(_17,_18){if(!_18){this.clearSelections()}var ds=this.grid.store;for(var i=0,len=_17.length;i&lt;len;i++){this.selectRow(ds.indexOf(_17[i]),true)}},getCount:function(){return this.selections.length},selectFirstRow:function(){this.selectRow(0)},selectLastRow:function(_1c){this.selectRow(this.grid.store.getCount()-1,_1c)},selectNext:function(_1d){if(this.hasNext()){this.selectRow(this.last+1,_1d);this.grid.getView().focusRow(this.last);return true}return false},selectPrevious:function(_1e){if(this.hasPrevious()){this.selectRow(this.last-1,_1e);this.grid.getView().focusRow(this.last);return true}return false},hasNext:function(){return this.last!==false&amp;&amp;(this.last+1)&lt;this.grid.store.getCount()},hasPrevious:function(){return !!this.last},getSelections:function(){return[].concat(this.selections.items)},getSelected:function(){return this.selections.itemAt(0)},each:function(fn,_20){var s=this.getSelections();for(var i=0,len=s.length;i&lt;len;i++){if(fn.call(_20||this,s[i],i)===false){return false}}return true},clearSelections:function(_24){if(this.isLocked()){return}if(_24!==true){var ds=this.grid.store;var s=this.selections;s.each(function(r){this.deselectRow(ds.indexOfId(r.id))},this);s.clear()}else{this.selections.clear()}this.last=false},selectAll:function(){if(this.isLocked()){return}this.selections.clear();for(var i=0,len=this.grid.store.getCount();i&lt;len;i++){this.selectRow(i,true)}},hasSelection:function(){return this.selections.length&gt;0},isSelected:function(_2a){var r=typeof _2a==&quot;number&quot;?this.grid.store.getAt(_2a):_2a;return(r&amp;&amp;this.selections.key(r.id)?true:false)},isIdSelected:function(id){return(this.selections.key(id)?true:false)},handleMouseDown:function(g,_2e,e){if(e.button!==0||this.isLocked()){return}var _30=this.grid.getView();if(e.shiftKey&amp;&amp;!this.singleSelect&amp;&amp;this.last!==false){var _31=this.last;this.selectRange(_31,_2e,e.ctrlKey);this.last=_31;_30.focusRow(_2e)}else{var _32=this.isSelected(_2e);if(e.ctrlKey&amp;&amp;_32){this.deselectRow(_2e)}else{if(!_32||this.getCount()&gt;1){this.selectRow(_2e,e.ctrlKey||e.shiftKey);_30.focusRow(_2e)}}}},selectRows:function(_33,_34){if(!_34){this.clearSelections()}for(var i=0,len=_33.length;i&lt;len;i++){this.selectRow(_33[i],true)}},selectRange:function(_37,_38,_39){if(this.isLocked()){return
-}if(!_39){this.clearSelections()}if(_37&lt;=_38){for(var i=_37;i&lt;=_38;i++){this.selectRow(i,true)}}else{for(var i=_37;i&gt;=_38;i--){this.selectRow(i,true)}}},deselectRange:function(_3b,_3c,_3d){if(this.isLocked()){return}for(var i=_3b;i&lt;=_3c;i++){this.deselectRow(i,_3d)}},selectRow:function(_3f,_40,_41){if(this.isLocked()||(_3f&lt;0||_3f&gt;=this.grid.store.getCount())||this.isSelected(_3f)){return}var r=this.grid.store.getAt(_3f);if(r&amp;&amp;this.fireEvent(&quot;beforerowselect&quot;,this,_3f,_40,r)!==false){if(!_40||this.singleSelect){this.clearSelections()}this.selections.add(r);this.last=this.lastActive=_3f;if(!_41){this.grid.getView().onRowSelect(_3f)}this.fireEvent(&quot;rowselect&quot;,this,_3f,r);this.fireEvent(&quot;selectionchange&quot;,this)}},deselectRow:function(_43,_44){if(this.isLocked()){return}if(this.last==_43){this.last=false}if(this.lastActive==_43){this.lastActive=false}var r=this.grid.store.getAt(_43);if(r){this.selections.remove(r);if(!_44){this.grid.getView().onRowDeselect(_43)}this.fireEvent(&quot;rowdeselect&quot;,this,_43,r);this.fireEvent(&quot;selectionchange&quot;,this)}},restoreLast:function(){if(this._last){this.last=this._last}},acceptsNav:function(row,col,cm){return !cm.isHidden(col)&amp;&amp;cm.isCellEditable(col,row)},onEditorKey:function(_49,e){var k=e.getKey(),_4c,g=this.grid,ed=g.activeEditor;var _4f=e.shiftKey;if(k==e.TAB){e.stopEvent();ed.completeEdit();if(_4f){_4c=g.walkCells(ed.row,ed.col-1,-1,this.acceptsNav,this)}else{_4c=g.walkCells(ed.row,ed.col+1,1,this.acceptsNav,this)}}else{if(k==e.ENTER){e.stopEvent();ed.completeEdit();if(this.moveEditorOnEnter!==false){if(_4f){_4c=g.walkCells(ed.row-1,ed.col,-1,this.acceptsNav,this)}else{_4c=g.walkCells(ed.row+1,ed.col,1,this.acceptsNav,this)}}}else{if(k==e.ESC){ed.cancelEdit()}}}if(_4c){g.startEditing(_4c[0],_4c[1])}}});Ext.grid.CellSelectionModel=function(_1){Ext.apply(this,_1);this.selection=null;this.addEvents(&quot;beforecellselect&quot;,&quot;cellselect&quot;,&quot;selectionchange&quot;);Ext.grid.CellSelectionModel.superclass.constructor.call(this)};Ext.extend(Ext.grid.CellSelectionModel,Ext.grid.AbstractSelectionModel,{initEvents:function(){this.grid.on(&quot;cellmousedown&quot;,this.handleMouseDown,this);this.grid.getGridEl().on(Ext.isIE||Ext.isSafari3?&quot;keydown&quot;:&quot;keypress&quot;,this.handleKeyDown,this);var _2=this.grid.view;_2.on(&quot;refresh&quot;,this.onViewChange,this);_2.on(&quot;rowupdated&quot;,this.onRowUpdated,this);_2.on(&quot;beforerowremoved&quot;,this.clearSelections,this);_2.on(&quot;beforerowsinserted&quot;,this.clearSelections,this);if(this.grid.isEditor){this.grid.on(&quot;beforeedit&quot;,this.beforeEdit,this)}},beforeEdit:function(e){this.select(e.row,e.column,false,true,e.record)},onRowUpdated:function(v,_5,r){if(this.selection&amp;&amp;this.selection.record==r){v.onCellSelect(_5,this.selection.cell[1])}},onViewChange:function(){this.clearSelections(true)},getSelectedCell:function(){return this.selection?this.selection.cell:null},clearSelections:function(_7){var s=this.selection;if(s){if(_7!==true){this.grid.view.onCellDeselect(s.cell[0],s.cell[1])}this.selection=null;this.fireEvent(&quot;selectionchange&quot;,this,null)}},hasSelection:function(){return this.selection?true:false},handleMouseDown:function(g,_a,_b,e){if(e.button!==0||this.isLocked()){return}this.select(_a,_b)},select:function(_d,_e,_f,_10,r){if(this.fireEvent(&quot;beforecellselect&quot;,this,_d,_e)!==false){this.clearSelections();r=r||this.grid.store.getAt(_d);this.selection={record:r,cell:[_d,_e]};if(!_f){var v=this.grid.getView();v.onCellSelect(_d,_e);if(_10!==true){v.focusCell(_d,_e)}}this.fireEvent(&quot;cellselect&quot;,this,_d,_e);this.fireEvent(&quot;selectionchange&quot;,this,this.selection)}},isSelectable:function(_13,_14,cm){return !cm.isHidden(_14)},handleKeyDown:function(e){if(!e.isNavKeyPress()){return}var g=this.grid,s=this.selection;if(!s){e.stopEvent();var _19=g.walkCells(0,0,1,this.isSelectable,this);if(_19){this.select(_19[0],_19[1])}return}var sm=this;var _1b=function(row,col,_1e){return g.walkCells(row,col,_1e,sm.isSelectable,sm)};var k=e.getKey(),r=s.cell[0],c=s.cell[1];var _22;switch(k){case e.TAB:if(e.shiftKey){_22=_1b(r,c-1,-1)}else{_22=_1b(r,c+1,1)}break;case e.DOWN:_22=_1b(r+1,c,1);break;case e.UP:_22=_1b(r-1,c,-1);break;case e.RIGHT:_22=_1b(r,c+1,1);break;case e.LEFT:_22=_1b(r,c-1,-1);break;case e.ENTER:if(g.isEditor&amp;&amp;!g.editing){g.startEditing(r,c);e.stopEvent();return}break}if(_22){this.select(_22[0],_22[1]);e.stopEvent()}},acceptsNav:function(row,col,cm){return !cm.isHidden(col)&amp;&amp;cm.isCellEditable(col,row)},onEditorKey:function(_26,e){var k=e.getKey(),_29,g=this.grid,ed=g.activeEditor;if(k==e.TAB){if(e.shiftKey){_29=g.walkCells(ed.row,ed.col-1,-1,this.acceptsNav,this)}else{_29=g.walkCells(ed.row,ed.col+1,1,this.acceptsNav,this)}e.stopEvent()}else{if(k==e.ENTER){ed.completeEdit();e.stopEvent()}else{if(k==e.ESC){e.stopEvent();ed.cancelEdit()}}}if(_29){g.startEditing(_29[0],_29[1])}}});Ext.grid.EditorGridPanel=Ext.extend(Ext.grid.GridPanel,{clicksToEdit:2,isEditor:true,detectEdit:false,autoEncode:false,trackMouseOver:false,initComponent:function(){Ext.grid.EditorGridPanel.superclass.initComponent.call(this);if(!this.selModel){this.selModel=new Ext.grid.CellSelectionModel()}this.activeEditor=null;this.addEvents(&quot;beforeedit&quot;,&quot;afteredit&quot;,&quot;validateedit&quot;)},initEvents:function(){Ext.grid.EditorGridPanel.superclass.initEvents.call(this);this.on(&quot;bodyscroll&quot;,this.stopEditing,this,[true]);this.on(&quot;columnresize&quot;,this.stopEditing,this,[true]);if(this.clicksToEdit==1){this.on(&quot;cellclick&quot;,this.onCellDblClick,this)}else{if(this.clicksToEdit==&quot;auto&quot;&amp;&amp;this.view.mainBody){this.view.mainBody.on(&quot;mousedown&quot;,this.onAutoEditClick,this)}this.on(&quot;celldblclick&quot;,this.onCellDblClick,this)}},onCellDblClick:function(g,_2,_3){this.startEditing(_2,_3)},onAutoEditClick:function(e,t){if(e.button!==0){return}var _6=this.view.findRowIndex(t);var _7=this.view.findCellIndex(t);if(_6!==false&amp;&amp;_7!==false){this.stopEditing();if(this.selModel.getSelectedCell){var sc=this.selModel.getSelectedCell();if(sc&amp;&amp;sc.cell[0]===_6&amp;&amp;sc.cell[1]===_7){this.startEditing(_6,_7)}}else{if(this.selModel.isSelected(_6)){this.startEditing(_6,_7)}}}},onEditComplete:function(ed,_a,_b){this.editing=false;this.activeEditor=null;ed.un(&quot;specialkey&quot;,this.selModel.onEditorKey,this.selModel);var r=ed.record;var _d=this.colModel.getDataIndex(ed.col);_a=this.postEditValue(_a,_b,r,_d);if(String(_a)!==String(_b)){var e={grid:this,record:r,field:_d,originalValue:_b,value:_a,row:ed.row,column:ed.col,cancel:false};if(this.fireEvent(&quot;validateedit&quot;,e)!==false&amp;&amp;!e.cancel){r.set(_d,e.value);delete e.cancel;this.fireEvent(&quot;afteredit&quot;,e)}}this.view.focusCell(ed.row,ed.col)},startEditing:function(_f,col){this.stopEditing();if(this.colModel.isCellEditable(col,_f)){this.view.ensureVisible(_f,col,true);var r=this.store.getAt(_f);var _12=this.colModel.getDataIndex(col);var e={grid:this,record:r,field:_12,value:r.data[_12],row:_f,column:col,cancel:false};if(this.fireEvent(&quot;beforeedit&quot;,e)!==false&amp;&amp;!e.cancel){this.editing=true;var ed=this.colModel.getCellEditor(col,_f);if(!ed.rendered){ed.render(this.view.getEditorParent(ed))}(function(){ed.row=_f;ed.col=col;ed.record=r;ed.on(&quot;complete&quot;,this.onEditComplete,this,{single:true});ed.on(&quot;specialkey&quot;,this.selModel.onEditorKey,this.selModel);this.activeEditor=ed;var v=this.preEditValue(r,_12);ed.startEdit(this.view.getCell(_f,col).firstChild,v===undefined?&quot;&quot;:v)}).defer(50,this)}}},preEditValue:function(r,_17){var _18=r.data[_17];return this.autoEncode&amp;&amp;typeof _18==&quot;string&quot;?Ext.util.Format.htmlDecode(_18):_18},postEditValue:function(_19,_1a,r,_1c){return this.autoEncode&amp;&amp;typeof _19==&quot;string&quot;?Ext.util.Format.htmlEncode(_19):_19},stopEditing:function(_1d){if(this.activeEditor){this.activeEditor[_1d===true?&quot;cancelEdit&quot;:&quot;completeEdit&quot;]()}this.activeEditor=null},onDestroy:function(){if(this.rendered){var _1e=this.colModel.config;for(var i=0,len=_1e.length;i&lt;len;i++){var c=_1e[i];Ext.destroy(c.editor)}}Ext.grid.EditorGridPanel.superclass.onDestroy.call(this)}});Ext.reg(&quot;editorgrid&quot;,Ext.grid.EditorGridPanel);Ext.grid.GridEditor=function(_1,_2){Ext.grid.GridEditor.superclass.constructor.call(this,_1,_2);_1.monitorTab=false
-};Ext.extend(Ext.grid.GridEditor,Ext.Editor,{alignment:&quot;tl-tl&quot;,autoSize:&quot;width&quot;,hideEl:false,cls:&quot;x-small-editor x-grid-editor&quot;,shim:false,shadow:false});Ext.grid.PropertyRecord=Ext.data.Record.create([{name:&quot;name&quot;,type:&quot;string&quot;},&quot;value&quot;]);Ext.grid.PropertyStore=function(_1,_2){this.grid=_1;this.store=new Ext.data.Store({recordType:Ext.grid.PropertyRecord});this.store.on(&quot;update&quot;,this.onUpdate,this);if(_2){this.setSource(_2)}Ext.grid.PropertyStore.superclass.constructor.call(this)};Ext.extend(Ext.grid.PropertyStore,Ext.util.Observable,{setSource:function(o){this.source=o;this.store.removeAll();var _4=[];for(var k in o){if(this.isEditableValue(o[k])){_4.push(new Ext.grid.PropertyRecord({name:k,value:o[k]},k))}}this.store.loadRecords({records:_4},{},true)},onUpdate:function(ds,_7,_8){if(_8==Ext.data.Record.EDIT){var v=_7.data.value;var _a=_7.modified.value;if(this.grid.fireEvent(&quot;beforepropertychange&quot;,this.source,_7.id,v,_a)!==false){this.source[_7.id]=v;_7.commit();this.grid.fireEvent(&quot;propertychange&quot;,this.source,_7.id,v,_a)}else{_7.reject()}}},getProperty:function(_b){return this.store.getAt(_b)},isEditableValue:function(_c){if(Ext.isDate(_c)){return true}else{if(typeof _c==&quot;object&quot;||typeof _c==&quot;function&quot;){return false}}return true},setValue:function(_d,_e){this.source[_d]=_e;this.store.getById(_d).set(&quot;value&quot;,_e)},getSource:function(){return this.source}});Ext.grid.PropertyColumnModel=function(_f,_10){this.grid=_f;var g=Ext.grid;g.PropertyColumnModel.superclass.constructor.call(this,[{header:this.nameText,width:50,sortable:true,dataIndex:&quot;name&quot;,id:&quot;name&quot;,menuDisabled:true},{header:this.valueText,width:50,resizable:false,dataIndex:&quot;value&quot;,id:&quot;value&quot;,menuDisabled:true}]);this.store=_10;this.bselect=Ext.DomHelper.append(document.body,{tag:&quot;select&quot;,cls:&quot;x-grid-editor x-hide-display&quot;,children:[{tag:&quot;option&quot;,value:&quot;true&quot;,html:&quot;true&quot;},{tag:&quot;option&quot;,value:&quot;false&quot;,html:&quot;false&quot;}]});var f=Ext.form;var _13=new f.Field({el:this.bselect,bselect:this.bselect,autoShow:true,getValue:function(){return this.bselect.value==&quot;true&quot;}});this.editors={date:new g.GridEditor(new f.DateField({selectOnFocus:true})),string:new g.GridEditor(new f.TextField({selectOnFocus:true})),number:new g.GridEditor(new f.NumberField({selectOnFocus:true,style:&quot;text-align:left;&quot;})),&quot;boolean&quot;:new g.GridEditor(_13)};this.renderCellDelegate=this.renderCell.createDelegate(this);this.renderPropDelegate=this.renderProp.createDelegate(this)};Ext.extend(Ext.grid.PropertyColumnModel,Ext.grid.ColumnModel,{nameText:&quot;Name&quot;,valueText:&quot;Value&quot;,dateFormat:&quot;m/j/Y&quot;,renderDate:function(_14){return _14.dateFormat(this.dateFormat)},renderBool:function(_15){return _15?&quot;true&quot;:&quot;false&quot;},isCellEditable:function(_16,_17){return _16==1},getRenderer:function(col){return col==1?this.renderCellDelegate:this.renderPropDelegate},renderProp:function(v){return this.getPropertyName(v)},renderCell:function(val){var rv=val;if(Ext.isDate(val)){rv=this.renderDate(val)}else{if(typeof val==&quot;boolean&quot;){rv=this.renderBool(val)}}return Ext.util.Format.htmlEncode(rv)},getPropertyName:function(_1c){var pn=this.grid.propertyNames;return pn&amp;&amp;pn[_1c]?pn[_1c]:_1c},getCellEditor:function(_1e,_1f){var p=this.store.getProperty(_1f);var n=p.data.name,val=p.data.value;if(this.grid.customEditors[n]){return this.grid.customEditors[n]}if(Ext.isDate(val)){return this.editors.date}else{if(typeof val==&quot;number&quot;){return this.editors.number}else{if(typeof val==&quot;boolean&quot;){return this.editors[&quot;boolean&quot;]}else{return this.editors.string}}}}});Ext.grid.PropertyGrid=Ext.extend(Ext.grid.EditorGridPanel,{enableColumnMove:false,stripeRows:false,trackMouseOver:false,clicksToEdit:1,enableHdMenu:false,viewConfig:{forceFit:true},initComponent:function(){this.customEditors=this.customEditors||{};this.lastEditRow=null;var _23=new Ext.grid.PropertyStore(this);this.propStore=_23;var cm=new Ext.grid.PropertyColumnModel(this,_23);_23.store.sort(&quot;name&quot;,&quot;ASC&quot;);this.addEvents(&quot;beforepropertychange&quot;,&quot;propertychange&quot;);this.cm=cm;this.ds=_23.store;Ext.grid.PropertyGrid.superclass.initComponent.call(this);this.selModel.on(&quot;beforecellselect&quot;,function(sm,_26,_27){if(_27===0){this.startEditing.defer(200,this,[_26,1]);return false}},this)},onRender:function(){Ext.grid.PropertyGrid.superclass.onRender.apply(this,arguments);this.getGridEl().addClass(&quot;x-props-grid&quot;)},afterRender:function(){Ext.grid.PropertyGrid.superclass.afterRender.apply(this,arguments);if(this.source){this.setSource(this.source)}},setSource:function(_28){this.propStore.setSource(_28)},getSource:function(){return this.propStore.getSource()}});Ext.reg(&quot;propertygrid&quot;,Ext.grid.PropertyGrid);Ext.grid.RowNumberer=function(_1){Ext.apply(this,_1);if(this.rowspan){this.renderer=this.renderer.createDelegate(this)}};Ext.grid.RowNumberer.prototype={header:&quot;&quot;,width:23,sortable:false,fixed:true,menuDisabled:true,dataIndex:&quot;&quot;,id:&quot;numberer&quot;,rowspan:undefined,renderer:function(v,p,_4,_5){if(this.rowspan){p.cellAttr='rowspan=&quot;'+this.rowspan+'&quot;'}return _5+1}};Ext.grid.CheckboxSelectionModel=Ext.extend(Ext.grid.RowSelectionModel,{header:'&lt;div class=&quot;x-grid3-hd-checker&quot;&gt;&amp;#160;&lt;/div&gt;',width:20,sortable:false,menuDisabled:true,fixed:true,dataIndex:&quot;&quot;,id:&quot;checker&quot;,initEvents:function(){Ext.grid.CheckboxSelectionModel.superclass.initEvents.call(this);this.grid.on(&quot;render&quot;,function(){var _1=this.grid.getView();_1.mainBody.on(&quot;mousedown&quot;,this.onMouseDown,this);Ext.fly(_1.innerHd).on(&quot;mousedown&quot;,this.onHdMouseDown,this)},this)},onMouseDown:function(e,t){if(e.button===0&amp;&amp;t.className==&quot;x-grid3-row-checker&quot;){e.stopEvent();var _4=e.getTarget(&quot;.x-grid3-row&quot;);if(_4){var _5=_4.rowIndex;if(this.isSelected(_5)){this.deselectRow(_5)}else{this.selectRow(_5,true)}}}},onHdMouseDown:function(e,t){if(t.className==&quot;x-grid3-hd-checker&quot;){e.stopEvent();var hd=Ext.fly(t.parentNode);var _9=hd.hasClass(&quot;x-grid3-hd-checker-on&quot;);if(_9){hd.removeClass(&quot;x-grid3-hd-checker-on&quot;);this.clearSelections()}else{hd.addClass(&quot;x-grid3-hd-checker-on&quot;);this.selectAll()}}},renderer:function(v,p,_c){return'&lt;div class=&quot;x-grid3-row-checker&quot;&gt;&amp;#160;&lt;/div&gt;'}});Ext.LoadMask=function(el,_2){this.el=Ext.get(el);Ext.apply(this,_2);if(this.store){this.store.on(&quot;beforeload&quot;,this.onBeforeLoad,this);this.store.on(&quot;load&quot;,this.onLoad,this);this.store.on(&quot;loadexception&quot;,this.onLoad,this);this.removeMask=Ext.value(this.removeMask,false)}else{var um=this.el.getUpdater();um.showLoadIndicator=false;um.on(&quot;beforeupdate&quot;,this.onBeforeLoad,this);um.on(&quot;update&quot;,this.onLoad,this);um.on(&quot;failure&quot;,this.onLoad,this);this.removeMask=Ext.value(this.removeMask,true)}};Ext.LoadMask.prototype={msg:&quot;Loading...&quot;,msgCls:&quot;x-mask-loading&quot;,disabled:false,disable:function(){this.disabled=true},enable:function(){this.disabled=false},onLoad:function(){this.el.unmask(this.removeMask)},onBeforeLoad:function(){if(!this.disabled){this.el.mask(this.msg,this.msgCls)}},show:function(){this.onBeforeLoad()},hide:function(){this.onLoad()},destroy:function(){if(this.store){this.store.un(&quot;beforeload&quot;,this.onBeforeLoad,this);this.store.un(&quot;load&quot;,this.onLoad,this);this.store.un(&quot;loadexception&quot;,this.onLoad,this)}else{var um=this.el.getUpdater();um.un(&quot;beforeupdate&quot;,this.onBeforeLoad,this);um.un(&quot;update&quot;,this.onLoad,this);um.un(&quot;failure&quot;,this.onLoad,this)}}};Ext.ProgressBar=Ext.extend(Ext.BoxComponent,{baseCls:&quot;x-progress&quot;,animate:false,waitTimer:null,initComponent:function(){Ext.ProgressBar.superclass.initComponent.call(this);this.addEvents(&quot;update&quot;)},onRender:function(ct,_2){Ext.ProgressBar.superclass.onRender.call(this,ct,_2);var _3=new Ext.Template('&lt;div class=&quot;{cls}-wrap&quot;&gt;','&lt;div class=&quot;{cls}-inner&quot;&gt;','&lt;div class=&quot;{cls}-bar&quot;&gt;','&lt;div class=&quot;{cls}-text&quot;&gt;',&quot;&lt;div&gt;&amp;#160;&lt;/div&gt;&quot;,&quot;&lt;/div&gt;&quot;,&quot;&lt;/div&gt;&quot;,'&lt;div class=&quot;{cls}-text {cls}-text-back&quot;&gt;',&quot;&lt;div&gt;&amp;#160;&lt;/div&gt;&quot;,&quot;&lt;/div&gt;&quot;,&quot;&lt;/div&gt;&quot;,&quot;&lt;/div&gt;&quot;);if(_2){this.el=_3.insertBefore(_2,{cls:this.baseCls},true)}else{this.el=_3.append(ct,{cls:this.baseCls},true)}if(this.id){this.el.dom.id=this.id}var _4=this.el.dom.firstChild;this.progressBar=Ext.get(_4.firstChild);if(this.textEl){this.textEl=Ext.get(this.textEl);
-delete this.textTopEl}else{this.textTopEl=Ext.get(this.progressBar.dom.firstChild);var _5=Ext.get(_4.childNodes[1]);this.textTopEl.setStyle(&quot;z-index&quot;,99).addClass(&quot;x-hidden&quot;);this.textEl=new Ext.CompositeElement([this.textTopEl.dom.firstChild,_5.dom.firstChild]);this.textEl.setWidth(_4.offsetWidth)}this.progressBar.setHeight(_4.offsetHeight)},afterRender:function(){Ext.ProgressBar.superclass.afterRender.call(this);if(this.value){this.updateProgress(this.value,this.text)}else{this.updateText(this.text)}},updateProgress:function(_6,_7,_8){this.value=_6||0;if(_7){this.updateText(_7)}if(this.rendered){var w=Math.floor(_6*this.el.dom.firstChild.offsetWidth);this.progressBar.setWidth(w,_8===true||(_8!==false&amp;&amp;this.animate));if(this.textTopEl){this.textTopEl.removeClass(&quot;x-hidden&quot;).setWidth(w)}}this.fireEvent(&quot;update&quot;,this,_6,_7);return this},wait:function(o){if(!this.waitTimer){var _b=this;o=o||{};this.updateText(o.text);this.waitTimer=Ext.TaskMgr.start({run:function(i){var _d=o.increment||10;this.updateProgress(((((i+_d)%_d)+1)*(100/_d))*0.01,null,o.animate)},interval:o.interval||1000,duration:o.duration,onStop:function(){if(o.fn){o.fn.apply(o.scope||this)}this.reset()},scope:_b})}return this},isWaiting:function(){return this.waitTimer!=null},updateText:function(_e){this.text=_e||&quot;&amp;#160;&quot;;if(this.rendered){this.textEl.update(this.text)}return this},syncProgressBar:function(){if(this.value){this.updateProgress(this.value,this.text)}return this},setSize:function(w,h){Ext.ProgressBar.superclass.setSize.call(this,w,h);if(this.textTopEl){var _11=this.el.dom.firstChild;this.textEl.setSize(_11.offsetWidth,_11.offsetHeight)}this.syncProgressBar();return this},reset:function(_12){this.updateProgress(0);if(this.textTopEl){this.textTopEl.addClass(&quot;x-hidden&quot;)}if(this.waitTimer){this.waitTimer.onStop=null;Ext.TaskMgr.stop(this.waitTimer);this.waitTimer=null}if(_12===true){this.hide()}return this}});Ext.reg(&quot;progress&quot;,Ext.ProgressBar);Ext.Slider=Ext.extend(Ext.BoxComponent,{vertical:false,minValue:0,maxValue:100,keyIncrement:1,increment:0,clickRange:[5,15],clickToChange:true,animate:true,dragging:false,initComponent:function(){if(this.value===undefined){this.value=this.minValue}Ext.Slider.superclass.initComponent.call(this);this.keyIncrement=Math.max(this.increment,this.keyIncrement);this.addEvents(&quot;beforechange&quot;,&quot;change&quot;,&quot;changecomplete&quot;,&quot;dragstart&quot;,&quot;drag&quot;,&quot;dragend&quot;);if(this.vertical){Ext.apply(this,Ext.Slider.Vertical)}},onRender:function(){this.autoEl={cls:&quot;x-slider &quot;+(this.vertical?&quot;x-slider-vert&quot;:&quot;x-slider-horz&quot;),cn:{cls:&quot;x-slider-end&quot;,cn:{cls:&quot;x-slider-inner&quot;,cn:[{cls:&quot;x-slider-thumb&quot;},{tag:&quot;a&quot;,cls:&quot;x-slider-focus&quot;,href:&quot;#&quot;,tabIndex:&quot;-1&quot;,hidefocus:&quot;on&quot;}]}}};Ext.Slider.superclass.onRender.apply(this,arguments);this.endEl=this.el.first();this.innerEl=this.endEl.first();this.thumb=this.innerEl.first();this.halfThumb=(this.vertical?this.thumb.getHeight():this.thumb.getWidth())/2;this.focusEl=this.thumb.next();this.initEvents()},initEvents:function(){this.thumb.addClassOnOver(&quot;x-slider-thumb-over&quot;);this.mon(this.el,&quot;mousedown&quot;,this.onMouseDown,this);this.mon(this.el,&quot;keydown&quot;,this.onKeyDown,this);this.focusEl.swallowEvent(&quot;click&quot;,true);this.tracker=new Ext.dd.DragTracker({onBeforeStart:this.onBeforeDragStart.createDelegate(this),onStart:this.onDragStart.createDelegate(this),onDrag:this.onDrag.createDelegate(this),onEnd:this.onDragEnd.createDelegate(this),tolerance:3,autoStart:300});this.tracker.initEl(this.thumb);this.on(&quot;beforedestroy&quot;,this.tracker.destroy,this.tracker)},onMouseDown:function(e){if(this.disabled){return}if(this.clickToChange&amp;&amp;e.target!=this.thumb.dom){var _2=this.innerEl.translatePoints(e.getXY());this.onClickChange(_2)}this.focus()},onClickChange:function(_3){if(_3.top&gt;this.clickRange[0]&amp;&amp;_3.top&lt;this.clickRange[1]){this.setValue(Math.round(this.reverseValue(_3.left)),undefined,true)}},onKeyDown:function(e){if(this.disabled){e.preventDefault();return}var k=e.getKey();switch(k){case e.UP:case e.RIGHT:e.stopEvent();if(e.ctrlKey){this.setValue(this.maxValue,undefined,true)}else{this.setValue(this.value+this.keyIncrement,undefined,true)}break;case e.DOWN:case e.LEFT:e.stopEvent();if(e.ctrlKey){this.setValue(this.minValue,undefined,true)}else{this.setValue(this.value-this.keyIncrement,undefined,true)}break;default:e.preventDefault()}},doSnap:function(_6){if(!this.increment||this.increment==1||!_6){return _6}var _7=_6,_8=this.increment;var m=_6%_8;if(m&gt;0){if(m&gt;(_8/2)){_7=_6+(_8-m)}else{_7=_6-m}}return _7.constrain(this.minValue,this.maxValue)},afterRender:function(){Ext.Slider.superclass.afterRender.apply(this,arguments);if(this.value!==undefined){var v=this.normalizeValue(this.value);if(v!==this.value){delete this.value;this.setValue(v,false)}else{this.moveThumb(this.translateValue(v),false)}}},getRatio:function(){var w=this.innerEl.getWidth();var v=this.maxValue-this.minValue;return v==0?w:(w/v)},normalizeValue:function(v){if(typeof v!=&quot;number&quot;){v=parseInt(v)}v=Math.round(v);v=this.doSnap(v);v=v.constrain(this.minValue,this.maxValue);return v},setValue:function(v,_f,_10){v=this.normalizeValue(v);if(v!==this.value&amp;&amp;this.fireEvent(&quot;beforechange&quot;,this,v,this.value)!==false){this.value=v;this.moveThumb(this.translateValue(v),_f!==false);this.fireEvent(&quot;change&quot;,this,v);if(_10){this.fireEvent(&quot;changecomplete&quot;,this,v)}}},translateValue:function(v){var _12=this.getRatio();return(v*_12)-(this.minValue*_12)-this.halfThumb},reverseValue:function(pos){var _14=this.getRatio();return(pos+this.halfThumb+(this.minValue*_14))/_14},moveThumb:function(v,_16){if(!_16||this.animate===false){this.thumb.setLeft(v)}else{this.thumb.shift({left:v,stopFx:true,duration:0.35})}},focus:function(){this.focusEl.focus(10)},onBeforeDragStart:function(e){return !this.disabled},onDragStart:function(e){this.thumb.addClass(&quot;x-slider-thumb-drag&quot;);this.dragging=true;this.dragStartValue=this.value;this.fireEvent(&quot;dragstart&quot;,this,e)},onDrag:function(e){var pos=this.innerEl.translatePoints(this.tracker.getXY());this.setValue(Math.round(this.reverseValue(pos.left)),false);this.fireEvent(&quot;drag&quot;,this,e)},onDragEnd:function(e){this.thumb.removeClass(&quot;x-slider-thumb-drag&quot;);this.dragging=false;this.fireEvent(&quot;dragend&quot;,this,e);if(this.dragStartValue!=this.value){this.fireEvent(&quot;changecomplete&quot;,this,this.value)}},onDisable:function(){Ext.Slider.superclass.onDisable.call(this);this.thumb.addClass(this.disabledClass);if(Ext.isIE){var xy=this.thumb.getXY();this.thumb.hide();this.innerEl.addClass(this.disabledClass).dom.disabled=true;if(!this.thumbHolder){this.thumbHolder=this.endEl.createChild({cls:&quot;x-slider-thumb &quot;+this.disabledClass})}this.thumbHolder.show().setXY(xy)}},onEnable:function(){Ext.Slider.superclass.onEnable.call(this);this.thumb.removeClass(this.disabledClass);if(Ext.isIE){this.innerEl.removeClass(this.disabledClass).dom.disabled=false;if(this.thumbHolder){this.thumbHolder.hide()}this.thumb.show();this.syncThumb()}},onResize:function(w,h){this.innerEl.setWidth(w-(this.el.getPadding(&quot;l&quot;)+this.endEl.getPadding(&quot;r&quot;)));this.syncThumb()},syncThumb:function(){if(this.rendered){this.moveThumb(this.translateValue(this.value))}},getValue:function(){return this.value}});Ext.reg(&quot;slider&quot;,Ext.Slider);Ext.Slider.Vertical={onResize:function(w,h){this.innerEl.setHeight(h-(this.el.getPadding(&quot;t&quot;)+this.endEl.getPadding(&quot;b&quot;)));this.syncThumb()},getRatio:function(){var h=this.innerEl.getHeight();var v=this.maxValue-this.minValue;return h/v},moveThumb:function(v,_24){if(!_24||this.animate===false){this.thumb.setBottom(v)}else{this.thumb.shift({bottom:v,stopFx:true,duration:0.35})}},onDrag:function(e){var pos=this.innerEl.translatePoints(this.tracker.getXY());var _27=this.innerEl.getHeight()-pos.top;this.setValue(this.minValue+Math.round(_27/this.getRatio()),false);this.fireEvent(&quot;drag&quot;,this,e)},onClickChange:function(_28){if(_28.left&gt;this.clickRange[0]&amp;&amp;_28.left&lt;this.clickRange[1]){var _29=this.innerEl.getHeight()-_28.top;this.setValue(this.minValue+Math.round(_29/this.getRatio()),undefined,true)}}};Ext.StatusBar=Ext.extend(Ext.Toolbar,{cls:&quot;x-statusbar&quot;,busyIconCls:&quot;x-status-busy&quot;,busyText:&quot;Loading...&quot;,autoClear:5000,activeThreadId:0,initComponent:function(){if(this.statusAlign==&quot;right&quot;){this.cls+=&quot; x-status-right&quot;
-}Ext.StatusBar.superclass.initComponent.call(this)},afterRender:function(){Ext.StatusBar.superclass.afterRender.call(this);var _1=this.statusAlign==&quot;right&quot;,td=Ext.get(this.nextBlock());if(_1){this.tr.appendChild(td.dom)}else{td.insertBefore(this.tr.firstChild)}this.statusEl=td.createChild({cls:&quot;x-status-text &quot;+(this.iconCls||this.defaultIconCls||&quot;&quot;),html:this.text||this.defaultText||&quot;&quot;});this.statusEl.unselectable();this.spacerEl=td.insertSibling({tag:&quot;td&quot;,style:&quot;width:100%&quot;,cn:[{cls:&quot;ytb-spacer&quot;}]},_1?&quot;before&quot;:&quot;after&quot;)},setStatus:function(o){o=o||{};if(typeof o==&quot;string&quot;){o={text:o}}if(o.text!==undefined){this.setText(o.text)}if(o.iconCls!==undefined){this.setIcon(o.iconCls)}if(o.clear){var c=o.clear,_5=this.autoClear,_6={useDefaults:true,anim:true};if(typeof c==&quot;object&quot;){c=Ext.applyIf(c,_6);if(c.wait){_5=c.wait}}else{if(typeof c==&quot;number&quot;){_5=c;c=_6}else{if(typeof c==&quot;boolean&quot;){c=_6}}}c.threadId=this.activeThreadId;this.clearStatus.defer(_5,this,[c])}return this},clearStatus:function(o){o=o||{};if(o.threadId&amp;&amp;o.threadId!==this.activeThreadId){return this}var _8=o.useDefaults?this.defaultText:&quot;&quot;,_9=o.useDefaults?(this.defaultIconCls?this.defaultIconCls:&quot;&quot;):&quot;&quot;;if(o.anim){this.statusEl.fadeOut({remove:false,useDisplay:true,scope:this,callback:function(){this.setStatus({text:_8,iconCls:_9});this.statusEl.show()}})}else{this.statusEl.hide();this.setStatus({text:_8,iconCls:_9});this.statusEl.show()}return this},setText:function(_a){this.activeThreadId++;this.text=_a||&quot;&quot;;if(this.rendered){this.statusEl.update(this.text)}return this},getText:function(){return this.text},setIcon:function(_b){this.activeThreadId++;_b=_b||&quot;&quot;;if(this.rendered){if(this.currIconCls){this.statusEl.removeClass(this.currIconCls);this.currIconCls=null}if(_b.length&gt;0){this.statusEl.addClass(_b);this.currIconCls=_b}}else{this.currIconCls=_b}return this},showBusy:function(o){if(typeof o==&quot;string&quot;){o={text:o}}o=Ext.applyIf(o||{},{text:this.busyText,iconCls:this.busyIconCls});return this.setStatus(o)}});Ext.reg(&quot;statusbar&quot;,Ext.StatusBar);Ext.History=(function(){var _1,_2;var _3=false;var _4;function getHash(){var _5=top.location.href,i=_5.indexOf(&quot;#&quot;);return i&gt;=0?_5.substr(i+1):null}function doSave(){_2.value=_4}function handleStateChange(_7){_4=_7;Ext.History.fireEvent(&quot;change&quot;,_7)}function updateIFrame(_8){var _9=['&lt;html&gt;&lt;body&gt;&lt;div id=&quot;state&quot;&gt;',_8,&quot;&lt;/div&gt;&lt;/body&gt;&lt;/html&gt;&quot;].join(&quot;&quot;);try{var _a=_1.contentWindow.document;_a.open();_a.write(_9);_a.close();return true}catch(e){return false}}function checkIFrame(){if(!_1.contentWindow||!_1.contentWindow.document){setTimeout(checkIFrame,10);return}var _b=_1.contentWindow.document;var _c=_b.getElementById(&quot;state&quot;);var _d=_c?_c.innerText:null;var _e=getHash();setInterval(function(){_b=_1.contentWindow.document;_c=_b.getElementById(&quot;state&quot;);var _f=_c?_c.innerText:null;var _10=getHash();if(_f!==_d){_d=_f;handleStateChange(_d);top.location.hash=_d;_e=_d;doSave()}else{if(_10!==_e){_e=_10;updateIFrame(_10)}}},50);_3=true;Ext.History.fireEvent(&quot;ready&quot;,Ext.History)}function startUp(){_4=_2.value?_2.value:getHash();if(Ext.isIE){checkIFrame()}else{var _11=getHash();setInterval(function(){var _12=getHash();if(_12!==_11){_11=_12;handleStateChange(_11);doSave()}},50);_3=true;Ext.History.fireEvent(&quot;ready&quot;,Ext.History)}}return{fieldId:&quot;x-history-field&quot;,iframeId:&quot;x-history-frame&quot;,events:{},init:function(_13,_14){if(_3){Ext.callback(_13,_14,[this]);return}if(!Ext.isReady){Ext.onReady(function(){Ext.History.init(_13,_14)});return}_2=Ext.getDom(Ext.History.fieldId);if(Ext.isIE){_1=Ext.getDom(Ext.History.iframeId)}this.addEvents(&quot;ready&quot;,&quot;change&quot;);if(_13){this.on(&quot;ready&quot;,_13,_14,{single:true})}startUp()},add:function(_15,_16){if(_16!==false){if(this.getToken()==_15){return true}}if(Ext.isIE){return updateIFrame(_15)}else{top.location.hash=_15;return true}},back:function(){history.go(-1)},forward:function(){history.go(1)},getToken:function(){return _3?_4:getHash()}}})();Ext.apply(Ext.History,new Ext.util.Observable());Ext.debug={};(function(){var cp;function createConsole(){var _2=new Ext.debug.ScriptsPanel();var _3=new Ext.debug.LogPanel();var _4=new Ext.debug.DomTree();var _5=new Ext.TabPanel({activeTab:0,border:false,tabPosition:&quot;bottom&quot;,items:[{title:&quot;Debug Console&quot;,layout:&quot;border&quot;,items:[_3,_2]},{title:&quot;DOM Inspector&quot;,layout:&quot;border&quot;,items:[_4]}]});cp=new Ext.Panel({id:&quot;x-debug-browser&quot;,title:&quot;Console&quot;,collapsible:true,animCollapse:false,style:&quot;position:absolute;left:0;bottom:0;&quot;,height:200,logView:_3,layout:&quot;fit&quot;,tools:[{id:&quot;close&quot;,handler:function(){cp.destroy();cp=null;Ext.EventManager.removeResizeListener(handleResize)}}],items:_5});cp.render(document.body);cp.resizer=new Ext.Resizable(cp.el,{minHeight:50,handles:&quot;n&quot;,pinned:true,transparent:true,resizeElement:function(){var _6=this.proxy.getBox();this.proxy.hide();cp.setHeight(_6.height);return _6}});function handleResize(){cp.setWidth(Ext.getBody().getViewSize().width)}Ext.EventManager.onWindowResize(handleResize);handleResize()}Ext.apply(Ext,{log:function(){if(!cp){createConsole()}cp.logView.log.apply(cp.logView,arguments)},logf:function(_7,_8,_9,_a){Ext.log(String.format.apply(String,arguments))},dump:function(o){if(typeof o==&quot;string&quot;||typeof o==&quot;number&quot;||typeof o==&quot;undefined&quot;||Ext.isDate(o)){Ext.log(o)}else{if(!o){Ext.log(&quot;null&quot;)}else{if(typeof o!=&quot;object&quot;){Ext.log(&quot;Unknown return type&quot;)}else{if(Ext.isArray(o)){Ext.log(&quot;[&quot;+o.join(&quot;,&quot;)+&quot;]&quot;)}else{var b=[&quot;{\n&quot;];for(var _d in o){var to=typeof o[_d];if(to!=&quot;function&quot;&amp;&amp;to!=&quot;object&quot;){b.push(String.format(&quot;  {0}: {1},\n&quot;,_d,o[_d]))}}var s=b.join(&quot;&quot;);if(s.length&gt;3){s=s.substr(0,s.length-2)}Ext.log(s+&quot;\n}&quot;)}}}}},_timers:{},time:function(_10){_10=_10||&quot;def&quot;;Ext._timers[_10]=new Date().getTime()},timeEnd:function(_11,_12){var t=new Date().getTime();_11=_11||&quot;def&quot;;var v=String.format(&quot;{0} ms&quot;,t-Ext._timers[_11]);Ext._timers[_11]=new Date().getTime();if(_12!==false){Ext.log(&quot;Timer &quot;+(_11==&quot;def&quot;?v:_11+&quot;: &quot;+v))}return v}})})();Ext.debug.ScriptsPanel=Ext.extend(Ext.Panel,{id:&quot;x-debug-scripts&quot;,region:&quot;east&quot;,minWidth:200,split:true,width:350,border:false,layout:&quot;anchor&quot;,style:&quot;border-width:0 0 0 1px;&quot;,initComponent:function(){this.scriptField=new Ext.form.TextArea({anchor:&quot;100% -26&quot;,style:&quot;border-width:0;&quot;});this.trapBox=new Ext.form.Checkbox({id:&quot;console-trap&quot;,boxLabel:&quot;Trap Errors&quot;,checked:true});this.toolbar=new Ext.Toolbar([{text:&quot;Run&quot;,scope:this,handler:this.evalScript},{text:&quot;Clear&quot;,scope:this,handler:this.clear},&quot;-&gt;&quot;,this.trapBox,&quot; &quot;,&quot; &quot;]);this.items=[this.toolbar,this.scriptField];Ext.debug.ScriptsPanel.superclass.initComponent.call(this)},evalScript:function(){var s=this.scriptField.getValue();if(this.trapBox.getValue()){try{var rt=eval(s);Ext.dump(rt===undefined?&quot;(no return)&quot;:rt)}catch(e){Ext.log(e.message||e.descript)}}else{var rt=eval(s);Ext.dump(rt===undefined?&quot;(no return)&quot;:rt)}},clear:function(){this.scriptField.setValue(&quot;&quot;);this.scriptField.focus()}});Ext.debug.LogPanel=Ext.extend(Ext.Panel,{autoScroll:true,region:&quot;center&quot;,border:false,style:&quot;border-width:0 1px 0 0&quot;,log:function(){var _17=['&lt;div style=&quot;padding:5px !important;border-bottom:1px solid #ccc;&quot;&gt;',Ext.util.Format.htmlEncode(Array.prototype.join.call(arguments,&quot;, &quot;)).replace(/\n/g,&quot;&lt;br /&gt;&quot;).replace(/\s/g,&quot;&amp;#160;&quot;),&quot;&lt;/div&gt;&quot;].join(&quot;&quot;);this.body.insertHtml(&quot;beforeend&quot;,_17);this.body.scrollTo(&quot;top&quot;,100000)},clear:function(){this.body.update(&quot;&quot;);this.body.dom.scrollTop=0}});Ext.debug.DomTree=Ext.extend(Ext.tree.TreePanel,{enableDD:false,lines:false,rootVisible:false,animate:false,hlColor:&quot;ffff9c&quot;,autoScroll:true,region:&quot;center&quot;,border:false,initComponent:function(){Ext.debug.DomTree.superclass.initComponent.call(this);var _18=false,_19;var _1a=/^\s*$/;var _1b=Ext.util.Format.htmlEncode;var _1c=Ext.util.Format.ellipsis;var _1d=/\s?([a-z\-]*)\:([^;]*)(?:[;\s\n\r]*)/gi;function findNode(n){if(!n||n.nodeType!=1||n==document.body||n==document){return false}var pn=[n],p=n;while((p=p.parentNode)&amp;&amp;p.nodeType==1&amp;&amp;p.tagName.toUpperCase()!=&quot;HTML&quot;){pn.unshift(p)}var cn=_19;for(var i=0,len=pn.length;i&lt;len;i++){cn.expand();
-cn=cn.findChild(&quot;htmlNode&quot;,pn[i]);if(!cn){return false}}cn.select();var a=cn.ui.anchor;treeEl.dom.scrollTop=Math.max(0,a.offsetTop-10);cn.highlight();return true}function nodeTitle(n){var s=n.tagName;if(n.id){s+=&quot;#&quot;+n.id}else{if(n.className){s+=&quot;.&quot;+n.className}}return s}function onNodeSelect(t,n,_29){return;if(_29&amp;&amp;_29.unframe){_29.unframe()}var _2a={};if(n&amp;&amp;n.htmlNode){if(frameEl.pressed){n.frame()}if(inspecting){return}addStyle.enable();reload.setDisabled(n.leaf);var dom=n.htmlNode;stylePanel.setTitle(nodeTitle(dom));if(_18&amp;&amp;!showAll.pressed){var s=dom.style?dom.style.cssText:&quot;&quot;;if(s){var m;while((m=_1d.exec(s))!=null){_2a[m[1].toLowerCase()]=m[2]}}}else{if(_18){var cl=Ext.debug.cssList;var s=dom.style,fly=Ext.fly(dom);if(s){for(var i=0,len=cl.length;i&lt;len;i++){var st=cl[i];var v=s[st]||fly.getStyle(st);if(v!=undefined&amp;&amp;v!==null&amp;&amp;v!==&quot;&quot;){_2a[st]=v}}}}else{for(var a in dom){var v=dom[a];if((isNaN(a+10))&amp;&amp;v!=undefined&amp;&amp;v!==null&amp;&amp;v!==&quot;&quot;&amp;&amp;!(Ext.isGecko&amp;&amp;a[0]==a[0].toUpperCase())){_2a[a]=v}}}}}else{if(inspecting){return}addStyle.disable();reload.disabled()}stylesGrid.setSource(_2a);stylesGrid.treeNode=n;stylesGrid.view.fitColumns()}this.loader=new Ext.tree.TreeLoader();this.loader.load=function(n,cb){var _37=n.htmlNode==document.body;var cn=n.htmlNode.childNodes;for(var i=0,c;c=cn[i];i++){if(_37&amp;&amp;c.id==&quot;x-debug-browser&quot;){continue}if(c.nodeType==1){n.appendChild(new Ext.debug.HtmlNode(c))}else{if(c.nodeType==3&amp;&amp;!_1a.test(c.nodeValue)){n.appendChild(new Ext.tree.TreeNode({text:&quot;&lt;em&gt;&quot;+_1c(_1b(String(c.nodeValue)),35)+&quot;&lt;/em&gt;&quot;,cls:&quot;x-tree-noicon&quot;}))}}}cb()};this.root=this.setRootNode(new Ext.tree.TreeNode(&quot;Ext&quot;));_19=this.root.appendChild(new Ext.debug.HtmlNode(document.getElementsByTagName(&quot;html&quot;)[0]))}});Ext.debug.HtmlNode=function(){var _3b=Ext.util.Format.htmlEncode;var _3c=Ext.util.Format.ellipsis;var _3d=/^\s*$/;var _3e=[{n:&quot;id&quot;,v:&quot;id&quot;},{n:&quot;className&quot;,v:&quot;class&quot;},{n:&quot;name&quot;,v:&quot;name&quot;},{n:&quot;type&quot;,v:&quot;type&quot;},{n:&quot;src&quot;,v:&quot;src&quot;},{n:&quot;href&quot;,v:&quot;href&quot;}];function hasChild(n){for(var i=0,c;c=n.childNodes[i];i++){if(c.nodeType==1){return true}}return false}function renderNode(n,_43){var tag=n.tagName.toLowerCase();var s=&quot;&amp;lt;&quot;+tag;for(var i=0,len=_3e.length;i&lt;len;i++){var a=_3e[i];var v=n[a.n];if(v&amp;&amp;!_3d.test(v)){s+=&quot; &quot;+a.v+&quot;=&amp;quot;&lt;i&gt;&quot;+_3b(v)+&quot;&lt;/i&gt;&amp;quot;&quot;}}var _4a=n.style?n.style.cssText:&quot;&quot;;if(_4a){s+=&quot; style=&amp;quot;&lt;i&gt;&quot;+_3b(_4a.toLowerCase())+&quot;&lt;/i&gt;&amp;quot;&quot;}if(_43&amp;&amp;n.childNodes.length&gt;0){s+=&quot;&amp;gt;&lt;em&gt;&quot;+_3c(_3b(String(n.innerHTML)),35)+&quot;&lt;/em&gt;&amp;lt;/&quot;+tag+&quot;&amp;gt;&quot;}else{if(_43){s+=&quot; /&amp;gt;&quot;}else{s+=&quot;&amp;gt;&quot;}}return s}var _4b=function(n){var _4d=!hasChild(n);this.htmlNode=n;this.tagName=n.tagName.toLowerCase();var _4e={text:renderNode(n,_4d),leaf:_4d,cls:&quot;x-tree-noicon&quot;};_4b.superclass.constructor.call(this,_4e);this.attributes.htmlNode=n;if(!_4d){this.on(&quot;expand&quot;,this.onExpand,this);this.on(&quot;collapse&quot;,this.onCollapse,this)}};Ext.extend(_4b,Ext.tree.AsyncTreeNode,{cls:&quot;x-tree-noicon&quot;,preventHScroll:true,refresh:function(_4f){var _50=!hasChild(this.htmlNode);this.setText(renderNode(this.htmlNode,_50));if(_4f){Ext.fly(this.ui.textNode).highlight()}},onExpand:function(){if(!this.closeNode&amp;&amp;this.parentNode){this.closeNode=this.parentNode.insertBefore(new Ext.tree.TreeNode({text:&quot;&amp;lt;/&quot;+this.tagName+&quot;&amp;gt;&quot;,cls:&quot;x-tree-noicon&quot;}),this.nextSibling)}else{if(this.closeNode){this.closeNode.ui.show()}}},onCollapse:function(){if(this.closeNode){this.closeNode.ui.hide()}},render:function(_51){_4b.superclass.render.call(this,_51)},highlightNode:function(){},highlight:function(){},frame:function(){this.htmlNode.style.border=&quot;1px solid #0000ff&quot;},unframe:function(){this.htmlNode.style.border=&quot;&quot;}});return _4b}();
-Ext.util.Format.eurMoney=function(v){v=(Math.round((v-0)*100))/100;v=(v==Math.floor(v))?v+&quot;.00&quot;:((v*10==Math.floor(v*10))?v+&quot;0&quot;:v);return&quot;&#8364;&quot;+v};Ext.util.Format.boolRenderer=function(v,p,record){p.css+=&quot; x-grid3-check-col-td&quot;;return'&lt;div class=&quot;x-grid3-check-col'+(v?&quot;-on&quot;:&quot;&quot;)+&quot; x-grid3-cc-&quot;+this.id+'&quot;&gt;&amp;#160;&lt;/div&gt;'};var treeDropConfig={getDropPoint:function(e,n,dd){var tn=n.node;if(tn.isRoot){return tn.allowChildren!==false?&quot;append&quot;:false}var dragEl=n.ddel;var t=Ext.lib.Dom.getY(dragEl),b=t+dragEl.offsetHeight;var y=Ext.lib.Event.getPageY(e);var noAppend=tn.allowChildren===false;if(this.appendOnly||tn.parentNode.allowChildren===false){return noAppend?false:&quot;append&quot;}var noBelow=false;if(!this.allowParentInsert){noBelow=tn.hasChildNodes()&amp;&amp;tn.isExpanded()}var q=(b-t)/(noAppend?2:3);if(y&gt;=t&amp;&amp;y&lt;(t+q)){return&quot;above&quot;}else{if(!noBelow&amp;&amp;(noAppend||y&gt;=b-q&amp;&amp;y&lt;=b)){return&quot;below&quot;}else{return&quot;append&quot;}}},completeDrop:function(de){var ns=de.dropNode,p=de.point,t=de.target;if(!Ext.isArray(ns)){ns=[ns]}var n;for(var i=0,len=ns.length;i&lt;len;i++){n=ns[i];if(p==&quot;above&quot;){t.parentNode.insertBefore(n,t)}else{if(p==&quot;below&quot;){t.parentNode.insertBefore(n,t.nextSibling)}else{t.leaf=false;t.appendChild(n)}}}n.ui.focus();if(this.tree.hlDrop){n.ui.highlight()}t.ui.endDrop();this.tree.fireEvent(&quot;nodedrop&quot;,de)}};Ext.lib.Event.getTarget=function(e){var ee=e.browserEvent||e;return ee.target?Event.element(ee):null};Ext.grid.CheckColumn=function(config){Ext.apply(this,config);if(!this.id){this.id=Ext.id()}this.renderer=this.renderer.createDelegate(this)};Ext.grid.CheckColumn.prototype={init:function(grid){this.grid=grid;this.grid.on(&quot;render&quot;,function(){var view=this.grid.getView();view.mainBody.on(&quot;mousedown&quot;,this.onMouseDown,this)},this)},onMouseDown:function(e,t){if(t.className&amp;&amp;t.className.indexOf(&quot;x-grid3-cc-&quot;+this.id)!=-1){e.stopEvent();var index=this.grid.getView().findRowIndex(t);var record=this.grid.store.getAt(index);var editEvent={grid:this.grid,record:this.grid.store.getAt(index),field:this.dataIndex,value:!record.data[this.dataIndex],originalValue:record.data[this.dataIndex],row:index,column:this.grid.getColumnModel().findColumnIndex(this.dataIndex)};record.set(this.dataIndex,editEvent.value);this.grid.getSelectionModel().selectRow(index);this.grid.fireEvent(&quot;afteredit&quot;,editEvent)}},renderer:function(v,p,record){p.css+=&quot; x-grid3-check-col-td&quot;;return'&lt;div class=&quot;x-grid3-check-col'+(v?&quot;-on&quot;:&quot;&quot;)+&quot; x-grid3-cc-&quot;+this.id+'&quot;&gt;&amp;#160;&lt;/div&gt;'}};Ext.form.DateTimeField=Ext.extend(Ext.form.Field,{defaultAutoCreate:{tag:&quot;input&quot;,type:&quot;hidden&quot;},timeWidth:100,dateWidth:100,dtSeparator:&quot; &quot;,hiddenFormat:&quot;Y-m-d H:i:s&quot;,otherToNow:true,dateFormat:&quot;d/m/y&quot;,timeFormat:&quot;H:i&quot;,allowBlank:false,hideTime:false,initComponent:function(){Ext.form.DateTimeField.superclass.initComponent.call(this);var dateConfig=Ext.apply({},{id:this.id+&quot;-date&quot;,format:this.dateFormat||Ext.form.DateField.prototype.format,width:this.dateWidth,allowBlank:this.allowBlank,selectOnFocus:this.selectOnFocus,listeners:{blur:{scope:this,fn:this.onBlur},focus:{scope:this,fn:this.onFocus}}},this.dateConfig);this.df=new Ext.form.DateField(dateConfig);this.df.ownerCt=this;delete (this.dateFormat);var timeConfig=Ext.apply({},{id:this.id+&quot;-time&quot;,format:this.timeFormat||Ext.form.TimeField.prototype.format,allowBlank:this.allowBlank,width:this.timeWidth,selectOnFocus:this.selectOnFocus,listeners:{blur:{scope:this,fn:this.onBlur},focus:{scope:this,fn:this.onFocus}}},this.timeConfig);this.tf=new Ext.form.TimeField(timeConfig);this.tf.ownerCt=this;delete (this.timeFormat);this.relayEvents(this.df,[&quot;focus&quot;,&quot;specialkey&quot;,&quot;invalid&quot;,&quot;valid&quot;]);this.relayEvents(this.tf,[&quot;focus&quot;,&quot;specialkey&quot;,&quot;invalid&quot;,&quot;valid&quot;])},onRender:function(ct,position){if(this.isRendered){return}Ext.form.DateTimeField.superclass.onRender.call(this,ct,position);var t;var timeStyle=this.hideTime?&quot;display:none&quot;:&quot;&quot;;t=Ext.DomHelper.append(ct,{tag:&quot;table&quot;,style:&quot;border-collapse:collapse&quot;,children:[{tag:&quot;tr&quot;,children:[{tag:&quot;td&quot;,style:&quot;padding-right:17px&quot;,cls:&quot;datetime-date&quot;},{tag:&quot;td&quot;,cls:&quot;datetime-time&quot;,style:timeStyle}]}]},true);this.tableEl=t;this.wrap=t.wrap();this.wrap.on(&quot;mousedown&quot;,this.onMouseDown,this,{delay:10});this.df.render(t.child(&quot;td.datetime-date&quot;));this.tf.render(t.child(&quot;td.datetime-time&quot;));this.df.wrap.setStyle({width:this.dateWidth});this.tf.wrap.setStyle({width:this.timeWidth});if(Ext.isIE&amp;&amp;Ext.isStrict){t.select(&quot;input&quot;).applyStyles({top:0})}this.on(&quot;specialkey&quot;,this.onSpecialKey,this);this.df.el.swallowEvent([&quot;keydown&quot;,&quot;keypress&quot;]);this.tf.el.swallowEvent([&quot;keydown&quot;,&quot;keypress&quot;]);if(&quot;side&quot;===this.msgTarget){var elp=this.el.findParent(&quot;.x-form-element&quot;,10,true);this.errorIcon=elp.createChild({cls:&quot;x-form-invalid-icon&quot;});this.df.errorIcon=this.errorIcon;this.tf.errorIcon=this.errorIcon}if(!this.el.dom.name){this.el.dom.name=this.hiddenName||this.name||this.id}this.df.el.dom.removeAttribute(&quot;name&quot;);this.tf.el.dom.removeAttribute(&quot;name&quot;);this.isRendered=true;if(this.el.dom.value){this.setValue(this.el.dom.value)}else{this.setValue(new Date());this.updateHidden()}},adjustSize:Ext.BoxComponent.prototype.adjustSize,alignErrorIcon:function(){this.errorIcon.alignTo(this.tableEl,&quot;tl-tr&quot;,[2,0])},initDateValue:function(){this.dateValue=this.otherToNow?new Date():new Date(1970,0,1,0,0,0)},clearInvalid:function(){this.df.clearInvalid();this.tf.clearInvalid()},beforeDestroy:function(){if(this.isRendered){this.wrap.removeAllListeners();this.wrap.remove();this.tableEl.remove();this.df.destroy();this.tf.destroy()}},disable:function(){if(this.isRendered){this.df.disabled=this.disabled;this.df.onDisable();this.tf.onDisable()}this.disabled=true;this.df.disabled=true;this.tf.disabled=true;this.fireEvent(&quot;disable&quot;,this);return this},enable:function(){if(this.rendered){this.df.onEnable();this.tf.onEnable()}this.disabled=false;this.df.disabled=false;this.tf.disabled=false;this.fireEvent(&quot;enable&quot;,this);return this},focus:function(){this.df.focus()},getPositionEl:function(){return this.wrap},getResizeEl:function(){return this.wrap},getValue:function(){return this.dateValue?new Date(this.dateValue):&quot;&quot;},isValid:function(){return this.df.isValid()&amp;&amp;this.tf.isValid()},isVisible:function(){return this.df.rendered&amp;&amp;this.df.getActionEl().isVisible()},onBlur:function(f){if(this.wrapClick){f.focus();this.wrapClick=false}this.updateDate();this.updateTime();this.updateHidden();(function(){if(!this.df.hasFocus&amp;&amp;!this.tf.hasFocus){var v=this.getValue();if(String(v)!==String(this.startValue)){this.fireEvent(&quot;change&quot;,this,v,this.startValue)}this.hasFocus=false;this.fireEvent(&quot;blur&quot;,this)}}).defer(100,this)},onFocus:function(){if(!this.hasFocus){this.hasFocus=true;this.startValue=this.getValue();this.fireEvent(&quot;focus&quot;,this)}},onMouseDown:function(e){if(!this.disabled){this.wrapClick=&quot;td&quot;===e.target.nodeName.toLowerCase()}},onSpecialKey:function(t,e){var key=e.getKey();if(key===e.TAB){if(t===this.df&amp;&amp;!e.shiftKey){e.stopEvent();this.tf.focus()}if(t===this.tf&amp;&amp;e.shiftKey){e.stopEvent();this.df.focus()}}if(key===e.ENTER){this.updateValue()}},setDate:function(date){this.df.setValue(date)},setTime:function(date){this.tf.setValue(date)},setSize:function(w,h){if(!w){return}if(&quot;below&quot;===this.timePosition){this.df.setSize(w,h);this.tf.setSize(w,h);if(Ext.isIE){this.df.el.up(&quot;td&quot;).setWidth(w);this.tf.el.up(&quot;td&quot;).setWidth(w)}}else{this.df.setSize(w-this.timeWidth-4,h);this.tf.setSize(this.timeWidth,h);if(Ext.isIE){this.df.el.up(&quot;td&quot;).setWidth(w-this.timeWidth-4);this.tf.el.up(&quot;td&quot;).setWidth(this.timeWidth)}}},setValue:function(val){if(!val&amp;&amp;true===this.emptyToNow){this.setValue(new Date());return}else{if(!val){this.setDate(&quot;&quot;);this.setTime(&quot;&quot;);this.updateValue();return}}if(&quot;number&quot;===typeof val){val=new Date(val)}val=val?val:new Date(1970,0,1,0,0,0);var da,time;if(val instanceof Date){this.setDate(val);this.setTime(val);this.dateValue=new Date(val)}else{da=val.split(this.dtSeparator);this.setDate(da[0]);if(da[1]){if(da[2]){da[1]+=da[2]}var hh=da[1].split(&quot;:&quot;);this.setTime(hh[0]+&quot;:&quot;+hh[1])}}},setVisible:function(visible){if(visible){this.df.show();
-this.tf.show()}else{this.df.hide();this.tf.hide()}return this},show:function(){return this.setVisible(true)},hide:function(){return this.setVisible(false)},updateDate:function(){var d=this.df.getValue();if(d){if(!(this.dateValue instanceof Date)){this.initDateValue();if(!this.tf.getValue()){this.setTime(this.dateValue)}}this.dateValue.setMonth(0);this.dateValue.setFullYear(d.getFullYear());this.dateValue.setMonth(d.getMonth());this.dateValue.setDate(d.getDate())}else{this.dateValue=&quot;&quot;;this.setTime(&quot;&quot;)}},updateTime:function(){var t=this.tf.getValue();if(t&amp;&amp;!(t instanceof Date)){t=Date.parseDate(t,this.tf.format)}if(t&amp;&amp;!this.df.getValue()){this.initDateValue();this.setDate(this.dateValue)}if(this.dateValue instanceof Date){if(t){this.dateValue.setHours(t.getHours());this.dateValue.setMinutes(t.getMinutes());this.dateValue.setSeconds(t.getSeconds())}else{this.dateValue.setHours(0);this.dateValue.setMinutes(0);this.dateValue.setSeconds(0)}}},updateHidden:function(){if(this.isRendered){var value=this.dateValue instanceof Date?this.dateValue.format(this.hiddenFormat):&quot;&quot;;this.el.dom.value=value}},updateValue:function(){this.updateDate();this.updateTime();this.updateHidden();return},validate:function(){return this.df.validate()&amp;&amp;this.tf.validate()},renderer:function(field){var format=field.editor.dateFormat||Ext.form.DateTime.prototype.dateFormat;format+=&quot; &quot;+(field.editor.timeFormat||Ext.form.DateTime.prototype.timeFormat);var renderer=function(val){var retval=Ext.util.Format.date(val,format);return retval};return renderer}});Ext.reg(&quot;datetimefield&quot;,Ext.form.DateTimeField);Ext.grid.Search=function(config){Ext.apply(this,config);Ext.grid.Search.superclass.constructor.call(this)};Ext.extend(Ext.grid.Search,Ext.util.Observable,{autoFocus:true,searchText:&quot;Search&quot;,searchTipText:&quot;Insert a word or press Search&quot;,selectAllText:&quot;Select All&quot;,position:&quot;top&quot;,iconCls:&quot;check&quot;,checkIndexes:&quot;all&quot;,disableIndexes:[],dateFormat:undefined,showSelectAll:true,menuStyle:&quot;checkbox&quot;,minCharsTipText:&quot;Insert at least {0} characters&quot;,mode:&quot;remote&quot;,width:200,xtype:&quot;gridsearch&quot;,paramNames:{fields:&quot;fields&quot;,query:&quot;query&quot;},shortcutKey:&quot;r&quot;,shortcutModifier:&quot;alt&quot;,align:&quot;right&quot;,minLength:3,init:function(grid){this.grid=grid;if(&quot;string&quot;===typeof this.toolbarContainer){this.toolbarContainer=Ext.getCmp(this.toolbarContainer)}grid.onRender=grid.onRender.createSequence(this.onRender,this);grid.reconfigure=grid.reconfigure.createSequence(this.reconfigure,this)},onRender:function(){var panel=this.toolbarContainer||this.grid;var tb=&quot;bottom&quot;===this.position?panel.bottomToolbar:panel.topToolbar;this.menu=new Ext.menu.Menu();if(&quot;right&quot;===this.align){tb.addFill()}else{if(0&lt;tb.items.getCount()){tb.addSeparator()}}tb.add({text:this.searchText,menu:this.menu});this.field=new Ext.form.TwinTriggerField({width:this.width,selectOnFocus:undefined===this.selectOnFocus?true:this.selectOnFocus,trigger1Class:&quot;x-form-clear-trigger&quot;,trigger2Class:this.minChars?&quot;x-hidden&quot;:&quot;x-form-search-trigger&quot;,onTrigger1Click:this.minChars?Ext.emptyFn:this.onTriggerClear.createDelegate(this),onTrigger2Click:this.onTriggerSearch.createDelegate(this),minLength:this.minLength});this.field.on(&quot;render&quot;,function(){this.field.el.dom.qtip=this.minChars?String.format(this.minCharsTipText,this.minChars):this.searchTipText;if(this.minChars){this.field.el.on({scope:this,buffer:300,keyup:this.onKeyUp})}var map=new Ext.KeyMap(this.field.el,[{key:Ext.EventObject.ENTER,scope:this,fn:this.onTriggerSearch},{key:Ext.EventObject.ESC,scope:this,fn:this.onTriggerClear}]);map.stopEvent=true},this,{single:true});tb.add(this.field);this.reconfigure();if(this.shortcutKey&amp;&amp;this.shortcutModifier){var shortcutEl=this.grid.getEl();var shortcutCfg=[{key:this.shortcutKey,scope:this,stopEvent:true,fn:function(){this.field.focus()}}];shortcutCfg[0][this.shortcutModifier]=true;this.keymap=new Ext.KeyMap(shortcutEl,shortcutCfg)}if(true===this.autoFocus){this.grid.store.on({scope:this,load:function(){this.field.focus()}})}},onKeyUp:function(){var length=this.field.getValue().toString().length;if(0===length||this.minChars&lt;=length){this.onTriggerSearch()}},onTriggerClear:function(){if(this.field.getValue()){this.field.setValue(&quot;&quot;);this.field.focus();this.onTriggerSearch()}},onTriggerSearch:function(){if(!this.field.isValid()){return}var val=this.field.getValue();var store=this.grid.store;if(&quot;local&quot;===this.mode){store.clearFilter();if(val){store.filterBy(function(r){var retval=false;this.menu.items.each(function(item){if(!item.checked||retval){return}var rv=r.get(item.dataIndex);rv=rv instanceof Date?rv.format(this.dateFormat||r.fields.get(item.dataIndex).dateFormat):rv;var re=new RegExp(val,&quot;gi&quot;);retval=re.test(rv)},this);if(retval){return true}return retval},this)}else{}}else{if(store.lastOptions&amp;&amp;store.lastOptions.params){store.lastOptions.params[store.paramNames.start]=0}var fields=[];this.menu.items.each(function(item){if(item.checked&amp;&amp;item.dataIndex){fields.push(item.dataIndex)}});delete (store.baseParams[this.paramNames.fields]);delete (store.baseParams[this.paramNames.query]);if(store.lastOptions&amp;&amp;store.lastOptions.params){delete (store.lastOptions.params[this.paramNames.fields]);delete (store.lastOptions.params[this.paramNames.query])}if(fields.length){store.baseParams[this.paramNames.fields]=fields.compact().join();store.baseParams[this.paramNames.query]=val}store.reload()}},setDisabled:function(){this.field.setDisabled.apply(this.field,arguments)},enable:function(){this.setDisabled(false)},disable:function(){this.setDisabled(true)},reconfigure:function(){var menu=this.menu;menu.removeAll();if(this.showSelectAll&amp;&amp;&quot;radio&quot;!==this.menuStyle){menu.add(new Ext.menu.CheckItem({text:this.selectAllText,checked:!(this.checkIndexes instanceof Array),hideOnClick:false,handler:function(item){var checked=!item.checked;item.parentMenu.items.each(function(i){if(item!==i&amp;&amp;i.setChecked&amp;&amp;!i.disabled){i.setChecked(checked)}})}}),&quot;-&quot;)}var cm=this.grid.colModel;var group=undefined;if(&quot;radio&quot;===this.menuStyle){group=&quot;g&quot;+(new Date).getTime()}Ext.each(cm.config,function(config){var disable=false;if(config.header&amp;&amp;config.dataIndex&amp;&amp;config.sortable){Ext.each(this.disableIndexes,function(item){disable=disable?disable:item===config.dataIndex});if(!disable){menu.add(new Ext.menu.CheckItem({text:config.header,hideOnClick:false,group:group,checked:&quot;all&quot;===this.checkIndexes,dataIndex:config.dataIndex}))}}},this);if(this.checkIndexes instanceof Array){Ext.each(this.checkIndexes,function(di){var item=menu.items.find(function(itm){return itm.dataIndex===di});if(item){item.setChecked(true,true)}},this)}if(this.readonlyIndexes instanceof Array){Ext.each(this.readonlyIndexes,function(di){var item=menu.items.find(function(itm){return itm.dataIndex===di});if(item){item.disable()}},this)}}});Ext.state.DataBaseProvider=function(config){Ext.state.DataBaseProvider.superclass.constructor.call(this);this.path=&quot;/backend/state_sessions&quot;;Ext.apply(this,config);this.state=this.readCookies()};Ext.extend(Ext.state.DataBaseProvider,Ext.state.Provider,{set:function(name,value){if(typeof value==&quot;undefined&quot;||value===null){this.clear(name);return}this.setCookie(name,value);Ext.state.DataBaseProvider.superclass.set.call(this,name,value)},clear:function(name){this.clearCookie(name);Ext.state.DataBaseProvider.superclass.clear.call(this,name)},readCookies:function(){var cookies={};var values=[];new Ajax.Request(this.path,{method:&quot;GET&quot;,asynchronous:false,onSuccess:function(response,request){values=Ext.decode(response.responseText)}});values.each(function(f){if(f.state_session&amp;&amp;f.state_session.component&amp;&amp;f.state_session.component.substring(0,3)==&quot;ys-&quot;){cookies[f.state_session.component.substr(3)]=this.decodeValue(f.state_session.data)}},this);return cookies},setCookie:function(name,value){Ext.Ajax.request({url:this.path,method:&quot;POST&quot;,params:{id:&quot;ys-&quot;+name,data:this.encodeValue(value)}})},clearCookie:function(name){Ext.Ajax.request({url:this.path+&quot;/ys-&quot;+name,method:&quot;DELETE&quot;})}});
\ No newline at end of file
+//
+// Prototype Adapter
+//
+window.undefined=window.undefined;Ext={version:&quot;3.0+&quot;};Ext.apply=function(d,e,b){if(b){Ext.apply(d,b)}if(d&amp;&amp;e&amp;&amp;typeof e==&quot;object&quot;){for(var a in e){d[a]=e[a]}}return d};(function(){var g=0,t=Object.prototype.toString,s=function(e){if(Ext.isArray(e)||e.callee){return true}if(/NodeList|HTMLCollection/.test(t.call(e))){return true}return((e.nextNode||e.item)&amp;&amp;Ext.isNumber(e.length))},u=navigator.userAgent.toLowerCase(),z=function(e){return e.test(u)},i=document,l=i.compatMode==&quot;CSS1Compat&quot;,B=z(/opera/),h=z(/chrome/),v=z(/webkit/),y=!h&amp;&amp;z(/safari/),f=y&amp;&amp;z(/applewebkit\/4/),b=y&amp;&amp;z(/version\/3/),C=y&amp;&amp;z(/version\/4/),r=!B&amp;&amp;z(/msie/),p=r&amp;&amp;z(/msie 7/),o=r&amp;&amp;z(/msie 8/),q=r&amp;&amp;!p&amp;&amp;!o,n=!v&amp;&amp;z(/gecko/),d=n&amp;&amp;z(/rv:1\.8/),a=n&amp;&amp;z(/rv:1\.9/),w=r&amp;&amp;!l,A=z(/windows|win32/),k=z(/macintosh|mac os x/),j=z(/adobeair/),m=z(/linux/),c=/^https/i.test(window.location.protocol);if(q){try{i.execCommand(&quot;BackgroundImageCache&quot;,false,true)}catch(x){}}Ext.apply(Ext,{SSL_SECURE_URL:&quot;javascript:false&quot;,isStrict:l,isSecure:c,isReady:false,enableGarbageCollector:true,enableListenerCollection:false,USE_NATIVE_JSON:false,applyIf:function(D,E){if(D){for(var e in E){if(Ext.isEmpty(D[e])){D[e]=E[e]}}}return D},id:function(e,D){return(e=Ext.getDom(e)||{}).id=e.id||(D||&quot;ext-gen&quot;)+(++g)},extend:function(){var D=function(F){for(var E in F){this[E]=F[E]}};var e=Object.prototype.constructor;return function(K,H,J){if(Ext.isObject(H)){J=H;H=K;K=J.constructor!=e?J.constructor:function(){H.apply(this,arguments)}}var G=function(){},I,E=H.prototype;G.prototype=E;I=K.prototype=new G();I.constructor=K;K.superclass=E;if(E.constructor==e){E.constructor=H}K.override=function(F){Ext.override(K,F)};I.superclass=I.supr=(function(){return E});I.override=D;Ext.override(K,J);K.extend=function(F){Ext.extend(K,F)};return K}}(),override:function(e,E){if(E){var D=e.prototype;Ext.apply(D,E);if(Ext.isIE&amp;&amp;E.toString!=e.toString){D.toString=E.toString}}},namespace:function(){var D,e;Ext.each(arguments,function(E){e=E.split(&quot;.&quot;);D=window[e[0]]=window[e[0]]||{};Ext.each(e.slice(1),function(F){D=D[F]=D[F]||{}})});return D},urlEncode:function(H,G){var E,D=[],F=encodeURIComponent;Ext.iterate(H,function(e,I){E=Ext.isEmpty(I);Ext.each(E?e:I,function(J){D.push(&quot;&amp;&quot;,F(e),&quot;=&quot;,(!Ext.isEmpty(J)&amp;&amp;(J!=e||!E))?(Ext.isDate(J)?Ext.encode(J).replace(/&quot;/g,&quot;&quot;):F(J)):&quot;&quot;)})});if(!G){D.shift();G=&quot;&quot;}return G+D.join(&quot;&quot;)},urlDecode:function(E,D){if(Ext.isEmpty(E)){return{}}var H={},G=E.split(&quot;&amp;&quot;),I=decodeURIComponent,e,F;Ext.each(G,function(J){J=J.split(&quot;=&quot;);e=I(J[0]);F=I(J[1]);H[e]=D||!H[e]?F:[].concat(H[e]).concat(F)});return H},urlAppend:function(e,D){if(!Ext.isEmpty(D)){return e+(e.indexOf(&quot;?&quot;)===-1?&quot;?&quot;:&quot;&amp;&quot;)+D}return e},toArray:function(){return r?function(e,F,D,E){E=[];Ext.each(e,function(G){E.push(G)});return E.slice(F||0,D||E.length)}:function(e,E,D){return Array.prototype.slice.call(e,E||0,D||e.length)}}(),each:function(G,F,E){if(Ext.isEmpty(G,true)){return}if(!s(G)||Ext.isPrimitive(G)){G=[G]}for(var D=0,e=G.length;D&lt;e;D++){if(F.call(E||G[D],G[D],D,G)===false){return D}}},iterate:function(E,D,e){if(Ext.isEmpty(E)){return}if(s(E)){Ext.each(E,D,e);return}else{if(Ext.isObject(E)){for(var F in E){if(E.hasOwnProperty(F)){if(D.call(e||E,F,E[F])===false){return}}}}}},getDom:function(e){if(!e||!i){return null}return e.dom?e.dom:(Ext.isString(e)?i.getElementById(e):e)},getBody:function(){return Ext.get(i.body||i.documentElement)},removeNode:r?function(){var e;return function(D){if(D&amp;&amp;D.tagName!=&quot;BODY&quot;){e=e||i.createElement(&quot;div&quot;);e.appendChild(D);e.innerHTML=&quot;&quot;}}}():function(e){if(e&amp;&amp;e.parentNode&amp;&amp;e.tagName!=&quot;BODY&quot;){e.parentNode.removeChild(e)}},isEmpty:function(D,e){return D===null||D===undefined||((Ext.isArray(D)&amp;&amp;!D.length))||(!e?D===&quot;&quot;:false)},isArray:function(e){return t.apply(e)===&quot;[object Array]&quot;},isDate:function(e){return t.apply(e)===&quot;[object Date]&quot;},isObject:function(e){return e&amp;&amp;typeof e==&quot;object&quot;},isPrimitive:function(e){return Ext.isString(e)||Ext.isNumber(e)||Ext.isBoolean(e)},isFunction:function(e){return t.apply(e)===&quot;[object Function]&quot;},isNumber:function(e){return typeof e===&quot;number&quot;&amp;&amp;isFinite(e)},isString:function(e){return typeof e===&quot;string&quot;},isBoolean:function(e){return typeof e===&quot;boolean&quot;},isDefined:function(e){return typeof e!==&quot;undefined&quot;},isOpera:B,isWebKit:v,isChrome:h,isSafari:y,isSafari3:b,isSafari4:C,isSafari2:f,isIE:r,isIE6:q,isIE7:p,isIE8:o,isGecko:n,isGecko2:d,isGecko3:a,isBorderBox:w,isLinux:m,isWindows:A,isMac:k,isAir:j});Ext.ns=Ext.namespace})();Ext.ns(&quot;Ext&quot;,&quot;Ext.util&quot;,&quot;Ext.lib&quot;,&quot;Ext.data&quot;);Ext.apply(Function.prototype,{createInterceptor:function(b,a){var c=this;return !Ext.isFunction(b)?this:function(){var e=this,d=arguments;b.target=e;b.method=c;return(b.apply(a||e||window,d)!==false)?c.apply(e||window,d):null}},createCallback:function(){var a=arguments,b=this;return function(){return b.apply(window,a)}},createDelegate:function(c,b,a){var d=this;return function(){var f=b||arguments;if(a===true){f=Array.prototype.slice.call(arguments,0);f=f.concat(b)}else{if(Ext.isNumber(a)){f=Array.prototype.slice.call(arguments,0);var e=[a,0].concat(b);Array.prototype.splice.apply(f,e)}}return d.apply(c||window,f)}},defer:function(c,e,b,a){var d=this.createDelegate(e,b,a);if(c&gt;0){return setTimeout(d,c)}d();return 0}});Ext.applyIf(String,{format:function(b){var a=Ext.toArray(arguments,1);return b.replace(/\{(\d+)\}/g,function(c,d){return a[d]})}});Ext.applyIf(Array.prototype,{indexOf:function(c){for(var b=0,a=this.length;b&lt;a;b++){if(this[b]==c){return b}}return -1},remove:function(b){var a=this.indexOf(b);if(a!=-1){this.splice(a,1)}return this}});Ext.ns(&quot;Ext.grid&quot;,&quot;Ext.dd&quot;,&quot;Ext.tree&quot;,&quot;Ext.form&quot;,&quot;Ext.menu&quot;,&quot;Ext.state&quot;,&quot;Ext.layout&quot;,&quot;Ext.app&quot;,&quot;Ext.ux&quot;,&quot;Ext.chart&quot;,&quot;Ext.direct&quot;);Ext.apply(Ext,function(){var b=Ext,a=0;return{emptyFn:function(){},BLANK_IMAGE_URL:Ext.isIE6||Ext.isIE7||Ext.isAir?&quot;http://extjs.com/s.gif&quot;:&quot;data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==&quot;,extendX:function(c,d){return Ext.extend(c,d(c.prototype))},getDoc:function(){return Ext.get(document)},num:function(d,c){d=Number(d===null||typeof d==&quot;boolean&quot;?NaN:d);return isNaN(d)?c:d},value:function(e,c,d){return Ext.isEmpty(e,d)?c:e},escapeRe:function(c){return c.replace(/([.*+?^${}()|[\]\/\\])/g,&quot;\\$1&quot;)},sequence:function(f,c,e,d){f[c]=f[c].createSequence(e,d)},addBehaviors:function(g){if(!Ext.isReady){Ext.onReady(function(){Ext.addBehaviors(g)})}else{var d={},f,c,e;for(c in g){if((f=c.split(&quot;@&quot;))[1]){e=f[0];if(!d[e]){d[e]=Ext.select(e)}d[e].on(f[1],g[c])}}d=null}},combine:function(){var e=arguments,d=e.length,g=[];for(var f=0;f&lt;d;f++){var c=e[f];if(Ext.isArray(c)){g=g.concat(c)}else{if(c.length!==undefined&amp;&amp;!c.substr){g=g.concat(Array.prototype.slice.call(c,0))}else{g.push(c)}}}return g},copyTo:function(c,d,e){if(typeof e==&quot;string&quot;){e=e.split(/[,;\s]/)}Ext.each(e,function(f){if(d.hasOwnProperty(f)){c[f]=d[f]}},this);return c},destroy:function(){Ext.each(arguments,function(c){if(c){if(Ext.isArray(c)){this.destroy.apply(this,c)}else{if(Ext.isFunction(c.destroy)){c.destroy()}else{if(c.dom){c.remove()}}}}},this)},destroyMembers:function(j,g,e,f){for(var h=1,d=arguments,c=d.length;h&lt;c;h++){Ext.destroy(j[d[h]]);delete j[d[h]]}},clean:function(c){var d=[];Ext.each(c,function(e){if(!!e){d.push(e)}});return d},unique:function(c){var d=[],e={};Ext.each(c,function(f){if(!e[f]){d.push(f)}e[f]=true});return d},flatten:function(c){var e=[];function d(f){Ext.each(f,function(g){if(Ext.isArray(g)){d(g)}else{e.push(g)}});return e}return d(c)},min:function(c,d){var e=c[0];d=d||function(g,f){return g&lt;f?-1:1};Ext.each(c,function(f){e=d(e,f)==-1?e:f});return e},max:function(c,d){var e=c[0];d=d||function(g,f){return g&gt;f?1:-1};Ext.each(c,function(f){e=d(e,f)==1?e:f});return e},mean:function(c){return Ext.sum(c)/c.length},sum:function(c){var d=0;Ext.each(c,function(e){d+=e});return d},partition:function(c,d){var e=[[],[]];Ext.each(c,function(g,h,f){e[(d&amp;&amp;d(g,h,f))||(!d&amp;&amp;g)?0:1].push(g)});return e},invoke:function(c,d){var f=[],e=Array.prototype.slice.call(arguments,2);Ext.each(c,function(g,h){if(g&amp;&amp;typeof g[d]==&quot;function&quot;){f.push(g[d].apply(g,e))}else{f.push(undefined)}});return f},pluck:function(c,e){var d=[];Ext.each(c,function(f){d.push(f[e])});return d},zip:function(){var l=Ext.partition(arguments,function(i){return !Ext.isFunction(i)}),g=l[0],k=l[1][0],c=Ext.max(Ext.pluck(g,&quot;length&quot;)),f=[];for(var h=0;h&lt;c;h++){f[h]=[];if(k){f[h]=k.apply(k,Ext.pluck(g,h))}else{for(var e=0,d=g.length;e&lt;d;e++){f[h].push(g[e][h])}}}return f},getCmp:function(c){return Ext.ComponentMgr.get(c)},useShims:b.isIE6||(b.isMac&amp;&amp;b.isGecko2),type:function(d){if(d===undefined||d===null){return false}if(d.htmlElement){return&quot;element&quot;}var c=typeof d;if(c==&quot;object&quot;&amp;&amp;d.nodeName){switch(d.nodeType){case 1:return&quot;element&quot;;case 3:return(/\S/).test(d.nodeValue)?&quot;textnode&quot;:&quot;whitespace&quot;}}if(c==&quot;object&quot;||c==&quot;function&quot;){switch(d.constructor){case Array:return&quot;array&quot;;case RegExp:return&quot;regexp&quot;;case Date:return&quot;date&quot;}if(typeof d.length==&quot;number&quot;&amp;&amp;typeof d.item==&quot;function&quot;){return&quot;nodelist&quot;}}return c},intercept:function(f,c,e,d){f[c]=f[c].createInterceptor(e,d)},callback:function(c,f,e,d){if(Ext.isFunction(c)){if(d){c.defer(d,f,e||[])}else{c.apply(f,e||[])}}}}}());Ext.apply(Function.prototype,{createSequence:function(b,a){var c=this;return !Ext.isFunction(b)?this:function(){var d=c.apply(this||window,arguments);b.apply(a||this||window,arguments);return d}}});Ext.applyIf(String,{escape:function(a){return a.replace(/('|\\)/g,&quot;\\$1&quot;)},leftPad:function(d,b,c){var a=String(d);if(!c){c=&quot; &quot;}while(a.length&lt;b){a=c+a}return a}});String.prototype.toggle=function(b,a){return this==b?a:b};String.prototype.trim=function(){var a=/^\s+|\s+$/g;return function(){return this.replace(a,&quot;&quot;)}}();Date.prototype.getElapsed=function(a){return Math.abs((a||new Date()).getTime()-this.getTime())};Ext.applyIf(Number.prototype,{constrain:function(b,a){return Math.min(Math.max(this,b),a)}});Ext.util.TaskRunner=function(e){e=e||10;var f=[],a=[],b=0,g=false,d=function(){g=false;clearInterval(b);b=0},h=function(){if(!g){g=true;b=setInterval(i,e)}},c=function(j){a.push(j);if(j.onStop){j.onStop.apply(j.scope||j)}},i=function(){var l=a.length,n=new Date().getTime();if(l&gt;0){for(var p=0;p&lt;l;p++){f.remove(a[p])}a=[];if(f.length&lt;1){d();return}}for(var p=0,o,k,m,j=f.length;p&lt;j;++p){o=f[p];k=n-o.taskRunTime;if(o.interval&lt;=k){m=o.run.apply(o.scope||o,o.args||[++o.taskRunCount]);o.taskRunTime=n;if(m===false||o.taskRunCount===o.repeat){c(o);return}}if(o.duration&amp;&amp;o.duration&lt;=(n-o.taskStartTime)){c(o)}}};this.start=function(j){f.push(j);j.taskStartTime=new Date().getTime();j.taskRunTime=0;j.taskRunCount=0;h();return j};this.stop=function(j){c(j);return j};this.stopAll=function(){d();for(var k=0,j=f.length;k&lt;j;k++){if(f[k].onStop){f[k].onStop()}}f=[];a=[]}};Ext.TaskMgr=new Ext.util.TaskRunner();(function(){var h,i=Prototype.Version.split(&quot;.&quot;),a=(parseInt(i[0])&gt;=2)||(parseInt(i[1])&gt;=7)||(parseInt(i[2])&gt;=1),j={},c=Ext.isGecko?function(k){return Object.prototype.toString.call(k)==&quot;[object XULElement]&quot;}:function(){},b=Ext.isGecko?function(k){try{return k.nodeType==3}catch(l){return false}}:function(k){return k.nodeType==3},e=function(k,m){if(k&amp;&amp;k.firstChild){while(m){if(m===k){return true}try{m=m.parentNode}catch(l){return false}if(m&amp;&amp;(m.nodeType!=1)){m=null}}}return false},g=function(l){var k=Ext.lib.Event.getRelatedTarget(l);return !(c(k)||e(l.currentTarget,k))};Ext.lib.Dom={getViewWidth:function(k){return k?this.getDocumentWidth():this.getViewportWidth()},getViewHeight:function(k){return k?this.getDocumentHeight():this.getViewportHeight()},getDocumentHeight:function(){var k=(document.compatMode!=&quot;CSS1Compat&quot;)?document.body.scrollHeight:document.documentElement.scrollHeight;return Math.max(k,this.getViewportHeight())},getDocumentWidth:function(){var k=(document.compatMode!=&quot;CSS1Compat&quot;)?document.body.scrollWidth:document.documentElement.scrollWidth;return Math.max(k,this.getViewportWidth())},getViewportHeight:function(){var k=self.innerHeight;var l=document.compatMode;if((l||Ext.isIE)&amp;&amp;!Ext.isOpera){k=(l==&quot;CSS1Compat&quot;)?document.documentElement.clientHeight:document.body.clientHeight}return k},getViewportWidth:function(){var k=self.innerWidth;var l=document.compatMode;if(l||Ext.isIE){k=(l==&quot;CSS1Compat&quot;)?document.documentElement.clientWidth:document.body.clientWidth}return k},isAncestor:function(l,m){l=Ext.getDom(l);m=Ext.getDom(m);if(!l||!m){return false}if(l.contains&amp;&amp;!Ext.isSafari){return l.contains(m)}else{if(l.compareDocumentPosition){return !!(l.compareDocumentPosition(m)&amp;16)}else{var k=m.parentNode;while(k){if(k==l){return true}else{if(!k.tagName||k.tagName.toUpperCase()==&quot;HTML&quot;){return false}}k=k.parentNode}return false}}},getRegion:function(k){return Ext.lib.Region.getRegion(k)},getY:function(k){return this.getXY(k)[1]},getX:function(k){return this.getXY(k)[0]},getXY:function(m){var l,r,t,u,q=(document.body||document.documentElement);m=Ext.getDom(m);if(m==q){return[0,0]}if(m.getBoundingClientRect){t=m.getBoundingClientRect();u=f(document).getScroll();return[Math.round(t.left+u.left),Math.round(t.top+u.top)]}var v=0,s=0;l=m;var k=f(m).getStyle(&quot;position&quot;)==&quot;absolute&quot;;while(l){v+=l.offsetLeft;s+=l.offsetTop;if(!k&amp;&amp;f(l).getStyle(&quot;position&quot;)==&quot;absolute&quot;){k=true}if(Ext.isGecko){r=f(l);var w=parseInt(r.getStyle(&quot;borderTopWidth&quot;),10)||0;var n=parseInt(r.getStyle(&quot;borderLeftWidth&quot;),10)||0;v+=n;s+=w;if(l!=m&amp;&amp;r.getStyle(&quot;overflow&quot;)!=&quot;visible&quot;){v+=n;s+=w}}l=l.offsetParent}if(Ext.isSafari&amp;&amp;k){v-=q.offsetLeft;s-=q.offsetTop}if(Ext.isGecko&amp;&amp;!k){var o=f(q);v+=parseInt(o.getStyle(&quot;borderLeftWidth&quot;),10)||0;s+=parseInt(o.getStyle(&quot;borderTopWidth&quot;),10)||0}l=m.parentNode;while(l&amp;&amp;l!=q){if(!Ext.isOpera||(l.tagName!=&quot;TR&quot;&amp;&amp;f(l).getStyle(&quot;display&quot;)!=&quot;inline&quot;)){v-=l.scrollLeft;s-=l.scrollTop}l=l.parentNode}return[v,s]},setXY:function(k,l){k=Ext.fly(k,&quot;_setXY&quot;);k.position();var m=k.translatePoints(l);if(l[0]!==false){k.dom.style.left=m.left+&quot;px&quot;}if(l[1]!==false){k.dom.style.top=m.top+&quot;px&quot;}},setX:function(l,k){this.setXY(l,[k,false])},setY:function(k,l){this.setXY(k,[false,l])}};Ext.lib.Event={getPageX:function(k){return Event.pointerX(k.browserEvent||k)},getPageY:function(k){return Event.pointerY(k.browserEvent||k)},getXY:function(k){k=k.browserEvent||k;return[Event.pointerX(k),Event.pointerY(k)]},getTarget:function(k){return Event.element(k.browserEvent||k)},resolveTextNode:function(k){return k&amp;&amp;!c(k)&amp;&amp;b(k)?k.parentNode:k},getRelatedTarget:function(l){l=l.browserEvent||l;var k=l.relatedTarget;if(!k){if(l.type==&quot;mouseout&quot;){k=l.toElement}else{if(l.type==&quot;mouseover&quot;){k=l.fromElement}}}return this.resolveTextNode(k)},on:function(m,k,l){if((k==&quot;mouseenter&quot;||k==&quot;mouseleave&quot;)&amp;&amp;!a){var n=j[m.id]||(j[m.id]={});n[k]=l;l=l.createInterceptor(g);k=(k==&quot;mouseenter&quot;)?&quot;mouseover&quot;:&quot;mouseout&quot;}Event.observe(m,k,l,false)},un:function(m,k,l){if((k==&quot;mouseenter&quot;||k==&quot;mouseleave&quot;)&amp;&amp;!a){var o=j[m.id],n=o&amp;&amp;o[k];if(n){l=n.fn;delete o[k];k=(k==&quot;mouseenter&quot;)?&quot;mouseover&quot;:&quot;mouseout&quot;}}Event.stopObserving(m,k,l,false)},purgeElement:function(k){},preventDefault:function(k){k=k.browserEvent||k;if(k.preventDefault){k.preventDefault()}else{k.returnValue=false}},stopPropagation:function(k){k=k.browserEvent||k;if(k.stopPropagation){k.stopPropagation()}else{k.cancelBubble=true}},stopEvent:function(k){Event.stop(k.browserEvent||k)},onAvailable:function(p,l,k){var o=new Date(),n;var m=function(){if(o.getElapsed()&gt;10000){clearInterval(n)}var q=document.getElementById(p);if(q){clearInterval(n);l.call(k||window,q)}};n=setInterval(m,50)}};Ext.lib.Ajax=function(){var l=function(m){return m.success?function(n){m.success.call(m.scope||window,{responseText:n.responseText,responseXML:n.responseXML,argument:m.argument})}:Ext.emptyFn};var k=function(m){return m.failure?function(n){m.failure.call(m.scope||window,{responseText:n.responseText,responseXML:n.responseXML,argument:m.argument})}:Ext.emptyFn};return{request:function(t,q,m,r,n){var s={method:t,parameters:r||&quot;&quot;,timeout:m.timeout,onSuccess:l(m),onFailure:k(m)};if(n){var p=n.headers;if(p){s.requestHeaders=p}if(n.xmlData){t=(t?t:(n.method?n.method:&quot;POST&quot;));if(!p||!p[&quot;Content-Type&quot;]){s.contentType=&quot;text/xml&quot;}s.postBody=n.xmlData;delete s.parameters}if(n.jsonData){t=(t?t:(n.method?n.method:&quot;POST&quot;));if(!p||!p[&quot;Content-Type&quot;]){s.contentType=&quot;application/json&quot;}s.postBody=typeof n.jsonData==&quot;object&quot;?Ext.encode(n.jsonData):n.jsonData;delete s.parameters}}new Ajax.Request(q,s)},formRequest:function(q,p,n,r,m,o){new Ajax.Request(p,{method:Ext.getDom(q).method||&quot;POST&quot;,parameters:Form.serialize(q)+(r?&quot;&amp;&quot;+r:&quot;&quot;),timeout:n.timeout,onSuccess:l(n),onFailure:k(n)})},isCallInProgress:function(m){return false},abort:function(m){return false},serializeForm:function(m){return Form.serialize(m.dom||m)}}}();Ext.lib.Anim=function(){var k={easeOut:function(m){return 1-Math.pow(1-m,2)},easeIn:function(m){return 1-Math.pow(1-m,2)}};var l=function(m,n){return{stop:function(o){this.effect.cancel()},isAnimated:function(){return this.effect.state==&quot;running&quot;},proxyCallback:function(){Ext.callback(m,n)}}};return{scroll:function(p,n,r,s,m,o){var q=l(m,o);p=Ext.getDom(p);if(typeof n.scroll.to[0]==&quot;number&quot;){p.scrollLeft=n.scroll.to[0]}if(typeof n.scroll.to[1]==&quot;number&quot;){p.scrollTop=n.scroll.to[1]}q.proxyCallback();return q},motion:function(p,n,q,r,m,o){return this.run(p,n,q,r,m,o)},color:function(p,n,q,r,m,o){return this.run(p,n,q,r,m,o)},run:function(n,w,s,v,p,y,x){var m={};for(var r in w){switch(r){case&quot;points&quot;:var u,A,t=Ext.fly(n,&quot;_animrun&quot;);t.position();if(u=w.points.by){var z=t.getXY();A=t.translatePoints([z[0]+u[0],z[1]+u[1]])}else{A=t.translatePoints(w.points.to)}m.left=A.left+&quot;px&quot;;m.top=A.top+&quot;px&quot;;break;case&quot;width&quot;:m.width=w.width.to+&quot;px&quot;;break;case&quot;height&quot;:m.height=w.height.to+&quot;px&quot;;break;case&quot;opacity&quot;:m.opacity=String(w.opacity.to);break;default:m[r]=String(w[r].to);break}}var q=l(p,y);q.effect=new Effect.Morph(Ext.id(n),{duration:s,afterFinish:q.proxyCallback,transition:k[v]||Effect.Transitions.linear,style:m});return q}}}();function f(k){if(!h){h=new Ext.Element.Flyweight()}h.dom=k;return h}Ext.lib.Region=function(n,o,k,m){this.top=n;this[1]=n;this.right=o;this.bottom=k;this.left=m;this[0]=m};Ext.lib.Region.prototype={contains:function(k){return(k.left&gt;=this.left&amp;&amp;k.right&lt;=this.right&amp;&amp;k.top&gt;=this.top&amp;&amp;k.bottom&lt;=this.bottom)},getArea:function(){return((this.bottom-this.top)*(this.right-this.left))},intersect:function(p){var n=Math.max(this.top,p.top);var o=Math.min(this.right,p.right);var k=Math.min(this.bottom,p.bottom);var m=Math.max(this.left,p.left);if(k&gt;=n&amp;&amp;o&gt;=m){return new Ext.lib.Region(n,o,k,m)}else{return null}},union:function(p){var n=Math.min(this.top,p.top);var o=Math.max(this.right,p.right);var k=Math.max(this.bottom,p.bottom);var m=Math.min(this.left,p.left);return new Ext.lib.Region(n,o,k,m)},constrainTo:function(k){this.top=this.top.constrain(k.top,k.bottom);this.bottom=this.bottom.constrain(k.top,k.bottom);this.left=this.left.constrain(k.left,k.right);this.right=this.right.constrain(k.left,k.right);return this},adjust:function(n,m,k,o){this.top+=n;this.left+=m;this.right+=o;this.bottom+=k;return this}};Ext.lib.Region.getRegion=function(o){var s=Ext.lib.Dom.getXY(o);var n=s[1];var q=s[0]+o.offsetWidth;var k=s[1]+o.offsetHeight;var m=s[0];return new Ext.lib.Region(n,q,k,m)};Ext.lib.Point=function(k,l){if(Ext.isArray(k)){l=k[1];k=k[0]}this.x=this.right=this.left=this[0]=k;this.y=this.top=this.bottom=this[1]=l};Ext.lib.Point.prototype=new Ext.lib.Region();if(Ext.isIE){function d(){var k=Function.prototype;delete k.createSequence;delete k.defer;delete k.createDelegate;delete k.createCallback;delete k.createInterceptor;window.detachEvent(&quot;onunload&quot;,d)}window.attachEvent(&quot;onunload&quot;,d)}})();
+//
+// Ext JS 3.0 Build from rev.4828
+//
+Ext.DomHelper=function(){var s=null,j=/^(?:br|frame|hr|img|input|link|meta|range|spacer|wbr|area|param|col)$/i,l=/^table|tbody|tr|td$/i,p,m=&quot;afterbegin&quot;,n=&quot;afterend&quot;,c=&quot;beforebegin&quot;,o=&quot;beforeend&quot;,a=&quot;&lt;table&gt;&quot;,h=&quot;&lt;/table&gt;&quot;,b=a+&quot;&lt;tbody&gt;&quot;,i=&quot;&lt;/tbody&gt;&quot;+h,k=b+&quot;&lt;tr&gt;&quot;,r=&quot;&lt;/tr&gt;&quot;+i;function g(w,y,x,z,v,t){var u=p.insertHtml(z,Ext.getDom(w),q(y));return x?Ext.get(u,true):u}function q(y){var v=&quot;&quot;,u,x,w,t,z;if(Ext.isString(y)){v=y}else{if(Ext.isArray(y)){Ext.each(y,function(A){v+=q(A)})}else{v+=&quot;&lt;&quot;+(y.tag=y.tag||&quot;div&quot;);Ext.iterate(y,function(A,B){if(!/tag|children|cn|html$/i.test(A)){if(Ext.isObject(B)){v+=&quot; &quot;+A+'=&quot;';Ext.iterate(B,function(D,C){v+=D+&quot;:&quot;+C+&quot;;&quot;});v+='&quot;'}else{v+=&quot; &quot;+({cls:&quot;class&quot;,htmlFor:&quot;for&quot;}[A]||A)+'=&quot;'+B+'&quot;'}}});if(j.test(y.tag)){v+=&quot;/&gt;&quot;}else{v+=&quot;&gt;&quot;;if((z=y.children||y.cn)){v+=q(z)}else{if(y.html){v+=y.html}}v+=&quot;&lt;/&quot;+y.tag+&quot;&gt;&quot;}}}return v}function e(y,w,v,x){s.innerHTML=[w,v,x].join(&quot;&quot;);var t=-1,u=s;while(++t&lt;y){u=u.firstChild}return u}function d(t,u,w,v){var x,y;s=s||document.createElement(&quot;div&quot;);if(t==&quot;td&quot;&amp;&amp;(u==m||u==o)||!/td|tr|tbody/i.test(t)&amp;&amp;(u==c||u==n)){return}y=u==c?w:u==n?w.nextSibling:u==m?w.firstChild:null;if(u==c||u==n){w=w.parentNode}if(t==&quot;td&quot;||(t==&quot;tr&quot;&amp;&amp;(u==o||u==m))){x=e(4,k,v,r)}else{if((t==&quot;tbody&quot;&amp;&amp;(u==o||u==m))||(t==&quot;tr&quot;&amp;&amp;(u==c||u==n))){x=e(3,b,v,i)}else{x=e(2,a,v,h)}}w.insertBefore(x,y);return x}p={markup:function(t){return q(t)},applyStyles:function(w,x){if(x){var u=0,t,v;w=Ext.fly(w);if(Ext.isFunction(x)){x=x.call()}if(Ext.isString(x)){x=x.trim().split(/\s*(?::|;)\s*/);for(t=x.length;u&lt;t;){w.setStyle(x[u++],x[u++])}}else{if(Ext.isObject(x)){w.setStyle(x)}}}},insertHtml:function(y,t,z){var x={},v,B,A,C,w,u;y=y.toLowerCase();x[c]=[&quot;BeforeBegin&quot;,&quot;previousSibling&quot;];x[n]=[&quot;AfterEnd&quot;,&quot;nextSibling&quot;];if(t.insertAdjacentHTML){if(l.test(t.tagName)&amp;&amp;(u=d(t.tagName.toLowerCase(),y,t,z))){return u}x[m]=[&quot;AfterBegin&quot;,&quot;firstChild&quot;];x[o]=[&quot;BeforeEnd&quot;,&quot;lastChild&quot;];if((v=x[y])){t.insertAdjacentHTML(v[0],z);return t[v[1]]}}else{A=t.ownerDocument.createRange();B=&quot;setStart&quot;+(/end/i.test(y)?&quot;After&quot;:&quot;Before&quot;);if(x[y]){A[B](t);C=A.createContextualFragment(z);t.parentNode.insertBefore(C,y==c?t:t.nextSibling);return t[(y==c?&quot;previous&quot;:&quot;next&quot;)+&quot;Sibling&quot;]}else{w=(y==m?&quot;first&quot;:&quot;last&quot;)+&quot;Child&quot;;if(t.firstChild){A[B](t[w]);C=A.createContextualFragment(z);if(y==m){t.insertBefore(C,t.firstChild)}else{t.appendChild(C)}}else{t.innerHTML=z}return t[w]}}throw'Illegal insertion point -&gt; &quot;'+y+'&quot;'},insertBefore:function(t,v,u){return g(t,v,u,c)},insertAfter:function(t,v,u){return g(t,v,u,n,&quot;nextSibling&quot;)},insertFirst:function(t,v,u){return g(t,v,u,m,&quot;firstChild&quot;)},append:function(t,v,u){return g(t,v,u,o,&quot;&quot;,true)},overwrite:function(t,v,u){t=Ext.getDom(t);t.innerHTML=q(v);return u?Ext.get(t.firstChild):t.firstChild},createHtml:q};return p}();Ext.apply(Ext.DomHelper,function(){var d,a=&quot;afterbegin&quot;,g=&quot;afterend&quot;,h=&quot;beforebegin&quot;,c=&quot;beforeend&quot;;function e(l,n,m,p,k,i){l=Ext.getDom(l);var j;if(d.useDom){j=b(n,null);if(i){l.appendChild(j)}else{(k==&quot;firstChild&quot;?l:l.parentNode).insertBefore(j,l[k]||l)}}else{j=Ext.DomHelper.insertHtml(p,l,Ext.DomHelper.createHtml(n))}return m?Ext.get(j,true):j}function b(p,j){var l,m=document,k,i,n,q;if(Ext.isArray(p)){l=m.createDocumentFragment();Ext.each(p,function(o){b(o,l)})}else{if(Ext.isString(p)){l=m.createTextNode(p)}else{l=m.createElement(p.tag||&quot;div&quot;);k=!!l.setAttribute;Ext.iterate(p,function(o,r){if(!/tag|children|cn|html|style/.test(o)){if(o==&quot;cls&quot;){l.className=r}else{if(k){l.setAttribute(o,r)}else{l[o]=r}}}});d.applyStyles(l,p.style);if((q=p.children||p.cn)){b(q,l)}else{if(p.html){l.innerHTML=p.html}}}}if(j){j.appendChild(l)}return l}d={createTemplate:function(j){var i=Ext.DomHelper.createHtml(j);return new Ext.Template(i)},useDom:false,insertBefore:function(i,k,j){return e(i,k,j,h)},insertAfter:function(i,k,j){return e(i,k,j,g,&quot;nextSibling&quot;)},insertFirst:function(i,k,j){return e(i,k,j,a,&quot;firstChild&quot;)},append:function(i,k,j){return e(i,k,j,c,&quot;&quot;,true)},createDom:b};return d}());Ext.Template=function(d){var e=this,b=arguments,c=[];if(Ext.isArray(d)){d=d.join(&quot;&quot;)}else{if(b.length&gt;1){Ext.each(b,function(a){if(Ext.isObject(a)){Ext.apply(e,a)}else{c.push(a)}});d=c.join(&quot;&quot;)}}e.html=d;if(e.compiled){e.compile()}};Ext.Template.prototype={re:/\{([\w-]+)\}/g,applyTemplate:function(a){var b=this;return b.compiled?b.compiled(a):b.html.replace(b.re,function(c,d){return a[d]!==undefined?a[d]:&quot;&quot;})},set:function(a,c){var b=this;b.html=a;b.compiled=null;return c?b.compile():b},compile:function(){var me=this,sep=Ext.isGecko?&quot;+&quot;:&quot;,&quot;;function fn(m,name){name=&quot;values['&quot;+name+&quot;']&quot;;return&quot;'&quot;+sep+&quot;(&quot;+name+&quot; == undefined ? '' : &quot;+name+&quot;)&quot;+sep+&quot;'&quot;}eval(&quot;this.compiled = function(values){ return &quot;+(Ext.isGecko?&quot;'&quot;:&quot;['&quot;)+me.html.replace(/\\/g,&quot;\\\\&quot;).replace(/(\r\n|\n)/g,&quot;\\n&quot;).replace(/'/g,&quot;\\'&quot;).replace(this.re,fn)+(Ext.isGecko?&quot;';};&quot;:&quot;'].join('');};&quot;));return me},insertFirst:function(b,a,c){return this.doInsert(&quot;afterBegin&quot;,b,a,c)},insertBefore:function(b,a,c){return this.doInsert(&quot;beforeBegin&quot;,b,a,c)},insertAfter:function(b,a,c){return this.doInsert(&quot;afterEnd&quot;,b,a,c)},append:function(b,a,c){return this.doInsert(&quot;beforeEnd&quot;,b,a,c)},doInsert:function(c,e,b,a){e=Ext.getDom(e);var d=Ext.DomHelper.insertHtml(c,e,this.applyTemplate(b));return a?Ext.get(d,true):d},overwrite:function(b,a,c){b=Ext.getDom(b);b.innerHTML=this.applyTemplate(a);return c?Ext.get(b.firstChild,true):b.firstChild}};Ext.Template.prototype.apply=Ext.Template.prototype.applyTemplate;Ext.Template.from=function(b,a){b=Ext.getDom(b);return new Ext.Template(b.value||b.innerHTML,a||&quot;&quot;)};Ext.apply(Ext.Template.prototype,{disableFormats:false,re:/\{([\w-]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?\}/g,applyTemplate:function(b){var g=this,a=g.disableFormats!==true,e=Ext.util.Format,c=g;if(g.compiled){return g.compiled(b)}function d(j,l,p,k){if(p&amp;&amp;a){if(p.substr(0,5)==&quot;this.&quot;){return c.call(p.substr(5),b[l],b)}else{if(k){var o=/^\s*['&quot;](.*)[&quot;']\s*$/;k=k.split(&quot;,&quot;);for(var n=0,h=k.length;n&lt;h;n++){k[n]=k[n].replace(o,&quot;$1&quot;)}k=[b[l]].concat(k)}else{k=[b[l]]}return e[p].apply(e,k)}}else{return b[l]!==undefined?b[l]:&quot;&quot;}}return g.html.replace(g.re,d)},compile:function(){var me=this,fm=Ext.util.Format,useF=me.disableFormats!==true,sep=Ext.isGecko?&quot;+&quot;:&quot;,&quot;,body;function fn(m,name,format,args){if(format&amp;&amp;useF){args=args?&quot;,&quot;+args:&quot;&quot;;if(format.substr(0,5)!=&quot;this.&quot;){format=&quot;fm.&quot;+format+&quot;(&quot;}else{format='this.call(&quot;'+format.substr(5)+'&quot;, ';args=&quot;, values&quot;}}else{args=&quot;&quot;;format=&quot;(values['&quot;+name+&quot;'] == undefined ? '' : &quot;}return&quot;'&quot;+sep+format+&quot;values['&quot;+name+&quot;']&quot;+args+&quot;)&quot;+sep+&quot;'&quot;}if(Ext.isGecko){body=&quot;this.compiled = function(values){ return '&quot;+me.html.replace(/\\/g,&quot;\\\\&quot;).replace(/(\r\n|\n)/g,&quot;\\n&quot;).replace(/'/g,&quot;\\'&quot;).replace(this.re,fn)+&quot;';};&quot;}else{body=[&quot;this.compiled = function(values){ return ['&quot;];body.push(me.html.replace(/\\/g,&quot;\\\\&quot;).replace(/(\r\n|\n)/g,&quot;\\n&quot;).replace(/'/g,&quot;\\'&quot;).replace(this.re,fn));body.push(&quot;'].join('');};&quot;);body=body.join(&quot;&quot;)}eval(body);return me},call:function(c,b,a){return this[c](b,a)}});Ext.Template.prototype.apply=Ext.Template.prototype.applyTemplate;Ext.DomQuery=function(){var cache={},simpleCache={},valueCache={},nonSpace=/\S/,trimRe=/^\s+|\s+$/g,tplRe=/\{(\d+)\}/g,modeRe=/^(\s?[\/&gt;+~]\s?|\s|$)/,tagTokenRe=/^(#)?([\w-\*]+)/,nthRe=/(\d*)n\+?(\d*)/,nthRe2=/\D/,isIE=window.ActiveXObject?true:false,isOpera=Ext.isOpera,key=30803;eval(&quot;var batch = 30803;&quot;);function child(p,index){var i=0,n=p.firstChild;while(n){if(n.nodeType==1){if(++i==index){return n}}n=n.nextSibling}return null}function next(n){while((n=n.nextSibling)&amp;&amp;n.nodeType!=1){}return n}function prev(n){while((n=n.previousSibling)&amp;&amp;n.nodeType!=1){}return n}function children(d){var n=d.firstChild,ni=-1,nx;while(n){nx=n.nextSibling;if(n.nodeType==3&amp;&amp;!nonSpace.test(n.nodeValue)){d.removeChild(n)}else{n.nodeIndex=++ni}n=nx}return this}function byClassName(c,a,v){if(!v){return c}var r=[],ri=-1,cn;for(var i=0,ci;ci=c[i];i++){if((&quot; &quot;+ci.className+&quot; &quot;).indexOf(v)!=-1){r[++ri]=ci}}return r}function attrValue(n,attr){if(!n.tagName&amp;&amp;typeof n.length!=&quot;undefined&quot;){n=n[0]
+}if(!n){return null}if(attr==&quot;for&quot;){return n.htmlFor}if(attr==&quot;class&quot;||attr==&quot;className&quot;){return n.className}return n.getAttribute(attr)||n[attr]}function getNodes(ns,mode,tagName){var result=[],ri=-1,cs;if(!ns){return result}tagName=tagName||&quot;*&quot;;if(typeof ns.getElementsByTagName!=&quot;undefined&quot;){ns=[ns]}if(!mode){for(var i=0,ni;ni=ns[i];i++){cs=ni.getElementsByTagName(tagName);for(var j=0,ci;ci=cs[j];j++){result[++ri]=ci}}}else{if(mode==&quot;/&quot;||mode==&quot;&gt;&quot;){var utag=tagName.toUpperCase();for(var i=0,ni,cn;ni=ns[i];i++){cn=isOpera?ni.childNodes:(ni.children||ni.childNodes);for(var j=0,cj;cj=cn[j];j++){if(cj.nodeName==utag||cj.nodeName==tagName||tagName==&quot;*&quot;){result[++ri]=cj}}}}else{if(mode==&quot;+&quot;){var utag=tagName.toUpperCase();for(var i=0,n;n=ns[i];i++){while((n=n.nextSibling)&amp;&amp;n.nodeType!=1){}if(n&amp;&amp;(n.nodeName==utag||n.nodeName==tagName||tagName==&quot;*&quot;)){result[++ri]=n}}}else{if(mode==&quot;~&quot;){var utag=tagName.toUpperCase();for(var i=0,n;n=ns[i];i++){while((n=n.nextSibling)){if(n.nodeName==utag||n.nodeName==tagName||tagName==&quot;*&quot;){result[++ri]=n}}}}}}}return result}function concat(a,b){if(b.slice){return a.concat(b)}for(var i=0,l=b.length;i&lt;l;i++){a[a.length]=b[i]}return a}function byTag(cs,tagName){if(cs.tagName||cs==document){cs=[cs]}if(!tagName){return cs}var r=[],ri=-1;tagName=tagName.toLowerCase();for(var i=0,ci;ci=cs[i];i++){if(ci.nodeType==1&amp;&amp;ci.tagName.toLowerCase()==tagName){r[++ri]=ci}}return r}function byId(cs,attr,id){if(cs.tagName||cs==document){cs=[cs]}if(!id){return cs}var r=[],ri=-1;for(var i=0,ci;ci=cs[i];i++){if(ci&amp;&amp;ci.id==id){r[++ri]=ci;return r}}return r}function byAttribute(cs,attr,value,op,custom){var r=[],ri=-1,st=custom==&quot;{&quot;,f=Ext.DomQuery.operators[op];for(var i=0,ci;ci=cs[i];i++){if(ci.nodeType!=1){continue}var a;if(st){a=Ext.DomQuery.getStyle(ci,attr)}else{if(attr==&quot;class&quot;||attr==&quot;className&quot;){a=ci.className}else{if(attr==&quot;for&quot;){a=ci.htmlFor}else{if(attr==&quot;href&quot;){a=ci.getAttribute(&quot;href&quot;,2)}else{a=ci.getAttribute(attr)}}}}if((f&amp;&amp;f(a,value))||(!f&amp;&amp;a)){r[++ri]=ci}}return r}function byPseudo(cs,name,value){return Ext.DomQuery.pseudos[name](cs,value)}function nodupIEXml(cs){var d=++key,r;cs[0].setAttribute(&quot;_nodup&quot;,d);r=[cs[0]];for(var i=1,len=cs.length;i&lt;len;i++){var c=cs[i];if(!c.getAttribute(&quot;_nodup&quot;)!=d){c.setAttribute(&quot;_nodup&quot;,d);r[r.length]=c}}for(var i=0,len=cs.length;i&lt;len;i++){cs[i].removeAttribute(&quot;_nodup&quot;)}return r}function nodup(cs){if(!cs){return[]}var len=cs.length,c,i,r=cs,cj,ri=-1;if(!len||typeof cs.nodeType!=&quot;undefined&quot;||len==1){return cs}if(isIE&amp;&amp;typeof cs[0].selectSingleNode!=&quot;undefined&quot;){return nodupIEXml(cs)}var d=++key;cs[0]._nodup=d;for(i=1;c=cs[i];i++){if(c._nodup!=d){c._nodup=d}else{r=[];for(var j=0;j&lt;i;j++){r[++ri]=cs[j]}for(j=i+1;cj=cs[j];j++){if(cj._nodup!=d){cj._nodup=d;r[++ri]=cj}}return r}}return r}function quickDiffIEXml(c1,c2){var d=++key,r=[];for(var i=0,len=c1.length;i&lt;len;i++){c1[i].setAttribute(&quot;_qdiff&quot;,d)}for(var i=0,len=c2.length;i&lt;len;i++){if(c2[i].getAttribute(&quot;_qdiff&quot;)!=d){r[r.length]=c2[i]}}for(var i=0,len=c1.length;i&lt;len;i++){c1[i].removeAttribute(&quot;_qdiff&quot;)}return r}function quickDiff(c1,c2){var len1=c1.length,d=++key,r=[];if(!len1){return c2}if(isIE&amp;&amp;c1[0].selectSingleNode){return quickDiffIEXml(c1,c2)}for(var i=0;i&lt;len1;i++){c1[i]._qdiff=d}for(var i=0,len=c2.length;i&lt;len;i++){if(c2[i]._qdiff!=d){r[r.length]=c2[i]}}return r}function quickId(ns,mode,root,id){if(ns==root){var d=root.ownerDocument||root;return d.getElementById(id)}ns=getNodes(ns,mode,&quot;*&quot;);return byId(ns,null,id)}return{getStyle:function(el,name){return Ext.fly(el).getStyle(name)},compile:function(path,type){type=type||&quot;select&quot;;var fn=[&quot;var f = function(root){\n var mode; ++batch; var n = root || document;\n&quot;],q=path,mode,lq,tk=Ext.DomQuery.matchers,tklen=tk.length,mm,lmode=q.match(modeRe);if(lmode&amp;&amp;lmode[1]){fn[fn.length]='mode=&quot;'+lmode[1].replace(trimRe,&quot;&quot;)+'&quot;;';q=q.replace(lmode[1],&quot;&quot;)}while(path.substr(0,1)==&quot;/&quot;){path=path.substr(1)}while(q&amp;&amp;lq!=q){lq=q;var tm=q.match(tagTokenRe);if(type==&quot;select&quot;){if(tm){if(tm[1]==&quot;#&quot;){fn[fn.length]='n = quickId(n, mode, root, &quot;'+tm[2]+'&quot;);'}else{fn[fn.length]='n = getNodes(n, mode, &quot;'+tm[2]+'&quot;);'}q=q.replace(tm[0],&quot;&quot;)}else{if(q.substr(0,1)!=&quot;@&quot;){fn[fn.length]='n = getNodes(n, mode, &quot;*&quot;);'}}}else{if(tm){if(tm[1]==&quot;#&quot;){fn[fn.length]='n = byId(n, null, &quot;'+tm[2]+'&quot;);'}else{fn[fn.length]='n = byTag(n, &quot;'+tm[2]+'&quot;);'}q=q.replace(tm[0],&quot;&quot;)}}while(!(mm=q.match(modeRe))){var matched=false;for(var j=0;j&lt;tklen;j++){var t=tk[j];var m=q.match(t.re);if(m){fn[fn.length]=t.select.replace(tplRe,function(x,i){return m[i]});q=q.replace(m[0],&quot;&quot;);matched=true;break}}if(!matched){throw'Error parsing selector, parsing failed at &quot;'+q+'&quot;'}}if(mm[1]){fn[fn.length]='mode=&quot;'+mm[1].replace(trimRe,&quot;&quot;)+'&quot;;';q=q.replace(mm[1],&quot;&quot;)}}fn[fn.length]=&quot;return nodup(n);\n}&quot;;eval(fn.join(&quot;&quot;));return f},select:function(path,root,type){if(!root||root==document){root=document}if(typeof root==&quot;string&quot;){root=document.getElementById(root)}var paths=path.split(&quot;,&quot;),results=[];for(var i=0,len=paths.length;i&lt;len;i++){var p=paths[i].replace(trimRe,&quot;&quot;);if(!cache[p]){cache[p]=Ext.DomQuery.compile(p);if(!cache[p]){throw p+&quot; is not a valid selector&quot;}}var result=cache[p](root);if(result&amp;&amp;result!=document){results=results.concat(result)}}if(paths.length&gt;1){return nodup(results)}return results},selectNode:function(path,root){return Ext.DomQuery.select(path,root)[0]},selectValue:function(path,root,defaultValue){path=path.replace(trimRe,&quot;&quot;);if(!valueCache[path]){valueCache[path]=Ext.DomQuery.compile(path,&quot;select&quot;)}var n=valueCache[path](root),v;n=n[0]?n[0]:n;v=(n&amp;&amp;n.firstChild?n.firstChild.nodeValue:null);return((v===null||v===undefined||v===&quot;&quot;)?defaultValue:v)},selectNumber:function(path,root,defaultValue){var v=Ext.DomQuery.selectValue(path,root,defaultValue||0);return parseFloat(v)},is:function(el,ss){if(typeof el==&quot;string&quot;){el=document.getElementById(el)}var isArray=Ext.isArray(el),result=Ext.DomQuery.filter(isArray?el:[el],ss);return isArray?(result.length==el.length):(result.length&gt;0)},filter:function(els,ss,nonMatches){ss=ss.replace(trimRe,&quot;&quot;);if(!simpleCache[ss]){simpleCache[ss]=Ext.DomQuery.compile(ss,&quot;simple&quot;)}var result=simpleCache[ss](els);return nonMatches?quickDiff(result,els):result},matchers:[{re:/^\.([\w-]+)/,select:'n = byClassName(n, null, &quot; {1} &quot;);'},{re:/^\:([\w-]+)(?:\(((?:[^\s&gt;\/]*|.*?))\))?/,select:'n = byPseudo(n, &quot;{1}&quot;, &quot;{2}&quot;);'},{re:/^(?:([\[\{])(?:@)?([\w-]+)\s?(?:(=|.=)\s?['&quot;]?(.*?)[&quot;']?)?[\]\}])/,select:'n = byAttribute(n, &quot;{2}&quot;, &quot;{4}&quot;, &quot;{3}&quot;, &quot;{1}&quot;);'},{re:/^#([\w-]+)/,select:'n = byId(n, null, &quot;{1}&quot;);'},{re:/^@([\w-]+)/,select:'return {firstChild:{nodeValue:attrValue(n, &quot;{1}&quot;)}};'}],operators:{&quot;=&quot;:function(a,v){return a==v},&quot;!=&quot;:function(a,v){return a!=v},&quot;^=&quot;:function(a,v){return a&amp;&amp;a.substr(0,v.length)==v},&quot;$=&quot;:function(a,v){return a&amp;&amp;a.substr(a.length-v.length)==v},&quot;*=&quot;:function(a,v){return a&amp;&amp;a.indexOf(v)!==-1},&quot;%=&quot;:function(a,v){return(a%v)==0},&quot;|=&quot;:function(a,v){return a&amp;&amp;(a==v||a.substr(0,v.length+1)==v+&quot;-&quot;)},&quot;~=&quot;:function(a,v){return a&amp;&amp;(&quot; &quot;+a+&quot; &quot;).indexOf(&quot; &quot;+v+&quot; &quot;)!=-1}},pseudos:{&quot;first-child&quot;:function(c){var r=[],ri=-1,n;for(var i=0,ci;ci=n=c[i];i++){while((n=n.previousSibling)&amp;&amp;n.nodeType!=1){}if(!n){r[++ri]=ci}}return r},&quot;last-child&quot;:function(c){var r=[],ri=-1,n;for(var i=0,ci;ci=n=c[i];i++){while((n=n.nextSibling)&amp;&amp;n.nodeType!=1){}if(!n){r[++ri]=ci}}return r},&quot;nth-child&quot;:function(c,a){var r=[],ri=-1,m=nthRe.exec(a==&quot;even&quot;&amp;&amp;&quot;2n&quot;||a==&quot;odd&quot;&amp;&amp;&quot;2n+1&quot;||!nthRe2.test(a)&amp;&amp;&quot;n+&quot;+a||a),f=(m[1]||1)-0,l=m[2]-0;for(var i=0,n;n=c[i];i++){var pn=n.parentNode;if(batch!=pn._batch){var j=0;for(var cn=pn.firstChild;cn;cn=cn.nextSibling){if(cn.nodeType==1){cn.nodeIndex=++j}}pn._batch=batch}if(f==1){if(l==0||n.nodeIndex==l){r[++ri]=n}}else{if((n.nodeIndex+l)%f==0){r[++ri]=n}}}return r},&quot;only-child&quot;:function(c){var r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){if(!prev(ci)&amp;&amp;!next(ci)){r[++ri]=ci}}return r},empty:function(c){var r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){var cns=ci.childNodes,j=0,cn,empty=true;while(cn=cns[j]){++j;if(cn.nodeType==1||cn.nodeType==3){empty=false;
+break}}if(empty){r[++ri]=ci}}return r},contains:function(c,v){var r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){if((ci.textContent||ci.innerText||&quot;&quot;).indexOf(v)!=-1){r[++ri]=ci}}return r},nodeValue:function(c,v){var r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){if(ci.firstChild&amp;&amp;ci.firstChild.nodeValue==v){r[++ri]=ci}}return r},checked:function(c){var r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){if(ci.checked==true){r[++ri]=ci}}return r},not:function(c,ss){return Ext.DomQuery.filter(c,ss,true)},any:function(c,selectors){var ss=selectors.split(&quot;|&quot;),r=[],ri=-1,s;for(var i=0,ci;ci=c[i];i++){for(var j=0;s=ss[j];j++){if(Ext.DomQuery.is(ci,s)){r[++ri]=ci;break}}}return r},odd:function(c){return this[&quot;nth-child&quot;](c,&quot;odd&quot;)},even:function(c){return this[&quot;nth-child&quot;](c,&quot;even&quot;)},nth:function(c,a){return c[a-1]||[]},first:function(c){return c[0]||[]},last:function(c){return c[c.length-1]||[]},has:function(c,ss){var s=Ext.DomQuery.select,r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){if(s(ss,ci).length&gt;0){r[++ri]=ci}}return r},next:function(c,ss){var is=Ext.DomQuery.is,r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){var n=next(ci);if(n&amp;&amp;is(n,ss)){r[++ri]=ci}}return r},prev:function(c,ss){var is=Ext.DomQuery.is,r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){var n=prev(ci);if(n&amp;&amp;is(n,ss)){r[++ri]=ci}}return r}}}}();Ext.query=Ext.DomQuery.select;(function(){var i=Ext.util,l=Ext.toArray,k=Ext.each,a=Ext.isObject,h=true,j=false;i.Observable=function(){var m=this,n=m.events;if(m.listeners){m.on(m.listeners);delete m.listeners}m.events=n||{}};i.Observable.prototype=function(){var n=/^(?:scope|delay|buffer|single)$/,m=function(o){return o.toLowerCase()};return{fireEvent:function(){var o=l(arguments),r=m(o[0]),s=this,p=h,u=s.events[r],t,v;if(s.eventsSuspended===h){if(t=s.suspendedEventsQueue){t.push(o)}}else{if(a(u)&amp;&amp;u.bubble){if(u.fire.apply(u,o.slice(1))===j){return j}v=s.getBubbleTarget&amp;&amp;s.getBubbleTarget();if(v&amp;&amp;v.enableBubble){v.enableBubble(r);return v.fireEvent.apply(v,o)}}else{if(a(u)){o.shift();p=u.fire.apply(u,o)}}}return p},addListener:function(r,u,w,q){var t=this,s,x,v,p;if(a(r)){q=r;for(s in q){x=q[s];if(!n.test(s)){t.addListener(s,x.fn||x,x.scope||q.scope,x.fn?x:q)}}}else{r=m(r);p=t.events[r]||h;if(typeof p==&quot;boolean&quot;){t.events[r]=p=new i.Event(t,r)}p.addListener(u,w,a(q)?q:{})}},removeListener:function(o,q,p){var r=this.events[m(o)];if(a(r)){r.removeListener(q,p)}},purgeListeners:function(){var q=this.events,o,p;for(p in q){o=q[p];if(a(o)){o.clearListeners()}}},addEvents:function(q){var p=this;p.events=p.events||{};if(typeof q==&quot;string&quot;){k(arguments,function(o){p.events[o]=p.events[o]||h})}else{Ext.applyIf(p.events,q)}},hasListener:function(o){var p=this.events[o];return a(p)&amp;&amp;p.listeners.length&gt;0},suspendEvents:function(o){this.eventsSuspended=h;if(o){this.suspendedEventsQueue=[]}},resumeEvents:function(){var o=this;o.eventsSuspended=!delete o.suspendedEventQueue;k(o.suspendedEventsQueue,function(p){o.fireEvent.apply(o,p)})}}}();var e=i.Observable.prototype;e.on=e.addListener;e.un=e.removeListener;i.Observable.releaseCapture=function(m){m.fireEvent=e.fireEvent};function g(n,p,m){return function(){if(p.target==arguments[0]){n.apply(m,l(arguments))}}}function c(p,q,n){var m=new i.DelayedTask();return function(){m.delay(q.buffer,p,n,l(arguments))}}function d(o,p,n,m){return function(){p.removeListener(n,m);return o.apply(m,arguments)}}function b(n,p,m){return function(){var o=l(arguments);(function(){n.apply(m,o)}).defer(p.delay||10)}}i.Event=function(n,m){this.name=m;this.obj=n;this.listeners=[]};i.Event.prototype={addListener:function(p,o,n){var q=this,m;o=o||q.obj;if(!q.isListening(p,o)){m=q.createListener(p,o,n);if(q.firing){q.listeners=q.listeners.slice(0)}q.listeners.push(m)}},createListener:function(q,p,r){r=r||{},p=p||this.obj;var m={fn:q,scope:p,options:r},n=q;if(r.target){n=g(n,r,p)}if(r.delay){n=b(n,r,p)}if(r.single){n=d(n,this,q,p)}if(r.buffer){n=c(n,r,p)}m.fireFn=n;return m},findListener:function(p,o){var n,m=-1;k(this.listeners,function(q,r){n=q.scope;if(q.fn==p&amp;&amp;(n==o||n==this.obj)){m=r;return j}},this);return m},isListening:function(n,m){return this.findListener(n,m)!=-1},removeListener:function(p,o){var n,q=this,m=j;if((n=q.findListener(p,o))!=-1){if(q.firing){q.listeners=q.listeners.slice(0)}q.listeners.splice(n,1);m=h}return m},clearListeners:function(){this.listeners=[]},fire:function(){var o=this,n=l(arguments),m=h;k(o.listeners,function(p){o.firing=h;if(p.fireFn.apply(p.scope||o.obj||window,n)===j){return m=o.firing=j}});o.firing=j;return m}}})();Ext.apply(Ext.util.Observable.prototype,function(){function a(j){var i=(this.methodEvents=this.methodEvents||{})[j],d,c,g,h=this;if(!i){this.methodEvents[j]=i={};i.originalFn=this[j];i.methodName=j;i.before=[];i.after=[];var b=function(l,k,e){if(!Ext.isEmpty(c=l.apply(k||h,e))){if(Ext.isObject(c)){d=!Ext.isEmpty(c.returnValue)?c.returnValue:c;g=!!c.cancel}else{if(c===false){g=true}else{d=c}}}};this[j]=function(){var e=Ext.toArray(arguments);d=c=undefined;g=false;Ext.each(i.before,function(k){b(k.fn,k.scope,e);if(g){return d}});if(!Ext.isEmpty(c=i.originalFn.apply(h,e))){d=c}Ext.each(i.after,function(k){b(k.fn,k.scope,e);if(g){return d}});return d}}return i}return{beforeMethod:function(d,c,b){a.call(this,d).before.push({fn:c,scope:b})},afterMethod:function(d,c,b){a.call(this,d).after.push({fn:c,scope:b})},removeMethodListener:function(h,c,b){var g=a.call(this,h),d=false;Ext.each(g.before,function(j,k,e){if(j.fn==c&amp;&amp;j.scope==b){e.splice(k,1);d=true;return false}});if(!d){Ext.each(g.after,function(j,k,e){if(j.fn==c&amp;&amp;j.scope==b){e.splice(k,1);return false}})}},relayEvents:function(e,b){var d=this;function c(g){return function(){return d.fireEvent.apply(d,[g].concat(Ext.toArray(arguments)))}}Ext.each(b,function(g){d.events[g]=d.events[g]||true;e.on(g,c(g),d)})},enableBubble:function(b){var c=this;b=Ext.isArray(b)?b:Ext.toArray(arguments);Ext.each(b,function(d){d=d.toLowerCase();var e=c.events[d]||true;if(typeof e==&quot;boolean&quot;){e=new Ext.util.Event(c,d);c.events[d]=e}e.bubble=true})}}}());Ext.util.Observable.capture=function(c,b,a){c.fireEvent=c.fireEvent.createInterceptor(b,a)};Ext.util.Observable.observeClass=function(a){Ext.apply(a,new Ext.util.Observable());a.prototype.fireEvent=function(){return(a.fireEvent.apply(a,arguments)!==false)&amp;&amp;(Ext.util.Observable.prototype.fireEvent.apply(this,arguments)!==false)}};Ext.EventManager=function(){var t,m,j=false,l=Ext.lib.Event,n=Ext.lib.Dom,b=document,u=window,g=&quot;ie-deferred-loader&quot;,o=&quot;DOMContentLoaded&quot;,e={},h=/^(?:scope|delay|buffer|single|stopEvent|preventDefault|stopPropagation|normalized|args|delegate)$/;function k(A,w,z,y,x){var C=Ext.id(A),B=e[C]=e[C]||{};(B[w]=B[w]||[]).push([z,y,x]);l.on(A,w,y);if(w==&quot;mousewheel&quot;&amp;&amp;A.addEventListener){var v=[&quot;DOMMouseScroll&quot;,y,false];A.addEventListener.apply(A,v);l.on(window,&quot;unload&quot;,function(){A.removeEventListener.apply(A,v)})}if(w==&quot;mousedown&quot;&amp;&amp;A==document){Ext.EventManager.stoppedMouseDownEvent.addListener(y)}}function c(){if(!j){Ext.isReady=j=true;if(m){clearInterval(m)}if(Ext.isGecko||Ext.isOpera){b.removeEventListener(o,c,false)}if(Ext.isIE){var v=b.getElementById(g);if(v){v.onreadystatechange=null;v.parentNode.removeChild(v)}}if(t){t.fire();t.clearListeners()}}}function a(){var v=&quot;complete&quot;;t=new Ext.util.Event();if(Ext.isGecko||Ext.isOpera){b.addEventListener(o,c,false)}else{if(Ext.isIE){b.write(&quot;&lt;script id=&quot;+g+' defer=&quot;defer&quot; src=&quot;//:&quot;&gt;&lt;\/script&gt;');b.getElementById(g).onreadystatechange=function(){if(this.readyState==v){c()}}}else{if(Ext.isWebKit){m=setInterval(function(){if(b.readyState==v){c()}},10)}}}l.on(u,&quot;load&quot;,c)}function r(v,w){return function(){var x=Ext.toArray(arguments);if(w.target==Ext.EventObject.setEvent(x[0]).target){v.apply(this,x)}}}function s(w,x){var v=new Ext.util.DelayedTask(w);return function(y){v.delay(x.buffer,w,null,[new Ext.EventObjectImpl(y)])}}function p(z,y,v,x,w){return function(A){Ext.EventManager.removeListener(y,v,x,w);z(A)}}function d(v,w){return function(x){x=new Ext.EventObjectImpl(x);setTimeout(function(){v(x)},w.delay||10)
+}}function i(x,w,v,B,A){var C=!Ext.isObject(v)?{}:v,z=Ext.getDom(x);B=B||C.fn;A=A||C.scope;if(!z){throw'Error listening for &quot;'+w+'&quot;. Element &quot;'+x+&quot;\&quot; doesn't exist.&quot;}function y(E){if(!Ext){return}E=Ext.EventObject.setEvent(E);var D;if(C.delegate){if(!(D=E.getTarget(C.delegate,z))){return}}else{D=E.target}if(C.stopEvent){E.stopEvent()}if(C.preventDefault){E.preventDefault()}if(C.stopPropagation){E.stopPropagation()}if(C.normalized){E=E.browserEvent}B.call(A||z,E,D,C)}if(C.target){y=r(y,C)}if(C.delay){y=d(y,C)}if(C.single){y=p(y,z,w,B,A)}if(C.buffer){y=s(y,C)}k(z,w,B,y,A);return y}var q={addListener:function(x,v,z,y,w){if(Ext.isObject(v)){var C=v,A,B;for(A in C){B=C[A];if(!h.test(A)){if(Ext.isFunction(B)){i(x,A,C,B,C.scope)}else{i(x,A,B)}}}}else{i(x,v,w,z,y)}},removeListener:function(w,v,A,z){var y=Ext.getDom(w),B=Ext.id(y),x;Ext.each((e[B]||{})[v],function(D,E,C){if(Ext.isArray(D)&amp;&amp;D[0]==A&amp;&amp;(!z||D[2]==z)){l.un(y,v,x=D[1]);C.splice(E,1);return false}});if(v==&quot;mousewheel&quot;&amp;&amp;y.addEventListener&amp;&amp;x){y.removeEventListener(&quot;DOMMouseScroll&quot;,x,false)}if(v==&quot;mousedown&quot;&amp;&amp;y==b&amp;&amp;x){Ext.EventManager.stoppedMouseDownEvent.removeListener(x)}},removeAll:function(w){var y=Ext.id(w=Ext.getDom(w)),x=e[y],v;for(v in x){if(x.hasOwnProperty(v)){Ext.each(x[v],function(z){l.un(w,v,z.wrap)})}}e[y]=null},onDocumentReady:function(x,w,v){if(j){t.addListener(x,w,v);t.fire();t.clearListeners()}else{if(!t){a()}v=v||{};v.delay=v.delay||1;t.addListener(x,w,v)}},elHash:e};q.on=q.addListener;q.un=q.removeListener;q.stoppedMouseDownEvent=new Ext.util.Event();return q}();Ext.onReady=Ext.EventManager.onDocumentReady;(function(){var a=function(){var c=document.body||document.getElementsByTagName(&quot;body&quot;)[0];if(!c){return false}var b=[&quot; &quot;,Ext.isIE?&quot;ext-ie &quot;+(Ext.isIE6?&quot;ext-ie6&quot;:(Ext.isIE7?&quot;ext-ie7&quot;:&quot;ext-ie8&quot;)):Ext.isGecko?&quot;ext-gecko &quot;+(Ext.isGecko2?&quot;ext-gecko2&quot;:&quot;ext-gecko3&quot;):Ext.isOpera?&quot;ext-opera&quot;:Ext.isWebKit?&quot;ext-webkit&quot;:&quot;&quot;];if(Ext.isSafari){b.push(&quot;ext-safari &quot;+(Ext.isSafari2?&quot;ext-safari2&quot;:(Ext.isSafari3?&quot;ext-safari3&quot;:&quot;ext-safari4&quot;)))}else{if(Ext.isChrome){b.push(&quot;ext-chrome&quot;)}}if(Ext.isMac){b.push(&quot;ext-mac&quot;)}if(Ext.isLinux){b.push(&quot;ext-linux&quot;)}if(Ext.isStrict||Ext.isBorderBox){var d=c.parentNode;if(d){d.className+=Ext.isStrict?&quot; ext-strict&quot;:&quot; ext-border-box&quot;}}c.className+=b.join(&quot; &quot;);return true};if(!a()){Ext.onReady(a)}})();Ext.EventObject=function(){var b=Ext.lib.Event,a={3:13,63234:37,63235:39,63232:38,63233:40,63276:33,63277:34,63272:46,63273:36,63275:35},c=Ext.isIE?{1:0,4:1,2:2}:(Ext.isWebKit?{1:0,2:1,3:2}:{0:0,1:1,2:2});Ext.EventObjectImpl=function(d){if(d){this.setEvent(d.browserEvent||d)}};Ext.EventObjectImpl.prototype={setEvent:function(g){var d=this;if(g==d||(g&amp;&amp;g.browserEvent)){return g}d.browserEvent=g;if(g){d.button=g.button?c[g.button]:(g.which?g.which-1:-1);if(g.type==&quot;click&quot;&amp;&amp;d.button==-1){d.button=0}d.type=g.type;d.shiftKey=g.shiftKey;d.ctrlKey=g.ctrlKey||g.metaKey||false;d.altKey=g.altKey;d.keyCode=g.keyCode;d.charCode=g.charCode;d.target=b.getTarget(g);d.xy=b.getXY(g)}else{d.button=-1;d.shiftKey=false;d.ctrlKey=false;d.altKey=false;d.keyCode=0;d.charCode=0;d.target=null;d.xy=[0,0]}return d},stopEvent:function(){var d=this;if(d.browserEvent){if(d.browserEvent.type==&quot;mousedown&quot;){Ext.EventManager.stoppedMouseDownEvent.fire(d)}b.stopEvent(d.browserEvent)}},preventDefault:function(){if(this.browserEvent){b.preventDefault(this.browserEvent)}},stopPropagation:function(){var d=this;if(d.browserEvent){if(d.browserEvent.type==&quot;mousedown&quot;){Ext.EventManager.stoppedMouseDownEvent.fire(d)}b.stopPropagation(d.browserEvent)}},getCharCode:function(){return this.charCode||this.keyCode},getKey:function(){return this.normalizeKey(this.keyCode||this.charCode)},normalizeKey:function(d){return Ext.isSafari?(a[d]||d):d},getPageX:function(){return this.xy[0]},getPageY:function(){return this.xy[1]},getXY:function(){return this.xy},getTarget:function(e,g,d){return e?Ext.fly(this.target).findParent(e,g,d):(d?Ext.get(this.target):this.target)},getRelatedTarget:function(){return this.browserEvent?b.getRelatedTarget(this.browserEvent):null},getWheelDelta:function(){var d=this.browserEvent;var g=0;if(d.wheelDelta){g=d.wheelDelta/120}else{if(d.detail){g=-d.detail/3}}return g},within:function(g,h,d){if(g){var e=this[h?&quot;getRelatedTarget&quot;:&quot;getTarget&quot;]();return e&amp;&amp;((d?(e==Ext.getDom(g)):false)||Ext.fly(g).contains(e))}return false}};return new Ext.EventObjectImpl()}();Ext.apply(Ext.EventManager,function(){var c,j,e,b,a=Ext.lib.Dom,k=Ext.lib.Event,i=/^(?:scope|delay|buffer|single|stopEvent|preventDefault|stopPropagation|normalized|args|delegate)$/,h=0,g=0,d=Ext.isSafari?Ext.num(navigator.userAgent.toLowerCase().match(/version\/(\d+\.\d)/)[1]||2)&gt;=3.1:!((Ext.isGecko&amp;&amp;!Ext.isWindows)||Ext.isOpera);return{doResizeEvent:function(){var m=a.getViewHeight(),l=a.getViewWidth();if(g!=m||h!=l){c.fire(h=l,g=m)}},onWindowResize:function(n,m,l){if(!c){c=new Ext.util.Event();j=new Ext.util.DelayedTask(this.doResizeEvent);k.on(window,&quot;resize&quot;,this.fireWindowResize,this)}c.addListener(n,m,l)},fireWindowResize:function(){if(c){if((Ext.isIE||Ext.isAir)&amp;&amp;j){j.delay(50)}else{c.fire(a.getViewWidth(),a.getViewHeight())}}},onTextResize:function(o,n,l){if(!e){e=new Ext.util.Event();var m=new Ext.Element(document.createElement(&quot;div&quot;));m.dom.className=&quot;x-text-resize&quot;;m.dom.innerHTML=&quot;X&quot;;m.appendTo(document.body);b=m.dom.offsetHeight;setInterval(function(){if(m.dom.offsetHeight!=b){e.fire(b,b=m.dom.offsetHeight)}},this.textResizeInterval)}e.addListener(o,n,l)},removeResizeListener:function(m,l){if(c){c.removeListener(m,l)}},fireResize:function(){if(c){c.fire(a.getViewWidth(),a.getViewHeight())}},textResizeInterval:50,ieDeferSrc:false,useKeydown:d}}());Ext.EventManager.on=Ext.EventManager.addListener;Ext.apply(Ext.EventObjectImpl.prototype,{BACKSPACE:8,TAB:9,NUM_CENTER:12,ENTER:13,RETURN:13,SHIFT:16,CTRL:17,CONTROL:17,ALT:18,PAUSE:19,CAPS_LOCK:20,ESC:27,SPACE:32,PAGE_UP:33,PAGEUP:33,PAGE_DOWN:34,PAGEDOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,PRINT_SCREEN:44,INSERT:45,DELETE:46,ZERO:48,ONE:49,TWO:50,THREE:51,FOUR:52,FIVE:53,SIX:54,SEVEN:55,EIGHT:56,NINE:57,A:65,B:66,C:67,D:68,E:69,F:70,G:71,H:72,I:73,J:74,K:75,L:76,M:77,N:78,O:79,P:80,Q:81,R:82,S:83,T:84,U:85,V:86,W:87,X:88,Y:89,Z:90,CONTEXT_MENU:93,NUM_ZERO:96,NUM_ONE:97,NUM_TWO:98,NUM_THREE:99,NUM_FOUR:100,NUM_FIVE:101,NUM_SIX:102,NUM_SEVEN:103,NUM_EIGHT:104,NUM_NINE:105,NUM_MULTIPLY:106,NUM_PLUS:107,NUM_MINUS:109,NUM_PERIOD:110,NUM_DIVISION:111,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,isNavKeyPress:function(){var b=this,a=this.normalizeKey(b.keyCode);return(a&gt;=33&amp;&amp;a&lt;=40)||a==b.RETURN||a==b.TAB||a==b.ESC},isSpecialKey:function(){var a=this.normalizeKey(this.keyCode);return(this.type==&quot;keypress&quot;&amp;&amp;this.ctrlKey)||this.isNavKeyPress()||(a==this.BACKSPACE)||(a&gt;=16&amp;&amp;a&lt;=20)||(a&gt;=44&amp;&amp;a&lt;=45)},getPoint:function(){return new Ext.lib.Point(this.xy[0],this.xy[1])},hasModifier:function(){return((this.ctrlKey||this.altKey)||this.shiftKey)}});(function(){var i=document;Ext.Element=function(n,o){var p=typeof n==&quot;string&quot;?i.getElementById(n):n,q;if(!p){return null}q=p.id;if(!o&amp;&amp;q&amp;&amp;Ext.Element.cache[q]){return Ext.Element.cache[q]}this.dom=p;this.id=q||Ext.id(p)};var a=Ext.lib.Dom,e=Ext.DomHelper,l=Ext.lib.Event,d=Ext.lib.Anim,g=Ext.Element;g.prototype={set:function(s,p){var q=this.dom,n,r;for(n in s){r=s[n];if(n!=&quot;style&quot;&amp;&amp;!Ext.isFunction(r)){if(n==&quot;cls&quot;){q.className=r}else{if(s.hasOwnProperty(n)){if(p||!!q.setAttribute){q.setAttribute(n,r)}else{q[n]=r}}}}}if(s.style){e.applyStyles(q,s.style)}return this},defaultUnit:&quot;px&quot;,is:function(n){return Ext.DomQuery.is(this.dom,n)},focus:function(q,p){var n=this,p=p||n.dom;try{if(Number(q)){n.focus.defer(q,null,[null,p])}else{p.focus()}}catch(o){}return n},blur:function(){try{this.dom.blur()}catch(n){}return this},getValue:function(n){var o=this.dom.value;return n?parseInt(o,10):o},addListener:function(n,q,p,o){Ext.EventManager.on(this.dom,n,q,p||this,o);return this},removeListener:function(n,p,o){Ext.EventManager.removeListener(this.dom,n,p,o||this);
+return this},removeAllListeners:function(){Ext.EventManager.removeAll(this.dom);return this},addUnits:function(n){if(n===&quot;&quot;||n==&quot;auto&quot;||n===undefined){n=n||&quot;&quot;}else{if(!isNaN(n)||!j.test(n)){n=n+(this.defaultUnit||&quot;px&quot;)}}return n},load:function(o,p,n){Ext.Ajax.request(Ext.apply({params:p,url:o.url||o,callback:n,el:this.dom,indicatorText:o.indicatorText||&quot;&quot;},Ext.isObject(o)?o:{}));return this},isBorderBox:function(){return h[(this.dom.tagName||&quot;&quot;).toLowerCase()]||Ext.isBorderBox},remove:function(){var n=this,o=n.dom;n.removeAllListeners();delete g.cache[o.id];delete g.dataCache[o.id];Ext.removeNode(o)},hover:function(o,n,q,p){var r=this;r.on(&quot;mouseenter&quot;,o,q||r.dom,p);r.on(&quot;mouseleave&quot;,n,q||r.dom,p);return r},contains:function(n){return !n?false:Ext.lib.Dom.isAncestor(this.dom,n.dom?n.dom:n)},getAttributeNS:function(o,n){return this.getAttribute(n,o)},getAttribute:Ext.isIE?function(n,p){var q=this.dom,o=typeof q[p+&quot;:&quot;+n];if([&quot;undefined&quot;,&quot;unknown&quot;].indexOf(o)==-1){return q[p+&quot;:&quot;+n]}return q[n]}:function(n,o){var p=this.dom;return p.getAttributeNS(o,n)||p.getAttribute(o+&quot;:&quot;+n)||p.getAttribute(n)||p[n]},update:function(n){this.dom.innerHTML=n;return this}};var m=g.prototype;g.addMethods=function(n){Ext.apply(m,n)};m.on=m.addListener;m.un=m.removeListener;m.autoBoxAdjust=true;var j=/\d+(px|em|%|en|ex|pt|in|cm|mm|pc)$/i,c;g.cache={};g.dataCache={};g.get=function(o){var n,r,q;if(!o){return null}if(typeof o==&quot;string&quot;){if(!(r=i.getElementById(o))){return null}if(n=g.cache[o]){n.dom=r}else{n=g.cache[o]=new g(r)}return n}else{if(o.tagName){if(!(q=o.id)){q=Ext.id(o)}if(n=g.cache[q]){n.dom=o}else{n=g.cache[q]=new g(o)}return n}else{if(o instanceof g){if(o!=c){o.dom=i.getElementById(o.id)||o.dom;g.cache[o.id]=o}return o}else{if(o.isComposite){return o}else{if(Ext.isArray(o)){return g.select(o)}else{if(o==i){if(!c){var p=function(){};p.prototype=g.prototype;c=new p();c.dom=i}return c}}}}}}return null};g.data=function(o,n,p){var q=g.dataCache[o.id];if(!q){q=g.dataCache[o.id]={}}if(arguments.length==2){return q[n]}else{q[n]=p}};function k(){if(!Ext.enableGarbageCollector){clearInterval(g.collectorThread)}else{var n,o,p;for(n in g.cache){o=g.cache[n];p=o.dom;if(!p||!p.parentNode||(!p.offsetParent&amp;&amp;!i.getElementById(n))){delete g.cache[n];if(p&amp;&amp;Ext.enableListenerCollection){Ext.EventManager.removeAll(p)}}}}}g.collectorThreadId=setInterval(k,30000);var b=function(){};b.prototype=g.prototype;g.Flyweight=function(n){this.dom=n};g.Flyweight.prototype=new b();g.Flyweight.prototype.isFlyweight=true;g._flyweights={};g.fly=function(p,n){var o=null;n=n||&quot;_global&quot;;if(p=Ext.getDom(p)){(g._flyweights[n]=g._flyweights[n]||new g.Flyweight()).dom=p;o=g._flyweights[n]}return o};Ext.get=g.get;Ext.fly=g.fly;var h=Ext.isStrict?{select:1}:{input:1,select:1,textarea:1};if(Ext.isIE||Ext.isGecko){h.button=1}Ext.EventManager.on(window,&quot;unload&quot;,function(){delete g.cache;delete g.dataCache;delete g._flyweights})})();Ext.Element.addMethods({swallowEvent:function(a,b){var d=this;function c(g){g.stopPropagation();if(b){g.preventDefault()}}if(Ext.isArray(a)){Ext.each(a,function(g){d.on(g,c)});return d}d.on(a,c);return d},relayEvent:function(a,b){this.on(a,function(c){b.fireEvent(a,c)})},clean:function(b){var d=this,e=d.dom,g=e.firstChild,c=-1;if(Ext.Element.data(e,&quot;isCleaned&quot;)&amp;&amp;b!==true){return d}while(g){var a=g.nextSibling;if(g.nodeType==3&amp;&amp;!/\S/.test(g.nodeValue)){e.removeChild(g)}else{g.nodeIndex=++c}g=a}Ext.Element.data(e,&quot;isCleaned&quot;,true);return d},load:function(){var a=this.getUpdater();a.update.apply(a,arguments);return this},getUpdater:function(){return this.updateManager||(this.updateManager=new Ext.Updater(this))},update:function(html,loadScripts,callback){html=html||&quot;&quot;;if(loadScripts!==true){this.dom.innerHTML=html;if(Ext.isFunction(callback)){callback()}return this}var id=Ext.id(),dom=this.dom;html+='&lt;span id=&quot;'+id+'&quot;&gt;&lt;/span&gt;';Ext.lib.Event.onAvailable(id,function(){var DOC=document,hd=DOC.getElementsByTagName(&quot;head&quot;)[0],re=/(?:&lt;script([^&gt;]*)?&gt;)((\n|\r|.)*?)(?:&lt;\/script&gt;)/ig,srcRe=/\ssrc=([\'\&quot;])(.*?)\1/i,typeRe=/\stype=([\'\&quot;])(.*?)\1/i,match,attrs,srcMatch,typeMatch,el,s;while((match=re.exec(html))){attrs=match[1];srcMatch=attrs?attrs.match(srcRe):false;if(srcMatch&amp;&amp;srcMatch[2]){s=DOC.createElement(&quot;script&quot;);s.src=srcMatch[2];typeMatch=attrs.match(typeRe);if(typeMatch&amp;&amp;typeMatch[2]){s.type=typeMatch[2]}hd.appendChild(s)}else{if(match[2]&amp;&amp;match[2].length&gt;0){if(window.execScript){window.execScript(match[2])}else{window.eval(match[2])}}}}el=DOC.getElementById(id);if(el){Ext.removeNode(el)}if(Ext.isFunction(callback)){callback()}});dom.innerHTML=html.replace(/(?:&lt;script.*?&gt;)((\n|\r|.)*?)(?:&lt;\/script&gt;)/ig,&quot;&quot;);return this},createProxy:function(a,e,d){a=Ext.isObject(a)?a:{tag:&quot;div&quot;,cls:a};var c=this,b=e?Ext.DomHelper.append(e,a,true):Ext.DomHelper.insertBefore(c.dom,a,true);if(d&amp;&amp;c.setBox&amp;&amp;c.getBox){b.setBox(c.getBox())}return b}});Ext.Element.prototype.getUpdateManager=Ext.Element.prototype.getUpdater;Ext.Element.uncache=function(e){for(var d=0,c=arguments,b=c.length;d&lt;b;d++){if(c[d]){delete Ext.Element.cache[c[d].id||c[d]]}}};Ext.Element.addMethods({getAnchorXY:function(e,l,q){e=(e||&quot;tl&quot;).toLowerCase();q=q||{};var k=this,b=k.dom==document.body||k.dom==document,n=q.width||b?Ext.lib.Dom.getViewWidth():k.getWidth(),i=q.height||b?Ext.lib.Dom.getViewHeight():k.getHeight(),p,a=Math.round,c=k.getXY(),m=k.getScroll(),j=b?m.left:!l?c[0]:0,g=b?m.top:!l?c[1]:0,d={c:[a(n*0.5),a(i*0.5)],t:[a(n*0.5),0],l:[0,a(i*0.5)],r:[n,a(i*0.5)],b:[a(n*0.5),i],tl:[0,0],bl:[0,i],br:[n,i],tr:[n,0]};p=d[e];return[p[0]+j,p[1]+g]},anchorTo:function(b,g,c,a,i,j){var h=this,e=h.dom;function d(){Ext.fly(e).alignTo(b,g,c,a);Ext.callback(j,Ext.fly(e))}Ext.EventManager.onWindowResize(d,h);if(!Ext.isEmpty(i)){Ext.EventManager.on(window,&quot;scroll&quot;,d,h,{buffer:!isNaN(i)?i:50})}d.call(h);return h},getAlignToXY:function(g,A,B){g=Ext.get(g);if(!g||!g.dom){throw&quot;Element.alignToXY with an element that doesn't exist&quot;}B=B||[0,0];A=(A==&quot;?&quot;?&quot;tl-bl?&quot;:(!/-/.test(A)&amp;&amp;A!==&quot;&quot;?&quot;tl-&quot;+A:A||&quot;tl-bl&quot;)).toLowerCase();var K=this,H=K.dom,M,L,n,l,s,F,v,t=Ext.lib.Dom.getViewWidth()-10,G=Ext.lib.Dom.getViewHeight()-10,b,i,j,k,u,z,N=document,J=N.documentElement,q=N.body,E=(J.scrollLeft||q.scrollLeft||0)+5,D=(J.scrollTop||q.scrollTop||0)+5,I=false,e=&quot;&quot;,a=&quot;&quot;,C=A.match(/^([a-z]+)-([a-z]+)(\?)?$/);if(!C){throw&quot;Element.alignTo with an invalid alignment &quot;+A}e=C[1];a=C[2];I=!!C[3];M=K.getAnchorXY(e,true);L=g.getAnchorXY(a,false);n=L[0]-M[0]+B[0];l=L[1]-M[1]+B[1];if(I){s=K.getWidth();F=K.getHeight();v=g.getRegion();b=e.charAt(0);i=e.charAt(e.length-1);j=a.charAt(0);k=a.charAt(a.length-1);u=((b==&quot;t&quot;&amp;&amp;j==&quot;b&quot;)||(b==&quot;b&quot;&amp;&amp;j==&quot;t&quot;));z=((i==&quot;r&quot;&amp;&amp;k==&quot;l&quot;)||(i==&quot;l&quot;&amp;&amp;k==&quot;r&quot;));if(n+s&gt;t+E){n=z?v.left-s:t+E-s}if(n&lt;E){n=z?v.right:E}if(l+F&gt;G+D){l=u?v.top-F:G+D-F}if(l&lt;D){l=u?v.bottom:D}}return[n,l]},alignTo:function(c,a,e,b){var d=this;return d.setXY(d.getAlignToXY(c,a,e),d.preanim&amp;&amp;!!b?d.preanim(arguments,3):false)},adjustForConstraints:function(c,a,b){return this.getConstrainToXY(a||document,false,b,c)||c},getConstrainToXY:function(b,a,c,e){var d={top:0,left:0,bottom:0,right:0};return function(i,z,k,m){i=Ext.get(i);k=k?Ext.applyIf(k,d):d;var v,C,u=0,t=0;if(i.dom==document.body||i.dom==document){v=Ext.lib.Dom.getViewWidth();C=Ext.lib.Dom.getViewHeight()}else{v=i.dom.clientWidth;C=i.dom.clientHeight;if(!z){var r=i.getXY();u=r[0];t=r[1]}}var q=i.getScroll();u+=k.left+q.left;t+=k.top+q.top;v-=k.right;C-=k.bottom;var A=u+v;var g=t+C;var j=m||(!z?this.getXY():[this.getLeft(true),this.getTop(true)]);var o=j[0],n=j[1];var p=this.dom.offsetWidth,B=this.dom.offsetHeight;var l=false;if((o+p)&gt;A){o=A-p;l=true}if((n+B)&gt;g){n=g-B;l=true}if(o&lt;u){o=u;l=true}if(n&lt;t){n=t;l=true}return l?[o,n]:false}}(),getCenterXY:function(){return this.getAlignToXY(document,&quot;c-c&quot;)},center:function(a){return this.alignTo(a||document,&quot;c-c&quot;)}});Ext.Element.addMethods(function(){var d=&quot;parentNode&quot;,b=&quot;nextSibling&quot;,c=&quot;previousSibling&quot;,e=Ext.DomQuery,a=Ext.get;return{findParent:function(m,l,h){var j=this.dom,g=document.body,k=0,i;
+if(Ext.isGecko&amp;&amp;Object.prototype.toString.call(j)==&quot;[object XULElement]&quot;){return null}l=l||50;if(isNaN(l)){i=Ext.getDom(l);l=Number.MAX_VALUE}while(j&amp;&amp;j.nodeType==1&amp;&amp;k&lt;l&amp;&amp;j!=g&amp;&amp;j!=i){if(e.is(j,m)){return h?a(j):j}k++;j=j.parentNode}return null},findParentNode:function(j,i,g){var h=Ext.fly(this.dom.parentNode,&quot;_internal&quot;);return h?h.findParent(j,i,g):null},up:function(h,g){return this.findParentNode(h,g,true)},select:function(g,h){return Ext.Element.select(g,h,this.dom)},query:function(g,h){return e.select(g,this.dom)},child:function(g,h){var i=e.selectNode(g,this.dom);return h?i:a(i)},down:function(g,h){var i=e.selectNode(&quot; &gt; &quot;+g,this.dom);return h?i:a(i)},parent:function(g,h){return this.matchNode(d,d,g,h)},next:function(g,h){return this.matchNode(b,b,g,h)},prev:function(g,h){return this.matchNode(c,c,g,h)},first:function(g,h){return this.matchNode(b,&quot;firstChild&quot;,g,h)},last:function(g,h){return this.matchNode(c,&quot;lastChild&quot;,g,h)},matchNode:function(h,k,g,i){var j=this.dom[k];while(j){if(j.nodeType==1&amp;&amp;(!g||e.is(j,g))){return !i?a(j):j}j=j[h]}return null}}}());Ext.Element.addMethods(function(){var d=Ext.getDom,a=Ext.get,c=Ext.DomHelper,b=function(e){return(e.nodeType||e.dom||typeof e==&quot;string&quot;)};return{appendChild:function(e){return a(e).appendTo(this)},appendTo:function(e){d(e).appendChild(this.dom);return this},insertBefore:function(e){(e=d(e)).parentNode.insertBefore(this.dom,e);return this},insertAfter:function(e){(e=d(e)).parentNode.insertBefore(this.dom,e.nextSibling);return this},insertFirst:function(g,e){g=g||{};if(b(g)){g=d(g);this.dom.insertBefore(g,this.dom.firstChild);return !e?a(g):g}else{return this.createChild(g,this.dom.firstChild,e)}},replace:function(e){e=a(e);this.insertBefore(e);e.remove();return this},replaceWith:function(g){var h=this,e=Ext.Element;if(b(g)){g=d(g);h.dom.parentNode.insertBefore(g,h.dom)}else{g=c.insertBefore(h.dom,g)}delete e.cache[h.id];Ext.removeNode(h.dom);h.id=Ext.id(h.dom=g);return e.cache[h.id]=h},createChild:function(g,e,h){g=g||{tag:&quot;div&quot;};return e?c.insertBefore(e,g,h!==true):c[!this.dom.firstChild?&quot;overwrite&quot;:&quot;append&quot;](this.dom,g,h!==true)},wrap:function(e,g){var h=c.insertBefore(this.dom,e||{tag:&quot;div&quot;},!g);h.dom?h.dom.appendChild(this.dom):h.appendChild(this.dom);return h},insertHtml:function(g,h,e){var i=c.insertHtml(g,this.dom,h);return e?Ext.get(i):i}}}());Ext.apply(Ext.Element.prototype,function(){var c=Ext.getDom,a=Ext.get,b=Ext.DomHelper;return{insertSibling:function(h,e,g){var i=this,d;if(Ext.isArray(h)){Ext.each(h,function(j){d=i.insertSibling(j,e,g)});return d}e=(e||&quot;before&quot;).toLowerCase();h=h||{};if(h.nodeType||h.dom){d=i.dom.parentNode.insertBefore(c(h),e==&quot;before&quot;?i.dom:i.dom.nextSibling);if(!g){d=a(d)}}else{if(e==&quot;after&quot;&amp;&amp;!i.dom.nextSibling){d=b.append(i.dom.parentNode,h,!g)}else{d=b[e==&quot;after&quot;?&quot;insertAfter&quot;:&quot;insertBefore&quot;](i.dom,h,!g)}}return d}}}());Ext.Element.addMethods(function(){var h={},y=/(-[a-z])/gi,b={},t=document.defaultView,v=Ext.isIE?&quot;styleFloat&quot;:&quot;cssFloat&quot;,D=/alpha\(opacity=(.*)\)/i,l=/^\s+|\s+$/g,B=Ext.Element,d=&quot;padding&quot;,c=&quot;margin&quot;,z=&quot;border&quot;,u=&quot;-left&quot;,r=&quot;-right&quot;,x=&quot;-top&quot;,o=&quot;-bottom&quot;,j=&quot;-width&quot;,s=Math,A=&quot;hidden&quot;,e=&quot;isClipped&quot;,k=&quot;overflow&quot;,n=&quot;overflow-x&quot;,m=&quot;overflow-y&quot;,C=&quot;originalClip&quot;,i={l:z+u+j,r:z+r+j,t:z+x+j,b:z+o+j},g={l:d+u,r:d+r,t:d+x,b:d+o},a={l:c+u,r:c+r,t:c+x,b:c+o},E=Ext.Element.data;function q(F,G){return G.charAt(1).toUpperCase()}function p(G,F){var H=0;Ext.each(G.match(/\w/g),function(I){if(I=parseInt(this.getStyle(F[I]),10)){H+=s.abs(I)}},this);return H}function w(F){return h[F]||(h[F]=F==&quot;float&quot;?v:F.replace(y,q))}return{adjustWidth:function(F){var G=this;var H=(typeof F==&quot;number&quot;);if(H&amp;&amp;G.autoBoxAdjust&amp;&amp;!G.isBorderBox()){F-=(G.getBorderWidth(&quot;lr&quot;)+G.getPadding(&quot;lr&quot;))}return(H&amp;&amp;F&lt;0)?0:F},adjustHeight:function(F){var G=this;var H=(typeof F==&quot;number&quot;);if(H&amp;&amp;G.autoBoxAdjust&amp;&amp;!G.isBorderBox()){F-=(G.getBorderWidth(&quot;tb&quot;)+G.getPadding(&quot;tb&quot;))}return(H&amp;&amp;F&lt;0)?0:F},addClass:function(F){var G=this;Ext.each(F,function(H){G.dom.className+=(!G.hasClass(H)&amp;&amp;H?&quot; &quot;+H:&quot;&quot;)});return G},radioClass:function(F){Ext.each(this.dom.parentNode.childNodes,function(G){if(G.nodeType==1){Ext.fly(G,&quot;_internal&quot;).removeClass(F)}});return this.addClass(F)},removeClass:function(F){var G=this;if(G.dom.className){Ext.each(F,function(H){G.dom.className=G.dom.className.replace(b[H]=b[H]||new RegExp(&quot;(?:^|\\s+)&quot;+H+&quot;(?:\\s+|$)&quot;,&quot;g&quot;),&quot; &quot;)})}return G},toggleClass:function(F){return this.hasClass(F)?this.removeClass(F):this.addClass(F)},hasClass:function(F){return F&amp;&amp;(&quot; &quot;+this.dom.className+&quot; &quot;).indexOf(&quot; &quot;+F+&quot; &quot;)!=-1},replaceClass:function(G,F){return this.removeClass(G).addClass(F)},isStyle:function(F,G){return this.getStyle(F)==G},getStyle:function(){return t&amp;&amp;t.getComputedStyle?function(J){var I=this.dom,F,H,G;if(I==document){return null}J=w(J);G=(F=I.style[J])?F:(H=t.getComputedStyle(I,&quot;&quot;))?H[J]:null;if(Ext.isWebKit&amp;&amp;G==&quot;rgba(0, 0, 0, 0)&quot;){G=&quot;transparent&quot;}return G}:function(J){var H=this.dom,F,G;if(H==document){return null}if(J==&quot;opacity&quot;){if(H.style.filter.match){if(F=H.style.filter.match(D)){var I=parseFloat(F[1]);if(!isNaN(I)){return I?I/100:0}}}return 1}J=w(J);return H.style[J]||((G=H.currentStyle)?G[J]:null)}}(),getColor:function(F,G,K){var I=this.getStyle(F),H=Ext.isDefined(K)?K:&quot;#&quot;,J;if(!I||/transparent|inherit/.test(I)){return G}if(/^r/.test(I)){Ext.each(I.slice(4,I.length-1).split(&quot;,&quot;),function(L){J=parseInt(L,10);H+=(J&lt;16?&quot;0&quot;:&quot;&quot;)+J.toString(16)})}else{I=I.replace(&quot;#&quot;,&quot;&quot;);H+=I.length==3?I.replace(/^(\w)(\w)(\w)$/,&quot;$1$1$2$2$3$3&quot;):I}return(H.length&gt;5?H.toLowerCase():G)},setStyle:function(J,I){var G,H,F;if(!Ext.isObject(J)){G={};G[J]=I;J=G}for(H in J){I=J[H];H==&quot;opacity&quot;?this.setOpacity(I):this.dom.style[w(H)]=I}return this},setOpacity:function(G,F){var J=this,H=J.dom.style;if(!F||!J.anim){if(Ext.isIE){var I=G&lt;1?&quot;alpha(opacity=&quot;+G*100+&quot;)&quot;:&quot;&quot;,K=H.filter.replace(D,&quot;&quot;).replace(l,&quot;&quot;);H.zoom=1;H.filter=K+(K.length&gt;0?&quot; &quot;:&quot;&quot;)+I}else{H.opacity=G}}else{J.anim({opacity:{to:G}},J.preanim(arguments,1),null,0.35,&quot;easeIn&quot;)}return J},clearOpacity:function(){var F=this.dom.style;if(Ext.isIE){if(!Ext.isEmpty(F.filter)){F.filter=F.filter.replace(D,&quot;&quot;).replace(l,&quot;&quot;)}}else{F.opacity=F[&quot;-moz-opacity&quot;]=F[&quot;-khtml-opacity&quot;]=&quot;&quot;}return this},getHeight:function(H){var G=this,I=G.dom,F=s.max(I.offsetHeight,I.clientHeight)||0;F=!H?F:F-G.getBorderWidth(&quot;tb&quot;)-G.getPadding(&quot;tb&quot;);return F&lt;0?0:F},getWidth:function(G){var H=this,I=H.dom,F=s.max(I.offsetWidth,I.clientWidth)||0;F=!G?F:F-H.getBorderWidth(&quot;lr&quot;)-H.getPadding(&quot;lr&quot;);return F&lt;0?0:F},setWidth:function(G,F){var H=this;G=H.adjustWidth(G);!F||!H.anim?H.dom.style.width=H.addUnits(G):H.anim({width:{to:G}},H.preanim(arguments,1));return H},setHeight:function(F,G){var H=this;F=H.adjustHeight(F);!G||!H.anim?H.dom.style.height=H.addUnits(F):H.anim({height:{to:F}},H.preanim(arguments,1));return H},getBorderWidth:function(F){return p.call(this,F,i)},getPadding:function(F){return p.call(this,F,g)},clip:function(){var F=this,G=F.dom;if(!E(G,e)){E(G,e,true);E(G,C,{o:F.getStyle(k),x:F.getStyle(n),y:F.getStyle(m)});F.setStyle(k,A);F.setStyle(n,A);F.setStyle(m,A)}return F},unclip:function(){var F=this,H=F.dom;if(E(H,e)){E(H,e,false);var G=E(H,C);if(G.o){F.setStyle(k,G.o)}if(G.x){F.setStyle(n,G.x)}if(G.y){F.setStyle(m,G.y)}}return F},addStyles:p,margins:a}}());Ext.Element.boxMarkup='&lt;div class=&quot;{0}-tl&quot;&gt;&lt;div class=&quot;{0}-tr&quot;&gt;&lt;div class=&quot;{0}-tc&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;{0}-ml&quot;&gt;&lt;div class=&quot;{0}-mr&quot;&gt;&lt;div class=&quot;{0}-mc&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;{0}-bl&quot;&gt;&lt;div class=&quot;{0}-br&quot;&gt;&lt;div class=&quot;{0}-bc&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;';Ext.Element.addMethods(function(){var a=&quot;_internal&quot;;return{applyStyles:function(b){Ext.DomHelper.applyStyles(this.dom,b);return this},getStyles:function(){var b={};Ext.each(arguments,function(c){b[c]=this.getStyle(c)},this);return b},getStyleSize:function(){var g=this,b,e,i=this.dom,c=i.style;if(c.width&amp;&amp;c.width!=&quot;auto&quot;){b=parseInt(c.width,10);if(g.isBorderBox()){b-=g.getFrameWidth(&quot;lr&quot;)}}if(c.height&amp;&amp;c.height!=&quot;auto&quot;){e=parseInt(c.height,10);if(g.isBorderBox()){e-=g.getFrameWidth(&quot;tb&quot;)
+}}return{width:b||g.getWidth(true),height:e||g.getHeight(true)}},setOverflow:function(b){var c=this.dom;if(b==&quot;auto&quot;&amp;&amp;Ext.isMac&amp;&amp;Ext.isGecko2){c.style.overflow=&quot;hidden&quot;;(function(){c.style.overflow=&quot;auto&quot;}).defer(1)}else{c.style.overflow=b}},boxWrap:function(b){b=b||&quot;x-box&quot;;var c=Ext.get(this.insertHtml(&quot;beforeBegin&quot;,&quot;&lt;div class='&quot;+b+&quot;'&gt;&quot;+String.format(Ext.Element.boxMarkup,b)+&quot;&lt;/div&gt;&quot;));Ext.DomQuery.selectNode(&quot;.&quot;+b+&quot;-mc&quot;,c.dom).appendChild(this.dom);return c},setSize:function(d,b,c){var e=this;if(Ext.isObject(d)){b=d.height;d=d.width}d=e.adjustWidth(d);b=e.adjustHeight(b);if(!c||!e.anim){e.dom.style.width=e.addUnits(d);e.dom.style.height=e.addUnits(b)}else{e.anim({width:{to:d},height:{to:b}},e.preanim(arguments,2))}return e},getComputedHeight:function(){var c=this,b=Math.max(c.dom.offsetHeight,c.dom.clientHeight);if(!b){b=parseInt(c.getStyle(&quot;height&quot;),10)||0;if(!c.isBorderBox()){b+=c.getFrameWidth(&quot;tb&quot;)}}return b},getComputedWidth:function(){var b=Math.max(this.dom.offsetWidth,this.dom.clientWidth);if(!b){b=parseInt(this.getStyle(&quot;width&quot;),10)||0;if(!this.isBorderBox()){b+=this.getFrameWidth(&quot;lr&quot;)}}return b},getFrameWidth:function(c,b){return b&amp;&amp;this.isBorderBox()?0:(this.getPadding(c)+this.getBorderWidth(c))},addClassOnOver:function(b){this.hover(function(){Ext.fly(this,a).addClass(b)},function(){Ext.fly(this,a).removeClass(b)});return this},addClassOnFocus:function(b){this.on(&quot;focus&quot;,function(){Ext.fly(this,a).addClass(b)},this.dom);this.on(&quot;blur&quot;,function(){Ext.fly(this,a).removeClass(b)},this.dom);return this},addClassOnClick:function(b){var c=this.dom;this.on(&quot;mousedown&quot;,function(){Ext.fly(c,a).addClass(b);var g=Ext.getDoc(),e=function(){Ext.fly(c,a).removeClass(b);g.removeListener(&quot;mouseup&quot;,e)};g.on(&quot;mouseup&quot;,e)});return this},getViewSize:function(){var e=document,g=this.dom,c=Ext.lib.Dom,b=(g==e||g==e.body);return{width:(b?c.getViewWidth():g.clientWidth),height:(b?c.getViewHeight():g.clientHeight)}},getSize:function(b){return{width:this.getWidth(b),height:this.getHeight(b)}},repaint:function(){var b=this.dom;this.addClass(&quot;x-repaint&quot;);setTimeout(function(){Ext.fly(b).removeClass(&quot;x-repaint&quot;)},1);return this},unselectable:function(){this.dom.unselectable=&quot;on&quot;;return this.swallowEvent(&quot;selectstart&quot;,true).applyStyles(&quot;-moz-user-select:none;-khtml-user-select:none;&quot;).addClass(&quot;x-unselectable&quot;)},getMargins:function(c){var d=this,b,e={t:&quot;top&quot;,l:&quot;left&quot;,r:&quot;right&quot;,b:&quot;bottom&quot;},g={};if(!c){for(b in d.margins){g[e[b]]=parseInt(d.getStyle(d.margins[b]),10)||0}return g}else{return d.addStyles.call(d,c,d.margins)}}}}());(function(){var a=Ext.lib.Dom,b=&quot;left&quot;,g=&quot;right&quot;,d=&quot;top&quot;,i=&quot;bottom&quot;,h=&quot;position&quot;,c=&quot;static&quot;,e=&quot;relative&quot;,j=&quot;auto&quot;,k=&quot;z-index&quot;;function l(n,m,o){return this.preanim&amp;&amp;!!m?this.preanim(n,o):false}Ext.Element.addMethods({getX:function(){return a.getX(this.dom)},getY:function(){return a.getY(this.dom)},getXY:function(){return a.getXY(this.dom)},getOffsetsTo:function(m){var p=this.getXY(),n=Ext.fly(m,&quot;_internal&quot;).getXY();return[p[0]-n[0],p[1]-n[1]]},setX:function(m,n){return this.setXY([m,this.getY()],l.call(this,arguments,n,1))},setY:function(n,m){return this.setXY([this.getX(),n],l.call(this,arguments,m,1))},setLeft:function(m){this.setStyle(b,this.addUnits(m));return this},setTop:function(m){this.setStyle(d,this.addUnits(m));return this},setRight:function(m){this.setStyle(g,this.addUnits(m));return this},setBottom:function(m){this.setStyle(i,this.addUnits(m));return this},setXY:function(o,m){var n=this;if(!m||!n.anim){a.setXY(n.dom,o)}else{n.anim({points:{to:o}},n.preanim(arguments,1),&quot;motion&quot;)}return n},setLocation:function(m,o,n){return this.setXY([m,o],l.call(this,arguments,n,2))},moveTo:function(m,o,n){return this.setXY([m,o],l.call(this,arguments,n,2))},getLeft:function(m){return !m?this.getX():parseInt(this.getStyle(b),10)||0},getRight:function(m){var n=this;return !m?n.getX()+n.getWidth():(n.getLeft(true)+n.getWidth())||0},getTop:function(m){return !m?this.getY():parseInt(this.getStyle(d),10)||0},getBottom:function(m){var n=this;return !m?n.getY()+n.getHeight():(n.getTop(true)+n.getHeight())||0},position:function(q,p,m,o){var n=this;if(!q&amp;&amp;n.isStyle(h,c)){n.setStyle(h,e)}else{if(q){n.setStyle(h,q)}}if(p){n.setStyle(k,p)}if(m||o){n.setXY([m||false,o||false])}},clearPositioning:function(m){m=m||&quot;&quot;;this.setStyle({left:m,right:m,top:m,bottom:m,&quot;z-index&quot;:&quot;&quot;,position:c});return this},getPositioning:function(){var m=this.getStyle(b);var n=this.getStyle(d);return{position:this.getStyle(h),left:m,right:m?&quot;&quot;:this.getStyle(g),top:n,bottom:n?&quot;&quot;:this.getStyle(i),&quot;z-index&quot;:this.getStyle(k)}},setPositioning:function(m){var o=this,n=o.dom.style;o.setStyle(m);if(m.right==j){n.right=&quot;&quot;}if(m.bottom==j){n.bottom=&quot;&quot;}return o},translatePoints:function(m,u){u=isNaN(m[1])?u:m[1];m=isNaN(m[0])?m:m[0];var q=this,r=q.isStyle(h,e),s=q.getXY(),n=parseInt(q.getStyle(b),10),p=parseInt(q.getStyle(d),10);n=!isNaN(n)?n:(r?0:q.dom.offsetLeft);p=!isNaN(p)?p:(r?0:q.dom.offsetTop);return{left:(m-s[0]+n),top:(u-s[1]+p)}},animTest:l})})();Ext.Element.addMethods({setBox:function(e,g,b){var d=this,a=e.width,c=e.height;if((g&amp;&amp;!d.autoBoxAdjust)&amp;&amp;!d.isBorderBox()){a-=(d.getBorderWidth(&quot;lr&quot;)+d.getPadding(&quot;lr&quot;));c-=(d.getBorderWidth(&quot;tb&quot;)+d.getPadding(&quot;tb&quot;))}d.setBounds(e.x,e.y,a,c,d.animTest.call(d,arguments,b,2));return d},getBox:function(j,p){var m=this,v,e,o,d=m.getBorderWidth,q=m.getPadding,g,a,u,n;if(!p){v=m.getXY()}else{e=parseInt(m.getStyle(&quot;left&quot;),10)||0;o=parseInt(m.getStyle(&quot;top&quot;),10)||0;v=[e,o]}var c=m.dom,s=c.offsetWidth,i=c.offsetHeight,k;if(!j){k={x:v[0],y:v[1],0:v[0],1:v[1],width:s,height:i}}else{g=d.call(m,&quot;l&quot;)+q.call(m,&quot;l&quot;);a=d.call(m,&quot;r&quot;)+q.call(m,&quot;r&quot;);u=d.call(m,&quot;t&quot;)+q.call(m,&quot;t&quot;);n=d.call(m,&quot;b&quot;)+q.call(m,&quot;b&quot;);k={x:v[0]+g,y:v[1]+u,0:v[0]+g,1:v[1]+u,width:s-(g+a),height:i-(u+n)}}k.right=k.x+k.width;k.bottom=k.y+k.height;return k},move:function(j,b,c){var g=this,m=g.getXY(),k=m[0],i=m[1],d=[k-b,i],l=[k+b,i],h=[k,i-b],a=[k,i+b],e={l:d,left:d,r:l,right:l,t:h,top:h,up:h,b:a,bottom:a,down:a};j=j.toLowerCase();g.moveTo(e[j][0],e[j][1],g.animTest.call(g,arguments,c,2))},setLeftTop:function(d,c){var b=this,a=b.dom.style;a.left=b.addUnits(d);a.top=b.addUnits(c);return b},getRegion:function(){return Ext.lib.Dom.getRegion(this.dom)},setBounds:function(b,g,d,a,c){var e=this;if(!c||!e.anim){e.setSize(d,a);e.setLocation(b,g)}else{e.anim({points:{to:[b,g]},width:{to:e.adjustWidth(d)},height:{to:e.adjustHeight(a)}},e.preanim(arguments,4),&quot;motion&quot;)}return e},setRegion:function(b,a){return this.setBounds(b.left,b.top,b.right-b.left,b.bottom-b.top,this.animTest.call(this,arguments,a,1))}});Ext.Element.addMethods({isScrollable:function(){var a=this.dom;return a.scrollHeight&gt;a.clientHeight||a.scrollWidth&gt;a.clientWidth},scrollTo:function(a,b){this.dom[&quot;scroll&quot;+(/top/i.test(a)?&quot;Top&quot;:&quot;Left&quot;)]=b;return this},getScroll:function(){var i=this.dom,h=document,a=h.body,c=h.documentElement,b,g,e;if(i==h||i==a){if(Ext.isIE&amp;&amp;Ext.isStrict){b=c.scrollLeft;g=c.scrollTop}else{b=window.pageXOffset;g=window.pageYOffset}e={left:b||(a?a.scrollLeft:0),top:g||(a?a.scrollTop:0)}}else{e={left:i.scrollLeft,top:i.scrollTop}}return e}});Ext.Element.addMethods({scrollTo:function(c,e,b){var a=/top/i,h=&quot;scroll&quot;+(a.test(c)?&quot;Top&quot;:&quot;Left&quot;),d=this,g=d.dom;if(!b||!d.anim){g[h]=e}else{d.anim({scroll:{to:a.test(h)?[g[h],e]:[e,g[h]]}},d.preanim(arguments,2),&quot;scroll&quot;)}return d},scrollIntoView:function(e,i){var p=Ext.getDom(e)||Ext.getBody().dom,h=this.dom,g=this.getOffsetsTo(p),k=g[0]+p.scrollLeft,u=g[1]+p.scrollTop,q=u+h.offsetHeight,d=k+h.offsetWidth,a=p.clientHeight,m=parseInt(p.scrollTop,10),s=parseInt(p.scrollLeft,10),j=m+a,n=s+p.clientWidth;if(h.offsetHeight&gt;a||u&lt;m){p.scrollTop=u}else{if(q&gt;j){p.scrollTop=q-a}}p.scrollTop=p.scrollTop;if(i!==false){if(h.offsetWidth&gt;p.clientWidth||k&lt;s){p.scrollLeft=k}else{if(d&gt;n){p.scrollLeft=d-p.clientWidth}}p.scrollLeft=p.scrollLeft}return this},scrollChildIntoView:function(b,a){Ext.fly(b,&quot;_scrollChildIntoView&quot;).scrollIntoView(this,a)},scroll:function(m,b,d){if(!this.isScrollable()){return
+}var e=this.dom,g=e.scrollLeft,p=e.scrollTop,n=e.scrollWidth,k=e.scrollHeight,i=e.clientWidth,a=e.clientHeight,c=false,o,j={l:Math.min(g+b,n-i),r:o=Math.max(g-b,0),t:Math.max(p-b,0),b:Math.min(p+b,k-a)};j.d=j.b;j.u=j.t;m=m.substr(0,1);if((o=j[m])&gt;-1){c=true;this.scrollTo(m==&quot;l&quot;||m==&quot;r&quot;?&quot;left&quot;:&quot;top&quot;,o,this.preanim(arguments,2))}return c}});Ext.Element.VISIBILITY=1;Ext.Element.DISPLAY=2;Ext.Element.addMethods(function(){var h=&quot;visibility&quot;,d=&quot;display&quot;,b=&quot;hidden&quot;,j=&quot;none&quot;,a=&quot;originalDisplay&quot;,c=&quot;visibilityMode&quot;,e=Ext.Element.DISPLAY,g=Ext.Element.data,i=function(m){var l=g(m,a);if(l===undefined){g(m,a,l=&quot;&quot;)}return l},k=function(n){var l=g(n,c);if(l===undefined){g(n,c,l=1)}return l};return{originalDisplay:&quot;&quot;,visibilityMode:1,setVisibilityMode:function(l){g(this.dom,c,l);return this},animate:function(m,o,n,p,l){this.anim(m,{duration:o,callback:n,easing:p},l);return this},anim:function(o,p,m,r,n,l){m=m||&quot;run&quot;;p=p||{};var q=this,s=Ext.lib.Anim[m](q.dom,o,(p.duration||r)||0.35,(p.easing||n)||&quot;easeOut&quot;,function(){if(l){l.call(q)}if(p.callback){p.callback.call(p.scope||q,q,p)}},q);p.anim=s;return s},preanim:function(l,m){return !l[m]?false:(Ext.isObject(l[m])?l[m]:{duration:l[m+1],callback:l[m+2],easing:l[m+3]})},isVisible:function(){return !this.isStyle(h,b)&amp;&amp;!this.isStyle(d,j)},setVisible:function(p,m){var n=this,o=n.dom,l=k(this.dom)==e;if(!m||!n.anim){if(l){n.setDisplayed(p)}else{n.fixDisplay();o.style.visibility=p?&quot;visible&quot;:b}}else{if(p){n.setOpacity(0.01);n.setVisible(true)}n.anim({opacity:{to:(p?1:0)}},n.preanim(arguments,1),null,0.35,&quot;easeIn&quot;,function(){if(!p){o.style[l?d:h]=(l)?j:b;Ext.fly(o).setOpacity(1)}})}return n},toggle:function(l){var m=this;m.setVisible(!m.isVisible(),m.preanim(arguments,0));return m},setDisplayed:function(l){if(typeof l==&quot;boolean&quot;){l=l?i(this.dom):j}this.setStyle(d,l);return this},fixDisplay:function(){var l=this;if(l.isStyle(d,j)){l.setStyle(h,b);l.setStyle(d,i(this.dom));if(l.isStyle(d,j)){l.setStyle(d,&quot;block&quot;)}}},hide:function(l){this.setVisible(false,this.preanim(arguments,0));return this},show:function(l){this.setVisible(true,this.preanim(arguments,0));return this}}}());Ext.Element.addMethods(function(){var d=&quot;visibility&quot;,b=&quot;display&quot;,a=&quot;hidden&quot;,h=&quot;none&quot;,c=&quot;x-masked&quot;,g=&quot;x-masked-relative&quot;,e=Ext.Element.data;return{isVisible:function(i){var j=!this.isStyle(d,a)&amp;&amp;!this.isStyle(b,h),k=this.dom.parentNode;if(i!==true||!j){return j}while(k&amp;&amp;!/body/i.test(k.tagName)){if(!Ext.fly(k,&quot;_isVisible&quot;).isVisible()){return false}k=k.parentNode}return true},isDisplayed:function(){return !this.isStyle(b,h)},enableDisplayMode:function(i){this.setVisibilityMode(Ext.Element.DISPLAY);if(!Ext.isEmpty(i)){e(this.dom,&quot;originalDisplay&quot;,i)}return this},mask:function(j,n){var p=this,l=p.dom,o=Ext.DomHelper,m=&quot;ext-el-mask-msg&quot;,i,q;if(p.getStyle(&quot;position&quot;)==&quot;static&quot;){p.addClass(g)}if((i=e(l,&quot;maskMsg&quot;))){i.remove()}if((i=e(l,&quot;mask&quot;))){i.remove()}q=o.append(l,{cls:&quot;ext-el-mask&quot;},true);e(l,&quot;mask&quot;,q);p.addClass(c);q.setDisplayed(true);if(typeof j==&quot;string&quot;){var k=o.append(l,{cls:m,cn:{tag:&quot;div&quot;}},true);e(l,&quot;maskMsg&quot;,k);k.dom.className=n?m+&quot; &quot;+n:m;k.dom.firstChild.innerHTML=j;k.setDisplayed(true);k.center(p)}if(Ext.isIE&amp;&amp;!(Ext.isIE7&amp;&amp;Ext.isStrict)&amp;&amp;p.getStyle(&quot;height&quot;)==&quot;auto&quot;){q.setSize(undefined,p.getHeight())}return q},unmask:function(){var k=this,l=k.dom,i=e(l,&quot;mask&quot;),j=e(l,&quot;maskMsg&quot;);if(i){if(j){j.remove();e(l,&quot;maskMsg&quot;,undefined)}i.remove();e(l,&quot;mask&quot;,undefined)}k.removeClass([c,g])},isMasked:function(){var i=e(this.dom,&quot;mask&quot;);return i&amp;&amp;i.isVisible()},createShim:function(){var i=document.createElement(&quot;iframe&quot;),j;i.frameBorder=&quot;0&quot;;i.className=&quot;ext-shim&quot;;if(Ext.isIE&amp;&amp;Ext.isSecure){i.src=Ext.SSL_SECURE_URL}j=Ext.get(this.dom.parentNode.insertBefore(i,this.dom));j.autoBoxAdjust=false;return j}}}());Ext.Element.addMethods({initDD:function(c,b,d){var a=new Ext.dd.DD(Ext.id(this.dom),c,b);return Ext.apply(a,d)},initDDProxy:function(c,b,d){var a=new Ext.dd.DDProxy(Ext.id(this.dom),c,b);return Ext.apply(a,d)},initDDTarget:function(c,b,d){var a=new Ext.dd.DDTarget(Ext.id(this.dom),c,b);return Ext.apply(a,d)}});Ext.Element.addMethods({autoHeight:function(a,c,b,e){var d=this.getHeight();this.clip();this.setHeight(1);setTimeout(function(){var g=parseInt(this.dom.scrollHeight,10);if(!a){this.setHeight(g);this.unclip();if(typeof b==&quot;function&quot;){b()}}else{this.setHeight(d);this.setHeight(g,a,c,function(){this.unclip();if(typeof b==&quot;function&quot;){b()}}.createDelegate(this),e)}}.createDelegate(this),0);return this}});Ext.Element.addMethods({addKeyListener:function(b,d,c){var a;if(!Ext.isObject(b)||Ext.isArray(b)){a={key:b,fn:d,scope:c}}else{a={key:b.key,shift:b.shift,ctrl:b.ctrl,alt:b.alt,fn:d,scope:c}}return new Ext.KeyMap(this,a)},addKeyMap:function(a){return new Ext.KeyMap(this,a)}});(function(){var y=null,A=undefined,k=true,t=false,j=&quot;setX&quot;,h=&quot;setY&quot;,a=&quot;setXY&quot;,n=&quot;left&quot;,l=&quot;bottom&quot;,s=&quot;top&quot;,m=&quot;right&quot;,q=&quot;height&quot;,g=&quot;width&quot;,i=&quot;points&quot;,w=&quot;hidden&quot;,z=&quot;absolute&quot;,u=&quot;visible&quot;,e=&quot;motion&quot;,o=&quot;position&quot;,r=&quot;easeOut&quot;,d=new Ext.Element.Flyweight(),v={},x=function(B){return B||{}},p=function(B){d.dom=B;d.id=Ext.id(B);return d},c=function(B){if(!v[B]){v[B]=[]}return v[B]},b=function(C,B){v[C]=B};Ext.enableFx=k;Ext.Fx={switchStatements:function(C,D,B){return D.apply(this,B[C])},slideIn:function(H,E){E=x(E);var J=this,G=J.dom,M=G.style,O,B,L,D,C,M,I,N,K,F;H=H||&quot;t&quot;;J.queueFx(E,function(){O=p(G).getXY();p(G).fixDisplay();B=p(G).getFxRestore();L={x:O[0],y:O[1],0:O[0],1:O[1],width:G.offsetWidth,height:G.offsetHeight};L.right=L.x+L.width;L.bottom=L.y+L.height;p(G).setWidth(L.width).setHeight(L.height);D=p(G).fxWrap(B.pos,E,w);M.visibility=u;M.position=z;function P(){p(G).fxUnwrap(D,B.pos,E);M.width=B.width;M.height=B.height;p(G).afterFx(E)}N={to:[L.x,L.y]};K={to:L.width};F={to:L.height};function Q(U,R,V,S,X,Z,ac,ab,aa,W,T){var Y={};p(U).setWidth(V).setHeight(S);if(p(U)[X]){p(U)[X](Z)}R[ac]=R[ab]=&quot;0&quot;;if(aa){Y.width=aa}if(W){Y.height=W}if(T){Y.points=T}return Y}I=p(G).switchStatements(H.toLowerCase(),Q,{t:[D,M,L.width,0,y,y,n,l,y,F,y],l:[D,M,0,L.height,y,y,m,s,K,y,y],r:[D,M,L.width,L.height,j,L.right,n,s,y,y,N],b:[D,M,L.width,L.height,h,L.bottom,n,s,y,F,N],tl:[D,M,0,0,y,y,m,l,K,F,N],bl:[D,M,0,0,h,L.y+L.height,m,s,K,F,N],br:[D,M,0,0,a,[L.right,L.bottom],n,s,K,F,N],tr:[D,M,0,0,j,L.x+L.width,n,l,K,F,N]});M.visibility=u;p(D).show();arguments.callee.anim=p(D).fxanim(I,E,e,0.5,r,P)});return J},slideOut:function(F,D){D=x(D);var H=this,E=H.dom,K=E.style,L=H.getXY(),C,B,I,J,G={to:0};F=F||&quot;t&quot;;H.queueFx(D,function(){B=p(E).getFxRestore();I={x:L[0],y:L[1],0:L[0],1:L[1],width:E.offsetWidth,height:E.offsetHeight};I.right=I.x+I.width;I.bottom=I.y+I.height;p(E).setWidth(I.width).setHeight(I.height);C=p(E).fxWrap(B.pos,D,u);K.visibility=u;K.position=z;p(C).setWidth(I.width).setHeight(I.height);function M(){D.useDisplay?p(E).setDisplayed(t):p(E).hide();p(E).fxUnwrap(C,B.pos,D);K.width=B.width;K.height=B.height;p(E).afterFx(D)}function N(O,W,U,X,S,V,R,T,Q){var P={};O[W]=O[U]=&quot;0&quot;;P[X]=S;if(V){P[V]=R}if(T){P[T]=Q}return P}J=p(E).switchStatements(F.toLowerCase(),N,{t:[K,n,l,q,G],l:[K,m,s,g,G],r:[K,n,s,g,G,i,{to:[I.right,I.y]}],b:[K,n,s,q,G,i,{to:[I.x,I.bottom]}],tl:[K,m,l,g,G,q,G],bl:[K,m,s,g,G,q,G,i,{to:[I.x,I.bottom]}],br:[K,n,s,g,G,q,G,i,{to:[I.x+I.width,I.bottom]}],tr:[K,n,l,g,G,q,G,i,{to:[I.right,I.y]}]});arguments.callee.anim=p(C).fxanim(J,D,e,0.5,r,M)});return H},puff:function(H){H=x(H);var F=this,G=F.dom,C=G.style,D,B,E;F.queueFx(H,function(){D=p(G).getWidth();B=p(G).getHeight();p(G).clearOpacity();p(G).show();E=p(G).getFxRestore();function I(){H.useDisplay?p(G).setDisplayed(t):p(G).hide();p(G).clearOpacity();p(G).setPositioning(E.pos);C.width=E.width;C.height=E.height;C.fontSize=&quot;&quot;;p(G).afterFx(H)}arguments.callee.anim=p(G).fxanim({width:{to:p(G).adjustWidth(D*2)},height:{to:p(G).adjustHeight(B*2)},points:{by:[-D*0.5,-B*0.5]},opacity:{to:0},fontSize:{to:200,unit:&quot;%&quot;}},H,e,0.5,r,I)});return F},switchOff:function(F){F=x(F);var D=this,E=D.dom,B=E.style,C;D.queueFx(F,function(){p(E).clearOpacity();p(E).clip();C=p(E).getFxRestore();
+function G(){F.useDisplay?p(E).setDisplayed(t):p(E).hide();p(E).clearOpacity();p(E).setPositioning(C.pos);B.width=C.width;B.height=C.height;p(E).afterFx(F)}p(E).fxanim({opacity:{to:0.3}},y,y,0.1,y,function(){p(E).clearOpacity();(function(){p(E).fxanim({height:{to:1},points:{by:[0,p(E).getHeight()*0.5]}},F,e,0.3,&quot;easeIn&quot;,G)}).defer(100)})});return D},highlight:function(D,H){H=x(H);var F=this,G=F.dom,B=H.attr||&quot;backgroundColor&quot;,C={},E;F.queueFx(H,function(){p(G).clearOpacity();p(G).show();function I(){G.style[B]=E;p(G).afterFx(H)}E=G.style[B];C[B]={from:D||&quot;ffff9c&quot;,to:H.endColor||p(G).getColor(B)||&quot;ffffff&quot;};arguments.callee.anim=p(G).fxanim(C,H,&quot;color&quot;,1,&quot;easeIn&quot;,I)});return F},frame:function(B,E,H){H=x(H);var D=this,G=D.dom,C,F;D.queueFx(H,function(){B=B||&quot;#C3DAF9&quot;;if(B.length==6){B=&quot;#&quot;+B}E=E||1;p(G).show();var L=p(G).getXY(),J={x:L[0],y:L[1],0:L[0],1:L[1],width:G.offsetWidth,height:G.offsetHeight},I=function(){C=p(document.body||document.documentElement).createChild({style:{visbility:w,position:z,&quot;z-index&quot;:35000,border:&quot;0px solid &quot;+B}});return C.queueFx({},K)};arguments.callee.anim={isAnimated:true,stop:function(){E=0;C.stopFx()}};function K(){var M=Ext.isBorderBox?2:1;F=C.anim({top:{from:J.y,to:J.y-20},left:{from:J.x,to:J.x-20},borderWidth:{from:0,to:10},opacity:{from:1,to:0},height:{from:J.height,to:J.height+20*M},width:{from:J.width,to:J.width+20*M}},{duration:H.duration||1,callback:function(){C.remove();--E&gt;0?I():p(G).afterFx(H)}});arguments.callee.anim={isAnimated:true,stop:function(){F.stop()}}}I()});return D},pause:function(D){var C=this.dom,B;this.queueFx({},function(){B=setTimeout(function(){p(C).afterFx({})},D*1000);arguments.callee.anim={isAnimated:true,stop:function(){clearTimeout(B);p(C).afterFx({})}}});return this},fadeIn:function(D){D=x(D);var B=this,C=B.dom,E=D.endOpacity||1;B.queueFx(D,function(){p(C).setOpacity(0);p(C).fixDisplay();C.style.visibility=u;arguments.callee.anim=p(C).fxanim({opacity:{to:E}},D,y,0.5,r,function(){if(E==1){p(C).clearOpacity()}p(C).afterFx(D)})});return B},fadeOut:function(E){E=x(E);var C=this,D=C.dom,B=D.style,F=E.endOpacity||0;C.queueFx(E,function(){arguments.callee.anim=p(D).fxanim({opacity:{to:F}},E,y,0.5,r,function(){if(F==0){Ext.Element.data(D,&quot;visibilityMode&quot;)==Ext.Element.DISPLAY||E.useDisplay?B.display=&quot;none&quot;:B.visibility=w;p(D).clearOpacity()}p(D).afterFx(E)})});return C},scale:function(B,C,D){this.shift(Ext.apply({},D,{width:B,height:C}));return this},shift:function(D){D=x(D);var C=this.dom,B={};this.queueFx(D,function(){for(var E in D){if(D[E]!=A){B[E]={to:D[E]}}}B.width?B.width.to=p(C).adjustWidth(D.width):B;B.height?B.height.to=p(C).adjustWidth(D.height):B;if(B.x||B.y||B.xy){B.points=B.xy||{to:[B.x?B.x.to:p(C).getX(),B.y?B.y.to:p(C).getY()]}}arguments.callee.anim=p(C).fxanim(B,D,e,0.35,r,function(){p(C).afterFx(D)})});return this},ghost:function(E,C){C=x(C);var G=this,D=G.dom,J=D.style,H={opacity:{to:0},points:{}},K=H.points,B,I,F;E=E||&quot;b&quot;;G.queueFx(C,function(){B=p(D).getFxRestore();I=p(D).getWidth();F=p(D).getHeight();function L(){C.useDisplay?p(D).setDisplayed(t):p(D).hide();p(D).clearOpacity();p(D).setPositioning(B.pos);J.width=B.width;J.height=B.height;p(D).afterFx(C)}K.by=p(D).switchStatements(E.toLowerCase(),function(N,M){return[N,M]},{t:[0,-F],l:[-I,0],r:[I,0],b:[0,F],tl:[-I,-F],bl:[-I,F],br:[I,F],tr:[I,-F]});arguments.callee.anim=p(D).fxanim(H,C,e,0.5,r,L)});return G},syncFx:function(){var B=this;B.fxDefaults=Ext.apply(B.fxDefaults||{},{block:t,concurrent:k,stopFx:t});return B},sequenceFx:function(){var B=this;B.fxDefaults=Ext.apply(B.fxDefaults||{},{block:t,concurrent:t,stopFx:t});return B},nextFx:function(){var B=c(this.dom.id)[0];if(B){B.call(this)}},hasActiveFx:function(){return c(this.dom.id)[0]},stopFx:function(B){var C=this,E=C.dom.id;if(C.hasActiveFx()){var D=c(E)[0];if(D&amp;&amp;D.anim){if(D.anim.isAnimated){b(E,[D]);D.anim.stop(B!==undefined?B:k)}else{b(E,[])}}}return C},beforeFx:function(B){if(this.hasActiveFx()&amp;&amp;!B.concurrent){if(B.stopFx){this.stopFx();return k}return t}return k},hasFxBlock:function(){var B=c(this.dom.id);return B&amp;&amp;B[0]&amp;&amp;B[0].block},queueFx:function(E,B){var C=p(this.dom);if(!C.hasFxBlock()){Ext.applyIf(E,C.fxDefaults);if(!E.concurrent){var D=C.beforeFx(E);B.block=E.block;c(C.dom.id).push(B);if(D){C.nextFx()}}else{B.call(C)}}return C},fxWrap:function(H,F,D){var E=this.dom,C,B;if(!F.wrap||!(C=Ext.getDom(F.wrap))){if(F.fixPosition){B=p(E).getXY()}var G=document.createElement(&quot;div&quot;);G.style.visibility=D;C=E.parentNode.insertBefore(G,E);p(C).setPositioning(H);if(p(C).isStyle(o,&quot;static&quot;)){p(C).position(&quot;relative&quot;)}p(E).clearPositioning(&quot;auto&quot;);p(C).clip();C.appendChild(E);if(B){p(C).setXY(B)}}return C},fxUnwrap:function(C,F,E){var D=this.dom;p(D).clearPositioning();p(D).setPositioning(F);if(!E.wrap){var B=p(C).dom.parentNode;B.insertBefore(D,C);p(C).remove()}},getFxRestore:function(){var B=this.dom.style;return{pos:this.getPositioning(),width:B.width,height:B.height}},afterFx:function(C){var B=this.dom,E=B.id,D=!C.concurrent;if(C.afterStyle){p(B).setStyle(C.afterStyle)}if(C.afterCls){p(B).addClass(C.afterCls)}if(C.remove==k){p(B).remove()}if(D){c(E).shift()}if(C.callback){C.callback.call(C.scope,p(B))}if(D){p(B).nextFx()}},fxanim:function(E,F,C,G,D,B){C=C||&quot;run&quot;;F=F||{};var H=Ext.lib.Anim[C](this.dom,E,(F.duration||G)||0.35,(F.easing||D)||r,B,this);F.anim=H;return H}};Ext.Fx.resize=Ext.Fx.scale;Ext.Element.addMethods(Ext.Fx)})();Ext.CompositeElementLite=function(b,a){this.elements=[];this.add(b,a);this.el=new Ext.Element.Flyweight()};Ext.CompositeElementLite.prototype={isComposite:true,getCount:function(){return this.elements.length},add:function(b){if(b){if(Ext.isArray(b)){this.elements=this.elements.concat(b)}else{var a=this.elements;Ext.each(b,function(c){a.push(c)})}}return this},invoke:function(d,a){var b=this.elements,c=this.el;Ext.each(b,function(g){c.dom=g;Ext.Element.prototype[d].apply(c,a)});return this},item:function(a){var b=this;if(!b.elements[a]){return null}b.el.dom=b.elements[a];return b.el},addListener:function(a,d,c,b){Ext.each(this.elements,function(g){Ext.EventManager.on(g,a,d,c||g,b)});return this},each:function(c,b){var d=this,a=d.el;Ext.each(d.elements,function(h,g){a.dom=h;return c.call(b||a,a,d,g)});return d},indexOf:function(a){return this.elements.indexOf(Ext.getDom(a))},replaceElement:function(e,c,a){var b=!isNaN(e)?e:this.indexOf(e),g;if(b&gt;-1){c=Ext.getDom(c);if(a){g=this.elements[b];g.parentNode.insertBefore(c,g);Ext.removeNode(g)}this.elements.splice(b,1,c)}return this},clear:function(){this.elements=[]}};Ext.CompositeElementLite.prototype.on=Ext.CompositeElementLite.prototype.addListener;(function(){var c,b=Ext.Element.prototype,a=Ext.CompositeElementLite.prototype;for(c in b){if(Ext.isFunction(b[c])){(function(d){a[d]=a[d]||function(){return this.invoke(d,arguments)}}).call(a,c)}}})();if(Ext.DomQuery){Ext.Element.selectorFunction=Ext.DomQuery.select}Ext.Element.select=function(a,d,b){var c;if(typeof a==&quot;string&quot;){c=Ext.Element.selectorFunction(a,b)}else{if(a.length!==undefined){c=a}else{throw&quot;Invalid selector&quot;}}return new Ext.CompositeElementLite(c)};Ext.select=Ext.Element.select;Ext.apply(Ext.CompositeElementLite.prototype,{addElements:function(c,a){if(!c){return this}if(typeof c==&quot;string&quot;){c=Ext.Element.selectorFunction(c,a)}var b=this.elements;Ext.each(c,function(d){b.push(Ext.get(d))});return this},fill:function(a){this.elements=[];this.add(a);return this},first:function(){return this.item(0)},last:function(){return this.item(this.getCount()-1)},contains:function(a){return this.indexOf(a)!=-1},filter:function(a){var b=[];this.each(function(c){if(c.is(a)){b[b.length]=c.dom}});this.fill(b);return this},removeElement:function(d,e){var c=this,a=this.elements,b;Ext.each(d,function(g){if((b=(a[g]||a[g=c.indexOf(g)]))){if(e){if(b.dom){b.remove()}else{Ext.removeNode(b)}}a.splice(g,1)}});return this}});Ext.CompositeElement=function(b,a){this.elements=[];this.add(b,a)};Ext.extend(Ext.CompositeElement,Ext.CompositeElementLite,{invoke:function(b,a){Ext.each(this.elements,function(c){Ext.Element.prototype[b].apply(c,a)
+});return this},add:function(c,a){if(!c){return this}if(typeof c==&quot;string&quot;){c=Ext.Element.selectorFunction(c,a)}var b=this.elements;Ext.each(c,function(d){b.push(Ext.get(d))});return this},item:function(a){return this.elements[a]||null},indexOf:function(a){return this.elements.indexOf(Ext.get(a))},filter:function(a){var c=this,b=[];Ext.each(c.elements,function(d){if(d.is(a)){b.push(Ext.get(d))}});c.elements=b;return c},each:function(b,a){Ext.each(this.elements,function(d,c){return b.call(a||d,d,this,c)},this);return this}});Ext.Element.select=function(a,d,b){var c;if(typeof a==&quot;string&quot;){c=Ext.Element.selectorFunction(a,b)}else{if(a.length!==undefined){c=a}else{throw&quot;Invalid selector&quot;}}return(d===true)?new Ext.CompositeElement(c):new Ext.CompositeElementLite(c)};Ext.select=Ext.Element.select;Ext.handleError=function(a){throw a};Ext.Error=function(a){this.message=(this.lang[a])?this.lang[a]:a};Ext.Error.prototype=new Error();Ext.apply(Ext.Error.prototype,{lang:{},name:&quot;Ext.Error&quot;,getName:function(){return this.name},getMessage:function(){return this.message},toJson:function(){return Ext.encode(this)}});(function(){var c=&quot;beforerequest&quot;,l=&quot;requestcomplete&quot;,k=&quot;requestexception&quot;,e=undefined,i=&quot;load&quot;,h=&quot;POST&quot;,j=&quot;GET&quot;,g=window;Ext.data.Connection=function(m){Ext.apply(this,m);this.addEvents(c,l,k);Ext.data.Connection.superclass.constructor.call(this)};function b(m){this.transId=false;var n=m.argument.options;m.argument=n?n.argument:null;this.fireEvent(l,this,m,n);if(n.success){n.success.call(n.scope,m,n)}if(n.callback){n.callback.call(n.scope,n,true,m)}}function d(m,o){this.transId=false;var n=m.argument.options;m.argument=n?n.argument:null;this.fireEvent(k,this,m,n,o);if(n.failure){n.failure.call(n.scope,m,n)}if(n.callback){n.callback.call(n.scope,n,false,m)}}function a(t,m,n){var p=Ext.id(),z=document,u=z.createElement(&quot;iframe&quot;),q=Ext.getDom(t.form),y=[],x,s=&quot;multipart/form-data&quot;,r={target:q.target,method:q.method,encoding:q.encoding,enctype:q.enctype,action:q.action};Ext.apply(u,{id:p,name:p,className:&quot;x-hidden&quot;,src:Ext.SSL_SECURE_URL});z.body.appendChild(u);if(Ext.isIE){document.frames[p].name=p}Ext.apply(q,{target:p,method:h,enctype:s,encoding:s,action:n||r.action});m=Ext.urlDecode(m,false);for(var w in m){if(m.hasOwnProperty(w)){x=z.createElement(&quot;input&quot;);x.type=&quot;hidden&quot;;x.value=m[x.name=w];q.appendChild(x);y.push(x)}}function v(){var B=this,A={responseText:&quot;&quot;,responseXML:null,argument:t.argument},E,D;try{E=u.contentWindow.document||u.contentDocument||g.frames[p].document;if(E){if(E.body){if(/textarea/i.test((D=E.body.firstChild||{}).tagName)){A.responseText=D.value}else{A.responseText=E.body.innerHTML}}A.responseXML=E.XMLDocument||E}}catch(C){}Ext.EventManager.removeListener(u,i,v,B);B.fireEvent(l,B,A,t);function o(H,G,F){if(Ext.isFunction(H)){H.apply(G,F)}}o(t.success,t.scope,[A,t]);o(t.callback,t.scope,[t,true,A]);if(!B.debugUploads){setTimeout(function(){Ext.removeNode(u)},100)}}Ext.EventManager.on(u,i,v,this);q.submit();Ext.apply(q,r);Ext.each(y,function(o){Ext.removeNode(o)})}Ext.extend(Ext.data.Connection,Ext.util.Observable,{timeout:30000,autoAbort:false,disableCaching:true,disableCachingParam:&quot;_dc&quot;,request:function(s){var v=this;if(v.fireEvent(c,v,s)){if(s.el){if(!Ext.isEmpty(s.indicatorText)){v.indicatorText='&lt;div class=&quot;loading-indicator&quot;&gt;'+s.indicatorText+&quot;&lt;/div&gt;&quot;}if(v.indicatorText){Ext.getDom(s.el).innerHTML=v.indicatorText}s.success=(Ext.isFunction(s.success)?s.success:function(){}).createInterceptor(function(o){Ext.getDom(s.el).innerHTML=o.responseText})}var q=s.params,n=s.url||v.url,m,t={success:b,failure:d,scope:v,argument:{options:s},timeout:s.timeout||v.timeout},r,w;if(Ext.isFunction(q)){q=q.call(s.scope||g,s)}q=Ext.urlEncode(v.extraParams,Ext.isObject(q)?Ext.urlEncode(q):q);if(Ext.isFunction(n)){n=n.call(s.scope||g,s)}if((r=Ext.getDom(s.form))){n=n||r.action;if(s.isUpload||/multipart\/form-data/i.test(r.getAttribute(&quot;enctype&quot;))){return a.call(v,s,q,n)}w=Ext.lib.Ajax.serializeForm(r);q=q?(q+&quot;&amp;&quot;+w):w}m=s.method||v.method||((q||s.xmlData||s.jsonData)?h:j);if(m===j&amp;&amp;(v.disableCaching&amp;&amp;s.disableCaching!==false)||s.disableCaching===true){var u=s.disableCachingParam||v.disableCachingParam;n=Ext.urlAppend(n,u+&quot;=&quot;+(new Date().getTime()))}s.headers=Ext.apply(s.headers||{},v.defaultHeaders||{});if(s.autoAbort===true||v.autoAbort){v.abort()}if((m==j||s.xmlData||s.jsonData)&amp;&amp;q){n=Ext.urlAppend(n,q);q=&quot;&quot;}return(v.transId=Ext.lib.Ajax.request(m,n,t,q,s))}else{return s.callback?s.callback.apply(s.scope,[s,e,e]):null}},isLoading:function(m){return m?Ext.lib.Ajax.isCallInProgress(m):!!this.transId},abort:function(m){if(m||this.isLoading()){Ext.lib.Ajax.abort(m||this.transId)}}})})();Ext.Ajax=new Ext.data.Connection({autoAbort:false,serializeForm:function(a){return Ext.lib.Ajax.serializeForm(a)}});Ext.UpdateManager=Ext.Updater=Ext.extend(Ext.util.Observable,function(){var b=&quot;beforeupdate&quot;,d=&quot;update&quot;,c=&quot;failure&quot;;function a(h){var i=this;i.transaction=null;if(h.argument.form&amp;&amp;h.argument.reset){try{h.argument.form.reset()}catch(j){}}if(i.loadScripts){i.renderer.render(i.el,h,i,g.createDelegate(i,[h]))}else{i.renderer.render(i.el,h,i);g.call(i,h)}}function g(h,i,j){this.fireEvent(i||d,this.el,h);if(Ext.isFunction(h.argument.callback)){h.argument.callback.call(h.argument.scope,this.el,Ext.isEmpty(j)?true:false,h,h.argument.options)}}function e(h){g.call(this,h,c,!!(this.transaction=null))}return{constructor:function(i,h){var j=this;i=Ext.get(i);if(!h&amp;&amp;i.updateManager){return i.updateManager}j.el=i;j.defaultUrl=null;j.addEvents(b,d,c);Ext.apply(j,Ext.Updater.defaults);j.transaction=null;j.refreshDelegate=j.refresh.createDelegate(j);j.updateDelegate=j.update.createDelegate(j);j.formUpdateDelegate=(j.formUpdate||function(){}).createDelegate(j);j.renderer=j.renderer||j.getDefaultRenderer();Ext.Updater.superclass.constructor.call(j)},setRenderer:function(h){this.renderer=h},getRenderer:function(){return this.renderer},getDefaultRenderer:function(){return new Ext.Updater.BasicRenderer()},setDefaultUrl:function(h){this.defaultUrl=h},getEl:function(){return this.el},update:function(i,n,p,l){var k=this,h,j;if(k.fireEvent(b,k.el,i,n)!==false){if(Ext.isObject(i)){h=i;i=h.url;n=n||h.params;p=p||h.callback;l=l||h.discardUrl;j=h.scope;if(!Ext.isEmpty(h.nocache)){k.disableCaching=h.nocache}if(!Ext.isEmpty(h.text)){k.indicatorText='&lt;div class=&quot;loading-indicator&quot;&gt;'+h.text+&quot;&lt;/div&gt;&quot;}if(!Ext.isEmpty(h.scripts)){k.loadScripts=h.scripts}if(!Ext.isEmpty(h.timeout)){k.timeout=h.timeout}}k.showLoading();if(!l){k.defaultUrl=i}if(Ext.isFunction(i)){i=i.call(k)}var m=Ext.apply({},{url:i,params:(Ext.isFunction(n)&amp;&amp;j)?n.createDelegate(j):n,success:a,failure:e,scope:k,callback:undefined,timeout:(k.timeout*1000),disableCaching:k.disableCaching,argument:{options:h,url:i,form:null,callback:p,scope:j||window,params:n}},h);k.transaction=Ext.Ajax.request(m)}},formUpdate:function(k,h,j,l){var i=this;if(i.fireEvent(b,i.el,k,h)!==false){if(Ext.isFunction(h)){h=h.call(i)}k=Ext.getDom(k);i.transaction=Ext.Ajax.request({form:k,url:h,success:a,failure:e,scope:i,timeout:(i.timeout*1000),argument:{url:h,form:k,callback:l,reset:j}});i.showLoading.defer(1,i)}},startAutoRefresh:function(i,j,l,m,h){var k=this;if(h){k.update(j||k.defaultUrl,l,m,true)}if(k.autoRefreshProcId){clearInterval(k.autoRefreshProcId)}k.autoRefreshProcId=setInterval(k.update.createDelegate(k,[j||k.defaultUrl,l,m,true]),i*1000)},stopAutoRefresh:function(){if(this.autoRefreshProcId){clearInterval(this.autoRefreshProcId);delete this.autoRefreshProcId}},isAutoRefreshing:function(){return !!this.autoRefreshProcId},showLoading:function(){if(this.showLoadIndicator){this.el.dom.innerHTML=this.indicatorText}},abort:function(){if(this.transaction){Ext.Ajax.abort(this.transaction)}},isUpdating:function(){return this.transaction?Ext.Ajax.isLoading(this.transaction):false},refresh:function(h){if(this.defaultUrl){this.update(this.defaultUrl,null,h,true)}}}}());Ext.Updater.defaults={timeout:30,disableCaching:false,showLoadIndicator:true,indicatorText:'&lt;div class=&quot;loading-indicator&quot;&gt;Loading...&lt;/div&gt;',loadScripts:false,sslBlankUrl:(Ext.SSL_SECURE_URL||&quot;javascript:false&quot;)};
+Ext.Updater.updateElement=function(d,c,e,b){var a=Ext.get(d).getUpdater();Ext.apply(a,b);a.update(c,e,b?b.callback:null)};Ext.Updater.BasicRenderer=function(){};Ext.Updater.BasicRenderer.prototype={render:function(c,a,b,d){c.update(a.responseText,b.loadScripts,d)}};(function(){Date.useStrict=false;function b(d){var c=Array.prototype.slice.call(arguments,1);return d.replace(/\{(\d+)\}/g,function(e,g){return c[g]})}Date.formatCodeToRegex=function(d,c){var e=Date.parseCodes[d];if(e){e=typeof e==&quot;function&quot;?e():e;Date.parseCodes[d]=e}return e?Ext.applyIf({c:e.c?b(e.c,c||&quot;{0}&quot;):e.c},e):{g:0,c:null,s:Ext.escapeRe(d)}};var a=Date.formatCodeToRegex;Ext.apply(Date,{parseFunctions:{&quot;M$&quot;:function(d,c){var e=new RegExp(&quot;\\/Date\\(([-+])?(\\d+)(?:[+-]\\d{4})?\\)\\/&quot;);var g=(d||&quot;&quot;).match(e);return g?new Date(((g[1]||&quot;&quot;)+g[2])*1):null}},parseRegexes:[],formatFunctions:{&quot;M$&quot;:function(){return&quot;\\/Date(&quot;+this.getTime()+&quot;)\\/&quot;}},y2kYear:50,MILLI:&quot;ms&quot;,SECOND:&quot;s&quot;,MINUTE:&quot;mi&quot;,HOUR:&quot;h&quot;,DAY:&quot;d&quot;,MONTH:&quot;mo&quot;,YEAR:&quot;y&quot;,defaults:{},dayNames:[&quot;Sunday&quot;,&quot;Monday&quot;,&quot;Tuesday&quot;,&quot;Wednesday&quot;,&quot;Thursday&quot;,&quot;Friday&quot;,&quot;Saturday&quot;],monthNames:[&quot;January&quot;,&quot;February&quot;,&quot;March&quot;,&quot;April&quot;,&quot;May&quot;,&quot;June&quot;,&quot;July&quot;,&quot;August&quot;,&quot;September&quot;,&quot;October&quot;,&quot;November&quot;,&quot;December&quot;],monthNumbers:{Jan:0,Feb:1,Mar:2,Apr:3,May:4,Jun:5,Jul:6,Aug:7,Sep:8,Oct:9,Nov:10,Dec:11},getShortMonthName:function(c){return Date.monthNames[c].substring(0,3)},getShortDayName:function(c){return Date.dayNames[c].substring(0,3)},getMonthNumber:function(c){return Date.monthNumbers[c.substring(0,1).toUpperCase()+c.substring(1,3).toLowerCase()]},formatCodes:{d:&quot;String.leftPad(this.getDate(), 2, '0')&quot;,D:&quot;Date.getShortDayName(this.getDay())&quot;,j:&quot;this.getDate()&quot;,l:&quot;Date.dayNames[this.getDay()]&quot;,N:&quot;(this.getDay() ? this.getDay() : 7)&quot;,S:&quot;this.getSuffix()&quot;,w:&quot;this.getDay()&quot;,z:&quot;this.getDayOfYear()&quot;,W:&quot;String.leftPad(this.getWeekOfYear(), 2, '0')&quot;,F:&quot;Date.monthNames[this.getMonth()]&quot;,m:&quot;String.leftPad(this.getMonth() + 1, 2, '0')&quot;,M:&quot;Date.getShortMonthName(this.getMonth())&quot;,n:&quot;(this.getMonth() + 1)&quot;,t:&quot;this.getDaysInMonth()&quot;,L:&quot;(this.isLeapYear() ? 1 : 0)&quot;,o:&quot;(this.getFullYear() + (this.getWeekOfYear() == 1 &amp;&amp; this.getMonth() &gt; 0 ? +1 : (this.getWeekOfYear() &gt;= 52 &amp;&amp; this.getMonth() &lt; 11 ? -1 : 0)))&quot;,Y:&quot;this.getFullYear()&quot;,y:&quot;('' + this.getFullYear()).substring(2, 4)&quot;,a:&quot;(this.getHours() &lt; 12 ? 'am' : 'pm')&quot;,A:&quot;(this.getHours() &lt; 12 ? 'AM' : 'PM')&quot;,g:&quot;((this.getHours() % 12) ? this.getHours() % 12 : 12)&quot;,G:&quot;this.getHours()&quot;,h:&quot;String.leftPad((this.getHours() % 12) ? this.getHours() % 12 : 12, 2, '0')&quot;,H:&quot;String.leftPad(this.getHours(), 2, '0')&quot;,i:&quot;String.leftPad(this.getMinutes(), 2, '0')&quot;,s:&quot;String.leftPad(this.getSeconds(), 2, '0')&quot;,u:&quot;String.leftPad(this.getMilliseconds(), 3, '0')&quot;,O:&quot;this.getGMTOffset()&quot;,P:&quot;this.getGMTOffset(true)&quot;,T:&quot;this.getTimezone()&quot;,Z:&quot;(this.getTimezoneOffset() * -60)&quot;,c:function(){for(var k=&quot;Y-m-dTH:i:sP&quot;,h=[],g=0,d=k.length;g&lt;d;++g){var j=k.charAt(g);h.push(j==&quot;T&quot;?&quot;'T'&quot;:Date.getFormatCode(j))}return h.join(&quot; + &quot;)},U:&quot;Math.round(this.getTime() / 1000)&quot;},isValid:function(o,c,n,k,g,j,e){k=k||0;g=g||0;j=j||0;e=e||0;var l=new Date(o,c-1,n,k,g,j,e);return o==l.getFullYear()&amp;&amp;c==l.getMonth()+1&amp;&amp;n==l.getDate()&amp;&amp;k==l.getHours()&amp;&amp;g==l.getMinutes()&amp;&amp;j==l.getSeconds()&amp;&amp;e==l.getMilliseconds()},parseDate:function(d,g,c){var e=Date.parseFunctions;if(e[g]==null){Date.createParser(g)}return e[g](d,Ext.isDefined(c)?c:Date.useStrict)},getFormatCode:function(d){var c=Date.formatCodes[d];if(c){c=typeof c==&quot;function&quot;?c():c;Date.formatCodes[d]=c}return c||(&quot;'&quot;+String.escape(d)+&quot;'&quot;)},createFormat:function(h){var g=[],c=false,e=&quot;&quot;;for(var d=0;d&lt;h.length;++d){e=h.charAt(d);if(!c&amp;&amp;e==&quot;\\&quot;){c=true}else{if(c){c=false;g.push(&quot;'&quot;+String.escape(e)+&quot;'&quot;)}else{g.push(Date.getFormatCode(e))}}}Date.formatFunctions[h]=new Function(&quot;return &quot;+g.join(&quot;+&quot;))},createParser:function(){var c=[&quot;var dt, y, m, d, h, i, s, ms, o, z, zz, u, v,&quot;,&quot;def = Date.defaults,&quot;,&quot;results = String(input).match(Date.parseRegexes[{0}]);&quot;,&quot;if(results){&quot;,&quot;{1}&quot;,&quot;if(u != null){&quot;,&quot;v = new Date(u * 1000);&quot;,&quot;}else{&quot;,&quot;dt = (new Date()).clearTime();&quot;,&quot;y = y &gt;= 0? y : Ext.num(def.y, dt.getFullYear());&quot;,&quot;m = m &gt;= 0? m : Ext.num(def.m - 1, dt.getMonth());&quot;,&quot;d = d &gt;= 0? d : Ext.num(def.d, dt.getDate());&quot;,&quot;h  = h || Ext.num(def.h, dt.getHours());&quot;,&quot;i  = i || Ext.num(def.i, dt.getMinutes());&quot;,&quot;s  = s || Ext.num(def.s, dt.getSeconds());&quot;,&quot;ms = ms || Ext.num(def.ms, dt.getMilliseconds());&quot;,&quot;if(z &gt;= 0 &amp;&amp; y &gt;= 0){&quot;,&quot;v = new Date(y, 0, 1, h, i, s, ms);&quot;,&quot;v = !strict? v : (strict === true &amp;&amp; (z &lt;= 364 || (v.isLeapYear() &amp;&amp; z &lt;= 365))? v.add(Date.DAY, z) : null);&quot;,&quot;}else if(strict === true &amp;&amp; !Date.isValid(y, m + 1, d, h, i, s, ms)){&quot;,&quot;v = null;&quot;,&quot;}else{&quot;,&quot;v = new Date(y, m, d, h, i, s, ms);&quot;,&quot;}&quot;,&quot;}&quot;,&quot;}&quot;,&quot;if(v){&quot;,&quot;if(zz != null){&quot;,&quot;v = v.add(Date.SECOND, -v.getTimezoneOffset() * 60 - zz);&quot;,&quot;}else if(o){&quot;,&quot;v = v.add(Date.MINUTE, -v.getTimezoneOffset() + (sn == '+'? -1 : 1) * (hr * 60 + mn));&quot;,&quot;}&quot;,&quot;}&quot;,&quot;return v;&quot;].join(&quot;\n&quot;);return function(m){var e=Date.parseRegexes.length,n=1,g=[],l=[],k=false,d=&quot;&quot;;for(var j=0;j&lt;m.length;++j){d=m.charAt(j);if(!k&amp;&amp;d==&quot;\\&quot;){k=true}else{if(k){k=false;l.push(String.escape(d))}else{var h=a(d,n);n+=h.g;l.push(h.s);if(h.g&amp;&amp;h.c){g.push(h.c)}}}}Date.parseRegexes[e]=new RegExp(&quot;^&quot;+l.join(&quot;&quot;)+&quot;$&quot;,&quot;i&quot;);Date.parseFunctions[m]=new Function(&quot;input&quot;,&quot;strict&quot;,b(c,e,g.join(&quot;&quot;)))}}(),parseCodes:{d:{g:1,c:&quot;d = parseInt(results[{0}], 10);\n&quot;,s:&quot;(\\d{2})&quot;},j:{g:1,c:&quot;d = parseInt(results[{0}], 10);\n&quot;,s:&quot;(\\d{1,2})&quot;},D:function(){for(var c=[],d=0;d&lt;7;c.push(Date.getShortDayName(d)),++d){}return{g:0,c:null,s:&quot;(?:&quot;+c.join(&quot;|&quot;)+&quot;)&quot;}},l:function(){return{g:0,c:null,s:&quot;(?:&quot;+Date.dayNames.join(&quot;|&quot;)+&quot;)&quot;}},N:{g:0,c:null,s:&quot;[1-7]&quot;},S:{g:0,c:null,s:&quot;(?:st|nd|rd|th)&quot;},w:{g:0,c:null,s:&quot;[0-6]&quot;},z:{g:1,c:&quot;z = parseInt(results[{0}], 10);\n&quot;,s:&quot;(\\d{1,3})&quot;},W:{g:0,c:null,s:&quot;(?:\\d{2})&quot;},F:function(){return{g:1,c:&quot;m = parseInt(Date.getMonthNumber(results[{0}]), 10);\n&quot;,s:&quot;(&quot;+Date.monthNames.join(&quot;|&quot;)+&quot;)&quot;}},M:function(){for(var c=[],d=0;d&lt;12;c.push(Date.getShortMonthName(d)),++d){}return Ext.applyIf({s:&quot;(&quot;+c.join(&quot;|&quot;)+&quot;)&quot;},a(&quot;F&quot;))},m:{g:1,c:&quot;m = parseInt(results[{0}], 10) - 1;\n&quot;,s:&quot;(\\d{2})&quot;},n:{g:1,c:&quot;m = parseInt(results[{0}], 10) - 1;\n&quot;,s:&quot;(\\d{1,2})&quot;},t:{g:0,c:null,s:&quot;(?:\\d{2})&quot;},L:{g:0,c:null,s:&quot;(?:1|0)&quot;},o:function(){return a(&quot;Y&quot;)},Y:{g:1,c:&quot;y = parseInt(results[{0}], 10);\n&quot;,s:&quot;(\\d{4})&quot;},y:{g:1,c:&quot;var ty = parseInt(results[{0}], 10);\ny = ty &gt; Date.y2kYear ? 1900 + ty : 2000 + ty;\n&quot;,s:&quot;(\\d{1,2})&quot;},a:{g:1,c:&quot;if (results[{0}] == 'am') {\nif (h == 12) { h = 0; }\n} else { if (h &lt; 12) { h += 12; }}&quot;,s:&quot;(am|pm)&quot;},A:{g:1,c:&quot;if (results[{0}] == 'AM') {\nif (h == 12) { h = 0; }\n} else { if (h &lt; 12) { h += 12; }}&quot;,s:&quot;(AM|PM)&quot;},g:function(){return a(&quot;G&quot;)},G:{g:1,c:&quot;h = parseInt(results[{0}], 10);\n&quot;,s:&quot;(\\d{1,2})&quot;},h:function(){return a(&quot;H&quot;)},H:{g:1,c:&quot;h = parseInt(results[{0}], 10);\n&quot;,s:&quot;(\\d{2})&quot;},i:{g:1,c:&quot;i = parseInt(results[{0}], 10);\n&quot;,s:&quot;(\\d{2})&quot;},s:{g:1,c:&quot;s = parseInt(results[{0}], 10);\n&quot;,s:&quot;(\\d{2})&quot;},u:{g:1,c:&quot;ms = results[{0}]; ms = parseInt(ms, 10)/Math.pow(10, ms.length - 3);\n&quot;,s:&quot;(\\d+)&quot;},O:{g:1,c:[&quot;o = results[{0}];&quot;,&quot;var sn = o.substring(0,1),&quot;,&quot;hr = o.substring(1,3)*1 + Math.floor(o.substring(3,5) / 60),&quot;,&quot;mn = o.substring(3,5) % 60;&quot;,&quot;o = ((-12 &lt;= (hr*60 + mn)/60) &amp;&amp; ((hr*60 + mn)/60 &lt;= 14))? (sn + String.leftPad(hr, 2, '0') + String.leftPad(mn, 2, '0')) : null;\n&quot;].join(&quot;\n&quot;),s:&quot;([+-]\\d{4})&quot;},P:{g:1,c:[&quot;o = results[{0}];&quot;,&quot;var sn = o.substring(0,1),&quot;,&quot;hr = o.substring(1,3)*1 + Math.floor(o.substring(4,6) / 60),&quot;,&quot;mn = o.substring(4,6) % 60;&quot;,&quot;o = ((-12 &lt;= (hr*60 + mn)/60) &amp;&amp; ((hr*60 + mn)/60 &lt;= 14))? (sn + String.leftPad(hr, 2, '0') + String.leftPad(mn, 2, '0')) : null;\n&quot;].join(&quot;\n&quot;),s:&quot;([+-]\\d{2}:\\d{2})&quot;},T:{g:0,c:null,s:&quot;[A-Z]{1,4}&quot;},Z:{g:1,c:&quot;zz = results[{0}] * 1;\nzz = (-43200 &lt;= zz &amp;&amp; zz &lt;= 50400)? zz : null;\n&quot;,s:&quot;([+-]?\\d{1,5})&quot;},c:function(){var e=[],c=[a(&quot;Y&quot;,1),a(&quot;m&quot;,2),a(&quot;d&quot;,3),a(&quot;h&quot;,4),a(&quot;i&quot;,5),a(&quot;s&quot;,6),{c:&quot;ms = results[7] || '0'; ms = parseInt(ms, 10)/Math.pow(10, ms.length - 3);\n&quot;},{c:[&quot;if(results[8]) {&quot;,&quot;if(results[8] == 'Z'){&quot;,&quot;zz = 0;&quot;,&quot;}else if (results[8].indexOf(':') &gt; -1){&quot;,a(&quot;P&quot;,8).c,&quot;}else{&quot;,a(&quot;O&quot;,8).c,&quot;}&quot;,&quot;}&quot;].join(&quot;\n&quot;)}];
+for(var g=0,d=c.length;g&lt;d;++g){e.push(c[g].c)}return{g:1,c:e.join(&quot;&quot;),s:[c[0].s,&quot;(?:&quot;,&quot;-&quot;,c[1].s,&quot;(?:&quot;,&quot;-&quot;,c[2].s,&quot;(?:&quot;,&quot;(?:T| )?&quot;,c[3].s,&quot;:&quot;,c[4].s,&quot;(?::&quot;,c[5].s,&quot;)?&quot;,&quot;(?:(?:\\.|,)(\\d+))?&quot;,&quot;(Z|(?:[-+]\\d{2}(?::)?\\d{2}))?&quot;,&quot;)?&quot;,&quot;)?&quot;,&quot;)?&quot;].join(&quot;&quot;)}},U:{g:1,c:&quot;u = parseInt(results[{0}], 10);\n&quot;,s:&quot;(-?\\d+)&quot;}}})}());Ext.apply(Date.prototype,{dateFormat:function(a){if(Date.formatFunctions[a]==null){Date.createFormat(a)}return Date.formatFunctions[a].call(this)},getTimezone:function(){return this.toString().replace(/^.* (?:\((.*)\)|([A-Z]{1,4})(?:[\-+][0-9]{4})?(?: -?\d+)?)$/,&quot;$1$2&quot;).replace(/[^A-Z]/g,&quot;&quot;)},getGMTOffset:function(a){return(this.getTimezoneOffset()&gt;0?&quot;-&quot;:&quot;+&quot;)+String.leftPad(Math.floor(Math.abs(this.getTimezoneOffset())/60),2,&quot;0&quot;)+(a?&quot;:&quot;:&quot;&quot;)+String.leftPad(Math.abs(this.getTimezoneOffset()%60),2,&quot;0&quot;)},getDayOfYear:function(){var c=0,b=0,e=this.clone(),a=this.getMonth();for(c=0,e.setMonth(0);c&lt;a;e.setMonth(++c)){b+=e.getDaysInMonth()}return b+this.getDate()-1},getWeekOfYear:function(){var a=86400000,b=7*a;return function(){var d=Date.UTC(this.getFullYear(),this.getMonth(),this.getDate()+3)/a,c=Math.floor(d/7),e=new Date(c*b).getUTCFullYear();return c-Math.floor(Date.UTC(e,0,7)/b)+1}}(),isLeapYear:function(){var a=this.getFullYear();return !!((a&amp;3)==0&amp;&amp;(a%100||(a%400==0&amp;&amp;a)))},getFirstDayOfMonth:function(){var a=(this.getDay()-(this.getDate()-1))%7;return(a&lt;0)?(a+7):a},getLastDayOfMonth:function(){return this.getLastDateOfMonth().getDay()},getFirstDateOfMonth:function(){return new Date(this.getFullYear(),this.getMonth(),1)},getLastDateOfMonth:function(){return new Date(this.getFullYear(),this.getMonth(),this.getDaysInMonth())},getDaysInMonth:function(){var a=[31,28,31,30,31,30,31,31,30,31,30,31];return function(){var b=this.getMonth();return b==1&amp;&amp;this.isLeapYear()?29:a[b]}}(),getSuffix:function(){switch(this.getDate()){case 1:case 21:case 31:return&quot;st&quot;;case 2:case 22:return&quot;nd&quot;;case 3:case 23:return&quot;rd&quot;;default:return&quot;th&quot;}},clone:function(){return new Date(this.getTime())},isDST:function(){return new Date(this.getFullYear(),0,1).getTimezoneOffset()!=this.getTimezoneOffset()},clearTime:function(g){if(g){return this.clone().clearTime()}var b=this.getDate();this.setHours(0);this.setMinutes(0);this.setSeconds(0);this.setMilliseconds(0);if(this.getDate()!=b){for(var a=1,e=this.add(Date.HOUR,a);e.getDate()!=b;a++,e=this.add(Date.HOUR,a)){}this.setDate(b);this.setHours(e.getHours())}return this},add:function(b,c){var e=this.clone();if(!b||c===0){return e}switch(b.toLowerCase()){case Date.MILLI:e.setMilliseconds(this.getMilliseconds()+c);break;case Date.SECOND:e.setSeconds(this.getSeconds()+c);break;case Date.MINUTE:e.setMinutes(this.getMinutes()+c);break;case Date.HOUR:e.setHours(this.getHours()+c);break;case Date.DAY:e.setDate(this.getDate()+c);break;case Date.MONTH:var a=this.getDate();if(a&gt;28){a=Math.min(a,this.getFirstDateOfMonth().add(&quot;mo&quot;,c).getLastDateOfMonth().getDate())}e.setDate(a);e.setMonth(this.getMonth()+c);break;case Date.YEAR:e.setFullYear(this.getFullYear()+c);break}return e},between:function(c,a){var b=this.getTime();return c.getTime()&lt;=b&amp;&amp;b&lt;=a.getTime()}});Date.prototype.format=Date.prototype.dateFormat;if(Ext.isSafari&amp;&amp;(navigator.userAgent.match(/WebKit\/(\d+)/)[1]||NaN)&lt;420){Ext.apply(Date.prototype,{_xMonth:Date.prototype.setMonth,_xDate:Date.prototype.setDate,setMonth:function(a){if(a&lt;=-1){var d=Math.ceil(-a),c=Math.ceil(d/12),b=(d%12)?12-d%12:0;this.setFullYear(this.getFullYear()-c);return this._xMonth(b)}else{return this._xMonth(a)}},setDate:function(a){return this.setTime(this.getTime()-(this.getDate()-a)*86400000)}})}Ext.util.DelayedTask=function(d,c,a){var e=this,g,b=function(){clearInterval(g);g=null;d.apply(c,a||[])};e.delay=function(i,k,j,h){e.cancel();d=k||d;c=j||c;a=h||a;g=setInterval(b,i)};e.cancel=function(){if(g){clearInterval(g);g=null}}};Ext.util.MixedCollection=function(b,a){this.items=[];this.map={};this.keys=[];this.length=0;this.addEvents(&quot;clear&quot;,&quot;add&quot;,&quot;replace&quot;,&quot;remove&quot;,&quot;sort&quot;);this.allowFunctions=b===true;if(a){this.getKey=a}Ext.util.MixedCollection.superclass.constructor.call(this)};Ext.extend(Ext.util.MixedCollection,Ext.util.Observable,{allowFunctions:false,add:function(b,c){if(arguments.length==1){c=arguments[0];b=this.getKey(c)}if(typeof b!=&quot;undefined&quot;&amp;&amp;b!==null){var a=this.map[b];if(typeof a!=&quot;undefined&quot;){return this.replace(b,c)}this.map[b]=c}this.length++;this.items.push(c);this.keys.push(b);this.fireEvent(&quot;add&quot;,this.length-1,c,b);return c},getKey:function(a){return a.id},replace:function(c,d){if(arguments.length==1){d=arguments[0];c=this.getKey(d)}var a=this.map[c];if(typeof c==&quot;undefined&quot;||c===null||typeof a==&quot;undefined&quot;){return this.add(c,d)}var b=this.indexOfKey(c);this.items[b]=d;this.map[c]=d;this.fireEvent(&quot;replace&quot;,c,a,d);return d},addAll:function(e){if(arguments.length&gt;1||Ext.isArray(e)){var b=arguments.length&gt;1?arguments:e;for(var d=0,a=b.length;d&lt;a;d++){this.add(b[d])}}else{for(var c in e){if(this.allowFunctions||typeof e[c]!=&quot;function&quot;){this.add(c,e[c])}}}},each:function(e,d){var b=[].concat(this.items);for(var c=0,a=b.length;c&lt;a;c++){if(e.call(d||b[c],b[c],c,a)===false){break}}},eachKey:function(d,c){for(var b=0,a=this.keys.length;b&lt;a;b++){d.call(c||window,this.keys[b],this.items[b],b,a)}},find:function(d,c){for(var b=0,a=this.items.length;b&lt;a;b++){if(d.call(c||window,this.items[b],this.keys[b])){return this.items[b]}}return null},insert:function(a,b,c){if(arguments.length==2){c=arguments[1];b=this.getKey(c)}if(this.containsKey(b)){this.suspendEvents();this.removeKey(b);this.resumeEvents()}if(a&gt;=this.length){return this.add(b,c)}this.length++;this.items.splice(a,0,c);if(typeof b!=&quot;undefined&quot;&amp;&amp;b!==null){this.map[b]=c}this.keys.splice(a,0,b);this.fireEvent(&quot;add&quot;,a,c,b);return c},remove:function(a){return this.removeAt(this.indexOf(a))},removeAt:function(a){if(a&lt;this.length&amp;&amp;a&gt;=0){this.length--;var c=this.items[a];this.items.splice(a,1);var b=this.keys[a];if(typeof b!=&quot;undefined&quot;){delete this.map[b]}this.keys.splice(a,1);this.fireEvent(&quot;remove&quot;,c,b);return c}return false},removeKey:function(a){return this.removeAt(this.indexOfKey(a))},getCount:function(){return this.length},indexOf:function(a){return this.items.indexOf(a)},indexOfKey:function(a){return this.keys.indexOf(a)},item:function(b){var a=this.map[b],c=a!==undefined?a:(typeof b==&quot;number&quot;)?this.items[b]:undefined;return !Ext.isFunction(c)||this.allowFunctions?c:null},itemAt:function(a){return this.items[a]},key:function(a){return this.map[a]},contains:function(a){return this.indexOf(a)!=-1},containsKey:function(a){return typeof this.map[a]!=&quot;undefined&quot;},clear:function(){this.length=0;this.items=[];this.keys=[];this.map={};this.fireEvent(&quot;clear&quot;)},first:function(){return this.items[0]},last:function(){return this.items[this.length-1]},_sort:function(m,a,l){var e,g,d=String(a).toUpperCase()==&quot;DESC&quot;?-1:1,j=[],b=this.keys,h=this.items;l=l||function(i,c){return i-c};for(e=0,g=h.length;e&lt;g;e++){j[j.length]={key:b[e],value:h[e],index:e}}j.sort(function(i,c){var k=l(i[m],c[m])*d;if(k===0){k=(i.index&lt;c.index?-1:1)}return k});for(e=0,g=j.length;e&lt;g;e++){h[e]=j[e].value;b[e]=j[e].key}this.fireEvent(&quot;sort&quot;,this)},sort:function(a,b){this._sort(&quot;value&quot;,a,b)},keySort:function(a,b){this._sort(&quot;key&quot;,a,b||function(d,c){var g=String(d).toUpperCase(),e=String(c).toUpperCase();return g&gt;e?1:(g&lt;e?-1:0)})},getRange:function(e,a){var b=this.items;if(b.length&lt;1){return[]}e=e||0;a=Math.min(typeof a==&quot;undefined&quot;?this.length-1:a,this.length-1);var c,d=[];if(e&lt;=a){for(c=e;c&lt;=a;c++){d[d.length]=b[c]}}else{for(c=e;c&gt;=a;c--){d[d.length]=b[c]}}return d},filter:function(c,b,d,a){if(Ext.isEmpty(b,false)){return this.clone()}b=this.createValueMatcher(b,d,a);return this.filterBy(function(e){return e&amp;&amp;b.test(e[c])})},filterBy:function(g,e){var h=new Ext.util.MixedCollection();h.getKey=this.getKey;var b=this.keys,d=this.items;for(var c=0,a=d.length;c&lt;a;c++){if(g.call(e||this,d[c],b[c])){h.add(b[c],d[c])}}return h},findIndex:function(c,b,e,d,a){if(Ext.isEmpty(b,false)){return -1
+}b=this.createValueMatcher(b,d,a);return this.findIndexBy(function(g){return g&amp;&amp;b.test(g[c])},null,e)},findIndexBy:function(g,e,h){var b=this.keys,d=this.items;for(var c=(h||0),a=d.length;c&lt;a;c++){if(g.call(e||this,d[c],b[c])){return c}}return -1},createValueMatcher:function(b,c,a){if(!b.exec){b=String(b);b=new RegExp((c===true?&quot;&quot;:&quot;^&quot;)+Ext.escapeRe(b),a?&quot;&quot;:&quot;i&quot;)}return b},clone:function(){var e=new Ext.util.MixedCollection();var b=this.keys,d=this.items;for(var c=0,a=d.length;c&lt;a;c++){e.add(b[c],d[c])}e.getKey=this.getKey;return e}});Ext.util.MixedCollection.prototype.get=Ext.util.MixedCollection.prototype.item;Ext.ComponentMgr=function(){var c=new Ext.util.MixedCollection();var b={};var a={};return{register:function(d){c.add(d)},unregister:function(d){c.remove(d)},get:function(d){return c.get(d)},onAvailable:function(g,e,d){c.on(&quot;add&quot;,function(h,i){if(i.id==g){e.call(d||i,i);c.un(&quot;add&quot;,e,d)}})},all:c,isRegistered:function(d){return b[d]!==undefined},registerType:function(e,d){b[e]=d;d.xtype=e},create:function(d,e){return d.render?d:new b[d.xtype||e](d)},registerPlugin:function(e,d){a[e]=d;d.ptype=e},createPlugin:function(d,e){return new a[d.ptype||e](d)}}}();Ext.reg=Ext.ComponentMgr.registerType;Ext.preg=Ext.ComponentMgr.registerPlugin;Ext.create=Ext.ComponentMgr.create;Ext.util.JSON=new (function(){var useHasOwn=!!{}.hasOwnProperty,isNative=function(){var useNative=null;return function(){if(useNative===null){useNative=Ext.USE_NATIVE_JSON&amp;&amp;window.JSON&amp;&amp;JSON.toString()==&quot;[object JSON]&quot;}return useNative}}(),pad=function(n){return n&lt;10?&quot;0&quot;+n:n},doDecode=function(json){return eval(&quot;(&quot;+json+&quot;)&quot;)},doEncode=function(o){if(!Ext.isDefined(o)||o===null){return&quot;null&quot;}else{if(Ext.isArray(o)){return encodeArray(o)}else{if(Ext.isDate(o)){return Ext.util.JSON.encodeDate(o)}else{if(Ext.isString(o)){return encodeString(o)}else{if(typeof o==&quot;number&quot;){return isFinite(o)?String(o):&quot;null&quot;}else{if(Ext.isBoolean(o)){return String(o)}else{var a=[&quot;{&quot;],b,i,v;for(i in o){if(!useHasOwn||o.hasOwnProperty(i)){v=o[i];switch(typeof v){case&quot;undefined&quot;:case&quot;function&quot;:case&quot;unknown&quot;:break;default:if(b){a.push(&quot;,&quot;)}a.push(doEncode(i),&quot;:&quot;,v===null?&quot;null&quot;:doEncode(v));b=true}}}a.push(&quot;}&quot;);return a.join(&quot;&quot;)}}}}}}},m={&quot;\b&quot;:&quot;\\b&quot;,&quot;\t&quot;:&quot;\\t&quot;,&quot;\n&quot;:&quot;\\n&quot;,&quot;\f&quot;:&quot;\\f&quot;,&quot;\r&quot;:&quot;\\r&quot;,'&quot;':'\\&quot;',&quot;\\&quot;:&quot;\\\\&quot;},encodeString=function(s){if(/[&quot;\\\x00-\x1f]/.test(s)){return'&quot;'+s.replace(/([\x00-\x1f\\&quot;])/g,function(a,b){var c=m[b];if(c){return c}c=b.charCodeAt();return&quot;\\u00&quot;+Math.floor(c/16).toString(16)+(c%16).toString(16)})+'&quot;'}return'&quot;'+s+'&quot;'},encodeArray=function(o){var a=[&quot;[&quot;],b,i,l=o.length,v;for(i=0;i&lt;l;i+=1){v=o[i];switch(typeof v){case&quot;undefined&quot;:case&quot;function&quot;:case&quot;unknown&quot;:break;default:if(b){a.push(&quot;,&quot;)}a.push(v===null?&quot;null&quot;:Ext.util.JSON.encode(v));b=true}}a.push(&quot;]&quot;);return a.join(&quot;&quot;)};this.encodeDate=function(o){return'&quot;'+o.getFullYear()+&quot;-&quot;+pad(o.getMonth()+1)+&quot;-&quot;+pad(o.getDate())+&quot;T&quot;+pad(o.getHours())+&quot;:&quot;+pad(o.getMinutes())+&quot;:&quot;+pad(o.getSeconds())+'&quot;'};this.encode=function(){var ec;return function(o){if(!ec){ec=isNative()?JSON.stringify:doEncode}return ec(o)}}();this.decode=function(){var dc;return function(json){if(!dc){dc=isNative()?JSON.parse:doDecode}return dc(json)}}()})();Ext.encode=Ext.util.JSON.encode;Ext.decode=Ext.util.JSON.decode;Ext.util.Format=function(){var trimRe=/^\s+|\s+$/g;return{ellipsis:function(value,len,word){if(value&amp;&amp;value.length&gt;len){if(word){var vs=value.substr(0,len-2);var index=Math.max(vs.lastIndexOf(&quot; &quot;),vs.lastIndexOf(&quot;.&quot;),vs.lastIndexOf(&quot;!&quot;),vs.lastIndexOf(&quot;?&quot;));if(index==-1||index&lt;(len-15)){return value.substr(0,len-3)+&quot;...&quot;}else{return vs.substr(0,index)+&quot;...&quot;}}else{return value.substr(0,len-3)+&quot;...&quot;}}return value},undef:function(value){return value!==undefined?value:&quot;&quot;},defaultValue:function(value,defaultValue){return value!==undefined&amp;&amp;value!==&quot;&quot;?value:defaultValue},htmlEncode:function(value){return !value?value:String(value).replace(/&amp;/g,&quot;&amp;amp;&quot;).replace(/&gt;/g,&quot;&amp;gt;&quot;).replace(/&lt;/g,&quot;&amp;lt;&quot;).replace(/&quot;/g,&quot;&amp;quot;&quot;)},htmlDecode:function(value){return !value?value:String(value).replace(/&amp;gt;/g,&quot;&gt;&quot;).replace(/&amp;lt;/g,&quot;&lt;&quot;).replace(/&amp;quot;/g,'&quot;').replace(/&amp;amp;/g,&quot;&amp;&quot;)},trim:function(value){return String(value).replace(trimRe,&quot;&quot;)},substr:function(value,start,length){return String(value).substr(start,length)},lowercase:function(value){return String(value).toLowerCase()},uppercase:function(value){return String(value).toUpperCase()},capitalize:function(value){return !value?value:value.charAt(0).toUpperCase()+value.substr(1).toLowerCase()},call:function(value,fn){if(arguments.length&gt;2){var args=Array.prototype.slice.call(arguments,2);args.unshift(value);return eval(fn).apply(window,args)}else{return eval(fn).call(window,value)}},usMoney:function(v){v=(Math.round((v-0)*100))/100;v=(v==Math.floor(v))?v+&quot;.00&quot;:((v*10==Math.floor(v*10))?v+&quot;0&quot;:v);v=String(v);var ps=v.split(&quot;.&quot;);var whole=ps[0];var sub=ps[1]?&quot;.&quot;+ps[1]:&quot;.00&quot;;var r=/(\d+)(\d{3})/;while(r.test(whole)){whole=whole.replace(r,&quot;$1,$2&quot;)}v=whole+sub;if(v.charAt(0)==&quot;-&quot;){return&quot;-$&quot;+v.substr(1)}return&quot;$&quot;+v},date:function(v,format){if(!v){return&quot;&quot;}if(!Ext.isDate(v)){v=new Date(Date.parse(v))}return v.dateFormat(format||&quot;m/d/Y&quot;)},dateRenderer:function(format){return function(v){return Ext.util.Format.date(v,format)}},stripTagsRE:/&lt;\/?[^&gt;]+&gt;/gi,stripTags:function(v){return !v?v:String(v).replace(this.stripTagsRE,&quot;&quot;)},stripScriptsRe:/(?:&lt;script.*?&gt;)((\n|\r|.)*?)(?:&lt;\/script&gt;)/ig,stripScripts:function(v){return !v?v:String(v).replace(this.stripScriptsRe,&quot;&quot;)},fileSize:function(size){if(size&lt;1024){return size+&quot; bytes&quot;}else{if(size&lt;1048576){return(Math.round(((size*10)/1024))/10)+&quot; KB&quot;}else{return(Math.round(((size*10)/1048576))/10)+&quot; MB&quot;}}},math:function(){var fns={};return function(v,a){if(!fns[a]){fns[a]=new Function(&quot;v&quot;,&quot;return v &quot;+a+&quot;;&quot;)}return fns[a](v)}}(),round:function(value,precision){var result=Number(value);if(typeof precision==&quot;number&quot;){precision=Math.pow(10,precision);result=Math.round(value*precision)/precision}return result},number:function(v,format){if(!format){return v}v=Ext.num(v,NaN);if(isNaN(v)){return&quot;&quot;}var comma=&quot;,&quot;,dec=&quot;.&quot;,i18n=false,neg=v&lt;0;v=Math.abs(v);if(format.substr(format.length-2)==&quot;/i&quot;){format=format.substr(0,format.length-2);i18n=true;comma=&quot;.&quot;;dec=&quot;,&quot;}var hasComma=format.indexOf(comma)!=-1,psplit=(i18n?format.replace(/[^\d\,]/g,&quot;&quot;):format.replace(/[^\d\.]/g,&quot;&quot;)).split(dec);if(1&lt;psplit.length){v=v.toFixed(psplit[1].length)}else{if(2&lt;psplit.length){throw (&quot;NumberFormatException: invalid format, formats should have no more than 1 period: &quot;+format)}else{v=v.toFixed(0)}}var fnum=v.toString();if(hasComma){psplit=fnum.split(&quot;.&quot;);var cnum=psplit[0],parr=[],j=cnum.length,m=Math.floor(j/3),n=cnum.length%3||3;for(var i=0;i&lt;j;i+=n){if(i!=0){n=3}parr[parr.length]=cnum.substr(i,n);m-=1}fnum=parr.join(comma);if(psplit[1]){fnum+=dec+psplit[1]}}return(neg?&quot;-&quot;:&quot;&quot;)+format.replace(/[\d,?\.?]+/,fnum)},numberRenderer:function(format){return function(v){return Ext.util.Format.number(v,format)}},plural:function(v,s,p){return v+&quot; &quot;+(v==1?s:(p?p:s+&quot;s&quot;))},nl2br:function(v){return v===undefined||v===null?&quot;&quot;:v.replace(/\n/g,&quot;&lt;br/&gt;&quot;)}}}();Ext.XTemplate=function(){Ext.XTemplate.superclass.constructor.apply(this,arguments);var w=this,i=w.html,p=/&lt;tpl\b[^&gt;]*&gt;((?:(?=([^&lt;]+))\2|&lt;(?!tpl\b[^&gt;]*&gt;))*?)&lt;\/tpl&gt;/,d=/^&lt;tpl\b[^&gt;]*?for=&quot;(.*?)&quot;/,t=/^&lt;tpl\b[^&gt;]*?if=&quot;(.*?)&quot;/,v=/^&lt;tpl\b[^&gt;]*?exec=&quot;(.*?)&quot;/,q,o=0,j=[],n=&quot;values&quot;,u=&quot;parent&quot;,k=&quot;xindex&quot;,l=&quot;xcount&quot;,e=&quot;return &quot;,c=&quot;with(values){ &quot;;i=[&quot;&lt;tpl&gt;&quot;,i,&quot;&lt;/tpl&gt;&quot;].join(&quot;&quot;);while((q=i.match(p))){var b=q[0].match(d),a=q[0].match(t),y=q[0].match(v),g=null,h=null,r=null,x=b&amp;&amp;b[1]?b[1]:&quot;&quot;;if(a){g=a&amp;&amp;a[1]?a[1]:null;if(g){h=new Function(n,u,k,l,c+e+(Ext.util.Format.htmlDecode(g))+&quot;; }&quot;)}}if(y){g=y&amp;&amp;y[1]?y[1]:null;if(g){r=new Function(n,u,k,l,c+(Ext.util.Format.htmlDecode(g))+&quot;; }&quot;)}}if(x){switch(x){case&quot;.&quot;:x=new Function(n,u,c+e+n+&quot;; }&quot;);break;case&quot;..&quot;:x=new Function(n,u,c+e+u+&quot;; }&quot;);break;default:x=new Function(n,u,c+e+x+&quot;; }&quot;)}}j.push({id:o,target:x,exec:r,test:h,body:q[1]||&quot;&quot;});i=i.replace(q[0],&quot;{xtpl&quot;+o+&quot;}&quot;);
+++o}Ext.each(j,function(m){w.compileTpl(m)});w.master=j[j.length-1];w.tpls=j};Ext.extend(Ext.XTemplate,Ext.Template,{re:/\{([\w-\.\#]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?(\s?[\+\-\*\\]\s?[\d\.\+\-\*\\\(\)]+)?\}/g,codeRe:/\{\[((?:\\\]|.|\n)*?)\]\}/g,applySubTemplate:function(a,i,h,d,c){var g=this,e,k=g.tpls[a],j,b=[];if((k.test&amp;&amp;!k.test.call(g,i,h,d,c))||(k.exec&amp;&amp;k.exec.call(g,i,h,d,c))){return&quot;&quot;}j=k.target?k.target.call(g,i,h):i;e=j.length;h=k.target?i:h;if(k.target&amp;&amp;Ext.isArray(j)){Ext.each(j,function(l,m){b[b.length]=k.compiled.call(g,l,h,m+1,e)});return b.join(&quot;&quot;)}return k.compiled.call(g,j,h,d,c)},compileTpl:function(tpl){var fm=Ext.util.Format,useF=this.disableFormats!==true,sep=Ext.isGecko?&quot;+&quot;:&quot;,&quot;,body;function fn(m,name,format,args,math){if(name.substr(0,4)==&quot;xtpl&quot;){return&quot;'&quot;+sep+&quot;this.applySubTemplate(&quot;+name.substr(4)+&quot;, values, parent, xindex, xcount)&quot;+sep+&quot;'&quot;}var v;if(name===&quot;.&quot;){v=&quot;values&quot;}else{if(name===&quot;#&quot;){v=&quot;xindex&quot;}else{if(name.indexOf(&quot;.&quot;)!=-1){v=name}else{v=&quot;values['&quot;+name+&quot;']&quot;}}}if(math){v=&quot;(&quot;+v+math+&quot;)&quot;}if(format&amp;&amp;useF){args=args?&quot;,&quot;+args:&quot;&quot;;if(format.substr(0,5)!=&quot;this.&quot;){format=&quot;fm.&quot;+format+&quot;(&quot;}else{format='this.call(&quot;'+format.substr(5)+'&quot;, ';args=&quot;, values&quot;}}else{args=&quot;&quot;;format=&quot;(&quot;+v+&quot; === undefined ? '' : &quot;}return&quot;'&quot;+sep+format+v+args+&quot;)&quot;+sep+&quot;'&quot;}function codeFn(m,code){return&quot;'&quot;+sep+&quot;(&quot;+code+&quot;)&quot;+sep+&quot;'&quot;}if(Ext.isGecko){body=&quot;tpl.compiled = function(values, parent, xindex, xcount){ return '&quot;+tpl.body.replace(/(\r\n|\n)/g,&quot;\\n&quot;).replace(/'/g,&quot;\\'&quot;).replace(this.re,fn).replace(this.codeRe,codeFn)+&quot;';};&quot;}else{body=[&quot;tpl.compiled = function(values, parent, xindex, xcount){ return ['&quot;];body.push(tpl.body.replace(/(\r\n|\n)/g,&quot;\\n&quot;).replace(/'/g,&quot;\\'&quot;).replace(this.re,fn).replace(this.codeRe,codeFn));body.push(&quot;'].join('');};&quot;);body=body.join(&quot;&quot;)}eval(body);return this},applyTemplate:function(a){return this.master.compiled.call(this,a,{},1,1)},compile:function(){return this}});Ext.XTemplate.prototype.apply=Ext.XTemplate.prototype.applyTemplate;Ext.XTemplate.from=function(a){a=Ext.getDom(a);return new Ext.XTemplate(a.value||a.innerHTML)};Ext.util.CSS=function(){var d=null;var c=document;var b=/(-[a-z])/gi;var a=function(e,g){return g.charAt(1).toUpperCase()};return{createStyleSheet:function(i,l){var h;var g=c.getElementsByTagName(&quot;head&quot;)[0];var k=c.createElement(&quot;style&quot;);k.setAttribute(&quot;type&quot;,&quot;text/css&quot;);if(l){k.setAttribute(&quot;id&quot;,l)}if(Ext.isIE){g.appendChild(k);h=k.styleSheet;h.cssText=i}else{try{k.appendChild(c.createTextNode(i))}catch(j){k.cssText=i}g.appendChild(k);h=k.styleSheet?k.styleSheet:(k.sheet||c.styleSheets[c.styleSheets.length-1])}this.cacheStyleSheet(h);return h},removeStyleSheet:function(g){var e=c.getElementById(g);if(e){e.parentNode.removeChild(e)}},swapStyleSheet:function(h,e){this.removeStyleSheet(h);var g=c.createElement(&quot;link&quot;);g.setAttribute(&quot;rel&quot;,&quot;stylesheet&quot;);g.setAttribute(&quot;type&quot;,&quot;text/css&quot;);g.setAttribute(&quot;id&quot;,h);g.setAttribute(&quot;href&quot;,e);c.getElementsByTagName(&quot;head&quot;)[0].appendChild(g)},refreshCache:function(){return this.getRules(true)},cacheStyleSheet:function(h){if(!d){d={}}try{var k=h.cssRules||h.rules;for(var g=k.length-1;g&gt;=0;--g){d[k[g].selectorText]=k[g]}}catch(i){}},getRules:function(h){if(d===null||h){d={};var k=c.styleSheets;for(var j=0,g=k.length;j&lt;g;j++){try{this.cacheStyleSheet(k[j])}catch(l){}}}return d},getRule:function(e,h){var g=this.getRules(h);if(!Ext.isArray(e)){return g[e]}for(var j=0;j&lt;e.length;j++){if(g[e[j]]){return g[e[j]]}}return null},updateRule:function(e,j,h){if(!Ext.isArray(e)){var k=this.getRule(e);if(k){k.style[j.replace(b,a)]=h;return true}}else{for(var g=0;g&lt;e.length;g++){if(this.updateRule(e[g],j,h)){return true}}}return false}}}();Ext.util.ClickRepeater=function(b,a){this.el=Ext.get(b);this.el.unselectable();Ext.apply(this,a);this.addEvents(&quot;mousedown&quot;,&quot;click&quot;,&quot;mouseup&quot;);if(!this.disabled){this.disabled=true;this.enable()}if(this.handler){this.on(&quot;click&quot;,this.handler,this.scope||this)}Ext.util.ClickRepeater.superclass.constructor.call(this)};Ext.extend(Ext.util.ClickRepeater,Ext.util.Observable,{interval:20,delay:250,preventDefault:true,stopDefault:false,timer:0,enable:function(){if(this.disabled){this.el.on(&quot;mousedown&quot;,this.handleMouseDown,this);if(this.preventDefault||this.stopDefault){this.el.on(&quot;click&quot;,this.eventOptions,this)}}this.disabled=false},disable:function(a){if(a||!this.disabled){clearTimeout(this.timer);if(this.pressClass){this.el.removeClass(this.pressClass)}Ext.getDoc().un(&quot;mouseup&quot;,this.handleMouseUp,this);this.el.removeAllListeners()}this.disabled=true},setDisabled:function(a){this[a?&quot;disable&quot;:&quot;enable&quot;]()},eventOptions:function(a){if(this.preventDefault){a.preventDefault()}if(this.stopDefault){a.stopEvent()}},destroy:function(){this.disable(true);Ext.destroy(this.el);this.purgeListeners()},handleMouseDown:function(){clearTimeout(this.timer);this.el.blur();if(this.pressClass){this.el.addClass(this.pressClass)}this.mousedownTime=new Date();Ext.getDoc().on(&quot;mouseup&quot;,this.handleMouseUp,this);this.el.on(&quot;mouseout&quot;,this.handleMouseOut,this);this.fireEvent(&quot;mousedown&quot;,this);this.fireEvent(&quot;click&quot;,this);if(this.accelerate){this.delay=400}this.timer=this.click.defer(this.delay||this.interval,this)},click:function(){this.fireEvent(&quot;click&quot;,this);this.timer=this.click.defer(this.accelerate?this.easeOutExpo(this.mousedownTime.getElapsed(),400,-390,12000):this.interval,this)},easeOutExpo:function(e,a,h,g){return(e==g)?a+h:h*(-Math.pow(2,-10*e/g)+1)+a},handleMouseOut:function(){clearTimeout(this.timer);if(this.pressClass){this.el.removeClass(this.pressClass)}this.el.on(&quot;mouseover&quot;,this.handleMouseReturn,this)},handleMouseReturn:function(){this.el.un(&quot;mouseover&quot;,this.handleMouseReturn,this);if(this.pressClass){this.el.addClass(this.pressClass)}this.click()},handleMouseUp:function(){clearTimeout(this.timer);this.el.un(&quot;mouseover&quot;,this.handleMouseReturn,this);this.el.un(&quot;mouseout&quot;,this.handleMouseOut,this);Ext.getDoc().un(&quot;mouseup&quot;,this.handleMouseUp,this);this.el.removeClass(this.pressClass);this.fireEvent(&quot;mouseup&quot;,this)}});Ext.KeyNav=function(b,a){this.el=Ext.get(b);Ext.apply(this,a);if(!this.disabled){this.disabled=true;this.enable()}};Ext.KeyNav.prototype={disabled:false,defaultEventAction:&quot;stopEvent&quot;,forceKeyDown:false,prepareEvent:function(c){var a=c.getKey();var b=this.keyToHandler[a];if(Ext.isSafari2&amp;&amp;b&amp;&amp;a&gt;=37&amp;&amp;a&lt;=40){c.stopEvent()}},relay:function(c){var a=c.getKey();var b=this.keyToHandler[a];if(b&amp;&amp;this[b]){if(this.doRelay(c,this[b],b)!==true){c[this.defaultEventAction]()}}},doRelay:function(c,b,a){return b.call(this.scope||this,c)},enter:false,left:false,right:false,up:false,down:false,tab:false,esc:false,pageUp:false,pageDown:false,del:false,home:false,end:false,keyToHandler:{37:&quot;left&quot;,39:&quot;right&quot;,38:&quot;up&quot;,40:&quot;down&quot;,33:&quot;pageUp&quot;,34:&quot;pageDown&quot;,46:&quot;del&quot;,36:&quot;home&quot;,35:&quot;end&quot;,13:&quot;enter&quot;,27:&quot;esc&quot;,9:&quot;tab&quot;},enable:function(){if(this.disabled){if(this.isKeydown()){this.el.on(&quot;keydown&quot;,this.relay,this)}else{this.el.on(&quot;keydown&quot;,this.prepareEvent,this);this.el.on(&quot;keypress&quot;,this.relay,this)}this.disabled=false}},disable:function(){if(!this.disabled){if(this.isKeydown()){this.el.un(&quot;keydown&quot;,this.relay,this)}else{this.el.un(&quot;keydown&quot;,this.prepareEvent,this);this.el.un(&quot;keypress&quot;,this.relay,this)}this.disabled=true}},setDisabled:function(a){this[a?&quot;disable&quot;:&quot;enable&quot;]()},isKeydown:function(){return this.forceKeyDown||Ext.EventManager.useKeydown}};Ext.KeyMap=function(c,b,a){this.el=Ext.get(c);this.eventName=a||&quot;keydown&quot;;this.bindings=[];if(b){this.addBinding(b)}this.enable()};Ext.KeyMap.prototype={stopEvent:false,addBinding:function(b){if(Ext.isArray(b)){Ext.each(b,function(j){this.addBinding(j)},this);return}var k=b.key,g=b.fn||b.handler,l=b.scope;if(b.stopEvent){this.stopEvent=b.stopEvent}if(typeof k==&quot;string&quot;){var h=[];var e=k.toUpperCase();for(var c=0,d=e.length;c&lt;d;c++){h.push(e.charCodeAt(c))}k=h}var a=Ext.isArray(k);var i=function(o){if(this.checkModifiers(b,o)){var m=o.getKey();if(a){for(var n=0,j=k.length;n&lt;j;n++){if(k[n]==m){if(this.stopEvent){o.stopEvent()}g.call(l||window,m,o);
+return}}}else{if(m==k){if(this.stopEvent){o.stopEvent()}g.call(l||window,m,o)}}}};this.bindings.push(i)},checkModifiers:function(b,h){var j,d,g=[&quot;shift&quot;,&quot;ctrl&quot;,&quot;alt&quot;];for(var c=0,a=g.length;c&lt;a;++c){d=g[c];j=b[d];if(!(j===undefined||(j===h[d+&quot;Key&quot;]))){return false}}return true},on:function(b,d,c){var h,a,e,g;if(typeof b==&quot;object&quot;&amp;&amp;!Ext.isArray(b)){h=b.key;a=b.shift;e=b.ctrl;g=b.alt}else{h=b}this.addBinding({key:h,shift:a,ctrl:e,alt:g,fn:d,scope:c})},handleKeyDown:function(g){if(this.enabled){var c=this.bindings;for(var d=0,a=c.length;d&lt;a;d++){c[d].call(this,g)}}},isEnabled:function(){return this.enabled},enable:function(){if(!this.enabled){this.el.on(this.eventName,this.handleKeyDown,this);this.enabled=true}},disable:function(){if(this.enabled){this.el.removeListener(this.eventName,this.handleKeyDown,this);this.enabled=false}},setDisabled:function(a){this[a?&quot;disable&quot;:&quot;enable&quot;]()}};Ext.util.TextMetrics=function(){var a;return{measure:function(b,c,d){if(!a){a=Ext.util.TextMetrics.Instance(b,d)}a.bind(b);a.setFixedWidth(d||&quot;auto&quot;);return a.getSize(c)},createInstance:function(b,c){return Ext.util.TextMetrics.Instance(b,c)}}}();Ext.util.TextMetrics.Instance=function(b,d){var c=new Ext.Element(document.createElement(&quot;div&quot;));document.body.appendChild(c.dom);c.position(&quot;absolute&quot;);c.setLeftTop(-1000,-1000);c.hide();if(d){c.setWidth(d)}var a={getSize:function(g){c.update(g);var e=c.getSize();c.update(&quot;&quot;);return e},bind:function(e){c.setStyle(Ext.fly(e).getStyles(&quot;font-size&quot;,&quot;font-style&quot;,&quot;font-weight&quot;,&quot;font-family&quot;,&quot;line-height&quot;,&quot;text-transform&quot;,&quot;letter-spacing&quot;))},setFixedWidth:function(e){c.setWidth(e)},getWidth:function(e){c.dom.style.width=&quot;auto&quot;;return this.getSize(e).width},getHeight:function(e){return this.getSize(e).height}};a.bind(b);return a};Ext.Element.addMethods({getTextWidth:function(c,b,a){return(Ext.util.TextMetrics.measure(this.dom,Ext.value(c,this.dom.innerHTML,true)).width).constrain(b||0,a||1000000)}});(function(){var a=Ext.EventManager;var b=Ext.lib.Dom;Ext.dd.DragDrop=function(e,c,d){if(e){this.init(e,c,d)}};Ext.dd.DragDrop.prototype={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(c,d){},startDrag:function(c,d){},b4Drag:function(c){},onDrag:function(c){},onDragEnter:function(c,d){},b4DragOver:function(c){},onDragOver:function(c,d){},b4DragOut:function(c){},onDragOut:function(c,d){},b4DragDrop:function(c){},onDragDrop:function(c,d){},onInvalidDrop:function(c){},b4EndDrag:function(c){},endDrag:function(c){},b4MouseDown:function(c){},onMouseDown:function(c){},onMouseUp:function(c){},onAvailable:function(){},defaultPadding:{left:0,right:0,top:0,bottom:0},constrainTo:function(j,h,o){if(typeof h==&quot;number&quot;){h={left:h,right:h,top:h,bottom:h}}h=h||this.defaultPadding;var l=Ext.get(this.getEl()).getBox();var d=Ext.get(j);var n=d.getScroll();var k,e=d.dom;if(e==document.body){k={x:n.left,y:n.top,width:Ext.lib.Dom.getViewWidth(),height:Ext.lib.Dom.getViewHeight()}}else{var m=d.getXY();k={x:m[0]+n.left,y:m[1]+n.top,width:e.clientWidth,height:e.clientHeight}}var i=l.y-k.y;var g=l.x-k.x;this.resetConstraints();this.setXConstraint(g-(h.left||0),k.width-g-l.width-(h.right||0),this.xTickSize);this.setYConstraint(i-(h.top||0),k.height-i-l.height-(h.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(e,c,d){this.initTarget(e,c,d);a.on(this.id,&quot;mousedown&quot;,this.handleMouseDown,this)},initTarget:function(e,c,d){this.config=d||{};this.DDM=Ext.dd.DDM;this.groups={};if(typeof e!==&quot;string&quot;){e=Ext.id(e)}this.id=e;this.addToGroup((c)?c:&quot;default&quot;);this.handleElId=e;this.setDragElId(e);this.invalidHandleTypes={A:&quot;A&quot;};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(e,c,g,d){if(!c&amp;&amp;0!==c){this.padding=[e,e,e,e]}else{if(!g&amp;&amp;0!==g){this.padding=[e,c,e,c]}else{this.padding=[e,c,g,d]}}},setInitPosition:function(g,e){var h=this.getEl();if(!this.DDM.verifyEl(h)){return}var d=g||0;var c=e||0;var i=b.getXY(h);this.initPageX=i[0]-d;this.initPageY=i[1]-c;this.lastPageX=i[0];this.lastPageY=i[1];this.setStartPosition(i)},setStartPosition:function(d){var c=d||b.getXY(this.getEl());this.deltaSetXY=null;this.startPageX=c[0];this.startPageY=c[1]},addToGroup:function(c){this.groups[c]=true;this.DDM.regDragDrop(this,c)},removeFromGroup:function(c){if(this.groups[c]){delete this.groups[c]}this.DDM.removeDDFromGroup(this,c)},setDragElId:function(c){this.dragElId=c},setHandleElId:function(c){if(typeof c!==&quot;string&quot;){c=Ext.id(c)}this.handleElId=c;this.DDM.regHandle(this.id,c)},setOuterHandleElId:function(c){if(typeof c!==&quot;string&quot;){c=Ext.id(c)}a.on(c,&quot;mousedown&quot;,this.handleMouseDown,this);this.setHandleElId(c);this.hasOuterHandles=true},unreg:function(){a.un(this.id,&quot;mousedown&quot;,this.handleMouseDown);this._domRef=null;this.DDM._remove(this)},destroy:function(){this.unreg()},isLocked:function(){return(this.DDM.isLocked()||this.locked)},handleMouseDown:function(g,d){if(this.primaryButtonOnly&amp;&amp;g.button!=0){return}if(this.isLocked()){return}this.DDM.refreshCache(this.groups);var c=new Ext.lib.Point(Ext.lib.Event.getPageX(g),Ext.lib.Event.getPageY(g));if(!this.hasOuterHandles&amp;&amp;!this.DDM.isOverTarget(c,this)){}else{if(this.clickValidator(g)){this.setStartPosition();this.b4MouseDown(g);this.onMouseDown(g);this.DDM.handleMouseDown(g,this);this.DDM.stopEvent(g)}else{}}},clickValidator:function(d){var c=d.getTarget();return(this.isValidHandleChild(c)&amp;&amp;(this.id==this.handleElId||this.DDM.handleWasClicked(c,this.id)))},addInvalidHandleType:function(c){var d=c.toUpperCase();this.invalidHandleTypes[d]=d},addInvalidHandleId:function(c){if(typeof c!==&quot;string&quot;){c=Ext.id(c)}this.invalidHandleIds[c]=c},addInvalidHandleClass:function(c){this.invalidHandleClasses.push(c)},removeInvalidHandleType:function(c){var d=c.toUpperCase();delete this.invalidHandleTypes[d]},removeInvalidHandleId:function(c){if(typeof c!==&quot;string&quot;){c=Ext.id(c)}delete this.invalidHandleIds[c]},removeInvalidHandleClass:function(d){for(var e=0,c=this.invalidHandleClasses.length;e&lt;c;++e){if(this.invalidHandleClasses[e]==d){delete this.invalidHandleClasses[e]}}},isValidHandleChild:function(h){var g=true;var k;try{k=h.nodeName.toUpperCase()}catch(j){k=h.nodeName}g=g&amp;&amp;!this.invalidHandleTypes[k];g=g&amp;&amp;!this.invalidHandleIds[h.id];for(var d=0,c=this.invalidHandleClasses.length;g&amp;&amp;d&lt;c;++d){g=!Ext.fly(h).hasClass(this.invalidHandleClasses[d])}return g},setXTicks:function(g,c){this.xTicks=[];this.xTickSize=c;var e={};for(var d=this.initPageX;d&gt;=this.minX;d=d-c){if(!e[d]){this.xTicks[this.xTicks.length]=d;e[d]=true}}for(d=this.initPageX;d&lt;=this.maxX;d=d+c){if(!e[d]){this.xTicks[this.xTicks.length]=d;e[d]=true}}this.xTicks.sort(this.DDM.numericSort)},setYTicks:function(g,c){this.yTicks=[];this.yTickSize=c;var e={};for(var d=this.initPageY;d&gt;=this.minY;d=d-c){if(!e[d]){this.yTicks[this.yTicks.length]=d;e[d]=true}}for(d=this.initPageY;d&lt;=this.maxY;d=d+c){if(!e[d]){this.yTicks[this.yTicks.length]=d;e[d]=true}}this.yTicks.sort(this.DDM.numericSort)},setXConstraint:function(e,d,c){this.leftConstraint=e;this.rightConstraint=d;this.minX=this.initPageX-e;this.maxX=this.initPageX+d;if(c){this.setXTicks(this.initPageX,c)
+}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(c,e,d){this.topConstraint=c;this.bottomConstraint=e;this.minY=this.initPageY-c;this.maxY=this.initPageY+e;if(d){this.setYTicks(this.initPageY,d)}this.constrainY=true},resetConstraints:function(){if(this.initPageX||this.initPageX===0){var d=(this.maintainOffset)?this.lastPageX-this.initPageX:0;var c=(this.maintainOffset)?this.lastPageY-this.initPageY:0;this.setInitPosition(d,c)}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(k,g){if(!g){return k}else{if(g[0]&gt;=k){return g[0]}else{for(var d=0,c=g.length;d&lt;c;++d){var e=d+1;if(g[e]&amp;&amp;g[e]&gt;=k){var j=k-g[d];var h=g[e]-k;return(h&gt;j)?g[d]:g[e]}}return g[g.length-1]}}},toString:function(){return(&quot;DragDrop &quot;+this.id)}}})();if(!Ext.dd.DragDropMgr){Ext.dd.DragDropMgr=function(){var a=Ext.EventManager;return{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(d,c){for(var e in this.ids){for(var b in this.ids[e]){var g=this.ids[e][b];if(!this.isTypeOfDD(g)){continue}g[d].apply(g,c)}}},_onLoad:function(){this.init();a.on(document,&quot;mouseup&quot;,this.handleMouseUp,this,true);a.on(document,&quot;mousemove&quot;,this.handleMouseMove,this,true);a.on(window,&quot;unload&quot;,this._onUnload,this,true);a.on(window,&quot;resize&quot;,this._onResize,this,true)},_onResize:function(b){this._execOnAll(&quot;resetConstraints&quot;,[])},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,b){if(!this.initialized){this.init()}if(!this.ids[b]){this.ids[b]={}}this.ids[b][c.id]=c},removeDDFromGroup:function(d,b){if(!this.ids[b]){this.ids[b]={}}var c=this.ids[b];if(c&amp;&amp;c[d.id]){delete c[d.id]}},_remove:function(c){for(var b in c.groups){if(b&amp;&amp;this.ids[b]&amp;&amp;this.ids[b][c.id]){delete this.ids[b][c.id]}}delete this.handleIds[c.id]},regHandle:function(c,b){if(!this.handleIds[c]){this.handleIds[c]={}}this.handleIds[c][b]=b},isDragDrop:function(b){return(this.getDDById(b))?true:false},getRelated:function(h,c){var g=[];for(var e in h.groups){for(var d in this.ids[e]){var b=this.ids[e][d];if(!this.isTypeOfDD(b)){continue}if(!c||b.isTarget){g[g.length]=b}}}return g},isLegalTarget:function(g,e){var c=this.getRelated(g,true);for(var d=0,b=c.length;d&lt;b;++d){if(c[d].id==e.id){return true}}return false},isTypeOfDD:function(b){return(b&amp;&amp;b.__ygDragDrop)},isHandle:function(c,b){return(this.handleIds[c]&amp;&amp;this.handleIds[c][b])},getDDById:function(c){for(var b in this.ids){if(this.ids[b][c]){return this.ids[b][c]}}return null},handleMouseDown:function(d,c){if(Ext.QuickTips){Ext.QuickTips.disable()}if(this.dragCurrent){this.handleMouseUp(d)}this.currentTarget=d.getTarget();this.dragCurrent=c;var b=c.getEl();this.startX=d.getPageX();this.startY=d.getPageY();this.deltaX=this.startX-b.offsetLeft;this.deltaY=this.startY-b.offsetTop;this.dragThreshMet=false;this.clickTimeout=setTimeout(function(){var e=Ext.dd.DDM;e.startDrag(e.startX,e.startY)},this.clickTimeThresh)},startDrag:function(b,c){clearTimeout(this.clickTimeout);if(this.dragCurrent){this.dragCurrent.b4StartDrag(b,c);this.dragCurrent.startDrag(b,c)}this.dragThreshMet=true},handleMouseUp:function(b){if(Ext.QuickTips){Ext.QuickTips.enable()}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(d){if(!this.dragCurrent){return true}if(Ext.isIE&amp;&amp;(d.button!==0&amp;&amp;d.button!==1&amp;&amp;d.button!==2)){this.stopEvent(d);return this.handleMouseUp(d)}if(!this.dragThreshMet){var c=Math.abs(this.startX-d.getPageX());var b=Math.abs(this.startY-d.getPageY());if(c&gt;this.clickPixelThresh||b&gt;this.clickPixelThresh){this.startDrag(this.startX,this.startY)}}if(this.dragThreshMet){this.dragCurrent.b4Drag(d);this.dragCurrent.onDrag(d);if(!this.dragCurrent.moveOnly){this.fireEvents(d,false)}}this.stopEvent(d);return true},fireEvents:function(n,o){var q=this.dragCurrent;if(!q||q.isLocked()){return}var r=n.getPoint();var b=[];var g=[];var l=[];var j=[];var d=[];for(var h in this.dragOvers){var c=this.dragOvers[h];if(!this.isTypeOfDD(c)){continue}if(!this.isOverTarget(r,c,this.mode)){g.push(c)}b[h]=true;delete this.dragOvers[h]}for(var p in q.groups){if(&quot;string&quot;!=typeof p){continue}for(h in this.ids[p]){var k=this.ids[p][h];if(!this.isTypeOfDD(k)){continue}if(k.isTarget&amp;&amp;!k.isLocked()&amp;&amp;((k!=q)||(q.ignoreSelf===false))){if(this.isOverTarget(r,k,this.mode)){if(o){j.push(k)}else{if(!b[k.id]){d.push(k)}else{l.push(k)}this.dragOvers[k.id]=k}}}}}if(this.mode){if(g.length){q.b4DragOut(n,g);q.onDragOut(n,g)}if(d.length){q.onDragEnter(n,d)}if(l.length){q.b4DragOver(n,l);q.onDragOver(n,l)}if(j.length){q.b4DragDrop(n,j);q.onDragDrop(n,j)}}else{var m=0;for(h=0,m=g.length;h&lt;m;++h){q.b4DragOut(n,g[h].id);q.onDragOut(n,g[h].id)}for(h=0,m=d.length;h&lt;m;++h){q.onDragEnter(n,d[h].id)}for(h=0,m=l.length;h&lt;m;++h){q.b4DragOver(n,l[h].id);q.onDragOver(n,l[h].id)}for(h=0,m=j.length;h&lt;m;++h){q.b4DragDrop(n,j[h].id);q.onDragDrop(n,j[h].id)}}if(o&amp;&amp;!j.length){q.onInvalidDrop(n)}},getBestMatch:function(d){var g=null;var c=d.length;if(c==1){g=d[0]}else{for(var e=0;e&lt;c;++e){var b=d[e];if(b.cursorIsOver){g=b;break}else{if(!g||g.overlap.getArea()&lt;b.overlap.getArea()){g=b}}}}return g},refreshCache:function(c){for(var b in c){if(&quot;string&quot;!=typeof b){continue}for(var d in this.ids[b]){var e=this.ids[b][d];if(this.isTypeOfDD(e)){var g=this.getLocation(e);if(g){this.locationCache[e.id]=g}else{delete this.locationCache[e.id]}}}}},verifyEl:function(c){if(c){var b;if(Ext.isIE){try{b=c.offsetParent}catch(d){}}else{b=c.offsetParent}if(b){return true}}return false},getLocation:function(j){if(!this.isTypeOfDD(j)){return null}var h=j.getEl(),n,g,d,p,o,q,c,m,i;try{n=Ext.lib.Dom.getXY(h)}catch(k){}if(!n){return null}g=n[0];d=g+h.offsetWidth;p=n[1];o=p+h.offsetHeight;q=p-j.padding[0];c=d+j.padding[1];m=o+j.padding[2];i=g-j.padding[3];return new Ext.lib.Region(q,c,m,i)},isOverTarget:function(k,b,d){var g=this.locationCache[b.id];if(!g||!this.useCache){g=this.getLocation(b);this.locationCache[b.id]=g}if(!g){return false}b.cursorIsOver=g.contains(k);var j=this.dragCurrent;if(!j||!j.getTargetCoord||(!d&amp;&amp;!j.constrainX&amp;&amp;!j.constrainY)){return b.cursorIsOver}b.overlap=null;var h=j.getTargetCoord(k.x,k.y);var c=j.getDragEl();var e=new Ext.lib.Region(h.y,h.x+c.offsetWidth,h.y+c.offsetHeight,h.x);var i=e.intersect(g);if(i){b.overlap=i;return(d)?true:b.cursorIsOver}else{return false}},_onUnload:function(c,b){Ext.dd.DragDropMgr.unregAll()},unregAll:function(){if(this.dragCurrent){this.stopDrag();this.dragCurrent=null}this._execOnAll(&quot;unreg&quot;,[]);for(var b in this.elementCache){delete this.elementCache[b]}this.elementCache={};this.ids={}},elementCache:{},getElWrapper:function(c){var b=this.elementCache[c];if(!b||!b.el){b=this.elementCache[c]=new this.ElementWrapper(Ext.getDom(c))}return b},getElement:function(b){return Ext.getDom(b)},getCss:function(c){var b=Ext.getDom(c);return(b)?b.style:null},ElementWrapper:function(b){this.el=b||null;this.id=this.el&amp;&amp;b.id;this.css=this.el&amp;&amp;b.style},getPosX:function(b){return Ext.lib.Dom.getX(b)},getPosY:function(b){return Ext.lib.Dom.getY(b)
+},swapNode:function(d,b){if(d.swapNode){d.swapNode(b)}else{var e=b.parentNode;var c=b.nextSibling;if(c==d){e.insertBefore(d,b)}else{if(b==d.nextSibling){e.insertBefore(b,d)}else{d.parentNode.replaceChild(b,d);e.insertBefore(d,c)}}}},getScroll:function(){var d,b,e=document.documentElement,c=document.body;if(e&amp;&amp;(e.scrollTop||e.scrollLeft)){d=e.scrollTop;b=e.scrollLeft}else{if(c){d=c.scrollTop;b=c.scrollLeft}else{}}return{top:d,left:b}},getStyle:function(c,b){return Ext.fly(c).getStyle(b)},getScrollTop:function(){return this.getScroll().top},getScrollLeft:function(){return this.getScroll().left},moveToEl:function(b,d){var c=Ext.lib.Dom.getXY(d);Ext.lib.Dom.setXY(b,c)},numericSort:function(d,c){return(d-c)},_timeoutCount:0,_addListeners:function(){var b=Ext.dd.DDM;if(Ext.lib.Event&amp;&amp;document){b._onLoad()}else{if(b._timeoutCount&gt;2000){}else{setTimeout(b._addListeners,10);if(document&amp;&amp;document.body){b._timeoutCount+=1}}}},handleWasClicked:function(b,d){if(this.isHandle(d,b.id)){return true}else{var c=b.parentNode;while(c){if(this.isHandle(d,c.id)){return true}else{c=c.parentNode}}}return false}}}();Ext.dd.DDM=Ext.dd.DragDropMgr;Ext.dd.DDM._addListeners()}Ext.dd.DD=function(c,a,b){if(c){this.init(c,a,b)}};Ext.extend(Ext.dd.DD,Ext.dd.DragDrop,{scroll:true,autoOffset:function(c,b){var a=c-this.startPageX;var d=b-this.startPageY;this.setDelta(a,d)},setDelta:function(b,a){this.deltaX=b;this.deltaY=a},setDragElPos:function(c,b){var a=this.getDragEl();this.alignElWithMouse(a,c,b)},alignElWithMouse:function(c,h,g){var e=this.getTargetCoord(h,g);var b=c.dom?c:Ext.fly(c,&quot;_dd&quot;);if(!this.deltaSetXY){var i=[e.x,e.y];b.setXY(i);var d=b.getLeft(true);var a=b.getTop(true);this.deltaSetXY=[d-e.x,a-e.y]}else{b.setLeftTop(e.x+this.deltaSetXY[0],e.y+this.deltaSetXY[1])}this.cachePosition(e.x,e.y);this.autoScroll(e.x,e.y,c.offsetHeight,c.offsetWidth);return e},cachePosition:function(b,a){if(b){this.lastPageX=b;this.lastPageY=a}else{var c=Ext.lib.Dom.getXY(this.getEl());this.lastPageX=c[0];this.lastPageY=c[1]}},autoScroll:function(l,k,e,m){if(this.scroll){var n=Ext.lib.Dom.getViewHeight();var b=Ext.lib.Dom.getViewWidth();var p=this.DDM.getScrollTop();var d=this.DDM.getScrollLeft();var j=e+k;var o=m+l;var i=(n+p-k-this.deltaY);var g=(b+d-l-this.deltaX);var c=40;var a=(document.all)?80:30;if(j&gt;n&amp;&amp;i&lt;c){window.scrollTo(d,p+a)}if(k&lt;p&amp;&amp;p&gt;0&amp;&amp;k-p&lt;c){window.scrollTo(d,p-a)}if(o&gt;b&amp;&amp;g&lt;c){window.scrollTo(d+a,p)}if(l&lt;d&amp;&amp;d&gt;0&amp;&amp;l-d&lt;c){window.scrollTo(d-a,p)}}},getTargetCoord:function(c,b){var a=c-this.deltaX;var d=b-this.deltaY;if(this.constrainX){if(a&lt;this.minX){a=this.minX}if(a&gt;this.maxX){a=this.maxX}}if(this.constrainY){if(d&lt;this.minY){d=this.minY}if(d&gt;this.maxY){d=this.maxY}}a=this.getTick(a,this.xTicks);d=this.getTick(d,this.yTicks);return{x:a,y:d}},applyConfig:function(){Ext.dd.DD.superclass.applyConfig.call(this);this.scroll=(this.config.scroll!==false)},b4MouseDown:function(a){this.autoOffset(a.getPageX(),a.getPageY())},b4Drag:function(a){this.setDragElPos(a.getPageX(),a.getPageY())},toString:function(){return(&quot;DD &quot;+this.id)}});Ext.dd.DDProxy=function(c,a,b){if(c){this.init(c,a,b);this.initFrame()}};Ext.dd.DDProxy.dragElId=&quot;ygddfdiv&quot;;Ext.extend(Ext.dd.DDProxy,Ext.dd.DD,{resizeFrame:true,centerFrame:false,createFrame:function(){var b=this;var a=document.body;if(!a||!a.firstChild){setTimeout(function(){b.createFrame()},50);return}var d=this.getDragEl();if(!d){d=document.createElement(&quot;div&quot;);d.id=this.dragElId;var c=d.style;c.position=&quot;absolute&quot;;c.visibility=&quot;hidden&quot;;c.cursor=&quot;move&quot;;c.border=&quot;2px solid #aaa&quot;;c.zIndex=999;a.insertBefore(d,a.firstChild)}},initFrame:function(){this.createFrame()},applyConfig:function(){Ext.dd.DDProxy.superclass.applyConfig.call(this);this.resizeFrame=(this.config.resizeFrame!==false);this.centerFrame=(this.config.centerFrame);this.setDragElId(this.config.dragElId||Ext.dd.DDProxy.dragElId)},showFrame:function(e,d){var c=this.getEl();var a=this.getDragEl();var b=a.style;this._resizeProxy();if(this.centerFrame){this.setDelta(Math.round(parseInt(b.width,10)/2),Math.round(parseInt(b.height,10)/2))}this.setDragElPos(e,d);Ext.fly(a).show()},_resizeProxy:function(){if(this.resizeFrame){var a=this.getEl();Ext.fly(this.getDragEl()).setSize(a.offsetWidth,a.offsetHeight)}},b4MouseDown:function(b){var a=b.getPageX();var c=b.getPageY();this.autoOffset(a,c);this.setDragElPos(a,c)},b4StartDrag:function(a,b){this.showFrame(a,b)},b4EndDrag:function(a){Ext.fly(this.getDragEl()).hide()},endDrag:function(c){var b=this.getEl();var a=this.getDragEl();a.style.visibility=&quot;&quot;;this.beforeMove();b.style.visibility=&quot;hidden&quot;;Ext.dd.DDM.moveToEl(b,a);a.style.visibility=&quot;hidden&quot;;b.style.visibility=&quot;&quot;;this.afterDrag()},beforeMove:function(){},afterDrag:function(){},toString:function(){return(&quot;DDProxy &quot;+this.id)}});Ext.dd.DDTarget=function(c,a,b){if(c){this.initTarget(c,a,b)}};Ext.extend(Ext.dd.DDTarget,Ext.dd.DragDrop,{toString:function(){return(&quot;DDTarget &quot;+this.id)}});Ext.dd.DragTracker=function(a){Ext.apply(this,a);this.addEvents(&quot;mousedown&quot;,&quot;mouseup&quot;,&quot;mousemove&quot;,&quot;dragstart&quot;,&quot;dragend&quot;,&quot;drag&quot;);this.dragRegion=new Ext.lib.Region(0,0,0,0);if(this.el){this.initEl(this.el)}};Ext.extend(Ext.dd.DragTracker,Ext.util.Observable,{active:false,tolerance:5,autoStart:false,initEl:function(a){this.el=Ext.get(a);a.on(&quot;mousedown&quot;,this.onMouseDown,this,this.delegate?{delegate:this.delegate}:undefined)},destroy:function(){this.el.un(&quot;mousedown&quot;,this.onMouseDown,this)},onMouseDown:function(c,b){if(this.fireEvent(&quot;mousedown&quot;,this,c)!==false&amp;&amp;this.onBeforeStart(c)!==false){this.startXY=this.lastXY=c.getXY();this.dragTarget=this.delegate?b:this.el.dom;if(this.preventDefault!==false){c.preventDefault()}var a=Ext.getDoc();a.on(&quot;mouseup&quot;,this.onMouseUp,this);a.on(&quot;mousemove&quot;,this.onMouseMove,this);a.on(&quot;selectstart&quot;,this.stopSelect,this);if(this.autoStart){this.timer=this.triggerStart.defer(this.autoStart===true?1000:this.autoStart,this)}}},onMouseMove:function(d,c){if(this.active&amp;&amp;Ext.isIE&amp;&amp;!d.browserEvent.button){d.preventDefault();this.onMouseUp(d);return}d.preventDefault();var b=d.getXY(),a=this.startXY;this.lastXY=b;if(!this.active){if(Math.abs(a[0]-b[0])&gt;this.tolerance||Math.abs(a[1]-b[1])&gt;this.tolerance){this.triggerStart()}else{return}}this.fireEvent(&quot;mousemove&quot;,this,d);this.onDrag(d);this.fireEvent(&quot;drag&quot;,this,d)},onMouseUp:function(c){var b=Ext.getDoc();b.un(&quot;mousemove&quot;,this.onMouseMove,this);b.un(&quot;mouseup&quot;,this.onMouseUp,this);b.un(&quot;selectstart&quot;,this.stopSelect,this);c.preventDefault();this.clearStart();var a=this.active;this.active=false;delete this.elRegion;this.fireEvent(&quot;mouseup&quot;,this,c);if(a){this.onEnd(c);this.fireEvent(&quot;dragend&quot;,this,c)}},triggerStart:function(a){this.clearStart();this.active=true;this.onStart(this.startXY);this.fireEvent(&quot;dragstart&quot;,this,this.startXY)},clearStart:function(){if(this.timer){clearTimeout(this.timer);delete this.timer}},stopSelect:function(a){a.stopEvent();return false},onBeforeStart:function(a){},onStart:function(a){},onDrag:function(a){},onEnd:function(a){},getDragTarget:function(){return this.dragTarget},getDragCt:function(){return this.el},getXY:function(a){return a?this.constrainModes[a].call(this,this.lastXY):this.lastXY},getOffset:function(c){var b=this.getXY(c);var a=this.startXY;return[a[0]-b[0],a[1]-b[1]]},constrainModes:{point:function(b){if(!this.elRegion){this.elRegion=this.getDragCt().getRegion()}var a=this.dragRegion;a.left=b[0];a.top=b[1];a.right=b[0];a.bottom=b[1];a.constrainTo(this.elRegion);return[a.left,a.top]}}});Ext.dd.ScrollManager=function(){var c=Ext.dd.DragDropMgr;var e={};var b=null;var i={};var h=function(l){b=null;a()};var j=function(){if(c.dragCurrent){c.refreshCache(c.dragCurrent.groups)}};var d=function(){if(c.dragCurrent){var l=Ext.dd.ScrollManager;var m=i.el.ddScrollConfig?i.el.ddScrollConfig.increment:l.increment;if(!l.animate){if(i.el.scroll(i.dir,m)){j()}}else{i.el.scroll(i.dir,m,true,l.animDuration,j)}}};var a=function(){if(i.id){clearInterval(i.id)}i.id=0;i.el=null;i.dir=&quot;&quot;};var g=function(m,l){a();i.el=m;i.dir=l;var n=(m.ddScrollConfig&amp;&amp;m.ddScrollConfig.frequency)?m.ddScrollConfig.frequency:Ext.dd.ScrollManager.frequency;
+i.id=setInterval(d,n)};var k=function(o,q){if(q||!c.dragCurrent){return}var s=Ext.dd.ScrollManager;if(!b||b!=c.dragCurrent){b=c.dragCurrent;s.refreshCache()}var t=Ext.lib.Event.getXY(o);var u=new Ext.lib.Point(t[0],t[1]);for(var m in e){var n=e[m],l=n._region;var p=n.ddScrollConfig?n.ddScrollConfig:s;if(l&amp;&amp;l.contains(u)&amp;&amp;n.isScrollable()){if(l.bottom-u.y&lt;=p.vthresh){if(i.el!=n){g(n,&quot;down&quot;)}return}else{if(l.right-u.x&lt;=p.hthresh){if(i.el!=n){g(n,&quot;left&quot;)}return}else{if(u.y-l.top&lt;=p.vthresh){if(i.el!=n){g(n,&quot;up&quot;)}return}else{if(u.x-l.left&lt;=p.hthresh){if(i.el!=n){g(n,&quot;right&quot;)}return}}}}}}a()};c.fireEvents=c.fireEvents.createSequence(k,c);c.stopDrag=c.stopDrag.createSequence(h,c);return{register:function(n){if(Ext.isArray(n)){for(var m=0,l=n.length;m&lt;l;m++){this.register(n[m])}}else{n=Ext.get(n);e[n.id]=n}},unregister:function(n){if(Ext.isArray(n)){for(var m=0,l=n.length;m&lt;l;m++){this.unregister(n[m])}}else{n=Ext.get(n);delete e[n.id]}},vthresh:25,hthresh:25,increment:100,frequency:500,animate:true,animDuration:0.4,refreshCache:function(){for(var l in e){if(typeof e[l]==&quot;object&quot;){e[l]._region=e[l].getRegion()}}}}}();Ext.dd.Registry=function(){var d={};var b={};var a=0;var c=function(g,e){if(typeof g==&quot;string&quot;){return g}var h=g.id;if(!h&amp;&amp;e!==false){h=&quot;extdd-&quot;+(++a);g.id=h}return h};return{register:function(j,k){k=k||{};if(typeof j==&quot;string&quot;){j=document.getElementById(j)}k.ddel=j;d[c(j)]=k;if(k.isHandle!==false){b[k.ddel.id]=k}if(k.handles){var h=k.handles;for(var g=0,e=h.length;g&lt;e;g++){b[c(h[g])]=k}}},unregister:function(j){var l=c(j,false);var k=d[l];if(k){delete d[l];if(k.handles){var h=k.handles;for(var g=0,e=h.length;g&lt;e;g++){delete b[c(h[g],false)]}}}},getHandle:function(e){if(typeof e!=&quot;string&quot;){e=e.id}return b[e]},getHandleFromEvent:function(h){var g=Ext.lib.Event.getTarget(h);return g?b[g.id]:null},getTarget:function(e){if(typeof e!=&quot;string&quot;){e=e.id}return d[e]},getTargetFromEvent:function(h){var g=Ext.lib.Event.getTarget(h);return g?d[g.id]||b[g.id]:null}}}();Ext.dd.StatusProxy=function(a){Ext.apply(this,a);this.id=this.id||Ext.id();this.el=new Ext.Layer({dh:{id:this.id,tag:&quot;div&quot;,cls:&quot;x-dd-drag-proxy &quot;+this.dropNotAllowed,children:[{tag:&quot;div&quot;,cls:&quot;x-dd-drop-icon&quot;},{tag:&quot;div&quot;,cls:&quot;x-dd-drag-ghost&quot;}]},shadow:!a||a.shadow!==false});this.ghost=Ext.get(this.el.dom.childNodes[1]);this.dropStatus=this.dropNotAllowed};Ext.dd.StatusProxy.prototype={dropAllowed:&quot;x-dd-drop-ok&quot;,dropNotAllowed:&quot;x-dd-drop-nodrop&quot;,setStatus:function(a){a=a||this.dropNotAllowed;if(this.dropStatus!=a){this.el.replaceClass(this.dropStatus,a);this.dropStatus=a}},reset:function(a){this.el.dom.className=&quot;x-dd-drag-proxy &quot;+this.dropNotAllowed;this.dropStatus=this.dropNotAllowed;if(a){this.ghost.update(&quot;&quot;)}},update:function(a){if(typeof a==&quot;string&quot;){this.ghost.update(a)}else{this.ghost.update(&quot;&quot;);a.style.margin=&quot;0&quot;;this.ghost.dom.appendChild(a)}var b=this.ghost.dom.firstChild;if(b){Ext.fly(b).setStyle(&quot;float&quot;,&quot;none&quot;)}},getEl:function(){return this.el},getGhost:function(){return this.ghost},hide:function(a){this.el.hide();if(a){this.reset(true)}},stop:function(){if(this.anim&amp;&amp;this.anim.isAnimated&amp;&amp;this.anim.isAnimated()){this.anim.stop()}},show:function(){this.el.show()},sync:function(){this.el.sync()},repair:function(b,c,a){this.callback=c;this.scope=a;if(b&amp;&amp;this.animRepair!==false){this.el.addClass(&quot;x-dd-drag-repair&quot;);this.el.hideUnders(true);this.anim=this.el.shift({duration:this.repairDuration||0.5,easing:&quot;easeOut&quot;,xy:b,stopFx:true,callback:this.afterRepair,scope:this})}else{this.afterRepair()}},afterRepair:function(){this.hide(true);if(typeof this.callback==&quot;function&quot;){this.callback.call(this.scope||this)}this.callback=null;this.scope=null}};Ext.dd.DragSource=function(b,a){this.el=Ext.get(b);if(!this.dragData){this.dragData={}}Ext.apply(this,a);if(!this.proxy){this.proxy=new Ext.dd.StatusProxy()}Ext.dd.DragSource.superclass.constructor.call(this,this.el.dom,this.ddGroup||this.group,{dragElId:this.proxy.id,resizeFrame:false,isTarget:false,scroll:this.scroll===true});this.dragging=false};Ext.extend(Ext.dd.DragSource,Ext.dd.DDProxy,{dropAllowed:&quot;x-dd-drop-ok&quot;,dropNotAllowed:&quot;x-dd-drop-nodrop&quot;,getDragData:function(a){return this.dragData},onDragEnter:function(c,d){var b=Ext.dd.DragDropMgr.getDDById(d);this.cachedTarget=b;if(this.beforeDragEnter(b,c,d)!==false){if(b.isNotifyTarget){var a=b.notifyEnter(this,c,this.dragData);this.proxy.setStatus(a)}else{this.proxy.setStatus(this.dropAllowed)}if(this.afterDragEnter){this.afterDragEnter(b,c,d)}}},beforeDragEnter:function(b,a,c){return true},alignElWithMouse:function(){Ext.dd.DragSource.superclass.alignElWithMouse.apply(this,arguments);this.proxy.sync()},onDragOver:function(c,d){var b=this.cachedTarget||Ext.dd.DragDropMgr.getDDById(d);if(this.beforeDragOver(b,c,d)!==false){if(b.isNotifyTarget){var a=b.notifyOver(this,c,this.dragData);this.proxy.setStatus(a)}if(this.afterDragOver){this.afterDragOver(b,c,d)}}},beforeDragOver:function(b,a,c){return true},onDragOut:function(b,c){var a=this.cachedTarget||Ext.dd.DragDropMgr.getDDById(c);if(this.beforeDragOut(a,b,c)!==false){if(a.isNotifyTarget){a.notifyOut(this,b,this.dragData)}this.proxy.reset();if(this.afterDragOut){this.afterDragOut(a,b,c)}}this.cachedTarget=null},beforeDragOut:function(b,a,c){return true},onDragDrop:function(b,c){var a=this.cachedTarget||Ext.dd.DragDropMgr.getDDById(c);if(this.beforeDragDrop(a,b,c)!==false){if(a.isNotifyTarget){if(a.notifyDrop(this,b,this.dragData)){this.onValidDrop(a,b,c)}else{this.onInvalidDrop(a,b,c)}}else{this.onValidDrop(a,b,c)}if(this.afterDragDrop){this.afterDragDrop(a,b,c)}}delete this.cachedTarget},beforeDragDrop:function(b,a,c){return true},onValidDrop:function(b,a,c){this.hideProxy();if(this.afterValidDrop){this.afterValidDrop(b,a,c)}},getRepairXY:function(b,a){return this.el.getXY()},onInvalidDrop:function(b,a,c){this.beforeInvalidDrop(b,a,c);if(this.cachedTarget){if(this.cachedTarget.isNotifyTarget){this.cachedTarget.notifyOut(this,a,this.dragData)}this.cacheTarget=null}this.proxy.repair(this.getRepairXY(a,this.dragData),this.afterRepair,this);if(this.afterInvalidDrop){this.afterInvalidDrop(a,c)}},afterRepair:function(){if(Ext.enableFx){this.el.highlight(this.hlColor||&quot;c3daf9&quot;)}this.dragging=false},beforeInvalidDrop:function(b,a,c){return true},handleMouseDown:function(b){if(this.dragging){return}var a=this.getDragData(b);if(a&amp;&amp;this.onBeforeDrag(a,b)!==false){this.dragData=a;this.proxy.stop();Ext.dd.DragSource.superclass.handleMouseDown.apply(this,arguments)}},onBeforeDrag:function(a,b){return true},onStartDrag:Ext.emptyFn,startDrag:function(a,b){this.proxy.reset();this.dragging=true;this.proxy.update(&quot;&quot;);this.onInitDrag(a,b);this.proxy.show()},onInitDrag:function(a,c){var b=this.el.dom.cloneNode(true);b.id=Ext.id();this.proxy.update(b);this.onStartDrag(a,c);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(a){},endDrag:function(a){this.onEndDrag(this.dragData,a)},onEndDrag:function(a,b){},autoOffset:function(a,b){this.setDelta(-12,-20)}});Ext.dd.DropTarget=function(b,a){this.el=Ext.get(b);Ext.apply(this,a);if(this.containerScroll){Ext.dd.ScrollManager.register(this.el)}Ext.dd.DropTarget.superclass.constructor.call(this,this.el.dom,this.ddGroup||this.group,{isTarget:true})};Ext.extend(Ext.dd.DropTarget,Ext.dd.DDTarget,{dropAllowed:&quot;x-dd-drop-ok&quot;,dropNotAllowed:&quot;x-dd-drop-nodrop&quot;,isTarget:true,isNotifyTarget:true,notifyEnter:function(a,c,b){if(this.overClass){this.el.addClass(this.overClass)}return this.dropAllowed},notifyOver:function(a,c,b){return this.dropAllowed},notifyOut:function(a,c,b){if(this.overClass){this.el.removeClass(this.overClass)}},notifyDrop:function(a,c,b){return false}});Ext.dd.DragZone=function(b,a){Ext.dd.DragZone.superclass.constructor.call(this,b,a);if(this.containerScroll){Ext.dd.ScrollManager.register(this.el)}};Ext.extend(Ext.dd.DragZone,Ext.dd.DragSource,{getDragData:function(a){return Ext.dd.Registry.getHandleFromEvent(a)
+},onInitDrag:function(a,b){this.proxy.update(this.dragData.ddel.cloneNode(true));this.onStartDrag(a,b);return true},afterRepair:function(){if(Ext.enableFx){Ext.Element.fly(this.dragData.ddel).highlight(this.hlColor||&quot;c3daf9&quot;)}this.dragging=false},getRepairXY:function(a){return Ext.Element.fly(this.dragData.ddel).getXY()}});Ext.dd.DropZone=function(b,a){Ext.dd.DropZone.superclass.constructor.call(this,b,a)};Ext.extend(Ext.dd.DropZone,Ext.dd.DropTarget,{getTargetFromEvent:function(a){return Ext.dd.Registry.getTargetFromEvent(a)},onNodeEnter:function(d,a,c,b){},onNodeOver:function(d,a,c,b){return this.dropAllowed},onNodeOut:function(d,a,c,b){},onNodeDrop:function(d,a,c,b){return false},onContainerOver:function(a,c,b){return this.dropNotAllowed},onContainerDrop:function(a,c,b){return false},notifyEnter:function(a,c,b){return this.dropNotAllowed},notifyOver:function(a,c,b){var d=this.getTargetFromEvent(c);if(!d){if(this.lastOverNode){this.onNodeOut(this.lastOverNode,a,c,b);this.lastOverNode=null}return this.onContainerOver(a,c,b)}if(this.lastOverNode!=d){if(this.lastOverNode){this.onNodeOut(this.lastOverNode,a,c,b)}this.onNodeEnter(d,a,c,b);this.lastOverNode=d}return this.onNodeOver(d,a,c,b)},notifyOut:function(a,c,b){if(this.lastOverNode){this.onNodeOut(this.lastOverNode,a,c,b);this.lastOverNode=null}},notifyDrop:function(a,c,b){if(this.lastOverNode){this.onNodeOut(this.lastOverNode,a,c,b);this.lastOverNode=null}var d=this.getTargetFromEvent(c);return d?this.onNodeDrop(d,a,c,b):this.onContainerDrop(a,c,b)},triggerCacheRefresh:function(){Ext.dd.DDM.refreshCache(this.groups)}});Ext.data.Api=(function(){var a={};return{actions:{create:&quot;create&quot;,read:&quot;read&quot;,update:&quot;update&quot;,destroy:&quot;destroy&quot;},restActions:{create:&quot;POST&quot;,read:&quot;GET&quot;,update:&quot;PUT&quot;,destroy:&quot;DELETE&quot;},isAction:function(b){return(Ext.data.Api.actions[b])?true:false},getVerb:function(b){if(a[b]){return a[b]}for(var c in this.actions){if(this.actions[c]===b){a[b]=c;break}}return(a[b]!==undefined)?a[b]:null},isValid:function(b){var e=[];var d=this.actions;for(var c in b){if(!(c in d)){e.push(c)}}return(!e.length)?true:e},hasUniqueUrl:function(c,g){var b=(c.api[g])?c.api[g].url:null;var e=true;for(var d in c.api){if((e=(d===g)?true:(c.api[d].url!=b)?true:false)===false){break}}return e},prepare:function(b){if(!b.api){b.api={}}for(var d in this.actions){var c=this.actions[d];b.api[c]=b.api[c]||b.url||b.directFn;if(typeof(b.api[c])==&quot;string&quot;){b.api[c]={url:b.api[c]}}}},restify:function(b){b.restful=true;for(var c in this.restActions){b.api[this.actions[c]].method=this.restActions[c]}b.onWrite=b.onWrite.createInterceptor(function(i,j,g,e){var d=j.reader;var h={};switch(g.status){case 200:return true;break;case 201:h[d.meta.successProperty]=true;break;case 204:h[d.meta.successProperty]=true;h[d.meta.root]=null;break;default:return true;break}if(h[d.meta.successProperty]===true){this.fireEvent(&quot;write&quot;,this,i,h[d.meta.root],h,e,j.request.arg)}else{this.fireEvent(&quot;exception&quot;,this,&quot;remote&quot;,i,j,h,e)}j.request.callback.call(j.request.scope,h[d.meta.root],h,h[d.meta.successProperty]);return false},b)}}})();Ext.data.Response=function(b,a){Ext.apply(this,b,{raw:a})};Ext.data.Response.prototype={message:null,success:false,status:null,root:null,raw:null,getMessage:function(){return this.message},getSuccess:function(){return this.success},getStatus:function(){return this.status},getRoot:function(){return this.root},getRawResponse:function(){return this.raw}};Ext.data.Api.Error=Ext.extend(Ext.Error,{constructor:function(b,a){this.arg=a;Ext.Error.call(this,b)},name:&quot;Ext.data.Api&quot;});Ext.apply(Ext.data.Api.Error.prototype,{lang:{&quot;action-url-undefined&quot;:&quot;No fallback url defined for this action.  When defining a DataProxy api, please be sure to define an url for each CRUD action in Ext.data.Api.actions or define a default url in addition to your api-configuration.&quot;,invalid:&quot;received an invalid API-configuration.  Please ensure your proxy API-configuration contains only the actions defined in Ext.data.Api.actions&quot;,&quot;invalid-url&quot;:&quot;Invalid url.  Please review your proxy configuration.&quot;,execute:'Attempted to execute an unknown action.  Valid API actions are defined in Ext.data.Api.actions&quot;'}});Ext.data.SortTypes={none:function(a){return a},stripTagsRE:/&lt;\/?[^&gt;]+&gt;/gi,asText:function(a){return String(a).replace(this.stripTagsRE,&quot;&quot;)},asUCText:function(a){return String(a).toUpperCase().replace(this.stripTagsRE,&quot;&quot;)},asUCString:function(a){return String(a).toUpperCase()},asDate:function(a){if(!a){return 0}if(Ext.isDate(a)){return a.getTime()}return Date.parse(String(a))},asFloat:function(a){var b=parseFloat(String(a).replace(/,/g,&quot;&quot;));return isNaN(b)?0:b},asInt:function(a){var b=parseInt(String(a).replace(/,/g,&quot;&quot;),10);return isNaN(b)?0:b}};Ext.data.Record=function(a,b){this.id=(b||b===0)?b:Ext.data.Record.id(this);this.data=a||{}};Ext.data.Record.create=function(e){var c=Ext.extend(Ext.data.Record,{});var d=c.prototype;d.fields=new Ext.util.MixedCollection(false,function(g){return g.name});for(var b=0,a=e.length;b&lt;a;b++){d.fields.add(new Ext.data.Field(e[b]))}c.getField=function(g){return d.fields.get(g)};return c};Ext.data.Record.PREFIX=&quot;ext-record&quot;;Ext.data.Record.AUTO_ID=1;Ext.data.Record.EDIT=&quot;edit&quot;;Ext.data.Record.REJECT=&quot;reject&quot;;Ext.data.Record.COMMIT=&quot;commit&quot;;Ext.data.Record.id=function(a){a.phantom=true;return[Ext.data.Record.PREFIX,&quot;-&quot;,Ext.data.Record.AUTO_ID++].join(&quot;&quot;)};Ext.data.Record.prototype={dirty:false,editing:false,error:null,modified:null,phantom:false,join:function(a){this.store=a},set:function(b,c){var a=(typeof c===&quot;object&quot;);if(!a&amp;&amp;String(this.data[b])===String(c)){return}else{if(a&amp;&amp;Ext.encode(this.data[b])===Ext.encode(c)){return}}this.dirty=true;if(!this.modified){this.modified={}}if(typeof this.modified[b]==&quot;undefined&quot;){this.modified[b]=this.data[b]}this.data[b]=c;if(!this.editing){this.afterEdit()}},afterEdit:function(){if(this.store){this.store.afterEdit(this)}},afterReject:function(){if(this.store){this.store.afterReject(this)}},afterCommit:function(){if(this.store){this.store.afterCommit(this)}},get:function(a){return this.data[a]},beginEdit:function(){this.editing=true;this.modified=this.modified||{}},cancelEdit:function(){this.editing=false;delete this.modified},endEdit:function(){this.editing=false;if(this.dirty){this.afterEdit()}},reject:function(b){var a=this.modified;for(var c in a){if(typeof a[c]!=&quot;function&quot;){this.data[c]=a[c]}}this.dirty=false;delete this.modified;this.editing=false;if(b!==true){this.afterReject()}},commit:function(a){this.dirty=false;delete this.modified;this.editing=false;if(a!==true){this.afterCommit()}},getChanges:function(){var a=this.modified,b={};for(var c in a){if(a.hasOwnProperty(c)){b[c]=this.data[c]}}return b},hasError:function(){return this.error!==null},clearError:function(){this.error=null},copy:function(a){return new this.constructor(Ext.apply({},this.data),a||this.id)},isModified:function(a){return !!(this.modified&amp;&amp;this.modified.hasOwnProperty(a))},isValid:function(){return this.fields.find(function(a){return(a.allowBlank===false&amp;&amp;Ext.isEmpty(this.data[a.name]))?true:false},this)?false:true},markDirty:function(){this.dirty=true;if(!this.modified){this.modified={}}this.fields.each(function(a){this.modified[a.name]=this.data[a.name]},this)}};Ext.StoreMgr=Ext.apply(new Ext.util.MixedCollection(),{register:function(){for(var a=0,b;(b=arguments[a]);a++){this.add(b)}},unregister:function(){for(var a=0,b;(b=arguments[a]);a++){this.remove(this.lookup(b))}},lookup:function(e){if(Ext.isArray(e)){var b=[&quot;field1&quot;],d=!Ext.isArray(e[0]);if(!d){for(var c=2,a=e[0].length;c&lt;=a;++c){b.push(&quot;field&quot;+c)}}return new Ext.data.ArrayStore({fields:b,data:e,expandData:d,autoDestroy:true,autoCreated:true})}return Ext.isObject(e)?(e.events?e:Ext.create(e,&quot;store&quot;)):this.get(e)},getKey:function(a){return a.storeId}});Ext.data.Store=function(a){this.data=new Ext.util.MixedCollection(false);this.data.getKey=function(b){return b.id};this.baseParams={};this.removed=[];if(a&amp;&amp;a.data){this.inlineData=a.data;
+delete a.data}Ext.apply(this,a);this.paramNames=Ext.applyIf(this.paramNames||{},this.defaultParamNames);if(this.url&amp;&amp;!this.proxy){this.proxy=new Ext.data.HttpProxy({url:this.url})}if(this.restful===true&amp;&amp;this.proxy){this.batch=false;Ext.data.Api.restify(this.proxy)}if(this.reader){if(!this.recordType){this.recordType=this.reader.recordType}if(this.reader.onMetaChange){this.reader.onMetaChange=this.reader.onMetaChange.createSequence(this.onMetaChange,this)}if(this.writer){this.writer.meta=this.reader.meta;this.pruneModifiedRecords=true}}if(this.recordType){this.fields=this.recordType.prototype.fields}this.modified=[];this.addEvents(&quot;datachanged&quot;,&quot;metachange&quot;,&quot;add&quot;,&quot;remove&quot;,&quot;update&quot;,&quot;clear&quot;,&quot;exception&quot;,&quot;beforeload&quot;,&quot;load&quot;,&quot;loadexception&quot;,&quot;beforewrite&quot;,&quot;write&quot;);if(this.proxy){this.relayEvents(this.proxy,[&quot;loadexception&quot;,&quot;exception&quot;])}if(this.writer){this.on({scope:this,add:this.createRecords,remove:this.destroyRecord,update:this.updateRecord})}this.sortToggle={};if(this.sortField){this.setDefaultSort(this.sortField,this.sortDir)}else{if(this.sortInfo){this.setDefaultSort(this.sortInfo.field,this.sortInfo.direction)}}Ext.data.Store.superclass.constructor.call(this);if(this.id){this.storeId=this.id;delete this.id}if(this.storeId){Ext.StoreMgr.register(this)}if(this.inlineData){this.loadData(this.inlineData);delete this.inlineData}else{if(this.autoLoad){this.load.defer(10,this,[typeof this.autoLoad==&quot;object&quot;?this.autoLoad:undefined])}}};Ext.extend(Ext.data.Store,Ext.util.Observable,{writer:undefined,remoteSort:false,autoDestroy:false,pruneModifiedRecords:false,lastOptions:null,autoSave:true,batch:true,restful:false,paramNames:undefined,defaultParamNames:{start:&quot;start&quot;,limit:&quot;limit&quot;,sort:&quot;sort&quot;,dir:&quot;dir&quot;},destroy:function(){if(this.storeId){Ext.StoreMgr.unregister(this)}this.data=null;Ext.destroy(this.proxy);this.reader=this.writer=null;this.purgeListeners()},add:function(b){b=[].concat(b);if(b.length&lt;1){return}for(var d=0,a=b.length;d&lt;a;d++){b[d].join(this)}var c=this.data.length;this.data.addAll(b);if(this.snapshot){this.snapshot.addAll(b)}this.fireEvent(&quot;add&quot;,this,b,c)},addSorted:function(a){var b=this.findInsertIndex(a);this.insert(b,a)},remove:function(a){var b=this.data.indexOf(a);if(b&gt;-1){this.data.removeAt(b);if(this.pruneModifiedRecords){this.modified.remove(a)}if(this.snapshot){this.snapshot.remove(a)}this.fireEvent(&quot;remove&quot;,this,a,b)}},removeAt:function(a){this.remove(this.getAt(a))},removeAll:function(){this.data.clear();if(this.snapshot){this.snapshot.clear()}if(this.pruneModifiedRecords){this.modified=[]}this.fireEvent(&quot;clear&quot;,this)},insert:function(c,b){b=[].concat(b);for(var d=0,a=b.length;d&lt;a;d++){this.data.insert(c,b[d]);b[d].join(this)}this.fireEvent(&quot;add&quot;,this,b,c)},indexOf:function(a){return this.data.indexOf(a)},indexOfId:function(a){return this.data.indexOfKey(a)},getById:function(a){return this.data.key(a)},getAt:function(a){return this.data.itemAt(a)},getRange:function(b,a){return this.data.getRange(b,a)},storeOptions:function(a){a=Ext.apply({},a);delete a.callback;delete a.scope;this.lastOptions=a},load:function(b){b=b||{};this.storeOptions(b);if(this.sortInfo&amp;&amp;this.remoteSort){var a=this.paramNames;b.params=b.params||{};b.params[a.sort]=this.sortInfo.field;b.params[a.dir]=this.sortInfo.direction}try{return this.execute(&quot;read&quot;,null,b)}catch(c){this.handleException(c);return false}},updateRecord:function(b,a,c){if(c==Ext.data.Record.EDIT&amp;&amp;this.autoSave===true&amp;&amp;(!a.phantom||(a.phantom&amp;&amp;a.isValid))){this.save()}},createRecords:function(c,b,d){for(var e=0,a=b.length;e&lt;a;e++){if(b[e].phantom&amp;&amp;b[e].isValid()){b[e].markDirty();this.modified.push(b[e])}}if(this.autoSave===true){this.save()}},destroyRecord:function(b,a,c){if(this.modified.indexOf(a)!=-1){this.modified.remove(a)}if(!a.phantom){this.removed.push(a);a.lastIndex=c;if(this.autoSave===true){this.save()}}},execute:function(d,a,b){if(!Ext.data.Api.isAction(d)){throw new Ext.data.Api.Error(&quot;execute&quot;,d)}b=Ext.applyIf(b||{},{params:{}});var c=true;if(d===&quot;read&quot;){c=this.fireEvent(&quot;beforeload&quot;,this,b)}else{if(this.writer.listful===true&amp;&amp;this.restful!==true){a=(Ext.isArray(a))?a:[a]}else{if(Ext.isArray(a)&amp;&amp;a.length==1){a=a.shift()}}if((c=this.fireEvent(&quot;beforewrite&quot;,this,d,a,b))!==false){this.writer.write(d,b.params,a)}}if(c!==false){var e=Ext.apply({},b.params,this.baseParams);if(this.writer&amp;&amp;this.proxy.url&amp;&amp;!this.proxy.restful&amp;&amp;!Ext.data.Api.hasUniqueUrl(this.proxy,d)){e.xaction=d}this.proxy.request(Ext.data.Api.actions[d],a,e,this.reader,this.createCallback(d,a),this,b)}return c},save:function(){if(!this.writer){throw new Ext.data.Store.Error(&quot;writer-undefined&quot;)}if(this.removed.length){this.doTransaction(&quot;destroy&quot;,this.removed)}var a=[].concat(this.getModifiedRecords());if(!a.length){return true}var c=[];for(var b=a.length-1;b&gt;=0;b--){if(a[b].phantom===true){var d=a.splice(b,1).shift();if(d.isValid()){c.push(d)}}else{if(!a[b].isValid()){a.splice(b,1)}}}if(c.length){this.doTransaction(&quot;create&quot;,c)}if(a.length){this.doTransaction(&quot;update&quot;,a)}return true},doTransaction:function(d,b){function e(g){try{this.execute(d,g)}catch(h){this.handleException(h)}}if(this.batch===false){for(var c=0,a=b.length;c&lt;a;c++){e.call(this,b[c])}}else{e.call(this,b)}},createCallback:function(b,a){var c=Ext.data.Api.actions;return(b==&quot;read&quot;)?this.loadRecords:function(e,d,g){this[&quot;on&quot;+Ext.util.Format.capitalize(b)+&quot;Records&quot;](g,a,e);if(g===true){this.fireEvent(&quot;write&quot;,this,b,e,d,a)}}},clearModified:function(a){if(Ext.isArray(a)){for(var b=a.length-1;b&gt;=0;b--){this.modified.splice(this.modified.indexOf(a[b]),1)}}else{this.modified.splice(this.modified.indexOf(a),1)}},reMap:function(b){if(Ext.isArray(b)){for(var d=0,a=b.length;d&lt;a;d++){this.reMap(b[d])}}else{delete this.data.map[b._phid];this.data.map[b.id]=b;var c=this.data.keys.indexOf(b._phid);this.data.keys.splice(c,1,b.id);delete b._phid}},onCreateRecords:function(d,a,b){if(d===true){try{this.reader.realize(a,b);this.reMap(a)}catch(c){this.handleException(c);if(Ext.isArray(a)){this.onCreateRecords(d,a,b)}}}},onUpdateRecords:function(d,a,b){if(d===true){try{this.reader.update(a,b)}catch(c){this.handleException(c);if(Ext.isArray(a)){this.onUpdateRecords(d,a,b)}}}},onDestroyRecords:function(e,b,d){b=(b instanceof Ext.data.Record)?[b]:b;for(var c=0,a=b.length;c&lt;a;c++){this.removed.splice(this.removed.indexOf(b[c]),1)}if(e===false){for(c=b.length-1;c&gt;=0;c--){this.insert(b[c].lastIndex,b[c])}}},handleException:function(a){Ext.handleError(a)},reload:function(a){this.load(Ext.applyIf(a||{},this.lastOptions))},loadRecords:function(h,b,g){if(!h||g===false){if(g!==false){this.fireEvent(&quot;load&quot;,this,[],b)}if(b.callback){b.callback.call(b.scope||this,[],b,false,h)}return}var e=h.records,d=h.totalRecords||e.length;if(!b||b.add!==true){if(this.pruneModifiedRecords){this.modified=[]}for(var c=0,a=e.length;c&lt;a;c++){e[c].join(this)}if(this.snapshot){this.data=this.snapshot;delete this.snapshot}this.data.clear();this.data.addAll(e);this.totalLength=d;this.applySort();this.fireEvent(&quot;datachanged&quot;,this)}else{this.totalLength=Math.max(d,this.data.length+e.length);this.add(e)}this.fireEvent(&quot;load&quot;,this,e,b);if(b.callback){b.callback.call(b.scope||this,e,b,true)}},loadData:function(c,a){var b=this.reader.readRecords(c);this.loadRecords(b,{add:a},true)},getCount:function(){return this.data.length||0},getTotalCount:function(){return this.totalLength||0},getSortState:function(){return this.sortInfo},applySort:function(){if(this.sortInfo&amp;&amp;!this.remoteSort){var a=this.sortInfo,b=a.field;this.sortData(b,a.direction)}},sortData:function(c,d){d=d||&quot;ASC&quot;;var a=this.fields.get(c).sortType;var b=function(g,e){var i=a(g.data[c]),h=a(e.data[c]);return i&gt;h?1:(i&lt;h?-1:0)};this.data.sort(d,b);if(this.snapshot&amp;&amp;this.snapshot!=this.data){this.snapshot.sort(d,b)}},setDefaultSort:function(b,a){a=a?a.toUpperCase():&quot;ASC&quot;;this.sortInfo={field:b,direction:a};this.sortToggle[b]=a},sort:function(e,c){var d=this.fields.get(e);if(!d){return false}if(!c){if(this.sortInfo&amp;&amp;this.sortInfo.field==d.name){c=(this.sortToggle[d.name]||&quot;ASC&quot;).toggle(&quot;ASC&quot;,&quot;DESC&quot;)
+}else{c=d.sortDir}}var b=(this.sortToggle)?this.sortToggle[d.name]:null;var a=(this.sortInfo)?this.sortInfo:null;this.sortToggle[d.name]=c;this.sortInfo={field:d.name,direction:c};if(!this.remoteSort){this.applySort();this.fireEvent(&quot;datachanged&quot;,this)}else{if(!this.load(this.lastOptions)){if(b){this.sortToggle[d.name]=b}if(a){this.sortInfo=a}}}},each:function(b,a){this.data.each(b,a)},getModifiedRecords:function(){return this.modified},createFilterFn:function(c,b,d,a){if(Ext.isEmpty(b,false)){return false}b=this.data.createValueMatcher(b,d,a);return function(e){return b.test(e.data[c])}},sum:function(e,g,a){var c=this.data.items,b=0;g=g||0;a=(a||a===0)?a:c.length-1;for(var d=g;d&lt;=a;d++){b+=(c[d].data[e]||0)}return b},filter:function(d,c,e,a){var b=this.createFilterFn(d,c,e,a);return b?this.filterBy(b):this.clearFilter()},filterBy:function(b,a){this.snapshot=this.snapshot||this.data;this.data=this.queryBy(b,a||this);this.fireEvent(&quot;datachanged&quot;,this)},query:function(d,c,e,a){var b=this.createFilterFn(d,c,e,a);return b?this.queryBy(b):this.data.clone()},queryBy:function(b,a){var c=this.snapshot||this.data;return c.filterBy(b,a||this)},find:function(d,c,g,e,a){var b=this.createFilterFn(d,c,e,a);return b?this.data.findIndexBy(b,null,g):-1},findExact:function(b,a,c){return this.data.findIndexBy(function(d){return d.get(b)===a},this,c)},findBy:function(b,a,c){return this.data.findIndexBy(b,a,c)},collect:function(j,k,b){var h=(b===true&amp;&amp;this.snapshot)?this.snapshot.items:this.data.items;var m,n,a=[],c={};for(var e=0,g=h.length;e&lt;g;e++){m=h[e].data[j];n=String(m);if((k||!Ext.isEmpty(m))&amp;&amp;!c[n]){c[n]=true;a[a.length]=m}}return a},clearFilter:function(a){if(this.isFiltered()){this.data=this.snapshot;delete this.snapshot;if(a!==true){this.fireEvent(&quot;datachanged&quot;,this)}}},isFiltered:function(){return this.snapshot&amp;&amp;this.snapshot!=this.data},afterEdit:function(a){if(this.modified.indexOf(a)==-1){this.modified.push(a)}this.fireEvent(&quot;update&quot;,this,a,Ext.data.Record.EDIT)},afterReject:function(a){this.modified.remove(a);this.fireEvent(&quot;update&quot;,this,a,Ext.data.Record.REJECT)},afterCommit:function(a){this.modified.remove(a);this.fireEvent(&quot;update&quot;,this,a,Ext.data.Record.COMMIT)},commitChanges:function(){var b=this.modified.slice(0);this.modified=[];for(var c=0,a=b.length;c&lt;a;c++){b[c].commit()}},rejectChanges:function(){var b=this.modified.slice(0);this.modified=[];for(var c=0,a=b.length;c&lt;a;c++){b[c].reject()}var b=this.removed.slice(0).reverse();this.removed=[];for(var c=0,a=b.length;c&lt;a;c++){this.insert(b[c].lastIndex||0,b[c]);b[c].reject()}},onMetaChange:function(a){this.recordType=this.reader.recordType;this.fields=this.recordType.prototype.fields;delete this.snapshot;if(this.reader.meta.sortInfo){this.sortInfo=this.reader.meta.sortInfo}else{if(this.sortInfo&amp;&amp;!this.fields.get(this.sortInfo.field)){delete this.sortInfo}}this.writer.meta=this.reader.meta;this.modified=[];this.fireEvent(&quot;metachange&quot;,this,this.reader.meta)},findInsertIndex:function(a){this.suspendEvents();var c=this.data.clone();this.data.add(a);this.applySort();var b=this.data.indexOf(a);this.data=c;this.resumeEvents();return b},setBaseParam:function(a,b){this.baseParams=this.baseParams||{};this.baseParams[a]=b}});Ext.reg(&quot;store&quot;,Ext.data.Store);Ext.data.Store.Error=Ext.extend(Ext.Error,{name:&quot;Ext.data.Store&quot;});Ext.apply(Ext.data.Store.Error.prototype,{lang:{&quot;writer-undefined&quot;:&quot;Attempted to execute a write-action without a DataWriter installed.&quot;}});Ext.data.DirectStore=function(a){a.batchTransactions=false;Ext.data.DirectStore.superclass.constructor.call(this,Ext.apply(a,{proxy:(typeof(a.proxy)==&quot;undefined&quot;)?new Ext.data.DirectProxy(Ext.copyTo({},a,&quot;paramOrder,paramsAsHash,directFn,api&quot;)):a.proxy,reader:(typeof(a.reader)==&quot;undefined&quot;&amp;&amp;typeof(a.fields)==&quot;object&quot;)?new Ext.data.JsonReader(Ext.copyTo({},a,&quot;totalProperty,root,idProperty&quot;),a.fields):a.reader}))};Ext.extend(Ext.data.DirectStore,Ext.data.Store,{});Ext.reg(&quot;directstore&quot;,Ext.data.DirectStore);Ext.data.JsonStore=Ext.extend(Ext.data.Store,{constructor:function(a){Ext.data.JsonStore.superclass.constructor.call(this,Ext.apply(a,{reader:new Ext.data.JsonReader(a)}))}});Ext.reg(&quot;jsonstore&quot;,Ext.data.JsonStore);Ext.data.XmlStore=Ext.extend(Ext.data.Store,{constructor:function(a){Ext.data.XmlStore.superclass.constructor.call(this,Ext.apply(a,{reader:new Ext.data.XmlReader(a)}))}});Ext.reg(&quot;xmlstore&quot;,Ext.data.XmlStore);Ext.data.ArrayStore=Ext.extend(Ext.data.Store,{constructor:function(a){Ext.data.ArrayStore.superclass.constructor.call(this,Ext.apply(a,{reader:new Ext.data.ArrayReader(a)}))},loadData:function(e,b){if(this.expandData===true){var d=[];for(var c=0,a=e.length;c&lt;a;c++){d[d.length]=[e[c]]}e=d}Ext.data.ArrayStore.superclass.loadData.call(this,e,b)}});Ext.reg(&quot;arraystore&quot;,Ext.data.ArrayStore);Ext.data.SimpleStore=Ext.data.ArrayStore;Ext.reg(&quot;simplestore&quot;,Ext.data.SimpleStore);Ext.data.Field=function(d){if(typeof d==&quot;string&quot;){d={name:d}}Ext.apply(this,d);if(!this.type){this.type=&quot;auto&quot;}var c=Ext.data.SortTypes;if(typeof this.sortType==&quot;string&quot;){this.sortType=c[this.sortType]}if(!this.sortType){switch(this.type){case&quot;string&quot;:this.sortType=c.asUCString;break;case&quot;date&quot;:this.sortType=c.asDate;break;default:this.sortType=c.none}}var e=/[\$,%]/g;if(!this.convert){var b,a=this.dateFormat;switch(this.type){case&quot;&quot;:case&quot;auto&quot;:case undefined:b=function(g){return g};break;case&quot;string&quot;:b=function(g){return(g===undefined||g===null)?&quot;&quot;:String(g)};break;case&quot;int&quot;:b=function(g){return g!==undefined&amp;&amp;g!==null&amp;&amp;g!==&quot;&quot;?parseInt(String(g).replace(e,&quot;&quot;),10):&quot;&quot;};break;case&quot;float&quot;:b=function(g){return g!==undefined&amp;&amp;g!==null&amp;&amp;g!==&quot;&quot;?parseFloat(String(g).replace(e,&quot;&quot;),10):&quot;&quot;};break;case&quot;bool&quot;:case&quot;boolean&quot;:b=function(g){return g===true||g===&quot;true&quot;||g==1};break;case&quot;date&quot;:b=function(h){if(!h){return&quot;&quot;}if(Ext.isDate(h)){return h}if(a){if(a==&quot;timestamp&quot;){return new Date(h*1000)}if(a==&quot;time&quot;){return new Date(parseInt(h,10))}return Date.parseDate(h,a)}var g=Date.parse(h);return g?new Date(g):null};break}this.convert=b}};Ext.data.Field.prototype={dateFormat:null,defaultValue:&quot;&quot;,mapping:null,sortType:null,sortDir:&quot;ASC&quot;,allowBlank:true};Ext.data.DataReader=function(a,b){this.meta=a;this.recordType=Ext.isArray(b)?Ext.data.Record.create(b):b;this.buildExtractors()};Ext.data.DataReader.prototype={buildExtractors:Ext.emptyFn,realize:function(b,d){if(Ext.isArray(b)){for(var c=b.length-1;c&gt;=0;c--){if(Ext.isArray(d)){this.realize(b.splice(c,1).shift(),d.splice(c,1).shift())}else{this.realize(b.splice(c,1).shift(),d)}}}else{if(Ext.isArray(d)&amp;&amp;d.length==1){d=d.shift()}if(!this.isData(d)){throw new Ext.data.DataReader.Error(&quot;realize&quot;,b)}var a=this.extractValues(d,b.fields.items,b.fields.items.length);b.phantom=false;b._phid=b.id;b.id=this.getId(d);b.data=a;b.commit()}},update:function(a,c){if(Ext.isArray(a)){for(var b=a.length-1;b&gt;=0;b--){if(Ext.isArray(c)){this.update(a.splice(b,1).shift(),c.splice(b,1).shift())}else{this.update(a.splice(b,1).shift(),c)}}}else{if(Ext.isArray(c)&amp;&amp;c.length==1){c=c.shift()}if(this.isData(c)){a.data=this.extractValues(Ext.apply(a.data,c),a.fields.items,a.fields.items.length)}a.commit()}},isData:function(a){return(a&amp;&amp;Ext.isObject(a)&amp;&amp;!Ext.isEmpty(this.getId(a)))?true:false}};Ext.data.DataReader.Error=Ext.extend(Ext.Error,{constructor:function(b,a){this.arg=a;Ext.Error.call(this,b)},name:&quot;Ext.data.DataReader&quot;});Ext.apply(Ext.data.DataReader.Error.prototype,{lang:{update:&quot;#update received invalid data from server.  Please see docs for DataReader#update and review your DataReader configuration.&quot;,realize:&quot;#realize was called with invalid remote-data.  Please see the docs for DataReader#realize and review your DataReader configuration.&quot;,&quot;invalid-response&quot;:&quot;#readResponse received an invalid response from the server.&quot;}});Ext.data.DataWriter=function(a){Ext.apply(this,a)};Ext.data.DataWriter.prototype={writeAllFields:false,listful:false,write:function(b,c,a){this.render(b,a,c,this[b](a))},render:Ext.emptyFn,update:function(a){var c={};if(Ext.isArray(a)){var b=[];
+Ext.each(a,function(d){b.push(this.updateRecord(d))},this);c[this.meta.root]=b}else{if(a instanceof Ext.data.Record){c[this.meta.root]=this.updateRecord(a)}}return c},updateRecord:Ext.emptyFn,create:function(a){var c={};if(Ext.isArray(a)){var b=[];Ext.each(a,function(d){b.push(this.createRecord(d))},this);c[this.meta.root]=b}else{if(a instanceof Ext.data.Record){c[this.meta.root]=this.createRecord(a)}}return c},createRecord:Ext.emptyFn,destroy:function(a){var d={};if(Ext.isArray(a)){var c=[],b=[];Ext.each(a,function(e){c.push(this.destroyRecord(e))},this);d[this.meta.root]=c}else{if(a instanceof Ext.data.Record){d[this.meta.root]=this.destroyRecord(a)}}return d},destroyRecord:Ext.emptyFn,toHash:function(e){var d=e.fields.map,c={},b=(this.writeAllFields===false&amp;&amp;e.phantom===false)?e.getChanges():e.data,a;Ext.iterate(b,function(h,g){if((a=d[h])){c[a.mapping?a.mapping:a.name]=g}});c[this.meta.idProperty]=e.id;return c}};Ext.data.JsonWriter=function(a){Ext.data.JsonWriter.superclass.constructor.call(this,a);if(this.returnJson!=undefined){this.encode=this.returnJson}};Ext.extend(Ext.data.JsonWriter,Ext.data.DataWriter,{returnJson:undefined,encode:true,render:function(c,a,d,b){Ext.apply(d,b);if(this.encode===true){d[this.meta.root]=Ext.encode(d[this.meta.root])}},createRecord:function(b){var a=this.toHash(b);delete a[this.meta.idProperty];return a},updateRecord:function(a){return this.toHash(a)},destroyRecord:function(a){return a.id}});Ext.data.DataProxy=function(a){a=a||{};this.api=a.api;this.url=a.url;this.restful=a.restful;this.listeners=a.listeners;this.prettyUrls=a.prettyUrls;try{Ext.data.Api.prepare(this)}catch(b){if(b instanceof Ext.data.Api.Error){b.toConsole()}}this.addEvents(&quot;exception&quot;,&quot;beforeload&quot;,&quot;load&quot;,&quot;loadexception&quot;,&quot;beforewrite&quot;,&quot;write&quot;);Ext.data.DataProxy.superclass.constructor.call(this)};Ext.extend(Ext.data.DataProxy,Ext.util.Observable,{restful:false,setApi:function(){if(arguments.length==1){var a=Ext.data.Api.isValid(arguments[0]);if(a===true){this.api=arguments[0]}else{throw new Ext.data.Api.Error(&quot;invalid&quot;,a)}}else{if(arguments.length==2){if(!Ext.data.Api.isAction(arguments[0])){throw new Ext.data.Api.Error(&quot;invalid&quot;,arguments[0])}this.api[arguments[0]]=arguments[1]}}Ext.data.Api.prepare(this)},isApiAction:function(a){return(this.api[a])?true:false},request:function(e,b,g,a,h,d,c){if(!this.api[e]&amp;&amp;!this.load){throw new Ext.data.DataProxy.Error(&quot;action-undefined&quot;,e)}g=g||{};if((e===Ext.data.Api.actions.read)?this.fireEvent(&quot;beforeload&quot;,this,g):this.fireEvent(&quot;beforewrite&quot;,this,e,b,g)!==false){this.doRequest.apply(this,arguments)}else{h.call(d||this,null,c,false)}},load:null,doRequest:function(e,b,g,a,h,d,c){this.load(g,a,h,d,c)},buildUrl:function(d,b){b=b||null;var c=(this.api[d])?this.api[d].url:this.url;if(!c){throw new Ext.data.Api.Error(&quot;invalid-url&quot;,d)}var e=null;var a=c.match(/(.*)(\.\w+)$/);if(a){e=a[2];c=a[1]}if((this.prettyUrls===true||this.restful===true)&amp;&amp;b instanceof Ext.data.Record&amp;&amp;!b.phantom){c+=&quot;/&quot;+b.id}if(e){c+=e}return c},destroy:function(){this.purgeListeners()}});Ext.data.DataProxy.Error=Ext.extend(Ext.Error,{constructor:function(b,a){this.arg=a;Ext.Error.call(this,b)},name:&quot;Ext.data.DataProxy&quot;});Ext.apply(Ext.data.DataProxy.Error.prototype,{lang:{&quot;action-undefined&quot;:&quot;DataProxy attempted to execute an API-action but found an undefined url / function.  Please review your Proxy url/api-configuration.&quot;,&quot;api-invalid&quot;:&quot;Recieved an invalid API-configuration.  Please ensure your proxy API-configuration contains only the actions from Ext.data.Api.actions.&quot;}});Ext.data.MemoryProxy=function(b){var a={};a[Ext.data.Api.actions.read]=true;Ext.data.MemoryProxy.superclass.constructor.call(this,{api:a});this.data=b};Ext.extend(Ext.data.MemoryProxy,Ext.data.DataProxy,{doRequest:function(b,c,a,d,h,i,j){a=a||{};var k;try{k=d.readRecords(this.data)}catch(g){this.fireEvent(&quot;loadexception&quot;,this,null,j,g);this.fireEvent(&quot;exception&quot;,this,&quot;response&quot;,b,j,null,g);h.call(i,null,j,false);return}h.call(i,k,j,true)}});Ext.data.HttpProxy=function(a){Ext.data.HttpProxy.superclass.constructor.call(this,a);this.conn=a;this.conn.url=null;this.useAjax=!a||!a.events;var c=Ext.data.Api.actions;this.activeRequest={};for(var b in c){this.activeRequest[c[b]]=undefined}};Ext.extend(Ext.data.HttpProxy,Ext.data.DataProxy,{getConnection:function(){return this.useAjax?Ext.Ajax:this.conn},setUrl:function(a,b){this.conn.url=a;if(b===true){this.url=a;Ext.data.Api.prepare(this)}},doRequest:function(g,d,i,c,b,e,a){var h={method:(this.api[g])?this.api[g][&quot;method&quot;]:undefined,request:{callback:b,scope:e,arg:a},reader:c,callback:this.createCallback(g,d),scope:this};if(typeof(i[c.meta.root])===&quot;object&quot;){h.jsonData=i}else{h.params=i||{}}if(this.conn.url===null){this.conn.url=this.buildUrl(g,d)}else{if(this.restful===true&amp;&amp;d instanceof Ext.data.Record&amp;&amp;!d.phantom){this.conn.url+=&quot;/&quot;+d.id}}if(this.useAjax){Ext.applyIf(h,this.conn);if(this.activeRequest[g]){}this.activeRequest[g]=Ext.Ajax.request(h)}else{this.conn.request(h)}this.conn.url=null},createCallback:function(b,a){return function(e,d,c){this.activeRequest[b]=undefined;if(!d){if(b===Ext.data.Api.actions.read){this.fireEvent(&quot;loadexception&quot;,this,e,c)}this.fireEvent(&quot;exception&quot;,this,&quot;response&quot;,b,e,c);e.request.callback.call(e.request.scope,null,e.request.arg,false);return}if(b===Ext.data.Api.actions.read){this.onRead(b,e,c)}else{this.onWrite(b,e,c,a)}}},onRead:function(d,h,b){var a;try{a=h.reader.read(b)}catch(g){this.fireEvent(&quot;loadexception&quot;,this,h,b,g);this.fireEvent(&quot;exception&quot;,this,&quot;response&quot;,d,h,b,g);h.request.callback.call(h.request.scope,null,h.request.arg,false);return}if(a.success===false){this.fireEvent(&quot;loadexception&quot;,this,h,b);var c=h.reader.readResponse(d,b);this.fireEvent(&quot;exception&quot;,this,&quot;remote&quot;,d,h,c,null)}else{this.fireEvent(&quot;load&quot;,this,h,h.request.arg)}h.request.callback.call(h.request.scope,a,h.request.arg,a.success)},onWrite:function(g,i,c,b){var a=i.reader;var d;try{d=a.readResponse(g,c)}catch(h){this.fireEvent(&quot;exception&quot;,this,&quot;response&quot;,g,i,c,h);i.request.callback.call(i.request.scope,null,i.request.arg,false);return}if(a.getSuccess(d)===false){this.fireEvent(&quot;exception&quot;,this,&quot;remote&quot;,g,i,d,b)}else{this.fireEvent(&quot;write&quot;,this,g,a.getRoot(d),d,b,i.request.arg)}i.request.callback.call(i.request.scope,a.getRoot(d),d,a.getSuccess(d))},destroy:function(){if(!this.useAjax){this.conn.abort()}else{if(this.activeRequest){var b=Ext.data.Api.actions;for(var a in b){if(this.activeRequest[b[a]]){Ext.Ajax.abort(this.activeRequest[b[a]])}}}}Ext.data.HttpProxy.superclass.destroy.call(this)}});Ext.data.ScriptTagProxy=function(a){Ext.apply(this,a);Ext.data.ScriptTagProxy.superclass.constructor.call(this,a);this.head=document.getElementsByTagName(&quot;head&quot;)[0]};Ext.data.ScriptTagProxy.TRANS_ID=1000;Ext.extend(Ext.data.ScriptTagProxy,Ext.data.DataProxy,{timeout:30000,callbackParam:&quot;callback&quot;,nocache:true,doRequest:function(e,g,d,h,j,k,l){var c=Ext.urlEncode(Ext.apply(d,this.extraParams));var b=this.buildUrl(e,g);if(!b){throw new Ext.data.Api.Error(&quot;invalid-url&quot;,b)}b=Ext.urlAppend(b,c);if(this.nocache){b=Ext.urlAppend(b,&quot;_dc=&quot;+(new Date().getTime()))}var a=++Ext.data.ScriptTagProxy.TRANS_ID;var m={id:a,action:e,cb:&quot;stcCallback&quot;+a,scriptId:&quot;stcScript&quot;+a,params:d,arg:l,url:b,callback:j,scope:k,reader:h};window[m.cb]=this.createCallback(e,g,m);b+=String.format(&quot;&amp;{0}={1}&quot;,this.callbackParam,m.cb);if(this.autoAbort!==false){this.abort()}m.timeoutId=this.handleFailure.defer(this.timeout,this,[m]);var i=document.createElement(&quot;script&quot;);i.setAttribute(&quot;src&quot;,b);i.setAttribute(&quot;type&quot;,&quot;text/javascript&quot;);i.setAttribute(&quot;id&quot;,m.scriptId);this.head.appendChild(i);this.trans=m},createCallback:function(d,b,c){var a=this;return function(e){a.trans=false;a.destroyTrans(c,true);if(d===Ext.data.Api.actions.read){a.onRead.call(a,d,c,e)}else{a.onWrite.call(a,d,c,e,b)}}},onRead:function(d,c,b){var a;try{a=c.reader.readRecords(b)}catch(g){this.fireEvent(&quot;loadexception&quot;,this,c,b,g);this.fireEvent(&quot;exception&quot;,this,&quot;response&quot;,d,c,b,g);c.callback.call(c.scope||window,null,c.arg,false);
+return}if(a.success===false){this.fireEvent(&quot;loadexception&quot;,this,c,b);this.fireEvent(&quot;exception&quot;,this,&quot;remote&quot;,d,c,b,null)}else{this.fireEvent(&quot;load&quot;,this,b,c.arg)}c.callback.call(c.scope||window,a,c.arg,a.success)},onWrite:function(g,d,c,b){var a=d.reader;try{a.readResponse(g,c)}catch(h){this.fireEvent(&quot;exception&quot;,this,&quot;response&quot;,g,d,c,h);d.callback.call(d.scope||window,null,c,false);return}if(!a.getSuccess(c)===true){this.fireEvent(&quot;exception&quot;,this,&quot;remote&quot;,g,d,c,b);d.callback.call(d.scope||window,null,c,false);return}this.fireEvent(&quot;write&quot;,this,g,a.getRoot(c),c,b,d.arg);d.callback.call(d.scope||window,a.getRoot(c),c,true)},isLoading:function(){return this.trans?true:false},abort:function(){if(this.isLoading()){this.destroyTrans(this.trans)}},destroyTrans:function(b,a){this.head.removeChild(document.getElementById(b.scriptId));clearTimeout(b.timeoutId);if(a){window[b.cb]=undefined;try{delete window[b.cb]}catch(c){}}else{window[b.cb]=function(){window[b.cb]=undefined;try{delete window[b.cb]}catch(d){}}}},handleFailure:function(a){this.trans=false;this.destroyTrans(a,false);if(a.action===Ext.data.Api.actions.read){this.fireEvent(&quot;loadexception&quot;,this,null,a.arg)}this.fireEvent(&quot;exception&quot;,this,&quot;response&quot;,a.action,{response:null,options:a.arg});a.callback.call(a.scope||window,null,a.arg,false)},destroy:function(){this.abort();Ext.data.ScriptTagProxy.superclass.destroy.call(this)}});Ext.data.DirectProxy=function(a){Ext.apply(this,a);if(typeof this.paramOrder==&quot;string&quot;){this.paramOrder=this.paramOrder.split(/[\s,|]/)}Ext.data.DirectProxy.superclass.constructor.call(this,a)};Ext.extend(Ext.data.DirectProxy,Ext.data.DataProxy,{paramOrder:undefined,paramsAsHash:true,directFn:undefined,doRequest:function(b,c,a,e,k,l,n){var j=[];var h=this.api[b]||this.directFn;switch(b){case Ext.data.Api.actions.create:j.push(a[e.meta.root]);break;case Ext.data.Api.actions.read:if(this.paramOrder){for(var d=0,g=this.paramOrder.length;d&lt;g;d++){j.push(a[this.paramOrder[d]])}}else{if(this.paramsAsHash){j.push(a)}}break;case Ext.data.Api.actions.update:j.push(a[e.meta.root]);break;case Ext.data.Api.actions.destroy:j.push(a[e.meta.root]);break}var m={params:a||{},request:{callback:k,scope:l,arg:n},reader:e};j.push(this.createCallback(b,c,m),this);h.apply(window,j)},createCallback:function(c,a,b){return function(d,e){if(!e.status){if(c===Ext.data.Api.actions.read){this.fireEvent(&quot;loadexception&quot;,this,b,e,null)}this.fireEvent(&quot;exception&quot;,this,&quot;remote&quot;,c,b,e,null);b.request.callback.call(b.request.scope,null,b.request.arg,false);return}if(c===Ext.data.Api.actions.read){this.onRead(c,b,d,e)}else{this.onWrite(c,b,d,e,a)}}},onRead:function(g,e,a,d){var b;try{b=e.reader.readRecords(a)}catch(c){this.fireEvent(&quot;loadexception&quot;,this,e,d,c);this.fireEvent(&quot;exception&quot;,this,&quot;response&quot;,g,e,d,c);e.request.callback.call(e.request.scope,null,e.request.arg,false);return}this.fireEvent(&quot;load&quot;,this,d,e.request.arg);e.request.callback.call(e.request.scope,b,e.request.arg,true)},onWrite:function(e,d,a,c,b){this.fireEvent(&quot;write&quot;,this,e,a,c,b,d.request.arg);d.request.callback.call(d.request.scope,a,c,true)}});Ext.data.JsonReader=function(a,b){a=a||{};Ext.applyIf(a,{idProperty:&quot;id&quot;,successProperty:&quot;success&quot;,totalProperty:&quot;total&quot;});Ext.data.JsonReader.superclass.constructor.call(this,a,b||a.fields)};Ext.extend(Ext.data.JsonReader,Ext.data.DataReader,{read:function(a){var b=a.responseText;var c=Ext.decode(b);if(!c){throw {message:&quot;JsonReader.read: Json object not found&quot;}}return this.readRecords(c)},onMetaChange:function(a){delete this.ef;this.meta=a;this.recordType=Ext.data.Record.create(a.fields);this.buildExtractors()},simpleAccess:function(b,a){return b[a]},getJsonAccessor:function(){var a=/[\[\.]/;return function(c){try{return(a.test(c))?new Function(&quot;obj&quot;,&quot;return obj.&quot;+c):function(d){return d[c]}}catch(b){}return Ext.emptyFn}}(),readRecords:function(a){this.jsonData=a;if(a.metaData){this.onMetaChange(a.metaData)}var u=this.meta,m=this.recordType,h=m.prototype.fields,t=h.items,p=h.length,q;var l=this.getRoot(a),k=l.length,j=k,r=true;if(u.totalProperty){q=parseInt(this.getTotal(a),10);if(!isNaN(q)){j=q}}if(u.successProperty){q=this.getSuccess(a);if(q===false||q===&quot;false&quot;){r=false}}var d=[];for(var e=0;e&lt;k;e++){var b=l[e];var g=new m(this.extractValues(b,t,p),this.getId(b));g.json=b;d[e]=g}return{success:r,records:d,totalRecords:j}},buildExtractors:function(){if(this.ef){return}var l=this.meta,h=this.recordType,e=h.prototype.fields,k=e.items,j=e.length;if(l.totalProperty){this.getTotal=this.getJsonAccessor(l.totalProperty)}if(l.successProperty){this.getSuccess=this.getJsonAccessor(l.successProperty)}this.getRoot=l.root?this.getJsonAccessor(l.root):function(g){return g};if(l.id||l.idProperty){var d=this.getJsonAccessor(l.id||l.idProperty);this.getId=function(i){var g=d(i);return(g===undefined||g===&quot;&quot;)?null:g}}else{this.getId=function(){return null}}var c=[];for(var b=0;b&lt;j;b++){e=k[b];var a=(e.mapping!==undefined&amp;&amp;e.mapping!==null)?e.mapping:e.name;c.push(this.getJsonAccessor(a))}this.ef=c},extractValues:function(h,d,a){var g,c={};for(var e=0;e&lt;a;e++){g=d[e];var b=this.ef[e](h);c[g.name]=g.convert((b!==undefined)?b:g.defaultValue,h)}return c},readResponse:function(c,b){var d=(b.responseText!==undefined)?Ext.decode(b.responseText):b;if(!d){throw new Ext.data.JsonReader.Error(&quot;response&quot;)}if(Ext.isEmpty(this.getSuccess(d))){throw new Ext.data.JsonReader.Error(&quot;successProperty-response&quot;,this.meta.successProperty)}if(c===Ext.data.Api.actions.create){var a=this.getRoot(d);if(Ext.isEmpty(a)){throw new Ext.data.JsonReader.Error(&quot;root-empty&quot;,this.meta.root)}else{if(a===undefined){throw new Ext.data.JsonReader.Error(&quot;root-undefined-response&quot;,this.meta.root)}}}return d}});Ext.data.JsonReader.Error=Ext.extend(Ext.Error,{constructor:function(b,a){this.arg=a;Ext.Error.call(this,b)},name:&quot;Ext.data.JsonReader&quot;});Ext.apply(Ext.data.JsonReader.Error.prototype,{lang:{response:&quot;An error occurred while json-decoding your server response&quot;,&quot;successProperty-response&quot;:'Could not locate your &quot;successProperty&quot; in your server response.  Please review your JsonReader config to ensure the config-property &quot;successProperty&quot; matches the property in your server-response.  See the JsonReader docs.',&quot;root-undefined-response&quot;:'Could not locate your &quot;root&quot; property in your server response.  Please review your JsonReader config to ensure the config-property &quot;root&quot; matches the property your server-response.  See the JsonReader docs.',&quot;root-undefined-config&quot;:'Your JsonReader was configured without a &quot;root&quot; property.  Please review your JsonReader config and make sure to define the root property.  See the JsonReader docs.',&quot;idProperty-undefined&quot;:'Your JsonReader was configured without an &quot;idProperty&quot;  Please review your JsonReader configuration and ensure the &quot;idProperty&quot; is set (e.g.: &quot;id&quot;).  See the JsonReader docs.',&quot;root-empty&quot;:'Data was expected to be returned by the server in the &quot;root&quot; property of the response.  Please review your JsonReader configuration to ensure the &quot;root&quot; property matches that returned in the server-response.  See JsonReader docs.'}});Ext.data.XmlReader=function(a,b){a=a||{};Ext.data.XmlReader.superclass.constructor.call(this,a,b||a.fields)};Ext.extend(Ext.data.XmlReader,Ext.data.DataReader,{read:function(a){var b=a.responseXML;if(!b){throw {message:&quot;XmlReader.read: XML Document not available&quot;}}return this.readRecords(b)},readRecords:function(z){this.xmlData=z;var s=z.documentElement||z;var l=Ext.DomQuery;var b=this.recordType,p=b.prototype.fields;var d=this.meta.idPath||this.meta.id;var h=0,e=true;if(this.meta.totalRecords){h=l.selectNumber(this.meta.totalRecords,s,0)}if(this.meta.success){var o=l.selectValue(this.meta.success,s,true);e=o!==false&amp;&amp;o!==&quot;false&quot;}var w=[];var A=l.select(this.meta.record,s);for(var u=0,x=A.length;u&lt;x;u++){var r=A[u];var a={};var m=d?l.selectValue(d,r):undefined;for(var t=0,k=p.length;t&lt;k;t++){var y=p.items[t];var g=l.selectValue(Ext.value(y.mapping,y.name,true),r,y.defaultValue);g=y.convert(g,r);
+a[y.name]=g}var c=new b(a,m);c.node=r;w[w.length]=c}return{success:e,records:w,totalRecords:h||w.length}},readResponse:Ext.emptyFn});Ext.data.ArrayReader=Ext.extend(Ext.data.JsonReader,{readRecords:function(q){this.arrayData=q;var h=this.meta,d=h?Ext.num(h.idIndex,h.id):null,b=this.recordType,p=b.prototype.fields,y=[],e;if(!this.getRoot){this.getRoot=h.root?this.getJsonAccessor(h.root):function(i){return i};if(h.totalProperty){this.getTotal=this.getJsonAccessor(h.totalProperty)}}var t=this.getRoot(q);for(var x=0;x&lt;t.length;x++){var r=t[x];var a={};var m=((d||d===0)&amp;&amp;r[d]!==undefined&amp;&amp;r[d]!==&quot;&quot;?r[d]:null);for(var w=0,l=p.length;w&lt;l;w++){var z=p.items[w];var u=z.mapping!==undefined&amp;&amp;z.mapping!==null?z.mapping:w;e=r[u]!==undefined?r[u]:z.defaultValue;e=z.convert(e,r);a[z.name]=e}var c=new b(a,m);c.json=r;y[y.length]=c}var g=y.length;if(h.totalProperty){e=parseInt(this.getTotal(q),10);if(!isNaN(e)){g=e}}return{records:y,totalRecords:g}}});Ext.Direct=Ext.extend(Ext.util.Observable,{exceptions:{TRANSPORT:&quot;xhr&quot;,PARSE:&quot;parse&quot;,LOGIN:&quot;login&quot;,SERVER:&quot;exception&quot;},constructor:function(){this.addEvents(&quot;event&quot;,&quot;exception&quot;);this.transactions={};this.providers={}},addProvider:function(e){var c=arguments;if(c.length&gt;1){for(var d=0,b=c.length;d&lt;b;d++){this.addProvider(c[d])}return}if(!e.events){e=new Ext.Direct.PROVIDERS[e.type](e)}e.id=e.id||Ext.id();this.providers[e.id]=e;e.on(&quot;data&quot;,this.onProviderData,this);e.on(&quot;exception&quot;,this.onProviderException,this);if(!e.isConnected()){e.connect()}return e},getProvider:function(a){return this.providers[a]},removeProvider:function(b){var a=b.id?b:this.providers[b.id];a.un(&quot;data&quot;,this.onProviderData,this);a.un(&quot;exception&quot;,this.onProviderException,this);delete this.providers[a.id];return a},addTransaction:function(a){this.transactions[a.tid]=a;return a},removeTransaction:function(a){delete this.transactions[a.tid||a];return a},getTransaction:function(a){return this.transactions[a.tid||a]},onProviderData:function(d,c){if(Ext.isArray(c)){for(var b=0,a=c.length;b&lt;a;b++){this.onProviderData(d,c[b])}return}if(c.name&amp;&amp;c.name!=&quot;event&quot;&amp;&amp;c.name!=&quot;exception&quot;){this.fireEvent(c.name,c)}else{if(c.type==&quot;exception&quot;){this.fireEvent(&quot;exception&quot;,c)}}this.fireEvent(&quot;event&quot;,c,d)},createEvent:function(a,b){return new Ext.Direct.eventTypes[a.type](Ext.apply(a,b))}});Ext.Direct=new Ext.Direct();Ext.Direct.TID=1;Ext.Direct.PROVIDERS={};Ext.Direct.Transaction=function(a){Ext.apply(this,a);this.tid=++Ext.Direct.TID;this.retryCount=0};Ext.Direct.Transaction.prototype={send:function(){this.provider.queueTransaction(this)},retry:function(){this.retryCount++;this.send()},getProvider:function(){return this.provider}};Ext.Direct.Event=function(a){Ext.apply(this,a)};Ext.Direct.Event.prototype={status:true,getData:function(){return this.data}};Ext.Direct.RemotingEvent=Ext.extend(Ext.Direct.Event,{type:&quot;rpc&quot;,getTransaction:function(){return this.transaction||Ext.Direct.getTransaction(this.tid)}});Ext.Direct.ExceptionEvent=Ext.extend(Ext.Direct.RemotingEvent,{status:false,type:&quot;exception&quot;});Ext.Direct.eventTypes={rpc:Ext.Direct.RemotingEvent,event:Ext.Direct.Event,exception:Ext.Direct.ExceptionEvent};Ext.direct.Provider=Ext.extend(Ext.util.Observable,{priority:1,constructor:function(a){Ext.apply(this,a);this.addEvents(&quot;connect&quot;,&quot;disconnect&quot;,&quot;data&quot;,&quot;exception&quot;);Ext.direct.Provider.superclass.constructor.call(this,a)},isConnected:function(){return false},connect:Ext.emptyFn,disconnect:Ext.emptyFn});Ext.direct.JsonProvider=Ext.extend(Ext.direct.Provider,{parseResponse:function(a){if(!Ext.isEmpty(a.responseText)){if(typeof a.responseText==&quot;object&quot;){return a.responseText}return Ext.decode(a.responseText)}return null},getEvents:function(j){var g=null;try{g=this.parseResponse(j)}catch(h){var d=new Ext.Direct.ExceptionEvent({data:h,xhr:j,code:Ext.Direct.exceptions.PARSE,message:&quot;Error parsing json response: \n\n &quot;+g});return[d]}var c=[];if(Ext.isArray(g)){for(var b=0,a=g.length;b&lt;a;b++){c.push(Ext.Direct.createEvent(g[b]))}}else{c.push(Ext.Direct.createEvent(g))}return c}});Ext.direct.PollingProvider=Ext.extend(Ext.direct.JsonProvider,{priority:3,interval:3000,constructor:function(a){Ext.direct.PollingProvider.superclass.constructor.call(this,a);this.addEvents(&quot;beforepoll&quot;,&quot;poll&quot;)},isConnected:function(){return !!this.pollTask},connect:function(){if(this.url&amp;&amp;!this.pollTask){this.pollTask=Ext.TaskMgr.start({run:function(){if(this.fireEvent(&quot;beforepoll&quot;,this)!==false){if(typeof this.url==&quot;function&quot;){this.url(this.baseParams)}else{Ext.Ajax.request({url:this.url,callback:this.onData,scope:this,params:this.baseParams})}}},interval:this.interval,scope:this});this.fireEvent(&quot;connect&quot;,this)}else{if(!this.url){throw&quot;Error initializing PollingProvider, no url configured.&quot;}}},disconnect:function(){if(this.pollTask){Ext.TaskMgr.stop(this.pollTask);delete this.pollTask;this.fireEvent(&quot;disconnect&quot;,this)}},onData:function(d,j,h){if(j){var c=this.getEvents(h);for(var b=0,a=c.length;b&lt;a;b++){var g=c[b];this.fireEvent(&quot;data&quot;,this,g)}}else{var g=new Ext.Direct.ExceptionEvent({data:g,code:Ext.Direct.exceptions.TRANSPORT,message:&quot;Unable to connect to the server.&quot;,xhr:h});this.fireEvent(&quot;data&quot;,this,g)}}});Ext.Direct.PROVIDERS.polling=Ext.direct.PollingProvider;Ext.direct.RemotingProvider=Ext.extend(Ext.direct.JsonProvider,{enableBuffer:10,maxRetries:1,constructor:function(a){Ext.direct.RemotingProvider.superclass.constructor.call(this,a);this.addEvents(&quot;beforecall&quot;,&quot;call&quot;);this.namespace=(typeof this.namespace===&quot;string&quot;)?Ext.ns(this.namespace):this.namespace||window;this.transactions={};this.callBuffer=[]},initAPI:function(){var h=this.actions;for(var j in h){var d=this.namespace[j]||(this.namespace[j]={});var e=h[j];for(var g=0,b=e.length;g&lt;b;g++){var a=e[g];d[a.name]=this.createMethod(j,a)}}},isConnected:function(){return !!this.connected},connect:function(){if(this.url){this.initAPI();this.connected=true;this.fireEvent(&quot;connect&quot;,this)}else{if(!this.url){throw&quot;Error initializing RemotingProvider, no url configured.&quot;}}},disconnect:function(){if(this.connected){this.connected=false;this.fireEvent(&quot;disconnect&quot;,this)}},onData:function(a,h,j){if(h){var k=this.getEvents(j);for(var b=0,c=k.length;b&lt;c;b++){var d=k[b];var l=this.getTransaction(d);this.fireEvent(&quot;data&quot;,this,d);if(l){this.doCallback(l,d,true);Ext.Direct.removeTransaction(l)}}}else{var g=[].concat(a.ts);for(var b=0,c=g.length;b&lt;c;b++){var l=this.getTransaction(g[b]);if(l&amp;&amp;l.retryCount&lt;this.maxRetries){l.retry()}else{var d=new Ext.Direct.ExceptionEvent({data:d,transaction:l,code:Ext.Direct.exceptions.TRANSPORT,message:&quot;Unable to connect to the server.&quot;,xhr:j});this.fireEvent(&quot;data&quot;,this,d);if(l){this.doCallback(l,d,false);Ext.Direct.removeTransaction(l)}}}}},getCallData:function(a){return{action:a.action,method:a.method,data:a.data,type:&quot;rpc&quot;,tid:a.tid}},doSend:function(d){var g={url:this.url,callback:this.onData,scope:this,ts:d};var b;if(Ext.isArray(d)){b=[];for(var c=0,a=d.length;c&lt;a;c++){b.push(this.getCallData(d[c]))}}else{b=this.getCallData(d)}if(this.enableUrlEncode){var e={};e[typeof this.enableUrlEncode==&quot;string&quot;?this.enableUrlEncode:&quot;data&quot;]=Ext.encode(b);g.params=e}else{g.jsonData=b}Ext.Ajax.request(g)},combineAndSend:function(){var a=this.callBuffer.length;if(a&gt;0){this.doSend(a==1?this.callBuffer[0]:this.callBuffer);this.callBuffer=[]}},queueTransaction:function(a){if(a.form){this.processForm(a);return}this.callBuffer.push(a);if(this.enableBuffer){if(!this.callTask){this.callTask=new Ext.util.DelayedTask(this.combineAndSend,this)}this.callTask.delay(typeof this.enableBuffer==&quot;number&quot;?this.enableBuffer:10)}else{this.combineAndSend()}},doCall:function(i,a,b){var h=null,e=b[a.len],g=b[a.len+1];if(a.len!==0){h=b.slice(0,a.len)}var d=new Ext.Direct.Transaction({provider:this,args:b,action:i,method:a.name,data:h,cb:g&amp;&amp;Ext.isFunction(e)?e.createDelegate(g):e});if(this.fireEvent(&quot;beforecall&quot;,this,d)!==false){Ext.Direct.addTransaction(d);this.queueTransaction(d);this.fireEvent(&quot;call&quot;,this,d)}},doForm:function(j,b,g,i,e){var d=new Ext.Direct.Transaction({provider:this,action:j,method:b.name,args:[g,i,e],cb:e&amp;&amp;Ext.isFunction(i)?i.createDelegate(e):i,isForm:true});
+if(this.fireEvent(&quot;beforecall&quot;,this,d)!==false){Ext.Direct.addTransaction(d);var a=String(g.getAttribute(&quot;enctype&quot;)).toLowerCase()==&quot;multipart/form-data&quot;,h={extTID:d.tid,extAction:j,extMethod:b.name,extType:&quot;rpc&quot;,extUpload:String(a)};Ext.apply(d,{form:Ext.getDom(g),isUpload:a,params:i&amp;&amp;Ext.isObject(i.params)?Ext.apply(h,i.params):h});this.fireEvent(&quot;call&quot;,this,d);this.processForm(d)}},processForm:function(a){Ext.Ajax.request({url:this.url,params:a.params,callback:this.onData,scope:this,form:a.form,isUpload:a.isUpload,ts:a})},createMethod:function(d,a){var b;if(!a.formHandler){b=function(){this.doCall(d,a,Array.prototype.slice.call(arguments,0))}.createDelegate(this)}else{b=function(e,g,c){this.doForm(d,a,e,g,c)}.createDelegate(this)}b.directCfg={action:d,method:a};return b},getTransaction:function(a){return a&amp;&amp;a.tid?Ext.Direct.getTransaction(a.tid):null},doCallback:function(c,g){var d=g.status?&quot;success&quot;:&quot;failure&quot;;if(c&amp;&amp;c.cb){var b=c.cb;var a=g.result||g.data;if(Ext.isFunction(b)){b(a,g)}else{Ext.callback(b[d],b.scope,[a,g]);Ext.callback(b.callback,b.scope,[a,g])}}}});Ext.Direct.PROVIDERS.remoting=Ext.direct.RemotingProvider;Ext.data.Tree=function(a){this.nodeHash={};this.root=null;if(a){this.setRootNode(a)}this.addEvents(&quot;append&quot;,&quot;remove&quot;,&quot;move&quot;,&quot;insert&quot;,&quot;beforeappend&quot;,&quot;beforeremove&quot;,&quot;beforemove&quot;,&quot;beforeinsert&quot;);Ext.data.Tree.superclass.constructor.call(this)};Ext.extend(Ext.data.Tree,Ext.util.Observable,{pathSeparator:&quot;/&quot;,proxyNodeEvent:function(){return this.fireEvent.apply(this,arguments)},getRootNode:function(){return this.root},setRootNode:function(a){this.root=a;a.ownerTree=this;a.isRoot=true;this.registerNode(a);return a},getNodeById:function(a){return this.nodeHash[a]},registerNode:function(a){this.nodeHash[a.id]=a},unregisterNode:function(a){delete this.nodeHash[a.id]},toString:function(){return&quot;[Tree&quot;+(this.id?&quot; &quot;+this.id:&quot;&quot;)+&quot;]&quot;}});Ext.data.Node=function(a){this.attributes=a||{};this.leaf=this.attributes.leaf;this.id=this.attributes.id;if(!this.id){this.id=Ext.id(null,&quot;xnode-&quot;);this.attributes.id=this.id}this.childNodes=[];if(!this.childNodes.indexOf){this.childNodes.indexOf=function(d){for(var c=0,b=this.length;c&lt;b;c++){if(this[c]==d){return c}}return -1}}this.parentNode=null;this.firstChild=null;this.lastChild=null;this.previousSibling=null;this.nextSibling=null;this.addEvents({append:true,remove:true,move:true,insert:true,beforeappend:true,beforeremove:true,beforemove:true,beforeinsert:true});this.listeners=this.attributes.listeners;Ext.data.Node.superclass.constructor.call(this)};Ext.extend(Ext.data.Node,Ext.util.Observable,{fireEvent:function(b){if(Ext.data.Node.superclass.fireEvent.apply(this,arguments)===false){return false}var a=this.getOwnerTree();if(a){if(a.proxyNodeEvent.apply(a,arguments)===false){return false}}return true},isLeaf:function(){return this.leaf===true},setFirstChild:function(a){this.firstChild=a},setLastChild:function(a){this.lastChild=a},isLast:function(){return(!this.parentNode?true:this.parentNode.lastChild==this)},isFirst:function(){return(!this.parentNode?true:this.parentNode.firstChild==this)},hasChildNodes:function(){return !this.isLeaf()&amp;&amp;this.childNodes.length&gt;0},isExpandable:function(){return this.attributes.expandable||this.hasChildNodes()},appendChild:function(e){var g=false;if(Ext.isArray(e)){g=e}else{if(arguments.length&gt;1){g=arguments}}if(g){for(var d=0,a=g.length;d&lt;a;d++){this.appendChild(g[d])}}else{if(this.fireEvent(&quot;beforeappend&quot;,this.ownerTree,this,e)===false){return false}var b=this.childNodes.length;var c=e.parentNode;if(c){if(e.fireEvent(&quot;beforemove&quot;,e.getOwnerTree(),e,c,this,b)===false){return false}c.removeChild(e)}b=this.childNodes.length;if(b===0){this.setFirstChild(e)}this.childNodes.push(e);e.parentNode=this;var h=this.childNodes[b-1];if(h){e.previousSibling=h;h.nextSibling=e}else{e.previousSibling=null}e.nextSibling=null;this.setLastChild(e);e.setOwnerTree(this.getOwnerTree());this.fireEvent(&quot;append&quot;,this.ownerTree,this,e,b);if(c){e.fireEvent(&quot;move&quot;,this.ownerTree,e,c,this,b)}return e}},removeChild:function(b){var a=this.childNodes.indexOf(b);if(a==-1){return false}if(this.fireEvent(&quot;beforeremove&quot;,this.ownerTree,this,b)===false){return 