From 55b2e71943d70d607b5e2c55a3d954554a58fb9a Mon Sep 17 00:00:00 2001
From: Renaud Le Gac <renaud.legac@free.fr>
Date: Sat, 14 Mar 2009 14:16:22 +0000
Subject: [PATCH] Import the directory structute of an web2py application.

---
 ABOUT                                         |   2 +
 LICENSE                                       |   2 +
 __init__.py                                   |   0
 controllers/appadmin.py                       | 268 ++++++
 controllers/default.py                        |  13 +
 languages/it-it.py                            |  21 +
 languages/it.py                               |  21 +
 languages/pt-br.py                            |  21 +
 models/db.py                                  |  89 ++
 modules/__init__.py                           |   0
 static/calendar.css                           |   1 +
 static/calendar.js                            |  80 ++
 static/extjs/ext-all.js                       |   9 +
 static/extjs/ext-base.js                      |   9 +
 static/extjs/resources/css/README.txt         |   3 +
 static/extjs/resources/css/borders.css        |  61 ++
 static/extjs/resources/css/box.css            | 111 +++
 static/extjs/resources/css/button.css         | 161 ++++
 static/extjs/resources/css/combo.css          |  55 ++
 static/extjs/resources/css/core.css           | 317 +++++++
 static/extjs/resources/css/date-picker.css    | 247 ++++++
 static/extjs/resources/css/dd.css             |  75 ++
 static/extjs/resources/css/debug.css          |  37 +
 static/extjs/resources/css/dialog.css         |  69 ++
 static/extjs/resources/css/editor.css         |  66 ++
 static/extjs/resources/css/ext-all.css        |   9 +
 static/extjs/resources/css/form.css           | 559 ++++++++++++
 static/extjs/resources/css/grid.css           | 554 ++++++++++++
 static/extjs/resources/css/layout.css         | 273 ++++++
 static/extjs/resources/css/menu.css           | 146 ++++
 static/extjs/resources/css/panel.css          | 424 +++++++++
 static/extjs/resources/css/progress.css       |  43 +
 static/extjs/resources/css/qtips.css          | 134 +++
 static/extjs/resources/css/reset-min.css      |   9 +
 static/extjs/resources/css/reset.css          |   9 +
 static/extjs/resources/css/resizable.css      | 143 ++++
 static/extjs/resources/css/slider.css         |  90 ++
 static/extjs/resources/css/tabs.css           | 362 ++++++++
 static/extjs/resources/css/toolbar.css        | 183 ++++
 static/extjs/resources/css/tree.css           | 254 ++++++
 static/extjs/resources/css/window.css         | 208 +++++
 static/extjs/resources/css/xtheme-gray.css    | 416 +++++++++
 static/extjs/resources/css/xtheme-slate.css   | 804 ++++++++++++++++++
 .../images/default/box/corners-blue.gif       | Bin 0 -> 1010 bytes
 .../resources/images/default/box/corners.gif  | Bin 0 -> 1005 bytes
 .../resources/images/default/box/l-blue.gif   | Bin 0 -> 810 bytes
 .../extjs/resources/images/default/box/l.gif  | Bin 0 -> 810 bytes
 .../resources/images/default/box/r-blue.gif   | Bin 0 -> 810 bytes
 .../extjs/resources/images/default/box/r.gif  | Bin 0 -> 810 bytes
 .../resources/images/default/box/tb-blue.gif  | Bin 0 -> 851 bytes
 .../extjs/resources/images/default/box/tb.gif | Bin 0 -> 839 bytes
 .../images/default/button/btn-arrow.gif       | Bin 0 -> 870 bytes
 .../images/default/button/btn-sprite.gif      | Bin 0 -> 1341 bytes
 .../resources/images/default/dd/drop-add.gif  | Bin 0 -> 1001 bytes
 .../resources/images/default/dd/drop-no.gif   | Bin 0 -> 949 bytes
 .../resources/images/default/dd/drop-yes.gif  | Bin 0 -> 1016 bytes
 .../images/default/editor/tb-sprite.gif       | Bin 0 -> 2072 bytes
 .../images/default/form/checkbox.gif          | Bin 0 -> 2061 bytes
 .../images/default/form/clear-trigger.gif     | Bin 0 -> 1988 bytes
 .../images/default/form/clear-trigger.psd     | Bin 0 -> 11804 bytes
 .../images/default/form/date-trigger.gif      | Bin 0 -> 1603 bytes
 .../images/default/form/date-trigger.psd      | Bin 0 -> 12377 bytes
 .../images/default/form/error-tip-corners.gif | Bin 0 -> 4183 bytes
 .../images/default/form/exclamation.gif       | Bin 0 -> 996 bytes
 .../resources/images/default/form/radio.gif   | Bin 0 -> 1746 bytes
 .../images/default/form/search-trigger.gif    | Bin 0 -> 2182 bytes
 .../images/default/form/search-trigger.psd    | Bin 0 -> 15601 bytes
 .../resources/images/default/form/text-bg.gif | Bin 0 -> 819 bytes
 .../images/default/form/trigger-tpl.gif       | Bin 0 -> 1487 bytes
 .../resources/images/default/form/trigger.gif | Bin 0 -> 1816 bytes
 .../resources/images/default/form/trigger.psd | Bin 0 -> 10829 bytes
 .../resources/images/default/gradient-bg.gif  | Bin 0 -> 1472 bytes
 .../images/default/grid/arrow-left-white.gif  | Bin 0 -> 825 bytes
 .../images/default/grid/arrow-right-white.gif | Bin 0 -> 825 bytes
 .../images/default/grid/col-move-bottom.gif   | Bin 0 -> 868 bytes
 .../images/default/grid/col-move-top.gif      | Bin 0 -> 869 bytes
 .../resources/images/default/grid/columns.gif | Bin 0 -> 962 bytes
 .../resources/images/default/grid/dirty.gif   | Bin 0 -> 832 bytes
 .../resources/images/default/grid/done.gif    | Bin 0 -> 133 bytes
 .../resources/images/default/grid/drop-no.gif | Bin 0 -> 947 bytes
 .../images/default/grid/drop-yes.gif          | Bin 0 -> 860 bytes
 .../images/default/grid/footer-bg.gif         | Bin 0 -> 834 bytes
 .../images/default/grid/grid-blue-hd.gif      | Bin 0 -> 829 bytes
 .../images/default/grid/grid-blue-split.gif   | Bin 0 -> 817 bytes
 .../images/default/grid/grid-hrow.gif         | Bin 0 -> 855 bytes
 .../images/default/grid/grid-loading.gif      | Bin 0 -> 701 bytes
 .../images/default/grid/grid-split.gif        | Bin 0 -> 817 bytes
 .../images/default/grid/grid-vista-hd.gif     | Bin 0 -> 829 bytes
 .../images/default/grid/grid3-hd-btn.gif      | Bin 0 -> 1229 bytes
 .../images/default/grid/grid3-hrow-over.gif   | Bin 0 -> 823 bytes
 .../images/default/grid/grid3-hrow.gif        | Bin 0 -> 836 bytes
 .../default/grid/grid3-special-col-bg.gif     | Bin 0 -> 837 bytes
 .../default/grid/grid3-special-col-sel-bg.gif | Bin 0 -> 843 bytes
 .../images/default/grid/group-by.gif          | Bin 0 -> 917 bytes
 .../default/grid/group-expand-sprite.gif      | Bin 0 -> 955 bytes
 .../resources/images/default/grid/hd-pop.gif  | Bin 0 -> 839 bytes
 .../images/default/grid/hmenu-asc.gif         | Bin 0 -> 931 bytes
 .../images/default/grid/hmenu-desc.gif        | Bin 0 -> 930 bytes
 .../images/default/grid/hmenu-lock.gif        | Bin 0 -> 955 bytes
 .../images/default/grid/hmenu-lock.png        | Bin 0 -> 648 bytes
 .../images/default/grid/hmenu-unlock.gif      | Bin 0 -> 971 bytes
 .../images/default/grid/hmenu-unlock.png      | Bin 0 -> 697 bytes
 .../images/default/grid/invalid_line.gif      | Bin 0 -> 815 bytes
 .../resources/images/default/grid/loading.gif | Bin 0 -> 771 bytes
 .../resources/images/default/grid/mso-hd.gif  | Bin 0 -> 875 bytes
 .../resources/images/default/grid/nowait.gif  | Bin 0 -> 884 bytes
 .../default/grid/page-first-disabled.gif      | Bin 0 -> 925 bytes
 .../images/default/grid/page-first.gif        | Bin 0 -> 925 bytes
 .../default/grid/page-last-disabled.gif       | Bin 0 -> 923 bytes
 .../images/default/grid/page-last.gif         | Bin 0 -> 923 bytes
 .../default/grid/page-next-disabled.gif       | Bin 0 -> 875 bytes
 .../images/default/grid/page-next.gif         | Bin 0 -> 875 bytes
 .../default/grid/page-prev-disabled.gif       | Bin 0 -> 879 bytes
 .../images/default/grid/page-prev.gif         | Bin 0 -> 879 bytes
 .../images/default/grid/pick-button.gif       | Bin 0 -> 1036 bytes
 .../resources/images/default/grid/refresh.gif | Bin 0 -> 977 bytes
 .../images/default/grid/row-check-sprite.gif  | Bin 0 -> 1083 bytes
 .../images/default/grid/row-expand-sprite.gif | Bin 0 -> 955 bytes
 .../images/default/grid/row-over.gif          | Bin 0 -> 823 bytes
 .../resources/images/default/grid/row-sel.gif | Bin 0 -> 823 bytes
 .../images/default/grid/sort_asc.gif          | Bin 0 -> 830 bytes
 .../images/default/grid/sort_desc.gif         | Bin 0 -> 833 bytes
 .../resources/images/default/grid/wait.gif    | Bin 0 -> 1100 bytes
 .../images/default/layout/collapse.gif        | Bin 0 -> 842 bytes
 .../images/default/layout/expand.gif          | Bin 0 -> 842 bytes
 .../images/default/layout/gradient-bg.gif     | Bin 0 -> 1472 bytes
 .../images/default/layout/mini-bottom.gif     | Bin 0 -> 856 bytes
 .../images/default/layout/mini-left.gif       | Bin 0 -> 871 bytes
 .../images/default/layout/mini-right.gif      | Bin 0 -> 872 bytes
 .../images/default/layout/mini-top.gif        | Bin 0 -> 856 bytes
 .../images/default/layout/ns-collapse.gif     | Bin 0 -> 842 bytes
 .../images/default/layout/ns-expand.gif       | Bin 0 -> 843 bytes
 .../images/default/layout/panel-close.gif     | Bin 0 -> 829 bytes
 .../images/default/layout/panel-title-bg.gif  | Bin 0 -> 838 bytes
 .../default/layout/panel-title-light-bg.gif   | Bin 0 -> 835 bytes
 .../resources/images/default/layout/stick.gif | Bin 0 -> 874 bytes
 .../resources/images/default/layout/stuck.gif | Bin 0 -> 92 bytes
 .../images/default/layout/tab-close-on.gif    | Bin 0 -> 880 bytes
 .../images/default/layout/tab-close.gif       | Bin 0 -> 859 bytes
 .../resources/images/default/menu/checked.gif | Bin 0 -> 959 bytes
 .../images/default/menu/group-checked.gif     | Bin 0 -> 891 bytes
 .../images/default/menu/item-over.gif         | Bin 0 -> 820 bytes
 .../images/default/menu/menu-parent.gif       | Bin 0 -> 854 bytes
 .../resources/images/default/menu/menu.gif    | Bin 0 -> 834 bytes
 .../images/default/menu/unchecked.gif         | Bin 0 -> 941 bytes
 .../images/default/panel/corners-sprite.gif   | Bin 0 -> 1418 bytes
 .../images/default/panel/left-right.gif       | Bin 0 -> 815 bytes
 .../images/default/panel/light-hd.gif         | Bin 0 -> 827 bytes
 .../images/default/panel/tool-sprite-tpl.gif  | Bin 0 -> 971 bytes
 .../images/default/panel/tool-sprites.gif     | Bin 0 -> 4158 bytes
 .../default/panel/tools-sprites-trans.gif     | Bin 0 -> 2640 bytes
 .../images/default/panel/top-bottom.gif       | Bin 0 -> 875 bytes
 .../images/default/panel/top-bottom.png       | Bin 0 -> 218 bytes
 .../default/panel/white-corners-sprite.gif    | Bin 0 -> 1366 bytes
 .../images/default/panel/white-left-right.gif | Bin 0 -> 815 bytes
 .../images/default/panel/white-top-bottom.gif | Bin 0 -> 872 bytes
 .../images/default/progress/progress-bg.gif   | Bin 0 -> 834 bytes
 .../resources/images/default/qtip/bg.gif      | Bin 0 -> 1091 bytes
 .../resources/images/default/qtip/close.gif   | Bin 0 -> 972 bytes
 .../images/default/qtip/tip-sprite.gif        | Bin 0 -> 4271 bytes
 static/extjs/resources/images/default/s.gif   | Bin 0 -> 43 bytes
 .../resources/images/default/shadow-c.png     | Bin 0 -> 118 bytes
 .../resources/images/default/shadow-c.psd     | Bin 0 -> 23266 bytes
 .../resources/images/default/shadow-lr.png    | Bin 0 -> 135 bytes
 .../extjs/resources/images/default/shadow.png | Bin 0 -> 311 bytes
 .../images/default/shared/blue-loading.gif    | Bin 0 -> 3236 bytes
 .../images/default/shared/calendar.gif        | Bin 0 -> 979 bytes
 .../images/default/shared/glass-bg.gif        | Bin 0 -> 873 bytes
 .../images/default/shared/hd-sprite.gif       | Bin 0 -> 1099 bytes
 .../images/default/shared/large-loading.gif   | Bin 0 -> 3236 bytes
 .../images/default/shared/left-btn.gif        | Bin 0 -> 870 bytes
 .../images/default/shared/loading-balls.gif   | Bin 0 -> 2118 bytes
 .../images/default/shared/right-btn.gif       | Bin 0 -> 871 bytes
 .../images/default/shared/warning.gif         | Bin 0 -> 960 bytes
 .../images/default/sizer/e-handle-dark.gif    | Bin 0 -> 1062 bytes
 .../images/default/sizer/e-handle.gif         | Bin 0 -> 1586 bytes
 .../images/default/sizer/ne-handle-dark.gif   | Bin 0 -> 839 bytes
 .../images/default/sizer/ne-handle.gif        | Bin 0 -> 854 bytes
 .../images/default/sizer/nw-handle-dark.gif   | Bin 0 -> 839 bytes
 .../images/default/sizer/nw-handle.gif        | Bin 0 -> 853 bytes
 .../images/default/sizer/s-handle-dark.gif    | Bin 0 -> 1060 bytes
 .../images/default/sizer/s-handle.gif         | Bin 0 -> 1318 bytes
 .../images/default/sizer/se-handle-dark.gif   | Bin 0 -> 838 bytes
 .../images/default/sizer/se-handle.gif        | Bin 0 -> 853 bytes
 .../resources/images/default/sizer/square.gif | Bin 0 -> 864 bytes
 .../images/default/sizer/sw-handle-dark.gif   | Bin 0 -> 839 bytes
 .../images/default/sizer/sw-handle.gif        | Bin 0 -> 855 bytes
 .../images/default/slider/slider-bg.png       | Bin 0 -> 300 bytes
 .../images/default/slider/slider-thumb.png    | Bin 0 -> 933 bytes
 .../images/default/slider/slider-v-bg.png     | Bin 0 -> 288 bytes
 .../images/default/slider/slider-v-thumb.png  | Bin 0 -> 883 bytes
 .../images/default/tabs/scroll-left.gif       | Bin 0 -> 1295 bytes
 .../images/default/tabs/scroll-right.gif      | Bin 0 -> 1300 bytes
 .../images/default/tabs/scroller-bg.gif       | Bin 0 -> 1100 bytes
 .../default/tabs/tab-btm-inactive-left-bg.gif | Bin 0 -> 886 bytes
 .../tabs/tab-btm-inactive-right-bg.gif        | Bin 0 -> 1386 bytes
 .../images/default/tabs/tab-btm-left-bg.gif   | Bin 0 -> 863 bytes
 .../images/default/tabs/tab-btm-right-bg.gif  | Bin 0 -> 1402 bytes
 .../images/default/tabs/tab-close.gif         | Bin 0 -> 896 bytes
 .../images/default/tabs/tab-strip-bg.gif      | Bin 0 -> 835 bytes
 .../images/default/tabs/tab-strip-bg.png      | Bin 0 -> 259 bytes
 .../images/default/tabs/tab-strip-btm-bg.gif  | Bin 0 -> 826 bytes
 .../images/default/tabs/tabs-sprite.gif       | Bin 0 -> 2120 bytes
 .../resources/images/default/toolbar/bg.gif   | Bin 0 -> 904 bytes
 .../default/toolbar/btn-arrow-light.gif       | Bin 0 -> 916 bytes
 .../images/default/toolbar/btn-arrow.gif      | Bin 0 -> 919 bytes
 .../images/default/toolbar/btn-over-bg.gif    | Bin 0 -> 837 bytes
 .../images/default/toolbar/gray-bg.gif        | Bin 0 -> 832 bytes
 .../images/default/toolbar/tb-bg.gif          | Bin 0 -> 862 bytes
 .../images/default/toolbar/tb-btn-sprite.gif  | Bin 0 -> 1127 bytes
 .../resources/images/default/tree/arrows.gif  | Bin 0 -> 1024 bytes
 .../images/default/tree/drop-add.gif          | Bin 0 -> 1001 bytes
 .../images/default/tree/drop-between.gif      | Bin 0 -> 907 bytes
 .../resources/images/default/tree/drop-no.gif | Bin 0 -> 949 bytes
 .../images/default/tree/drop-over.gif         | Bin 0 -> 911 bytes
 .../images/default/tree/drop-under.gif        | Bin 0 -> 911 bytes
 .../images/default/tree/drop-yes.gif          | Bin 0 -> 1016 bytes
 .../default/tree/elbow-end-minus-nl.gif       | Bin 0 -> 898 bytes
 .../images/default/tree/elbow-end-minus.gif   | Bin 0 -> 905 bytes
 .../images/default/tree/elbow-end-plus-nl.gif | Bin 0 -> 900 bytes
 .../images/default/tree/elbow-end-plus.gif    | Bin 0 -> 907 bytes
 .../images/default/tree/elbow-end.gif         | Bin 0 -> 844 bytes
 .../images/default/tree/elbow-line.gif        | Bin 0 -> 846 bytes
 .../images/default/tree/elbow-minus-nl.gif    | Bin 0 -> 898 bytes
 .../images/default/tree/elbow-minus.gif       | Bin 0 -> 908 bytes
 .../images/default/tree/elbow-plus-nl.gif     | Bin 0 -> 900 bytes
 .../images/default/tree/elbow-plus.gif        | Bin 0 -> 910 bytes
 .../resources/images/default/tree/elbow.gif   | Bin 0 -> 850 bytes
 .../images/default/tree/folder-open.gif       | Bin 0 -> 956 bytes
 .../resources/images/default/tree/folder.gif  | Bin 0 -> 952 bytes
 .../resources/images/default/tree/leaf.gif    | Bin 0 -> 945 bytes
 .../resources/images/default/tree/loading.gif | Bin 0 -> 771 bytes
 .../extjs/resources/images/default/tree/s.gif | Bin 0 -> 43 bytes
 .../images/default/window/icon-error.gif      | Bin 0 -> 1669 bytes
 .../images/default/window/icon-info.gif       | Bin 0 -> 1586 bytes
 .../images/default/window/icon-question.gif   | Bin 0 -> 1607 bytes
 .../images/default/window/icon-warning.gif    | Bin 0 -> 1483 bytes
 .../images/default/window/left-corners.png    | Bin 0 -> 272 bytes
 .../images/default/window/left-corners.psd    | Bin 0 -> 15576 bytes
 .../images/default/window/left-right.png      | Bin 0 -> 135 bytes
 .../images/default/window/left-right.psd      | Bin 0 -> 25060 bytes
 .../images/default/window/right-corners.png   | Bin 0 -> 340 bytes
 .../images/default/window/right-corners.psd   | Bin 0 -> 15530 bytes
 .../images/default/window/top-bottom.png      | Bin 0 -> 211 bytes
 .../images/default/window/top-bottom.psd      | Bin 0 -> 32214 bytes
 .../images/gray/button/btn-arrow.gif          | Bin 0 -> 870 bytes
 .../images/gray/button/btn-sprite.gif         | Bin 0 -> 1222 bytes
 .../resources/images/gray/gradient-bg.gif     | Bin 0 -> 1472 bytes
 .../images/gray/panel/corners-sprite.gif      | Bin 0 -> 1402 bytes
 .../images/gray/panel/left-right.gif          | Bin 0 -> 815 bytes
 .../resources/images/gray/panel/light-hd.gif  | Bin 0 -> 827 bytes
 .../images/gray/panel/tool-sprite-tpl.gif     | Bin 0 -> 971 bytes
 .../images/gray/panel/tool-sprites.gif        | Bin 0 -> 4464 bytes
 .../images/gray/panel/tools-sprites-trans.gif | Bin 0 -> 2640 bytes
 .../images/gray/panel/top-bottom.gif          | Bin 0 -> 871 bytes
 .../images/gray/panel/top-bottom.png          | Bin 0 -> 218 bytes
 .../gray/panel/white-corners-sprite.gif       | Bin 0 -> 1365 bytes
 .../images/gray/panel/white-left-right.gif    | Bin 0 -> 815 bytes
 .../images/gray/panel/white-top-bottom.gif    | Bin 0 -> 868 bytes
 .../extjs/resources/images/gray/qtip/bg.gif   | Bin 0 -> 1024 bytes
 .../resources/images/gray/qtip/close.gif      | Bin 0 -> 972 bytes
 .../resources/images/gray/qtip/tip-sprite.gif | Bin 0 -> 4033 bytes
 static/extjs/resources/images/gray/s.gif      | Bin 0 -> 43 bytes
 .../images/gray/tabs/scroll-left.gif          | Bin 0 -> 1260 bytes
 .../images/gray/tabs/scroll-right.gif         | Bin 0 -> 1269 bytes
 .../images/gray/tabs/scroller-bg.gif          | Bin 0 -> 1090 bytes
 .../gray/tabs/tab-btm-inactive-left-bg.gif    | Bin 0 -> 881 bytes
 .../gray/tabs/tab-btm-inactive-right-bg.gif   | Bin 0 -> 1383 bytes
 .../images/gray/tabs/tab-btm-left-bg.gif      | Bin 0 -> 863 bytes
 .../images/gray/tabs/tab-btm-right-bg.gif     | Bin 0 -> 1402 bytes
 .../resources/images/gray/tabs/tab-close.gif  | Bin 0 -> 896 bytes
 .../images/gray/tabs/tab-strip-bg.gif         | Bin 0 -> 835 bytes
 .../images/gray/tabs/tab-strip-bg.png         | Bin 0 -> 259 bytes
 .../images/gray/tabs/tab-strip-btm-bg.gif     | Bin 0 -> 826 bytes
 .../images/gray/tabs/tabs-sprite.gif          | Bin 0 -> 2109 bytes
 .../resources/images/gray/toolbar/bg.gif      | Bin 0 -> 854 bytes
 .../images/gray/toolbar/btn-arrow-light.gif   | Bin 0 -> 916 bytes
 .../images/gray/toolbar/btn-arrow.gif         | Bin 0 -> 919 bytes
 .../images/gray/toolbar/btn-over-bg.gif       | Bin 0 -> 837 bytes
 .../resources/images/gray/toolbar/gray-bg.gif | Bin 0 -> 832 bytes
 .../resources/images/gray/toolbar/tb-bg.gif   | Bin 0 -> 862 bytes
 .../images/gray/toolbar/tb-btn-sprite.gif     | Bin 0 -> 1021 bytes
 .../images/gray/window/icon-error.gif         | Bin 0 -> 1669 bytes
 .../images/gray/window/icon-info.gif          | Bin 0 -> 1586 bytes
 .../images/gray/window/icon-question.gif      | Bin 0 -> 1607 bytes
 .../images/gray/window/icon-warning.gif       | Bin 0 -> 1483 bytes
 .../images/gray/window/left-corners.png       | Bin 0 -> 325 bytes
 .../images/gray/window/left-corners.pspimage  | Bin 0 -> 4385 bytes
 .../images/gray/window/left-right.png         | Bin 0 -> 2815 bytes
 .../images/gray/window/right-corners.png      | Bin 0 -> 344 bytes
 .../images/gray/window/top-bottom.png         | Bin 0 -> 2860 bytes
 .../resources/images/slate/box/tb-blue.gif    | Bin 0 -> 843 bytes
 .../images/slate/button/btn-arrow.gif         | Bin 0 -> 871 bytes
 .../images/slate/button/btn-sprite.gif        | Bin 0 -> 1394 bytes
 .../images/slate/editor/tb-sprite.gif         | Bin 0 -> 1994 bytes
 .../resources/images/slate/form/checkbox.gif  | Bin 0 -> 1483 bytes
 .../images/slate/form/clear-trigger.gif       | Bin 0 -> 2091 bytes
 .../images/slate/form/date-trigger.gif        | Bin 0 -> 1612 bytes
 .../resources/images/slate/form/radio.gif     | Bin 0 -> 1846 bytes
 .../images/slate/form/search-trigger.gif      | Bin 0 -> 2345 bytes
 .../images/slate/form/trigger-tpl.gif         | Bin 0 -> 1506 bytes
 .../resources/images/slate/form/trigger.gif   | Bin 0 -> 1657 bytes
 .../images/slate/grid/grid-split.gif          | Bin 0 -> 817 bytes
 .../images/slate/grid/grid3-hd-btn.gif        | Bin 0 -> 1212 bytes
 .../images/slate/grid/grid3-hrow-over.gif     | Bin 0 -> 826 bytes
 .../images/slate/grid/grid3-hrow.gif          | Bin 0 -> 828 bytes
 .../slate/grid/grid3-special-col-bg.gif       | Bin 0 -> 837 bytes
 .../slate/grid/grid3-special-col-sel-bg.gif   | Bin 0 -> 847 bytes
 .../images/slate/grid/page-first-disabled.gif | Bin 0 -> 925 bytes
 .../images/slate/grid/page-first.gif          | Bin 0 -> 925 bytes
 .../images/slate/grid/page-last-disabled.gif  | Bin 0 -> 923 bytes
 .../resources/images/slate/grid/page-last.gif | Bin 0 -> 923 bytes
 .../resources/images/slate/grid/page-next.gif | Bin 0 -> 875 bytes
 .../resources/images/slate/grid/page-prev.gif | Bin 0 -> 879 bytes
 .../resources/images/slate/grid/refresh.gif   | Bin 0 -> 980 bytes
 .../resources/images/slate/grid/sort_asc.gif  | Bin 0 -> 830 bytes
 .../resources/images/slate/grid/sort_desc.gif | Bin 0 -> 833 bytes
 .../resources/images/slate/menu/checked.gif   | Bin 0 -> 894 bytes
 .../images/slate/menu/group-checked.gif       | Bin 0 -> 887 bytes
 .../resources/images/slate/menu/item-over.gif | Bin 0 -> 833 bytes
 .../images/slate/menu/menu-parent.gif         | Bin 0 -> 853 bytes
 .../resources/images/slate/menu/menu.gif      | Bin 0 -> 839 bytes
 .../resources/images/slate/menu/unchecked.gif | Bin 0 -> 877 bytes
 .../images/slate/panel/corners-sprite.gif     | Bin 0 -> 1384 bytes
 .../images/slate/panel/left-right.gif         | Bin 0 -> 807 bytes
 .../resources/images/slate/panel/light-hd.gif | Bin 0 -> 844 bytes
 .../images/slate/panel/tool-sprite-tpl.gif    | Bin 0 -> 1197 bytes
 .../images/slate/panel/tool-sprites.gif       | Bin 0 -> 5787 bytes
 .../images/slate/panel/top-bottom.gif         | Bin 0 -> 870 bytes
 .../images/slate/panel/top-bottom.png         | Bin 0 -> 215 bytes
 .../slate/panel/white-corners-sprite.gif      | Bin 0 -> 1365 bytes
 .../images/slate/panel/white-left-right.gif   | Bin 0 -> 805 bytes
 .../images/slate/panel/white-top-bottom.gif   | Bin 0 -> 864 bytes
 .../images/slate/progress/progress-bg.gif     | Bin 0 -> 837 bytes
 .../extjs/resources/images/slate/qtip/bg.gif  | Bin 0 -> 1091 bytes
 .../resources/images/slate/qtip/close.gif     | Bin 0 -> 972 bytes
 .../images/slate/qtip/tip-sprite.gif          | Bin 0 -> 4129 bytes
 .../images/slate/shared/glass-bg.gif          | Bin 0 -> 865 bytes
 .../images/slate/shared/hd-sprite.gif         | Bin 0 -> 1099 bytes
 .../images/slate/shared/left-btn.gif          | Bin 0 -> 878 bytes
 .../images/slate/shared/right-btn.gif         | Bin 0 -> 879 bytes
 .../images/slate/sizer/e-handle-dark.gif      | Bin 0 -> 1069 bytes
 .../resources/images/slate/sizer/e-handle.gif | Bin 0 -> 1592 bytes
 .../images/slate/sizer/ne-handle-dark.gif     | Bin 0 -> 843 bytes
 .../images/slate/sizer/ne-handle.gif          | Bin 0 -> 832 bytes
 .../images/slate/sizer/nw-handle-dark.gif     | Bin 0 -> 841 bytes
 .../images/slate/sizer/nw-handle.gif          | Bin 0 -> 832 bytes
 .../images/slate/sizer/s-handle-dark.gif      | Bin 0 -> 1051 bytes
 .../resources/images/slate/sizer/s-handle.gif | Bin 0 -> 1304 bytes
 .../images/slate/sizer/se-handle-dark.gif     | Bin 0 -> 844 bytes
 .../images/slate/sizer/se-handle.gif          | Bin 0 -> 831 bytes
 .../resources/images/slate/sizer/square.gif   | Bin 0 -> 833 bytes
 .../images/slate/sizer/sw-handle-dark.gif     | Bin 0 -> 844 bytes
 .../images/slate/sizer/sw-handle.gif          | Bin 0 -> 832 bytes
 .../images/slate/slider/slider-bg.png         | Bin 0 -> 1033 bytes
 .../images/slate/slider/slider-thumb.png      | Bin 0 -> 1565 bytes
 .../images/slate/slider/slider-v-bg.png       | Bin 0 -> 1016 bytes
 .../images/slate/slider/slider-v-thumb.png    | Bin 0 -> 1476 bytes
 .../images/slate/tabs/scroll-left.gif         | Bin 0 -> 1260 bytes
 .../images/slate/tabs/scroll-right.gif        | Bin 0 -> 1269 bytes
 .../images/slate/tabs/scroller-bg.gif         | Bin 0 -> 1090 bytes
 .../slate/tabs/tab-btm-inactive-left-bg.gif   | Bin 0 -> 883 bytes
 .../slate/tabs/tab-btm-inactive-right-bg.gif  | Bin 0 -> 1553 bytes
 .../images/slate/tabs/tab-btm-left-bg.gif     | Bin 0 -> 880 bytes
 .../images/slate/tabs/tab-btm-right-bg.gif    | Bin 0 -> 1586 bytes
 .../resources/images/slate/tabs/tab-close.gif | Bin 0 -> 853 bytes
 .../images/slate/tabs/tab-strip-bg.gif        | Bin 0 -> 906 bytes
 .../images/slate/tabs/tab-strip-btm-bg.gif    | Bin 0 -> 826 bytes
 .../images/slate/tabs/tabs-sprite.gif         | Bin 0 -> 2625 bytes
 .../resources/images/slate/toolbar/bg.gif     | Bin 0 -> 842 bytes
 .../images/slate/toolbar/btn-arrow.gif        | Bin 0 -> 908 bytes
 .../images/slate/toolbar/btn-over-bg.gif      | Bin 0 -> 829 bytes
 .../images/slate/toolbar/tb-btn-sprite.gif    | Bin 0 -> 1070 bytes
 .../resources/images/slate/tree/arrows.gif    | Bin 0 -> 1024 bytes
 .../images/slate/window/left-corners.png      | Bin 0 -> 432 bytes
 .../images/slate/window/left-right.png        | Bin 0 -> 160 bytes
 .../images/slate/window/right-corners.png     | Bin 0 -> 459 bytes
 .../images/slate/window/top-bottom.png        | Bin 0 -> 294 bytes
 .../images/vista/basic-dialog/bg-center.gif   | Bin 0 -> 865 bytes
 .../images/vista/basic-dialog/bg-left.gif     | Bin 0 -> 1039 bytes
 .../images/vista/basic-dialog/bg-right.gif    | Bin 0 -> 1039 bytes
 .../images/vista/basic-dialog/close.gif       | Bin 0 -> 350 bytes
 .../images/vista/basic-dialog/collapse.gif    | Bin 0 -> 333 bytes
 .../images/vista/basic-dialog/dlg-bg.gif      | Bin 0 -> 27857 bytes
 .../images/vista/basic-dialog/e-handle.gif    | Bin 0 -> 995 bytes
 .../images/vista/basic-dialog/expand.gif      | Bin 0 -> 351 bytes
 .../images/vista/basic-dialog/hd-sprite.gif   | Bin 0 -> 462 bytes
 .../images/vista/basic-dialog/s-handle.gif    | Bin 0 -> 992 bytes
 .../images/vista/basic-dialog/se-handle.gif   | Bin 0 -> 833 bytes
 .../images/vista/basic-dialog/w-handle.gif    | Bin 0 -> 817 bytes
 .../resources/images/vista/gradient-bg.gif    | Bin 0 -> 1472 bytes
 .../images/vista/grid/grid-split.gif          | Bin 0 -> 817 bytes
 .../images/vista/grid/grid-vista-hd.gif       | Bin 0 -> 829 bytes
 .../images/vista/layout/collapse.gif          | Bin 0 -> 842 bytes
 .../resources/images/vista/layout/expand.gif  | Bin 0 -> 842 bytes
 .../images/vista/layout/gradient-bg.gif       | Bin 0 -> 1202 bytes
 .../images/vista/layout/ns-collapse.gif       | Bin 0 -> 842 bytes
 .../images/vista/layout/ns-expand.gif         | Bin 0 -> 843 bytes
 .../images/vista/layout/panel-close.gif       | Bin 0 -> 829 bytes
 .../images/vista/layout/panel-title-bg.gif    | Bin 0 -> 888 bytes
 .../vista/layout/panel-title-light-bg.gif     | Bin 0 -> 846 bytes
 .../resources/images/vista/layout/stick.gif   | Bin 0 -> 872 bytes
 .../images/vista/layout/tab-close-on.gif      | Bin 0 -> 880 bytes
 .../images/vista/layout/tab-close.gif         | Bin 0 -> 844 bytes
 .../extjs/resources/images/vista/qtip/bg.gif  | Bin 0 -> 1024 bytes
 .../images/vista/qtip/tip-sprite.gif          | Bin 0 -> 4183 bytes
 static/extjs/resources/images/vista/s.gif     | Bin 0 -> 43 bytes
 .../images/vista/sizer/e-handle-dark.gif      | Bin 0 -> 1062 bytes
 .../resources/images/vista/sizer/e-handle.gif | Bin 0 -> 1586 bytes
 .../images/vista/sizer/ne-handle-dark.gif     | Bin 0 -> 839 bytes
 .../images/vista/sizer/ne-handle.gif          | Bin 0 -> 854 bytes
 .../images/vista/sizer/nw-handle-dark.gif     | Bin 0 -> 839 bytes
 .../images/vista/sizer/nw-handle.gif          | Bin 0 -> 853 bytes
 .../images/vista/sizer/s-handle-dark.gif      | Bin 0 -> 1060 bytes
 .../resources/images/vista/sizer/s-handle.gif | Bin 0 -> 1318 bytes
 .../images/vista/sizer/se-handle-dark.gif     | Bin 0 -> 838 bytes
 .../images/vista/sizer/se-handle.gif          | Bin 0 -> 853 bytes
 .../images/vista/sizer/sw-handle-dark.gif     | Bin 0 -> 839 bytes
 .../images/vista/sizer/sw-handle.gif          | Bin 0 -> 855 bytes
 .../vista/tabs/tab-btm-inactive-left-bg.gif   | Bin 0 -> 879 bytes
 .../vista/tabs/tab-btm-inactive-right-bg.gif  | Bin 0 -> 1609 bytes
 .../images/vista/tabs/tab-btm-left-bg.gif     | Bin 0 -> 895 bytes
 .../images/vista/tabs/tab-btm-right-bg.gif    | Bin 0 -> 1608 bytes
 .../images/vista/tabs/tab-sprite.gif          | Bin 0 -> 3150 bytes
 .../images/vista/toolbar/gray-bg.gif          | Bin 0 -> 839 bytes
 .../images/vista/toolbar/tb-btn-sprite.gif    | Bin 0 -> 1110 bytes
 static/extjs/resources/resources.jsb          | 787 +++++++++++++++++
 static/jquery.js                              |  19 +
 static/styles.css                             |  82 ++
 static/title.png                              | Bin 0 -> 10937 bytes
 views/appadmin.html                           |  81 ++
 views/default/index.html                      |   9 +
 views/generic.html                            |  12 +
 views/layout.html                             |  46 +
 views/web2py_ajax.html                        |  42 +
 435 files changed, 7436 insertions(+)
 create mode 100644 ABOUT
 create mode 100644 LICENSE
 create mode 100644 __init__.py
 create mode 100644 controllers/appadmin.py
 create mode 100644 controllers/default.py
 create mode 100644 languages/it-it.py
 create mode 100644 languages/it.py
 create mode 100644 languages/pt-br.py
 create mode 100644 models/db.py
 create mode 100644 modules/__init__.py
 create mode 100755 static/calendar.css
 create mode 100755 static/calendar.js
 create mode 100644 static/extjs/ext-all.js
 create mode 100644 static/extjs/ext-base.js
 create mode 100644 static/extjs/resources/css/README.txt
 create mode 100644 static/extjs/resources/css/borders.css
 create mode 100644 static/extjs/resources/css/box.css
 create mode 100644 static/extjs/resources/css/button.css
 create mode 100644 static/extjs/resources/css/combo.css
 create mode 100644 static/extjs/resources/css/core.css
 create mode 100644 static/extjs/resources/css/date-picker.css
 create mode 100644 static/extjs/resources/css/dd.css
 create mode 100644 static/extjs/resources/css/debug.css
 create mode 100644 static/extjs/resources/css/dialog.css
 create mode 100644 static/extjs/resources/css/editor.css
 create mode 100644 static/extjs/resources/css/ext-all.css
 create mode 100644 static/extjs/resources/css/form.css
 create mode 100644 static/extjs/resources/css/grid.css
 create mode 100644 static/extjs/resources/css/layout.css
 create mode 100644 static/extjs/resources/css/menu.css
 create mode 100644 static/extjs/resources/css/panel.css
 create mode 100644 static/extjs/resources/css/progress.css
 create mode 100644 static/extjs/resources/css/qtips.css
 create mode 100644 static/extjs/resources/css/reset-min.css
 create mode 100644 static/extjs/resources/css/reset.css
 create mode 100644 static/extjs/resources/css/resizable.css
 create mode 100644 static/extjs/resources/css/slider.css
 create mode 100644 static/extjs/resources/css/tabs.css
 create mode 100644 static/extjs/resources/css/toolbar.css
 create mode 100644 static/extjs/resources/css/tree.css
 create mode 100644 static/extjs/resources/css/window.css
 create mode 100644 static/extjs/resources/css/xtheme-gray.css
 create mode 100644 static/extjs/resources/css/xtheme-slate.css
 create mode 100644 static/extjs/resources/images/default/box/corners-blue.gif
 create mode 100644 static/extjs/resources/images/default/box/corners.gif
 create mode 100644 static/extjs/resources/images/default/box/l-blue.gif
 create mode 100644 static/extjs/resources/images/default/box/l.gif
 create mode 100644 static/extjs/resources/images/default/box/r-blue.gif
 create mode 100644 static/extjs/resources/images/default/box/r.gif
 create mode 100644 static/extjs/resources/images/default/box/tb-blue.gif
 create mode 100644 static/extjs/resources/images/default/box/tb.gif
 create mode 100644 static/extjs/resources/images/default/button/btn-arrow.gif
 create mode 100644 static/extjs/resources/images/default/button/btn-sprite.gif
 create mode 100644 static/extjs/resources/images/default/dd/drop-add.gif
 create mode 100644 static/extjs/resources/images/default/dd/drop-no.gif
 create mode 100644 static/extjs/resources/images/default/dd/drop-yes.gif
 create mode 100644 static/extjs/resources/images/default/editor/tb-sprite.gif
 create mode 100644 static/extjs/resources/images/default/form/checkbox.gif
 create mode 100644 static/extjs/resources/images/default/form/clear-trigger.gif
 create mode 100644 static/extjs/resources/images/default/form/clear-trigger.psd
 create mode 100644 static/extjs/resources/images/default/form/date-trigger.gif
 create mode 100644 static/extjs/resources/images/default/form/date-trigger.psd
 create mode 100644 static/extjs/resources/images/default/form/error-tip-corners.gif
 create mode 100644 static/extjs/resources/images/default/form/exclamation.gif
 create mode 100644 static/extjs/resources/images/default/form/radio.gif
 create mode 100644 static/extjs/resources/images/default/form/search-trigger.gif
 create mode 100644 static/extjs/resources/images/default/form/search-trigger.psd
 create mode 100644 static/extjs/resources/images/default/form/text-bg.gif
 create mode 100644 static/extjs/resources/images/default/form/trigger-tpl.gif
 create mode 100644 static/extjs/resources/images/default/form/trigger.gif
 create mode 100644 static/extjs/resources/images/default/form/trigger.psd
 create mode 100644 static/extjs/resources/images/default/gradient-bg.gif
 create mode 100644 static/extjs/resources/images/default/grid/arrow-left-white.gif
 create mode 100644 static/extjs/resources/images/default/grid/arrow-right-white.gif
 create mode 100644 static/extjs/resources/images/default/grid/col-move-bottom.gif
 create mode 100644 static/extjs/resources/images/default/grid/col-move-top.gif
 create mode 100644 static/extjs/resources/images/default/grid/columns.gif
 create mode 100644 static/extjs/resources/images/default/grid/dirty.gif
 create mode 100644 static/extjs/resources/images/default/grid/done.gif
 create mode 100644 static/extjs/resources/images/default/grid/drop-no.gif
 create mode 100644 static/extjs/resources/images/default/grid/drop-yes.gif
 create mode 100644 static/extjs/resources/images/default/grid/footer-bg.gif
 create mode 100644 static/extjs/resources/images/default/grid/grid-blue-hd.gif
 create mode 100644 static/extjs/resources/images/default/grid/grid-blue-split.gif
 create mode 100644 static/extjs/resources/images/default/grid/grid-hrow.gif
 create mode 100644 static/extjs/resources/images/default/grid/grid-loading.gif
 create mode 100644 static/extjs/resources/images/default/grid/grid-split.gif
 create mode 100644 static/extjs/resources/images/default/grid/grid-vista-hd.gif
 create mode 100644 static/extjs/resources/images/default/grid/grid3-hd-btn.gif
 create mode 100644 static/extjs/resources/images/default/grid/grid3-hrow-over.gif
 create mode 100644 static/extjs/resources/images/default/grid/grid3-hrow.gif
 create mode 100644 static/extjs/resources/images/default/grid/grid3-special-col-bg.gif
 create mode 100644 static/extjs/resources/images/default/grid/grid3-special-col-sel-bg.gif
 create mode 100644 static/extjs/resources/images/default/grid/group-by.gif
 create mode 100644 static/extjs/resources/images/default/grid/group-expand-sprite.gif
 create mode 100644 static/extjs/resources/images/default/grid/hd-pop.gif
 create mode 100644 static/extjs/resources/images/default/grid/hmenu-asc.gif
 create mode 100644 static/extjs/resources/images/default/grid/hmenu-desc.gif
 create mode 100644 static/extjs/resources/images/default/grid/hmenu-lock.gif
 create mode 100644 static/extjs/resources/images/default/grid/hmenu-lock.png
 create mode 100644 static/extjs/resources/images/default/grid/hmenu-unlock.gif
 create mode 100644 static/extjs/resources/images/default/grid/hmenu-unlock.png
 create mode 100644 static/extjs/resources/images/default/grid/invalid_line.gif
 create mode 100644 static/extjs/resources/images/default/grid/loading.gif
 create mode 100644 static/extjs/resources/images/default/grid/mso-hd.gif
 create mode 100644 static/extjs/resources/images/default/grid/nowait.gif
 create mode 100644 static/extjs/resources/images/default/grid/page-first-disabled.gif
 create mode 100644 static/extjs/resources/images/default/grid/page-first.gif
 create mode 100644 static/extjs/resources/images/default/grid/page-last-disabled.gif
 create mode 100644 static/extjs/resources/images/default/grid/page-last.gif
 create mode 100644 static/extjs/resources/images/default/grid/page-next-disabled.gif
 create mode 100644 static/extjs/resources/images/default/grid/page-next.gif
 create mode 100644 static/extjs/resources/images/default/grid/page-prev-disabled.gif
 create mode 100644 static/extjs/resources/images/default/grid/page-prev.gif
 create mode 100644 static/extjs/resources/images/default/grid/pick-button.gif
 create mode 100644 static/extjs/resources/images/default/grid/refresh.gif
 create mode 100644 static/extjs/resources/images/default/grid/row-check-sprite.gif
 create mode 100644 static/extjs/resources/images/default/grid/row-expand-sprite.gif
 create mode 100644 static/extjs/resources/images/default/grid/row-over.gif
 create mode 100644 static/extjs/resources/images/default/grid/row-sel.gif
 create mode 100644 static/extjs/resources/images/default/grid/sort_asc.gif
 create mode 100644 static/extjs/resources/images/default/grid/sort_desc.gif
 create mode 100644 static/extjs/resources/images/default/grid/wait.gif
 create mode 100644 static/extjs/resources/images/default/layout/collapse.gif
 create mode 100644 static/extjs/resources/images/default/layout/expand.gif
 create mode 100644 static/extjs/resources/images/default/layout/gradient-bg.gif
 create mode 100644 static/extjs/resources/images/default/layout/mini-bottom.gif
 create mode 100644 static/extjs/resources/images/default/layout/mini-left.gif
 create mode 100644 static/extjs/resources/images/default/layout/mini-right.gif
 create mode 100644 static/extjs/resources/images/default/layout/mini-top.gif
 create mode 100644 static/extjs/resources/images/default/layout/ns-collapse.gif
 create mode 100644 static/extjs/resources/images/default/layout/ns-expand.gif
 create mode 100644 static/extjs/resources/images/default/layout/panel-close.gif
 create mode 100644 static/extjs/resources/images/default/layout/panel-title-bg.gif
 create mode 100644 static/extjs/resources/images/default/layout/panel-title-light-bg.gif
 create mode 100644 static/extjs/resources/images/default/layout/stick.gif
 create mode 100644 static/extjs/resources/images/default/layout/stuck.gif
 create mode 100644 static/extjs/resources/images/default/layout/tab-close-on.gif
 create mode 100644 static/extjs/resources/images/default/layout/tab-close.gif
 create mode 100644 static/extjs/resources/images/default/menu/checked.gif
 create mode 100644 static/extjs/resources/images/default/menu/group-checked.gif
 create mode 100644 static/extjs/resources/images/default/menu/item-over.gif
 create mode 100644 static/extjs/resources/images/default/menu/menu-parent.gif
 create mode 100644 static/extjs/resources/images/default/menu/menu.gif
 create mode 100644 static/extjs/resources/images/default/menu/unchecked.gif
 create mode 100644 static/extjs/resources/images/default/panel/corners-sprite.gif
 create mode 100644 static/extjs/resources/images/default/panel/left-right.gif
 create mode 100644 static/extjs/resources/images/default/panel/light-hd.gif
 create mode 100644 static/extjs/resources/images/default/panel/tool-sprite-tpl.gif
 create mode 100644 static/extjs/resources/images/default/panel/tool-sprites.gif
 create mode 100644 static/extjs/resources/images/default/panel/tools-sprites-trans.gif
 create mode 100644 static/extjs/resources/images/default/panel/top-bottom.gif
 create mode 100644 static/extjs/resources/images/default/panel/top-bottom.png
 create mode 100644 static/extjs/resources/images/default/panel/white-corners-sprite.gif
 create mode 100644 static/extjs/resources/images/default/panel/white-left-right.gif
 create mode 100644 static/extjs/resources/images/default/panel/white-top-bottom.gif
 create mode 100644 static/extjs/resources/images/default/progress/progress-bg.gif
 create mode 100644 static/extjs/resources/images/default/qtip/bg.gif
 create mode 100644 static/extjs/resources/images/default/qtip/close.gif
 create mode 100644 static/extjs/resources/images/default/qtip/tip-sprite.gif
 create mode 100644 static/extjs/resources/images/default/s.gif
 create mode 100644 static/extjs/resources/images/default/shadow-c.png
 create mode 100644 static/extjs/resources/images/default/shadow-c.psd
 create mode 100644 static/extjs/resources/images/default/shadow-lr.png
 create mode 100644 static/extjs/resources/images/default/shadow.png
 create mode 100644 static/extjs/resources/images/default/shared/blue-loading.gif
 create mode 100644 static/extjs/resources/images/default/shared/calendar.gif
 create mode 100644 static/extjs/resources/images/default/shared/glass-bg.gif
 create mode 100644 static/extjs/resources/images/default/shared/hd-sprite.gif
 create mode 100644 static/extjs/resources/images/default/shared/large-loading.gif
 create mode 100644 static/extjs/resources/images/default/shared/left-btn.gif
 create mode 100644 static/extjs/resources/images/default/shared/loading-balls.gif
 create mode 100644 static/extjs/resources/images/default/shared/right-btn.gif
 create mode 100644 static/extjs/resources/images/default/shared/warning.gif
 create mode 100644 static/extjs/resources/images/default/sizer/e-handle-dark.gif
 create mode 100644 static/extjs/resources/images/default/sizer/e-handle.gif
 create mode 100644 static/extjs/resources/images/default/sizer/ne-handle-dark.gif
 create mode 100644 static/extjs/resources/images/default/sizer/ne-handle.gif
 create mode 100644 static/extjs/resources/images/default/sizer/nw-handle-dark.gif
 create mode 100644 static/extjs/resources/images/default/sizer/nw-handle.gif
 create mode 100644 static/extjs/resources/images/default/sizer/s-handle-dark.gif
 create mode 100644 static/extjs/resources/images/default/sizer/s-handle.gif
 create mode 100644 static/extjs/resources/images/default/sizer/se-handle-dark.gif
 create mode 100644 static/extjs/resources/images/default/sizer/se-handle.gif
 create mode 100644 static/extjs/resources/images/default/sizer/square.gif
 create mode 100644 static/extjs/resources/images/default/sizer/sw-handle-dark.gif
 create mode 100644 static/extjs/resources/images/default/sizer/sw-handle.gif
 create mode 100644 static/extjs/resources/images/default/slider/slider-bg.png
 create mode 100644 static/extjs/resources/images/default/slider/slider-thumb.png
 create mode 100644 static/extjs/resources/images/default/slider/slider-v-bg.png
 create mode 100644 static/extjs/resources/images/default/slider/slider-v-thumb.png
 create mode 100644 static/extjs/resources/images/default/tabs/scroll-left.gif
 create mode 100644 static/extjs/resources/images/default/tabs/scroll-right.gif
 create mode 100644 static/extjs/resources/images/default/tabs/scroller-bg.gif
 create mode 100644 static/extjs/resources/images/default/tabs/tab-btm-inactive-left-bg.gif
 create mode 100644 static/extjs/resources/images/default/tabs/tab-btm-inactive-right-bg.gif
 create mode 100644 static/extjs/resources/images/default/tabs/tab-btm-left-bg.gif
 create mode 100644 static/extjs/resources/images/default/tabs/tab-btm-right-bg.gif
 create mode 100644 static/extjs/resources/images/default/tabs/tab-close.gif
 create mode 100644 static/extjs/resources/images/default/tabs/tab-strip-bg.gif
 create mode 100644 static/extjs/resources/images/default/tabs/tab-strip-bg.png
 create mode 100644 static/extjs/resources/images/default/tabs/tab-strip-btm-bg.gif
 create mode 100644 static/extjs/resources/images/default/tabs/tabs-sprite.gif
 create mode 100644 static/extjs/resources/images/default/toolbar/bg.gif
 create mode 100644 static/extjs/resources/images/default/toolbar/btn-arrow-light.gif
 create mode 100644 static/extjs/resources/images/default/toolbar/btn-arrow.gif
 create mode 100644 static/extjs/resources/images/default/toolbar/btn-over-bg.gif
 create mode 100644 static/extjs/resources/images/default/toolbar/gray-bg.gif
 create mode 100644 static/extjs/resources/images/default/toolbar/tb-bg.gif
 create mode 100644 static/extjs/resources/images/default/toolbar/tb-btn-sprite.gif
 create mode 100644 static/extjs/resources/images/default/tree/arrows.gif
 create mode 100644 static/extjs/resources/images/default/tree/drop-add.gif
 create mode 100644 static/extjs/resources/images/default/tree/drop-between.gif
 create mode 100644 static/extjs/resources/images/default/tree/drop-no.gif
 create mode 100644 static/extjs/resources/images/default/tree/drop-over.gif
 create mode 100644 static/extjs/resources/images/default/tree/drop-under.gif
 create mode 100644 static/extjs/resources/images/default/tree/drop-yes.gif
 create mode 100644 static/extjs/resources/images/default/tree/elbow-end-minus-nl.gif
 create mode 100644 static/extjs/resources/images/default/tree/elbow-end-minus.gif
 create mode 100644 static/extjs/resources/images/default/tree/elbow-end-plus-nl.gif
 create mode 100644 static/extjs/resources/images/default/tree/elbow-end-plus.gif
 create mode 100644 static/extjs/resources/images/default/tree/elbow-end.gif
 create mode 100644 static/extjs/resources/images/default/tree/elbow-line.gif
 create mode 100644 static/extjs/resources/images/default/tree/elbow-minus-nl.gif
 create mode 100644 static/extjs/resources/images/default/tree/elbow-minus.gif
 create mode 100644 static/extjs/resources/images/default/tree/elbow-plus-nl.gif
 create mode 100644 static/extjs/resources/images/default/tree/elbow-plus.gif
 create mode 100644 static/extjs/resources/images/default/tree/elbow.gif
 create mode 100644 static/extjs/resources/images/default/tree/folder-open.gif
 create mode 100644 static/extjs/resources/images/default/tree/folder.gif
 create mode 100644 static/extjs/resources/images/default/tree/leaf.gif
 create mode 100644 static/extjs/resources/images/default/tree/loading.gif
 create mode 100644 static/extjs/resources/images/default/tree/s.gif
 create mode 100644 static/extjs/resources/images/default/window/icon-error.gif
 create mode 100644 static/extjs/resources/images/default/window/icon-info.gif
 create mode 100644 static/extjs/resources/images/default/window/icon-question.gif
 create mode 100644 static/extjs/resources/images/default/window/icon-warning.gif
 create mode 100644 static/extjs/resources/images/default/window/left-corners.png
 create mode 100644 static/extjs/resources/images/default/window/left-corners.psd
 create mode 100644 static/extjs/resources/images/default/window/left-right.png
 create mode 100644 static/extjs/resources/images/default/window/left-right.psd
 create mode 100644 static/extjs/resources/images/default/window/right-corners.png
 create mode 100644 static/extjs/resources/images/default/window/right-corners.psd
 create mode 100644 static/extjs/resources/images/default/window/top-bottom.png
 create mode 100644 static/extjs/resources/images/default/window/top-bottom.psd
 create mode 100644 static/extjs/resources/images/gray/button/btn-arrow.gif
 create mode 100644 static/extjs/resources/images/gray/button/btn-sprite.gif
 create mode 100644 static/extjs/resources/images/gray/gradient-bg.gif
 create mode 100644 static/extjs/resources/images/gray/panel/corners-sprite.gif
 create mode 100644 static/extjs/resources/images/gray/panel/left-right.gif
 create mode 100644 static/extjs/resources/images/gray/panel/light-hd.gif
 create mode 100644 static/extjs/resources/images/gray/panel/tool-sprite-tpl.gif
 create mode 100644 static/extjs/resources/images/gray/panel/tool-sprites.gif
 create mode 100644 static/extjs/resources/images/gray/panel/tools-sprites-trans.gif
 create mode 100644 static/extjs/resources/images/gray/panel/top-bottom.gif
 create mode 100644 static/extjs/resources/images/gray/panel/top-bottom.png
 create mode 100644 static/extjs/resources/images/gray/panel/white-corners-sprite.gif
 create mode 100644 static/extjs/resources/images/gray/panel/white-left-right.gif
 create mode 100644 static/extjs/resources/images/gray/panel/white-top-bottom.gif
 create mode 100644 static/extjs/resources/images/gray/qtip/bg.gif
 create mode 100644 static/extjs/resources/images/gray/qtip/close.gif
 create mode 100644 static/extjs/resources/images/gray/qtip/tip-sprite.gif
 create mode 100644 static/extjs/resources/images/gray/s.gif
 create mode 100644 static/extjs/resources/images/gray/tabs/scroll-left.gif
 create mode 100644 static/extjs/resources/images/gray/tabs/scroll-right.gif
 create mode 100644 static/extjs/resources/images/gray/tabs/scroller-bg.gif
 create mode 100644 static/extjs/resources/images/gray/tabs/tab-btm-inactive-left-bg.gif
 create mode 100644 static/extjs/resources/images/gray/tabs/tab-btm-inactive-right-bg.gif
 create mode 100644 static/extjs/resources/images/gray/tabs/tab-btm-left-bg.gif
 create mode 100644 static/extjs/resources/images/gray/tabs/tab-btm-right-bg.gif
 create mode 100644 static/extjs/resources/images/gray/tabs/tab-close.gif
 create mode 100644 static/extjs/resources/images/gray/tabs/tab-strip-bg.gif
 create mode 100644 static/extjs/resources/images/gray/tabs/tab-strip-bg.png
 create mode 100644 static/extjs/resources/images/gray/tabs/tab-strip-btm-bg.gif
 create mode 100644 static/extjs/resources/images/gray/tabs/tabs-sprite.gif
 create mode 100644 static/extjs/resources/images/gray/toolbar/bg.gif
 create mode 100644 static/extjs/resources/images/gray/toolbar/btn-arrow-light.gif
 create mode 100644 static/extjs/resources/images/gray/toolbar/btn-arrow.gif
 create mode 100644 static/extjs/resources/images/gray/toolbar/btn-over-bg.gif
 create mode 100644 static/extjs/resources/images/gray/toolbar/gray-bg.gif
 create mode 100644 static/extjs/resources/images/gray/toolbar/tb-bg.gif
 create mode 100644 static/extjs/resources/images/gray/toolbar/tb-btn-sprite.gif
 create mode 100644 static/extjs/resources/images/gray/window/icon-error.gif
 create mode 100644 static/extjs/resources/images/gray/window/icon-info.gif
 create mode 100644 static/extjs/resources/images/gray/window/icon-question.gif
 create mode 100644 static/extjs/resources/images/gray/window/icon-warning.gif
 create mode 100644 static/extjs/resources/images/gray/window/left-corners.png
 create mode 100644 static/extjs/resources/images/gray/window/left-corners.pspimage
 create mode 100644 static/extjs/resources/images/gray/window/left-right.png
 create mode 100644 static/extjs/resources/images/gray/window/right-corners.png
 create mode 100644 static/extjs/resources/images/gray/window/top-bottom.png
 create mode 100644 static/extjs/resources/images/slate/box/tb-blue.gif
 create mode 100644 static/extjs/resources/images/slate/button/btn-arrow.gif
 create mode 100644 static/extjs/resources/images/slate/button/btn-sprite.gif
 create mode 100644 static/extjs/resources/images/slate/editor/tb-sprite.gif
 create mode 100644 static/extjs/resources/images/slate/form/checkbox.gif
 create mode 100644 static/extjs/resources/images/slate/form/clear-trigger.gif
 create mode 100644 static/extjs/resources/images/slate/form/date-trigger.gif
 create mode 100644 static/extjs/resources/images/slate/form/radio.gif
 create mode 100644 static/extjs/resources/images/slate/form/search-trigger.gif
 create mode 100644 static/extjs/resources/images/slate/form/trigger-tpl.gif
 create mode 100644 static/extjs/resources/images/slate/form/trigger.gif
 create mode 100644 static/extjs/resources/images/slate/grid/grid-split.gif
 create mode 100644 static/extjs/resources/images/slate/grid/grid3-hd-btn.gif
 create mode 100644 static/extjs/resources/images/slate/grid/grid3-hrow-over.gif
 create mode 100644 static/extjs/resources/images/slate/grid/grid3-hrow.gif
 create mode 100644 static/extjs/resources/images/slate/grid/grid3-special-col-bg.gif
 create mode 100644 static/extjs/resources/images/slate/grid/grid3-special-col-sel-bg.gif
 create mode 100644 static/extjs/resources/images/slate/grid/page-first-disabled.gif
 create mode 100644 static/extjs/resources/images/slate/grid/page-first.gif
 create mode 100644 static/extjs/resources/images/slate/grid/page-last-disabled.gif
 create mode 100644 static/extjs/resources/images/slate/grid/page-last.gif
 create mode 100644 static/extjs/resources/images/slate/grid/page-next.gif
 create mode 100644 static/extjs/resources/images/slate/grid/page-prev.gif
 create mode 100644 static/extjs/resources/images/slate/grid/refresh.gif
 create mode 100644 static/extjs/resources/images/slate/grid/sort_asc.gif
 create mode 100644 static/extjs/resources/images/slate/grid/sort_desc.gif
 create mode 100644 static/extjs/resources/images/slate/menu/checked.gif
 create mode 100644 static/extjs/resources/images/slate/menu/group-checked.gif
 create mode 100644 static/extjs/resources/images/slate/menu/item-over.gif
 create mode 100644 static/extjs/resources/images/slate/menu/menu-parent.gif
 create mode 100644 static/extjs/resources/images/slate/menu/menu.gif
 create mode 100644 static/extjs/resources/images/slate/menu/unchecked.gif
 create mode 100644 static/extjs/resources/images/slate/panel/corners-sprite.gif
 create mode 100644 static/extjs/resources/images/slate/panel/left-right.gif
 create mode 100644 static/extjs/resources/images/slate/panel/light-hd.gif
 create mode 100644 static/extjs/resources/images/slate/panel/tool-sprite-tpl.gif
 create mode 100644 static/extjs/resources/images/slate/panel/tool-sprites.gif
 create mode 100644 static/extjs/resources/images/slate/panel/top-bottom.gif
 create mode 100644 static/extjs/resources/images/slate/panel/top-bottom.png
 create mode 100644 static/extjs/resources/images/slate/panel/white-corners-sprite.gif
 create mode 100644 static/extjs/resources/images/slate/panel/white-left-right.gif
 create mode 100644 static/extjs/resources/images/slate/panel/white-top-bottom.gif
 create mode 100644 static/extjs/resources/images/slate/progress/progress-bg.gif
 create mode 100644 static/extjs/resources/images/slate/qtip/bg.gif
 create mode 100644 static/extjs/resources/images/slate/qtip/close.gif
 create mode 100644 static/extjs/resources/images/slate/qtip/tip-sprite.gif
 create mode 100644 static/extjs/resources/images/slate/shared/glass-bg.gif
 create mode 100644 static/extjs/resources/images/slate/shared/hd-sprite.gif
 create mode 100644 static/extjs/resources/images/slate/shared/left-btn.gif
 create mode 100644 static/extjs/resources/images/slate/shared/right-btn.gif
 create mode 100644 static/extjs/resources/images/slate/sizer/e-handle-dark.gif
 create mode 100644 static/extjs/resources/images/slate/sizer/e-handle.gif
 create mode 100644 static/extjs/resources/images/slate/sizer/ne-handle-dark.gif
 create mode 100644 static/extjs/resources/images/slate/sizer/ne-handle.gif
 create mode 100644 static/extjs/resources/images/slate/sizer/nw-handle-dark.gif
 create mode 100644 static/extjs/resources/images/slate/sizer/nw-handle.gif
 create mode 100644 static/extjs/resources/images/slate/sizer/s-handle-dark.gif
 create mode 100644 static/extjs/resources/images/slate/sizer/s-handle.gif
 create mode 100644 static/extjs/resources/images/slate/sizer/se-handle-dark.gif
 create mode 100644 static/extjs/resources/images/slate/sizer/se-handle.gif
 create mode 100644 static/extjs/resources/images/slate/sizer/square.gif
 create mode 100644 static/extjs/resources/images/slate/sizer/sw-handle-dark.gif
 create mode 100644 static/extjs/resources/images/slate/sizer/sw-handle.gif
 create mode 100644 static/extjs/resources/images/slate/slider/slider-bg.png
 create mode 100644 static/extjs/resources/images/slate/slider/slider-thumb.png
 create mode 100644 static/extjs/resources/images/slate/slider/slider-v-bg.png
 create mode 100644 static/extjs/resources/images/slate/slider/slider-v-thumb.png
 create mode 100644 static/extjs/resources/images/slate/tabs/scroll-left.gif
 create mode 100644 static/extjs/resources/images/slate/tabs/scroll-right.gif
 create mode 100644 static/extjs/resources/images/slate/tabs/scroller-bg.gif
 create mode 100644 static/extjs/resources/images/slate/tabs/tab-btm-inactive-left-bg.gif
 create mode 100644 static/extjs/resources/images/slate/tabs/tab-btm-inactive-right-bg.gif
 create mode 100644 static/extjs/resources/images/slate/tabs/tab-btm-left-bg.gif
 create mode 100644 static/extjs/resources/images/slate/tabs/tab-btm-right-bg.gif
 create mode 100644 static/extjs/resources/images/slate/tabs/tab-close.gif
 create mode 100644 static/extjs/resources/images/slate/tabs/tab-strip-bg.gif
 create mode 100644 static/extjs/resources/images/slate/tabs/tab-strip-btm-bg.gif
 create mode 100644 static/extjs/resources/images/slate/tabs/tabs-sprite.gif
 create mode 100644 static/extjs/resources/images/slate/toolbar/bg.gif
 create mode 100644 static/extjs/resources/images/slate/toolbar/btn-arrow.gif
 create mode 100644 static/extjs/resources/images/slate/toolbar/btn-over-bg.gif
 create mode 100644 static/extjs/resources/images/slate/toolbar/tb-btn-sprite.gif
 create mode 100644 static/extjs/resources/images/slate/tree/arrows.gif
 create mode 100644 static/extjs/resources/images/slate/window/left-corners.png
 create mode 100644 static/extjs/resources/images/slate/window/left-right.png
 create mode 100644 static/extjs/resources/images/slate/window/right-corners.png
 create mode 100644 static/extjs/resources/images/slate/window/top-bottom.png
 create mode 100644 static/extjs/resources/images/vista/basic-dialog/bg-center.gif
 create mode 100644 static/extjs/resources/images/vista/basic-dialog/bg-left.gif
 create mode 100644 static/extjs/resources/images/vista/basic-dialog/bg-right.gif
 create mode 100644 static/extjs/resources/images/vista/basic-dialog/close.gif
 create mode 100644 static/extjs/resources/images/vista/basic-dialog/collapse.gif
 create mode 100644 static/extjs/resources/images/vista/basic-dialog/dlg-bg.gif
 create mode 100644 static/extjs/resources/images/vista/basic-dialog/e-handle.gif
 create mode 100644 static/extjs/resources/images/vista/basic-dialog/expand.gif
 create mode 100644 static/extjs/resources/images/vista/basic-dialog/hd-sprite.gif
 create mode 100644 static/extjs/resources/images/vista/basic-dialog/s-handle.gif
 create mode 100644 static/extjs/resources/images/vista/basic-dialog/se-handle.gif
 create mode 100644 static/extjs/resources/images/vista/basic-dialog/w-handle.gif
 create mode 100644 static/extjs/resources/images/vista/gradient-bg.gif
 create mode 100644 static/extjs/resources/images/vista/grid/grid-split.gif
 create mode 100644 static/extjs/resources/images/vista/grid/grid-vista-hd.gif
 create mode 100644 static/extjs/resources/images/vista/layout/collapse.gif
 create mode 100644 static/extjs/resources/images/vista/layout/expand.gif
 create mode 100644 static/extjs/resources/images/vista/layout/gradient-bg.gif
 create mode 100644 static/extjs/resources/images/vista/layout/ns-collapse.gif
 create mode 100644 static/extjs/resources/images/vista/layout/ns-expand.gif
 create mode 100644 static/extjs/resources/images/vista/layout/panel-close.gif
 create mode 100644 static/extjs/resources/images/vista/layout/panel-title-bg.gif
 create mode 100644 static/extjs/resources/images/vista/layout/panel-title-light-bg.gif
 create mode 100644 static/extjs/resources/images/vista/layout/stick.gif
 create mode 100644 static/extjs/resources/images/vista/layout/tab-close-on.gif
 create mode 100644 static/extjs/resources/images/vista/layout/tab-close.gif
 create mode 100644 static/extjs/resources/images/vista/qtip/bg.gif
 create mode 100644 static/extjs/resources/images/vista/qtip/tip-sprite.gif
 create mode 100644 static/extjs/resources/images/vista/s.gif
 create mode 100644 static/extjs/resources/images/vista/sizer/e-handle-dark.gif
 create mode 100644 static/extjs/resources/images/vista/sizer/e-handle.gif
 create mode 100644 static/extjs/resources/images/vista/sizer/ne-handle-dark.gif
 create mode 100644 static/extjs/resources/images/vista/sizer/ne-handle.gif
 create mode 100644 static/extjs/resources/images/vista/sizer/nw-handle-dark.gif
 create mode 100644 static/extjs/resources/images/vista/sizer/nw-handle.gif
 create mode 100644 static/extjs/resources/images/vista/sizer/s-handle-dark.gif
 create mode 100644 static/extjs/resources/images/vista/sizer/s-handle.gif
 create mode 100644 static/extjs/resources/images/vista/sizer/se-handle-dark.gif
 create mode 100644 static/extjs/resources/images/vista/sizer/se-handle.gif
 create mode 100644 static/extjs/resources/images/vista/sizer/sw-handle-dark.gif
 create mode 100644 static/extjs/resources/images/vista/sizer/sw-handle.gif
 create mode 100644 static/extjs/resources/images/vista/tabs/tab-btm-inactive-left-bg.gif
 create mode 100644 static/extjs/resources/images/vista/tabs/tab-btm-inactive-right-bg.gif
 create mode 100644 static/extjs/resources/images/vista/tabs/tab-btm-left-bg.gif
 create mode 100644 static/extjs/resources/images/vista/tabs/tab-btm-right-bg.gif
 create mode 100644 static/extjs/resources/images/vista/tabs/tab-sprite.gif
 create mode 100644 static/extjs/resources/images/vista/toolbar/gray-bg.gif
 create mode 100644 static/extjs/resources/images/vista/toolbar/tb-btn-sprite.gif
 create mode 100644 static/extjs/resources/resources.jsb
 create mode 100644 static/jquery.js
 create mode 100644 static/styles.css
 create mode 100644 static/title.png
 create mode 100644 views/appadmin.html
 create mode 100644 views/default/index.html
 create mode 100644 views/generic.html
 create mode 100644 views/layout.html
 create mode 100644 views/web2py_ajax.html

diff --git a/ABOUT b/ABOUT
new file mode 100644
index 00000000..b160b8e9
--- /dev/null
+++ b/ABOUT
@@ -0,0 +1,2 @@
+Write something about this app.
+Developed with web2py.
\ No newline at end of file
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 00000000..c634946e
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,2 @@
+This is a sample license. You can write here anything you want 
+as long as you do not violate web2py copyright, trademark and license.
diff --git a/__init__.py b/__init__.py
new file mode 100644
index 00000000..e69de29b
diff --git a/controllers/appadmin.py b/controllers/appadmin.py
new file mode 100644
index 00000000..baf5bfbb
--- /dev/null
+++ b/controllers/appadmin.py
@@ -0,0 +1,268 @@
+
+# ##########################################################
+# ## make sure administrator is on localhost
+# ###########################################################
+
+import os
+import socket
+import datetime
+import copy
+import gluon.contenttype
+import gluon.fileutils
+
+# ## crytical --- make a copy of the environment
+
+global_env = copy.copy(globals())
+global_env['datetime'] = datetime
+
+http_host = request.env.http_host.split(':')[0]
+remote_addr = request.env.remote_addr
+try:
+    hosts = (http_host, socket.gethostbyname(remote_addr))
+except:
+    hosts = (http_host, )
+if remote_addr not in hosts:
+    raise HTTP(400)
+if not gluon.fileutils.check_credentials(request):
+    redirect('/admin')
+
+response.view = 'appadmin.html'
+response.menu = [[T('design'), False, URL('admin', 'default', 'design',
+                 args=[request.application])], [T('db'), False,
+                 URL(r=request, f='index')], [T('state'), False,
+                 URL(r=request, f='state')]]
+
+# ##########################################################
+# ## auxiliary functions
+# ###########################################################
+
+
+def get_databases(request):
+    dbs = {}
+    for (key, value) in global_env.items():
+        cond = False
+        try:
+            cond = isinstance(value, GQLDB)
+        except:
+            cond = isinstance(value, SQLDB)
+        if cond:
+            dbs[key] = value
+    return dbs
+
+
+databases = get_databases(None)
+
+
+def eval_in_global_env(text):
+    exec ('_ret=%s' % text, {}, global_env)
+    return global_env['_ret']
+
+
+def get_database(request):
+    if request.args and request.args[0] in databases:
+        return eval_in_global_env(request.args[0])
+    else:
+        session.flash = T('invalid request')
+        redirect(URL(r=request, f='index'))
+
+
+def get_table(request):
+    db = get_database(request)
+    if len(request.args) > 1 and request.args[1] in db.tables:
+        return (db, request.args[1])
+    else:
+        session.flash = T('invalid request')
+        redirect(URL(r=request, f='index'))
+
+
+def get_query(request):
+    try:
+        return eval_in_global_env(request.vars.query)
+    except Exception:
+        return None
+
+
+# ##########################################################
+# ## list all databases and tables
+# ###########################################################
+
+
+def index():
+    return dict(databases=databases)
+
+
+# ##########################################################
+# ## insert a new record
+# ###########################################################
+
+
+def insert():
+    (db, table) = get_table(request)
+    form = SQLFORM(db[table])
+    if form.accepts(request.vars, session):
+        response.flash = T('new record inserted')
+    return dict(form=form)
+
+
+# ##########################################################
+# ## list all records in table and insert new record
+# ###########################################################
+
+
+def download():
+    import os
+    db = get_database(request)
+    filename = request.args[1]
+
+    # ## for GAE only ###
+
+    (table, field) = filename.split('.')[:2]
+    if table in db.tables and field in db[table].fields:
+        uploadfield = db[table][field].uploadfield
+        if isinstance(uploadfield, str):
+            from gluon.contenttype import contenttype
+            response.headers['Content-Type'] = contenttype(filename)
+            rows = db(db[table][field] == filename).select()
+            return rows[0][uploadfield]
+
+    # ## end for GAE ###
+
+    path = os.path.join(request.folder, 'uploads/', filename)
+    return response.stream(open(path, 'rb'))
+
+
+def csv():
+    import gluon.contenttype
+    response.headers['Content-Type'] = \
+        gluon.contenttype.contenttype('.csv')
+    db = get_database(request)
+    query = get_query(request)
+    if not query:
+        return None
+    response.headers['Content-disposition'] = 'attachment; filename=%s_%s.csv'\
+         % tuple(request.vars.query.split('.')[:2])
+    return str(db(query).select())
+
+
+def import_csv(table, file):
+    table.import_from_csv_file(file)
+
+def select():
+    import re
+    db = get_database(request)
+    dbname = request.args[0]
+    regex = re.compile('(?P<table>\w+)\.(?P<field>\w+)=(?P<value>\d+)')
+    if request.vars.query:
+        match = regex.match(request.vars.query)
+        if match:
+            request.vars.query = '%s.%s.%s==%s' % (request.args[0],
+                    match.group('table'), match.group('field'),
+                    match.group('value'))
+    else:
+        request.vars.query = session.last_query
+    query = get_query(request)
+    if request.vars.start:
+        start = int(request.vars.start)
+    else:
+        start = 0
+    nrows = 0
+    stop = start + 100
+    table = None
+    rows = []
+    orderby = request.vars.orderby
+    if orderby:
+        orderby = dbname + '.' + orderby
+        if orderby == session.last_orderby:
+            if orderby[0] == '~':
+                orderby = orderby[1:]
+            else:
+                orderby = '~' + orderby
+    session.last_orderby = orderby
+    session.last_query = request.vars.query
+    form = FORM(TABLE(TR('Query:', '', INPUT(_style='width:400px',
+                _name='query', _value=request.vars.query or '',
+                requires=IS_NOT_EMPTY())), TR('Update:',
+                INPUT(_name='update_check', _type='checkbox',
+                value=False), INPUT(_style='width:400px',
+                _name='update_fields', _value=request.vars.update_fields
+                 or '')), TR('Delete:', INPUT(_name='delete_check',
+                _class='delete', _type='checkbox', value=False), ''),
+                TR('', '', INPUT(_type='submit', _value='submit'))),
+                _action=URL(r=request,args=request.args))
+    if request.vars.csvfile != None:
+        try:
+            import_csv(db[request.vars.table],
+                       request.vars.csvfile.file)
+            response.flash = T('data uploaded')
+        except:
+            response.flash = T('unable to parse csv file')
+    if form.accepts(request.vars, formname=None):
+        regex = re.compile(request.args[0] + '\.(?P<table>\w+)\.id\>0')
+        match = regex.match(form.vars.query.strip())
+        if match:
+            table = match.group('table')
+        try:
+            nrows = db(query).count()
+            if form.vars.update_check and form.vars.update_fields:
+                db(query).update(**eval_in_global_env('dict(%s)'
+                                  % form.vars.update_fields))
+                response.flash = T('%s rows updated', nrows)
+            elif form.vars.delete_check:
+                db(query).delete()
+                response.flash = T('%s rows deleted', nrows)
+            nrows = db(query).count()
+            if orderby:
+                rows = db(query).select(limitby=(start, stop),
+                        orderby=eval_in_global_env(orderby))
+            else:
+                rows = db(query).select(limitby=(start, stop))
+        except:
+            (rows, nrows) = ([], 0)
+            response.flash = T('Invalid Query')
+    return dict(
+        form=form,
+        table=table,
+        start=start,
+        stop=stop,
+        nrows=nrows,
+        rows=rows,
+        query=request.vars.query,
+        )
+
+
+# ##########################################################
+# ## edit delete one record
+# ###########################################################
+
+
+def update():
+    (db, table) = get_table(request)
+    try:
+        id = int(request.args[2])
+        record = db(db[table].id == id).select()[0]
+    except:
+        session.flash = T('record does not exist')
+        redirect(URL(r=request, f='select', args=request.args[:1],
+                 vars=dict(query='%s.%s.id>0'
+                  % tuple(request.args[:2]))))
+    form = SQLFORM(db[table], record, deletable=True,
+                   linkto=URL(r=request, f='select',
+                   args=request.args[:1]), upload=URL(r=request,
+                   f='download', args=request.args[:1]))
+    if form.accepts(request.vars, session):
+        response.flash = T('done!')
+        redirect(URL(r=request, f='select', args=request.args[:1],
+                 vars=dict(query='%s.%s.id>0'
+                  % tuple(request.args[:2]))))
+    return dict(form=form)
+
+
+# ##########################################################
+# ## get global variables
+# ###########################################################
+
+
+def state():
+    return dict()
+
+
diff --git a/controllers/default.py b/controllers/default.py
new file mode 100644
index 00000000..357ed236
--- /dev/null
+++ b/controllers/default.py
@@ -0,0 +1,13 @@
+
+
+# # sample index page with internationalization (T)
+def index():
+    response.flash = T('Welcome to web2py')
+    return dict(message=T('Hello World'))
+
+
+# # uncomment the following if you have defined "auth" and "crud" in models
+# def user(): return dict(form=auth())
+# def data(): return dict(form=crud())
+# def download(): return response.download(request,db)
+# # tip: use @auth.requires_login, requires_membership, requires_permission
diff --git a/languages/it-it.py b/languages/it-it.py
new file mode 100644
index 00000000..b453e003
--- /dev/null
+++ b/languages/it-it.py
@@ -0,0 +1,21 @@
+{
+'%Y-%m-%d':'%Y-%m-%d',
+'%Y-%m-%d %H:%M:%S':'%Y-%m-%d %H:%M:%S',
+'%s rows deleted':'%s records cancellati',
+'%s rows updated':'*** %s records modificati',
+'Hello World':'Salve Mondo',
+'Invalid Query':'Query invalida',
+'Sure you want to delete this object?':'Sicuro che vuoi cancellare questo oggetto?',
+'Welcome to web2py':'Ciao da wek2py',
+'click here for online examples':'clicca per vedere gli esempi',
+'click here for the administrative interface':'clicca per l\'interfaccia administrativa',
+'data uploaded':'dati caricati',
+'db':'db',
+'design':'progetta',
+'done!':'fatto!',
+'invalid request':'richiesta invalida!',
+'new record inserted':'nuovo record inserito',
+'record does not exist':'il record non esiste',
+'state':'stato',
+'unable to parse csv file':'non so leggere questo csv file'
+}
diff --git a/languages/it.py b/languages/it.py
new file mode 100644
index 00000000..b453e003
--- /dev/null
+++ b/languages/it.py
@@ -0,0 +1,21 @@
+{
+'%Y-%m-%d':'%Y-%m-%d',
+'%Y-%m-%d %H:%M:%S':'%Y-%m-%d %H:%M:%S',
+'%s rows deleted':'%s records cancellati',
+'%s rows updated':'*** %s records modificati',
+'Hello World':'Salve Mondo',
+'Invalid Query':'Query invalida',
+'Sure you want to delete this object?':'Sicuro che vuoi cancellare questo oggetto?',
+'Welcome to web2py':'Ciao da wek2py',
+'click here for online examples':'clicca per vedere gli esempi',
+'click here for the administrative interface':'clicca per l\'interfaccia administrativa',
+'data uploaded':'dati caricati',
+'db':'db',
+'design':'progetta',
+'done!':'fatto!',
+'invalid request':'richiesta invalida!',
+'new record inserted':'nuovo record inserito',
+'record does not exist':'il record non esiste',
+'state':'stato',
+'unable to parse csv file':'non so leggere questo csv file'
+}
diff --git a/languages/pt-br.py b/languages/pt-br.py
new file mode 100644
index 00000000..d008f31a
--- /dev/null
+++ b/languages/pt-br.py
@@ -0,0 +1,21 @@
+{
+'%Y-%m-%d':'%Y-%m-%d',
+'%Y-%m-%d %H:%M:%S':'%Y-%m-%d %H:%M:%S',
+'%s rows deleted':'%s linhas apagadas',
+'%s rows updated':'%s linhas atualizadas',
+'Hello World':'Ol\xc3\xa1 Mundo',
+'Invalid Query':'Consulta Inv\xc3\xa1lida',
+'Sure you want to delete this object?':'Est\xc3\xa1 certo(a) que deseja apagar esse objeto ?',
+'Welcome to web2py':'Bem vindo ao web2py',
+'click here for online examples':'clique aqui para ver alguns exemplos',
+'click here for the administrative interface':'clique aqui para acessar a interface administrativa',
+'data uploaded':'dados enviados',
+'db':'db',
+'design':'design',
+'done!':'conclu\xc3\xaddo!',
+'invalid request':'requisi\xc3\xa7\xc3\xa3o inv\xc3\xa1lida',
+'new record inserted':'novo registro inserido',
+'record does not exist':'registro n\xc3\xa3o existe',
+'state':'estado',
+'unable to parse csv file':'n\xc3\xa3o foi poss\xc3\xadvel analisar arquivo csv',
+}
diff --git a/models/db.py b/models/db.py
new file mode 100644
index 00000000..d89ec157
--- /dev/null
+++ b/models/db.py
@@ -0,0 +1,89 @@
+#!/usr/bin/python
+# -*- coding: utf-8 -*-
+#########################################################################
+## This scaffolding model makes your app work on Google App Engine too
+#########################################################################
+
+try:
+    from gluon.contrib.gql import *  # if running on Google App Engine
+except:
+    db = SQLDB('sqlite://storage.db')  # if not, use SQLite or other DB
+else:
+    db = GQLDB()  # connect to Google BigTable
+    session.connect(request, response, db=db)  # and store sessions there
+    # or use the following lines to store sessions in Memcache
+    #from gluon.contrib.memdb import MEMDB
+    #from google.appengine.api.memcache import Client
+    #session.connect(request, response, db=MEMDB(Client()))
+
+#########################################################################
+## uncomment the following line if you do not want sessions
+#session.forget()
+#########################################################################
+
+#########################################################################
+## Define your tables below, for example
+##
+## >>> db.define_table('mytable',SQLField('myfield','string'))
+##
+## Fields can be 'string','text','password','integer','double','booelan'
+##       'date','time','datetime','blob','upload', 'reference TABLENAME'
+## There is an implicit 'id integer autoincrement' field
+## Consult manual for more options, validators, etc.
+##
+## More API examples for controllers:
+##
+## >>> db.mytable.insert(myfield='value')
+## >>> rows=db(db.mytbale.myfield=='value).select(db.mytable.ALL)
+## >>> for row in rows: print row.id, row.myfield
+#########################################################################
+
+#########################################################################
+## Here is sample code if you need:
+## - email capabilities
+## - authentication (registration, login, logout, ... )
+## - authorization (role based authorization)
+## - crud actions
+## uncomment as needed
+#########################################################################
+
+#from gluon.tools import Mail, Auth, Crud     # new in web2py 1.56
+#mail=Mail()                                  # mailer
+#mail.settings.server='smtp.gmail.com:587'    # your SMTP server
+#mail.settings.sender='you@gmail.com'         # your email
+#mail.settings.login='username:password'      # your credentials
+#auth=Auth(globals(),db)                      # authentication/authorization
+#auth.settings.mailer=mail                    # for user email verification
+#auth.define_tables()                         # creates all needed tables
+#crud=Crud(globals(),db)                      # for CRUD helpers using auth
+#crud.settings.auth=auth                      # (optional) enforces authorization on crud
+
+#########################################################################
+## then, to expose authentication
+## http://..../[app]/default/user/login
+## http://..../[app]/default/user/logout
+## http://..../[app]/default/user/register
+## http://..../[app]/default/user/profile
+## http://..../[app]/default/user/retrieve_password
+## http://..../[app]/default/user/change_password
+## use the following action in controller default.py
+##
+##     def user(): return dict(form=auth())
+##
+## read docs for howto create roles/groups, assign memberships and permissions
+##
+## to expose CRUD
+## http://..../[app]/default/data/tables
+## http://..../[app]/default/data/select/[table]
+## http://..../[app]/default/data/create/[table]
+## http://..../[app]/default/data/read/[table]/[id]
+## http://..../[app]/default/data/update/[table]/[id]
+## http://..../[app]/default/data/delete/[table]/[id]
+## use the following action in controller default.py
+##
+##     def data(): return dict(form=crud())
+##
+## to allow automatic download of all uploaded files and enforce authorization
+## use the following action in controller default.py
+##
+##     def download(): return response.download(request,db)
diff --git a/modules/__init__.py b/modules/__init__.py
new file mode 100644
index 00000000..e69de29b
diff --git a/static/calendar.css b/static/calendar.css
new file mode 100755
index 00000000..18a84f2b
--- /dev/null
+++ b/static/calendar.css
@@ -0,0 +1 @@
+.calendar{position:relative;display:none;border-top:2px solid #fff;border-right:2px solid #000;border-bottom:2px solid #000;border-left:2px solid #fff;font-size:11px;color:#000;cursor:default;background:#d4d0c8;font-family:tahoma,verdana,sans-serif;}.calendar table{border-top:1px solid #000;border-right:1px solid #fff;border-bottom:1px solid #fff;border-left:1px solid #000;font-size:11px;color:#000;cursor:default;background:#d4d0c8;font-family:tahoma,verdana,sans-serif;}.calendar .button{text-align:center;padding:1px;border-top:1px solid #fff;border-right:1px solid #000;border-bottom:1px solid #000;border-left:1px solid #fff;}.calendar .nav{background:transparent}.calendar thead .title{font-weight:bold;padding:1px;border:1px solid #000;background:#848078;color:#fff;text-align:center;}.calendar thead .name{border-bottom:1px solid #000;padding:2px;text-align:center;background:#f4f0e8;}.calendar thead .weekend{color:#f00;}.calendar thead .hilite{border-top:2px solid #fff;border-right:2px solid #000;border-bottom:2px solid #000;border-left:2px solid #fff;padding:0;background-color:#e4e0d8;}.calendar thead .active{padding:2px 0 0 2px;border-top:1px solid #000;border-right:1px solid #fff;border-bottom:1px solid #fff;border-left:1px solid #000;background-color:#c4c0b8;}.calendar tbody .day{width:2em;text-align:right;padding:2px 4px 2px 2px;}.calendar tbody .day.othermonth{font-size:80%;color:#aaa;}.calendar tbody .day.othermonth.oweekend{color:#faa;}.calendar table .wn{padding:2px 3px 2px 2px;border-right:1px solid #000;background:#f4f0e8;}.calendar tbody .rowhilite td{background:#e4e0d8;}.calendar tbody .rowhilite td.wn{background:#d4d0c8;}.calendar tbody td.hilite{padding:1px 3px 1px 1px;border-top:1px solid #fff;border-right:1px solid #000;border-bottom:1px solid #000;border-left:1px solid #fff;}.calendar tbody td.active{padding:2px 2px 0 2px;border-top:1px solid #000;border-right:1px solid #fff;border-bottom:1px solid #fff;border-left:1px solid #000;}.calendar tbody td.selected{font-weight:bold;border-top:1px solid #000;border-right:1px solid #fff;border-bottom:1px solid #fff;border-left:1px solid #000;padding:2px 2px 0 2px;background:#e4e0d8;}.calendar tbody td.weekend{color:#f00;}.calendar tbody td.today{font-weight:bold;color:#00f;}.calendar tbody .disabled{color:#999;}.calendar tbody .emptycell{visibility:hidden;}.calendar tbody .emptyrow{display:none;}.calendar tfoot .ttip{background:#f4f0e8;padding:1px;border:1px solid #000;background:#848078;color:#fff;text-align:center;}.calendar tfoot .hilite{border-top:1px solid #fff;border-right:1px solid #000;border-bottom:1px solid #000;border-left:1px solid #fff;padding:1px;background:#e4e0d8;}.calendar tfoot .active{padding:2px 0 0 2px;border-top:1px solid #000;border-right:1px solid #fff;border-bottom:1px solid #fff;border-left:1px solid #000;}.calendar .combo{position:absolute;display:none;width:4em;top:0;left:0;cursor:default;border-top:1px solid #fff;border-right:1px solid #000;border-bottom:1px solid #000;border-left:1px solid #fff;background:#e4e0d8;font-size:90%;padding:1px;z-index:100;}.calendar .combo .label,.calendar .combo .label-IEfix{text-align:center;padding:1px;}.calendar .combo .label-IEfix{width:4em;}.calendar .combo .active{background:#c4c0b8;padding:0;border-top:1px solid #000;border-right:1px solid #fff;border-bottom:1px solid #fff;border-left:1px solid #000;}.calendar .combo .hilite{background:#048;color:#fea;}.calendar td.time{border-top:1px solid #000;padding:1px 0;text-align:center;background-color:#f4f0e8;}.calendar td.time .hour,.calendar td.time .minute,.calendar td.time .ampm{padding:0 3px 0 4px;border:1px solid #889;font-weight:bold;background-color:#fff;}.calendar td.time .ampm{text-align:center;}.calendar td.time .colon{padding:0 2px 0 3px;font-weight:bold;}.calendar td.time span.hilite{border-color:#000;background-color:#766;color:#fff;}.calendar td.time span.active{border-color:#f00;background-color:#000;color:#0f0;}#CP_hourcont{padding:0;position:absolute;border:1px dashed #666;background-color:#eee;display:none;}#CP_minutecont{background-color:#ddd;padding:1px;position:absolute;width:45px;display:none;}.floatleft{float:left;}.CP_hour{padding:1px;font-family:Arial,Helvetica,sans-serif;font-size:9px;white-space:nowrap;cursor:pointer;width:35px;}.CP_minute{padding:1px;font-family:Arial,Helvetica,sans-serif;font-size:9px;white-space:nowrap;cursor:pointer;width:auto;}.CP_over{background-color:#fff;}
\ No newline at end of file
diff --git a/static/calendar.js b/static/calendar.js
new file mode 100755
index 00000000..425a3631
--- /dev/null
+++ b/static/calendar.js
@@ -0,0 +1,80 @@
+/* Copyright Notice for Dynarch Date Time Picker */
+/*  Copyright Mihai Bazon, 2002-2005  |  www.bazon.net/mishoo
+ * -----------------------------------------------------------
+ *
+ * The DHTML Calendar, version 1.0 "It is happening again"
+ *
+ * Details and latest version at:
+ * www.dynarch.com/projects/calendar
+ *
+ * This script is developed by Dynarch.com.  Visit us at www.dynarch.com.
+ *
+ * This script is distributed under the GNU Lesser General Public License.
+ * Read the entire license text here: http://www.gnu.org/licenses/lgpl.html
+ */
+
+// Calendar EN language
+// Author: Mihai Bazon, <mihai_bazon@yahoo.com>
+// Encoding: any
+// Distributed under the same terms as the calendar itself.
+/* End Copyright Notice for Dynarch Date Time Picker */
+
+/*
+ClockPick, by Josh Nathanson
+Version 1.2.4
+Timepicker plugin for jQuery
+See copyright at end of file
+Complete documentation at http://www.oakcitygraphics.com/jquery/clockpick/trunk/ClockPick.cfm
+
+name	 clockpick
+type	 jQuery
+param	 options                  hash                    object containing config options
+param	 options[starthour]       int                     starting hour (use military int)
+param	 options[endhour]         int                     ending hour (use military int)
+param	 options[showminutes]     bool                    show minutes
+param 	 options[minutedivisions] int                     number of divisions, i.e. 4 = :00, :15, :30, :45
+param 	 options[military]        bool                    use 24hr time if true
+param	 options[event]           string                  mouse event to trigger plugin
+param	 options[layout]          string                  set div layout to vertical or horizontal
+                                  ('vertical','horizontal')
+param	 options[valuefield]      string                  field to insert time value, if not same as click field
+                                  (name of input field)
+param	 options[useBgiframe]	  bool					  set true if using bgIframe plugin
+param	 options[hoursopacity]	  float					  set opacity of hours container
+param 	 options[minutesopacity]  float					  set opacity of minutes container
+param	 callback                 function                callback function - gets passed back the time value as a 
+														  string
+*/
+
+/* Copyright Notice for jQuery Clockpick */
+/*
++-----------------------------------------------------------------------+
+| Copyright (c) 2007 Josh Nathanson                  |
+| All rights reserved.                                                  |
+|                                                                       |
+| Redistribution and use in source and binary forms, with or without    |
+| modification, are permitted provided that the following conditions    |
+| are met:                                                              |
+|                                                                       |
+| o Redistributions of source code must retain the above copyright      |
+|   notice, this list of conditions and the following disclaimer.       |
+| o Redistributions in binary form must reproduce the above copyright   |
+|   notice, this list of conditions and the following disclaimer in the |
+|   documentation and/or other materials provided with the distribution.|
+|                                                                       |
+| THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS   |
+| "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT     |
+| LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
+| A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT  |
+| OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
+| SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT      |
+| LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
+| DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
+| THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT   |
+| (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
+| OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  |
+|                                                                       |
++-----------------------------------------------------------------------+
+*/
+/* End Copyright Notice for jQuery Clockpick below */
+Calendar=function(J,K,H,G){this.activeDiv=null;this.currentDateEl=null;this.getDateStatus=null;this.getDateToolTip=null;this.getDateText=null;this.timeout=null;this.onSelected=H||null;this.onClose=G||null;this.dragging=false;this.hidden=false;this.minYear=1970;this.maxYear=2050;this.dateFormat=Calendar._TT.DEF_DATE_FORMAT;this.ttDateFormat=Calendar._TT.TT_DATE_FORMAT;this.isPopup=true;this.weekNumbers=true;this.firstDayOfWeek=typeof J=="number"?J:Calendar._FD;this.showsOtherMonths=false;this.dateStr=K;this.ar_days=null;this.showsTime=false;this.time24=true;this.yearStep=2;this.hiliteToday=true;this.multiple=null;this.table=null;this.element=null;this.tbody=null;this.firstdayname=null;this.monthsCombo=null;this.yearsCombo=null;this.hilitedMonth=null;this.activeMonth=null;this.hilitedYear=null;this.activeYear=null;this.dateClicked=false;if(typeof Calendar._SDN=="undefined"){if(typeof Calendar._SDN_len=="undefined"){Calendar._SDN_len=3}var L=new Array();for(var I=8;I>0;){L[--I]=Calendar._DN[I].substr(0,Calendar._SDN_len)}Calendar._SDN=L;if(typeof Calendar._SMN_len=="undefined"){Calendar._SMN_len=3}L=new Array();for(var I=12;I>0;){L[--I]=Calendar._MN[I].substr(0,Calendar._SMN_len)}Calendar._SMN=L}};Calendar._C=null;Calendar.is_ie=(/msie/i.test(navigator.userAgent)&&!/opera/i.test(navigator.userAgent));Calendar.is_ie5=(Calendar.is_ie&&/msie 5\.0/i.test(navigator.userAgent));Calendar.is_opera=/opera/i.test(navigator.userAgent);Calendar.is_khtml=/Konqueror|Safari|KHTML/i.test(navigator.userAgent);Calendar.getAbsolutePos=function(I){var G=0,J=0;var K=/^div$/i.test(I.tagName);if(K&&I.scrollLeft){G=I.scrollLeft}if(K&&I.scrollTop){J=I.scrollTop}var H={x:I.offsetLeft-G,y:I.offsetTop-J};if(I.offsetParent){var L=this.getAbsolutePos(I.offsetParent);H.x+=L.x;H.y+=L.y}return H};Calendar.isRelated=function(G,E){var F=E.relatedTarget;if(!F){var H=E.type;if(H=="mouseover"){F=E.fromElement}else{if(H=="mouseout"){F=E.toElement}}}while(F){if(F==G){return true}F=F.parentNode}return false};Calendar.removeClass=function(G,H){if(!(G&&G.className)){return }var F=G.className.split(" ");var J=new Array();for(var I=F.length;I>0;){if(F[--I]!=H){J[J.length]=F[I]}}G.className=J.join(" ")};Calendar.addClass=function(D,C){Calendar.removeClass(D,C);D.className+=" "+C};Calendar.getElement=function(C){var D=Calendar.is_ie?window.event.srcElement:C.currentTarget;while(D.nodeType!=1||/^div$/i.test(D.tagName)){D=D.parentNode}return D};Calendar.getTargetElement=function(C){var D=Calendar.is_ie?window.event.srcElement:C.target;while(D.nodeType!=1){D=D.parentNode}return D};Calendar.stopEvent=function(B){B||(B=window.event);if(Calendar.is_ie){B.cancelBubble=true;B.returnValue=false}else{B.preventDefault();B.stopPropagation()}return false};Calendar.addEvent=function(D,E,F){if(D.attachEvent){D.attachEvent("on"+E,F)}else{if(D.addEventListener){D.addEventListener(E,F,true)}else{D["on"+E]=F}}};Calendar.removeEvent=function(D,E,F){if(D.detachEvent){D.detachEvent("on"+E,F)}else{if(D.removeEventListener){D.removeEventListener(E,F,true)}else{D["on"+E]=null}}};Calendar.createElement=function(E,F){var D=null;if(document.createElementNS){D=document.createElementNS("http://www.w3.org/1999/xhtml",E)}else{D=document.createElement(E)}if(typeof F!="undefined"){F.appendChild(D)}return D};Calendar._add_evs=function(el){with(Calendar){addEvent(el,"mouseover",dayMouseOver);addEvent(el,"mousedown",dayMouseDown);addEvent(el,"mouseout",dayMouseOut);if(is_ie){addEvent(el,"dblclick",dayMouseDblClick);el.setAttribute("unselectable",true)}}};Calendar.findMonth=function(B){if(typeof B.month!="undefined"){return B}else{if(typeof B.parentNode.month!="undefined"){return B.parentNode}}return null};Calendar.findYear=function(B){if(typeof B.year!="undefined"){return B}else{if(typeof B.parentNode.year!="undefined"){return B.parentNode}}return null};Calendar.showMonthsCombo=function(){var I=Calendar._C;if(!I){return false}var I=I;var H=I.activeDiv;var J=I.monthsCombo;if(I.hilitedMonth){Calendar.removeClass(I.hilitedMonth,"hilite")}if(I.activeMonth){Calendar.removeClass(I.activeMonth,"active")}var K=I.monthsCombo.getElementsByTagName("div")[I.date.getMonth()];Calendar.addClass(K,"active");I.activeMonth=K;var L=J.style;L.display="block";if(H.navtype<0){L.left=H.offsetLeft+"px"}else{var G=J.offsetWidth;if(typeof G=="undefined"){G=50}L.left=(H.offsetLeft+H.offsetWidth-G)+"px"}L.top=(H.offsetTop+H.offsetHeight)+"px"};Calendar.showYearsCombo=function(K){var N=Calendar._C;if(!N){return false}var N=N;var L=N.activeDiv;var S=N.yearsCombo;if(N.hilitedYear){Calendar.removeClass(N.hilitedYear,"hilite")}if(N.activeYear){Calendar.removeClass(N.activeYear,"active")}N.activeYear=null;var M=N.date.getFullYear()+(K?1:-1);var P=S.firstChild;var Q=false;for(var T=12;T>0;--T){if(M>=N.minYear&&M<=N.maxYear){P.innerHTML=M;P.year=M;P.style.display="block";Q=true}else{P.style.display="none"}P=P.nextSibling;M+=K?N.yearStep:-N.yearStep}if(Q){var O=S.style;O.display="block";if(L.navtype<0){O.left=L.offsetLeft+"px"}else{var R=S.offsetWidth;if(typeof R=="undefined"){R=50}O.left=(L.offsetLeft+L.offsetWidth-R)+"px"}O.top=(L.offsetTop+L.offsetHeight)+"px"}};Calendar.tableMouseUp=function(ev){var cal=Calendar._C;if(!cal){return false}if(cal.timeout){clearTimeout(cal.timeout)}var el=cal.activeDiv;if(!el){return false}var target=Calendar.getTargetElement(ev);ev||(ev=window.event);Calendar.removeClass(el,"active");if(target==el||target.parentNode==el){Calendar.cellClick(el,ev)}var mon=Calendar.findMonth(target);var date=null;if(mon){date=new Date(cal.date);if(mon.month!=date.getMonth()){date.setMonth(mon.month);cal.setDate(date);cal.dateClicked=false;cal.callHandler()}}else{var year=Calendar.findYear(target);if(year){date=new Date(cal.date);if(year.year!=date.getFullYear()){date.setFullYear(year.year);cal.setDate(date);cal.dateClicked=false;cal.callHandler()}}}with(Calendar){removeEvent(document,"mouseup",tableMouseUp);removeEvent(document,"mouseover",tableMouseOver);removeEvent(document,"mousemove",tableMouseOver);cal._hideCombos();_C=null;return stopEvent(ev)}};Calendar.tableMouseOver=function(X){var T=Calendar._C;if(!T){return }var R=T.activeDiv;var b=Calendar.getTargetElement(X);if(b==R||b.parentNode==R){Calendar.addClass(R,"hilite active");Calendar.addClass(R.parentNode,"rowhilite")}else{if(typeof R.navtype=="undefined"||(R.navtype!=50&&(R.navtype==0||Math.abs(R.navtype)>2))){Calendar.removeClass(R,"active")}Calendar.removeClass(R,"hilite");Calendar.removeClass(R.parentNode,"rowhilite")}X||(X=window.event);if(R.navtype==50&&b!=R){var Y=Calendar.getAbsolutePos(R);var V=R.offsetWidth;var W=X.clientX;var U;var Z=true;if(W>Y.x+V){U=W-Y.x-V;Z=false}else{U=Y.x-W}if(U<0){U=0}var e=R._range;var c=R._current;var d=Math.floor(U/10)%e.length;for(var f=e.length;--f>=0;){if(e[f]==c){break}}while(d-->0){if(Z){if(--f<0){f=e.length-1}}else{if(++f>=e.length){f=0}}}var S=e[f];R.innerHTML=S;T.onUpdateTime()}var Q=Calendar.findMonth(b);if(Q){if(Q.month!=T.date.getMonth()){if(T.hilitedMonth){Calendar.removeClass(T.hilitedMonth,"hilite")}Calendar.addClass(Q,"hilite");T.hilitedMonth=Q}else{if(T.hilitedMonth){Calendar.removeClass(T.hilitedMonth,"hilite")}}}else{if(T.hilitedMonth){Calendar.removeClass(T.hilitedMonth,"hilite")}var a=Calendar.findYear(b);if(a){if(a.year!=T.date.getFullYear()){if(T.hilitedYear){Calendar.removeClass(T.hilitedYear,"hilite")}Calendar.addClass(a,"hilite");T.hilitedYear=a}else{if(T.hilitedYear){Calendar.removeClass(T.hilitedYear,"hilite")}}}else{if(T.hilitedYear){Calendar.removeClass(T.hilitedYear,"hilite")}}}return Calendar.stopEvent(X)};Calendar.tableMouseDown=function(B){if(Calendar.getTargetElement(B)==Calendar.getElement(B)){return Calendar.stopEvent(B)}};Calendar.calDragIt=function(J){var I=Calendar._C;if(!(I&&I.dragging)){return false}var G;var H;if(Calendar.is_ie){H=window.event.clientY+document.body.scrollTop;G=window.event.clientX+document.body.scrollLeft}else{G=J.pageX;H=J.pageY}I.hideShowCovered();var F=I.element.style;F.left=(G-I.xOffs)+"px";F.top=(H-I.yOffs)+"px";return Calendar.stopEvent(J)};Calendar.calDragEnd=function(ev){var cal=Calendar._C;if(!cal){return false}cal.dragging=false;with(Calendar){removeEvent(document,"mousemove",calDragIt);removeEvent(document,"mouseup",calDragEnd);tableMouseUp(ev)}cal.hideShowCovered()};Calendar.dayMouseDown=function(ev){var el=Calendar.getElement(ev);if(el.disabled){return false}var cal=el.calendar;cal.activeDiv=el;Calendar._C=cal;if(el.navtype!=300){with(Calendar){if(el.navtype==50){el._current=el.innerHTML;addEvent(document,"mousemove",tableMouseOver)}else{addEvent(document,Calendar.is_ie5?"mousemove":"mouseover",tableMouseOver)}addClass(el,"hilite active");addEvent(document,"mouseup",tableMouseUp)}}else{if(cal.isPopup){cal._dragStart(ev)}}if(el.navtype==-1||el.navtype==1){if(cal.timeout){clearTimeout(cal.timeout)}cal.timeout=setTimeout("Calendar.showMonthsCombo()",250)}else{if(el.navtype==-2||el.navtype==2){if(cal.timeout){clearTimeout(cal.timeout)}cal.timeout=setTimeout((el.navtype>0)?"Calendar.showYearsCombo(true)":"Calendar.showYearsCombo(false)",250)}else{cal.timeout=null}}return Calendar.stopEvent(ev)};Calendar.dayMouseDblClick=function(B){Calendar.cellClick(Calendar.getElement(B),B||window.event);if(Calendar.is_ie){document.selection.empty()}};Calendar.dayMouseOver=function(D){var C=Calendar.getElement(D);if(Calendar.isRelated(C,D)||Calendar._C||C.disabled){return false}if(C.ttip){if(C.ttip.substr(0,1)=="_"){C.ttip=C.caldate.print(C.calendar.ttDateFormat)+C.ttip.substr(1)}C.calendar.tooltips.innerHTML=C.ttip}if(C.navtype!=300){Calendar.addClass(C,"hilite");if(C.caldate){Calendar.addClass(C.parentNode,"rowhilite")}}return Calendar.stopEvent(D)};Calendar.dayMouseOut=function(ev){with(Calendar){var el=getElement(ev);if(isRelated(el,ev)||_C||el.disabled){return false}removeClass(el,"hilite");if(el.caldate){removeClass(el.parentNode,"rowhilite")}if(el.calendar){el.calendar.tooltips.innerHTML=_TT.SEL_DATE}return stopEvent(ev)}};Calendar.cellClick=function(d,U){var Q=d.calendar;var a=false;var X=false;var c=null;if(typeof d.navtype=="undefined"){if(Q.currentDateEl){Calendar.removeClass(Q.currentDateEl,"selected");Calendar.addClass(d,"selected");a=(Q.currentDateEl==d);if(!a){Q.currentDateEl=d}}Q.date.setDateOnly(d.caldate);c=Q.date;var R=!(Q.dateClicked=!d.otherMonth);if(!R&&!Q.currentDateEl){Q._toggleMultipleDate(new Date(c))}else{X=!d.disabled}if(R){Q._init(Q.firstDayOfWeek,c)}}else{if(d.navtype==200){Calendar.removeClass(d,"hilite");Q.callCloseHandler();return }c=new Date(Q.date);if(d.navtype==0){c.setDateOnly(new Date())}Q.dateClicked=false;var V=c.getFullYear();var b=c.getMonth();function S(B){var A=c.getDate();var C=c.getMonthDays(B);if(A>C){c.setDate(C)}c.setMonth(B)}switch(d.navtype){case 400:Calendar.removeClass(d,"hilite");var T=Calendar._TT.ABOUT;if(typeof T!="undefined"){T+=Q.showsTime?Calendar._TT.ABOUT_TIME:""}else{T='Help and about box text is not translated into this language.\nIf you know this language and you feel generous please update\nthe corresponding file in "lang" subdir to match calendar-en.js\nand send it back to <mihai_bazon@yahoo.com> to get it into the distribution  ;-)\n\nThank you!\nhttp://dynarch.com/mishoo/calendar.epl\n'}alert(T);return ;case -2:if(V>Q.minYear){c.setFullYear(V-1)}break;case -1:if(b>0){S(b-1)}else{if(V-->Q.minYear){c.setFullYear(V);S(11)}}break;case 1:if(b<11){S(b+1)}else{if(V<Q.maxYear){c.setFullYear(V+1);S(0)}}break;case 2:if(V<Q.maxYear){c.setFullYear(V+1)}break;case 100:Q.setFirstDayOfWeek(d.fdow);return ;case 50:var Y=d._range;var W=d.innerHTML;for(var Z=Y.length;--Z>=0;){if(Y[Z]==W){break}}if(U&&U.shiftKey){if(--Z<0){Z=Y.length-1}}else{if(++Z>=Y.length){Z=0}}var P=Y[Z];d.innerHTML=P;Q.onUpdateTime();return ;case 0:if((typeof Q.getDateStatus=="function")&&Q.getDateStatus(c,c.getFullYear(),c.getMonth(),c.getDate())){return false}break}if(!c.equalsTo(Q.date)){Q.setDate(c);X=true}else{if(d.navtype==0){X=a=true}}}if(X){U&&Q.callHandler()}if(a){Calendar.removeClass(d,"hilite");U&&Q.callCloseHandler()}};Calendar.prototype.create=function(Y){var Z=null;if(!Y){Z=document.getElementsByTagName("body")[0];this.isPopup=true}else{Z=Y;this.isPopup=false}this.date=this.dateStr?new Date(this.dateStr):new Date();var V=Calendar.createElement("table");this.table=V;V.cellSpacing=0;V.cellPadding=0;V.calendar=this;Calendar.addEvent(V,"mousedown",Calendar.tableMouseDown);var T=Calendar.createElement("div");this.element=T;T.className="calendar";if(this.isPopup){T.style.position="absolute";T.style.display="none"}T.appendChild(V);var b=Calendar.createElement("thead",V);var X=null;var U=null;var S=this;var f=function(A,B,C){X=Calendar.createElement("td",U);X.colSpan=B;X.className="button";if(C!=0&&Math.abs(C)<=2){X.className+=" nav"}Calendar._add_evs(X);X.calendar=S;X.navtype=C;X.innerHTML="<div unselectable='on'>"+A+"</div>";return X};U=Calendar.createElement("tr",b);var R=6;(this.isPopup)&&--R;(this.weekNumbers)&&++R;f("?",1,400).ttip=Calendar._TT.INFO;this.title=f("",R,300);this.title.className="title";if(this.isPopup){this.title.ttip=Calendar._TT.DRAG_TO_MOVE;this.title.style.cursor="move";f("&#x00d7;",1,200).ttip=Calendar._TT.CLOSE}U=Calendar.createElement("tr",b);U.className="headrow";this._nav_py=f("&#x00ab;",1,-2);this._nav_py.ttip=Calendar._TT.PREV_YEAR;this._nav_pm=f("&#x2039;",1,-1);this._nav_pm.ttip=Calendar._TT.PREV_MONTH;this._nav_now=f(Calendar._TT.TODAY,this.weekNumbers?4:3,0);this._nav_now.ttip=Calendar._TT.GO_TODAY;this._nav_nm=f("&#x203a;",1,1);this._nav_nm.ttip=Calendar._TT.NEXT_MONTH;this._nav_ny=f("&#x00bb;",1,2);this._nav_ny.ttip=Calendar._TT.NEXT_YEAR;U=Calendar.createElement("tr",b);U.className="daynames";if(this.weekNumbers){X=Calendar.createElement("td",U);X.className="name wn";X.innerHTML=Calendar._TT.WK}for(var c=7;c>0;--c){X=Calendar.createElement("td",U);if(!c){X.navtype=100;X.calendar=this;Calendar._add_evs(X)}}this.firstdayname=(this.weekNumbers)?U.firstChild.nextSibling:U.firstChild;this._displayWeekdays();var d=Calendar.createElement("tbody",V);this.tbody=d;for(c=6;c>0;--c){U=Calendar.createElement("tr",d);if(this.weekNumbers){X=Calendar.createElement("td",U)}for(var e=7;e>0;--e){X=Calendar.createElement("td",U);X.calendar=this;Calendar._add_evs(X)}}if(this.showsTime){U=Calendar.createElement("tr",d);U.className="time";X=Calendar.createElement("td",U);X.className="time";X.colSpan=2;X.innerHTML=Calendar._TT.TIME||"&nbsp;";X=Calendar.createElement("td",U);X.className="time";X.colSpan=this.weekNumbers?4:3;(function(){function F(P,N,O,L){var K=Calendar.createElement("span",X);K.className=P;K.innerHTML=N;K.calendar=S;K.ttip=Calendar._TT.TIME_PART;K.navtype=50;K._range=[];if(typeof O!="number"){K._range=O}else{for(var J=O;J<=L;++J){var M;if(J<10&&L>=10){M="0"+J}else{M=""+J}K._range[K._range.length]=M}}Calendar._add_evs(K);return K}var B=S.date.getHours();var I=S.date.getMinutes();var A=!S.time24;var H=(B>12);if(A&&H){B-=12}var D=F("hour",B,A?1:0,A?12:23);var E=Calendar.createElement("span",X);E.innerHTML=":";E.className="colon";var G=F("minute",I,0,59);var C=null;X=Calendar.createElement("td",U);X.className="time";X.colSpan=2;if(A){C=F("ampm",H?"pm":"am",["am","pm"])}else{X.innerHTML="&nbsp;"}S.onSetTime=function(){var K,L=this.date.getHours(),J=this.date.getMinutes();if(A){K=(L>=12);if(K){L-=12}if(L==0){L=12}C.innerHTML=K?"pm":"am"}D.innerHTML=(L<10)?("0"+L):L;G.innerHTML=(J<10)?("0"+J):J};S.onUpdateTime=function(){var K=this.date;var J=parseInt(D.innerHTML,10);if(A){if(/pm/i.test(C.innerHTML)&&J<12){J+=12}else{if(/am/i.test(C.innerHTML)&&J==12){J=0}}}var N=K.getDate();var M=K.getMonth();var L=K.getFullYear();K.setHours(J);K.setMinutes(parseInt(G.innerHTML,10));K.setFullYear(L);K.setMonth(M);K.setDate(N);this.dateClicked=false;this.callHandler()}})()}else{this.onSetTime=this.onUpdateTime=function(){}}var a=Calendar.createElement("tfoot",V);U=Calendar.createElement("tr",a);U.className="footrow";X=f(Calendar._TT.SEL_DATE,this.weekNumbers?8:7,300);X.className="ttip";if(this.isPopup){X.ttip=Calendar._TT.DRAG_TO_MOVE;X.style.cursor="move"}this.tooltips=X;T=Calendar.createElement("div",this.element);this.monthsCombo=T;T.className="combo";for(c=0;c<Calendar._MN.length;++c){var Q=Calendar.createElement("div");Q.className=Calendar.is_ie?"label-IEfix":"label";Q.month=c;Q.innerHTML=Calendar._SMN[c];T.appendChild(Q)}T=Calendar.createElement("div",this.element);this.yearsCombo=T;T.className="combo";for(c=12;c>0;--c){var W=Calendar.createElement("div");W.className=Calendar.is_ie?"label-IEfix":"label";T.appendChild(W)}this._init(this.firstDayOfWeek,this.date);Z.appendChild(this.element)};Calendar._keyEvent=function(T){var Q=window._dynarch_popupCalendar;if(!Q||Q.multiple){return false}(Calendar.is_ie)&&(T=window.event);var V=(Calendar.is_ie||T.type=="keypress"),S=T.keyCode;if(T.ctrlKey){switch(S){case 37:V&&Calendar.cellClick(Q._nav_pm);break;case 38:V&&Calendar.cellClick(Q._nav_py);break;case 39:V&&Calendar.cellClick(Q._nav_nm);break;case 40:V&&Calendar.cellClick(Q._nav_ny);break;default:return false}}else{switch(S){case 32:Calendar.cellClick(Q._nav_now);break;case 27:V&&Q.callCloseHandler();break;case 37:case 38:case 39:case 40:if(V){var Z,R,U,X,O,K;Z=S==37||S==38;K=(S==37||S==39)?1:7;function P(){O=Q.currentDateEl;var A=O.pos;R=A&15;U=A>>4;X=Q.ar_days[U][R]}P();function Y(){var A=new Date(Q.date);A.setDate(A.getDate()-K);Q.setDate(A)}function W(){var A=new Date(Q.date);A.setDate(A.getDate()+K);Q.setDate(A)}while(1){switch(S){case 37:if(--R>=0){X=Q.ar_days[U][R]}else{R=6;S=38;continue}break;case 38:if(--U>=0){X=Q.ar_days[U][R]}else{Y();P()}break;case 39:if(++R<7){X=Q.ar_days[U][R]}else{R=0;S=40;continue}break;case 40:if(++U<Q.ar_days.length){X=Q.ar_days[U][R]}else{W();P()}break}break}if(X){if(!X.disabled){Calendar.cellClick(X)}else{if(Z){Y()}else{W()}}}}break;case 13:if(V){Calendar.cellClick(Q.currentDateEl,T)}break;default:return false}}return Calendar.stopEvent(T)};Calendar.prototype._init=function(q,e){var f=new Date(),l=f.getFullYear(),c=f.getMonth(),AB=f.getDate();this.table.style.visibility="hidden";var v=e.getFullYear();if(v<this.minYear){v=this.minYear;e.setFullYear(v)}else{if(v>this.maxYear){v=this.maxYear;e.setFullYear(v)}}this.firstDayOfWeek=q;this.date=new Date(e);var d=e.getMonth();var a=e.getDate();var b=e.getMonthDays();e.setDate(1);var k=(e.getDay()-this.firstDayOfWeek)%7;if(k<0){k+=7}e.setDate(-k);e.setDate(e.getDate()+1);var y=this.tbody.firstChild;var s=Calendar._SMN[d];var o=this.ar_days=new Array();var p=Calendar._TT.WEEKEND;var z=this.multiple?(this.datesCells={}):null;for(var i=0;i<6;++i,y=y.nextSibling){var AC=y.firstChild;if(this.weekNumbers){AC.className="day wn";AC.innerHTML=e.getWeekNumber();AC=AC.nextSibling}y.className="daysrow";var g=false,x,AA=o[i]=[];for(var j=0;j<7;++j,AC=AC.nextSibling,e.setDate(x+1)){x=e.getDate();var w=e.getDay();AC.className="day";AC.pos=i<<4|j;AA[j]=AC;var r=(e.getMonth()==d);if(!r){if(this.showsOtherMonths){AC.className+=" othermonth";AC.otherMonth=true}else{AC.className="emptycell";AC.innerHTML="&nbsp;";AC.disabled=true;continue}}else{AC.otherMonth=false;g=true}AC.disabled=false;AC.innerHTML=this.getDateText?this.getDateText(e,x):x;if(z){z[e.print("%Y%m%d")]=AC}if(this.getDateStatus){var n=this.getDateStatus(e,v,d,x);if(this.getDateToolTip){var u=this.getDateToolTip(e,v,d,x);if(u){AC.title=u}}if(n===true){AC.className+=" disabled";AC.disabled=true}else{if(/disabled/i.test(n)){AC.disabled=true}AC.className+=" "+n}}if(!AC.disabled){AC.caldate=new Date(e);AC.ttip="_";if(!this.multiple&&r&&x==a&&this.hiliteToday){AC.className+=" selected";this.currentDateEl=AC}if(e.getFullYear()==l&&e.getMonth()==c&&x==AB){AC.className+=" today";AC.ttip+=Calendar._TT.PART_TODAY}if(p.indexOf(w.toString())!=-1){AC.className+=AC.otherMonth?" oweekend":" weekend"}}}if(!(g||this.showsOtherMonths)){y.className="emptyrow"}}this.title.innerHTML=Calendar._MN[d]+", "+v;this.onSetTime();this.table.style.visibility="visible";this._initMultipleDates()};Calendar.prototype._initMultipleDates=function(){if(this.multiple){for(var F in this.multiple){var D=this.datesCells[F];var E=this.multiple[F];if(!E){continue}if(D){D.className+=" selected"}}}};Calendar.prototype._toggleMultipleDate=function(H){if(this.multiple){var G=H.print("%Y%m%d");var E=this.datesCells[G];if(E){var F=this.multiple[G];if(!F){Calendar.addClass(E,"selected");this.multiple[G]=H}else{Calendar.removeClass(E,"selected");delete this.multiple[G]}}}};Calendar.prototype.setDateToolTipHandler=function(B){this.getDateToolTip=B};Calendar.prototype.setDate=function(B){if(!B.equalsTo(this.date)){this._init(this.firstDayOfWeek,B)}};Calendar.prototype.refresh=function(){this._init(this.firstDayOfWeek,this.date)};Calendar.prototype.setFirstDayOfWeek=function(B){this._init(B,this.date);this._displayWeekdays()};Calendar.prototype.setDateStatusHandler=Calendar.prototype.setDisabledHandler=function(B){this.getDateStatus=B};Calendar.prototype.setRange=function(C,D){this.minYear=C;this.maxYear=D};Calendar.prototype.callHandler=function(){if(this.onSelected){this.onSelected(this,this.date.print(this.dateFormat))}};Calendar.prototype.callCloseHandler=function(){if(this.onClose){this.onClose(this)}this.hideShowCovered()};Calendar.prototype.destroy=function(){var B=this.element.parentNode;B.removeChild(this.element);Calendar._C=null;window._dynarch_popupCalendar=null};Calendar.prototype.reparent=function(D){var C=this.element;C.parentNode.removeChild(C);D.appendChild(C)};Calendar._checkCalendar=function(F){var E=window._dynarch_popupCalendar;if(!E){return false}var D=Calendar.is_ie?Calendar.getElement(F):Calendar.getTargetElement(F);for(;D!=null&&D!=E.element;D=D.parentNode){}if(D==null){window._dynarch_popupCalendar.callCloseHandler();return Calendar.stopEvent(F)}};Calendar.prototype.show=function(){var I=this.table.getElementsByTagName("tr");for(var J=I.length;J>0;){var H=I[--J];Calendar.removeClass(H,"rowhilite");var K=H.getElementsByTagName("td");for(var L=K.length;L>0;){var G=K[--L];Calendar.removeClass(G,"hilite");Calendar.removeClass(G,"active")}}this.element.style.display="block";this.hidden=false;if(this.isPopup){window._dynarch_popupCalendar=this;Calendar.addEvent(document,"keydown",Calendar._keyEvent);Calendar.addEvent(document,"keypress",Calendar._keyEvent);Calendar.addEvent(document,"mousedown",Calendar._checkCalendar)}this.hideShowCovered()};Calendar.prototype.hide=function(){if(this.isPopup){Calendar.removeEvent(document,"keydown",Calendar._keyEvent);Calendar.removeEvent(document,"keypress",Calendar._keyEvent);Calendar.removeEvent(document,"mousedown",Calendar._checkCalendar)}this.element.style.display="none";this.hidden=true;this.hideShowCovered()};Calendar.prototype.showAt=function(D,E){var F=this.element.style;F.left=D+"px";F.top=E+"px";this.show()};Calendar.prototype.showAtElement=function(I,H){var F=this;var G=Calendar.getAbsolutePos(I);if(!H||typeof H!="string"){this.showAt(G.x,G.y+I.offsetHeight);return true}function J(B){if(B.x<0){B.x=0}if(B.y<0){B.y=0}var A=document.createElement("div");var C=A.style;C.position="absolute";C.right=C.bottom=C.width=C.height="0px";document.body.appendChild(A);var D=Calendar.getAbsolutePos(A);document.body.removeChild(A);if(Calendar.is_ie){D.y+=document.body.scrollTop;D.x+=document.body.scrollLeft}else{D.y+=window.scrollY;D.x+=window.scrollX}var E=B.x+B.width-D.x;if(E>0){B.x-=E}E=B.y+B.height-D.y;if(E>0){B.y-=E}}this.element.style.display="block";Calendar.continuation_for_the_fucking_khtml_browser=function(){var D=F.element.offsetWidth;var B=F.element.offsetHeight;F.element.style.display="none";var C=H.substr(0,1);var A="l";if(H.length>1){A=H.substr(1,1)}switch(C){case"T":G.y-=B;break;case"B":G.y+=I.offsetHeight;break;case"C":G.y+=(I.offsetHeight-B)/2;break;case"t":G.y+=I.offsetHeight-B;break;case"b":break}switch(A){case"L":G.x-=D;break;case"R":G.x+=I.offsetWidth;break;case"C":G.x+=(I.offsetWidth-D)/2;break;case"l":G.x+=I.offsetWidth-D;break;case"r":break}G.width=D;G.height=B+40;F.monthsCombo.style.display="none";J(G);F.showAt(G.x,G.y)};if(Calendar.is_khtml){setTimeout("Calendar.continuation_for_the_fucking_khtml_browser()",10)}else{Calendar.continuation_for_the_fucking_khtml_browser()}};Calendar.prototype.setDateFormat=function(B){this.dateFormat=B};Calendar.prototype.setTtDateFormat=function(B){this.ttDateFormat=B};Calendar.prototype.parseDate=function(D,C){if(!C){C=this.dateFormat}this.setDate(Date.parseDate(D,C))};Calendar.prototype.hideShowCovered=function(){if(!Calendar.is_ie&&!Calendar.is_opera){return }function S(A){var B=A.style.visibility;if(!B){if(document.defaultView&&typeof (document.defaultView.getComputedStyle)=="function"){if(!Calendar.is_khtml){B=document.defaultView.getComputedStyle(A,"").getPropertyValue("visibility")}else{B=""}}else{if(A.currentStyle){B=A.currentStyle.visibility}else{B=""}}}return B}var U=new Array("applet","iframe","select");var R=this.element;var T=Calendar.getAbsolutePos(R);var e=T.x;var Q=R.offsetWidth+e;var V=T.y;var W=R.offsetHeight+V;for(var c=U.length;c>0;){var d=document.getElementsByTagName(U[--c]);var f=null;for(var a=d.length;a>0;){f=d[--a];T=Calendar.getAbsolutePos(f);var X=T.x;var Y=f.offsetWidth+X;var Z=T.y;var b=f.offsetHeight+Z;if(this.hidden||(X>Q)||(Y<e)||(Z>W)||(b<V)){if(!f.__msh_save_visibility){f.__msh_save_visibility=S(f)}f.style.visibility=f.__msh_save_visibility}else{if(!f.__msh_save_visibility){f.__msh_save_visibility=S(f)}f.style.visibility="hidden"}}}};Calendar.prototype._displayWeekdays=function(){var J=this.firstDayOfWeek;var F=this.firstdayname;var H=Calendar._TT.WEEKEND;for(var I=0;I<7;++I){F.className="day name";var G=(I+J)%7;if(I){F.ttip=Calendar._TT.DAY_FIRST.replace("%s",Calendar._DN[G]);F.navtype=100;F.calendar=this;F.fdow=G;Calendar._add_evs(F)}if(H.indexOf(G.toString())!=-1){Calendar.addClass(F,"weekend")}F.innerHTML=Calendar._SDN[(I+J)%7];F=F.nextSibling}};Calendar.prototype._hideCombos=function(){this.monthsCombo.style.display="none";this.yearsCombo.style.display="none"};Calendar.prototype._dragStart=function(ev){if(this.dragging){return }this.dragging=true;var posX;var posY;if(Calendar.is_ie){posY=window.event.clientY+document.body.scrollTop;posX=window.event.clientX+document.body.scrollLeft}else{posY=ev.clientY+window.scrollY;posX=ev.clientX+window.scrollX}var st=this.element.style;this.xOffs=posX-parseInt(st.left);this.yOffs=posY-parseInt(st.top);with(Calendar){addEvent(document,"mousemove",calDragIt);addEvent(document,"mouseup",calDragEnd)}};Date._MD=new Array(31,28,31,30,31,30,31,31,30,31,30,31);Date.SECOND=1000;Date.MINUTE=60*Date.SECOND;Date.HOUR=60*Date.MINUTE;Date.DAY=24*Date.HOUR;Date.WEEK=7*Date.DAY;Date.parseDate=function(X,Q){var W=new Date();var V=0;var P=-1;var Y=0;var T=X.split(/\W+/);var U=Q.match(/%./g);var Z=0,N=0;var S=0;var O=0;for(Z=0;Z<T.length;++Z){if(!T[Z]){continue}switch(U[Z]){case"%d":case"%e":Y=parseInt(T[Z],10);break;case"%m":P=parseInt(T[Z],10)-1;break;case"%Y":case"%y":V=parseInt(T[Z],10);(V<100)&&(V+=(V>29)?1900:2000);break;case"%b":case"%B":for(N=0;N<12;++N){if(Calendar._MN[N].substr(0,T[Z].length).toLowerCase()==T[Z].toLowerCase()){P=N;break}}break;case"%H":case"%I":case"%k":case"%l":S=parseInt(T[Z],10);break;case"%P":case"%p":if(/pm/i.test(T[Z])&&S<12){S+=12}else{if(/am/i.test(T[Z])&&S>=12){S-=12}}break;case"%M":O=parseInt(T[Z],10);break}}if(isNaN(V)){V=W.getFullYear()}if(isNaN(P)){P=W.getMonth()}if(isNaN(Y)){Y=W.getDate()}if(isNaN(S)){S=W.getHours()}if(isNaN(O)){O=W.getMinutes()}if(V!=0&&P!=-1&&Y!=0){return new Date(V,P,Y,S,O,0)}V=0;P=-1;Y=0;for(Z=0;Z<T.length;++Z){if(T[Z].search(/[a-zA-Z]+/)!=-1){var R=-1;for(N=0;N<12;++N){if(Calendar._MN[N].substr(0,T[Z].length).toLowerCase()==T[Z].toLowerCase()){R=N;break}}if(R!=-1){if(P!=-1){Y=P+1}P=R}}else{if(parseInt(T[Z],10)<=12&&P==-1){P=T[Z]-1}else{if(parseInt(T[Z],10)>31&&V==0){V=parseInt(T[Z],10);(V<100)&&(V+=(V>29)?1900:2000)}else{if(Y==0){Y=T[Z]}}}}}if(V==0){V=W.getFullYear()}if(P!=-1&&Y!=0){return new Date(V,P,Y,S,O,0)}return W};Date.prototype.getMonthDays=function(D){var C=this.getFullYear();if(typeof D=="undefined"){D=this.getMonth()}if(((0==(C%4))&&((0!=(C%100))||(0==(C%400))))&&D==1){return 29}else{return Date._MD[D]}};Date.prototype.getDayOfYear=function(){var D=new Date(this.getFullYear(),this.getMonth(),this.getDate(),0,0,0);var E=new Date(this.getFullYear(),0,0,0,0,0);var F=D-E;return Math.floor(F/Date.DAY)};Date.prototype.getWeekNumber=function(){var E=new Date(this.getFullYear(),this.getMonth(),this.getDate(),0,0,0);var F=E.getDay();E.setDate(E.getDate()-(F+6)%7+3);var D=E.valueOf();E.setMonth(0);E.setDate(4);return Math.round((D-E.valueOf())/(7*86400000))+1};Date.prototype.equalsTo=function(B){return((this.getFullYear()==B.getFullYear())&&(this.getMonth()==B.getMonth())&&(this.getDate()==B.getDate())&&(this.getHours()==B.getHours())&&(this.getMinutes()==B.getMinutes()))};Date.prototype.setDateOnly=function(C){var D=new Date(C);this.setDate(1);this.setFullYear(D.getFullYear());this.setMonth(D.getMonth());this.setDate(D.getDate())};Date.prototype.print=function(d){var U=this.getMonth();var e=this.getDate();var c=this.getFullYear();var a=this.getWeekNumber();var Z=this.getDay();var V={};var Y=this.getHours();var T=(Y>=12);var g=(T)?(Y-12):Y;var W=this.getDayOfYear();if(g==0){g=12}var S=this.getMinutes();var f=this.getSeconds();V["%a"]=Calendar._SDN[Z];V["%A"]=Calendar._DN[Z];V["%b"]=Calendar._SMN[U];V["%B"]=Calendar._MN[U];V["%C"]=1+Math.floor(c/100);V["%d"]=(e<10)?("0"+e):e;V["%e"]=e;V["%H"]=(Y<10)?("0"+Y):Y;V["%I"]=(g<10)?("0"+g):g;V["%j"]=(W<100)?((W<10)?("00"+W):("0"+W)):W;V["%k"]=Y;V["%l"]=g;V["%m"]=(U<9)?("0"+(1+U)):(1+U);V["%M"]=(S<10)?("0"+S):S;V["%n"]="\n";V["%p"]=T?"PM":"AM";V["%P"]=T?"pm":"am";V["%s"]=Math.floor(this.getTime()/1000);V["%S"]=(f<10)?("0"+f):f;V["%t"]="\t";V["%U"]=V["%W"]=V["%V"]=(a<10)?("0"+a):a;V["%u"]=Z+1;V["%w"]=Z;V["%y"]=(""+c).substr(2,2);V["%Y"]=c;V["%%"]="%";var X=/%./g;if(!Calendar.is_ie5&&!Calendar.is_khtml){return d.replace(X,function(A){return V[A]||A})}var b=d.match(X);for(var i=0;i<b.length;i++){var R=V[b[i]];if(R){X=new RegExp(b[i],"g");d=d.replace(X,R)}}return d};Date.prototype.__msh_oldSetFullYear=Date.prototype.setFullYear;Date.prototype.setFullYear=function(D){var C=new Date(this);C.__msh_oldSetFullYear(D);if(C.getMonth()!=this.getMonth()){this.setDate(28)}this.__msh_oldSetFullYear(D)};window._dynarch_popupCalendar=null;Calendar._DN=new Array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday");Calendar._SDN=new Array("Sun","Mon","Tue","Wed","Thu","Fri","Sat","Sun");Calendar._FD=0;Calendar._MN=new Array("January","February","March","April","May","June","July","August","September","October","November","December");Calendar._SMN=new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");Calendar._TT={};Calendar._TT.INFO="About the calendar";Calendar._TT.ABOUT="DHTML Date/Time Selector\n(c) dynarch.com 2002-2005 / Author: Mihai Bazon\nFor latest version visit: http://www.dynarch.com/projects/calendar/\nDistributed under GNU LGPL.  See http://gnu.org/licenses/lgpl.html for details.\n\nDate selection:\n- Use the \xab, \xbb buttons to select year\n- Use the "+String.fromCharCode(8249)+", "+String.fromCharCode(8250)+" buttons to select month\n- Hold mouse button on any of the above buttons for faster selection.";Calendar._TT.ABOUT_TIME="\n\nTime selection:\n- Click on any of the time parts to increase it\n- or Shift-click to decrease it\n- or click and drag for faster selection.";Calendar._TT.PREV_YEAR="Prev. year (hold for menu)";Calendar._TT.PREV_MONTH="Prev. month (hold for menu)";Calendar._TT.GO_TODAY="Go Today";Calendar._TT.NEXT_MONTH="Next month (hold for menu)";Calendar._TT.NEXT_YEAR="Next year (hold for menu)";Calendar._TT.SEL_DATE="Select date";Calendar._TT.DRAG_TO_MOVE="Drag to move";Calendar._TT.PART_TODAY=" (today)";Calendar._TT.DAY_FIRST="Display %s first";Calendar._TT.WEEKEND="0,6";Calendar._TT.CLOSE="Close";Calendar._TT.TODAY="Today";Calendar._TT.TIME_PART="(Shift-)Click or drag to change value";Calendar._TT.DEF_DATE_FORMAT="%Y-%m-%d";Calendar._TT.TT_DATE_FORMAT="%a, %b %e";Calendar._TT.WK="wk";Calendar._TT.TIME="Time:";Calendar.setup=function(I){function J(B,A){if(typeof I[B]=="undefined"){I[B]=A}}J("inputField",null);J("displayArea",null);J("button",null);J("eventName","click");J("ifFormat","%Y/%m/%d");J("daFormat","%Y/%m/%d");J("singleClick",true);J("disableFunc",null);J("dateStatusFunc",I.disableFunc);J("dateText",null);J("firstDay",null);J("align","Br");J("range",[1900,2999]);J("weekNumbers",true);J("flat",null);J("flatCallback",null);J("onSelect",null);J("onClose",null);J("onUpdate",null);J("date",null);J("showsTime",false);J("timeFormat","24");J("electric",true);J("step",2);J("position",null);J("cache",false);J("showOthers",false);J("multiple",null);var M=["inputField","displayArea","button"];for(var N in M){if(typeof I[M[N]]=="string"){I[M[N]]=document.getElementById(I[M[N]])}}if(!(I.flat||I.multiple||I.inputField||I.displayArea||I.button)){alert("Calendar.setup:\n  Nothing to setup (no fields found).  Please check your code");return false}function H(B){var C=B.params;var A=(B.dateClicked||C.electric);if(A&&C.inputField){C.inputField.value=B.date.print(C.ifFormat);if(typeof C.inputField.onchange=="function"){C.inputField.onchange()}}if(A&&C.displayArea){C.displayArea.innerHTML=B.date.print(C.daFormat)}if(A&&typeof C.onUpdate=="function"){C.onUpdate(B)}if(A&&C.flat){if(typeof C.flatCallback=="function"){C.flatCallback(B)}}if(A&&C.singleClick&&B.dateClicked){B.callCloseHandler()}}if(I.flat!=null){if(typeof I.flat=="string"){I.flat=document.getElementById(I.flat)}if(!I.flat){alert("Calendar.setup:\n  Flat specified but can't find parent.");return false}var K=new Calendar(I.firstDay,I.date,I.onSelect||H);K.showsOtherMonths=I.showOthers;K.showsTime=I.showsTime;K.time24=(I.timeFormat=="24");K.params=I;K.weekNumbers=I.weekNumbers;K.setRange(I.range[0],I.range[1]);K.setDateStatusHandler(I.dateStatusFunc);K.getDateText=I.dateText;if(I.ifFormat){K.setDateFormat(I.ifFormat)}if(I.inputField&&typeof I.inputField.value=="string"){K.parseDate(I.inputField.value)}K.create(I.flat);K.show();return false}var L=I.button||I.displayArea||I.inputField;L["on"+I.eventName]=function(){var E=I.inputField||I.displayArea;var C=I.inputField?I.ifFormat:I.daFormat;var F=false;var A=window.calendar;if(E){I.date=Date.parseDate(E.value||E.innerHTML,C)}if(!(A&&I.cache)){window.calendar=A=new Calendar(I.firstDay,I.date,I.onSelect||H,I.onClose||function(P){P.hide()});A.showsTime=I.showsTime;A.time24=(I.timeFormat=="24");A.weekNumbers=I.weekNumbers;F=true}else{if(I.date){A.setDate(I.date)}A.hide()}if(I.multiple){A.multiple={};for(var D=I.multiple.length;--D>=0;){var G=I.multiple[D];var B=G.print("%Y%m%d");A.multiple[B]=G}}A.showsOtherMonths=I.showOthers;A.yearStep=I.step;A.setRange(I.range[0],I.range[1]);A.params=I;A.setDateStatusHandler(I.dateStatusFunc);A.getDateText=I.dateText;A.setDateFormat(C);if(F){A.create()}A.refresh();if(!I.position){A.showAtElement(I.button||I.displayArea||I.inputField,I.align)}else{A.showAt(I.position[0],I.position[1])}return false};return K};jQuery.fn.clockpick=function(options,callback){var settings={starthour:8,endhour:18,showminutes:true,minutedivisions:4,military:false,event:"click",layout:"vertical",valuefield:null,useBgiframe:false,hoursopacity:1,minutesopacity:1};if(options){jQuery.extend(settings,options)}var callback=callback||function(){},v=(settings.layout=="vertical");errorcheck();jQuery(this)[settings.event](function(e){var self=this,$self=jQuery(this),$body=jQuery("body");if(!settings.valuefield){$self.unbind("keydown").bind("keydown",keyhandler)}else{jQuery("[name="+settings.valuefield+"]").unbind("keydown").bind("keydown",keyhandler)[0].focus()}jQuery("#CP_hourcont,#CP_minutecont").remove();$hourcont=jQuery("<div id='CP_hourcont' class='CP' />").appendTo($body);!settings.useBgiframe?$hourcont.css("opacity",settings.hoursopacity):null;binder($hourcont);$hourcol1=jQuery("<div class='CP_hourcol' id='hourcol1' />").appendTo($body);$hourcol2=jQuery("<div class='CP_hourcol' id='hourcol2' />").appendTo($body);if(settings.showminutes){$mc=jQuery("<div id='CP_minutecont' class='CP' />").appendTo($body);!settings.useBgiframe?$mc.css("opacity",settings.minutesopacity):null;binder($mc)}if(!v){$hourcont.css("width","auto");$mc.css("width","auto")}else{$hourcol1.addClass("floatleft");$hourcol2.addClass("floatleft")}renderhours();putcontainer();function renderhours(){var c=1;for(h=settings.starthour;h<=settings.endhour;h++){if(h==12){c=1}displayhours=((!settings.military&&h>12)?h-12:h)+set_tt(h);if(!settings.military&&h==0){displayhours="12"+set_tt(h)}$hd=jQuery("<div class='CP_hour' id='hr_"+h+"_"+c+"'>"+displayhours+"</div>");if(settings.military){$hd.width(20)}binder($hd);if(!v){$hd.css("float","left")}(h<12)?$hourcol1.append($hd):$hourcol2.append($hd);c++}$hourcont.append($hourcol1);!v?$hourcont.append("<div style='clear:left' />"):"";$hourcont.append($hourcol2)}function renderminutes(h){realhours=h;displayhours=(!settings.military&&h>12)?h-12:h;if(!settings.military&&h==0){displayhours="12"}$mc.empty();var n=60/settings.minutedivisions,tt=set_tt(realhours),counter=1;for(m=0;m<60;m=m+n){$md=jQuery("<div class='CP_minute' id='"+realhours+"_"+m+"'>"+displayhours+":"+((m<10)?"0":"")+m+tt+"</div>");if(!v){$md.css("float","left");if(settings.minutedivisions>6&&counter==settings.minutedivisions/2+1){$mc.append("<div style='clear:left' />")}}$mc.append($md);binder($md);counter++}}function set_tt(realhours){if(!settings.military){return(realhours>=12)?" PM":" AM"}else{return""}}function putcontainer(){if(!jQuery.browser.safari&&e.type!="focus"){$hourcont.css("left",e.pageX-5).css("top",e.pageY-(Math.floor($hourcont.height()/2)));rectify($hourcont)}else{$self.after($hourcont)}$hourcont.show();if(settings.useBgiframe){bgi($hourcont)}}function rectify($obj){var ph=document.documentElement.clientHeight?document.documentElement.clientHeight:document.body.clientHeight;var pw=document.documentElement.clientWidth?document.documentElement.clientWidth:document.body.clientWidth;if(!jQuery.browser.safari){var t=parseInt($obj.css("top"));var l=parseInt($obj.css("left"))}else{var t=$obj[0].offsetTop;var l=$obj[0].offsetLeft}var st=document.documentElement.scrollTop?document.documentElement.scrollTop:document.body.scrollTop;if(t<=st&&!$obj.is("#CP_minutecont")){$obj.css("top",st+10+"px")}else{if(t+$obj.height()-st>ph){$obj.css("top",st+ph-$obj.height()-10+"px")}}if(l<=0){$obj.css("left","10px")}}function bgi(ob){if(typeof jQuery.fn.bgIframe=="function"){ob.bgIframe()}else{alert("bgIframe plugin not loaded.")}}function binder($obj){if($obj.attr("id")=="CP_hourcont"){$obj.mouseout(function(e){hourcont_out(e)})}else{if($obj.attr("id")=="CP_minutecont"){$obj.mouseout(function(e){minutecont_out(e)})}else{if($obj.attr("class")=="CP_hour"){$obj.mouseover(function(e){hourdiv_over($obj,e)});$obj.mouseout(function(){hourdiv_out($obj)});$obj.click(function(){hourdiv_click($obj)})}else{if($obj.attr("class")=="CP_minute"){$obj.mouseover(function(){minutediv_over($obj)});$obj.mouseout(function(){minutediv_out($obj)});$obj.click(function(){minutediv_click($obj)})}}}}}function hourcont_out(e){try{t=(e.toElement)?e.toElement:e.relatedTarget;if(!(jQuery(t).is("div[@class^=CP], iframe"))){if(!jQuery.browser.safari){cleardivs()}}}catch(e){cleardivs()}}function minutecont_out(e){try{t=(e.toElement)?e.toElement:e.relatedTarget;if(!(jQuery(t).is("div[@class^=CP], iframe"))){if(!jQuery.browser.safari){cleardivs()}}}catch(e){cleardivs()}}function hourdiv_over($obj,e){var h=$obj.attr("id").split("_")[1],i=$obj.attr("id").split("_")[2],l,t;$obj.addClass("CP_over");if(settings.showminutes){$mc.hide();renderminutes(h);if(v){t=e.type=="mouseover"?e.pageY-15:$hourcont.offset().top+2+($obj.height()*i);if(h<12){if(!jQuery.browser.safari){l=$hourcont.offset().left-$mc.width()}else{l=$hourcont[0].offsetLeft-$mc.width()}}else{if(!jQuery.browser.safari){l=$hourcont.offset().left+$hourcont.width()}else{l=$hourcont[0].offsetLeft+$hourcont.width()}}}else{l=(e.type=="mouseover")?e.pageX-10:$hourcont.offset().left+($obj.width()-5)*i;if(h<12){if(!jQuery.browser.safari){t=$hourcont.offset().top-$mc.height()}else{t=$hourcont[0].offsetTop-$mc.height()}}else{if(!jQuery.browser.safari){t=$hourcont.offset().top+$hourcont.height()}else{t=$hourcont[0].offsetTop+$hourcont.height()}}}$mc.css("left",l+"px").css("top",t+"px");rectify($mc);$mc.show();if(settings.useBgiframe){bgi($mc)}}return false}function hourdiv_out($obj){$obj.removeClass("CP_over");return false}function hourdiv_click($obj){h=$obj.attr("id").split("_")[1];tt=set_tt(h);str=$obj.text();if(str.indexOf(" ")!=-1){cleanstr=str.substring(0,str.indexOf(" "))}else{cleanstr=str}$obj.text(cleanstr+":00"+tt);setval($obj);cleardivs()}function minutediv_over($obj){$obj.addClass("CP_over");return false}function minutediv_out($obj){$obj.removeClass("CP_over");return false}function minutediv_click($obj){setval($obj);cleardivs()}function setval($obj){if(!settings.valuefield){self.value=$obj.text()}else{jQuery("input[@name="+settings.valuefield+"]").val($obj.text())}callback.apply($self,[$obj.text()]);$self.unbind("keydown",keyhandler)}function cleardivs(){if(settings.showminutes){$mc.remove()}$hourcont.remove();$self.unbind("keydown",keyhandler)}function keyhandler(e){var $obj=$("div.CP_over").size()?$("div.CP_over"):$("div.CP_hour:first"),divtype=$obj.is(".CP_hour")?"hour":"minute",hi=(divtype=="hour")?$obj[0].id.split("_")[2]:0,h=(divtype=="minute")?$obj[0].id.split("_")[0]:$obj[0].id.split("_")[1];if(divtype=="minute"){var curloc=h<12?"m1":"m2"}else{var curloc=h<12?"h1":"h2"}function divprev($obj){if($obj.prev().size()){eval(divtype+"div_out($obj)");eval(divtype+"div_over($obj.prev(), e)")}else{return false}}function divnext($obj){if($obj.next().size()){eval(divtype+"div_out($obj)");eval(divtype+"div_over($obj.next(), e)")}else{return false}}function hourtohour($obj){var ctx=h>=12?"#hourcol1":"#hourcol2";$newobj=jQuery(".CP_hour[@id$=_"+hi+"]",ctx);if($newobj.size()){hourdiv_out($obj);hourdiv_over($newobj,e)}else{return false}}function hourtominute($obj){hourdiv_out($obj);minutediv_over($(".CP_minute:first"))}function minutetohour($obj){minutediv_out($obj);var ctx=h>=12?"#hourcol2":"#hourcol1";var $newobj=jQuery(".CP_hour[@id^=hr_"+h+"]",ctx);hourdiv_over($newobj,e)}switch(e.keyCode){case 37:if(v){switch(curloc){case"m1":return false;break;case"m2":minutetohour($obj);break;case"h1":hourtominute($obj);break;case"h2":hourtohour($obj);break}}else{divprev($obj)}break;case 38:if(v){divprev($obj)}else{switch(curloc){case"m1":return false;break;case"m2":minutetohour($obj);break;case"h1":hourtominute($obj);break;case"h2":hourtohour($obj);break}}break;case 39:if(v){switch(curloc){case"m1":minutetohour($obj);break;case"m2":return false;break;case"h1":hourtohour($obj);break;case"h2":hourtominute($obj);break}}else{divnext($obj)}break;case 40:if(v){divnext($obj)}else{switch(curloc){case"m1":minutetohour($obj);break;case"m2":return false;break;case"h1":hourtohour($obj);break;case"h2":hourtominute($obj);break}}break;case 13:eval(divtype+"div_click($obj)");break}return false}return false});function errorcheck(){if(settings.starthour>=settings.endhour){alert("Error - start hour must be less than end hour.");return false}else{if(60%settings.minutedivisions!=0){alert("Error - param minutedivisions must divide evenly into 60.");return false}}}return this};
\ No newline at end of file
diff --git a/static/extjs/ext-all.js b/static/extjs/ext-all.js
new file mode 100644
index 00000000..02ff9282
--- /dev/null
+++ b/static/extjs/ext-all.js
@@ -0,0 +1,9 @@
+/*
+ * Ext JS Library 2.2.1
+ * Copyright(c) 2006-2009, Ext JS, LLC.
+ * licensing@extjs.com
+ * 
+ * http://extjs.com/license
+ */
+
+Ext.DomHelper=function(){var n=null;var g=/^(?:br|frame|hr|img|input|link|meta|range|spacer|wbr|area|param|col)$/i;var b=/^table|tbody|tr|td$/i;var a=function(w){if(typeof w=="string"){return w}var q="";if(Ext.isArray(w)){for(var u=0,r=w.length;u<r;u++){q+=a(w[u])}return q}if(!w.tag){w.tag="div"}q+="<"+w.tag;for(var p in w){if(p=="tag"||p=="children"||p=="cn"||p=="html"||typeof w[p]=="function"){continue}if(p=="style"){var v=w.style;if(typeof v=="function"){v=v.call()}if(typeof v=="string"){q+=' style="'+v+'"'}else{if(typeof v=="object"){q+=' style="';for(var t in v){if(typeof v[t]!="function"){q+=t+":"+v[t]+";"}}q+='"'}}}else{if(p=="cls"){q+=' class="'+w.cls+'"'}else{if(p=="htmlFor"){q+=' for="'+w.htmlFor+'"'}else{q+=" "+p+'="'+w[p]+'"'}}}}if(g.test(w.tag)){q+="/>"}else{q+=">";var x=w.children||w.cn;if(x){q+=a(x)}else{if(w.html){q+=w.html}}q+="</"+w.tag+">"}return q};var o=function(v,q){var u;if(Ext.isArray(v)){u=document.createDocumentFragment();for(var t=0,r=v.length;t<r;t++){o(v[t],u)}}else{if(typeof v=="string"){u=document.createTextNode(v)}else{u=document.createElement(v.tag||"div");var s=!!u.setAttribute;for(var p in v){if(p=="tag"||p=="children"||p=="cn"||p=="html"||p=="style"||typeof v[p]=="function"){continue}if(p=="cls"){u.className=v.cls}else{if(s){u.setAttribute(p,v[p])}else{u[p]=v[p]}}}Ext.DomHelper.applyStyles(u,v.style);var w=v.children||v.cn;if(w){o(w,u)}else{if(v.html){u.innerHTML=v.html}}}}if(q){q.appendChild(u)}return u};var k=function(v,t,r,u){n.innerHTML=[t,r,u].join("");var p=-1,q=n;while(++p<v){q=q.firstChild}return q};var l="<table>",e="</table>",c=l+"<tbody>",m="</tbody>"+e,i=c+"<tr>",d="</tr>"+m;var h=function(p,q,s,r){if(!n){n=document.createElement("div")}var t;var u=null;if(p=="td"){if(q=="afterbegin"||q=="beforeend"){return}if(q=="beforebegin"){u=s;s=s.parentNode}else{u=s.nextSibling;s=s.parentNode}t=k(4,i,r,d)}else{if(p=="tr"){if(q=="beforebegin"){u=s;s=s.parentNode;t=k(3,c,r,m)}else{if(q=="afterend"){u=s.nextSibling;s=s.parentNode;t=k(3,c,r,m)}else{if(q=="afterbegin"){u=s.firstChild}t=k(4,i,r,d)}}}else{if(p=="tbody"){if(q=="beforebegin"){u=s;s=s.parentNode;t=k(2,l,r,e)}else{if(q=="afterend"){u=s.nextSibling;s=s.parentNode;t=k(2,l,r,e)}else{if(q=="afterbegin"){u=s.firstChild}t=k(3,c,r,m)}}}else{if(q=="beforebegin"||q=="afterend"){return}if(q=="afterbegin"){u=s.firstChild}t=k(2,l,r,e)}}}s.insertBefore(t,u);return t};return{useDom:false,markup:function(p){return a(p)},applyStyles:function(r,s){if(s){r=Ext.fly(r);if(typeof s=="string"){var q=/\s?([a-z\-]*)\:\s?([^;]*);?/gi;var t;while((t=q.exec(s))!=null){r.setStyle(t[1],t[2])}}else{if(typeof s=="object"){for(var p in s){r.setStyle(p,s[p])}}else{if(typeof s=="function"){Ext.DomHelper.applyStyles(r,s.call())}}}}},insertHtml:function(r,t,s){r=r.toLowerCase();if(t.insertAdjacentHTML){if(b.test(t.tagName)){var q;if(q=h(t.tagName.toLowerCase(),r,t,s)){return q}}switch(r){case"beforebegin":t.insertAdjacentHTML("BeforeBegin",s);return t.previousSibling;case"afterbegin":t.insertAdjacentHTML("AfterBegin",s);return t.firstChild;case"beforeend":t.insertAdjacentHTML("BeforeEnd",s);return t.lastChild;case"afterend":t.insertAdjacentHTML("AfterEnd",s);return t.nextSibling}throw'Illegal insertion point -> "'+r+'"'}var p=t.ownerDocument.createRange();var u;switch(r){case"beforebegin":p.setStartBefore(t);u=p.createContextualFragment(s);t.parentNode.insertBefore(u,t);return t.previousSibling;case"afterbegin":if(t.firstChild){p.setStartBefore(t.firstChild);u=p.createContextualFragment(s);t.insertBefore(u,t.firstChild);return t.firstChild}else{t.innerHTML=s;return t.firstChild}case"beforeend":if(t.lastChild){p.setStartAfter(t.lastChild);u=p.createContextualFragment(s);t.appendChild(u);return t.lastChild}else{t.innerHTML=s;return t.lastChild}case"afterend":p.setStartAfter(t);u=p.createContextualFragment(s);t.parentNode.insertBefore(u,t.nextSibling);return t.nextSibling}throw'Illegal insertion point -> "'+r+'"'},insertBefore:function(p,r,q){return this.doInsert(p,r,q,"beforeBegin")},insertAfter:function(p,r,q){return this.doInsert(p,r,q,"afterEnd","nextSibling")},insertFirst:function(p,r,q){return this.doInsert(p,r,q,"afterBegin","firstChild")},doInsert:function(s,u,t,v,r){s=Ext.getDom(s);var q;if(this.useDom){q=o(u,null);(r==="firstChild"?s:s.parentNode).insertBefore(q,r?s[r]:s)}else{var p=a(u);q=this.insertHtml(v,s,p)}return t?Ext.get(q,true):q},append:function(r,t,s){r=Ext.getDom(r);var q;if(this.useDom){q=o(t,null);r.appendChild(q)}else{var p=a(t);q=this.insertHtml("beforeEnd",r,p)}return s?Ext.get(q,true):q},overwrite:function(p,r,q){p=Ext.getDom(p);p.innerHTML=a(r);return q?Ext.get(p.firstChild,true):p.firstChild},createTemplate:function(q){var p=a(q);return new Ext.Template(p)}}}();Ext.Template=function(g){var c=arguments;if(Ext.isArray(g)){g=g.join("")}else{if(c.length>1){var d=[];for(var e=0,b=c.length;e<b;e++){if(typeof c[e]=="object"){Ext.apply(this,c[e])}else{d[d.length]=c[e]}}g=d.join("")}}this.html=g;if(this.compiled){this.compile()}};Ext.Template.prototype={applyTemplate:function(b){if(this.compiled){return this.compiled(b)}var a=this.disableFormats!==true;var e=Ext.util.Format,c=this;var d=function(h,l,p,k){if(p&&a){if(p.substr(0,5)=="this."){return c.call(p.substr(5),b[l],b)}else{if(k){var o=/^\s*['"](.*)["']\s*$/;k=k.split(",");for(var n=0,g=k.length;n<g;n++){k[n]=k[n].replace(o,"$1")}k=[b[l]].concat(k)}else{k=[b[l]]}return e[p].apply(e,k)}}else{return b[l]!==undefined?b[l]:""}};return this.html.replace(this.re,d)},set:function(a,b){this.html=a;this.compiled=null;if(b){this.compile()}return this},disableFormats:false,re:/\{([\w-]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?\}/g,compile:function(){var fm=Ext.util.Format;var useF=this.disableFormats!==true;var sep=Ext.isGecko?"+":",";var fn=function(m,name,format,args){if(format&&useF){args=args?","+args:"";if(format.substr(0,5)!="this."){format="fm."+format+"("}else{format='this.call("'+format.substr(5)+'", ';args=", values"}}else{args="";format="(values['"+name+"'] == undefined ? '' : "}return"'"+sep+format+"values['"+name+"']"+args+")"+sep+"'"};var body;if(Ext.isGecko){body="this.compiled = function(values){ return '"+this.html.replace(/\\/g,"\\\\").replace(/(\r\n|\n)/g,"\\n").replace(/'/g,"\\'").replace(this.re,fn)+"';};"}else{body=["this.compiled = function(values){ return ['"];body.push(this.html.replace(/\\/g,"\\\\").replace(/(\r\n|\n)/g,"\\n").replace(/'/g,"\\'").replace(this.re,fn));body.push("'].join('');};");body=body.join("")}eval(body);return this},call:function(c,b,a){return this[c](b,a)},insertFirst:function(b,a,c){return this.doInsert("afterBegin",b,a,c)},insertBefore:function(b,a,c){return this.doInsert("beforeBegin",b,a,c)},insertAfter:function(b,a,c){return this.doInsert("afterEnd",b,a,c)},append:function(b,a,c){return this.doInsert("beforeEnd",b,a,c)},doInsert:function(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.DomHelper.Template=Ext.Template;Ext.Template.from=function(b,a){b=Ext.getDom(b);return new Ext.Template(b.value||b.innerHTML,a||"")};Ext.DomQuery=function(){var cache={},simpleCache={},valueCache={};var nonSpace=/\S/;var trimRe=/^\s+|\s+$/g;var tplRe=/\{(\d+)\}/g;var modeRe=/^(\s?[\/>+~]\s?|\s|$)/;var tagTokenRe=/^(#)?([\w-\*]+)/;var nthRe=/(\d*)n\+?(\d*)/,nthRe2=/\D/;function child(p,index){var i=0;var 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)&&n.nodeType!=1){}return n}function prev(n){while((n=n.previousSibling)&&n.nodeType!=1){}return n}function children(d){var n=d.firstChild,ni=-1;while(n){var nx=n.nextSibling;if(n.nodeType==3&&!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((" "+ci.className+" ").indexOf(v)!=-1){r[++ri]=ci}}return r}function attrValue(n,attr){if(!n.tagName&&typeof n.length!="undefined"){n=n[0]}if(!n){return null}if(attr=="for"){return n.htmlFor}if(attr=="class"||attr=="className"){return n.className}return n.getAttribute(attr)||n[attr]}function getNodes(ns,mode,tagName){var result=[],ri=-1,cs;if(!ns){return result}tagName=tagName||"*";if(typeof ns.getElementsByTagName!="undefined"){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=="/"||mode==">"){var utag=tagName.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==utag||cj.nodeName==tagName||tagName=="*"){result[++ri]=cj}}}}else{if(mode=="+"){var utag=tagName.toUpperCase();for(var i=0,n;n=ns[i];i++){while((n=n.nextSibling)&&n.nodeType!=1){}if(n&&(n.nodeName==utag||n.nodeName==tagName||tagName=="*")){result[++ri]=n}}}else{if(mode=="~"){for(var i=0,n;n=ns[i];i++){while((n=n.nextSibling)&&(n.nodeType!=1||(tagName=="*"||n.tagName.toLowerCase()!=tagName))){}if(n){result[++ri]=n}}}}}}return result}function concat(a,b){if(b.slice){return a.concat(b)}for(var i=0,l=b.length;i<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&&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&&ci.id==id){r[++ri]=ci;return r}}return r}function byAttribute(cs,attr,value,op,custom){var r=[],ri=-1,st=custom=="{";var f=Ext.DomQuery.operators[op];for(var i=0,ci;ci=cs[i];i++){var a;if(st){a=Ext.DomQuery.getStyle(ci,attr)}else{if(attr=="class"||attr=="className"){a=ci.className}else{if(attr=="for"){a=ci.htmlFor}else{if(attr=="href"){a=ci.getAttribute("href",2)}else{a=ci.getAttribute(attr)}}}}if((f&&f(a,value))||(!f&&a)){r[++ri]=ci}}return r}function byPseudo(cs,name,value){return Ext.DomQuery.pseudos[name](cs,value)}var isIE=window.ActiveXObject?true:false;eval("var batch = 30803;");var key=30803;function nodupIEXml(cs){var d=++key;cs[0].setAttribute("_nodup",d);var r=[cs[0]];for(var i=1,len=cs.length;i<len;i++){var c=cs[i];if(!c.getAttribute("_nodup")!=d){c.setAttribute("_nodup",d);r[r.length]=c}}for(var i=0,len=cs.length;i<len;i++){cs[i].removeAttribute("_nodup")}return r}function nodup(cs){if(!cs){return[]}var len=cs.length,c,i,r=cs,cj,ri=-1;if(!len||typeof cs.nodeType!="undefined"||len==1){return cs}if(isIE&&typeof cs[0].selectSingleNode!="undefined"){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<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<len;i++){c1[i].setAttribute("_qdiff",d)}var r=[];for(var i=0,len=c2.length;i<len;i++){if(c2[i].getAttribute("_qdiff")!=d){r[r.length]=c2[i]}}for(var i=0,len=c1.length;i<len;i++){c1[i].removeAttribute("_qdiff")}return r}function quickDiff(c1,c2){var len1=c1.length;if(!len1){return c2}if(isIE&&c1[0].selectSingleNode){return quickDiffIEXml(c1,c2)}var d=++key;for(var i=0;i<len1;i++){c1[i]._qdiff=d}var r=[];for(var i=0,len=c2.length;i<len;i++){if(c2[i]._qdiff!=d){r[r.length]=c2[i]}}return r}function quickId(ns,mode,root,id){if(ns==root){var d=root.ownerDocument||root;return d.getElementById(id)}ns=getNodes(ns,mode,"*");return byId(ns,null,id)}return{getStyle:function(el,name){return Ext.fly(el).getStyle(name)},compile:function(path,type){type=type||"select";var fn=["var f = function(root){\n var mode; ++batch; var n = root || document;\n"];var q=path,mode,lq;var tk=Ext.DomQuery.matchers;var tklen=tk.length;var mm;var lmode=q.match(modeRe);if(lmode&&lmode[1]){fn[fn.length]='mode="'+lmode[1].replace(trimRe,"")+'";';q=q.replace(lmode[1],"")}while(path.substr(0,1)=="/"){path=path.substr(1)}while(q&&lq!=q){lq=q;var tm=q.match(tagTokenRe);if(type=="select"){if(tm){if(tm[1]=="#"){fn[fn.length]='n = quickId(n, mode, root, "'+tm[2]+'");'}else{fn[fn.length]='n = getNodes(n, mode, "'+tm[2]+'");'}q=q.replace(tm[0],"")}else{if(q.substr(0,1)!="@"){fn[fn.length]='n = getNodes(n, mode, "*");'}}}else{if(tm){if(tm[1]=="#"){fn[fn.length]='n = byId(n, null, "'+tm[2]+'");'}else{fn[fn.length]='n = byTag(n, "'+tm[2]+'");'}q=q.replace(tm[0],"")}}while(!(mm=q.match(modeRe))){var matched=false;for(var j=0;j<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],"");matched=true;break}}if(!matched){throw'Error parsing selector, parsing failed at "'+q+'"'}}if(mm[1]){fn[fn.length]='mode="'+mm[1].replace(trimRe,"")+'";';q=q.replace(mm[1],"")}}fn[fn.length]="return nodup(n);\n}";eval(fn.join(""));return f},select:function(path,root,type){if(!root||root==document){root=document}if(typeof root=="string"){root=document.getElementById(root)}var paths=path.split(",");var results=[];for(var i=0,len=paths.length;i<len;i++){var p=paths[i].replace(trimRe,"");if(!cache[p]){cache[p]=Ext.DomQuery.compile(p);if(!cache[p]){throw p+" is not a valid selector"}}var result=cache[p](root);if(result&&result!=document){results=results.concat(result)}}if(paths.length>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,"");if(!valueCache[path]){valueCache[path]=Ext.DomQuery.compile(path,"select")}var n=valueCache[path](root);n=n[0]?n[0]:n;var v=(n&&n.firstChild?n.firstChild.nodeValue:null);return((v===null||v===undefined||v==="")?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=="string"){el=document.getElementById(el)}var isArray=Ext.isArray(el);var result=Ext.DomQuery.filter(isArray?el:[el],ss);return isArray?(result.length==el.length):(result.length>0)},filter:function(els,ss,nonMatches){ss=ss.replace(trimRe,"");if(!simpleCache[ss]){simpleCache[ss]=Ext.DomQuery.compile(ss,"simple")}var result=simpleCache[ss](els);return nonMatches?quickDiff(result,els):result},matchers:[{re:/^\.([\w-]+)/,select:'n = byClassName(n, null, " {1} ");'},{re:/^\:([\w-]+)(?:\(((?:[^\s>\/]*|.*?))\))?/,select:'n = byPseudo(n, "{1}", "{2}");'},{re:/^(?:([\[\{])(?:@)?([\w-]+)\s?(?:(=|.=)\s?['"]?(.*?)["']?)?[\]\}])/,select:'n = byAttribute(n, "{2}", "{4}", "{3}", "{1}");'},{re:/^#([\w-]+)/,select:'n = byId(n, null, "{1}");'},{re:/^@([\w-]+)/,select:'return {firstChild:{nodeValue:attrValue(n, "{1}")}};'}],operators:{"=":function(a,v){return a==v},"!=":function(a,v){return a!=v},"^=":function(a,v){return a&&a.substr(0,v.length)==v},"$=":function(a,v){return a&&a.substr(a.length-v.length)==v},"*=":function(a,v){return a&&a.indexOf(v)!==-1},"%=":function(a,v){return(a%v)==0},"|=":function(a,v){return a&&(a==v||a.substr(0,v.length+1)==v+"-")},"~=":function(a,v){return a&&(" "+a+" ").indexOf(" "+v+" ")!=-1}},pseudos:{"first-child":function(c){var r=[],ri=-1,n;for(var i=0,ci;ci=n=c[i];i++){while((n=n.previousSibling)&&n.nodeType!=1){}if(!n){r[++ri]=ci}}return r},"last-child":function(c){var r=[],ri=-1,n;for(var i=0,ci;ci=n=c[i];i++){while((n=n.nextSibling)&&n.nodeType!=1){}if(!n){r[++ri]=ci}}return r},"nth-child":function(c,a){var r=[],ri=-1;var m=nthRe.exec(a=="even"&&"2n"||a=="odd"&&"2n+1"||!nthRe2.test(a)&&"n+"+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},"only-child":function(c){var r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){if(!prev(ci)&&!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||"").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&&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("|");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["nth-child"](c,"odd")},even:function(c){return this["nth-child"](c,"even")},nth:function(c,a){return c[a-1]||[]},first:function(c){return c[0]||[]},last:function(c){return c[c.length-1]||[]},has:function(c,ss){var s=Ext.DomQuery.select;var r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){if(s(ss,ci).length>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&&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&&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 a=this.events[arguments[0].toLowerCase()];if(typeof a=="object"){return a.fire.apply(a,Array.prototype.slice.call(arguments,1))}}return true},filterOptRe:/^(?:scope|delay|buffer|single)$/,addListener:function(a,c,b,h){if(typeof a=="object"){h=a;for(var g in h){if(this.filterOptRe.test(g)){continue}if(typeof h[g]=="function"){this.addListener(g,h[g],h.scope,h)}else{this.addListener(g,h[g].fn,h[g].scope,h[g])}}return}h=(!h||typeof h=="boolean")?{}:h;a=a.toLowerCase();var d=this.events[a]||true;if(typeof d=="boolean"){d=new Ext.util.Event(this,a);this.events[a]=d}d.addListener(c,b,h)},removeListener:function(a,c,b){var d=this.events[a.toLowerCase()];if(typeof d=="object"){d.removeListener(c,b)}},purgeListeners:function(){for(var a in this.events){if(typeof this.events[a]=="object"){this.events[a].clearListeners()}}},relayEvents:function(g,d){var e=function(h){return function(){return this.fireEvent.apply(this,Ext.combine(h,Array.prototype.slice.call(arguments,0)))}};for(var c=0,a=d.length;c<a;c++){var b=d[c];if(!this.events[b]){this.events[b]=true}g.on(b,e(b),this)}},addEvents:function(e){if(!this.events){this.events={}}if(typeof e=="string"){for(var d=0,b=arguments,c;c=b[d];d++){if(!this.events[b[d]]){this.events[b[d]]=true}}}else{Ext.applyIf(this.events,e)}},hasListener:function(a){var b=this.events[a];return typeof b=="object"&&b.listeners.length>0},suspendEvents:function(){this.eventsSuspended=true},resumeEvents:function(){this.eventsSuspended=false},getMethodEvent:function(i){if(!this.methodEvents){this.methodEvents={}}var h=this.methodEvents[i];if(!h){h={};this.methodEvents[i]=h;h.originalFn=this[i];h.methodName=i;h.before=[];h.after=[];var c,b,d;var g=this;var a=function(l,k,e){if((b=l.apply(k||g,e))!==undefined){if(typeof b==="object"){if(b.returnValue!==undefined){c=b.returnValue}else{c=b}if(b.cancel===true){d=true}}else{if(b===false){d=true}else{c=b}}}};this[i]=function(){c=b=undefined;d=false;var k=Array.prototype.slice.call(arguments,0);for(var l=0,e=h.before.length;l<e;l++){a(h.before[l].fn,h.before[l].scope,k);if(d){return c}}if((b=h.originalFn.apply(g,k))!==undefined){c=b}for(var l=0,e=h.after.length;l<e;l++){a(h.after[l].fn,h.after[l].scope,k);if(d){return c}}return c}}return h},beforeMethod:function(d,b,a){var c=this.getMethodEvent(d);c.before.push({fn:b,scope:a})},afterMethod:function(d,b,a){var c=this.getMethodEvent(d);c.after.push({fn:b,scope:a})},removeMethodListener:function(h,d,c){var g=this.getMethodEvent(h);for(var b=0,a=g.before.length;b<a;b++){if(g.before[b].fn==d&&g.before[b].scope==c){g.before.splice(b,1);return}}for(var b=0,a=g.after.length;b<a;b++){if(g.after[b].fn==d&&g.after[b].scope==c){g.after.splice(b,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(c,b,a){c.fireEvent=c.fireEvent.createInterceptor(b,a)};Ext.util.Observable.releaseCapture=function(a){a.fireEvent=Ext.util.Observable.prototype.fireEvent};(function(){var b=function(g,i,e){var d=new Ext.util.DelayedTask();return function(){d.delay(i.buffer,g,e,Array.prototype.slice.call(arguments,0))}};var c=function(i,k,g,d){return function(){k.removeListener(g,d);return i.apply(d,arguments)}};var a=function(e,g,d){return function(){var h=Array.prototype.slice.call(arguments,0);setTimeout(function(){e.apply(d,h)},g.delay||10)}};Ext.util.Event=function(e,d){this.name=d;this.obj=e;this.listeners=[]};Ext.util.Event.prototype={addListener:function(h,g,e){g=g||this.obj;if(!this.isListening(h,g)){var d=this.createListener(h,g,e);if(!this.firing){this.listeners.push(d)}else{this.listeners=this.listeners.slice(0);this.listeners.push(d)}}},createListener:function(i,g,k){k=k||{};g=g||this.obj;var d={fn:i,scope:g,options:k};var e=i;if(k.delay){e=a(e,k,g)}if(k.single){e=c(e,this,i,g)}if(k.buffer){e=b(e,k,g)}d.fireFn=e;return d},findListener:function(m,k){k=k||this.obj;var g=this.listeners;for(var h=0,d=g.length;h<d;h++){var e=g[h];if(e.fn==m&&e.scope==k){return h}}return -1},isListening:function(e,d){return this.findListener(e,d)!=-1},removeListener:function(g,e){var d;if((d=this.findListener(g,e))!=-1){if(!this.firing){this.listeners.splice(d,1)}else{this.listeners=this.listeners.slice(0);this.listeners.splice(d,1)}return true}return false},clearListeners:function(){this.listeners=[]},fire:function(){var g=this.listeners,m,d=g.length;if(d>0){this.firing=true;var h=Array.prototype.slice.call(arguments,0);for(var k=0;k<d;k++){var e=g[k];if(e.fireFn.apply(e.scope||this.obj||window,arguments)===false){this.firing=false;return false}}this.firing=false}return true}}})();Ext.EventManager=function(){var x,q,m=false;var n,w,g,s;var p=Ext.lib.Event;var r=Ext.lib.Dom;var a="Ext";var i={};var o=function(D,z,C,B,A){var F=Ext.id(D);if(!i[F]){i[F]={}}var E=i[F];if(!E[z]){E[z]=[]}var y=E[z];y.push({id:F,ename:z,fn:C,wrap:B,scope:A});p.on(D,z,B);if(z=="mousewheel"&&D.addEventListener){D.addEventListener("DOMMouseScroll",B,false);p.on(window,"unload",function(){D.removeEventListener("DOMMouseScroll",B,false)})}if(z=="mousedown"&&D==document){Ext.EventManager.stoppedMouseDownEvent.addListener(B)}};var h=function(A,C,G,I){A=Ext.getDom(A);var y=Ext.id(A),H=i[y],z;if(H){var E=H[C],B;if(E){for(var D=0,F=E.length;D<F;D++){B=E[D];if(B.fn==G&&(!I||B.scope==I)){z=B.wrap;p.un(A,C,z);E.splice(D,1);break}}}}if(C=="mousewheel"&&A.addEventListener&&z){A.removeEventListener("DOMMouseScroll",z,false)}if(C=="mousedown"&&A==document&&z){Ext.EventManager.stoppedMouseDownEvent.removeListener(z)}};var d=function(C){C=Ext.getDom(C);var E=Ext.id(C),D=i[E],z;if(D){for(var B in D){if(D.hasOwnProperty(B)){z=D[B];for(var A=0,y=z.length;A<y;A++){p.un(C,B,z[A].wrap);z[A]=null}}D[B]=null}delete i[E]}};var c=function(){if(!m){m=true;Ext.isReady=true;if(q){clearInterval(q)}if(Ext.isGecko||Ext.isOpera){document.removeEventListener("DOMContentLoaded",c,false)}if(Ext.isIE){var y=document.getElementById("ie-deferred-loader");if(y){y.onreadystatechange=null;y.parentNode.removeChild(y)}}if(x){x.fire();x.clearListeners()}}};var b=function(){x=new Ext.util.Event();if(Ext.isGecko||Ext.isOpera){document.addEventListener("DOMContentLoaded",c,false)}else{if(Ext.isIE){document.write('<script id="ie-deferred-loader" defer="defer" src="//:"><\/script>');var y=document.getElementById("ie-deferred-loader");y.onreadystatechange=function(){if(this.readyState=="complete"){c()}}}else{if(Ext.isSafari){q=setInterval(function(){var z=document.readyState;if(z=="complete"){c()}},10)}}}p.on(window,"load",c)};var v=function(z,A){var y=new Ext.util.DelayedTask(z);return function(B){B=new Ext.EventObjectImpl(B);y.delay(A.buffer,z,null,[B])}};var t=function(C,B,y,A,z){return function(D){Ext.EventManager.removeListener(B,y,A,z);C(D)}};var e=function(y,z){return function(A){A=new Ext.EventObjectImpl(A);setTimeout(function(){y(A)},z.delay||10)}};var l=function(A,z,y,E,D){var F=(!y||typeof y=="boolean")?{}:y;E=E||F.fn;D=D||F.scope;var C=Ext.getDom(A);if(!C){throw'Error listening for "'+z+'". Element "'+A+"\" doesn't exist."}var B=function(H){if(!window[a]){return}H=Ext.EventObject.setEvent(H);var G;if(F.delegate){G=H.getTarget(F.delegate,C);if(!G){return}}else{G=H.target}if(F.stopEvent===true){H.stopEvent()}if(F.preventDefault===true){H.preventDefault()}if(F.stopPropagation===true){H.stopPropagation()}if(F.normalized===false){H=H.browserEvent}E.call(D||C,H,G,F)};if(F.delay){B=e(B,F)}if(F.single){B=t(B,C,z,E,D)}if(F.buffer){B=v(B,F)}o(C,z,E,B,D);return B};var k=/^(?:scope|delay|buffer|single|stopEvent|preventDefault|stopPropagation|normalized|args|delegate)$/;var u={addListener:function(A,y,C,B,z){if(typeof y=="object"){var E=y;for(var D in E){if(k.test(D)){continue}if(typeof E[D]=="function"){l(A,D,E,E[D],E.scope)}else{l(A,D,E[D])}}return}return l(A,y,z,C,B)},removeListener:function(z,y,B,A){return h(z,y,B,A)},removeAll:function(y){return d(y)},onDocumentReady:function(A,z,y){if(m){x.addListener(A,z,y);x.fire();x.clearListeners();return}if(!x){b()}y=y||{};if(!y.delay){y.delay=1}x.addListener(A,z,y)},doResizeEvent:function(){n.fire(r.getViewWidth(),r.getViewHeight())},onWindowResize:function(A,z,y){if(!n){n=new Ext.util.Event();w=new Ext.util.DelayedTask(this.doResizeEvent);p.on(window,"resize",this.fireWindowResize,this)}n.addListener(A,z,y)},fireWindowResize:function(){if(n){if((Ext.isIE||Ext.isAir)&&w){w.delay(50)}else{n.fire(r.getViewWidth(),r.getViewHeight())}}},onTextResize:function(B,A,y){if(!g){g=new Ext.util.Event();var z=new Ext.Element(document.createElement("div"));z.dom.className="x-text-resize";z.dom.innerHTML="X";z.appendTo(document.body);s=z.dom.offsetHeight;setInterval(function(){if(z.dom.offsetHeight!=s){g.fire(s,s=z.dom.offsetHeight)}},this.textResizeInterval)}g.addListener(B,A,y)},removeResizeListener:function(z,y){if(n){n.removeListener(z,y)}},fireResize:function(){if(n){n.fire(r.getViewWidth(),r.getViewHeight())}},ieDeferSrc:false,textResizeInterval:50};u.on=u.addListener;u.un=u.removeListener;u.stoppedMouseDownEvent=new Ext.util.Event();return u}();Ext.onReady=Ext.EventManager.onDocumentReady;(function(){var a=function(){var c=document.body||document.getElementsByTagName("body")[0];if(!c){return false}var b=[" ",Ext.isIE?"ext-ie "+(Ext.isIE6?"ext-ie6":(Ext.isIE7?"ext-ie7":"ext-ie8")):Ext.isGecko?"ext-gecko "+(Ext.isGecko2?"ext-gecko2":"ext-gecko3"):Ext.isOpera?"ext-opera":Ext.isSafari?"ext-safari":Ext.isChrome?"ext-chrome":""];if(Ext.isMac){b.push("ext-mac")}if(Ext.isLinux){b.push("ext-linux")}if(Ext.isBorderBox){b.push("ext-border-box")}if(Ext.isStrict){var d=c.parentNode;if(d){d.className+=" ext-strict"}}c.className+=b.join(" ");return true};if(!a()){Ext.onReady(a)}})();Ext.EventObject=function(){var b=Ext.lib.Event;var a={3:13,63234:37,63235:39,63232:38,63233:40,63276:33,63277:34,63272:46,63273:36,63275:35};var c=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(d){if(d){this.setEvent(d.browserEvent||d)}};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(d){if(d==this||(d&&d.browserEvent)){return d}this.browserEvent=d;if(d){this.button=d.button?c[d.button]:(d.which?d.which-1:-1);if(d.type=="click"&&this.button==-1){this.button=0}this.type=d.type;this.shiftKey=d.shiftKey;this.ctrlKey=d.ctrlKey||d.metaKey;this.altKey=d.altKey;this.keyCode=d.keyCode;this.charCode=d.charCode;this.target=b.getTarget(d);this.xy=b.getXY(d)}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=="mousedown"){Ext.EventManager.stoppedMouseDownEvent.fire(this)}b.stopEvent(this.browserEvent)}},preventDefault:function(){if(this.browserEvent){b.preventDefault(this.browserEvent)}},isNavKeyPress:function(){var d=this.keyCode;d=Ext.isSafari?(a[d]||d):d;return(d>=33&&d<=40)||d==this.RETURN||d==this.TAB||d==this.ESC},isSpecialKey:function(){var d=this.keyCode;return(this.type=="keypress"&&this.ctrlKey)||d==9||d==13||d==40||d==27||(d==16)||(d==17)||(d>=18&&d<=20)||(d>=33&&d<=35)||(d>=36&&d<=39)||(d>=44&&d<=45)},stopPropagation:function(){if(this.browserEvent){if(this.browserEvent.type=="mousedown"){Ext.EventManager.stoppedMouseDownEvent.fire(this)}b.stopPropagation(this.browserEvent)}},getCharCode:function(){return this.charCode||this.keyCode},getKey:function(){var d=this.keyCode||this.charCode;return Ext.isSafari?(a[d]||d):d},getPageX:function(){return this.xy[0]},getPageY:function(){return this.xy[1]},getTime:function(){if(this.browserEvent){return b.getTime(this.browserEvent)}return null},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(){if(this.browserEvent){return b.getRelatedTarget(this.browserEvent)}return 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},hasModifier:function(){return((this.ctrlKey||this.altKey)||this.shiftKey)?true:false},within:function(g,h,d){var e=this[h?"getRelatedTarget":"getTarget"]();return e&&((d?(e===Ext.getDom(g)):false)||Ext.fly(g).contains(e))},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 propCache={};var camelRe=/(-[a-z])/gi;var camelFn=function(m,a){return a.charAt(1).toUpperCase()};var view=document.defaultView;Ext.Element=function(element,forceNew){var dom=typeof element=="string"?document.getElementById(element):element;if(!dom){return null}var id=dom.id;if(forceNew!==true&&id&&Ext.Element.cache[id]){return Ext.Element.cache[id]}this.dom=dom;this.id=id||Ext.id(dom)};var El=Ext.Element;El.prototype={originalDisplay:"",visibilityMode:1,defaultUnit:"px",setVisibilityMode:function(visMode){this.visibilityMode=visMode;return this},enableDisplayMode:function(display){this.setVisibilityMode(El.DISPLAY);if(typeof display!="undefined"){this.originalDisplay=display}return this},findParent:function(simpleSelector,maxDepth,returnEl){var p=this.dom,b=document.body,depth=0,dq=Ext.DomQuery,stopEl;maxDepth=maxDepth||50;if(typeof maxDepth!="number"){stopEl=Ext.getDom(maxDepth);maxDepth=10}while(p&&p.nodeType==1&&depth<maxDepth&&p!=b&&p!=stopEl){if(dq.is(p,simpleSelector)){return returnEl?Ext.get(p):p}depth++;p=p.parentNode}return null},findParentNode:function(simpleSelector,maxDepth,returnEl){var p=Ext.fly(this.dom.parentNode,"_internal");return p?p.findParent(simpleSelector,maxDepth,returnEl):null},up:function(simpleSelector,maxDepth){return this.findParentNode(simpleSelector,maxDepth,true)},is:function(simpleSelector){return Ext.DomQuery.is(this.dom,simpleSelector)},animate:function(args,duration,onComplete,easing,animType){this.anim(args,{duration:duration,callback:onComplete,easing:easing},animType);return this},anim:function(args,opt,animType,defaultDur,defaultEase,cb){animType=animType||"run";opt=opt||{};var anim=Ext.lib.Anim[animType](this.dom,args,(opt.duration||defaultDur)||0.35,(opt.easing||defaultEase)||"easeOut",function(){Ext.callback(cb,this);Ext.callback(opt.callback,opt.scope||this,[this,opt])},this);opt.anim=anim;return anim},preanim:function(a,i){return !a[i]?false:(typeof a[i]=="object"?a[i]:{duration:a[i+1],callback:a[i+2],easing:a[i+3]})},clean:function(forceReclean){if(this.isCleaned&&forceReclean!==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&&!ns.test(n.nodeValue)){d.removeChild(n)}else{n.nodeIndex=++ni}n=nx}this.isCleaned=true;return this},scrollIntoView:function(container,hscroll){var c=Ext.getDom(container)||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>ch||t<ct){c.scrollTop=t}else{if(b>cb){c.scrollTop=b-ch}}c.scrollTop=c.scrollTop;if(hscroll!==false){if(el.offsetWidth>c.clientWidth||l<cl){c.scrollLeft=l}else{if(r>cr){c.scrollLeft=r-c.clientWidth}}c.scrollLeft=c.scrollLeft}return this},scrollChildIntoView:function(child,hscroll){Ext.fly(child,"_scrollChildIntoView").scrollIntoView(this,hscroll)},autoHeight:function(animate,duration,onComplete,easing){var oldHeight=this.getHeight();this.clip();this.setHeight(1);setTimeout(function(){var height=parseInt(this.dom.scrollHeight,10);if(!animate){this.setHeight(height);this.unclip();if(typeof onComplete=="function"){onComplete()}}else{this.setHeight(oldHeight);this.setHeight(height,animate,duration,function(){this.unclip();if(typeof onComplete=="function"){onComplete()}}.createDelegate(this),easing)}}.createDelegate(this),0);return this},contains:function(el){if(!el){return false}return D.isAncestor(this.dom,el.dom?el.dom:el)},isVisible:function(deep){var vis=!(this.getStyle("visibility")=="hidden"||this.getStyle("display")=="none");if(deep!==true||!vis){return vis}var p=this.dom.parentNode;while(p&&p.tagName.toLowerCase()!="body"){if(!Ext.fly(p,"_isVisible").isVisible()){return false}p=p.parentNode}return true},select:function(selector,unique){return El.select(selector,unique,this.dom)},query:function(selector){return Ext.DomQuery.select(selector,this.dom)},child:function(selector,returnDom){var n=Ext.DomQuery.selectNode(selector,this.dom);return returnDom?n:Ext.get(n)},down:function(selector,returnDom){var n=Ext.DomQuery.selectNode(" > "+selector,this.dom);return returnDom?n:Ext.get(n)},initDD:function(group,config,overrides){var dd=new Ext.dd.DD(Ext.id(this.dom),group,config);return Ext.apply(dd,overrides)},initDDProxy:function(group,config,overrides){var dd=new Ext.dd.DDProxy(Ext.id(this.dom),group,config);return Ext.apply(dd,overrides)},initDDTarget:function(group,config,overrides){var dd=new Ext.dd.DDTarget(Ext.id(this.dom),group,config);return Ext.apply(dd,overrides)},setVisible:function(visible,animate){if(!animate||!A){if(this.visibilityMode==El.DISPLAY){this.setDisplayed(visible)}else{this.fixDisplay();this.dom.style.visibility=visible?"visible":"hidden"}}else{var dom=this.dom;var visMode=this.visibilityMode;if(visible){this.setOpacity(0.01);this.setVisible(true)}this.anim({opacity:{to:(visible?1:0)}},this.preanim(arguments,1),null,0.35,"easeIn",function(){if(!visible){if(visMode==El.DISPLAY){dom.style.display="none"}else{dom.style.visibility="hidden"}Ext.get(dom).setOpacity(1)}})}return this},isDisplayed:function(){return this.getStyle("display")!="none"},toggle:function(animate){this.setVisible(!this.isVisible(),this.preanim(arguments,0));return this},setDisplayed:function(value){if(typeof value=="boolean"){value=value?this.originalDisplay:"none"}this.setStyle("display",value);return this},focus:function(){try{this.dom.focus()}catch(e){}return this},blur:function(){try{this.dom.blur()}catch(e){}return this},addClass:function(className){if(Ext.isArray(className)){for(var i=0,len=className.length;i<len;i++){this.addClass(className[i])}}else{if(className&&!this.hasClass(className)){this.dom.className=this.dom.className+" "+className}}return this},radioClass:function(className){var siblings=this.dom.parentNode.childNodes;for(var i=0;i<siblings.length;i++){var s=siblings[i];if(s.nodeType==1){Ext.get(s).removeClass(className)}}this.addClass(className);return this},removeClass:function(className){if(!className||!this.dom.className){return this}if(Ext.isArray(className)){for(var i=0,len=className.length;i<len;i++){this.removeClass(className[i])}}else{if(this.hasClass(className)){var re=this.classReCache[className];if(!re){re=new RegExp("(?:^|\\s+)"+className+"(?:\\s+|$)","g");this.classReCache[className]=re}this.dom.className=this.dom.className.replace(re," ")}}return this},classReCache:{},toggleClass:function(className){if(this.hasClass(className)){this.removeClass(className)}else{this.addClass(className)}return this},hasClass:function(className){return className&&(" "+this.dom.className+" ").indexOf(" "+className+" ")!=-1},replaceClass:function(oldClassName,newClassName){this.removeClass(oldClassName);this.addClass(newClassName);return this},getStyles:function(){var a=arguments,len=a.length,r={};for(var i=0;i<len;i++){r[a[i]]=this.getStyle(a[i])}return r},getStyle:function(){return view&&view.getComputedStyle?function(prop){var el=this.dom,v,cs,camel;if(prop=="float"){prop="cssFloat"}if(v=el.style[prop]){return v}if(cs=view.getComputedStyle(el,"")){if(!(camel=propCache[prop])){camel=propCache[prop]=prop.replace(camelRe,camelFn)}return cs[camel]}return null}:function(prop){var el=this.dom,v,cs,camel;if(prop=="opacity"){if(typeof el.style.filter=="string"){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(prop=="float"){prop="styleFloat"}}if(!(camel=propCache[prop])){camel=propCache[prop]=prop.replace(camelRe,camelFn)}if(v=el.style[camel]){return v}if(cs=el.currentStyle){return cs[camel]}return null}}(),setStyle:function(prop,value){if(typeof prop=="string"){var camel;if(!(camel=propCache[prop])){camel=propCache[prop]=prop.replace(camelRe,camelFn)}if(camel=="opacity"){this.setOpacity(value)}else{this.dom.style[camel]=value}}else{for(var style in prop){if(typeof prop[style]!="function"){this.setStyle(style,prop[style])}}}return this},applyStyles:function(style){Ext.DomHelper.applyStyles(this.dom,style);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,"_internal").getXY();return[o[0]-e[0],o[1]-e[1]]},setX:function(x,animate){if(!animate||!A){D.setX(this.dom,x)}else{this.setXY([x,this.getY()],this.preanim(arguments,1))}return this},setY:function(y,animate){if(!animate||!A){D.setY(this.dom,y)}else{this.setXY([this.getX(),y],this.preanim(arguments,1))}return this},setLeft:function(left){this.setStyle("left",this.addUnits(left));return this},setTop:function(top){this.setStyle("top",this.addUnits(top));return this},setRight:function(right){this.setStyle("right",this.addUnits(right));return this},setBottom:function(bottom){this.setStyle("bottom",this.addUnits(bottom));return this},setXY:function(pos,animate){if(!animate||!A){D.setXY(this.dom,pos)}else{this.anim({points:{to:pos}},this.preanim(arguments,1),"motion")}return this},setLocation:function(x,y,animate){this.setXY([x,y],this.preanim(arguments,2));return this},moveTo:function(x,y,animate){this.setXY([x,y],this.preanim(arguments,2));return this},getRegion:function(){return D.getRegion(this.dom)},getHeight:function(contentHeight){var h=this.dom.offsetHeight||0;h=contentHeight!==true?h:h-this.getBorderWidth("tb")-this.getPadding("tb");return h<0?0:h},getWidth:function(contentWidth){var w=this.dom.offsetWidth||0;w=contentWidth!==true?w:w-this.getBorderWidth("lr")-this.getPadding("lr");return w<0?0:w},getComputedHeight:function(){var h=Math.max(this.dom.offsetHeight,this.dom.clientHeight);if(!h){h=parseInt(this.getStyle("height"),10)||0;if(!this.isBorderBox()){h+=this.getFrameWidth("tb")}}return h},getComputedWidth:function(){var w=Math.max(this.dom.offsetWidth,this.dom.clientWidth);if(!w){w=parseInt(this.getStyle("width"),10)||0;if(!this.isBorderBox()){w+=this.getFrameWidth("lr")}}return w},getSize:function(contentSize){return{width:this.getWidth(contentSize),height:this.getHeight(contentSize)}},getStyleSize:function(){var w,h,d=this.dom,s=d.style;if(s.width&&s.width!="auto"){w=parseInt(s.width,10);if(Ext.isBorderBox){w-=this.getFrameWidth("lr")}}if(s.height&&s.height!="auto"){h=parseInt(s.height,10);if(Ext.isBorderBox){h-=this.getFrameWidth("tb")}}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(asNumber){return asNumber?parseInt(this.dom.value,10):this.dom.value},adjustWidth:function(width){if(typeof width=="number"){if(this.autoBoxAdjust&&!this.isBorderBox()){width-=(this.getBorderWidth("lr")+this.getPadding("lr"))}if(width<0){width=0}}return width},adjustHeight:function(height){if(typeof height=="number"){if(this.autoBoxAdjust&&!this.isBorderBox()){height-=(this.getBorderWidth("tb")+this.getPadding("tb"))}if(height<0){height=0}}return height},setWidth:function(width,animate){width=this.adjustWidth(width);if(!animate||!A){this.dom.style.width=this.addUnits(width)}else{this.anim({width:{to:width}},this.preanim(arguments,1))}return this},setHeight:function(height,animate){height=this.adjustHeight(height);if(!animate||!A){this.dom.style.height=this.addUnits(height)}else{this.anim({height:{to:height}},this.preanim(arguments,1))}return this},setSize:function(width,height,animate){if(typeof width=="object"){height=width.height;width=width.width}width=this.adjustWidth(width);height=this.adjustHeight(height);if(!animate||!A){this.dom.style.width=this.addUnits(width);this.dom.style.height=this.addUnits(height)}else{this.anim({width:{to:width},height:{to:height}},this.preanim(arguments,2))}return this},setBounds:function(x,y,width,height,animate){if(!animate||!A){this.setSize(width,height);this.setLocation(x,y)}else{width=this.adjustWidth(width);height=this.adjustHeight(height);this.anim({points:{to:[x,y]},width:{to:width},height:{to:height}},this.preanim(arguments,4),"motion")}return this},setRegion:function(region,animate){this.setBounds(region.left,region.top,region.right-region.left,region.bottom-region.top,this.preanim(arguments,1));return this},addListener:function(eventName,fn,scope,options){Ext.EventManager.on(this.dom,eventName,fn,scope||this,options)},removeListener:function(eventName,fn,scope){Ext.EventManager.removeListener(this.dom,eventName,fn,scope||this);return this},removeAllListeners:function(){Ext.EventManager.removeAll(this.dom);return this},relayEvent:function(eventName,observable){this.on(eventName,function(e){observable.fireEvent(eventName,e)})},setOpacity:function(opacity,animate){if(!animate||!A){var s=this.dom.style;if(Ext.isIE){s.zoom=1;s.filter=(s.filter||"").replace(/alpha\([^\)]*\)/gi,"")+(opacity==1?"":" alpha(opacity="+opacity*100+")")}else{s.opacity=opacity}}else{this.anim({opacity:{to:opacity}},this.preanim(arguments,1),null,0.35,"easeIn")}return this},getLeft:function(local){if(!local){return this.getX()}else{return parseInt(this.getStyle("left"),10)||0}},getRight:function(local){if(!local){return this.getX()+this.getWidth()}else{return(this.getLeft(true)+this.getWidth())||0}},getTop:function(local){if(!local){return this.getY()}else{return parseInt(this.getStyle("top"),10)||0}},getBottom:function(local){if(!local){return this.getY()+this.getHeight()}else{return(this.getTop(true)+this.getHeight())||0}},position:function(pos,zIndex,x,y){if(!pos){if(this.getStyle("position")=="static"){this.setStyle("position","relative")}}else{this.setStyle("position",pos)}if(zIndex){this.setStyle("z-index",zIndex)}if(x!==undefined&&y!==undefined){this.setXY([x,y])}else{if(x!==undefined){this.setX(x)}else{if(y!==undefined){this.setY(y)}}}},clearPositioning:function(value){value=value||"";this.setStyle({left:value,right:value,top:value,bottom:value,"z-index":"",position:"static"});return this},getPositioning:function(){var l=this.getStyle("left");var t=this.getStyle("top");return{position:this.getStyle("position"),left:l,right:l?"":this.getStyle("right"),top:t,bottom:t?"":this.getStyle("bottom"),"z-index":this.getStyle("z-index")}},getBorderWidth:function(side){return this.addStyles(side,El.borders)},getPadding:function(side){return this.addStyles(side,El.paddings)},setPositioning:function(pc){this.applyStyles(pc);if(pc.right=="auto"){this.dom.style.right=""}if(pc.bottom=="auto"){this.dom.style.bottom=""}return this},fixDisplay:function(){if(this.getStyle("display")=="none"){this.setStyle("visibility","hidden");this.setStyle("display",this.originalDisplay);if(this.getStyle("display")=="none"){this.setStyle("display","block")}}},setOverflow:function(v){if(v=="auto"&&Ext.isMac&&Ext.isGecko2){this.dom.style.overflow="hidden";(function(){this.dom.style.overflow="auto"}).defer(1,this)}else{this.dom.style.overflow=v}},setLeftTop:function(left,top){this.dom.style.left=this.addUnits(left);this.dom.style.top=this.addUnits(top);return this},move:function(direction,distance,animate){var xy=this.getXY();direction=direction.toLowerCase();switch(direction){case"l":case"left":this.moveTo(xy[0]-distance,xy[1],this.preanim(arguments,2));break;case"r":case"right":this.moveTo(xy[0]+distance,xy[1],this.preanim(arguments,2));break;case"t":case"top":case"up":this.moveTo(xy[0],xy[1]-distance,this.preanim(arguments,2));break;case"b":case"bottom":case"down":this.moveTo(xy[0],xy[1]+distance,this.preanim(arguments,2));break}return this},clip:function(){if(!this.isClipped){this.isClipped=true;this.originalClip={o:this.getStyle("overflow"),x:this.getStyle("overflow-x"),y:this.getStyle("overflow-y")};this.setStyle("overflow","hidden");this.setStyle("overflow-x","hidden");this.setStyle("overflow-y","hidden")}return this},unclip:function(){if(this.isClipped){this.isClipped=false;var o=this.originalClip;if(o.o){this.setStyle("overflow",o.o)}if(o.x){this.setStyle("overflow-x",o.x)}if(o.y){this.setStyle("overflow-y",o.y)}}return this},getAnchorXY:function(anchor,local,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((anchor||"tl").toLowerCase()){case"c":x=r(w*0.5);y=r(h*0.5);break;case"t":x=r(w*0.5);y=0;break;case"l":x=0;y=r(h*0.5);break;case"r":x=w;y=r(h*0.5);break;case"b":x=r(w*0.5);y=h;break;case"tl":x=0;y=0;break;case"bl":x=0;y=h;break;case"br":x=w;y=h;break;case"tr":x=w;y=0;break}if(local===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"Element.alignToXY with an element that doesn't exist"}var d=this.dom;var c=false;var p1="",p2="";o=o||[0,0];if(!p){p="tl-bl"}else{if(p=="?"){p="tl-bl?"}else{if(p.indexOf("-")==-1){p="tl-"+p}}}p=p.toLowerCase();var m=p.match(/^([a-z]+)-([a-z]+)(\?)?$/);if(!m){throw"Element.alignTo with an invalid alignment "+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 swapY=((p1y=="t"&&p2y=="b")||(p1y=="b"&&p2y=="t"));var swapX=((p1x=="r"&&p2x=="l")||(p1x=="l"&&p2x=="r"));var doc=document;var scrollX=(doc.documentElement.scrollLeft||doc.body.scrollLeft||0)+5;var scrollY=(doc.documentElement.scrollTop||doc.body.scrollTop||0)+5;if((x+w)>dw+scrollX){x=swapX?r.left-w:dw+scrollX-w}if(x<scrollX){x=swapX?r.right:scrollX}if((y+h)>dh+scrollY){y=swapY?r.top-h:dh+scrollY-h}if(y<scrollY){y=swapY?r.bottom:scrollY}}return[x,y]},getConstrainToXY:function(){var os={top:0,left:0,bottom:0,right:0};return function(el,local,offsets,proposedXY){el=Ext.get(el);offsets=offsets?Ext.applyIf(offsets,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(!local){var vxy=el.getXY();vx=vxy[0];vy=vxy[1]}}var s=el.getScroll();vx+=offsets.left+s.left;vy+=offsets.top+s.top;vw-=offsets.right;vh-=offsets.bottom;var vr=vx+vw;var vb=vy+vh;var xy=proposedXY||(!local?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 moved=false;if((x+w)>vr){x=vr-w;moved=true}if((y+h)>vb){y=vb-h;moved=true}if(x<vx){x=vx;moved=true}if(y<vy){y=vy;moved=true}return moved?[x,y]:false}}(),adjustForConstraints:function(xy,parent,offsets){return this.getConstrainToXY(parent||document,false,offsets,xy)||xy},alignTo:function(element,position,offsets,animate){var xy=this.getAlignToXY(element,position,offsets);this.setXY(xy,this.preanim(arguments,3));return this},anchorTo:function(el,alignment,offsets,animate,monitorScroll,callback){var action=function(){this.alignTo(el,alignment,offsets,animate);Ext.callback(callback,this)};Ext.EventManager.onWindowResize(action,this);var tm=typeof monitorScroll;if(tm!="undefined"){Ext.EventManager.on(window,"scroll",action,this,{buffer:tm=="number"?monitorScroll:50})}action.call(this);return this},clearOpacity:function(){if(window.ActiveXObject){if(typeof this.dom.style.filter=="string"&&(/alpha/i).test(this.dom.style.filter)){this.dom.style.filter=""}}else{this.dom.style.opacity="";this.dom.style["-moz-opacity"]="";this.dom.style["-khtml-opacity"]=""}return this},hide:function(animate){this.setVisible(false,this.preanim(arguments,0));return this},show:function(animate){this.setVisible(true,this.preanim(arguments,0));return this},addUnits:function(size){return Ext.Element.addUnits(size,this.defaultUnit)},update:function(html,loadScripts,callback){if(typeof html=="undefined"){html=""}if(loadScripts!==true){this.dom.innerHTML=html;if(typeof callback=="function"){callback()}return this}var id=Ext.id();var dom=this.dom;html+='<span id="'+id+'"></span>';E.onAvailable(id,function(){var hd=document.getElementsByTagName("head")[0];var re=/(?:<script([^>]*)?>)((\n|\r|.)*?)(?:<\/script>)/ig;var srcRe=/\ssrc=([\'\"])(.*?)\1/i;var typeRe=/\stype=([\'\"])(.*?)\1/i;var match;while(match=re.exec(html)){var attrs=match[1];var srcMatch=attrs?attrs.match(srcRe):false;if(srcMatch&&srcMatch[2]){var s=document.createElement("script");s.src=srcMatch[2];var typeMatch=attrs.match(typeRe);if(typeMatch&&typeMatch[2]){s.type=typeMatch[2]}hd.appendChild(s)}else{if(match[2]&&match[2].length>0){if(window.execScript){window.execScript(match[2])}else{window.eval(match[2])}}}}var el=document.getElementById(id);if(el){Ext.removeNode(el)}if(typeof callback=="function"){callback()}});dom.innerHTML=html.replace(/(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)/ig,"");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="on";this.swallowEvent("selectstart",true);this.applyStyles("-moz-user-select:none;-khtml-user-select:none;");this.addClass("x-unselectable");return this},getCenterXY:function(){return this.getAlignToXY(document,"c-c")},center:function(centerIn){this.alignTo(centerIn||document,"c-c");return this},isBorderBox:function(){return noBoxAdjust[this.dom.tagName.toLowerCase()]||Ext.isBorderBox},getBox:function(contentBox,local){var xy;if(!local){xy=this.getXY()}else{var left=parseInt(this.getStyle("left"),10)||0;var top=parseInt(this.getStyle("top"),10)||0;xy=[left,top]}var el=this.dom,w=el.offsetWidth,h=el.offsetHeight,bx;if(!contentBox){bx={x:xy[0],y:xy[1],0:xy[0],1:xy[1],width:w,height:h}}else{var l=this.getBorderWidth("l")+this.getPadding("l");var r=this.getBorderWidth("r")+this.getPadding("r");var t=this.getBorderWidth("t")+this.getPadding("t");var b=this.getBorderWidth("b")+this.getPadding("b");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(sides,onlyContentBox){return onlyContentBox&&Ext.isBorderBox?0:(this.getPadding(sides)+this.getBorderWidth(sides))},setBox:function(box,adjust,animate){var w=box.width,h=box.height;if((adjust&&!this.autoBoxAdjust)&&!this.isBorderBox()){w-=(this.getBorderWidth("lr")+this.getPadding("lr"));h-=(this.getBorderWidth("tb")+this.getPadding("tb"))}this.setBounds(box.x,box.y,w,h,this.preanim(arguments,2));return this},repaint:function(){var dom=this.dom;this.addClass("x-repaint");setTimeout(function(){Ext.get(dom).removeClass("x-repaint")},1);return this},getMargins:function(side){if(!side){return{top:parseInt(this.getStyle("margin-top"),10)||0,left:parseInt(this.getStyle("margin-left"),10)||0,bottom:parseInt(this.getStyle("margin-bottom"),10)||0,right:parseInt(this.getStyle("margin-right"),10)||0}}else{return this.addStyles(side,El.margins)}},addStyles:function(sides,styles){var val=0,v,w;for(var i=0,len=sides.length;i<len;i++){v=this.getStyle(styles[sides.charAt(i)]);if(v){w=parseInt(v,10);if(w){val+=(w>=0?w:-1*w)}}}return val},createProxy:function(config,renderTo,matchBox){config=typeof config=="object"?config:{tag:"div",cls:config};var proxy;if(renderTo){proxy=Ext.DomHelper.append(renderTo,config,true)}else{proxy=Ext.DomHelper.insertBefore(this.dom,config,true)}if(matchBox){proxy.setBox(this.getBox())}return proxy},mask:function(msg,msgCls){if(this.getStyle("position")=="static"){this.addClass("x-masked-relative")}if(this._maskMsg){this._maskMsg.remove()}if(this._mask){this._mask.remove()}this._mask=Ext.DomHelper.append(this.dom,{cls:"ext-el-mask"},true);this.addClass("x-masked");this._mask.setDisplayed(true);if(typeof msg=="string"){this._maskMsg=Ext.DomHelper.append(this.dom,{cls:"ext-el-mask-msg",cn:{tag:"div"}},true);var mm=this._maskMsg;mm.dom.className=msgCls?"ext-el-mask-msg "+msgCls:"ext-el-mask-msg";mm.dom.firstChild.innerHTML=msg;mm.setDisplayed(true);mm.center(this)}if(Ext.isIE&&!(Ext.isIE7&&Ext.isStrict)&&this.getStyle("height")=="auto"){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(["x-masked","x-masked-relative"])},isMasked:function(){return this._mask&&this._mask.isVisible()},createShim:function(){var el=document.createElement("iframe");el.frameBorder="0";el.className="ext-shim";if(Ext.isIE&&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(overFn,outFn,scope){var preOverFn=function(e){if(!e.within(this,true)){overFn.apply(scope||this,arguments)}};var preOutFn=function(e){if(!e.within(this,true)){outFn.apply(scope||this,arguments)}};this.on("mouseover",preOverFn,this.dom);this.on("mouseout",preOutFn,this.dom);return this},addClassOnOver:function(className){this.hover(function(){Ext.fly(this,"_internal").addClass(className)},function(){Ext.fly(this,"_internal").removeClass(className)});return this},addClassOnFocus:function(className){this.on("focus",function(){Ext.fly(this,"_internal").addClass(className)},this.dom);this.on("blur",function(){Ext.fly(this,"_internal").removeClass(className)},this.dom);return this},addClassOnClick:function(className){var dom=this.dom;this.on("mousedown",function(){Ext.fly(dom,"_internal").addClass(className);var d=Ext.getDoc();var fn=function(){Ext.fly(dom,"_internal").removeClass(className);d.removeListener("mouseup",fn)};d.on("mouseup",fn)});return this},swallowEvent:function(eventName,preventDefault){var fn=function(e){e.stopPropagation();if(preventDefault){e.preventDefault()}};if(Ext.isArray(eventName)){for(var i=0,len=eventName.length;i<len;i++){this.on(eventName[i],fn)}return this}this.on(eventName,fn);return this},parent:function(selector,returnDom){return this.matchNode("parentNode","parentNode",selector,returnDom)},next:function(selector,returnDom){return this.matchNode("nextSibling","nextSibling",selector,returnDom)},prev:function(selector,returnDom){return this.matchNode("previousSibling","previousSibling",selector,returnDom)},first:function(selector,returnDom){return this.matchNode("nextSibling","firstChild",selector,returnDom)},last:function(selector,returnDom){return this.matchNode("previousSibling","lastChild",selector,returnDom)},matchNode:function(dir,start,selector,returnDom){var n=this.dom[start];while(n){if(n.nodeType==1&&(!selector||Ext.DomQuery.is(n,selector))){return !returnDom?Ext.get(n):n}n=n[dir]}return null},appendChild:function(el){el=Ext.get(el);el.appendTo(this);return this},createChild:function(config,insertBefore,returnDom){config=config||{tag:"div"};if(insertBefore){return Ext.DomHelper.insertBefore(insertBefore,config,returnDom!==true)}return Ext.DomHelper[!this.dom.firstChild?"overwrite":"append"](this.dom,config,returnDom!==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,returnDom){el=el||{};if(typeof el=="object"&&!el.nodeType&&!el.dom){return this.createChild(el,this.dom.firstChild,returnDom)}else{el=Ext.getDom(el);this.dom.insertBefore(el,this.dom.firstChild);return !returnDom?Ext.get(el):el}},insertSibling:function(el,where,returnDom){var rt;if(Ext.isArray(el)){for(var i=0,len=el.length;i<len;i++){rt=this.insertSibling(el[i],where,returnDom)}return rt}where=where?where.toLowerCase():"before";el=el||{};var refNode=where=="before"?this.dom:this.dom.nextSibling;if(typeof el=="object"&&!el.nodeType&&!el.dom){if(where=="after"&&!this.dom.nextSibling){rt=Ext.DomHelper.append(this.dom.parentNode,el,!returnDom)}else{rt=Ext.DomHelper[where=="after"?"insertAfter":"insertBefore"](this.dom,el,!returnDom)}}else{rt=this.dom.parentNode.insertBefore(Ext.getDom(el),refNode);if(!returnDom){rt=Ext.get(rt)}}return rt},wrap:function(config,returnDom){if(!config){config={tag:"div"}}var newEl=Ext.DomHelper.insertBefore(this.dom,config,!returnDom);newEl.dom?newEl.dom.appendChild(this.dom):newEl.appendChild(this.dom);return newEl},replace:function(el){el=Ext.get(el);this.insertBefore(el);el.remove();return this},replaceWith:function(el){if(typeof el=="object"&&!el.nodeType&&!el.dom){el=this.insertSibling(el,"before")}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(where,html,returnEl){var el=Ext.DomHelper.insertHtml(where,this.dom,html);return returnEl?Ext.get(el):el},set:function(o,useSet){var el=this.dom;useSet=typeof useSet=="undefined"?(el.setAttribute?true:false):useSet;for(var attr in o){if(attr=="style"||typeof o[attr]=="function"){continue}if(attr=="cls"){el.className=o.cls}else{if(o.hasOwnProperty(attr)){if(useSet){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,scope){var config;if(typeof key!="object"||Ext.isArray(key)){config={key:key,fn:fn,scope:scope}}else{config={key:key.key,shift:key.shift,ctrl:key.ctrl,alt:key.alt,fn:fn,scope:scope}}return new Ext.KeyMap(this,config)},addKeyMap:function(config){return new Ext.KeyMap(this,config)},isScrollable:function(){var dom=this.dom;return dom.scrollHeight>dom.clientHeight||dom.scrollWidth>dom.clientWidth},scrollTo:function(side,value,animate){var prop=side.toLowerCase()=="left"?"scrollLeft":"scrollTop";if(!animate||!A){this.dom[prop]=value}else{var to=prop=="scrollLeft"?[value,this.dom.scrollTop]:[this.dom.scrollLeft,value];this.anim({scroll:{to:to}},this.preanim(arguments,2),"scroll")}return this},scroll:function(direction,distance,animate){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;direction=direction.toLowerCase();var scrolled=false;var a=this.preanim(arguments,2);switch(direction){case"l":case"left":if(w-l>cw){var v=Math.min(l+distance,w-cw);this.scrollTo("left",v,a);scrolled=true}break;case"r":case"right":if(l>0){var v=Math.max(l-distance,0);this.scrollTo("left",v,a);scrolled=true}break;case"t":case"top":case"up":if(t>0){var v=Math.max(t-distance,0);this.scrollTo("top",v,a);scrolled=true}break;case"b":case"bottom":case"down":if(h-t>ch){var v=Math.min(t+distance,h-ch);this.scrollTo("top",v,a);scrolled=true}break}return scrolled},translatePoints:function(x,y){if(typeof x=="object"||Ext.isArray(x)){y=x[1];x=x[0]}var p=this.getStyle("position");var o=this.getXY();var l=parseInt(this.getStyle("left"),10);var t=parseInt(this.getStyle("top"),10);if(isNaN(l)){l=(p=="relative")?0:this.dom.offsetLeft}if(isNaN(t)){t=(p=="relative")?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&&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,defaultValue,prefix){var v=this.getStyle(attr);if(!v||v=="transparent"||v=="inherit"){return defaultValue}var color=typeof prefix=="undefined"?"#":prefix;if(v.substr(0,4)=="rgb("){var rvs=v.slice(4,v.length-1).split(",");for(var i=0;i<3;i++){var h=parseInt(rvs[i]);var s=h.toString(16);if(h<16){s="0"+s}color+=s}}else{if(v.substr(0,1)=="#"){if(v.length==4){for(var i=1;i<4;i++){var c=v.charAt(i);color+=c+c}}else{if(v.length==7){color+=v.substr(1)}}}}return(color.length>5?color.toLowerCase():defaultValue)},boxWrap:function(cls){cls=cls||"x-box";var el=Ext.get(this.insertHtml("beforeBegin",String.format('<div class="{0}">'+El.boxMarkup+"</div>",cls)));el.child("."+cls+"-mc").dom.appendChild(this.dom);return el},getAttributeNS:Ext.isIE?function(ns,name){var d=this.dom;var type=typeof d[ns+":"+name];if(type!="undefined"&&type!="unknown"){return d[ns+":"+name]}return d[name]}:function(ns,name){var d=this.dom;return d.getAttributeNS(ns,name)||d.getAttribute(ns+":"+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,defaultUnit){if(v===""||v=="auto"){return v}if(v===undefined){return""}if(typeof v=="number"||!El.unitPattern.test(v)){return v+(defaultUnit||"px")}return v};El.boxMarkup='<div class="{0}-tl"><div class="{0}-tr"><div class="{0}-tc"></div></div></div><div class="{0}-ml"><div class="{0}-mr"><div class="{0}-mc"></div></div></div><div class="{0}-bl"><div class="{0}-br"><div class="{0}-bc"></div></div></div>';El.VISIBILITY=1;El.DISPLAY=2;El.borders={l:"border-left-width",r:"border-right-width",t:"border-top-width",b:"border-bottom-width"};El.paddings={l:"padding-left",r:"padding-right",t:"padding-top",b:"padding-bottom"};El.margins={l:"margin-left",r:"margin-right",t:"margin-top",b:"margin-bottom"};El.cache={};var docEl;El.get=function(el){var ex,elm,id;if(!el){return null}if(typeof el=="string"){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!=docEl){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(!docEl){var f=function(){};f.prototype=El.prototype;docEl=new f();docEl.dom=document}return docEl}}}}}}return null};El.uncache=function(el){for(var i=0,a=arguments,len=a.length;i<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&&!document.getElementById(eid))){delete El.cache[eid];if(d&&Ext.enableListenerCollection){Ext.EventManager.removeAll(d)}}}};El.collectorThreadId=setInterval(El.garbageCollect,30000);var flyFn=function(){};flyFn.prototype=El.prototype;var _cls=new flyFn();El.Flyweight=function(dom){this.dom=dom};El.Flyweight.prototype=_cls;El.Flyweight.prototype.isFlyweight=true;El._flyweights={};El.fly=function(el,named){named=named||"_global";el=Ext.getDom(el);if(!el){return null}if(!El._flyweights[named]){El._flyweights[named]=new El.Flyweight()}El._flyweights[named].dom=el;return El._flyweights[named]};Ext.get=El.get;Ext.fly=El.fly;var noBoxAdjust=Ext.isStrict?{select:1}:{input:1,select:1,textarea:1};if(Ext.isIE||Ext.isGecko){noBoxAdjust.button=1}Ext.EventManager.on(window,"unload",function(){delete El.cache;delete El._flyweights})})();Ext.enableFx=true;Ext.Fx={slideIn:function(a,c){var b=this.getFxEl();c=c||{};b.queueFx(c,function(){a=a||"t";this.fixDisplay();var d=this.getFxRestore();var k=this.getBox();this.setSize(k);var g=this.fxWrap(d.pos,c,"hidden");var m=this.dom.style;m.visibility="visible";m.position="absolute";var e=function(){b.fxUnwrap(g,d.pos,c);m.width=d.width;m.height=d.height;b.afterFx(c)};var l,n={to:[k.x,k.y]},i={to:k.width},h={to:k.height};switch(a.toLowerCase()){case"t":g.setSize(k.width,0);m.left=m.bottom="0";l={height:h};break;case"l":g.setSize(0,k.height);m.right=m.top="0";l={width:i};break;case"r":g.setSize(0,k.height);g.setX(k.right);m.left=m.top="0";l={width:i,points:n};break;case"b":g.setSize(k.width,0);g.setY(k.bottom);m.left=m.top="0";l={height:h,points:n};break;case"tl":g.setSize(0,0);m.right=m.bottom="0";l={width:i,height:h};break;case"bl":g.setSize(0,0);g.setY(k.y+k.height);m.right=m.top="0";l={width:i,height:h,points:n};break;case"br":g.setSize(0,0);g.setXY([k.right,k.bottom]);m.left=m.top="0";l={width:i,height:h,points:n};break;case"tr":g.setSize(0,0);g.setX(k.x+k.width);m.left=m.bottom="0";l={width:i,height:h,points:n};break}this.dom.style.visibility="visible";g.show();arguments.callee.anim=g.fxanim(l,c,"motion",0.5,"easeOut",e)});return this},slideOut:function(a,c){var b=this.getFxEl();c=c||{};b.queueFx(c,function(){a=a||"t";var k=this.getFxRestore();var d=this.getBox();this.setSize(d);var h=this.fxWrap(k.pos,c,"visible");var g=this.dom.style;g.visibility="visible";g.position="absolute";h.setSize(d);var l=function(){if(c.useDisplay){b.setDisplayed(false)}else{b.hide()}b.fxUnwrap(h,k.pos,c);g.width=k.width;g.height=k.height;b.afterFx(c)};var e,i={to:0};switch(a.toLowerCase()){case"t":g.left=g.bottom="0";e={height:i};break;case"l":g.right=g.top="0";e={width:i};break;case"r":g.left=g.top="0";e={width:i,points:{to:[d.right,d.y]}};break;case"b":g.left=g.top="0";e={height:i,points:{to:[d.x,d.bottom]}};break;case"tl":g.right=g.bottom="0";e={width:i,height:i};break;case"bl":g.right=g.top="0";e={width:i,height:i,points:{to:[d.x,d.bottom]}};break;case"br":g.left=g.top="0";e={width:i,height:i,points:{to:[d.x+d.width,d.bottom]}};break;case"tr":g.left=g.bottom="0";e={width:i,height:i,points:{to:[d.right,d.y]}};break}arguments.callee.anim=h.fxanim(e,c,"motion",0.5,"easeOut",l)});return this},puff:function(b){var a=this.getFxEl();b=b||{};a.queueFx(b,function(){this.clearOpacity();this.show();var g=this.getFxRestore();var d=this.dom.style;var h=function(){if(b.useDisplay){a.setDisplayed(false)}else{a.hide()}a.clearOpacity();a.setPositioning(g.pos);d.width=g.width;d.height=g.height;d.fontSize="";a.afterFx(b)};var e=this.getWidth();var c=this.getHeight();arguments.callee.anim=this.fxanim({width:{to:this.adjustWidth(e*2)},height:{to:this.adjustHeight(c*2)},points:{by:[-(e*0.5),-(c*0.5)]},opacity:{to:0},fontSize:{to:200,unit:"%"}},b,"motion",0.5,"easeOut",h)});return this},switchOff:function(b){var a=this.getFxEl();b=b||{};a.queueFx(b,function(){this.clearOpacity();this.clip();var d=this.getFxRestore();var c=this.dom.style;var e=function(){if(b.useDisplay){a.setDisplayed(false)}else{a.hide()}a.clearOpacity();a.setPositioning(d.pos);c.width=d.width;c.height=d.height;a.afterFx(b)};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]}},b,"motion",0.3,"easeIn",e)}).defer(100,this)})});return this},highlight:function(a,c){var b=this.getFxEl();c=c||{};b.queueFx(c,function(){a=a||"ffff9c";var d=c.attr||"backgroundColor";this.clearOpacity();this.show();var h=this.getColor(d);var i=this.dom.style[d];var g=(c.endColor||h)||"ffffff";var k=function(){b.dom.style[d]=i;b.afterFx(c)};var e={};e[d]={from:a,to:g};arguments.callee.anim=this.fxanim(e,c,"color",1,"easeIn",k)});return this},frame:function(a,c,d){var b=this.getFxEl();d=d||{};b.queueFx(d,function(){a=a||"#C3DAF9";if(a.length==6){a="#"+a}c=c||1;var h=d.duration||1;this.show();var e=this.getBox();var g=function(){var i=Ext.getBody().createChild({style:{visbility:"hidden",position:"absolute","z-index":"35000",border:"0px solid "+a}});var k=Ext.isBorderBox?2:1;i.animate({top:{from:e.y,to:e.y-20},left:{from:e.x,to:e.x-20},borderWidth:{from:0,to:10},opacity:{from:1,to:0},height:{from:e.height,to:(e.height+(20*k))},width:{from:e.width,to:(e.width+(20*k))}},h,function(){i.remove();if(--c>0){g()}else{b.afterFx(d)}})};g.call(this)});return this},pause:function(c){var a=this.getFxEl();var b={};a.queueFx(b,function(){setTimeout(function(){a.afterFx(b)},c*1000)});return this},fadeIn:function(b){var a=this.getFxEl();b=b||{};a.queueFx(b,function(){this.setOpacity(0);this.fixDisplay();this.dom.style.visibility="visible";var c=b.endOpacity||1;arguments.callee.anim=this.fxanim({opacity:{to:c}},b,null,0.5,"easeOut",function(){if(c==1){this.clearOpacity()}a.afterFx(b)})});return this},fadeOut:function(b){var a=this.getFxEl();b=b||{};a.queueFx(b,function(){var c=b.endOpacity||0;arguments.callee.anim=this.fxanim({opacity:{to:c}},b,null,0.5,"easeOut",function(){if(c===0){if(this.visibilityMode==Ext.Element.DISPLAY||b.useDisplay){this.dom.style.display="none"}else{this.dom.style.visibility="hidden"}this.clearOpacity()}a.afterFx(b)})});return this},scale:function(a,b,c){this.shift(Ext.apply({},c,{width:a,height:b}));return this},shift:function(b){var a=this.getFxEl();b=b||{};a.queueFx(b,function(){var e={},d=b.width,g=b.height,c=b.x,k=b.y,i=b.opacity;if(d!==undefined){e.width={to:this.adjustWidth(d)}}if(g!==undefined){e.height={to:this.adjustHeight(g)}}if(b.left!==undefined){e.left={to:b.left}}if(b.top!==undefined){e.top={to:b.top}}if(b.right!==undefined){e.right={to:b.right}}if(b.bottom!==undefined){e.bottom={to:b.bottom}}if(c!==undefined||k!==undefined){e.points={to:[c!==undefined?c:this.getX(),k!==undefined?k:this.getY()]}}if(i!==undefined){e.opacity={to:i}}if(b.xy!==undefined){e.points={to:b.xy}}arguments.callee.anim=this.fxanim(e,b,"motion",0.35,"easeOut",function(){a.afterFx(b)})});return this},ghost:function(a,c){var b=this.getFxEl();c=c||{};b.queueFx(c,function(){a=a||"b";var k=this.getFxRestore();var e=this.getWidth(),i=this.getHeight();var g=this.dom.style;var m=function(){if(c.useDisplay){b.setDisplayed(false)}else{b.hide()}b.clearOpacity();b.setPositioning(k.pos);g.width=k.width;g.height=k.height;b.afterFx(c)};var d={opacity:{to:0},points:{}},l=d.points;switch(a.toLowerCase()){case"t":l.by=[0,-i];break;case"l":l.by=[-e,0];break;case"r":l.by=[e,0];break;case"b":l.by=[0,i];break;case"tl":l.by=[-e,-i];break;case"bl":l.by=[-e,i];break;case"br":l.by=[e,i];break;case"tr":l.by=[e,-i];break}arguments.callee.anim=this.fxanim(d,c,"motion",0.5,"easeOut",m)});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 a=this.fxQueue[0];if(a){a.call(this)}},hasActiveFx:function(){return this.fxQueue&&this.fxQueue[0]},stopFx:function(){if(this.hasActiveFx()){var a=this.fxQueue[0];if(a&&a.anim&&a.anim.isAnimated()){this.fxQueue=[a];a.anim.stop(true)}}return this},beforeFx:function(a){if(this.hasActiveFx()&&!a.concurrent){if(a.stopFx){this.stopFx();return true}return false}return true},hasFxBlock:function(){var a=this.fxQueue;return a&&a[0]&&a[0].block},queueFx:function(c,a){if(!this.fxQueue){this.fxQueue=[]}if(!this.hasFxBlock()){Ext.applyIf(c,this.fxDefaults);if(!c.concurrent){var b=this.beforeFx(c);a.block=c.block;this.fxQueue.push(a);if(b){this.nextFx()}}else{a.call(this)}}return this},fxWrap:function(g,d,c){var b;if(!d.wrap||!(b=Ext.get(d.wrap))){var a;if(d.fixPosition){a=this.getXY()}var e=document.createElement("div");e.style.visibility=c;b=Ext.get(this.dom.parentNode.insertBefore(e,this.dom));b.setPositioning(g);if(b.getStyle("position")=="static"){b.position("relative")}this.clearPositioning("auto");b.clip();b.dom.appendChild(this.dom);if(a){b.setXY(a)}}return b},fxUnwrap:function(a,c,b){this.clearPositioning();this.setPositioning(c);if(!b.wrap){a.dom.parentNode.insertBefore(this.dom,a.dom);a.remove()}},getFxRestore:function(){var a=this.dom.style;return{pos:this.getPositioning(),width:a.width,height:a.height}},afterFx:function(a){if(a.afterStyle){this.applyStyles(a.afterStyle)}if(a.afterCls){this.addClass(a.afterCls)}if(a.remove===true){this.remove()}Ext.callback(a.callback,a.scope,[this]);if(!a.concurrent){this.fxQueue.shift();this.nextFx()}},getFxEl:function(){return Ext.get(this.dom)},fxanim:function(d,e,b,g,c,a){b=b||"run";e=e||{};var h=Ext.lib.Anim[b](this.dom,d,(e.duration||g)||0.35,(e.easing||c)||"easeOut",function(){Ext.callback(a,this)},this);e.anim=h;return h}};Ext.Fx.resize=Ext.Fx.scale;Ext.apply(Ext.Element.prototype,Ext.Fx);Ext.CompositeElement=function(a){this.elements=[];this.addElements(a)};Ext.CompositeElement.prototype={isComposite:true,addElements:function(e){if(!e){return this}if(typeof e=="string"){e=Ext.Element.selectorFunction(e)}var d=this.elements;var b=d.length-1;for(var c=0,a=e.length;c<a;c++){d[++b]=Ext.get(e[c])}return this},fill:function(a){this.elements=[];this.add(a);return this},filter:function(a){var b=[];this.each(function(c){if(c.is(a)){b[b.length]=c.dom}});this.fill(b);return this},invoke:function(e,b){var d=this.elements;for(var c=0,a=d.length;c<a;c++){Ext.Element.prototype[e].apply(d[c],b)}return this},add:function(a){if(typeof a=="string"){this.addElements(Ext.Element.selectorFunction(a))}else{if(a.length!==undefined){this.addElements(a)}else{this.addElements([a])}}return this},each:function(e,d){var c=this.elements;for(var b=0,a=c.length;b<a;b++){if(e.call(d||c[b],c[b],this,b)===false){break}}return this},item:function(a){return this.elements[a]||null},first:function(){return this.item(0)},last:function(){return this.item(this.elements.length-1)},getCount:function(){return this.elements.length},contains:function(a){return this.indexOf(a)!==-1},indexOf:function(a){return this.elements.indexOf(Ext.get(a))},removeElement:function(e,h){if(Ext.isArray(e)){for(var c=0,a=e.length;c<a;c++){this.removeElement(e[c])}return this}var b=typeof e=="number"?e:this.indexOf(e);if(b!==-1&&this.elements[b]){if(h){var g=this.elements[b];if(g.dom){g.remove()}else{Ext.removeNode(g)}}this.elements.splice(b,1)}return this},replaceElement:function(d,c,a){var b=typeof d=="number"?d:this.indexOf(d);if(b!==-1){if(a){this.elements[b].replaceWith(c)}else{this.elements.splice(b,1,Ext.get(c))}}return this},clear:function(){this.elements=[]}};(function(){Ext.CompositeElement.createCall=function(b,c){if(!b[c]){b[c]=function(){return this.invoke(c,arguments)}}};for(var a in Ext.Element.prototype){if(typeof Ext.Element.prototype[a]=="function"){Ext.CompositeElement.createCall(Ext.CompositeElement.prototype,a)}}})();Ext.CompositeElementLite=function(a){Ext.CompositeElementLite.superclass.constructor.call(this,a);this.el=new Ext.Element.Flyweight()};Ext.extend(Ext.CompositeElementLite,Ext.CompositeElement,{addElements:function(e){if(e){if(Ext.isArray(e)){this.elements=this.elements.concat(e)}else{var d=this.elements;var b=d.length-1;for(var c=0,a=e.length;c<a;c++){d[++b]=e[c]}}}return this},invoke:function(g,b){var d=this.elements;var e=this.el;for(var c=0,a=d.length;c<a;c++){e.dom=d[c];Ext.Element.prototype[g].apply(e,b)}return this},item:function(a){if(!this.elements[a]){return null}this.el.dom=this.elements[a];return this.el},addListener:function(b,h,g,e){var d=this.elements;for(var c=0,a=d.length;c<a;c++){Ext.EventManager.on(d[c],b,h,g||d[c],e)}return this},each:function(g,e){var c=this.elements;var d=this.el;for(var b=0,a=c.length;b<a;b++){d.dom=c[b];if(g.call(e||d,d,this,b)===false){break}}return this},indexOf:function(a){return this.elements.indexOf(Ext.getDom(a))},replaceElement:function(e,c,a){var b=typeof e=="number"?e:this.indexOf(e);if(b!==-1){c=Ext.getDom(c);if(a){var g=this.elements[b];g.parentNode.insertBefore(c,g);Ext.removeNode(g)}this.elements.splice(b,1,c)}return this}});Ext.CompositeElementLite.prototype.on=Ext.CompositeElementLite.prototype.addListener;if(Ext.DomQuery){Ext.Element.selectorFunction=Ext.DomQuery.select}Ext.Element.select=function(a,d,b){var c;if(typeof a=="string"){c=Ext.Element.selectorFunction(a,b)}else{if(a.length!==undefined){c=a}else{throw"Invalid selector"}}if(d===true){return new Ext.CompositeElement(c)}else{return new Ext.CompositeElementLite(c)}};Ext.select=Ext.Element.select;Ext.data.Connection=function(a){Ext.apply(this,a);this.addEvents("beforerequest","requestcomplete","requestexception");Ext.data.Connection.superclass.constructor.call(this)};Ext.extend(Ext.data.Connection,Ext.util.Observable,{timeout:30000,autoAbort:false,disableCaching:true,disableCachingParam:"_dc",request:function(e){if(this.fireEvent("beforerequest",this,e)!==false){var c=e.params;if(typeof c=="function"){c=c.call(e.scope||window,e)}if(typeof c=="object"){c=Ext.urlEncode(c)}if(this.extraParams){var h=Ext.urlEncode(this.extraParams);c=c?(c+"&"+h):h}var b=e.url||this.url;if(typeof b=="function"){b=b.call(e.scope||window,e)}if(e.form){var d=Ext.getDom(e.form);b=b||d.action;var l=d.getAttribute("enctype");if(e.isUpload||(l&&l.toLowerCase()=="multipart/form-data")){return this.doFormUpload(e,c,b)}var k=Ext.lib.Ajax.serializeForm(d);c=c?(c+"&"+k):k}var m=e.headers;if(this.defaultHeaders){m=Ext.apply(m||{},this.defaultHeaders);if(!e.headers){e.headers=m}}var g={success:this.handleResponse,failure:this.handleFailure,scope:this,argument:{options:e},timeout:e.timeout||this.timeout};var a=e.method||this.method||((c||e.xmlData||e.jsonData)?"POST":"GET");if(a=="GET"&&(this.disableCaching&&e.disableCaching!==false)||e.disableCaching===true){var i=e.disableCachingParam||this.disableCachingParam;b+=(b.indexOf("?")!=-1?"&":"?")+i+"="+(new Date().getTime())}if(typeof e.autoAbort=="boolean"){if(e.autoAbort){this.abort()}}else{if(this.autoAbort!==false){this.abort()}}if((a=="GET"||e.xmlData||e.jsonData)&&c){b+=(b.indexOf("?")!=-1?"&":"?")+c;c=""}this.transId=Ext.lib.Ajax.request(a,b,g,c,e);return this.transId}else{Ext.callback(e.callback,e.scope,[e,null,null]);return null}},isLoading:function(a){if(a){return Ext.lib.Ajax.isCallInProgress(a)}else{return this.transId?true:false}},abort:function(a){if(a||this.isLoading()){Ext.lib.Ajax.abort(a||this.transId)}},handleResponse:function(a){this.transId=false;var b=a.argument.options;a.argument=b?b.argument:null;this.fireEvent("requestcomplete",this,a,b);Ext.callback(b.success,b.scope,[a,b]);Ext.callback(b.callback,b.scope,[b,true,a])},handleFailure:function(a,c){this.transId=false;var b=a.argument.options;a.argument=b?b.argument:null;this.fireEvent("requestexception",this,a,b,c);Ext.callback(b.failure,b.scope,[a,b]);Ext.callback(b.callback,b.scope,[b,false,a])},doFormUpload:function(e,a,b){var c=Ext.id();var g=document.createElement("iframe");g.id=c;g.name=c;g.className="x-hidden";if(Ext.isIE){g.src=Ext.SSL_SECURE_URL}document.body.appendChild(g);if(Ext.isIE){document.frames[c].name=c}var d=Ext.getDom(e.form);d.target=c;d.method="POST";d.enctype=d.encoding="multipart/form-data";if(b){d.action=b}var q,n;if(a){q=[];a=Ext.urlDecode(a,false);for(var l in a){if(a.hasOwnProperty(l)){n=document.createElement("input");n.type="hidden";n.name=l;n.value=a[l];d.appendChild(n);q.push(n)}}}function h(){var i={responseText:"",responseXML:null};i.argument=e?e.argument:null;try{var o;if(Ext.isIE){o=g.contentWindow.document}else{o=(g.contentDocument||window.frames[c].document)}if(o&&o.body){i.responseText=o.body.innerHTML}if(o&&o.XMLDocument){i.responseXML=o.XMLDocument}else{i.responseXML=o}}catch(k){}Ext.EventManager.removeListener(g,"load",h,this);this.fireEvent("requestcomplete",this,i,e);Ext.callback(e.success,e.scope,[i,e]);Ext.callback(e.callback,e.scope,[e,true,i]);setTimeout(function(){Ext.removeNode(g)},100)}Ext.EventManager.on(g,"load",h,this);d.submit();if(q){for(var m=0,p=q.length;m<p;m++){Ext.removeNode(q[m])}}}});Ext.Ajax=new Ext.data.Connection({autoAbort:false,serializeForm:function(a){return Ext.lib.Ajax.serializeForm(a)}});Ext.Updater=Ext.extend(Ext.util.Observable,{constructor:function(b,a){b=Ext.get(b);if(!a&&b.updateManager){return b.updateManager}this.el=b;this.defaultUrl=null;this.addEvents("beforeupdate","update","failure");var c=Ext.Updater.defaults;this.sslBlankUrl=c.sslBlankUrl;this.disableCaching=c.disableCaching;this.indicatorText=c.indicatorText;this.showLoadIndicator=c.showLoadIndicator;this.timeout=c.timeout;this.loadScripts=c.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(b,g,h,d){if(this.fireEvent("beforeupdate",this.el,b,g)!==false){var a,c;if(typeof b=="object"){a=b;b=a.url;g=g||a.params;h=h||a.callback;d=d||a.discardUrl;c=a.scope;if(typeof a.nocache!="undefined"){this.disableCaching=a.nocache}if(typeof a.text!="undefined"){this.indicatorText='<div class="loading-indicator">'+a.text+"</div>"}if(typeof a.scripts!="undefined"){this.loadScripts=a.scripts}if(typeof a.timeout!="undefined"){this.timeout=a.timeout}}this.showLoading();if(!d){this.defaultUrl=b}if(typeof b=="function"){b=b.call(this)}var e=Ext.apply({},{url:b,params:(typeof g=="function"&&c)?g.createDelegate(c):g,success:this.processSuccess,failure:this.processFailure,scope:this,callback:undefined,timeout:(this.timeout*1000),disableCaching:this.disableCaching,argument:{options:a,url:b,form:null,callback:h,scope:c||window,params:g}},a);this.transaction=Ext.Ajax.request(e)}},formUpdate:function(c,a,b,d){if(this.fireEvent("beforeupdate",this.el,c,a)!==false){if(typeof a=="function"){a=a.call(this)}c=Ext.getDom(c);this.transaction=Ext.Ajax.request({form:c,url:a,success:this.processSuccess,failure:this.processFailure,scope:this,timeout:(this.timeout*1000),argument:{url:a,form:c,callback:d,reset:b}});this.showLoading.defer(1,this)}},refresh:function(a){if(this.defaultUrl==null){return}this.update(this.defaultUrl,null,a,true)},startAutoRefresh:function(b,c,d,e,a){if(a){this.update(c||this.defaultUrl,d,e,true)}if(this.autoRefreshProcId){clearInterval(this.autoRefreshProcId)}this.autoRefreshProcId=setInterval(this.update.createDelegate(this,[c||this.defaultUrl,d,e,true]),b*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(a){this.transaction=null;if(a.argument.form&&a.argument.reset){try{a.argument.form.reset()}catch(b){}}if(this.loadScripts){this.renderer.render(this.el,a,this,this.updateComplete.createDelegate(this,[a]))}else{this.renderer.render(this.el,a,this);this.updateComplete(a)}},updateComplete:function(a){this.fireEvent("update",this.el,a);if(typeof a.argument.callback=="function"){a.argument.callback.call(a.argument.scope,this.el,true,a,a.argument.options)}},processFailure:function(a){this.transaction=null;this.fireEvent("failure",this.el,a);if(typeof a.argument.callback=="function"){a.argument.callback.call(a.argument.scope,this.el,false,a,a.argument.options)}},setRenderer:function(a){this.renderer=a},getRenderer:function(){return this.renderer},setDefaultUrl:function(a){this.defaultUrl=a},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||"javascript:false"),disableCaching:false,showLoadIndicator:true,indicatorText:'<div class="loading-indicator">Loading...</div>'};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)}};Ext.UpdateManager=Ext.Updater;(function(){function xf(format){var args=Array.prototype.slice.call(arguments,1);return format.replace(/\{(\d+)\}/g,function(m,i){return args[i]})}Date.formatCodeToRegex=function(character,currentGroup){var p=Date.parseCodes[character];if(p){p=Ext.type(p)=="function"?p():p;Date.parseCodes[character]=p}return p?Ext.applyIf({c:p.c?xf(p.c,currentGroup||"{0}"):p.c},p):{g:0,c:null,s:Ext.escapeRe(character)}};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:"ms",SECOND:"s",MINUTE:"mi",HOUR:"h",DAY:"d",MONTH:"mo",YEAR:"y",dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],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(month){return Date.monthNames[month].substring(0,3)},getShortDayName:function(day){return Date.dayNames[day].substring(0,3)},getMonthNumber:function(name){return Date.monthNumbers[name.substring(0,1).toUpperCase()+name.substring(1,3).toLowerCase()]},formatCodes:{d:"String.leftPad(this.getDate(), 2, '0')",D:"Date.getShortDayName(this.getDay())",j:"this.getDate()",l:"Date.dayNames[this.getDay()]",N:"(this.getDay() ? this.getDay() : 7)",S:"this.getSuffix()",w:"this.getDay()",z:"this.getDayOfYear()",W:"String.leftPad(this.getWeekOfYear(), 2, '0')",F:"Date.monthNames[this.getMonth()]",m:"String.leftPad(this.getMonth() + 1, 2, '0')",M:"Date.getShortMonthName(this.getMonth())",n:"(this.getMonth() + 1)",t:"this.getDaysInMonth()",L:"(this.isLeapYear() ? 1 : 0)",o:"(this.getFullYear() + (this.getWeekOfYear() == 1 && this.getMonth() > 0 ? +1 : (this.getWeekOfYear() >= 52 && this.getMonth() < 11 ? -1 : 0)))",Y:"this.getFullYear()",y:"('' + this.getFullYear()).substring(2, 4)",a:"(this.getHours() < 12 ? 'am' : 'pm')",A:"(this.getHours() < 12 ? 'AM' : 'PM')",g:"((this.getHours() % 12) ? this.getHours() % 12 : 12)",G:"this.getHours()",h:"String.leftPad((this.getHours() % 12) ? this.getHours() % 12 : 12, 2, '0')",H:"String.leftPad(this.getHours(), 2, '0')",i:"String.leftPad(this.getMinutes(), 2, '0')",s:"String.leftPad(this.getSeconds(), 2, '0')",u:"String.leftPad(this.getMilliseconds(), 3, '0')",O:"this.getGMTOffset()",P:"this.getGMTOffset(true)",T:"this.getTimezone()",Z:"(this.getTimezoneOffset() * -60)",c:function(){for(var c="Y-m-dTH:i:sP",code=[],i=0,l=c.length;i<l;++i){var e=c.charAt(i);code.push(e=="T"?"'T'":Date.getFormatCode(e))}return code.join(" + ")},U:"Math.round(this.getTime() / 1000)"},parseDate:function(input,format){var p=Date.parseFunctions;if(p[format]==null){Date.createParser(format)}var func=p[format];return Date[func](input)},getFormatCode:function(character){var f=Date.formatCodes[character];if(f){f=Ext.type(f)=="function"?f():f;Date.formatCodes[character]=f}return f||("'"+String.escape(character)+"'")},createNewFormat:function(format){var funcName="format"+Date.formatFunctions.count++,code="Date.prototype."+funcName+" = function(){return ",special=false,ch="";Date.formatFunctions[format]=funcName;for(var i=0;i<format.length;++i){ch=format.charAt(i);if(!special&&ch=="\\"){special=true}else{if(special){special=false;code+="'"+String.escape(ch)+"' + "}else{code+=Date.getFormatCode(ch)+" + "}}}eval(code.substring(0,code.length-3)+";}")},createParser:function(){var code=["Date.{0} = function(input){","var y, m, d, h = 0, i = 0, s = 0, ms = 0, o, z, u, v;","input = String(input);","d = new Date();","y = d.getFullYear();","m = d.getMonth();","d = d.getDate();","var results = input.match(Date.parseRegexes[{1}]);","if(results && results.length > 0){","{2}","if(u){","v = new Date(u * 1000);","}else if (y >= 0 && m >= 0 && d > 0 && h >= 0 && i >= 0 && s >= 0 && ms >= 0){","v = new Date(y, m, d, h, i, s, ms);","}else if (y >= 0 && m >= 0 && d > 0 && h >= 0 && i >= 0 && s >= 0){","v = new Date(y, m, d, h, i, s);","}else if (y >= 0 && m >= 0 && d > 0 && h >= 0 && i >= 0){","v = new Date(y, m, d, h, i);","}else if (y >= 0 && m >= 0 && d > 0 && h >= 0){","v = new Date(y, m, d, h);","}else if (y >= 0 && m >= 0 && d > 0){","v = new Date(y, m, d);","}else if (y >= 0 && m >= 0){","v = new Date(y, m);","}else if (y >= 0){","v = new Date(y);","}","}","return (v && (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;","}"].join("\n");return function(format){var funcName="parse"+Date.parseFunctions.count++,regexNum=Date.parseRegexes.length,currentGroup=1,calc="",regex="",special=false,ch="";Date.parseFunctions[format]=funcName;for(var i=0;i<format.length;++i){ch=format.charAt(i);if(!special&&ch=="\\"){special=true}else{if(special){special=false;regex+=String.escape(ch)}else{var obj=$f(ch,currentGroup);currentGroup+=obj.g;regex+=obj.s;if(obj.g&&obj.c){calc+=obj.c}}}}Date.parseRegexes[regexNum]=new RegExp("^"+regex+"$","i");eval(xf(code,funcName,regexNum,calc))}}(),parseCodes:{d:{g:1,c:"d = parseInt(results[{0}], 10);\n",s:"(\\d{2})"},j:{g:1,c:"d = parseInt(results[{0}], 10);\n",s:"(\\d{1,2})"},D:function(){for(var a=[],i=0;i<7;a.push(Date.getShortDayName(i)),++i){}return{g:0,c:null,s:"(?:"+a.join("|")+")"}},l:function(){return{g:0,c:null,s:"(?:"+Date.dayNames.join("|")+")"}},N:{g:0,c:null,s:"[1-7]"},S:{g:0,c:null,s:"(?:st|nd|rd|th)"},w:{g:0,c:null,s:"[0-6]"},z:{g:0,c:null,s:"(?:\\d{1,3})"},W:{g:0,c:null,s:"(?:\\d{2})"},F:function(){return{g:1,c:"m = parseInt(Date.getMonthNumber(results[{0}]), 10);\n",s:"("+Date.monthNames.join("|")+")"}},M:function(){for(var a=[],i=0;i<12;a.push(Date.getShortMonthName(i)),++i){}return Ext.applyIf({s:"("+a.join("|")+")"},$f("F"))},m:{g:1,c:"m = parseInt(results[{0}], 10) - 1;\n",s:"(\\d{2})"},n:{g:1,c:"m = parseInt(results[{0}], 10) - 1;\n",s:"(\\d{1,2})"},t:{g:0,c:null,s:"(?:\\d{2})"},L:{g:0,c:null,s:"(?:1|0)"},o:function(){return $f("Y")},Y:{g:1,c:"y = parseInt(results[{0}], 10);\n",s:"(\\d{4})"},y:{g:1,c:"var ty = parseInt(results[{0}], 10);\ny = ty > Date.y2kYear ? 1900 + ty : 2000 + ty;\n",s:"(\\d{1,2})"},a:{g:1,c:"if (results[{0}] == 'am') {\nif (h == 12) { h = 0; }\n} else { if (h < 12) { h += 12; }}",s:"(am|pm)"},A:{g:1,c:"if (results[{0}] == 'AM') {\nif (h == 12) { h = 0; }\n} else { if (h < 12) { h += 12; }}",s:"(AM|PM)"},g:function(){return $f("G")},G:{g:1,c:"h = parseInt(results[{0}], 10);\n",s:"(\\d{1,2})"},h:function(){return $f("H")},H:{g:1,c:"h = parseInt(results[{0}], 10);\n",s:"(\\d{2})"},i:{g:1,c:"i = parseInt(results[{0}], 10);\n",s:"(\\d{2})"},s:{g:1,c:"s = parseInt(results[{0}], 10);\n",s:"(\\d{2})"},u:{g:1,c:"ms = results[{0}]; ms = parseInt(ms, 10)/Math.pow(10, ms.length - 3);\n",s:"(\\d+)"},O:{g:1,c:["o = results[{0}];","var sn = o.substring(0,1);","var hr = o.substring(1,3)*1 + Math.floor(o.substring(3,5) / 60);","var mn = o.substring(3,5) % 60;","o = ((-12 <= (hr*60 + mn)/60) && ((hr*60 + mn)/60 <= 14))? (sn + String.leftPad(hr, 2, '0') + String.leftPad(mn, 2, '0')) : null;\n"].join("\n"),s:"([+-]\\d{4})"},P:{g:1,c:["o = results[{0}];","var sn = o.substring(0,1);","var hr = o.substring(1,3)*1 + Math.floor(o.substring(4,6) / 60);","var mn = o.substring(4,6) % 60;","o = ((-12 <= (hr*60 + mn)/60) && ((hr*60 + mn)/60 <= 14))? (sn + String.leftPad(hr, 2, '0') + String.leftPad(mn, 2, '0')) : null;\n"].join("\n"),s:"([+-]\\d{2}:\\d{2})"},T:{g:0,c:null,s:"[A-Z]{1,4}"},Z:{g:1,c:"z = results[{0}] * 1;\nz = (-43200 <= z && z <= 50400)? z : null;\n",s:"([+-]?\\d{1,5})"},c:function(){var calc=[],arr=[$f("Y",1),$f("m",2),$f("d",3),$f("h",4),$f("i",5),$f("s",6),{c:"ms = (results[7] || '.0').substring(1); ms = parseInt(ms, 10)/Math.pow(10, ms.length - 3);\n"},{c:["if(results[9] == 'Z'){","z = 0;","}else{",$f("P",9).c,"}"].join("\n")}];for(var i=0,l=arr.length;i<l;++i){calc.push(arr[i].c)}return{g:1,c:calc.join(""),s:arr[0].s+"-"+arr[1].s+"-"+arr[2].s+"T"+arr[3].s+":"+arr[4].s+":"+arr[5].s+"((.|,)\\d+)?(Z|([+-]\\d{2}:\\d{2}))"}},U:{g:1,c:"u = parseInt(results[{0}], 10);\n",s:"(-?\\d+)"}}})}());Ext.apply(Date.prototype,{dateFormat:function(b){if(Date.formatFunctions[b]==null){Date.createNewFormat(b)}var a=Date.formatFunctions[b];return this[a]()},getTimezone:function(){return this.toString().replace(/^.* (?:\((.*)\)|([A-Z]{1,4})(?:[\-+][0-9]{4})?(?: -?\d+)?)$/,"$1$2").replace(/[^A-Z]/g,"")},getGMTOffset:function(a){return(this.getTimezoneOffset()>0?"-":"+")+String.leftPad(Math.floor(Math.abs(this.getTimezoneOffset())/60),2,"0")+(a?":":"")+String.leftPad(Math.abs(this.getTimezoneOffset()%60),2,"0")},getDayOfYear:function(){var a=0;Date.daysInMonth[1]=this.isLeapYear()?29:28;for(var b=0;b<this.getMonth();++b){a+=Date.daysInMonth[b]}return a+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&3)==0&&(a%100||(a%400==0&&a)))},getFirstDayOfMonth:function(){var a=(this.getDay()-(this.getDate()-1))%7;return(a<0)?(a+7):a},getLastDayOfMonth:function(){var a=(this.getDay()+(Date.daysInMonth[this.getMonth()]-this.getDate()))%7;return(a<0)?(a+7):a},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"st";case 2:case 22:return"nd";case 3:case 23:return"rd";default:return"th"}},clone:function(){return new Date(this.getTime())},clearTime:function(a){if(a){return this.clone().clearTime()}this.setHours(0);this.setMinutes(0);this.setSeconds(0);this.setMilliseconds(0);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>28){a=Math.min(a,this.getFirstDateOfMonth().add("mo",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()<=b&&b<=a.getTime()}});Date.prototype.format=Date.prototype.dateFormat;if(Ext.isSafari){Date.brokenSetMonth=Date.prototype.setMonth;Date.prototype.setMonth=function(a){if(a<=-1){var d=Math.ceil(-a);var c=Math.ceil(d/12);var b=(d%12)?12-d%12:0;this.setFullYear(this.getFullYear()-c);return Date.brokenSetMonth.call(this,b)}else{return Date.brokenSetMonth.apply(this,arguments)}}}Ext.util.DelayedTask=function(g,e,a){var i=null,h,b;var c=function(){var d=new Date().getTime();if(d-b>=h){clearInterval(i);i=null;g.apply(e,a||[])}};this.delay=function(k,m,l,d){if(i&&k!=h){this.cancel()}h=k;b=new Date().getTime();g=m||g;e=l||e;a=d||a;if(!i){i=setInterval(c,h)}};this.cancel=function(){if(i){clearInterval(i);i=null}}};Ext.util.TaskRunner=function(e){e=e||10;var g=[],a=[];var b=0;var h=false;var d=function(){h=false;clearInterval(b);b=0};var i=function(){if(!h){h=true;b=setInterval(k,e)}};var c=function(l){a.push(l);if(l.onStop){l.onStop.apply(l.scope||l)}};var k=function(){if(a.length>0){for(var q=0,m=a.length;q<m;q++){g.remove(a[q])}a=[];if(g.length<1){d();return}}var o=new Date().getTime();for(var q=0,m=g.length;q<m;++q){var p=g[q];var l=o-p.taskRunTime;if(p.interval<=l){var n=p.run.apply(p.scope||p,p.args||[++p.taskRunCount]);p.taskRunTime=o;if(n===false||p.taskRunCount===p.repeat){c(p);return}}if(p.duration&&p.duration<=(o-p.taskStartTime)){c(p)}}};this.start=function(l){g.push(l);l.taskStartTime=new Date().getTime();l.taskRunTime=0;l.taskRunCount=0;i();return l};this.stop=function(l){c(l);return l};this.stopAll=function(){d();for(var m=0,l=g.length;m<l;m++){if(g[m].onStop){g[m].onStop()}}g=[];a=[]}};Ext.TaskMgr=new Ext.util.TaskRunner();Ext.util.MixedCollection=function(b,a){this.items=[];this.map={};this.keys=[];this.length=0;this.addEvents("clear","add","replace","remove","sort");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=="undefined"||b===null){this.length++;this.items.push(c);this.keys.push(null)}else{var a=this.map[b];if(a){return this.replace(b,c)}this.length++;this.items.push(c);this.map[b]=c;this.keys.push(b)}this.fireEvent("add",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.item(c);if(typeof c=="undefined"||c===null||typeof a=="undefined"){return this.add(c,d)}var b=this.indexOfKey(c);this.items[b]=d;this.map[c]=d;this.fireEvent("replace",c,a,d);return d},addAll:function(e){if(arguments.length>1||Ext.isArray(e)){var b=arguments.length>1?arguments:e;for(var d=0,a=b.length;d<a;d++){this.add(b[d])}}else{for(var c in e){if(this.allowFunctions||typeof e[c]!="function"){this.add(c,e[c])}}}},each:function(e,d){var b=[].concat(this.items);for(var c=0,a=b.length;c<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<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<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(a>=this.length){return this.add(b,c)}this.length++;this.items.splice(a,0,c);if(typeof b!="undefined"&&b!=null){this.map[b]=c}this.keys.splice(a,0,b);this.fireEvent("add",a,c,b);return c},remove:function(a){return this.removeAt(this.indexOf(a))},removeAt:function(a){if(a<this.length&&a>=0){this.length--;var c=this.items[a];this.items.splice(a,1);var b=this.keys[a];if(typeof b!="undefined"){delete this.map[b]}this.keys.splice(a,1);this.fireEvent("remove",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(a){var b=typeof this.map[a]!="undefined"?this.map[a]:this.items[a];return typeof b!="function"||this.allowFunctions?b: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]!="undefined"},clear:function(){this.length=0;this.items=[];this.keys=[];this.map={};this.fireEvent("clear")},first:function(){return this.items[0]},last:function(){return this.items[this.length-1]},_sort:function(n,a,m){var d=String(a).toUpperCase()=="DESC"?-1:1;m=m||function(i,c){return i-c};var l=[],b=this.keys,h=this.items;for(var e=0,g=h.length;e<g;e++){l[l.length]={key:b[e],value:h[e],index:e}}l.sort(function(i,c){var k=m(i[n],c[n])*d;if(k==0){k=(i.index<c.index?-1:1)}return k});for(var e=0,g=l.length;e<g;e++){h[e]=l[e].value;b[e]=l[e].key}this.fireEvent("sort",this)},sort:function(a,b){this._sort("value",a,b)},keySort:function(a,b){this._sort("key",a,b||function(d,c){var g=String(d).toUpperCase(),e=String(c).toUpperCase();return g>e?1:(g<e?-1:0)})},getRange:function(e,a){var b=this.items;if(b.length<1){return[]}e=e||0;a=Math.min(typeof a=="undefined"?this.length-1:a,this.length-1);var d=[];if(e<=a){for(var c=e;c<=a;c++){d[d.length]=b[c]}}else{for(var c=e;c>=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&&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<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&&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<a;c++){if(g.call(e||this,d[c],b[c])){return c}}if(typeof h=="number"&&h>0){for(var c=0;c<h;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?"":"^")+Ext.escapeRe(b),a?"":"i")}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<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.util.JSON=new (function(){var useHasOwn=!!{}.hasOwnProperty;var pad=function(n){return n<10?"0"+n:n};var m={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"};var encodeString=function(s){if(/["\\\x00-\x1f]/.test(s)){return'"'+s.replace(/([\x00-\x1f\\"])/g,function(a,b){var c=m[b];if(c){return c}c=b.charCodeAt();return"\\u00"+Math.floor(c/16).toString(16)+(c%16).toString(16)})+'"'}return'"'+s+'"'};var encodeArray=function(o){var a=["["],b,i,l=o.length,v;for(i=0;i<l;i+=1){v=o[i];switch(typeof v){case"undefined":case"function":case"unknown":break;default:if(b){a.push(",")}a.push(v===null?"null":Ext.util.JSON.encode(v));b=true}}a.push("]");return a.join("")};this.encodeDate=function(o){return'"'+o.getFullYear()+"-"+pad(o.getMonth()+1)+"-"+pad(o.getDate())+"T"+pad(o.getHours())+":"+pad(o.getMinutes())+":"+pad(o.getSeconds())+'"'};this.encode=function(o){if(typeof o=="undefined"||o===null){return"null"}else{if(Ext.isArray(o)){return encodeArray(o)}else{if(Ext.isDate(o)){return Ext.util.JSON.encodeDate(o)}else{if(typeof o=="string"){return encodeString(o)}else{if(typeof o=="number"){return isFinite(o)?String(o):"null"}else{if(typeof o=="boolean"){return String(o)}else{var a=["{"],b,i,v;for(i in o){if(!useHasOwn||o.hasOwnProperty(i)){v=o[i];switch(typeof v){case"undefined":case"function":case"unknown":break;default:if(b){a.push(",")}a.push(this.encode(i),":",v===null?"null":this.encode(v));b=true}}}a.push("}");return a.join("")}}}}}}};this.decode=function(json){return eval("("+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){if(value&&value.length>len){return value.substr(0,len-3)+"..."}return value},undef:function(value){return value!==undefined?value:""},defaultValue:function(value,defaultValue){return value!==undefined&&value!==""?value:defaultValue},htmlEncode:function(value){return !value?value:String(value).replace(/&/g,"&amp;").replace(/>/g,"&gt;").replace(/</g,"&lt;").replace(/"/g,"&quot;")},htmlDecode:function(value){return !value?value:String(value).replace(/&gt;/g,">").replace(/&lt;/g,"<").replace(/&quot;/g,'"').replace(/&amp;/g,"&")},trim:function(value){return String(value).replace(trimRe,"")},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>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+".00":((v*10==Math.floor(v*10))?v+"0":v);v=String(v);var ps=v.split(".");var whole=ps[0];var sub=ps[1]?"."+ps[1]:".00";var r=/(\d+)(\d{3})/;while(r.test(whole)){whole=whole.replace(r,"$1,$2")}v=whole+sub;if(v.charAt(0)=="-"){return"-$"+v.substr(1)}return"$"+v},date:function(v,format){if(!v){return""}if(!Ext.isDate(v)){v=new Date(Date.parse(v))}return v.dateFormat(format||"m/d/Y")},dateRenderer:function(format){return function(v){return Ext.util.Format.date(v,format)}},stripTagsRE:/<\/?[^>]+>/gi,stripTags:function(v){return !v?v:String(v).replace(this.stripTagsRE,"")},stripScriptsRe:/(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)/ig,stripScripts:function(v){return !v?v:String(v).replace(this.stripScriptsRe,"")},fileSize:function(size){if(size<1024){return size+" bytes"}else{if(size<1048576){return(Math.round(((size*10)/1024))/10)+" KB"}else{return(Math.round(((size*10)/1048576))/10)+" MB"}}},math:function(){var fns={};return function(v,a){if(!fns[a]){fns[a]=new Function("v","return v "+a+";")}return fns[a](v)}}(),nl2br:function(v){return v===undefined||v===null?"":v.replace(/\n/g,"<br/>")}}}();Ext.XTemplate=function(){Ext.XTemplate.superclass.constructor.apply(this,arguments);var u=this.html;u=["<tpl>",u,"</tpl>"].join("");var t=/<tpl\b[^>]*>((?:(?=([^<]+))\2|<(?!tpl\b[^>]*>))*?)<\/tpl>/;var r=/^<tpl\b[^>]*?for="(.*?)"/;var p=/^<tpl\b[^>]*?if="(.*?)"/;var n=/^<tpl\b[^>]*?exec="(.*?)"/;var c,b=0;var h=[];while(c=u.match(t)){var q=c[0].match(r);var o=c[0].match(p);var l=c[0].match(n);var e=null,k=null,d=null;var a=q&&q[1]?q[1]:"";if(o){e=o&&o[1]?o[1]:null;if(e){k=new Function("values","parent","xindex","xcount","with(values){ return "+(Ext.util.Format.htmlDecode(e))+"; }")}}if(l){e=l&&l[1]?l[1]:null;if(e){d=new Function("values","parent","xindex","xcount","with(values){ "+(Ext.util.Format.htmlDecode(e))+"; }")}}if(a){switch(a){case".":a=new Function("values","parent","with(values){ return values; }");break;case"..":a=new Function("values","parent","with(values){ return parent; }");break;default:a=new Function("values","parent","with(values){ return "+a+"; }")}}h.push({id:b,target:a,exec:d,test:k,body:c[1]||""});u=u.replace(c[0],"{xtpl"+b+"}");++b}for(var g=h.length-1;g>=0;--g){this.compileTpl(h[g])}this.master=h[h.length-1];this.tpls=h};Ext.extend(Ext.XTemplate,Ext.Template,{re:/\{([\w-\.\#]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?(\s?[\+\-\*\\]\s?[\d\.\+\-\*\\\(\)]+)?\}/g,codeRe:/\{\[((?:\\\]|.|\n)*?)\]\}/g,applySubTemplate:function(a,k,h,d,c){var m=this.tpls[a];if(m.test&&!m.test.call(this,k,h,d,c)){return""}if(m.exec&&m.exec.call(this,k,h,d,c)){return""}var l=m.target?m.target.call(this,k,h):k;h=m.target?k:h;if(m.target&&Ext.isArray(l)){var b=[];for(var e=0,g=l.length;e<g;e++){b[b.length]=m.compiled.call(this,l[e],h,e+1,g)}return b.join("")}return m.compiled.call(this,l,h,d,c)},compileTpl:function(tpl){var fm=Ext.util.Format;var useF=this.disableFormats!==true;var sep=Ext.isGecko?"+":",";var fn=function(m,name,format,args,math){if(name.substr(0,4)=="xtpl"){return"'"+sep+"this.applySubTemplate("+name.substr(4)+", values, parent, xindex, xcount)"+sep+"'"}var v;if(name==="."){v="values"}else{if(name==="#"){v="xindex"}else{if(name.indexOf(".")!=-1){v=name}else{v="values['"+name+"']"}}}if(math){v="("+v+math+")"}if(format&&useF){args=args?","+args:"";if(format.substr(0,5)!="this."){format="fm."+format+"("}else{format='this.call("'+format.substr(5)+'", ';args=", values"}}else{args="";format="("+v+" === undefined ? '' : "}return"'"+sep+format+v+args+")"+sep+"'"};var codeFn=function(m,code){return"'"+sep+"("+code+")"+sep+"'"};var body;if(Ext.isGecko){body="tpl.compiled = function(values, parent, xindex, xcount){ return '"+tpl.body.replace(/(\r\n|\n)/g,"\\n").replace(/'/g,"\\'").replace(this.re,fn).replace(this.codeRe,codeFn)+"';};"}else{body=["tpl.compiled = function(values, parent, xindex, xcount){ return ['"];body.push(tpl.body.replace(/(\r\n|\n)/g,"\\n").replace(/'/g,"\\'").replace(this.re,fn).replace(this.codeRe,codeFn));body.push("'].join('');};");body=body.join("")}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,m){var h;var g=c.getElementsByTagName("head")[0];var l=c.createElement("style");l.setAttribute("type","text/css");if(m){l.setAttribute("id",m)}if(Ext.isIE){g.appendChild(l);h=l.styleSheet;h.cssText=i}else{try{l.appendChild(c.createTextNode(i))}catch(k){l.cssText=i}g.appendChild(l);h=l.styleSheet?l.styleSheet:(l.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("link");g.setAttribute("rel","stylesheet");g.setAttribute("type","text/css");g.setAttribute("id",h);g.setAttribute("href",e);c.getElementsByTagName("head")[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>=0;--g){d[k[g].selectorText]=k[g]}}catch(i){}},getRules:function(h){if(d==null||h){d={};var l=c.styleSheets;for(var k=0,g=l.length;k<g;k++){try{this.cacheStyleSheet(l[k])}catch(m){}}}return d},getRule:function(e,h){var g=this.getRules(h);if(!Ext.isArray(e)){return g[e]}for(var k=0;k<e.length;k++){if(g[e[k]]){return g[e[k]]}}return null},updateRule:function(e,k,h){if(!Ext.isArray(e)){var l=this.getRule(e);if(l){l.style[k.replace(b,a)]=h;return true}}else{for(var g=0;g<e.length;g++){if(this.updateRule(e[g],k,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("mousedown","click","mouseup");this.el.on("mousedown",this.handleMouseDown,this);if(this.preventDefault||this.stopDefault){this.el.on("click",function(c){if(this.preventDefault){c.preventDefault()}if(this.stopDefault){c.stopEvent()}},this)}if(this.handler){this.on("click",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("mouseup",this.handleMouseUp,this);this.el.on("mouseout",this.handleMouseOut,this);this.fireEvent("mousedown",this);this.fireEvent("click",this);if(this.accelerate){this.delay=400}this.timer=this.click.defer(this.delay||this.interval,this)},click:function(){this.fireEvent("click",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("mouseover",this.handleMouseReturn,this)},handleMouseReturn:function(){this.el.un("mouseover",this.handleMouseReturn,this);if(this.pressClass){this.el.addClass(this.pressClass)}this.click()},handleMouseUp:function(){clearTimeout(this.timer);this.el.un("mouseover",this.handleMouseReturn,this);this.el.un("mouseout",this.handleMouseOut,this);Ext.getDoc().un("mouseup",this.handleMouseUp,this);this.el.removeClass(this.pressClass);this.fireEvent("mouseup",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:"stopEvent",forceKeyDown:false,prepareEvent:function(c){var a=c.getKey();var b=this.keyToHandler[a];if(Ext.isSafari2&&b&&a>=37&&a<=40){c.stopEvent()}},relay:function(c){var a=c.getKey();var b=this.keyToHandler[a];if(b&&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:"left",39:"right",38:"up",40:"down",33:"pageUp",34:"pageDown",46:"del",36:"home",35:"end",13:"enter",27:"esc",9:"tab"},enable:function(){if(this.disabled){if(this.forceKeyDown||Ext.isIE||Ext.isSafari3||Ext.isAir){this.el.on("keydown",this.relay,this)}else{this.el.on("keydown",this.prepareEvent,this);this.el.on("keypress",this.relay,this)}this.disabled=false}},disable:function(){if(!this.disabled){if(this.forceKeyDown||Ext.isIE||Ext.isSafari3||Ext.isAir){this.el.un("keydown",this.relay,this)}else{this.el.un("keydown",this.prepareEvent,this);this.el.un("keypress",this.relay,this)}this.disabled=true}}};Ext.KeyMap=function(c,b,a){this.el=Ext.get(c);this.eventName=a||"keydown";this.bindings=[];if(b){this.addBinding(b)}this.enable()};Ext.KeyMap.prototype={stopEvent:false,addBinding:function(d){if(Ext.isArray(d)){for(var g=0,k=d.length;g<k;g++){this.addBinding(d[g])}return}var q=d.key,c=d.shift,a=d.ctrl,h=d.alt,m=d.fn||d.handler,p=d.scope;if(d.stopEvent){this.stopEvent=d.stopEvent}if(typeof q=="string"){var n=[];var l=q.toUpperCase();for(var e=0,k=l.length;e<k;e++){n.push(l.charCodeAt(e))}q=n}var b=Ext.isArray(q);var o=function(u){if((!c||u.shiftKey)&&(!a||u.ctrlKey)&&(!h||u.altKey)){var s=u.getKey();if(b){for(var t=0,r=q.length;t<r;t++){if(q[t]==s){if(this.stopEvent){u.stopEvent()}m.call(p||window,s,u);return}}}else{if(s==q){if(this.stopEvent){u.stopEvent()}m.call(p||window,s,u)}}}};this.bindings.push(o)},on:function(b,d,c){var h,a,e,g;if(typeof b=="object"&&!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<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}}};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||"auto");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("div"));document.body.appendChild(c.dom);c.position("absolute");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("");return e},bind:function(e){c.setStyle(Ext.fly(e).getStyles("font-size","font-style","font-weight","font-family","line-height","text-transform","letter-spacing"))},setFixedWidth:function(e){c.setWidth(e)},getWidth:function(e){c.dom.style.width="auto";return this.getSize(e).width},getHeight:function(e){return this.getSize(e).height}};a.bind(b);return a};Ext.Element.measureText=Ext.util.TextMetrics.measure;(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(k,h,p){if(typeof h=="number"){h={left:h,right:h,top:h,bottom:h}}h=h||this.defaultPadding;var m=Ext.get(this.getEl()).getBox();var d=Ext.get(k);var o=d.getScroll();var l,e=d.dom;if(e==document.body){l={x:o.left,y:o.top,width:Ext.lib.Dom.getViewWidth(),height:Ext.lib.Dom.getViewHeight()}}else{var n=d.getXY();l={x:n[0]+o.left,y:n[1]+o.top,width:e.clientWidth,height:e.clientHeight}}var i=m.y-l.y;var g=m.x-l.x;this.resetConstraints();this.setXConstraint(g-(h.left||0),l.width-g-m.width-(h.right||0),this.xTickSize);this.setYConstraint(i-(h.top||0),l.height-i-m.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,"mousedown",this.handleMouseDown,this)},initTarget:function(e,c,d){this.config=d||{};this.DDM=Ext.dd.DDM;this.groups={};if(typeof e!=="string"){e=Ext.id(e)}this.id=e;this.addToGroup((c)?c:"default");this.handleElId=e;this.setDragElId(e);this.invalidHandleTypes={A:"A"};this.invalidHandleIds={};this.invalidHandleClasses=[];this.applyConfig();this.handleOnAvailable()},applyConfig:function(){this.padding=this.config.padding||[0,0,0,0];this.isTarget=(this.config.isTarget!==false);this.maintainOffset=(this.config.maintainOffset);this.primaryButtonOnly=(this.config.primaryButtonOnly!==false)},handleOnAvailable:function(){this.available=true;this.resetConstraints();this.onAvailable()},setPadding:function(e,c,g,d){if(!c&&0!==c){this.padding=[e,e,e,e]}else{if(!g&&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!=="string"){c=Ext.id(c)}this.handleElId=c;this.DDM.regHandle(this.id,c)},setOuterHandleElId:function(c){if(typeof c!=="string"){c=Ext.id(c)}a.on(c,"mousedown",this.handleMouseDown,this);this.setHandleElId(c);this.hasOuterHandles=true},unreg:function(){a.un(this.id,"mousedown",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&&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&&!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)&&(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!=="string"){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!=="string"){c=Ext.id(c)}delete this.invalidHandleIds[c]},removeInvalidHandleClass:function(d){for(var e=0,c=this.invalidHandleClasses.length;e<c;++e){if(this.invalidHandleClasses[e]==d){delete this.invalidHandleClasses[e]}}},isValidHandleChild:function(h){var g=true;var l;try{l=h.nodeName.toUpperCase()}catch(k){l=h.nodeName}g=g&&!this.invalidHandleTypes[l];g=g&&!this.invalidHandleIds[h.id];for(var d=0,c=this.invalidHandleClasses.length;g&&d<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>=this.minX;d=d-c){if(!e[d]){this.xTicks[this.xTicks.length]=d;e[d]=true}}for(d=this.initPageX;d<=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>=this.minY;d=d-c){if(!e[d]){this.yTicks[this.yTicks.length]=d;e[d]=true}}for(d=this.initPageY;d<=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(l,g){if(!g){return l}else{if(g[0]>=l){return g[0]}else{for(var d=0,c=g.length;d<c;++d){var e=d+1;if(g[e]&&g[e]>=l){var k=l-g[d];var h=g[e]-l;return(h>k)?g[d]:g[e]}}return g[g.length-1]}}},toString:function(){return("DragDrop "+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,"mouseup",this.handleMouseUp,this,true);a.on(document,"mousemove",this.handleMouseMove,this,true);a.on(window,"unload",this._onUnload,this,true);a.on(window,"resize",this._onResize,this,true)},_onResize:function(b){this._execOnAll("resetConstraints",[])},lock:function(){this.locked=true},unlock:function(){this.locked=false},isLocked:function(){return this.locked},locationCache:{},useCache:true,clickPixelThresh:3,clickTimeThresh:350,dragThreshMet:false,clickTimeout:null,startX:0,startY:0,regDragDrop:function(c,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&&c[d.id]){delete c[d.id]}},_remove:function(c){for(var b in c.groups){if(b&&this.ids[b]&&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(g,c){var e=[];for(var d in g.groups){for(j in this.ids[d]){var b=this.ids[d][j];if(!this.isTypeOfDD(b)){continue}if(!c||b.isTarget){e[e.length]=b}}}return e},isLegalTarget:function(g,e){var c=this.getRelated(g,true);for(var d=0,b=c.length;d<b;++d){if(c[d].id==e.id){return true}}return false},isTypeOfDD:function(b){return(b&&b.__ygDragDrop)},isHandle:function(c,b){return(this.handleIds[c]&&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&&(d.button!==0&&d.button!==1&&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>this.clickPixelThresh||b>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(o,p){var r=this.dragCurrent;if(!r||r.isLocked()){return}var s=o.getPoint();var b=[];var g=[];var m=[];var k=[];var d=[];for(var h in this.dragOvers){var c=this.dragOvers[h];if(!this.isTypeOfDD(c)){continue}if(!this.isOverTarget(s,c,this.mode)){g.push(c)}b[h]=true;delete this.dragOvers[h]}for(var q in r.groups){if("string"!=typeof q){continue}for(h in this.ids[q]){var l=this.ids[q][h];if(!this.isTypeOfDD(l)){continue}if(l.isTarget&&!l.isLocked()&&l!=r){if(this.isOverTarget(s,l,this.mode)){if(p){k.push(l)}else{if(!b[l.id]){d.push(l)}else{m.push(l)}this.dragOvers[l.id]=l}}}}}if(this.mode){if(g.length){r.b4DragOut(o,g);r.onDragOut(o,g)}if(d.length){r.onDragEnter(o,d)}if(m.length){r.b4DragOver(o,m);r.onDragOver(o,m)}if(k.length){r.b4DragDrop(o,k);r.onDragDrop(o,k)}}else{var n=0;for(h=0,n=g.length;h<n;++h){r.b4DragOut(o,g[h].id);r.onDragOut(o,g[h].id)}for(h=0,n=d.length;h<n;++h){r.onDragEnter(o,d[h].id)}for(h=0,n=m.length;h<n;++h){r.b4DragOver(o,m[h].id);r.onDragOver(o,m[h].id)}for(h=0,n=k.length;h<n;++h){r.b4DragDrop(o,k[h].id);r.onDragDrop(o,k[h].id)}}if(p&&!k.length){r.onInvalidDrop(o)}},getBestMatch:function(d){var g=null;var c=d.length;if(c==1){g=d[0]}else{for(var e=0;e<c;++e){var b=d[e];if(b.cursorIsOver){g=b;break}else{if(!g||g.overlap.getArea()<b.overlap.getArea()){g=b}}}}return g},refreshCache:function(c){for(var b in c){if("string"!=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(k){if(!this.isTypeOfDD(k)){return null}var h=k.getEl(),o,g,d,q,p,s,c,n,i;try{o=Ext.lib.Dom.getXY(h)}catch(m){}if(!o){return null}g=o[0];d=g+h.offsetWidth;q=o[1];p=q+h.offsetHeight;s=q-k.padding[0];c=d+k.padding[1];n=p+k.padding[2];i=g-k.padding[3];return new Ext.lib.Region(s,c,n,i)},isOverTarget:function(l,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(l);var k=this.dragCurrent;if(!k||!k.getTargetCoord||(!d&&!k.constrainX&&!k.constrainY)){return b.cursorIsOver}b.overlap=null;var h=k.getTargetCoord(l.x,l.y);var c=k.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("unreg",[]);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&&b.id;this.css=this.el&&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&&(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&&document){b._onLoad()}else{if(b._timeoutCount>2000){}else{setTimeout(b._addListeners,10);if(document&&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,"_dd");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(m,l,e,n){if(this.scroll){var o=Ext.lib.Dom.getViewHeight();var b=Ext.lib.Dom.getViewWidth();var q=this.DDM.getScrollTop();var d=this.DDM.getScrollLeft();var k=e+l;var p=n+m;var i=(o+q-l-this.deltaY);var g=(b+d-m-this.deltaX);var c=40;var a=(document.all)?80:30;if(k>o&&i<c){window.scrollTo(d,q+a)}if(l<q&&q>0&&l-q<c){window.scrollTo(d,q-a)}if(p>b&&g<c){window.scrollTo(d+a,q)}if(m<d&&d>0&&m-d<c){window.scrollTo(d-a,q)}}},getTargetCoord:function(c,b){var a=c-this.deltaX;var d=b-this.deltaY;if(this.constrainX){if(a<this.minX){a=this.minX}if(a>this.maxX){a=this.maxX}}if(this.constrainY){if(d<this.minY){d=this.minY}if(d>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("DD "+this.id)}});Ext.dd.DDProxy=function(c,a,b){if(c){this.init(c,a,b);this.initFrame()}};Ext.dd.DDProxy.dragElId="ygddfdiv";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("div");d.id=this.dragElId;var c=d.style;c.position="absolute";c.visibility="hidden";c.cursor="move";c.border="2px solid #aaa";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="";this.beforeMove();b.style.visibility="hidden";Ext.dd.DDM.moveToEl(b,a);a.style.visibility="hidden";b.style.visibility="";this.afterDrag()},beforeMove:function(){},afterDrag:function(){},toString:function(){return("DDProxy "+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("DDTarget "+this.id)}});Ext.dd.DragTracker=function(a){Ext.apply(this,a);this.addEvents("mousedown","mouseup","mousemove","dragstart","dragend","drag");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("mousedown",this.onMouseDown,this,this.delegate?{delegate:this.delegate}:undefined)},destroy:function(){this.el.un("mousedown",this.onMouseDown,this)},onMouseDown:function(c,b){if(this.fireEvent("mousedown",this,c)!==false&&this.onBeforeStart(c)!==false){this.startXY=this.lastXY=c.getXY();this.dragTarget=this.delegate?b:this.el.dom;c.preventDefault();var a=Ext.getDoc();a.on("mouseup",this.onMouseUp,this);a.on("mousemove",this.onMouseMove,this);a.on("selectstart",this.stopSelect,this);if(this.autoStart){this.timer=this.triggerStart.defer(this.autoStart===true?1000:this.autoStart,this)}}},onMouseMove:function(d,c){d.preventDefault();var b=d.getXY(),a=this.startXY;this.lastXY=b;if(!this.active){if(Math.abs(a[0]-b[0])>this.tolerance||Math.abs(a[1]-b[1])>this.tolerance){this.triggerStart()}else{return}}this.fireEvent("mousemove",this,d);this.onDrag(d);this.fireEvent("drag",this,d)},onMouseUp:function(b){var a=Ext.getDoc();a.un("mousemove",this.onMouseMove,this);a.un("mouseup",this.onMouseUp,this);a.un("selectstart",this.stopSelect,this);b.preventDefault();this.clearStart();this.active=false;delete this.elRegion;this.fireEvent("mouseup",this,b);this.onEnd(b);this.fireEvent("dragend",this,b)},triggerStart:function(a){this.clearStart();this.active=true;this.onStart(this.startXY);this.fireEvent("dragstart",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(m){b=null;a()};var k=function(){if(c.dragCurrent){c.refreshCache(c.dragCurrent.groups)}};var d=function(){if(c.dragCurrent){var m=Ext.dd.ScrollManager;var n=i.el.ddScrollConfig?i.el.ddScrollConfig.increment:m.increment;if(!m.animate){if(i.el.scroll(i.dir,n)){k()}}else{i.el.scroll(i.dir,n,true,m.animDuration,k)}}};var a=function(){if(i.id){clearInterval(i.id)}i.id=0;i.el=null;i.dir=""};var g=function(n,m){a();i.el=n;i.dir=m;var o=(n.ddScrollConfig&&n.ddScrollConfig.frequency)?n.ddScrollConfig.frequency:Ext.dd.ScrollManager.frequency;i.id=setInterval(d,o)};var l=function(p,s){if(s||!c.dragCurrent){return}var t=Ext.dd.ScrollManager;if(!b||b!=c.dragCurrent){b=c.dragCurrent;t.refreshCache()}var u=Ext.lib.Event.getXY(p);var v=new Ext.lib.Point(u[0],u[1]);for(var n in e){var o=e[n],m=o._region;var q=o.ddScrollConfig?o.ddScrollConfig:t;if(m&&m.contains(v)&&o.isScrollable()){if(m.bottom-v.y<=q.vthresh){if(i.el!=o){g(o,"down")}return}else{if(m.right-v.x<=q.hthresh){if(i.el!=o){g(o,"left")}return}else{if(v.y-m.top<=q.vthresh){if(i.el!=o){g(o,"up")}return}else{if(v.x-m.left<=q.hthresh){if(i.el!=o){g(o,"right")}return}}}}}}a()};c.fireEvents=c.fireEvents.createSequence(l,c);c.stopDrag=c.stopDrag.createSequence(h,c);return{register:function(o){if(Ext.isArray(o)){for(var n=0,m=o.length;n<m;n++){this.register(o[n])}}else{o=Ext.get(o);e[o.id]=o}},unregister:function(o){if(Ext.isArray(o)){for(var n=0,m=o.length;n<m;n++){this.unregister(o[n])}}else{o=Ext.get(o);delete e[o.id]}},vthresh:25,hthresh:25,increment:100,frequency:500,animate:true,animDuration:0.4,refreshCache:function(){for(var m in e){if(typeof e[m]=="object"){e[m]._region=e[m].getRegion()}}}}}();Ext.dd.Registry=function(){var d={};var b={};var a=0;var c=function(g,e){if(typeof g=="string"){return g}var h=g.id;if(!h&&e!==false){h="extdd-"+(++a);g.id=h}return h};return{register:function(k,l){l=l||{};if(typeof k=="string"){k=document.getElementById(k)}l.ddel=k;d[c(k)]=l;if(l.isHandle!==false){b[l.ddel.id]=l}if(l.handles){var h=l.handles;for(var g=0,e=h.length;g<e;g++){b[c(h[g])]=l}}},unregister:function(k){var m=c(k,false);var l=d[m];if(l){delete d[m];if(l.handles){var h=l.handles;for(var g=0,e=h.length;g<e;g++){delete b[c(h[g],false)]}}}},getHandle:function(e){if(typeof e!="string"){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!="string"){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:"div",cls:"x-dd-drag-proxy "+this.dropNotAllowed,children:[{tag:"div",cls:"x-dd-drop-icon"},{tag:"div",cls:"x-dd-drag-ghost"}]},shadow:!a||a.shadow!==false});this.ghost=Ext.get(this.el.dom.childNodes[1]);this.dropStatus=this.dropNotAllowed};Ext.dd.StatusProxy.prototype={dropAllowed:"x-dd-drop-ok",dropNotAllowed:"x-dd-drop-nodrop",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="x-dd-drag-proxy "+this.dropNotAllowed;this.dropStatus=this.dropNotAllowed;if(a){this.ghost.update("")}},update:function(a){if(typeof a=="string"){this.ghost.update(a)}else{this.ghost.update("");a.style.margin="0";this.ghost.dom.appendChild(a)}var b=this.ghost.dom.firstChild;if(b){Ext.fly(b).setStyle(Ext.isIE?"styleFloat":"cssFloat","none")}},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&&this.anim.isAnimated&&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&&this.animRepair!==false){this.el.addClass("x-dd-drag-repair");this.el.hideUnders(true);this.anim=this.el.shift({duration:this.repairDuration||0.5,easing:"easeOut",xy:b,stopFx:true,callback:this.afterRepair,scope:this})}else{this.afterRepair()}},afterRepair:function(){this.hide(true);if(typeof this.callback=="function"){this.callback.call(this.scope||this)}this.callback=null;this.scope=null}};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:"x-dd-drop-ok",dropNotAllowed:"x-dd-drop-nodrop",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||"c3daf9")}this.dragging=false},beforeInvalidDrop:function(b,a,c){return true},handleMouseDown:function(b){if(this.dragging){return}var a=this.getDragData(b);if(a&&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("");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:"x-dd-drop-ok",dropNotAllowed:"x-dd-drop-nodrop",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||"c3daf9")}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.SortTypes={none:function(a){return a},stripTagsRE:/<\/?[^>]+>/gi,asText:function(a){return String(a).replace(this.stripTagsRE,"")},asUCText:function(a){return String(a).toUpperCase().replace(this.stripTagsRE,"")},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,""));if(isNaN(b)){b=0}return b},asInt:function(a){var b=parseInt(String(a).replace(/,/g,""));if(isNaN(b)){b=0}return b}};Ext.data.Record=function(a,b){this.id=(b||b===0)?b:++Ext.data.Record.AUTO_ID;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<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.AUTO_ID=1000;Ext.data.Record.EDIT="edit";Ext.data.Record.REJECT="reject";Ext.data.Record.COMMIT="commit";Ext.data.Record.prototype={dirty:false,editing:false,error:null,modified:null,join:function(a){this.store=a},set:function(a,b){if(String(this.data[a])==String(b)){return}this.dirty=true;if(!this.modified){this.modified={}}if(typeof this.modified[a]=="undefined"){this.modified[a]=this.data[a]}this.data[a]=b;if(!this.editing&&this.store){this.store.afterEdit(this)}},get:function(a){return this.data[a]},beginEdit:function(){this.editing=true;this.modified={}},cancelEdit:function(){this.editing=false;delete this.modified},endEdit:function(){this.editing=false;if(this.dirty&&this.store){this.store.afterEdit(this)}},reject:function(b){var a=this.modified;for(var c in a){if(typeof a[c]!="function"){this.data[c]=a[c]}}this.dirty=false;delete this.modified;this.editing=false;if(this.store&&b!==true){this.store.afterReject(this)}},commit:function(a){this.dirty=false;delete this.modified;this.editing=false;if(this.store&&a!==true){this.store.afterCommit(this)}},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&&this.modified.hasOwnProperty(a))}};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(a){return typeof a=="object"?a:this.get(a)},getKey:function(a){return a.storeId||a.id}});Ext.data.Store=function(a){this.data=new Ext.util.MixedCollection(false);this.data.getKey=function(b){return b.id};this.baseParams={};this.paramNames={start:"start",limit:"limit",sort:"sort",dir:"dir"};if(a&&a.data){this.inlineData=a.data;delete a.data}Ext.apply(this,a);if(this.url&&!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("datachanged","metachange","add","remove","update","clear","beforeload","load","loadexception");if(this.proxy){this.relayEvents(this.proxy,["loadexception"])}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=="object"?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(b){b=[].concat(b);if(b.length<1){return}for(var d=0,a=b.length;d<a;d++){b[d].join(this)}var c=this.data.length;this.data.addAll(b);if(this.snapshot){this.snapshot.addAll(b)}this.fireEvent("add",this,b,c)},addSorted:function(a){var b=this.findInsertIndex(a);this.insert(b,a)},remove:function(a){var b=this.data.indexOf(a);this.data.removeAt(b);if(this.pruneModifiedRecords){this.modified.remove(a)}if(this.snapshot){this.snapshot.remove(a)}this.fireEvent("remove",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("clear",this)},insert:function(c,b){b=[].concat(b);for(var d=0,a=b.length;d<a;d++){this.data.insert(c,b[d]);b[d].join(this)}this.fireEvent("add",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||{};if(this.fireEvent("beforeload",this,b)!==false){this.storeOptions(b);var c=Ext.apply(b.params||{},this.baseParams);if(this.sortInfo&&this.remoteSort){var a=this.paramNames;c[a.sort]=this.sortInfo.field;c[a.dir]=this.sortInfo.direction}this.proxy.load(c,this.reader,this.loadRecords,this,b);return true}else{return false}},reload:function(a){this.load(Ext.applyIf(a||{},this.lastOptions))},loadRecords:function(h,b,g){if(!h||g===false){if(g!==false){this.fireEvent("load",this,[],b)}if(b.callback){b.callback.call(b.scope||this,[],b,false)}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<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("datachanged",this)}else{this.totalLength=Math.max(d,this.data.length+e.length);this.add(e)}this.fireEvent("load",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&&!this.remoteSort){var a=this.sortInfo,b=a.field;this.sortData(b,a.direction)}},sortData:function(c,d){d=d||"ASC";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>h?1:(i<h?-1:0)};this.data.sort(d,b);if(this.snapshot&&this.snapshot!=this.data){this.snapshot.sort(d,b)}},setDefaultSort:function(b,a){a=a?a.toUpperCase():"ASC";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&&this.sortInfo.field==d.name){c=(this.sortToggle[d.name]||"ASC").toggle("ASC","DESC")}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("datachanged",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<=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("datachanged",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},findBy:function(b,a,c){return this.data.findIndexBy(b,a,c)},collect:function(k,m,b){var h=(b===true&&this.snapshot)?this.snapshot.items:this.data.items;var n,o,a=[],c={};for(var e=0,g=h.length;e<g;e++){n=h[e].data[k];o=String(n);if((m||!Ext.isEmpty(n))&&!c[o]){c[o]=true;a[a.length]=n}}return a},clearFilter:function(a){if(this.isFiltered()){this.data=this.snapshot;delete this.snapshot;if(a!==true){this.fireEvent("datachanged",this)}}},isFiltered:function(){return this.snapshot&&this.snapshot!=this.data},afterEdit:function(a){if(this.modified.indexOf(a)==-1){this.modified.push(a)}this.fireEvent("update",this,a,Ext.data.Record.EDIT)},afterReject:function(a){this.modified.remove(a);this.fireEvent("update",this,a,Ext.data.Record.REJECT)},afterCommit:function(a){this.modified.remove(a);this.fireEvent("update",this,a,Ext.data.Record.COMMIT)},commitChanges:function(){var b=this.modified.slice(0);this.modified=[];for(var c=0,a=b.length;c<a;c++){b[c].commit()}},rejectChanges:function(){var b=this.modified.slice(0);this.modified=[];for(var c=0,a=b.length;c<a;c++){b[c].reject()}},onMetaChange:function(b,a,c){this.recordType=a;this.fields=a.prototype.fields;delete this.snapshot;this.sortInfo=b.sortInfo;this.modified=[];this.fireEvent("metachange",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}});Ext.data.SimpleStore=function(a){Ext.data.SimpleStore.superclass.constructor.call(this,Ext.apply(a,{reader:new Ext.data.ArrayReader({id:a.id},Ext.data.Record.create(a.fields))}))};Ext.extend(Ext.data.SimpleStore,Ext.data.Store,{loadData:function(e,b){if(this.expandData===true){var d=[];for(var c=0,a=e.length;c<a;c++){d[d.length]=[e[c]]}e=d}Ext.data.SimpleStore.superclass.loadData.call(this,e,b)}});Ext.data.JsonStore=function(a){Ext.data.JsonStore.superclass.constructor.call(this,Ext.apply(a,{proxy:a.proxy||(!a.data?new Ext.data.HttpProxy({url:a.url}):undefined),reader:new Ext.data.JsonReader(a,a.fields)}))};Ext.extend(Ext.data.JsonStore,Ext.data.Store);Ext.data.Field=function(d){if(typeof d=="string"){d={name:d}}Ext.apply(this,d);if(!this.type){this.type="auto"}var c=Ext.data.SortTypes;if(typeof this.sortType=="string"){this.sortType=c[this.sortType]}if(!this.sortType){switch(this.type){case"string":this.sortType=c.asUCString;break;case"date":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"":case"auto":case undefined:b=function(g){return g};break;case"string":b=function(g){return(g===undefined||g===null)?"":String(g)};break;case"int":b=function(g){return g!==undefined&&g!==null&&g!==""?parseInt(String(g).replace(e,""),10):""};break;case"float":b=function(g){return g!==undefined&&g!==null&&g!==""?parseFloat(String(g).replace(e,""),10):""};break;case"bool":case"boolean":b=function(g){return g===true||g==="true"||g==1};break;case"date":b=function(h){if(!h){return""}if(Ext.isDate(h)){return h}if(a){if(a=="timestamp"){return new Date(h*1000)}if(a=="time"){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:"",mapping:null,sortType:null,sortDir:"ASC"};Ext.data.DataReader=function(a,b){this.meta=a;this.recordType=Ext.isArray(b)?Ext.data.Record.create(b):b};Ext.data.DataReader.prototype={};Ext.data.DataProxy=function(){this.addEvents("beforeload","load");Ext.data.DataProxy.superclass.constructor.call(this)};Ext.extend(Ext.data.DataProxy,Ext.util.Observable);Ext.data.MemoryProxy=function(a){Ext.data.MemoryProxy.superclass.constructor.call(this);this.data=a};Ext.extend(Ext.data.MemoryProxy,Ext.data.DataProxy,{load:function(h,c,i,d,b){h=h||{};var a;try{a=c.readRecords(this.data)}catch(g){this.fireEvent("loadexception",this,b,null,g);i.call(d,null,b,false);return}i.call(d,a,b,true)},update:function(b,a){}});Ext.data.HttpProxy=function(a){Ext.data.HttpProxy.superclass.constructor.call(this);this.conn=a;this.useAjax=!a||!a.events};Ext.extend(Ext.data.HttpProxy,Ext.data.DataProxy,{getConnection:function(){return this.useAjax?Ext.Ajax:this.conn},load:function(e,b,g,c,a){if(this.fireEvent("beforeload",this,e)!==false){var d={params:e||{},request:{callback:g,scope:c,arg:a},reader:b,callback:this.loadResponse,scope:this};if(this.useAjax){Ext.applyIf(d,this.conn);if(this.activeRequest){Ext.Ajax.abort(this.activeRequest)}this.activeRequest=Ext.Ajax.request(d)}else{this.conn.request(d)}}else{g.call(c||this,null,a,false)}},loadResponse:function(g,d,b){delete this.activeRequest;if(!d){this.fireEvent("loadexception",this,g,b);g.request.callback.call(g.request.scope,null,g.request.arg,false);return}var a;try{a=g.reader.read(b)}catch(c){this.fireEvent("loadexception",this,g,b,c);g.request.callback.call(g.request.scope,null,g.request.arg,false);return}this.fireEvent("load",this,g,g.request.arg);g.request.callback.call(g.request.scope,a,g.request.arg,true)},update:function(a){},updateResponse:function(a){}});Ext.data.ScriptTagProxy=function(a){Ext.data.ScriptTagProxy.superclass.constructor.call(this);Ext.apply(this,a);this.head=document.getElementsByTagName("head")[0]};Ext.data.ScriptTagProxy.TRANS_ID=1000;Ext.extend(Ext.data.ScriptTagProxy,Ext.data.DataProxy,{timeout:30000,callbackParam:"callback",nocache:true,load:function(e,g,i,k,l){if(this.fireEvent("beforeload",this,e)!==false){var c=Ext.urlEncode(Ext.apply(e,this.extraParams));var b=this.url;b+=(b.indexOf("?")!=-1?"&":"?")+c;if(this.nocache){b+="&_dc="+(new Date().getTime())}var a=++Ext.data.ScriptTagProxy.TRANS_ID;var m={id:a,cb:"stcCallback"+a,scriptId:"stcScript"+a,params:e,arg:l,url:b,callback:i,scope:k,reader:g};var d=this;window[m.cb]=function(n){d.handleResponse(n,m)};b+=String.format("&{0}={1}",this.callbackParam,m.cb);if(this.autoAbort!==false){this.abort()}m.timeoutId=this.handleFailure.defer(this.timeout,this,[m]);var h=document.createElement("script");h.setAttribute("src",b);h.setAttribute("type","text/javascript");h.setAttribute("id",m.scriptId);this.head.appendChild(h);this.trans=m}else{i.call(k||this,null,l,false)}},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){}}}},handleResponse:function(d,b){this.trans=false;this.destroyTrans(b,true);var a;try{a=b.reader.readRecords(d)}catch(c){this.fireEvent("loadexception",this,d,b.arg,c);b.callback.call(b.scope||window,null,b.arg,false);return}this.fireEvent("load",this,d,b.arg);b.callback.call(b.scope||window,a,b.arg,true)},handleFailure:function(a){this.trans=false;this.destroyTrans(a,false);this.fireEvent("loadexception",this,null,a.arg);a.callback.call(a.scope||window,null,a.arg,false)}});Ext.data.JsonReader=function(a,b){a=a||{};Ext.data.JsonReader.superclass.constructor.call(this,a,b||a.fields)};Ext.extend(Ext.data.JsonReader,Ext.data.DataReader,{read:function(response){var json=response.responseText;var o=eval("("+json+")");if(!o){throw {message:"JsonReader.read: Json object not found"}}return this.readRecords(o)},onMetaChange:function(a,c,b){},simpleAccess:function(b,a){return b[a]},getJsonAccessor:function(){var a=/[\[\.]/;return function(c){try{return(a.test(c))?new Function("obj","return obj."+c):function(d){return d[c]}}catch(b){}return Ext.emptyFn}}(),readRecords:function(r){this.jsonData=r;if(r.metaData){delete this.ef;this.meta=r.metaData;this.recordType=Ext.data.Record.create(r.metaData.fields);this.onMetaChange(this.meta,this.recordType,r)}var m=this.meta,a=this.recordType,A=a.prototype.fields,k=A.items,h=A.length;if(!this.ef){if(m.totalProperty){this.getTotal=this.getJsonAccessor(m.totalProperty)}if(m.successProperty){this.getSuccess=this.getJsonAccessor(m.successProperty)}this.getRoot=m.root?this.getJsonAccessor(m.root):function(c){return c};if(m.id){var z=this.getJsonAccessor(m.id);this.getId=function(g){var c=z(g);return(c===undefined||c==="")?null:c}}else{this.getId=function(){return null}}this.ef=[];for(var x=0;x<h;x++){A=k[x];var C=(A.mapping!==undefined&&A.mapping!==null)?A.mapping:A.name;this.ef[x]=this.getJsonAccessor(C)}}var u=this.getRoot(r),B=u.length,p=B,e=true;if(m.totalProperty){var l=parseInt(this.getTotal(r),10);if(!isNaN(l)){p=l}}if(m.successProperty){var l=this.getSuccess(r);if(l===false||l==="false"){e=false}}var y=[];for(var x=0;x<B;x++){var t=u[x];var b={};var q=this.getId(t);for(var w=0;w<h;w++){A=k[w];var l=this.ef[w](t);b[A.name]=A.convert((l!==undefined)?l:A.defaultValue,t)}var d=new a(b,q);d.json=t;y[x]=d}return{success:e,records:y,totalRecords:p}}});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:"XmlReader.read: XML Document not available"}}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.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&&o!=="false"}var w=[];var A=l.select(this.meta.record,s);for(var u=0,x=A.length;u<x;u++){var r=A[u];var a={};var m=d?l.selectValue(d,r):undefined;for(var t=0,k=p.length;t<k;t++){var y=p.items[t];var g=l.selectValue(y.mapping||y.name,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}}});Ext.data.ArrayReader=Ext.extend(Ext.data.JsonReader,{readRecords:function(c){var b=this.meta?this.meta.id:null;var h=this.recordType,q=h.prototype.fields;var e=[];var s=c;for(var m=0;m<s.length;m++){var d=s[m];var u={};var a=((b||b===0)&&d[b]!==undefined&&d[b]!==""?d[b]:null);for(var l=0,w=q.length;l<w;l++){var r=q.items[l];var g=r.mapping!==undefined&&r.mapping!==null?r.mapping:l;var t=d[g]!==undefined?d[g]:r.defaultValue;t=r.convert(t,d);u[r.name]=t}var p=new h(u,a);p.json=d;e[e.length]=p}return{records:e,totalRecords:e.length}}});Ext.data.Tree=function(a){this.nodeHash={};this.root=null;if(a){this.setRootNode(a)}this.addEvents("append","remove","move","insert","beforeappend","beforeremove","beforemove","beforeinsert");Ext.data.Tree.superclass.constructor.call(this)};Ext.extend(Ext.data.Tree,Ext.util.Observable,{pathSeparator:"/",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"[Tree"+(this.id?" "+this.id:"")+"]"}});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,"ynode-");this.attributes.id=this.id}this.childNodes=[];if(!this.childNodes.indexOf){this.childNodes.indexOf=function(d){for(var c=0,b=this.length;c<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()&&this.childNodes.length>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>1){g=arguments}}if(g){for(var d=0,a=g.length;d<a;d++){this.appendChild(g[d])}}else{if(this.fireEvent("beforeappend",this.ownerTree,this,e)===false){return false}var b=this.childNodes.length;var c=e.parentNode;if(c){if(e.fireEvent("beforemove",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("append",this.ownerTree,this,e,b);if(c){e.fireEvent("move",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("beforeremove",this.ownerTree,this,b)===false){return false}this.childNodes.splice(a,1);if(b.previousSibling){b.previousSibling.nextSibling=b.nextSibling}if(b.nextSibling){b.nextSibling.previousSibling=b.previousSibling}if(this.firstChild==b){this.setFirstChild(b.nextSibling)}if(this.lastChild==b){this.setLastChild(b.previousSibling)}b.setOwnerTree(null);b.parentNode=null;b.previousSibling=null;b.nextSibling=null;this.fireEvent("remove",this.ownerTree,this,b);return b},insertBefore:function(d,a){if(!a){return this.appendChild(d)}if(d==a){return false}if(this.fireEvent("beforeinsert",this.ownerTree,this,d,a)===false){return false}var b=this.childNodes.indexOf(a);var c=d.parentNode;var e=b;if(c==this&&this.childNodes.indexOf(d)<b){e--}if(c){if(d.fireEvent("beforemove",d.getOwnerTree(),d,c,this,b,a)===false){return false}c.removeChild(d)}if(e==0){this.setFirstChild(d)}this.childNodes.splice(e,0,d);d.parentNode=this;var g=this.childNodes[e-1];if(g){d.previousSibling=g;g.nextSibling=d}else{d.previousSibling=null}d.nextSibling=a;a.previousSibling=d;d.setOwnerTree(this.getOwnerTree());this.fireEvent("insert",this.ownerTree,this,d,a);if(c){d.fireEvent("move",this.ownerTree,d,c,this,e,a)}return d},remove:function(){this.parentNode.removeChild(this);return this},item:function(a){return this.childNodes[a]},replaceChild:function(a,c){var b=c?c.nextSibling:null;this.removeChild(c);this.insertBefore(a,b);return c},indexOf:function(a){return this.childNodes.indexOf(a)},getOwnerTree:function(){if(!this.ownerTree){var a=this;while(a){if(a.ownerTree){this.ownerTree=a.ownerTree;break}a=a.parentNode}}return this.ownerTree},getDepth:function(){var b=0;var a=this;while(a.parentNode){++b;a=a.parentNode}return b},setOwnerTree:function(b){if(b!=this.ownerTree){if(this.ownerTree){this.ownerTree.unregisterNode(this)}this.ownerTree=b;var d=this.childNodes;for(var c=0,a=d.length;c<a;c++){d[c].setOwnerTree(b)}if(b){b.registerNode(this)}}},getPath:function(c){c=c||"id";var e=this.parentNode;var a=[this.attributes[c]];while(e){a.unshift(e.attributes[c]);e=e.parentNode}var d=this.getOwnerTree().pathSeparator;return d+a.join(d)},bubble:function(c,b,a){var d=this;while(d){if(c.apply(b||d,a||[d])===false){break}d=d.parentNode}},cascade:function(g,e,b){if(g.apply(e||this,b||[this])!==false){var d=this.childNodes;for(var c=0,a=d.length;c<a;c++){d[c].cascade(g,e,b)}}},eachChild:function(g,e,b){var d=this.childNodes;for(var c=0,a=d.length;c<a;c++){if(g.apply(e||this,b||[d[c]])===false){break}}},findChild:function(d,e){var c=this.childNodes;for(var b=0,a=c.length;b<a;b++){if(c[b].attributes[d]==e){return c[b]}}return null},findChildBy:function(e,d){var c=this.childNodes;for(var b=0,a=c.length;b<a;b++){if(e.call(d||c[b],c[b])===true){return c[b]}}return null},sort:function(e,d){var c=this.childNodes;var a=c.length;if(a>0){var g=d?function(){e.apply(d,arguments)}:e;c.sort(g);for(var b=0;b<a;b++){var h=c[b];h.previousSibling=c[b-1];h.nextSibling=c[b+1];if(b==0){this.setFirstChild(h)}if(b==a-1){this.setLastChild(h)}}}},contains:function(a){return a.isAncestor(this)},isAncestor:function(a){var b=this.parentNode;while(b){if(b==a){return true}b=b.parentNode}return false},toString:function(){return"[Node"+(this.id?" "+this.id:"")+"]"}});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("datachanged",this)}},groupBy:function(c,b){if(this.groupField==c&&!b){return}this.groupField=c;if(this.remoteGroup){if(!this.baseParams){this.baseParams={}}this.baseParams.groupBy=c}if(this.groupOnSort){this.sort(c);return}if(this.remoteGroup){this.reload()}else{var a=this.sortInfo||{};if(a.field!=c){this.applySort()}else{this.sortData(c)}this.fireEvent("datachanged",this)}},applySort:function(){Ext.data.GroupingStore.superclass.applySort.call(this);if(!this.groupOnSort&&!this.remoteGroup){var a=this.getGroupState();if(a&&a!=this.sortInfo.field){this.sortData(this.groupField)}}},applyGrouping:function(a){if(this.groupField!==false){this.groupBy(this.groupField,true);return true}else{if(a===true){this.fireEvent("datachanged",this)}return false}},getGroupState:function(){return this.groupOnSort&&this.groupField!==false?(this.sortInfo?this.sortInfo.field:undefined):this.groupField}});Ext.ComponentMgr=function(){var b=new Ext.util.MixedCollection();var a={};return{register:function(d){b.add(d)},unregister:function(d){b.remove(d)},get:function(c){return b.get(c)},onAvailable:function(e,d,c){b.on("add",function(g,h){if(h.id==e){d.call(c||h,h);b.un("add",d,c)}})},all:b,registerType:function(d,c){a[d]=c;c.xtype=d},create:function(c,d){return new a[c.xtype||d](c)}}}();Ext.reg=Ext.ComponentMgr.registerType;Ext.Component=function(b){b=b||{};if(b.initialConfig){if(b.isAction){this.baseAction=b}b=b.initialConfig}else{if(b.tagName||b.dom||typeof b=="string"){b={applyTo:b,id:b.id||b}}}this.initialConfig=b;Ext.apply(this,b);this.addEvents("disable","enable","beforeshow","show","beforehide","hide","beforerender","render","beforedestroy","destroy","beforestaterestore","staterestore","beforestatesave","statesave");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 c=0,a=this.plugins.length;c<a;c++){this.plugins[c]=this.initPlugin(this.plugins[c])}}else{this.plugins=this.initPlugin(this.plugins)}}if(this.stateful!==false){this.initState(b)}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:"x-item-disabled",allowDomMove:true,autoShow:false,hideMode:"display",hideParent:false,hidden:false,disabled:false,rendered:false,ctype:"Ext.Component",actionMode:"el",getActionEl:function(){return this[this.actionMode]},initPlugin:function(a){a.init(this);return a},initComponent:Ext.emptyFn,render:function(b,a){if(!this.rendered&&this.fireEvent("beforerender",this)!==false){if(!b&&this.el){this.el=Ext.get(this.el);b=this.el.dom.parentNode;this.allowDomMove=false}this.container=Ext.get(b);if(this.ctCls){this.container.addClass(this.ctCls)}this.rendered=true;if(a!==undefined){if(typeof a=="number"){a=this.container.dom.childNodes[a]}else{a=Ext.getDom(a)}}this.onRender(this.container,a||null);if(this.autoShow){this.el.removeClass(["x-hidden","x-hide-"+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("render",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(a){if(Ext.state.Manager){var c=this.getStateId();if(c){var b=Ext.state.Manager.get(c);if(b){if(this.fireEvent("beforestaterestore",this,b)!==false){this.applyState(b);this.fireEvent("staterestore",this,b)}}}}},getStateId:function(){return this.stateId||((this.id.indexOf("ext-comp-")==0||this.id.indexOf("ext-gen")==0)?null:this.id)},initStateEvents:function(){if(this.stateEvents){for(var a=0,b;b=this.stateEvents[a];a++){this.on(b,this.saveState,this,{delay:100})}}},applyState:function(b,a){if(b){Ext.apply(this,b)}},getState:function(){return null},saveState:function(){if(Ext.state.Manager){var b=this.getStateId();if(b){var a=this.getState();if(this.fireEvent("beforestatesave",this,a)!==false){Ext.state.Manager.set(b,a);this.fireEvent("statesave",this,a)}}}},applyToMarkup:function(a){this.allowDomMove=false;this.el=Ext.get(a);this.render(this.el.dom.parentNode)},addClass:function(a){if(this.el){this.el.addClass(a)}else{this.cls=this.cls?this.cls+" "+a:a}},removeClass:function(a){if(this.el){this.el.removeClass(a)}else{if(this.cls){this.cls=this.cls.split(" ").remove(a).join(" ")}}},onRender:function(b,a){if(this.autoEl){if(typeof this.autoEl=="string"){this.el=document.createElement(this.autoEl)}else{var c=document.createElement("div");Ext.DomHelper.overwrite(c,this.autoEl);this.el=c.firstChild}if(!this.el.id){this.el.id=this.getId()}}if(this.el){this.el=Ext.get(this.el);if(this.allowDomMove!==false){b.dom.insertBefore(this.el.dom,a)}}},getAutoCreate:function(){var a=typeof this.autoCreate=="object"?this.autoCreate:Ext.apply({},this.defaultAutoCreate);if(this.id&&!a.id){a.id=this.id}return a},afterRender:Ext.emptyFn,destroy:function(){if(this.fireEvent("beforedestroy",this)!==false){this.beforeDestroy();if(this.rendered){this.el.removeAllListeners();this.el.remove();if(this.actionMode=="container"){this.container.remove()}}this.onDestroy();Ext.ComponentMgr.unregister(this);this.fireEvent("destroy",this);this.purgeListeners()}},beforeDestroy:Ext.emptyFn,onDestroy:Ext.emptyFn,getEl:function(){return this.el},getId:function(){return this.id||(this.id="ext-comp-"+(++Ext.Component.AUTO_ID))},getItemId:function(){return this.itemId||this.getId()},focus:function(b,a){if(a){this.focus.defer(typeof a=="number"?a:10,this,[b,false]);return}if(this.rendered){this.el.focus();if(b===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("disable",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("enable",this);return this},onEnable:function(){this.getActionEl().removeClass(this.disabledClass);this.el.dom.disabled=false},setDisabled:function(a){this[a?"disable":"enable"]()},show:function(){if(this.fireEvent("beforeshow",this)!==false){this.hidden=false;if(this.autoRender){this.render(typeof this.autoRender=="boolean"?Ext.getBody():this.autoRender)}if(this.rendered){this.onShow()}this.fireEvent("show",this)}return this},onShow:function(){if(this.hideParent){this.container.removeClass("x-hide-"+this.hideMode)}else{this.getActionEl().removeClass("x-hide-"+this.hideMode)}},hide:function(){if(this.fireEvent("beforehide",this)!==false){this.hidden=true;if(this.rendered){this.onHide()}this.fireEvent("hide",this)}return this},onHide:function(){if(this.hideParent){this.container.addClass("x-hide-"+this.hideMode)}else{this.getActionEl().addClass("x-hide-"+this.hideMode)}},setVisible:function(a){if(a){this.show()}else{this.hide()}return this},isVisible:function(){return this.rendered&&this.getActionEl().isVisible()},cloneConfig:function(b){b=b||{};var c=b.id||Ext.id();var a=Ext.applyIf(b,this.initialConfig);a.id=c;return new this.constructor(a)},getXType:function(){return this.constructor.xtype},isXType:function(b,a){if(typeof b=="function"){b=b.xtype}else{if(typeof b=="object"){b=b.constructor.xtype}}return !a?("/"+this.getXTypes()+"/").indexOf("/"+b+"/")!=-1:this.constructor.xtype==b},getXTypes:function(){var a=this.constructor;if(!a.xtypes){var d=[],b=this;while(b&&b.constructor.xtype){d.unshift(b.constructor.xtype);b=b.constructor.superclass}a.xtypeChain=d;a.xtypes=d.join("/")}return a.xtypes},findParentBy:function(a){for(var b=this.ownerCt;(b!=null)&&!a(b,this);b=b.ownerCt){}return b||null},findParentByType:function(a){return typeof a=="function"?this.findParentBy(function(b){return b.constructor===a}):this.findParentBy(function(b){return b.constructor.xtype===a})},mon:function(e,b,d,c,a){if(!this.mons){this.mons=[];this.on("beforedestroy",function(){for(var k=0,h=this.mons.length;k<h;k++){var g=this.mons[k];g.item.un(g.ename,g.fn,g.scope)}},this)}this.mons.push({item:e,ename:b,fn:d,scope:c});e.on(b,d,c,a)}});Ext.reg("component",Ext.Component);Ext.Action=function(a){this.initialConfig=a;this.items=[]};Ext.Action.prototype={isAction:true,setText:function(a){this.initialConfig.text=a;this.callEach("setText",[a])},getText:function(){return this.initialConfig.text},setIconClass:function(a){this.initialConfig.iconCls=a;this.callEach("setIconClass",[a])},getIconClass:function(){return this.initialConfig.iconCls},setDisabled:function(a){this.initialConfig.disabled=a;this.callEach("setDisabled",[a])},enable:function(){this.setDisabled(false)},disable:function(){this.setDisabled(true)},isDisabled:function(){return this.initialConfig.disabled},setHidden:function(a){this.initialConfig.hidden=a;this.callEach("setVisible",[!a])},show:function(){this.setHidden(false)},hide:function(){this.setHidden(true)},isHidden:function(){return this.initialConfig.hidden},setHandler:function(b,a){this.initialConfig.handler=b;this.initialConfig.scope=a;this.callEach("setHandler",[b,a])},each:function(b,a){Ext.each(this.items,b,a)},callEach:function(e,b){var d=this.items;for(var c=0,a=d.length;c<a;c++){d[c][e].apply(d[c],b)}},addComponent:function(a){this.items.push(a);a.on("destroy",this.removeComponent,this)},removeComponent:function(a){this.items.remove(a)},execute:function(){this.initialConfig.handler.apply(this.initialConfig.scope||window,arguments)}};(function(){Ext.Layer=function(d,c){d=d||{};var e=Ext.DomHelper;var h=d.parentEl,g=h?Ext.getDom(h):document.body;if(c){this.dom=Ext.getDom(c)}if(!this.dom){var i=d.dh||{tag:"div",cls:"x-layer"};this.dom=e.append(g,i)}if(d.cls){this.addClass(d.cls)}this.constrain=d.constrain!==false;this.visibilityMode=Ext.Element.VISIBILITY;if(d.id){this.id=this.dom.id=d.id}else{this.id=Ext.id(this.dom)}this.zindex=d.zindex||this.getZIndex();this.position("absolute",this.zindex);if(d.shadow){this.shadowOffset=d.shadowOffset||4;this.shadow=new Ext.Shadow({offset:this.shadowOffset,mode:d.shadow})}else{this.shadowOffset=0}this.useShim=d.shim!==false&&Ext.useShims;this.useDisplay=d.useDisplay;this.hide()};var a=Ext.Element.prototype;var b=[];Ext.extend(Ext.Layer,Ext.Element,{getZIndex:function(){return this.zindex||parseInt(this.getStyle("z-index"),10)||11000},getShim:function(){if(!this.useShim){return null}if(this.shim){return this.shim}var d=b.shift();if(!d){d=this.createShim();d.enableDisplayMode("block");d.dom.style.display="none";d.dom.style.visibility="visible"}var c=this.dom.parentNode;if(d.dom.parentNode!=c){c.insertBefore(d.dom,this.dom)}d.setStyle("z-index",this.getZIndex()-2);this.shim=d;return d},hideShim:function(){if(this.shim){this.shim.setDisplayed(false);b.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(c){if(this.shadow){this.shadowDisabled=false;this.shadowOffset=this.lastShadowOffset;delete this.lastShadowOffset;if(c){this.sync(true)}}},sync:function(c){var m=this.shadow;if(!this.updating&&this.isVisible()&&(m||this.useShim)){var g=this.getShim();var k=this.getWidth(),e=this.getHeight();var d=this.getLeft(true),n=this.getTop(true);if(m&&!this.shadowDisabled){if(c&&!m.isVisible()){m.show(this)}else{m.realign(d,n,k,e)}if(g){if(c){g.show()}var i=m.adjusts,o=g.dom.style;o.left=(Math.min(d,d+i.l))+"px";o.top=(Math.min(n,n+i.t))+"px";o.width=(k+i.w)+"px";o.height=(e+i.h)+"px"}}else{if(g){if(c){g.show()}g.setSize(k,e);g.setLeftTop(d,n)}}}},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(c){if(this.shadow){this.shadow.hide()}this.hideShim()},constrainXY:function(){if(this.constrain){var i=Ext.lib.Dom.getViewWidth(),c=Ext.lib.Dom.getViewHeight();var o=Ext.getDoc().getScroll();var n=this.getXY();var k=n[0],g=n[1];var l=this.dom.offsetWidth+this.shadowOffset,d=this.dom.offsetHeight+this.shadowOffset;var e=false;if((k+l)>i+o.left){k=i-l-this.shadowOffset;e=true}if((g+d)>c+o.top){g=c-d-this.shadowOffset;e=true}if(k<o.left){k=o.left;e=true}if(g<o.top){g=o.top;e=true}if(e){if(this.avoidY){var m=this.avoidY;if(g<=m&&(g+d)>=m){g=m-d-5}}n=[k,g];this.storeXY(n);a.setXY.call(this,n);this.sync()}}},isVisible:function(){return this.visible},showAction:function(){this.visible=true;if(this.useDisplay===true){this.setDisplayed("")}else{if(this.lastXY){a.setXY.call(this,this.lastXY)}else{if(this.lastLT){a.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(i,h,l,m,k){if(i){this.showAction()}if(h&&i){var g=function(){this.sync(true);if(m){m()}}.createDelegate(this);a.setVisible.call(this,true,true,l,g,k)}else{if(!i){this.hideUnders(true)}var g=m;if(h){g=function(){this.hideAction();if(m){m()}}.createDelegate(this)}a.setVisible.call(this,i,h,l,g,k);if(i){this.sync(true)}else{if(!h){this.hideAction()}}}},storeXY:function(c){delete this.lastLT;this.lastXY=c},storeLeftTop:function(d,c){delete this.lastXY;this.lastLT=[d,c]},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&&this.shadow){this.shadow.hide()}},setLeft:function(c){this.storeLeftTop(c,this.getTop(true));a.setLeft.apply(this,arguments);this.sync()},setTop:function(c){this.storeLeftTop(this.getLeft(true),c);a.setTop.apply(this,arguments);this.sync()},setLeftTop:function(d,c){this.storeLeftTop(d,c);a.setLeftTop.apply(this,arguments);this.sync()},setXY:function(k,h,l,m,i){this.fixDisplay();this.beforeAction();this.storeXY(k);var g=this.createCB(m);a.setXY.call(this,k,h,l,g,i);if(!h){g()}},createCB:function(e){var d=this;return function(){d.constrainXY();d.sync(true);if(e){e()}}},setX:function(g,h,k,l,i){this.setXY([g,this.getY()],h,k,l,i)},setY:function(l,g,i,k,h){this.setXY([this.getX(),l],g,i,k,h)},setSize:function(k,l,i,n,o,m){this.beforeAction();var g=this.createCB(o);a.setSize.call(this,k,l,i,n,g,m);if(!i){g()}},setWidth:function(i,h,l,m,k){this.beforeAction();var g=this.createCB(m);a.setWidth.call(this,i,h,l,g,k);if(!h){g()}},setHeight:function(k,i,m,n,l){this.beforeAction();var g=this.createCB(n);a.setHeight.call(this,k,i,m,g,l);if(!i){g()}},setBounds:function(p,n,q,i,o,l,m,k){this.beforeAction();var g=this.createCB(m);if(!o){this.storeXY([p,n]);a.setXY.call(this,[p,n]);a.setSize.call(this,q,i,o,l,g,k);g()}else{a.setBounds.call(this,p,n,q,i,o,l,g,k)}return this},setZIndex:function(c){this.zindex=c;this.setStyle("z-index",c+2);if(this.shadow){this.shadow.setZIndex(c+1)}if(this.shim){this.shim.setStyle("z-index",c)}}})})();Ext.Shadow=function(d){Ext.apply(this,d);if(typeof this.mode!="string"){this.mode=this.defaultMode}var e=this.offset,c={h:0};var b=Math.floor(this.offset/2);switch(this.mode.toLowerCase()){case"drop":c.w=0;c.l=c.t=e;c.t-=1;if(Ext.isIE){c.l-=this.offset+b;c.t-=this.offset+b;c.w-=b;c.h-=b;c.t+=1}break;case"sides":c.w=(e*2);c.l=-e;c.t=e-1;if(Ext.isIE){c.l-=(this.offset-b);c.t-=this.offset+b;c.l+=1;c.w-=(this.offset-b)*2;c.w-=b+1;c.h-=1}break;case"frame":c.w=c.h=(e*2);c.l=c.t=-e;c.t+=1;c.h-=2;if(Ext.isIE){c.l-=(this.offset-b);c.t-=(this.offset-b);c.l+=1;c.w-=(this.offset+b+1);c.h-=(this.offset+b);c.h+=1}break}this.adjusts=c};Ext.Shadow.prototype={offset:4,defaultMode:"drop",show:function(a){a=Ext.get(a);if(!this.el){this.el=Ext.Shadow.Pool.pull();if(this.el.dom.nextSibling!=a.dom){this.el.insertBefore(a)}}this.el.setStyle("z-index",this.zIndex||parseInt(a.getStyle("z-index"),10)-1);if(Ext.isIE){this.el.dom.style.filter="progid:DXImageTransform.Microsoft.alpha(opacity=50) progid:DXImageTransform.Microsoft.Blur(pixelradius="+(this.offset)+")"}this.realign(a.getLeft(true),a.getTop(true),a.getWidth(),a.getHeight());this.el.dom.style.display="block"},isVisible:function(){return this.el?true:false},realign:function(b,u,r,g){if(!this.el){return}var o=this.adjusts,m=this.el.dom,v=m.style;var i=0;v.left=(b+o.l)+"px";v.top=(u+o.t)+"px";var q=(r+o.w),e=(g+o.h),k=q+"px",p=e+"px";if(v.width!=k||v.height!=p){v.width=k;v.height=p;if(!Ext.isIE){var n=m.childNodes;var c=Math.max(0,(q-12))+"px";n[0].childNodes[1].style.width=c;n[1].childNodes[1].style.width=c;n[2].childNodes[1].style.width=c;n[1].style.height=Math.max(0,(e-12))+"px"}}},hide:function(){if(this.el){this.el.dom.style.display="none";Ext.Shadow.Pool.push(this.el);delete this.el}},setZIndex:function(a){this.zIndex=a;if(this.el){this.el.setStyle("z-index",a)}}};Ext.Shadow.Pool=function(){var b=[];var a=Ext.isIE?'<div class="x-ie-shadow"></div>':'<div class="x-shadow"><div class="xst"><div class="xstl"></div><div class="xstc"></div><div class="xstr"></div></div><div class="xsc"><div class="xsml"></div><div class="xsmc"></div><div class="xsmr"></div></div><div class="xsb"><div class="xsbl"></div><div class="xsbc"></div><div class="xsbr"></div></div></div>';return{pull:function(){var c=b.shift();if(!c){c=Ext.get(Ext.DomHelper.insertHtml("beforeBegin",document.body.firstChild,a));c.autoBoxAdjust=false}return c},push:function(c){b.push(c)}}}();Ext.BoxComponent=Ext.extend(Ext.Component,{initComponent:function(){Ext.BoxComponent.superclass.initComponent.call(this);this.addEvents("resize","move")},boxReady:false,deferHeight:false,setSize:function(b,d){if(typeof b=="object"){d=b.height;b=b.width}if(!this.boxReady){this.width=b;this.height=d;return this}if(this.lastSize&&this.lastSize.width==b&&this.lastSize.height==d){return this}this.lastSize={width:b,height:d};var c=this.adjustSize(b,d);var g=c.width,a=c.height;if(g!==undefined||a!==undefined){var e=this.getResizeEl();if(!this.deferHeight&&g!==undefined&&a!==undefined){e.setSize(g,a)}else{if(!this.deferHeight&&a!==undefined){e.setHeight(a)}else{if(g!==undefined){e.setWidth(g)}}}this.onResize(g,a,b,d);this.fireEvent("resize",this,g,a,b,d)}return this},setWidth:function(a){return this.setSize(a)},setHeight:function(a){return this.setSize(undefined,a)},getSize:function(){return this.el.getSize()},getPosition:function(a){if(a===true){return[this.el.getLeft(true),this.el.getTop(true)]}return this.xy||this.el.getXY()},getBox:function(a){var b=this.el.getSize();if(a===true){b.x=this.el.getLeft(true);b.y=this.el.getTop(true)}else{var c=this.xy||this.el.getXY();b.x=c[0];b.y=c[1]}return b},updateBox:function(a){this.setSize(a.width,a.height);this.setPagePosition(a.x,a.y);return this},getResizeEl:function(){return this.resizeEl||this.el},getPositionEl:function(){return this.positionEl||this.el},setPosition:function(a,g){if(a&&typeof a[1]=="number"){g=a[1];a=a[0]}this.x=a;this.y=g;if(!this.boxReady){return this}var b=this.adjustPosition(a,g);var e=b.x,d=b.y;var c=this.getPositionEl();if(e!==undefined||d!==undefined){if(e!==undefined&&d!==undefined){c.setLeftTop(e,d)}else{if(e!==undefined){c.setLeft(e)}else{if(d!==undefined){c.setTop(d)}}}this.onPosition(e,d);this.fireEvent("move",this,e,d)}return this},setPagePosition:function(a,c){if(a&&typeof a[1]=="number"){c=a[1];a=a[0]}this.pageX=a;this.pageY=c;if(!this.boxReady){return}if(a===undefined||c===undefined){return}var b=this.el.translatePoints(a,c);this.setPosition(b.left,b.top);return this},onRender:function(b,a){Ext.BoxComponent.superclass.onRender.call(this,b,a);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(d,b,a,c){},onPosition:function(a,b){},adjustSize:function(a,b){if(this.autoWidth){a="auto"}if(this.autoHeight){b="auto"}return{width:a,height:b}},adjustPosition:function(a,b){return{x:a,y:b}}});Ext.reg("box",Ext.BoxComponent);Ext.SplitBar=function(c,e,b,d,a){this.el=Ext.get(c,true);this.el.dom.unselectable="on";this.resizingEl=Ext.get(e,true);this.orientation=b||Ext.SplitBar.HORIZONTAL;this.minSize=0;this.maxSize=2000;this.animate=false;this.useShim=false;this.shim=null;if(!a){this.proxy=Ext.SplitBar.createProxy(this.orientation)}else{this.proxy=Ext.get(a).dom}this.dd=new Ext.dd.DDProxy(this.el.dom.id,"XSplitBars",{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=d||(this.el.getX()>this.resizingEl.getX()?Ext.SplitBar.LEFT:Ext.SplitBar.RIGHT);this.el.addClass("x-splitbar-h")}else{this.placement=d||(this.el.getY()>this.resizingEl.getY()?Ext.SplitBar.TOP:Ext.SplitBar.BOTTOM);this.el.addClass("x-splitbar-v")}this.addEvents("resize","moved","beforeresize","beforeapply");Ext.SplitBar.superclass.constructor.call(this)};Ext.extend(Ext.SplitBar,Ext.util.Observable,{onStartProxyDrag:function(a,e){this.fireEvent("beforeresize",this);this.overlay=Ext.DomHelper.append(document.body,{cls:"x-drag-overlay",html:"&#160;"},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("block");var c=this.adapter.getElementSize(this);this.activeMinSize=this.getMinimumSize();this.activeMaxSize=this.getMaximumSize();var d=c-this.activeMinSize;var b=Math.max(this.activeMaxSize-c,0);if(this.orientation==Ext.SplitBar.HORIZONTAL){this.dd.resetConstraints();this.dd.setXConstraint(this.placement==Ext.SplitBar.LEFT?d:b,this.placement==Ext.SplitBar.LEFT?b:d);this.dd.setYConstraint(0,0)}else{this.dd.resetConstraints();this.dd.setXConstraint(0,0);this.dd.setYConstraint(this.placement==Ext.SplitBar.TOP?d:b,this.placement==Ext.SplitBar.TOP?b:d)}this.dragSpecs.startSize=c;this.dragSpecs.startPoint=[a,e];Ext.dd.DDProxy.prototype.b4StartDrag.call(this.dd,a,e)},onEndProxyDrag:function(c){Ext.get(this.proxy).setDisplayed(false);var b=Ext.lib.Event.getXY(c);if(this.overlay){Ext.destroy(this.overlay);delete this.overlay}var a;if(this.orientation==Ext.SplitBar.HORIZONTAL){a=this.dragSpecs.startSize+(this.placement==Ext.SplitBar.LEFT?b[0]-this.dragSpecs.startPoint[0]:this.dragSpecs.startPoint[0]-b[0])}else{a=this.dragSpecs.startSize+(this.placement==Ext.SplitBar.TOP?b[1]-this.dragSpecs.startPoint[1]:this.dragSpecs.startPoint[1]-b[1])}a=Math.min(Math.max(a,this.activeMinSize),this.activeMaxSize);if(a!=this.dragSpecs.startSize){if(this.fireEvent("beforeapply",this,a)!==false){this.adapter.setElementSize(this,a);this.fireEvent("moved",this,a);this.fireEvent("resize",this,a)}}},getAdapter:function(){return this.adapter},setAdapter:function(a){this.adapter=a;this.adapter.init(this)},getMinimumSize:function(){return this.minSize},setMinimumSize:function(a){this.minSize=a},getMaximumSize:function(){return this.maxSize},setMaximumSize:function(a){this.maxSize=a},setCurrentSize:function(b){var a=this.animate;this.animate=false;this.adapter.setElementSize(this,b);this.animate=a},destroy:function(a){if(this.shim){this.shim.remove()}this.dd.unreg();Ext.destroy(Ext.get(this.proxy));if(a){this.el.remove()}}});Ext.SplitBar.createProxy=function(b){var c=new Ext.Element(document.createElement("div"));c.unselectable();var a="x-splitbar-proxy";c.addClass(a+" "+(b==Ext.SplitBar.HORIZONTAL?a+"-h":a+"-v"));document.body.appendChild(c.dom);return c.dom};Ext.SplitBar.BasicLayoutAdapter=function(){};Ext.SplitBar.BasicLayoutAdapter.prototype={init:function(a){},getElementSize:function(a){if(a.orientation==Ext.SplitBar.HORIZONTAL){return a.resizingEl.getWidth()}else{return a.resizingEl.getHeight()}},setElementSize:function(b,a,c){if(b.orientation==Ext.SplitBar.HORIZONTAL){if(!b.animate){b.resizingEl.setWidth(a);if(c){c(b,a)}}else{b.resizingEl.setWidth(a,true,0.1,c,"easeOut")}}else{if(!b.animate){b.resizingEl.setHeight(a);if(c){c(b,a)}}else{b.resizingEl.setHeight(a,true,0.1,c,"easeOut")}}}};Ext.SplitBar.AbsoluteLayoutAdapter=function(a){this.basic=new Ext.SplitBar.BasicLayoutAdapter();this.container=Ext.get(a)};Ext.SplitBar.AbsoluteLayoutAdapter.prototype={init:function(a){this.basic.init(a)},getElementSize:function(a){return this.basic.getElementSize(a)},setElementSize:function(b,a,c){this.basic.setElementSize(b,a,this.moveSplitter.createDelegate(this,[b]))},moveSplitter:function(a){var b=Ext.SplitBar;switch(a.placement){case b.LEFT:a.el.setX(a.resizingEl.getRight());break;case b.RIGHT:a.el.setStyle("right",(this.container.getWidth()-a.resizingEl.getLeft())+"px");break;case b.TOP:a.el.setY(a.resizingEl.getBottom());break;case b.BOTTOM:a.el.setY(a.resizingEl.getTop()-a.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:"panel",initComponent:function(){Ext.Container.superclass.initComponent.call(this);this.addEvents("afterlayout","beforeadd","beforeremove","add","remove");var a=this.items;if(a){delete this.items;if(Ext.isArray(a)&&a.length>0){this.add.apply(this,a)}else{this.add(a)}}},initItems:function(){if(!this.items){this.items=new Ext.util.MixedCollection(false,this.getComponentId);this.getLayout()}},setLayout:function(a){if(this.layout&&this.layout!=a){this.layout.setContainer(null)}this.initItems();this.layout=a;a.setContainer(this)},render:function(){Ext.Container.superclass.render.apply(this,arguments);if(this.layout){if(typeof this.layout=="string"){this.layout=new Ext.Container.LAYOUTS[this.layout.toLowerCase()](this.layoutConfig)}this.setLayout(this.layout);if(this.activeItem!==undefined){var a=this.activeItem;delete this.activeItem;this.layout.setActiveItem(a);return}}if(!this.ownerCt){this.doLayout()}if(this.monitorResize===true){Ext.EventManager.onWindowResize(this.doLayout,this,[false])}},getLayoutTarget:function(){return this.el},getComponentId:function(a){return a.itemId||a.id},add:function(e){if(!this.items){this.initItems()}var d=arguments,b=d.length;if(b>1){for(var g=0;g<b;g++){this.add(d[g])}return}var k=this.lookupComponent(this.applyDefaults(e));var h=this.items.length;if(this.fireEvent("beforeadd",this,k,h)!==false&&this.onBeforeAdd(k)!==false){this.items.add(k);k.ownerCt=this;this.fireEvent("add",this,k,h)}return k},insert:function(g,e){if(!this.items){this.initItems()}var d=arguments,b=d.length;if(b>2){for(var h=b-1;h>=1;--h){this.insert(g,d[h])}return}var k=this.lookupComponent(this.applyDefaults(e));if(k.ownerCt==this&&this.items.indexOf(k)<g){--g}if(this.fireEvent("beforeadd",this,k,g)!==false&&this.onBeforeAdd(k)!==false){this.items.insert(g,k);k.ownerCt=this;this.fireEvent("add",this,k,g)}return k},applyDefaults:function(a){if(this.defaults){if(typeof a=="string"){a=Ext.ComponentMgr.get(a);Ext.apply(a,this.defaults)}else{if(!a.events){Ext.applyIf(a,this.defaults)}else{Ext.apply(a,this.defaults)}}}return a},onBeforeAdd:function(a){if(a.ownerCt){a.ownerCt.remove(a,false)}if(this.hideBorders===true){a.border=(a.border===true)}},remove:function(a,b){var d=this.getComponent(a);if(d&&this.fireEvent("beforeremove",this,d)!==false){this.items.remove(d);delete d.ownerCt;if(b===true||(b!==false&&this.autoDestroy)){d.destroy()}if(this.layout&&this.layout.activeItem==d){delete this.layout.activeItem}this.fireEvent("remove",this,d)}return d},removeAll:function(b){var c,a=[];while((c=this.items.last())){a.unshift(this.remove(c,b))}return a},getComponent:function(a){if(typeof a=="object"){return a}return this.items.get(a)},lookupComponent:function(a){if(typeof a=="string"){return Ext.ComponentMgr.get(a)}else{if(!a.events){return this.createComponent(a)}}return a},createComponent:function(a){return Ext.ComponentMgr.create(a,this.defaultType)},doLayout:function(e){if(this.rendered&&this.layout){this.layout.layout()}if(e!==false&&this.items){var d=this.items.items;for(var b=0,a=d.length;b<a;b++){var g=d[b];if(g.doLayout){g.doLayout()}}}},getLayout:function(){if(!this.layout){var a=new Ext.layout.ContainerLayout(this.layoutConfig);this.setLayout(a)}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&&this.layout.destroy){this.layout.destroy()}Ext.Container.superclass.beforeDestroy.call(this)},bubble:function(c,b,a){var d=this;while(d){if(c.apply(b||d,a||[d])===false){break}d=d.ownerCt}},cascade:function(g,e,b){if(g.apply(e||this,b||[this])!==false){if(this.items){var d=this.items.items;for(var c=0,a=d.length;c<a;c++){if(d[c].cascade){d[c].cascade(g,e,b)}else{g.apply(e||d[c],b||[d[c]])}}}}},findById:function(c){var a,b=this;this.cascade(function(d){if(b!=d&&d.id===c){a=d;return false}});return a||null},findByType:function(b,a){return this.findBy(function(d){return d.isXType(b,a)})},find:function(b,a){return this.findBy(function(d){return d[b]===a})},findBy:function(d,c){var a=[],b=this;this.cascade(function(e){if(b!=e&&d.call(c||e,e,b)===true){a.push(e)}});return a}});Ext.Container.LAYOUTS={};Ext.reg("container",Ext.Container);Ext.layout.ContainerLayout=function(a){Ext.apply(this,a)};Ext.layout.ContainerLayout.prototype={monitorResize:false,activeItem:null,layout:function(){var a=this.container.getLayoutTarget();this.onLayout(this.container,a);this.container.fireEvent("afterlayout",this.container,this)},onLayout:function(a,b){this.renderAll(a,b)},isValidParent:function(d,b){var a=d.getPositionEl?d.getPositionEl():d.getEl();return a.dom.parentNode==b.dom},renderAll:function(e,g){var b=e.items.items;for(var d=0,a=b.length;d<a;d++){var h=b[d];if(h&&(!h.rendered||!this.isValidParent(h,g))){this.renderItem(h,d,g)}}},renderItem:function(e,a,d){if(e&&!e.rendered){e.render(d,a);if(this.extraCls){var b=e.getPositionEl?e.getPositionEl():e;b.addClass(this.extraCls)}if(this.renderHidden&&e!=this.activeItem){e.hide()}}else{if(e&&!this.isValidParent(e,d)){if(this.extraCls){var b=e.getPositionEl?e.getPositionEl():e;b.addClass(this.extraCls)}if(typeof a=="number"){a=d.dom.childNodes[a]}d.dom.insertBefore(e.getEl().dom,a||null);if(this.renderHidden&&e!=this.activeItem){e.hide()}}}},onResize:function(){if(this.container.collapsed){return}var a=this.container.bufferResize;if(a){if(!this.resizeTask){this.resizeTask=new Ext.util.DelayedTask(this.layout,this);this.resizeBuffer=typeof a=="number"?a:100}this.resizeTask.delay(this.resizeBuffer)}else{this.layout()}},setContainer:function(a){if(this.monitorResize&&a!=this.container){if(this.container){this.container.un("resize",this.onResize,this)}if(a){a.on("resize",this.onResize,this)}}this.container=a},parseMargins:function(b){var c=b.split(" ");var a=c.length;if(a==1){c[1]=c[0];c[2]=c[0];c[3]=c[0]}if(a==2){c[2]=c[0];c[3]=c[1]}return{top:parseInt(c[0],10)||0,right:parseInt(c[1],10)||0,bottom:parseInt(c[2],10)||0,left:parseInt(c[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(a,b){Ext.layout.FitLayout.superclass.onLayout.call(this,a,b);if(!this.container.collapsed){this.setItemSize(this.activeItem||a.items.itemAt(0),b.getStyleSize())}},setItemSize:function(b,a){if(b&&a.height>0){b.setSize(a)}}});Ext.Container.LAYOUTS.fit=Ext.layout.FitLayout;Ext.layout.CardLayout=Ext.extend(Ext.layout.FitLayout,{deferredRender:false,renderHidden:true,setActiveItem:function(a){a=this.container.getComponent(a);if(this.activeItem!=a){if(this.activeItem){this.activeItem.hide()}this.activeItem=a;a.show();this.layout()}},renderAll:function(a,b){if(this.deferredRender){this.renderItem(this.activeItem,undefined,b)}else{Ext.layout.CardLayout.superclass.renderAll.call(this,a,b)}}});Ext.Container.LAYOUTS.card=Ext.layout.CardLayout;Ext.layout.AnchorLayout=Ext.extend(Ext.layout.ContainerLayout,{monitorResize:true,getAnchorViewSize:function(a,b){return b.dom==document.body?b.getViewSize():b.getStyleSize()},onLayout:function(l,o){Ext.layout.AnchorLayout.superclass.onLayout.call(this,l,o);var u=this.getAnchorViewSize(l,o);var s=u.width,k=u.height;if(s<20||k<20){return}var d,q;if(l.anchorSize){if(typeof l.anchorSize=="number"){d=l.anchorSize}else{d=l.anchorSize.width;q=l.anchorSize.height}}else{d=l.initialConfig.width;q=l.initialConfig.height}var n=l.items.items,m=n.length,g,p,r,e,b;for(g=0;g<m;g++){p=n[g];if(p.anchor){r=p.anchorSpec;if(!r){var t=p.anchor.split(" ");p.anchorSpec=r={right:this.parseAnchor(t[0],p.initialConfig.width,d),bottom:this.parseAnchor(t[1],p.initialConfig.height,q)}}e=r.right?this.adjustWidthAnchor(r.right(s),p):undefined;b=r.bottom?this.adjustHeightAnchor(r.bottom(k),p):undefined;if(e||b){p.setSize(e||undefined,b||undefined)}}}},parseAnchor:function(c,h,b){if(c&&c!="none"){var e;if(/^(r|right|b|bottom)$/i.test(c)){var g=b-h;return function(a){if(a!==e){e=a;return a-g}}}else{if(c.indexOf("%")!=-1){var d=parseFloat(c.replace("%",""))*0.01;return function(a){if(a!==e){e=a;return Math.floor(a*d)}}}else{c=parseInt(c,10);if(!isNaN(c)){return function(a){if(a!==e){e=a;return a+c}}}}}}return false},adjustWidthAnchor:function(b,a){return b},adjustHeightAnchor:function(b,a){return b}});Ext.Container.LAYOUTS.anchor=Ext.layout.AnchorLayout;Ext.layout.ColumnLayout=Ext.extend(Ext.layout.ContainerLayout,{monitorResize:true,extraCls:"x-column",scrollOffset:0,isValidParent:function(b,a){return(b.getPositionEl?b.getPositionEl():b.getEl()).dom.parentNode==this.innerCt.dom},onLayout:function(d,k){var e=d.items.items,g=e.length,l,a;if(!this.innerCt){k.addClass("x-column-layout-ct");this.innerCt=k.createChild({cls:"x-column-inner"});this.innerCt.createChild({cls:"x-clear"})}this.renderAll(d,this.innerCt);var o=Ext.isIE&&k.dom!=Ext.getBody().dom?k.getStyleSize():k.getViewSize();if(o.width<1&&o.height<1){return}var m=o.width-k.getPadding("lr")-this.scrollOffset,b=o.height-k.getPadding("tb"),n=m;this.innerCt.setWidth(m);for(a=0;a<g;a++){l=e[a];if(!l.columnWidth){n-=(l.getSize().width+l.getEl().getMargins("lr"))}}n=n<0?0:n;for(a=0;a<g;a++){l=e[a];if(l.columnWidth){l.setSize(Math.floor(l.columnWidth*n)-l.getEl().getMargins("lr"))}}}});Ext.Container.LAYOUTS.column=Ext.layout.ColumnLayout;Ext.layout.BorderLayout=Ext.extend(Ext.layout.ContainerLayout,{monitorResize:true,rendered:false,onLayout:function(d,I){var g;if(!this.rendered){I.position();I.addClass("x-border-layout-ct");var x=d.items.items;g=[];for(var B=0,C=x.length;B<C;B++){var F=x[B];var o=F.region;if(F.collapsed){g.push(F)}F.collapsed=false;if(!F.rendered){F.cls=F.cls?F.cls+" x-border-panel":"x-border-panel";F.render(I,B)}this[o]=o!="center"&&F.split?new Ext.layout.BorderLayout.SplitRegion(this,F.initialConfig,o):new Ext.layout.BorderLayout.Region(this,F.initialConfig,o);this[o].render(I,F)}this.rendered=true}var v=I.getViewSize();if(v.width<20||v.height<20){if(g){this.restoreCollapsed=g}return}else{if(this.restoreCollapsed){g=this.restoreCollapsed;delete this.restoreCollapsed}}var t=v.width,D=v.height;var r=t,A=D,p=0,q=0;var y=this.north,u=this.south,l=this.west,E=this.east,F=this.center;if(!F&&Ext.layout.BorderLayout.WARN!==false){throw"No center region defined in BorderLayout "+d.id}if(y&&y.isVisible()){var H=y.getSize();var z=y.getMargins();H.width=t-(z.left+z.right);H.x=z.left;H.y=z.top;p=H.height+H.y+z.bottom;A-=p;y.applyLayout(H)}if(u&&u.isVisible()){var H=u.getSize();var z=u.getMargins();H.width=t-(z.left+z.right);H.x=z.left;var G=(H.height+z.top+z.bottom);H.y=D-G+z.top;A-=G;u.applyLayout(H)}if(l&&l.isVisible()){var H=l.getSize();var z=l.getMargins();H.height=A-(z.top+z.bottom);H.x=z.left;H.y=p+z.top;var a=(H.width+z.left+z.right);q+=a;r-=a;l.applyLayout(H)}if(E&&E.isVisible()){var H=E.getSize();var z=E.getMargins();H.height=A-(z.top+z.bottom);var a=(H.width+z.left+z.right);H.x=t-a+z.left;H.y=p+z.top;r-=a;E.applyLayout(H)}if(F){var z=F.getMargins();var k={x:q+z.left,y:p+z.top,width:r-(z.left+z.right),height:A-(z.top+z.bottom)};F.applyLayout(k)}if(g){for(var B=0,C=g.length;B<C;B++){g[B].collapse(false)}}if(Ext.isIE&&Ext.isStrict){I.repaint()}},destroy:function(){var b=["north","south","east","west"];for(var a=0;a<b.length;a++){var c=this[b[a]];if(c){if(c.destroy){c.destroy()}else{if(c.split){c.split.destroy(true)}}}}Ext.layout.BorderLayout.superclass.destroy.call(this)}});Ext.layout.BorderLayout.Region=function(b,a,c){Ext.apply(this,a);this.layout=b;this.position=c;this.state={};if(typeof this.margins=="string"){this.margins=this.layout.parseMargins(this.margins)}this.margins=Ext.applyIf(this.margins||{},this.defaultMargins);if(this.collapsible){if(typeof this.cmargins=="string"){this.cmargins=this.layout.parseMargins(this.cmargins)}if(this.collapseMode=="mini"&&!this.cmargins){this.cmargins={left:0,top:0,right:0,bottom:0}}else{this.cmargins=Ext.applyIf(this.cmargins||{},c=="north"||c=="south"?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(b,c){this.panel=c;c.el.enableDisplayMode();this.targetEl=b;this.el=c.el;var a=c.getState,d=this.position;c.getState=function(){return Ext.apply(a.call(c)||{},this.state)}.createDelegate(this);if(d!="center"){c.allowQueuedExpand=false;c.on({beforecollapse:this.beforeCollapse,collapse:this.onCollapse,beforeexpand:this.beforeExpand,expand:this.onExpand,hide:this.onHide,show:this.onShow,scope:this});if(this.collapsible){c.collapseEl="el";c.slideAnchor=this.getSlideAnchor()}if(c.tools&&c.tools.toggle){c.tools.toggle.addClass("x-tool-collapse-"+d);c.tools.toggle.addClassOnOver("x-tool-collapse-"+d+"-over")}}},getCollapsedEl:function(){if(!this.collapsedEl){if(!this.toolTemplate){var b=new Ext.Template('<div class="x-tool x-tool-{id}">&#160;</div>');b.disableFormats=true;b.compile();Ext.layout.BorderLayout.Region.prototype.toolTemplate=b}this.collapsedEl=this.targetEl.createChild({cls:"x-layout-collapsed x-layout-collapsed-"+this.position,id:this.panel.id+"-xcollapsed"});this.collapsedEl.enableDisplayMode("block");if(this.collapseMode=="mini"){this.collapsedEl.addClass("x-layout-cmini-"+this.position);this.miniCollapsedEl=this.collapsedEl.createChild({cls:"x-layout-mini x-layout-mini-"+this.position,html:"&#160;"});this.miniCollapsedEl.addClassOnOver("x-layout-mini-over");this.collapsedEl.addClassOnOver("x-layout-collapsed-over");this.collapsedEl.on("click",this.onExpandClick,this,{stopEvent:true})}else{var a=this.toolTemplate.append(this.collapsedEl.dom,{id:"expand-"+this.position},true);a.addClassOnOver("x-tool-expand-"+this.position+"-over");a.on("click",this.onExpandClick,this,{stopEvent:true});if(this.floatable!==false){this.collapsedEl.addClassOnOver("x-layout-collapsed-over");this.collapsedEl.on("click",this.collapseClick,this)}}}return this.collapsedEl},onExpandClick:function(a){if(this.isSlid){this.afterSlideIn();this.panel.expand(false)}else{this.panel.expand()}},onCollapseClick:function(a){this.panel.collapse()},beforeCollapse:function(b,a){this.lastAnim=a;if(this.splitEl){this.splitEl.hide()}this.getCollapsedEl().show();this.panel.el.setStyle("z-index",100);this.isCollapsed=true;this.layout.layout()},onCollapse:function(a){this.panel.el.setStyle("z-index",1);if(this.lastAnim===false||this.panel.animCollapse===false){this.getCollapsedEl().dom.style.visibility="visible"}else{this.getCollapsedEl().slideIn(this.panel.slideAnchor,{duration:0.2})}this.state.collapsed=true;this.panel.saveState()},beforeExpand:function(a){var b=this.getCollapsedEl();this.el.show();if(this.position=="east"||this.position=="west"){this.panel.setSize(undefined,b.getHeight())}else{this.panel.setSize(b.getWidth(),undefined)}b.hide();b.dom.style.visibility="hidden";this.panel.el.setStyle("z-index",100)},onExpand:function(){this.isCollapsed=false;if(this.splitEl){this.splitEl.show()}this.layout.layout();this.panel.el.setStyle("z-index",1);this.state.collapsed=false;this.panel.saveState()},collapseClick:function(a){if(this.isSlid){a.stopPropagation();this.slideIn()}else{a.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&&this.cmargins?this.cmargins:this.margins},getSize:function(){return this.isCollapsed?this.getCollapsedEl().getSize():this.panel.getSize()},setPanel:function(a){this.panel=a},getMinWidth:function(){return this.minWidth},getMinHeight:function(){return this.minHeight},applyLayoutCollapsed:function(a){var b=this.getCollapsedEl();b.setLeftTop(a.x,a.y);b.setSize(a.width,a.height)},applyLayout:function(a){if(this.isCollapsed){this.applyLayoutCollapsed(a)}else{this.panel.setPosition(a.x,a.y);this.panel.setSize(a.width,a.height)}},beforeSlide:function(){this.panel.beforeEffect()},afterSlide:function(){this.panel.afterEffect()},initAutoHide:function(){if(this.autoHide!==false){if(!this.autoHideHd){var a=new Ext.util.DelayedTask(this.slideIn,this);this.autoHideHd={mouseout:function(b){if(!b.within(this.el,true)){a.delay(500)}},mouseover:function(b){a.cancel()},scope:this}}this.el.on(this.autoHideHd)}},clearAutoHide:function(){if(this.autoHide!==false){this.el.un("mouseout",this.autoHideHd.mouseout);this.el.un("mouseover",this.autoHideHd.mouseover)}},clearMonitor:function(){Ext.getDoc().un("click",this.slideInIf,this)},slideOut:function(){if(this.isSlid||this.el.hasActiveFx()){return}this.isSlid=true;var a=this.panel.tools;if(a&&a.toggle){a.toggle.hide()}this.el.show();if(this.position=="east"||this.position=="west"){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("z-index",102);this.panel.el.replaceClass("x-panel-collapsed","x-panel-floating");if(this.animFloat!==false){this.beforeSlide();this.el.slideIn(this.getSlideAnchor(),{callback:function(){this.afterSlide();this.initAutoHide();Ext.getDoc().on("click",this.slideInIf,this)},scope:this,block:true})}else{this.initAutoHide();Ext.getDoc().on("click",this.slideInIf,this)}},afterSlideIn:function(){this.clearAutoHide();this.isSlid=false;this.clearMonitor();this.el.setStyle("z-index","");this.panel.el.replaceClass("x-panel-floating","x-panel-collapsed");this.el.dom.style.left=this.restoreLT[0];this.el.dom.style.top=this.restoreLT[1];var a=this.panel.tools;if(a&&a.toggle){a.toggle.show()}},slideIn:function(a){if(!this.isSlid||this.el.hasActiveFx()){Ext.callback(a);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(a)},scope:this,block:true})}else{this.el.hide();this.afterSlideIn()}},slideInIf:function(a){if(!a.within(this.el)){this.slideIn()}},anchors:{west:"left",east:"right",north:"top",south:"bottom"},sanchors:{west:"l",east:"r",north:"t",south:"b"},canchors:{west:"tl-tr",east:"tr-tl",north:"tl-bl",south:"bl-tl"},getAnchor:function(){return this.anchors[this.position]},getCollapseAnchor:function(){return this.canchors[this.position]},getSlideAnchor:function(){return this.sanchors[this.position]},getAlignAdj:function(){var a=this.cmargins;switch(this.position){case"west":return[0,0];break;case"east":return[0,0];break;case"north":return[0,0];break;case"south":return[0,0];break}},getExpandAdj:function(){var b=this.collapsedEl,a=this.cmargins;switch(this.position){case"west":return[-(a.right+b.getWidth()+a.left),0];break;case"east":return[a.right+b.getWidth()+a.left,0];break;case"north":return[0,-(a.top+a.bottom+b.getHeight())];break;case"south":return[0,a.top+a.bottom+b.getHeight()];break}}};Ext.layout.BorderLayout.SplitRegion=function(b,a,c){Ext.layout.BorderLayout.SplitRegion.superclass.constructor.call(this,b,a,c);this.applyLayout=this.applyFns[c]};Ext.extend(Ext.layout.BorderLayout.SplitRegion,Ext.layout.BorderLayout.Region,{splitTip:"Drag to resize.",collapsibleSplitTip:"Drag to resize. Double click to hide.",useSplitTips:false,splitSettings:{north:{orientation:Ext.SplitBar.VERTICAL,placement:Ext.SplitBar.TOP,maxFn:"getVMaxSize",minProp:"minHeight",maxProp:"maxHeight"},south:{orientation:Ext.SplitBar.VERTICAL,placement:Ext.SplitBar.BOTTOM,maxFn:"getVMaxSize",minProp:"minHeight",maxProp:"maxHeight"},east:{orientation:Ext.SplitBar.HORIZONTAL,placement:Ext.SplitBar.RIGHT,maxFn:"getHMaxSize",minProp:"minWidth",maxProp:"maxWidth"},west:{orientation:Ext.SplitBar.HORIZONTAL,placement:Ext.SplitBar.LEFT,maxFn:"getHMaxSize",minProp:"minWidth",maxProp:"maxWidth"}},applyFns:{west:function(c){if(this.isCollapsed){return this.applyLayoutCollapsed(c)}var d=this.splitEl.dom,b=d.style;this.panel.setPosition(c.x,c.y);var a=d.offsetWidth;b.left=(c.x+c.width-a)+"px";b.top=(c.y)+"px";b.height=Math.max(0,c.height)+"px";this.panel.setSize(c.width-a,c.height)},east:function(c){if(this.isCollapsed){return this.applyLayoutCollapsed(c)}var d=this.splitEl.dom,b=d.style;var a=d.offsetWidth;this.panel.setPosition(c.x+a,c.y);b.left=(c.x)+"px";b.top=(c.y)+"px";b.height=Math.max(0,c.height)+"px";this.panel.setSize(c.width-a,c.height)},north:function(c){if(this.isCollapsed){return this.applyLayoutCollapsed(c)}var d=this.splitEl.dom,b=d.style;var a=d.offsetHeight;this.panel.setPosition(c.x,c.y);b.left=(c.x)+"px";b.top=(c.y+c.height-a)+"px";b.width=Math.max(0,c.width)+"px";this.panel.setSize(c.width,c.height-a)},south:function(c){if(this.isCollapsed){return this.applyLayoutCollapsed(c)}var d=this.splitEl.dom,b=d.style;var a=d.offsetHeight;this.panel.setPosition(c.x,c.y+a);b.left=(c.x)+"px";b.top=(c.y)+"px";b.width=Math.max(0,c.width)+"px";this.panel.setSize(c.width,c.height-a)}},render:function(a,c){Ext.layout.BorderLayout.SplitRegion.superclass.render.call(this,a,c);var d=this.position;this.splitEl=a.createChild({cls:"x-layout-split x-layout-split-"+d,html:"&#160;",id:this.panel.id+"-xsplit"});if(this.collapseMode=="mini"){this.miniSplitEl=this.splitEl.createChild({cls:"x-layout-mini x-layout-mini-"+d,html:"&#160;"});this.miniSplitEl.addClassOnOver("x-layout-mini-over");this.miniSplitEl.on("click",this.onCollapseClick,this,{stopEvent:true})}var b=this.splitSettings[d];this.split=new Ext.SplitBar(this.splitEl.dom,c.el,b.orientation);this.split.placement=b.placement;this.split.getMaximumSize=this[b.maxFn].createDelegate(this);this.split.minSize=this.minSize||this[b.minProp];this.split.on("beforeapply",this.onSplitMove,this);this.split.useShim=this.useShim===true;this.maxSize=this.maxSize||this[b.maxProp];if(c.hidden){this.splitEl.hide()}if(this.useSplitTips){this.splitEl.dom.title=this.collapsible?this.collapsibleSplitTip:this.splitTip}if(this.collapsible){this.splitEl.on("dblclick",this.onCollapseClick,this)}},getSize:function(){if(this.isCollapsed){return this.collapsedEl.getSize()}var a=this.panel.getSize();if(this.position=="north"||this.position=="south"){a.height+=this.splitEl.dom.offsetHeight}else{a.width+=this.splitEl.dom.offsetWidth}return a},getHMaxSize:function(){var b=this.maxSize||10000;var a=this.layout.center;return Math.min(b,(this.el.getWidth()+a.el.getWidth())-a.getMinWidth())},getVMaxSize:function(){var b=this.maxSize||10000;var a=this.layout.center;return Math.min(b,(this.el.getHeight()+a.el.getHeight())-a.getMinHeight())},onSplitMove:function(b,a){var c=this.panel.getSize();this.lastSplitSize=a;if(this.position=="north"||this.position=="south"){this.panel.setSize(c.width,a);this.state.height=a}else{this.panel.setSize(a,c.height);this.state.width=a}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:":",getAnchorViewSize:function(a,b){return(a.body||a.el).getStyleSize()},setContainer:function(b){Ext.layout.FormLayout.superclass.setContainer.call(this,b);if(b.labelAlign){b.addClass("x-form-label-"+b.labelAlign)}if(b.hideLabels){this.labelStyle="display:none";this.elementStyle="padding-left:0;";this.labelAdjust=0}else{this.labelSeparator=b.labelSeparator||this.labelSeparator;b.labelWidth=b.labelWidth||100;if(typeof b.labelWidth=="number"){var c=(typeof b.labelPad=="number"?b.labelPad:5);this.labelAdjust=b.labelWidth+c;this.labelStyle="width:"+b.labelWidth+"px;";this.elementStyle="padding-left:"+(b.labelWidth+c)+"px"}if(b.labelAlign=="top"){this.labelStyle="width:auto;";this.labelAdjust=0;this.elementStyle="padding-left:0;"}}if(!this.fieldTpl){var a=new Ext.Template('<div class="x-form-item {5}" tabIndex="-1">','<label for="{0}" style="{2}" class="x-form-item-label">{1}{4}</label>','<div class="x-form-element" id="x-form-el-{0}" style="{3}">','</div><div class="{6}"></div>',"</div>");a.disableFormats=true;a.compile();Ext.layout.FormLayout.prototype.fieldTpl=a}},getLabelStyle:function(e){var b="",c=[this.labelStyle,e];for(var d=0,a=c.length;d<a;++d){if(c[d]){b+=c[d];if(b.substr(-1,1)!=";"){b+=";"}}}return b},renderItem:function(e,a,d){if(e&&!e.rendered&&e.isFormField&&e.inputType!="hidden"){var b=[e.id,e.fieldLabel,this.getLabelStyle(e.labelStyle),this.elementStyle||"",typeof e.labelSeparator=="undefined"?this.labelSeparator:e.labelSeparator,(e.itemCls||this.container.itemCls||"")+(e.hideLabel?" x-hide-label":""),e.clearCls||"x-form-clear-left"];if(typeof a=="number"){a=d.dom.childNodes[a]||null}if(a){this.fieldTpl.insertBefore(a,b)}else{this.fieldTpl.append(d,b)}e.render("x-form-el-"+e.id)}else{Ext.layout.FormLayout.superclass.renderItem.apply(this,arguments)}},adjustWidthAnchor:function(b,a){return b-(a.isFormField?(a.hideLabel?0:this.labelAdjust):0)},isValidParent:function(b,a){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,renderItem:function(a){if(this.animate===false){a.animCollapse=false}a.collapsible=true;if(this.autoWidth){a.autoWidth=true}if(this.titleCollapse){a.titleCollapse=true}if(this.hideCollapseTool){a.hideCollapseTool=true}if(this.collapseFirst!==undefined){a.collapseFirst=this.collapseFirst}if(!this.activeItem&&!a.collapsed){this.activeItem=a}else{if(this.activeItem){a.collapsed=true}}Ext.layout.Accordion.superclass.renderItem.apply(this,arguments);a.header.addClass("x-accordion-hd");a.on("beforeexpand",this.beforeExpand,this)},beforeExpand:function(c,b){var a=this.activeItem;if(a){if(this.sequence){delete this.activeItem;if(!a.collapsed){a.collapse({callback:function(){c.expand(b||true)},scope:this});return false}}else{a.collapse(this.animate)}}this.activeItem=c;if(this.activeOnTop){c.el.dom.parentNode.insertBefore(c.el.dom,c.el.dom.parentNode.firstChild)}this.layout()},setItemSize:function(g,e){if(this.fill&&g){var b=this.container.items.items;var d=0;for(var c=0,a=b.length;c<a;c++){var h=b[c];if(h!=g){d+=(h.getSize().height-h.bwrap.getHeight())}}e.height-=d;g.setSize(e)}}});Ext.Container.LAYOUTS.accordion=Ext.layout.Accordion;Ext.layout.TableLayout=Ext.extend(Ext.layout.ContainerLayout,{monitorResize:false,setContainer:function(a){Ext.layout.TableLayout.superclass.setContainer.call(this,a);this.currentRow=0;this.currentColumn=0;this.cells=[]},onLayout:function(d,g){var e=d.items.items,a=e.length,h,b;if(!this.table){g.addClass("x-table-layout-ct");this.table=g.createChild({tag:"table",cls:"x-table-layout",cellspacing:0,cn:{tag:"tbody"}},null,true);this.renderAll(d,g)}},getRow:function(a){var b=this.table.tBodies[0].childNodes[a];if(!b){b=document.createElement("tr");this.table.tBodies[0].appendChild(b)}return b},getNextCell:function(k){var a=this.getNextNonSpan(this.currentColumn,this.currentRow);var g=this.currentColumn=a[0],e=this.currentRow=a[1];for(var i=e;i<e+(k.rowspan||1);i++){if(!this.cells[i]){this.cells[i]=[]}for(var d=g;d<g+(k.colspan||1);d++){this.cells[i][d]=true}}var h=document.createElement("td");if(k.cellId){h.id=k.cellId}var b="x-table-layout-cell";if(k.cellCls){b+=" "+k.cellCls}h.className=b;if(k.colspan){h.colSpan=k.colspan}if(k.rowspan){h.rowSpan=k.rowspan}this.getRow(e).appendChild(h);return h},getNextNonSpan:function(a,c){var b=this.columns;while((b&&a>=b)||(this.cells[c]&&this.cells[c][a])){if(b&&a>=b){c++;a=0}else{a++}}return[a,c]},renderItem:function(e,a,d){if(e&&!e.rendered){e.render(this.getNextCell(e));if(this.extraCls){var b=e.getPositionEl?e.getPositionEl():e;b.addClass(this.extraCls)}}},isValidParent:function(b,a){return true}});Ext.Container.LAYOUTS.table=Ext.layout.TableLayout;Ext.layout.AbsoluteLayout=Ext.extend(Ext.layout.AnchorLayout,{extraCls:"x-abs-layout-item",isForm:false,setContainer:function(a){Ext.layout.AbsoluteLayout.superclass.setContainer.call(this,a);if(a.isXType("form")){this.isForm=true}},onLayout:function(a,b){if(this.isForm){a.body.position()}else{b.position()}Ext.layout.AbsoluteLayout.superclass.onLayout.call(this,a,b)},getAnchorViewSize:function(a,b){return this.isForm?a.body.getStyleSize():Ext.layout.AbsoluteLayout.superclass.getAnchorViewSize.call(this,a,b)},isValidParent:function(b,a){return this.isForm?true:Ext.layout.AbsoluteLayout.superclass.isValidParent.call(this,b,a)},adjustWidthAnchor:function(b,a){return b?b-a.getPosition(true)[0]:b},adjustHeightAnchor:function(b,a){return b?b-a.getPosition(true)[1]:b}});Ext.Container.LAYOUTS.absolute=Ext.layout.AbsoluteLayout;Ext.Viewport=Ext.extend(Ext.Container,{initComponent:function(){Ext.Viewport.superclass.initComponent.call(this);document.getElementsByTagName("html")[0].className+=" x-viewport";this.el=Ext.getBody();this.el.setHeight=Ext.emptyFn;this.el.setWidth=Ext.emptyFn;this.el.setSize=Ext.emptyFn;this.el.dom.scroll="no";this.allowDomMove=false;this.autoWidth=true;this.autoHeight=true;Ext.EventManager.onWindowResize(this.fireResize,this);this.renderTo=this.el},fireResize:function(a,b){this.fireEvent("resize",this,a,b,a,b)}});Ext.reg("viewport",Ext.Viewport);Ext.Panel=Ext.extend(Ext.Container,{baseCls:"x-panel",collapsedCls:"x-panel-collapsed",maskDisabled:true,animCollapse:Ext.enableFx,headerAsText:true,buttonAlign:"right",collapsed:false,collapseFirst:true,minButtonWidth:75,elements:"body",toolTarget:"header",collapseEl:"bwrap",slideAnchor:"t",disabledClass:"",deferHeight:true,expandDefaults:{duration:0.25},collapseDefaults:{duration:0.25},initComponent:function(){Ext.Panel.superclass.initComponent.call(this);this.addEvents("bodyresize","titlechange","iconchange","collapse","expand","beforecollapse","beforeexpand","beforeclose","close","activate","deactivate");if(this.tbar){this.elements+=",tbar";if(typeof this.tbar=="object"){this.topToolbar=this.tbar}delete this.tbar}if(this.bbar){this.elements+=",bbar";if(typeof this.bbar=="object"){this.bottomToolbar=this.bbar}delete this.bbar}if(this.header===true){this.elements+=",header";delete this.header}else{if(this.title&&this.header!==false){this.elements+=",header"}}if(this.footer===true){this.elements+=",footer";delete this.footer}if(this.buttons){var c=this.buttons;this.buttons=[];for(var b=0,a=c.length;b<a;b++){if(c[b].render){c[b].ownerCt=this;this.buttons.push(c[b])}else{this.addButton(c[b])}}}if(this.autoLoad){this.on("render",this.doAutoLoad,this,{delay:10})}},createElement:function(a,c){if(this[a]){c.appendChild(this[a].dom);return}if(a==="bwrap"||this.elements.indexOf(a)!=-1){if(this[a+"Cfg"]){this[a]=Ext.fly(c).createChild(this[a+"Cfg"])}else{var b=document.createElement("div");b.className=this[a+"Cls"];this[a]=Ext.get(c.appendChild(b))}if(this[a+"CssClass"]){this[a].addClass(this[a+"CssClass"])}if(this[a+"Style"]){this[a].applyStyles(this[a+"Style"])}}},onRender:function(m,l){Ext.Panel.superclass.onRender.call(this,m,l);this.createClasses();if(this.el){this.el.addClass(this.baseCls);this.header=this.el.down("."+this.headerCls);this.bwrap=this.el.down("."+this.bwrapCls);var r=this.bwrap?this.bwrap:this.el;this.tbar=r.down("."+this.tbarCls);this.body=r.down("."+this.bodyCls);this.bbar=r.down("."+this.bbarCls);this.footer=r.down("."+this.footerCls);this.fromMarkup=true}else{this.el=m.createChild({id:this.id,cls:this.baseCls},l)}var a=this.el,p=a.dom;if(this.cls){this.el.addClass(this.cls)}if(this.buttons){this.elements+=",footer"}if(this.frame){a.insertHtml("afterBegin",String.format(Ext.Element.boxMarkup,this.baseCls));this.createElement("header",p.firstChild.firstChild.firstChild);this.createElement("bwrap",p);var t=this.bwrap.dom;var h=p.childNodes[1],c=p.childNodes[2];t.appendChild(h);t.appendChild(c);var u=t.firstChild.firstChild.firstChild;this.createElement("tbar",u);this.createElement("body",u);this.createElement("bbar",u);this.createElement("footer",t.lastChild.firstChild.firstChild);if(!this.footer){this.bwrap.dom.lastChild.className+=" x-panel-nofooter"}}else{this.createElement("header",p);this.createElement("bwrap",p);var t=this.bwrap.dom;this.createElement("tbar",t);this.createElement("body",t);this.createElement("bbar",t);this.createElement("footer",t);if(!this.header){this.body.addClass(this.bodyCls+"-noheader");if(this.tbar){this.tbar.addClass(this.tbarCls+"-noheader")}}}if(this.border===false){this.el.addClass(this.baseCls+"-noborder");this.body.addClass(this.bodyCls+"-noborder");if(this.header){this.header.addClass(this.headerCls+"-noborder")}if(this.footer){this.footer.addClass(this.footerCls+"-noborder")}if(this.tbar){this.tbar.addClass(this.tbarCls+"-noborder")}if(this.bbar){this.bbar.addClass(this.bbarCls+"-noborder")}}if(this.bodyBorder===false){this.body.addClass(this.bodyCls+"-noborder")}this.bwrap.enableDisplayMode("block");if(this.header){this.header.unselectable();if(this.headerAsText){this.header.dom.innerHTML='<span class="'+this.headerTextCls+'">'+this.header.dom.innerHTML+"</span>";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?"unshift":"push"]({id:"toggle",handler:this.toggleCollapse,scope:this})}if(this.titleCollapse&&this.header){this.header.on("click",this.toggleCollapse,this);this.header.setStyle("cursor","pointer")}}if(this.tools){var o=this.tools;this.tools={};this.addTool.apply(this,o)}else{this.tools={}}if(this.buttons&&this.buttons.length>0){var g=this.footer.createChild({cls:"x-panel-btns-ct",cn:{cls:"x-panel-btns x-panel-btns-"+this.buttonAlign,html:'<table cellspacing="0"><tbody><tr></tr></tbody></table><div class="x-clear"></div>'}},null,true);var q=g.getElementsByTagName("tr")[0];for(var k=0,n=this.buttons.length;k<n;k++){var s=this.buttons[k];var e=document.createElement("td");e.className="x-panel-btn-td";s.render(q.appendChild(e))}}if(this.tbar&&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&&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(b){var a=this.iconCls;this.iconCls=b;if(this.rendered&&this.header){if(this.frame){this.header.addClass("x-panel-icon");this.header.replaceClass(a,this.iconCls)}else{var d=this.header.dom;var c=d.firstChild&&String(d.firstChild.tagName).toLowerCase()=="img"?d.firstChild:null;if(c){Ext.fly(c).replaceClass(a,this.iconCls)}else{Ext.DomHelper.insertBefore(d.firstChild,{tag:"img",src:Ext.BLANK_IMAGE_URL,cls:"x-panel-inline-icon "+this.iconCls})}}}this.fireEvent("iconchange",this,b,a)},makeFloating:function(a){this.floating=true;this.el=new Ext.Layer(typeof a=="object"?a:{shadow:this.shadow!==undefined?this.shadow:"sides",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(a,d,c){var e={handler:d,scope:c,minWidth:this.minButtonWidth,hideParent:true};if(typeof a=="string"){e.text=a}else{Ext.apply(e,a)}var b=new Ext.Button(e);b.ownerCt=this;if(!this.buttons){this.buttons=[]}this.buttons.push(b);return b},addTool:function(){if(!this[this.toolTarget]){return}if(!this.toolTemplate){var h=new Ext.Template('<div class="x-tool x-tool-{id}">&#160;</div>');h.disableFormats=true;h.compile();Ext.Panel.prototype.toolTemplate=h}for(var g=0,d=arguments,c=d.length;g<c;g++){var b=d[g];if(!this.tools[b.id]){var k="x-tool-"+b.id+"-over";var e=this.toolTemplate.insertFirst((b.align!=="left")?this[this.toolTarget]:this[this.toolTarget].child("span"),b,true);this.tools[b.id]=e;e.enableDisplayMode("block");e.on("click",this.createToolHandler(e,b,k,this));if(b.on){e.on(b.on)}if(b.hidden){e.hide()}if(b.qtip){if(typeof b.qtip=="object"){Ext.QuickTips.register(Ext.apply({target:e.id},b.qtip))}else{e.dom.qtip=b.qtip}}e.addClassOnOver(k)}}},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(c,a,d,b){return function(g){c.removeClass(d);g.stopEvent();if(a.handler){a.handler.call(a.scope||c,g,c,b)}}},afterRender:function(){if(this.fromMarkup&&this.height===undefined&&!this.autoHeight){this.height=this.el.getHeight()}if(this.floating&&!this.hidden&&!this.initHidden){this.el.show()}if(this.title){this.setTitle(this.title)}this.setAutoScroll();if(this.html){this.body.update(typeof this.html=="object"?Ext.DomHelper.markup(this.html):this.html);delete this.html}if(this.contentEl){var a=Ext.getDom(this.contentEl);Ext.fly(a).removeClass(["x-hidden","x-hide-display"]);this.body.dom.appendChild(a)}if(this.collapsed){this.collapsed=false;this.collapse(false)}Ext.Panel.superclass.afterRender.call(this);this.initEvents()},setAutoScroll:function(){if(this.rendered&&this.autoScroll){var a=this.body||this.el;if(a){a.setOverflow("auto")}}},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=="boolean"?null:this.draggable)},beforeEffect:function(){if(this.floating){this.el.beforeAction()}this.el.addClass("x-panel-animated")},afterEffect:function(){this.syncShadow();this.el.removeClass("x-panel-animated")},createEffect:function(c,b,d){var e={scope:d,block:true};if(c===true){e.callback=b;return e}else{if(!c.callback){e.callback=b}else{e.callback=function(){b.call(d);Ext.callback(c.callback,c.scope)}}}return Ext.applyIf(e,c)},collapse:function(b){if(this.collapsed||this.el.hasFxBlock()||this.fireEvent("beforecollapse",this,b)===false){return}var a=b===true||(b!==false&&this.animCollapse);this.beforeEffect();this.onCollapse(a,b);return this},onCollapse:function(a,b){if(a){this[this.collapseEl].slideOut(this.slideAnchor,Ext.apply(this.createEffect(b||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("collapse",this)},expand:function(b){if(!this.collapsed||this.el.hasFxBlock()||this.fireEvent("beforeexpand",this,b)===false){return}var a=b===true||(b!==false&&this.animCollapse);this.el.removeClass(this.collapsedCls);this.beforeEffect();this.onExpand(a,b);return this},onExpand:function(a,b){if(a){this[this.collapseEl].slideIn(this.slideAnchor,Ext.apply(this.createEffect(b||true,this.afterExpand,this),this.expandDefaults))}else{this[this.collapseEl].show();this.afterExpand()}},afterExpand:function(){this.collapsed=false;this.afterEffect();this.fireEvent("expand",this)},toggleCollapse:function(a){this[this.collapsed?"expand":"collapse"](a);return this},onDisable:function(){if(this.rendered&&this.maskDisabled){this.el.mask()}Ext.Panel.superclass.onDisable.call(this)},onEnable:function(){if(this.rendered&&this.maskDisabled){this.el.unmask()}Ext.Panel.superclass.onEnable.call(this)},onResize:function(a,b){if(a!==undefined||b!==undefined){if(!this.collapsed){if(typeof a=="number"){this.body.setWidth(this.adjustBodyWidth(a-this.getFrameWidth()))}else{if(a=="auto"){this.body.setWidth(a)}}if(typeof b=="number"){this.body.setHeight(this.adjustBodyHeight(b-this.getFrameHeight()))}else{if(b=="auto"){this.body.setHeight(b)}}if(this.disabled&&this.el._mask){this.el._mask.setSize(this.el.dom.clientWidth,this.el.getHeight())}}else{this.queuedBodySize={width:a,height:b};if(!this.queuedExpand&&this.allowQueuedExpand!==false){this.queuedExpand=true;this.on("expand",function(){delete this.queuedExpand;this.onResize(this.queuedBodySize.width,this.queuedBodySize.height);this.doLayout()},this,{single:true})}}this.fireEvent("bodyresize",this,a,b)}this.syncShadow()},adjustBodyHeight:function(a){return a},adjustBodyWidth:function(a){return a},onPosition:function(){this.syncShadow()},getFrameWidth:function(){var b=this.el.getFrameWidth("lr");if(this.frame){var a=this.bwrap.dom.firstChild;b+=(Ext.fly(a).getFrameWidth("l")+Ext.fly(a.firstChild).getFrameWidth("r"));var c=this.bwrap.dom.firstChild.firstChild.firstChild;b+=Ext.fly(c).getFrameWidth("lr")}return b},getFrameHeight:function(){var a=this.el.getFrameWidth("tb");a+=(this.tbar?this.tbar.getHeight():0)+(this.bbar?this.bbar.getHeight():0);if(this.frame){var c=this.el.dom.firstChild;var d=this.bwrap.dom.lastChild;a+=(c.offsetHeight+d.offsetHeight);var b=this.bwrap.dom.firstChild.firstChild.firstChild;a+=Ext.fly(b).getFrameWidth("tb")}else{a+=(this.header?this.header.getHeight():0)+(this.footer?this.footer.getHeight():0)}return a},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(b,a){this.title=b;if(this.header&&this.headerAsText){this.header.child("span").update(b)}if(a){this.setIconClass(a)}this.fireEvent("titlechange",this,b);return this},getUpdater:function(){return this.body.getUpdater()},load:function(){var a=this.body.getUpdater();a.update.apply(a,arguments);return this},beforeDestroy:function(){if(this.header){this.header.removeAllListeners();if(this.headerAsText){Ext.Element.uncache(this.header.child("span"))}}Ext.Element.uncache(this.header,this.tbar,this.bbar,this.footer,this.body,this.bwrap);if(this.tools){for(var c in this.tools){Ext.destroy(this.tools[c])}}if(this.buttons){for(var a in this.buttons){Ext.destroy(this.buttons[a])}}Ext.destroy(this.topToolbar,this.bottomToolbar);Ext.Panel.superclass.beforeDestroy.call(this)},createClasses:function(){this.headerCls=this.baseCls+"-header";this.headerTextCls=this.baseCls+"-header-text";this.bwrapCls=this.baseCls+"-bwrap";this.tbarCls=this.baseCls+"-tbar";this.bodyCls=this.baseCls+"-body";this.bbarCls=this.baseCls+"-bbar";this.footerCls=this.baseCls+"-footer"},createGhost:function(a,e,b){var d=document.createElement("div");d.className="x-panel-ghost "+(a?a:"");if(this.header){d.appendChild(this.el.dom.firstChild.cloneNode(true))}Ext.fly(d.appendChild(document.createElement("ul"))).setHeight(this.bwrap.getHeight());d.style.width=this.el.dom.offsetWidth+"px";if(!b){this.container.dom.appendChild(d)}else{Ext.getDom(b).appendChild(d)}if(e!==false&&this.el.useShim!==false){var c=new Ext.Layer({shadow:false,useDisplay:true,constrain:false},d);c.show();return c}else{return new Ext.Element(d)}},doAutoLoad:function(){this.body.load(typeof this.autoLoad=="object"?this.autoLoad:{url:this.autoLoad})},getTool:function(a){return this.tools[a]}});Ext.reg("panel",Ext.Panel);Ext.Window=Ext.extend(Ext.Panel,{baseCls:"x-window",resizable:true,draggable:true,closable:true,constrain:false,constrainHeader:false,plain:false,minimizable:false,maximizable:false,minHeight:100,minWidth:200,expandOnShow:true,closeAction:"close",elements:"header,body",collapsible:false,initHidden:true,monitorResize:true,frame:true,floating:true,initComponent:function(){Ext.Window.superclass.initComponent.call(this);this.addEvents("resize","maximize","minimize","restore")},getState:function(){return Ext.apply(Ext.Window.superclass.getState.call(this)||{},this.getBox())},onRender:function(b,a){Ext.Window.superclass.onRender.call(this,b,a);if(this.plain){this.el.addClass("x-window-plain")}this.focusEl=this.el.createChild({tag:"a",href:"#",cls:"x-dlg-focus",tabIndex:"-1",html:"&#160;"});this.focusEl.swallowEvent("click",true);this.proxy=this.el.createProxy("x-window-proxy");this.proxy.enableDisplayMode("block");if(this.modal){this.mask=this.container.createChild({cls:"ext-el-mask"},this.el.dom);this.mask.enableDisplayMode("block");this.mask.hide();this.mask.on("click",this.focus,this)}},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||"all",pinned:true,resizeElement:this.resizerAction});this.resizer.window=this;this.resizer.on("beforeresize",this.beforeResize,this)}if(this.draggable){this.header.addClass("x-window-draggable")}this.initTools();this.el.on("mousedown",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 a=this.getKeyMap();a.on(27,this.onEsc,this);a.disable()}},initDraggable:function(){this.dd=new Ext.Window.DD(this)},onEsc:function(){this[this.closeAction]()},beforeDestroy:function(){this.hide();if(this.doAnchor){Ext.EventManager.removeResizeListener(this.doAnchor,this);Ext.EventManager.un(window,"scroll",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:"minimize",handler:this.minimize.createDelegate(this,[])})}if(this.maximizable){this.addTool({id:"maximize",handler:this.maximize.createDelegate(this,[])});this.addTool({id:"restore",handler:this.restore.createDelegate(this,[]),hidden:true});this.header.on("dblclick",this.toggleMaximize,this)}if(this.closable){this.addTool({id:"close",handler:this[this.closeAction].createDelegate(this,[])})}},resizerAction:function(){var a=this.proxy.getBox();this.proxy.hide();this.window.handleResize(a);return a},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&&this.resizer){this.resizer.syncHandleHeight();this.el.repaint()}},handleResize:function(b){var a=this.resizeBox;if(a.x!=b.x||a.y!=b.y){this.updateBox(b)}else{this.setSize(b)}this.focus();this.updateHandles();this.saveState();if(this.layout){this.doLayout()}this.fireEvent("resize",this,b.width,b.height)},focus:function(){var c=this.focusEl,a=this.defaultButton,b=typeof a;if(b!="undefined"){if(b=="number"){c=this.buttons[a]}else{if(b=="string"){c=Ext.getCmp(a)}else{c=a}}}c.focus.defer(10,c)},setAnimateTarget:function(a){a=Ext.get(a);this.animateTarget=a},beforeShow:function(){delete this.el.lastXY;delete this.el.lastLT;if(this.x===undefined||this.y===undefined){var a=this.el.getAlignToXY(this.container,"c-c");var b=this.el.translatePoints(a[0],a[1]);this.x=this.x===undefined?b.left:this.x;this.y=this.y===undefined?b.top:this.y}this.el.setLeftTop(this.x,this.y);if(this.expandOnShow){this.expand(false)}if(this.modal){Ext.getBody().addClass("x-body-masked");this.mask.setSize(Ext.lib.Dom.getViewWidth(true),Ext.lib.Dom.getViewHeight(true));this.mask.show()}},show:function(c,a,b){if(!this.rendered){this.render(Ext.getBody())}if(this.hidden===false){this.toFront();return}if(this.fireEvent("beforeshow",this)===false){return}if(a){this.on("show",a,b,{single:true})}this.hidden=false;if(c!==undefined){this.setAnimateTarget(c)}this.beforeShow();if(this.animateTarget){this.animShow()}else{this.afterShow()}},afterShow:function(){this.proxy.hide();this.el.setStyle("display","block");this.el.show();if(this.maximized){this.fitContainer()}if(Ext.isMac&&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("show",this)},animShow:function(){this.proxy.show();this.proxy.setBox(this.animateTarget.getBox());this.proxy.setOpacity(0);var a=this.getBox(false);a.callback=this.afterShow;a.scope=this;a.duration=0.25;a.easing="easeNone";a.opacity=0.5;a.block=true;this.el.setStyle("display","none");this.proxy.shift(a)},hide:function(c,a,b){if(this.activeGhost){this.hide.defer(100,this,[c,a,b]);return}if(this.hidden||this.fireEvent("beforehide",this)===false){return}if(a){this.on("hide",a,b,{single:true})}this.hidden=true;if(c!==undefined){this.setAnimateTarget(c)}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("x-body-masked")}if(this.keyMap){this.keyMap.disable()}this.fireEvent("hide",this)},animHide:function(){this.proxy.setOpacity(0.5);this.proxy.show();var c=this.getBox(false);this.proxy.setBox(c);this.el.hide();var a=this.animateTarget.getBox();a.callback=this.afterHide;a.scope=this;a.duration=0.25;a.easing="easeNone";a.block=true;a.opacity=0;this.proxy.shift(a)},onWindowResize:function(){if(this.maximized){this.fitContainer()}if(this.modal){this.mask.setSize("100%","100%");var a=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 b;if(this.constrain){b={right:this.el.shadowOffset,left:this.el.shadowOffset,bottom:this.el.shadowOffset}}else{var a=this.getSize();b={right:-(a.width-100),bottom:-(a.height-25)}}var c=this.el.getConstrainToXY(this.container,true,b);if(c){this.setPosition(c[0],c[1])}}},ghost:function(a){var c=this.createGhost(a);var b=this.getBox(true);c.setLeftTop(b.x,b.y);c.setWidth(b.width);this.el.hide();this.activeGhost=c;return c},unghost:function(b,a){if(b!==false){this.el.show();this.focus();if(Ext.isMac&&Ext.isGecko){this.cascade(this.setAutoScroll)}}if(a!==false){this.setPosition(this.activeGhost.getLeft(true),this.activeGhost.getTop(true))}this.activeGhost.hide();this.activeGhost.remove();delete this.activeGhost},minimize:function(){this.fireEvent("minimize",this)},close:function(){if(this.fireEvent("beforeclose",this)!==false){this.hide(null,function(){this.fireEvent("close",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("x-window-maximized");this.container.addClass("x-window-maximized-ct");this.setPosition(0,0);this.fitContainer();this.fireEvent("maximize",this)}},restore:function(){if(this.maximized){this.el.removeClass("x-window-maximized");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("x-window-maximized-ct");this.doConstrain();this.fireEvent("restore",this)}},toggleMaximize:function(){this[this.maximized?"restore":"maximize"]()},fitContainer:function(){var a=this.container.getViewSize();this.setSize(a.width,a.height)},setZIndex:function(a){if(this.modal){this.mask.setStyle("z-index",a)}this.el.setZIndex(++a);a+=5;if(this.resizer){this.resizer.proxy.setStyle("z-index",++a)}this.lastZIndex=a},alignTo:function(b,a,c){var d=this.el.getAlignToXY(b,a,c);this.setPagePosition(d[0],d[1]);return this},anchorTo:function(c,e,d,b){if(this.doAnchor){Ext.EventManager.removeResizeListener(this.doAnchor,this);Ext.EventManager.un(window,"scroll",this.doAnchor,this)}this.doAnchor=function(){this.alignTo(c,e,d)};Ext.EventManager.onWindowResize(this.doAnchor,this);var a=typeof b;if(a!="undefined"){Ext.EventManager.on(window,"scroll",this.doAnchor,this,{buffer:a=="number"?b:50})}this.doAnchor();return this},toFront:function(a){if(this.manager.bringToFront(this)){if(!a||!a.getTarget().focus){this.focus()}}return this},setActive:function(a){if(a){if(!this.maximized){this.el.enableShadow(true)}this.fireEvent("activate",this)}else{this.el.disableShadow();this.fireEvent("deactivate",this)}},toBack:function(){this.manager.sendToBack(this);return this},center:function(){var a=this.el.getAlignToXY(this.container,"c-c");this.setPagePosition(a[0],a[1]);return this}});Ext.reg("window",Ext.Window);Ext.Window.DD=function(a){this.win=a;Ext.Window.DD.superclass.constructor.call(this,a.el.id,"WindowDD-"+a.id);this.setHandleElId(a.header.id);this.scroll=false};Ext.extend(Ext.Window.DD,Ext.dd.DD,{moveOnly:true,headerOffsets:[100,25],startDrag:function(){var a=this.win;this.proxy=a.ghost();if(a.constrain!==false){var c=a.el.shadowOffset;this.constrainTo(a.container,{right:c,left:c,bottom:c})}else{if(a.constrainHeader!==false){var b=this.proxy.getSize();this.constrainTo(a.container,{right:-(b.width-this.headerOffsets[0]),bottom:-(b.height-this.headerOffsets[1])})}}},b4Drag:Ext.emptyFn,onDrag:function(a){this.alignElWithMouse(this.proxy,a.getPageX(),a.getPageY())},endDrag:function(a){this.win.unghost();this.win.saveState()}});Ext.WindowGroup=function(){var g={};var d=[];var e=null;var c=function(k,i){return(!k._lastAccess||k._lastAccess<i._lastAccess)?-1:1};var h=function(){var m=d,k=m.length;if(k>0){m.sort(c);var l=m[0].manager.zseed;for(var n=0;n<k;n++){var o=m[n];if(o&&!o.hidden){o.setZIndex(l+(n*10))}}}a()};var b=function(i){if(i!=e){if(e){e.setActive(false)}e=i;if(i){i.setActive(true)}}};var a=function(){for(var k=d.length-1;k>=0;--k){if(!d[k].hidden){b(d[k]);return}}b(null)};return{zseed:9000,register:function(i){g[i.id]=i;d.push(i);i.on("hide",a)},unregister:function(i){delete g[i.id];i.un("hide",a);d.remove(i)},get:function(i){return typeof i=="object"?i:g[i]},bringToFront:function(i){i=this.get(i);if(i!=e){i._lastAccess=new Date().getTime();h();return true}return false},sendToBack:function(i){i=this.get(i);i._lastAccess=-(new Date().getTime());h();return i},hideAll:function(){for(var i in g){if(g[i]&&typeof g[i]!="function"&&g[i].isVisible()){g[i].hide()}}},getActive:function(){return e},getBy:function(m,l){var n=[];for(var k=d.length-1;k>=0;--k){var o=d[k];if(m.call(l||o,o)!==false){n.push(o)}}return n},each:function(k,i){for(var l in g){if(g[l]&&typeof g[l]!="function"){if(k.call(i||g[l],g[l])===false){return}}}}}};Ext.WindowMgr=new Ext.WindowGroup();Ext.dd.PanelProxy=function(a,b){this.panel=a;this.id=this.panel.id+"-ddproxy";Ext.apply(this,b)};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="";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:"x-panel-dd-spacer"});this.proxy.setSize(this.panel.getSize())}this.panel.el.dom.style.display="none"}},repair:function(b,c,a){this.hide();if(typeof c=="function"){c.call(a||this)}},moveProxy:function(a,b){if(this.proxy){a.insertBefore(this.proxy.dom,b)}}};Ext.Panel.DD=function(b,a){this.panel=b;this.dragData={panel:b};this.proxy=new Ext.dd.PanelProxy(b,a);Ext.Panel.DD.superclass.constructor.call(this,b.el,a);var c=b.header;if(c){this.setHandleElId(c.id)}(c?c:this.panel.body).setStyle("cursor","move");this.scroll=false};Ext.extend(Ext.Panel.DD,Ext.dd.DragSource,{showFrame:Ext.emptyFn,startDrag:Ext.emptyFn,b4StartDrag:function(a,b){this.proxy.show()},b4MouseDown:function(b){var a=b.getPageX();var c=b.getPageY();this.autoOffset(a,c)},onInitDrag:function(a,b){this.onStartDrag(a,b);return true},createFrame:Ext.emptyFn,getDragEl:function(a){return this.proxy.ghost.dom},endDrag:function(a){this.proxy.hide();this.panel.saveState()},autoOffset:function(a,b){a-=this.startPageX;b-=this.startPageY;this.setDelta(a,b)}});Ext.state.Provider=function(){this.addEvents("statechange");this.state={};Ext.state.Provider.superclass.constructor.call(this)};Ext.extend(Ext.state.Provider,Ext.util.Observable,{get:function(b,a){return typeof this.state[b]=="undefined"?a:this.state[b]},clear:function(a){delete this.state[a];this.fireEvent("statechange",this,a,null)},set:function(a,b){this.state[a]=b;this.fireEvent("statechange",this,a,b)},decodeValue:function(a){var m=/^(a|n|d|b|s|o)\:(.*)$/;var c=m.exec(unescape(a));if(!c||!c[1]){return}var g=c[1];var k=c[2];switch(g){case"n":return parseFloat(k);case"d":return new Date(Date.parse(k));case"b":return(k=="1");case"a":var h=[];var l=k.split("^");for(var b=0,d=l.length;b<d;b++){h.push(this.decodeValue(l[b]))}return h;case"o":var h={};var l=k.split("^");for(var b=0,d=l.length;b<d;b++){var e=l[b].split("=");h[e[0]]=this.decodeValue(e[1])}return h;default:return k}},encodeValue:function(c){var b;if(typeof c=="number"){b="n:"+c}else{if(typeof c=="boolean"){b="b:"+(c?"1":"0")}else{if(Ext.isDate(c)){b="d:"+c.toGMTString()}else{if(Ext.isArray(c)){var g="";for(var e=0,a=c.length;e<a;e++){g+=this.encodeValue(c[e]);if(e!=a-1){g+="^"}}b="a:"+g}else{if(typeof c=="object"){var g="";for(var d in c){if(typeof c[d]!="function"&&c[d]!==undefined){g+=d+"="+this.encodeValue(c[d])+"^"}}b="o:"+g.substring(0,g.length-1)}else{b="s:"+c}}}}}return escape(b)}});Ext.state.Manager=function(){var a=new Ext.state.Provider();return{setProvider:function(b){a=b},get:function(c,b){return a.get(c,b)},set:function(b,c){a.set(b,c)},clear:function(b){a.clear(b)},getProvider:function(){return a}}}();Ext.state.CookieProvider=function(a){Ext.state.CookieProvider.superclass.constructor.call(this);this.path="/";this.expires=new Date(new Date().getTime()+(1000*60*60*24*7));this.domain=null;this.secure=false;Ext.apply(this,a);this.state=this.readCookies()};Ext.extend(Ext.state.CookieProvider,Ext.state.Provider,{set:function(a,b){if(typeof b=="undefined"||b===null){this.clear(a);return}this.setCookie(a,b);Ext.state.CookieProvider.superclass.set.call(this,a,b)},clear:function(a){this.clearCookie(a);Ext.state.CookieProvider.superclass.clear.call(this,a)},readCookies:function(){var d={};var h=document.cookie+";";var b=/\s?(.*?)=(.*?);/g;var g;while((g=b.exec(h))!=null){var a=g[1];var e=g[2];if(a&&a.substring(0,3)=="ys-"){d[a.substr(3)]=this.decodeValue(e)}}return d},setCookie:function(a,b){document.cookie="ys-"+a+"="+this.encodeValue(b)+((this.expires==null)?"":("; expires="+this.expires.toGMTString()))+((this.path==null)?"":("; path="+this.path))+((this.domain==null)?"":("; domain="+this.domain))+((this.secure==true)?"; secure":"")},clearCookie:function(a){document.cookie="ys-"+a+"=null; expires=Thu, 01-Jan-70 00:00:01 GMT"+((this.path==null)?"":("; path="+this.path))+((this.domain==null)?"":("; domain="+this.domain))+((this.secure==true)?"; secure":"")}});Ext.DataView=Ext.extend(Ext.BoxComponent,{selectedClass:"x-view-selected",emptyText:"",deferEmptyText:true,trackOver:false,last:false,initComponent:function(){Ext.DataView.superclass.initComponent.call(this);if(typeof this.tpl=="string"){this.tpl=new Ext.XTemplate(this.tpl)}this.addEvents("beforeclick","click","mouseenter","mouseleave","containerclick","dblclick","contextmenu","selectionchange","beforeselect");this.all=new Ext.CompositeElementLite();this.selected=new Ext.CompositeElementLite()},onRender:function(){if(!this.el){this.el=document.createElement("div");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("");var a=this.store.getRange();if(a.length<1){if(!this.deferEmptyText||this.hasSkippedEmptyText){this.el.update(this.emptyText)}this.hasSkippedEmptyText=true;this.all.clear();return}this.tpl.overwrite(this.el,this.collectData(a,0));this.all.fill(Ext.query(this.itemSelector,this.el.dom));this.updateIndexes(0)},prepareData:function(a){return a},collectData:function(b,e){var d=[];for(var c=0,a=b.length;c<a;c++){d[d.length]=this.prepareData(b[c].data,e+c,b[c])}return d},bufferRender:function(a){var b=document.createElement("div");this.tpl.overwrite(b,this.collectData(a));return Ext.query(this.itemSelector,b)},onUpdate:function(g,a){var b=this.store.indexOf(a);var e=this.isSelected(b);var c=this.all.elements[b];var d=this.bufferRender([a],b)[0];this.all.replaceElement(b,d,true);if(e){this.selected.replaceElement(c,d);this.all.item(b).addClass(this.selectedClass)}this.updateIndexes(b,b)},onAdd:function(g,d,e){if(this.all.getCount()==0){this.refresh();return}var c=this.bufferRender(d,e),h,b=this.all.elements;if(e<this.all.getCount()){h=this.all.item(e).insertSibling(c,"before",true);b.splice.apply(b,[e,0].concat(c))}else{h=this.all.last().insertSibling(c,"after",true);b.push.apply(b,c)}this.updateIndexes(e)},onRemove:function(c,a,b){this.deselect(b);this.all.removeElement(b,true);this.updateIndexes(b)},refreshNode:function(a){this.onUpdate(this.store,this.store.getAt(a))},updateIndexes:function(d,c){var b=this.all.elements;d=d||0;c=c||((c===0)?0:(b.length-1));for(var a=d;a<=c;a++){b[a].viewIndex=a}},getStore:function(){return this.store},setStore:function(a,b){if(!b&&this.store){this.store.un("beforeload",this.onBeforeLoad,this);this.store.un("datachanged",this.refresh,this);this.store.un("add",this.onAdd,this);this.store.un("remove",this.onRemove,this);this.store.un("update",this.onUpdate,this);this.store.un("clear",this.refresh,this)}if(a){a=Ext.StoreMgr.lookup(a);a.on("beforeload",this.onBeforeLoad,this);a.on("datachanged",this.refresh,this);a.on("add",this.onAdd,this);a.on("remove",this.onRemove,this);a.on("update",this.onUpdate,this);a.on("clear",this.refresh,this)}this.store=a;if(a){this.refresh()}},findItemFromChild:function(a){return Ext.fly(a).findParent(this.itemSelector,this.el)},onClick:function(c){var b=c.getTarget(this.itemSelector,this.el);if(b){var a=this.indexOf(b);if(this.onItemClick(b,a,c)!==false){this.fireEvent("click",this,a,b,c)}}else{if(this.fireEvent("containerclick",this,c)!==false){this.clearSelections()}}},onContextMenu:function(b){var a=b.getTarget(this.itemSelector,this.el);if(a){this.fireEvent("contextmenu",this,this.indexOf(a),a,b)}},onDblClick:function(b){var a=b.getTarget(this.itemSelector,this.el);if(a){this.fireEvent("dblclick",this,this.indexOf(a),a,b)}},onMouseOver:function(b){var a=b.getTarget(this.itemSelector,this.el);if(a&&a!==this.lastItem){this.lastItem=a;Ext.fly(a).addClass(this.overClass);this.fireEvent("mouseenter",this,this.indexOf(a),a,b)}},onMouseOut:function(a){if(this.lastItem){if(!a.within(this.lastItem,true,true)){Ext.fly(this.lastItem).removeClass(this.overClass);this.fireEvent("mouseleave",this,this.indexOf(this.lastItem),this.lastItem,a);delete this.lastItem}}},onItemClick:function(b,a,c){if(this.fireEvent("beforeclick",this,a,b,c)===false){return false}if(this.multiSelect){this.doMultiSelection(b,a,c);c.preventDefault()}else{if(this.singleSelect){this.doSingleSelection(b,a,c);c.preventDefault()}}return true},doSingleSelection:function(b,a,c){if(c.ctrlKey&&this.isSelected(a)){this.deselect(a)}else{this.select(a,false)}},doMultiSelection:function(c,a,d){if(d.shiftKey&&this.last!==false){var b=this.last;this.selectRange(b,a,d.ctrlKey);this.last=b}else{if((d.ctrlKey||this.simpleSelect)&&this.isSelected(a)){this.deselect(a)}else{this.select(a,d.ctrlKey||d.shiftKey||this.simpleSelect)}}},getSelectionCount:function(){return this.selected.getCount()},getSelectedNodes:function(){return this.selected.elements},getSelectedIndexes:function(){var b=[],d=this.selected.elements;for(var c=0,a=d.length;c<a;c++){b.push(d[c].viewIndex)}return b},getSelectedRecords:function(){var d=[],c=this.selected.elements;for(var b=0,a=c.length;b<a;b++){d[d.length]=this.store.getAt(c[b].viewIndex)}return d},getRecords:function(b){var e=[],d=b;for(var c=0,a=d.length;c<a;c++){e[e.length]=this.store.getAt(d[c].viewIndex)}return e},getRecord:function(a){return this.store.getAt(a.viewIndex)},clearSelections:function(a,b){if((this.multiSelect||this.singleSelect)&&this.selected.getCount()>0){if(!b){this.selected.removeClass(this.selectedClass)}this.selected.clear();this.last=false;if(!a){this.fireEvent("selectionchange",this,this.selected.elements)}}},isSelected:function(a){return this.selected.contains(this.getNode(a))},deselect:function(a){if(this.isSelected(a)){a=this.getNode(a);this.selected.removeElement(a);if(this.last==a.viewIndex){this.last=false}Ext.fly(a).removeClass(this.selectedClass);this.fireEvent("selectionchange",this,this.selected.elements)}},select:function(d,g,b){if(Ext.isArray(d)){if(!g){this.clearSelections(true)}for(var c=0,a=d.length;c<a;c++){this.select(d[c],true,true)}if(!b){this.fireEvent("selectionchange",this,this.selected.elements)}}else{var e=this.getNode(d);if(!g){this.clearSelections(true)}if(e&&!this.isSelected(e)){if(this.fireEvent("beforeselect",this,e,this.selected.elements)!==false){Ext.fly(e).addClass(this.selectedClass);this.selected.add(e);this.last=e.viewIndex;if(!b){this.fireEvent("selectionchange",this,this.selected.elements)}}}}},selectRange:function(c,a,b){if(!b){this.clearSelections(true)}this.select(this.getNodes(c,a),true)},getNode:function(a){if(typeof a=="string"){return document.getElementById(a)}else{if(typeof a=="number"){return this.all.elements[a]}}return a},getNodes:function(e,a){var d=this.all.elements;e=e||0;a=typeof a=="undefined"?Math.max(d.length-1,0):a;var b=[],c;if(e<=a){for(c=e;c<=a&&d[c];c++){b.push(d[c])}}else{for(c=e;c>=a&&d[c];c--){b.push(d[c])}}return b},indexOf:function(a){a=this.getNode(a);if(typeof a.viewIndex=="number"){return a.viewIndex}return this.all.indexOf(a)},onBeforeLoad:function(){if(this.loadingText){this.clearSelections(false,true);this.el.update('<div class="loading-indicator">'+this.loadingText+"</div>");this.all.clear()}},onDestroy:function(){Ext.DataView.superclass.onDestroy.call(this);this.setStore(null)}});Ext.reg("dataview",Ext.DataView);Ext.ColorPalette=function(a){Ext.ColorPalette.superclass.constructor.call(this,a);this.addEvents("select");if(this.handler){this.on("select",this.handler,this.scope,true)}};Ext.extend(Ext.ColorPalette,Ext.Component,{itemCls:"x-color-palette",value:null,clickEvent:"click",ctype:"Ext.ColorPalette",allowReselect:false,colors:["000000","993300","333300","003300","003366","000080","333399","333333","800000","FF6600","808000","008000","008080","0000FF","666699","808080","FF0000","FF9900","99CC00","339966","33CCCC","3366FF","800080","969696","FF00FF","FFCC00","FFFF00","00FF00","00FFFF","00CCFF","993366","C0C0C0","FF99CC","FFCC99","FFFF99","CCFFCC","CCFFFF","99CCFF","CC99FF","FFFFFF"],onRender:function(b,a){var c=this.tpl||new Ext.XTemplate('<tpl for="."><a href="#" class="color-{.}" hidefocus="on"><em><span style="background:#{.}" unselectable="on">&#160;</span></em></a></tpl>');var d=document.createElement("div");d.id=this.getId();d.className=this.itemCls;c.overwrite(d,this.colors);b.dom.insertBefore(d,a);this.el=Ext.get(d);this.el.on(this.clickEvent,this.handleClick,this,{delegate:"a"});if(this.clickEvent!="click"){this.el.on("click",Ext.emptyFn,this,{delegate:"a",preventDefault:true})}},afterRender:function(){Ext.ColorPalette.superclass.afterRender.call(this);if(this.value){var a=this.value;this.value=null;this.select(a)}},handleClick:function(b,a){b.preventDefault();if(!this.disabled){var d=a.className.match(/(?:^|\s)color-(.{6})(?:\s|$)/)[1];this.select(d.toUpperCase())}},select:function(a){a=a.replace("#","");if(a!=this.value||this.allowReselect){var b=this.el;if(this.value){b.child("a.color-"+this.value).removeClass("x-color-palette-sel")}b.child("a.color-"+a).addClass("x-color-palette-sel");this.value=a;this.fireEvent("select",this,a)}}});Ext.reg("colorpalette",Ext.ColorPalette);Ext.DatePicker=Ext.extend(Ext.Component,{todayText:"Today",okText:"&#160;OK&#160;",cancelText:"Cancel",todayTip:"{0} (Spacebar)",minText:"This date is before the minimum date",maxText:"This date is after the maximum date",format:"m/d/y",disabledDaysText:"Disabled",disabledDatesText:"Disabled",constrainToViewport:true,monthNames:Date.monthNames,dayNames:Date.dayNames,nextText:"Next Month (Control+Right)",prevText:"Previous Month (Control+Left)",monthYearText:"Choose a month (Control+Up/Down to move years)",startDay:0,showToday:true,initComponent:function(){Ext.DatePicker.superclass.initComponent.call(this);this.value=this.value?this.value.clearTime():new Date().clearTime();this.addEvents("select");if(this.handler){this.on("select",this.handler,this.scope||this)}this.initDisabledDays()},initDisabledDays:function(){if(!this.disabledDatesRE&&this.disabledDates){var a=this.disabledDates;var c="(?:";for(var b=0;b<a.length;b++){c+=a[b];if(b!=a.length-1){c+="|"}}this.disabledDatesRE=new RegExp(c+")")}},setDisabledDates:function(a){if(Ext.isArray(a)){this.disabledDates=a;this.disabledDatesRE=null}else{this.disabledDatesRE=a}this.initDisabledDays();this.update(this.value,true)},setDisabledDays:function(a){this.disabledDays=a;this.update(this.value,true)},setMinDate:function(a){this.minDate=a;this.update(this.value,true)},setMaxDate:function(a){this.maxDate=a;this.update(this.value,true)},setValue:function(b){var a=this.value;this.value=b.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,h){var c=['<table cellspacing="0">','<tr><td class="x-date-left"><a href="#" title="',this.prevText,'">&#160;</a></td><td class="x-date-middle" align="center"></td><td class="x-date-right"><a href="#" title="',this.nextText,'">&#160;</a></td></tr>','<tr><td colspan="3"><table class="x-date-inner" cellspacing="0"><thead><tr>'];var g=this.dayNames;for(var e=0;e<7;e++){var k=this.startDay+e;if(k>6){k=k-7}c.push("<th><span>",g[k].substr(0,1),"</span></th>")}c[c.length]="</tr></thead><tbody><tr>";for(var e=0;e<42;e++){if(e%7==0&&e!=0){c[c.length]="</tr><tr>"}c[c.length]='<td><a href="#" hidefocus="on" class="x-date-date" tabIndex="1"><em><span></span></em></a></td>'}c.push("</tr></tbody></table></td></tr>",this.showToday?'<tr><td colspan="3" class="x-date-bottom" align="center"></td></tr>':"",'</table><div class="x-date-mp"></div>');var b=document.createElement("div");b.className="x-date-picker";b.innerHTML=c.join("");a.dom.insertBefore(b,h);this.el=Ext.get(b);this.eventEl=Ext.get(b.firstChild);this.leftClickRpt=new Ext.util.ClickRepeater(this.el.child("td.x-date-left a"),{handler:this.showPrevMonth,scope:this,preventDefault:true,stopDefault:true});this.rightClickRpt=new Ext.util.ClickRepeater(this.el.child("td.x-date-right a"),{handler:this.showNextMonth,scope:this,preventDefault:true,stopDefault:true});this.eventEl.on("mousewheel",this.handleMouseWheel,this);this.monthPicker=this.el.down("div.x-date-mp");this.monthPicker.enableDisplayMode("block");var n=new Ext.KeyNav(this.eventEl,{left:function(d){d.ctrlKey?this.showPrevMonth():this.update(this.activeDate.add("d",-1))},right:function(d){d.ctrlKey?this.showNextMonth():this.update(this.activeDate.add("d",1))},up:function(d){d.ctrlKey?this.showNextYear():this.update(this.activeDate.add("d",-7))},down:function(d){d.ctrlKey?this.showPrevYear():this.update(this.activeDate.add("d",7))},pageUp:function(d){this.showNextMonth()},pageDown:function(d){this.showPrevMonth()},enter:function(d){d.stopPropagation();return true},scope:this});this.eventEl.on("click",this.handleDateClick,this,{delegate:"a.x-date-date"});this.el.unselectable();this.cells=this.el.select("table.x-date-inner tbody td");this.textNodes=this.el.query("table.x-date-inner tbody span");this.mbtn=new Ext.Button({text:"&#160;",tooltip:this.monthYearText,renderTo:this.el.child("td.x-date-middle",true)});this.mbtn.on("click",this.showMonthPicker,this);this.mbtn.el.child(this.mbtn.menuClassTarget).addClass("x-btn-with-menu");if(this.showToday){this.todayKeyListener=this.eventEl.addKeyListener(Ext.EventObject.SPACE,this.selectToday,this);var l=(new Date()).dateFormat(this.format);this.todayBtn=new Ext.Button({renderTo:this.el.child("td.x-date-bottom",true),text:String.format(this.todayText,l),tooltip:String.format(this.todayTip,l),handler:this.selectToday,scope:this})}if(Ext.isIE){this.el.repaint()}this.update(this.value)},createMonthPicker:function(){if(!this.monthPicker.dom.firstChild){var a=['<table border="0" cellspacing="0">'];for(var b=0;b<6;b++){a.push('<tr><td class="x-date-mp-month"><a href="#">',this.monthNames[b].substr(0,3),"</a></td>",'<td class="x-date-mp-month x-date-mp-sep"><a href="#">',this.monthNames[b+6].substr(0,3),"</a></td>",b==0?'<td class="x-date-mp-ybtn" align="center"><a class="x-date-mp-prev"></a></td><td class="x-date-mp-ybtn" align="center"><a class="x-date-mp-next"></a></td></tr>':'<td class="x-date-mp-year"><a href="#"></a></td><td class="x-date-mp-year"><a href="#"></a></td></tr>')}a.push('<tr class="x-date-mp-btns"><td colspan="4"><button type="button" class="x-date-mp-ok">',this.okText,'</button><button type="button" class="x-date-mp-cancel">',this.cancelText,"</button></td></tr>","</table>");this.monthPicker.update(a.join(""));this.monthPicker.on("click",this.onMonthClick,this);this.monthPicker.on("dblclick",this.onMonthDblClick,this);this.mpMonths=this.monthPicker.select("td.x-date-mp-month");this.mpYears=this.monthPicker.select("td.x-date-mp-year");this.mpMonths.each(function(c,d,e){e+=1;if((e%2)==0){c.dom.xmonth=5+Math.round(e*0.5)}else{c.dom.xmonth=Math.round((e-1)*0.5)}})}},showMonthPicker:function(){this.createMonthPicker();var a=this.el.getSize();this.monthPicker.setSize(a);this.monthPicker.child("table").setSize(a);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("t",{duration:0.2})},updateMPYear:function(e){this.mpyear=e;var c=this.mpYears.elements;for(var b=1;b<=10;b++){var d=c[b-1],a;if((b%2)==0){a=e+Math.round(b*0.5);d.firstChild.innerHTML=a;d.xyear=a}else{a=e-(5-Math.round(b*0.5));d.firstChild.innerHTML=a;d.xyear=a}this.mpYears.item(b-1)[a==this.mpSelYear?"addClass":"removeClass"]("x-date-mp-sel")}},updateMPMonth:function(a){this.mpMonths.each(function(b,c,d){b[b.dom.xmonth==a?"addClass":"removeClass"]("x-date-mp-sel")})},selectMPMonth:function(a){},onMonthClick:function(g,b){g.stopEvent();var c=new Ext.Element(b),a;if(c.is("button.x-date-mp-cancel")){this.hideMonthPicker()}else{if(c.is("button.x-date-mp-ok")){var h=new Date(this.mpSelYear,this.mpSelMonth,(this.activeDate||this.value).getDate());if(h.getMonth()!=this.mpSelMonth){h=new Date(this.mpSelYear,this.mpSelMonth,1).getLastDateOfMonth()}this.update(h);this.hideMonthPicker()}else{if(a=c.up("td.x-date-mp-month",2)){this.mpMonths.removeClass("x-date-mp-sel");a.addClass("x-date-mp-sel");this.mpSelMonth=a.dom.xmonth}else{if(a=c.up("td.x-date-mp-year",2)){this.mpYears.removeClass("x-date-mp-sel");a.addClass("x-date-mp-sel");this.mpSelYear=a.dom.xyear}else{if(c.is("a.x-date-mp-prev")){this.updateMPYear(this.mpyear-10)}else{if(c.is("a.x-date-mp-next")){this.updateMPYear(this.mpyear+10)}}}}}}},onMonthDblClick:function(d,b){d.stopEvent();var c=new Ext.Element(b),a;if(a=c.up("td.x-date-mp-month",2)){this.update(new Date(this.mpSelYear,a.dom.xmonth,(this.activeDate||this.value).getDate()));this.hideMonthPicker()}else{if(a=c.up("td.x-date-mp-year",2)){this.update(new Date(a.dom.xyear,this.mpSelMonth,(this.activeDate||this.value).getDate()));this.hideMonthPicker()}}},hideMonthPicker:function(a){if(this.monthPicker){if(a===true){this.monthPicker.hide()}else{this.monthPicker.slideOut("t",{duration:0.2})}}},showPrevMonth:function(a){this.update(this.activeDate.add("mo",-1))},showNextMonth:function(a){this.update(this.activeDate.add("mo",1))},showPrevYear:function(){this.update(this.activeDate.add("y",-1))},showNextYear:function(){this.update(this.activeDate.add("y",1))},handleMouseWheel:function(a){var b=a.getWheelDelta();if(b>0){this.showPrevMonth();a.stopEvent()}else{if(b<0){this.showNextMonth();a.stopEvent()}}},handleDateClick:function(b,a){b.stopEvent();if(a.dateValue&&!Ext.fly(a.parentNode).hasClass("x-date-disabled")){this.setValue(new Date(a.dateValue));this.fireEvent("select",this,this.value)}},selectToday:function(){if(this.todayBtn&&!this.todayBtn.disabled){this.setValue(new Date().clearTime());this.fireEvent("select",this,this.value)}},update:function(H,B){var a=this.activeDate;this.activeDate=H;if(!B&&a&&this.el){var p=H.getTime();if(a.getMonth()==H.getMonth()&&a.getFullYear()==H.getFullYear()){this.cells.removeClass("x-date-selected");this.cells.each(function(d){if(d.dom.firstChild.dateValue==p){d.addClass("x-date-selected");setTimeout(function(){try{d.dom.firstChild.focus()}catch(i){}},50);return false}});return}}var l=H.getDaysInMonth();var q=H.getFirstDateOfMonth();var g=q.getDay()-this.startDay;if(g<=this.startDay){g+=7}var C=H.add("mo",-1);var h=C.getDaysInMonth()-g;var e=this.cells.elements;var r=this.textNodes;l+=g;var y=86400000;var E=(new Date(C.getFullYear(),C.getMonth(),h)).clearTime();var D=new Date().clearTime().getTime();var v=H.clearTime().getTime();var u=this.minDate?this.minDate.clearTime():Number.NEGATIVE_INFINITY;var z=this.maxDate?this.maxDate.clearTime():Number.POSITIVE_INFINITY;var G=this.disabledDatesRE;var s=this.disabledDatesText;var J=this.disabledDays?this.disabledDays.join(""):false;var F=this.disabledDaysText;var A=this.format;if(this.showToday){var n=new Date().clearTime();var c=(n<u||n>z||(G&&A&&G.test(n.dateFormat(A)))||(J&&J.indexOf(n.getDay())!=-1));this.todayBtn.setDisabled(c);this.todayKeyListener[c?"disable":"enable"]()}var m=function(K,d){d.title="";var i=E.getTime();d.firstChild.dateValue=i;if(i==D){d.className+=" x-date-today";d.title=K.todayText}if(i==v){d.className+=" x-date-selected";setTimeout(function(){try{d.firstChild.focus()}catch(t){}},50)}if(i<u){d.className=" x-date-disabled";d.title=K.minText;return}if(i>z){d.className=" x-date-disabled";d.title=K.maxText;return}if(J){if(J.indexOf(E.getDay())!=-1){d.title=F;d.className=" x-date-disabled"}}if(G&&A){var w=E.dateFormat(A);if(G.test(w)){d.title=s.replace("%0",w);d.className=" x-date-disabled"}}};var x=0;for(;x<g;x++){r[x].innerHTML=(++h);E.setDate(E.getDate()+1);e[x].className="x-date-prevday";m(this,e[x])}for(;x<l;x++){var b=x-g+1;r[x].innerHTML=(b);E.setDate(E.getDate()+1);e[x].className="x-date-active";m(this,e[x])}var I=0;for(;x<42;x++){r[x].innerHTML=(++I);E.setDate(E.getDate()+1);e[x].className="x-date-nextday";m(this,e[x])}this.mbtn.setText(this.monthNames[H.getMonth()]+" "+H.getFullYear());if(!this.internalRender){var k=this.el.dom.firstChild;var o=k.offsetWidth;this.el.setWidth(o+this.el.getBorderWidth("lr"));Ext.fly(k).setWidth(o);this.internalRender=true;if(Ext.isOpera&&!this.secondPass){k.rows[0].cells[1].style.width=(o-(k.rows[0].cells[0].offsetWidth+k.rows[0].cells[2].offsetWidth))+"px";this.secondPass=true;this.update.defer(10,this,[H])}}},beforeDestroy:function(){if(this.rendered){Ext.destroy(this.leftClickRpt,this.rightClickRpt,this.monthPicker,this.eventEl,this.mbtn,this.todayBtn)}}});Ext.reg("datepicker",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:"top",baseCls:"x-tab-panel",autoTabs:false,autoTabSelector:"div.x-tab",activeTab:null,tabMargin:2,plain:false,wheelIncrement:20,idDelimiter:"__",itemCls:"x-tab-item",elements:"body",headerAsText:false,frame:false,hideBorders:true,initComponent:function(){this.frame=false;Ext.TabPanel.superclass.initComponent.call(this);this.addEvents("beforetabchange","tabchange","contextmenu");this.setLayout(new Ext.layout.CardLayout({deferredRender:this.deferredRender}));if(this.tabPosition=="top"){this.elements+=",header";this.stripTarget="header"}else{this.elements+=",footer";this.stripTarget="footer"}if(!this.stack){this.stack=Ext.TabPanel.AccessStack()}this.initItems()},render:function(){Ext.TabPanel.superclass.render.apply(this,arguments);if(this.activeTab!==undefined){var a=this.activeTab;delete this.activeTab;this.setActiveTab(a)}},onRender:function(c,a){Ext.TabPanel.superclass.onRender.call(this,c,a);if(this.plain){var g=this.tabPosition=="top"?"header":"footer";this[g].addClass("x-tab-panel-"+g+"-plain")}var b=this[this.stripTarget];this.stripWrap=b.createChild({cls:"x-tab-strip-wrap",cn:{tag:"ul",cls:"x-tab-strip x-tab-strip-"+this.tabPosition}});var e=(this.tabPosition=="bottom"?this.stripWrap:null);this.stripSpacer=b.createChild({cls:"x-tab-strip-spacer"},e);this.strip=new Ext.Element(this.stripWrap.dom.firstChild);this.edge=this.strip.createChild({tag:"li",cls:"x-tab-edge"});this.strip.createChild({cls:"x-clear"});this.body.addClass("x-tab-panel-body-"+this.tabPosition);if(!this.itemTpl){var d=new Ext.Template('<li class="{cls}" id="{id}"><a class="x-tab-strip-close" onclick="return false;"></a>','<a class="x-tab-right" href="#" onclick="return false;"><em class="x-tab-left">','<span class="x-tab-strip-inner"><span class="x-tab-strip-text {iconCls}">{text}</span></span>',"</em></a></li>");d.disableFormats=true;d.compile();Ext.TabPanel.prototype.itemTpl=d}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("add",this.onAdd,this);this.on("remove",this.onRemove,this);this.strip.on("mousedown",this.onStripMouseDown,this);this.strip.on("contextmenu",this.onStripContextMenu,this);if(this.enableTabScroll){this.strip.on("mousewheel",this.onWheel,this)}},findTargets:function(c){var b=null;var a=c.getTarget("li",this.strip);if(a){b=this.getComponent(a.id.split(this.idDelimiter)[1]);if(b.disabled){return{close:null,item:null,el:null}}}return{close:c.getTarget(".x-tab-strip-close",this.strip),item:b,el:a}},onStripMouseDown:function(b){if(b.button!=0){return}b.preventDefault();var a=this.findTargets(b);if(a.close){this.remove(a.item);return}if(a.item&&a.item!=this.activeTab){this.setActiveTab(a.item)}},onStripContextMenu:function(b){b.preventDefault();var a=this.findTargets(b);if(a.item){this.fireEvent("contextmenu",this,a.item,b)}},readTabs:function(d){if(d===true){this.items.each(function(h){this.remove(h)},this)}var c=this.el.query(this.autoTabSelector);for(var b=0,a=c.length;b<a;b++){var e=c[b];var g=e.getAttribute("title");e.removeAttribute("title");this.add({title:g,el:e})}},initTab:function(d,b){var e=this.strip.dom.childNodes[b];var a=d.closable?"x-tab-strip-closable":"";if(d.disabled){a+=" x-item-disabled"}if(d.iconCls){a+=" x-tab-with-icon"}if(d.tabCls){a+=" "+d.tabCls}var g={id:this.id+this.idDelimiter+d.getItemId(),text:d.title,cls:a,iconCls:d.iconCls||""};var c=e?this.itemTpl.insertBefore(e,g):this.itemTpl.append(this.strip,g);Ext.fly(c).addClassOnOver("x-tab-strip-over");if(d.tabTip){Ext.fly(c).child("span.x-tab-strip-text",true).qtip=d.tabTip}d.tabEl=c;d.on("disable",this.onItemDisabled,this);d.on("enable",this.onItemEnabled,this);d.on("titlechange",this.onItemTitleChanged,this);d.on("iconchange",this.onItemIconChanged,this);d.on("beforeshow",this.onBeforeShowItem,this)},onAdd:function(c,b,a){this.initTab(b,a);if(this.items.getCount()==1){this.syncSize()}this.delegateUpdates()},onBeforeAdd:function(b){var a=b.events?(this.items.containsKey(b.getItemId())?b:null):this.items.get(b);if(a){this.setActiveTab(b);return false}Ext.TabPanel.superclass.onBeforeAdd.apply(this,arguments);var c=b.elements;b.elements=c?c.replace(",header",""):c;b.border=(b.border===true)},onRemove:function(c,b){Ext.destroy(Ext.get(this.getTabEl(b)));this.stack.remove(b);b.un("disable",this.onItemDisabled,this);b.un("enable",this.onItemEnabled,this);b.un("titlechange",this.onItemTitleChanged,this);b.un("iconchange",this.onItemIconChanged,this);b.un("beforeshow",this.onBeforeShowItem,this);if(b==this.activeTab){var a=this.stack.next();if(a){this.setActiveTab(a)}else{if(this.items.getCount()>0){this.setActiveTab(0)}else{this.activeTab=null}}}this.delegateUpdates()},onBeforeShowItem:function(a){if(a!=this.activeTab){this.setActiveTab(a);return false}},onItemDisabled:function(b){var a=this.getTabEl(b);if(a){Ext.fly(a).addClass("x-item-disabled")}this.stack.remove(b)},onItemEnabled:function(b){var a=this.getTabEl(b);if(a){Ext.fly(a).removeClass("x-item-disabled")}},onItemTitleChanged:function(b){var a=this.getTabEl(b);if(a){Ext.fly(a).child("span.x-tab-strip-text",true).innerHTML=b.title}},onItemIconChanged:function(d,a,c){var b=this.getTabEl(d);if(b){Ext.fly(b).child("span.x-tab-strip-text").replaceClass(c,a)}},getTabEl:function(a){var b=(typeof a==="number")?this.items.items[a].getItemId():a.getItemId();return document.getElementById(this.id+this.idDelimiter+b)},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(b){b=this.getComponent(b);var a=this.getTabEl(b);if(a){a.style.display="none";this.delegateUpdates()}this.stack.remove(b)},unhideTabStripItem:function(b){b=this.getComponent(b);var a=this.getTabEl(b);if(a){a.style.display="";this.delegateUpdates()}},delegateUpdates:function(){if(this.suspendUpdates){return}if(this.resizeTabs&&this.rendered){this.autoSizeTabs()}if(this.enableTabScroll&&this.rendered){this.autoScrollTabs()}},autoSizeTabs:function(){var h=this.items.length;var b=this.tabPosition!="bottom"?"header":"footer";var c=this[b].dom.offsetWidth;var a=this[b].dom.clientWidth;if(!this.resizeTabs||h<1||!a){return}var l=Math.max(Math.min(Math.floor((a-4)/h)-this.tabMargin,this.tabWidth),this.minTabWidth);this.lastTabWidth=l;var n=this.stripWrap.dom.getElementsByTagName("li");for(var e=0,k=n.length-1;e<k;e++){var m=n[e];var o=m.childNodes[1].firstChild.firstChild;var g=m.offsetWidth;var d=o.offsetWidth;o.style.width=(l-(g-d))+"px"}},adjustBodyWidth:function(a){if(this.header){this.header.setWidth(a)}if(this.footer){this.footer.setWidth(a)}return a},setActiveTab:function(c){c=this.getComponent(c);if(!c||this.fireEvent("beforetabchange",this,c,this.activeTab)===false){return}if(!this.rendered){this.activeTab=c;return}if(this.activeTab!=c){if(this.activeTab){var a=this.getTabEl(this.activeTab);if(a){Ext.fly(a).removeClass("x-tab-strip-active")}this.activeTab.fireEvent("deactivate",this.activeTab)}var b=this.getTabEl(c);Ext.fly(b).addClass("x-tab-strip-active");this.activeTab=c;this.stack.add(c);this.layout.setActiveItem(c);if(this.layoutOnTabChange&&c.doLayout){c.doLayout()}if(this.scrolling){this.scrollToTab(c,this.animScroll)}c.fireEvent("activate",c);this.fireEvent("tabchange",this,c)}},getActiveTab:function(){return this.activeTab||null},getItem:function(a){return this.getComponent(a)},autoScrollTabs:function(){this.pos=this.tabPosition=="bottom"?this.footer:this.header;var h=this.items.length;var d=this.pos.dom.offsetWidth;var c=this.pos.dom.clientWidth;var g=this.stripWrap;var e=g.dom;var b=e.offsetWidth;var i=this.getScrollPos();var a=this.edge.getOffsetsTo(this.stripWrap)[0]+i;if(!this.enableTabScroll||h<1||b<20){return}if(a<=c){e.scrollLeft=0;g.setWidth(c);if(this.scrolling){this.scrolling=false;this.pos.removeClass("x-tab-scrolling");this.scrollLeft.hide();this.scrollRight.hide();if(Ext.isAir||Ext.isSafari){e.style.marginLeft="";e.style.marginRight=""}}}else{if(!this.scrolling){this.pos.addClass("x-tab-scrolling");if(Ext.isAir||Ext.isSafari){e.style.marginLeft="18px";e.style.marginRight="18px"}}c-=g.getMargins("lr");g.setWidth(c>20?c:20);if(!this.scrolling){if(!this.scrollLeft){this.createScrollers()}else{this.scrollLeft.show();this.scrollRight.show()}}this.scrolling=true;if(i>(a-c)){e.scrollLeft=a-c}else{this.scrollToTab(this.activeTab,false)}this.updateScrollButtons()}},createScrollers:function(){this.pos.addClass("x-tab-scrolling-"+this.tabPosition);var c=this.stripWrap.dom.offsetHeight;var a=this.pos.insertFirst({cls:"x-tab-scroller-left"});a.setHeight(c);a.addClassOnOver("x-tab-scroller-left-over");this.leftRepeater=new Ext.util.ClickRepeater(a,{interval:this.scrollRepeatInterval,handler:this.onScrollLeft,scope:this});this.scrollLeft=a;var b=this.pos.insertFirst({cls:"x-tab-scroller-right"});b.setHeight(c);b.addClassOnOver("x-tab-scroller-right-over");this.rightRepeater=new Ext.util.ClickRepeater(b,{interval:this.scrollRepeatInterval,handler:this.onScrollRight,scope:this});this.scrollRight=b},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(e,a){if(!e){return}var c=this.getTabEl(e);var h=this.getScrollPos(),d=this.getScrollArea();var g=Ext.fly(c).getOffsetsTo(this.stripWrap)[0]+h;var b=g+c.offsetWidth;if(g<h){this.scrollTo(g,a)}else{if(b>(h+d)){this.scrollTo(b-d,a)}}},scrollTo:function(b,a){this.stripWrap.scrollTo("left",b,a?this.getScrollAnim():false);if(!a){this.updateScrollButtons()}},onWheel:function(g){var h=g.getWheelDelta()*this.wheelIncrement*-1;g.stopEvent();var i=this.getScrollPos();var c=i+h;var a=this.getScrollWidth()-this.getScrollArea();var b=Math.max(0,Math.min(a,c));if(b!=i){this.scrollTo(b,false)}},onScrollRight:function(){var a=this.getScrollWidth()-this.getScrollArea();var c=this.getScrollPos();var b=Math.min(a,c+this.getScrollIncrement());if(b!=c){this.scrollTo(b,this.animScroll)}},onScrollLeft:function(){var b=this.getScrollPos();var a=Math.max(0,b-this.getScrollIncrement());if(a!=b){this.scrollTo(a,this.animScroll)}},updateScrollButtons:function(){var a=this.getScrollPos();this.scrollLeft[a==0?"addClass":"removeClass"]("x-tab-scroller-left-disabled");this.scrollRight[a>=(this.getScrollWidth()-this.getScrollArea())?"addClass":"removeClass"]("x-tab-scroller-right-disabled")},beforeDestroy:function(){if(this.items){this.items.each(function(a){if(a&&a.tabEl){Ext.get(a.tabEl).removeAllListeners();a.tabEl=null}},this)}if(this.strip){this.strip.removeAllListeners()}Ext.TabPanel.superclass.beforeDestroy.apply(this)}});Ext.reg("tabpanel",Ext.TabPanel);Ext.TabPanel.prototype.activate=Ext.TabPanel.prototype.setActiveTab;Ext.TabPanel.AccessStack=function(){var a=[];return{add:function(b){a.push(b);if(a.length>10){a.shift()}},remove:function(e){var d=[];for(var c=0,b=a.length;c<b;c++){if(a[c]!=e){d.push(a[c])}}a=d},next:function(){return a.pop()}}};Ext.Button=Ext.extend(Ext.Component,{hidden:false,disabled:false,pressed:false,enableToggle:false,menuAlign:"tl-bl?",type:"button",menuClassTarget:"tr",clickEvent:"click",handleMouseEvents:true,tooltipType:"qtip",buttonSelector:"button:first-child",initComponent:function(){Ext.Button.superclass.initComponent.call(this);this.addEvents("click","toggle","mouseover","mouseout","menushow","menuhide","menutriggerover","menutriggerout");if(this.menu){this.menu=Ext.menu.MenuMgr.get(this.menu)}if(typeof this.toggleGroup==="string"){this.enableToggle=true}},onRender:function(c,a){if(!this.template){if(!Ext.Button.buttonTemplate){Ext.Button.buttonTemplate=new Ext.Template('<table border="0" cellpadding="0" cellspacing="0" class="x-btn-wrap"><tbody><tr>','<td class="x-btn-left"><i>&#160;</i></td><td class="x-btn-center"><em unselectable="on"><button class="x-btn-text" type="{1}">{0}</button></em></td><td class="x-btn-right"><i>&#160;</i></td>',"</tr></tbody></table>")}this.template=Ext.Button.buttonTemplate}var b,e=[this.text||"&#160;",this.type];if(a){b=this.template.insertBefore(a,e,true)}else{b=this.template.append(c,e,true)}var d=b.child(this.buttonSelector);d.on("focus",this.onFocus,this);d.on("blur",this.onBlur,this);this.initButtonEl(b,d);if(this.menu){this.el.child(this.menuClassTarget).addClass("x-btn-with-menu")}Ext.ButtonToggleMgr.register(this)},initButtonEl:function(b,c){this.el=b;b.addClass("x-btn");if(this.id){this.el.dom.id=this.el.id=this.id}if(this.icon){c.setStyle("background-image","url("+this.icon+")")}if(this.iconCls){c.addClass(this.iconCls);if(!this.cls){b.addClass(this.text?"x-btn-text-icon":"x-btn-icon")}}if(this.tabIndex!==undefined){c.dom.tabIndex=this.tabIndex}if(this.tooltip){if(typeof this.tooltip=="object"){Ext.QuickTips.register(Ext.apply({target:c.id},this.tooltip))}else{c.dom[this.tooltipType]=this.tooltip}}if(this.pressed){this.el.addClass("x-btn-pressed")}if(this.handleMouseEvents){b.on("mouseover",this.onMouseOver,this);b.on("mousedown",this.onMouseDown,this)}if(this.menu){this.menu.on("show",this.onMenuShow,this);this.menu.on("hide",this.onMenuHide,this)}if(this.repeat){var a=new Ext.util.ClickRepeater(b,typeof this.repeat=="object"?this.repeat:{});a.on("click",this.onClick,this)}b.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(a){if(this.el){this.el.child(this.buttonSelector).replaceClass(this.iconCls,a)}this.iconCls=a},beforeDestroy:function(){if(this.rendered){var a=this.el.child(this.buttonSelector);if(a){if(this.tooltip){Ext.QuickTips.unregister(a)}a.removeAllListeners()}}if(this.menu){Ext.destroy(this.menu)}},onDestroy:function(){if(this.rendered){Ext.ButtonToggleMgr.unregister(this)}},autoWidth:function(){if(this.el){this.el.setWidth("auto");if(Ext.isIE7&&Ext.isStrict){var a=this.el.child(this.buttonSelector);if(a&&a.getWidth()>20){a.clip();a.setWidth(Ext.util.TextMetrics.measure(a,this.text).width+a.getFrameWidth("lr"))}}if(this.minWidth){if(this.el.getWidth()<this.minWidth){this.el.setWidth(this.minWidth)}}}},setHandler:function(b,a){this.handler=b;this.scope=a},setText:function(a){this.text=a;if(this.el){this.el.child("td.x-btn-center "+this.buttonSelector).update(a)}this.autoWidth()},getText:function(){return this.text},toggle:function(a){a=a===undefined?!this.pressed:a;if(a!=this.pressed){if(a){this.el.addClass("x-btn-pressed");this.pressed=true;this.fireEvent("toggle",this,true)}else{this.el.removeClass("x-btn-pressed");this.pressed=false;this.fireEvent("toggle",this,false)}if(this.toggleHandler){this.toggleHandler.call(this.scope||this,this,a)}}},focus:function(){this.el.child(this.buttonSelector).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&&this.menu.isVisible()},onClick:function(a){if(a){a.preventDefault()}if(a.button!=0){return}if(!this.disabled){if(this.enableToggle&&(this.allowDepress!==false||!this.pressed)){this.toggle()}if(this.menu&&!this.menu.isVisible()&&!this.ignoreNextClick){this.showMenu()}this.fireEvent("click",this,a);if(this.handler){this.handler.call(this.scope||this,this,a)}}},isMenuTriggerOver:function(b,a){return this.menu&&!a},isMenuTriggerOut:function(b,a){return this.menu&&!a},onMouseOver:function(b){if(!this.disabled){var a=b.within(this.el,true);if(!a){this.el.addClass("x-btn-over");if(!this.monitoringMouseOver){Ext.getDoc().on("mouseover",this.monitorMouseOver,this);this.monitoringMouseOver=true}this.fireEvent("mouseover",this,b)}if(this.isMenuTriggerOver(b,a)){this.fireEvent("menutriggerover",this,this.menu,b)}}},monitorMouseOver:function(a){if(a.target!=this.el.dom&&!a.within(this.el)){if(this.monitoringMouseOver){Ext.getDoc().un("mouseover",this.monitorMouseOver,this);this.monitoringMouseOver=false}this.onMouseOut(a)}},onMouseOut:function(b){var a=b.within(this.el)&&b.target!=this.el.dom;this.el.removeClass("x-btn-over");this.fireEvent("mouseout",this,b);if(this.isMenuTriggerOut(b,a)){this.fireEvent("menutriggerout",this,this.menu,b)}},onFocus:function(a){if(!this.disabled){this.el.addClass("x-btn-focus")}},onBlur:function(a){this.el.removeClass("x-btn-focus")},getClickEl:function(b,a){return this.el},onMouseDown:function(a){if(!this.disabled&&a.button==0){this.getClickEl(a).addClass("x-btn-click");Ext.getDoc().on("mouseup",this.onMouseUp,this)}},onMouseUp:function(a){if(a.button==0){this.getClickEl(a,true).removeClass("x-btn-click");Ext.getDoc().un("mouseup",this.onMouseUp,this)}},onMenuShow:function(a){this.ignoreNextClick=0;this.el.addClass("x-btn-menu-active");this.fireEvent("menushow",this,this.menu)},onMenuHide:function(a){this.el.removeClass("x-btn-menu-active");this.ignoreNextClick=this.restoreClick.defer(250,this);this.fireEvent("menuhide",this,this.menu)},restoreClick:function(){this.ignoreNextClick=0}});Ext.reg("button",Ext.Button);Ext.ButtonToggleMgr=function(){var a={};function b(e,k){if(k){var h=a[e.toggleGroup];for(var d=0,c=h.length;d<c;d++){if(h[d]!=e){h[d].toggle(false)}}}}return{register:function(c){if(!c.toggleGroup){return}var d=a[c.toggleGroup];if(!d){d=a[c.toggleGroup]=[]}d.push(c);c.on("toggle",b)},unregister:function(c){if(!c.toggleGroup){return}var d=a[c.toggleGroup];if(d){d.remove(c);c.un("toggle",b)}}}}();Ext.SplitButton=Ext.extend(Ext.Button,{arrowSelector:"button:last",initComponent:function(){Ext.SplitButton.superclass.initComponent.call(this);this.addEvents("arrowclick")},onRender:function(d,a){var b=new Ext.Template('<table cellspacing="0" class="x-btn-menu-wrap x-btn"><tr><td>','<table cellspacing="0" class="x-btn-wrap x-btn-menu-text-wrap"><tbody>','<tr><td class="x-btn-left"><i>&#160;</i></td><td class="x-btn-center"><button class="x-btn-text" type="{1}">{0}</button></td></tr>',"</tbody></table></td><td>",'<table cellspacing="0" class="x-btn-wrap x-btn-menu-arrow-wrap"><tbody>','<tr><td class="x-btn-center"><button class="x-btn-menu-arrow-el" type="button">&#160;</button></td><td class="x-btn-right"><i>&#160;</i></td></tr>',"</tbody></table></td></tr></table>");var c,g=[this.text||"&#160;",this.type];if(a){c=b.insertBefore(a,g,true)}else{c=b.append(d,g,true)}var e=c.child(this.buttonSelector);this.initButtonEl(c,e);this.arrowBtnTable=c.child("table:last");if(this.arrowTooltip){c.child(this.arrowSelector).dom[this.tooltipType]=this.arrowTooltip}},autoWidth:function(){if(this.el){var c=this.el.child("table:first");var b=this.el.child("table:last");this.el.setWidth("auto");c.setWidth("auto");if(Ext.isIE7&&Ext.isStrict){var a=this.el.child(this.buttonSelector);if(a&&a.getWidth()>20){a.clip();a.setWidth(Ext.util.TextMetrics.measure(a,this.text).width+a.getFrameWidth("lr"))}}if(this.minWidth){if((c.getWidth()+b.getWidth())<this.minWidth){c.setWidth(this.minWidth-b.getWidth())}}this.el.setWidth(c.getWidth()+b.getWidth())}},setArrowHandler:function(b,a){this.arrowHandler=b;this.scope=a},onClick:function(a){a.preventDefault();if(!this.disabled){if(a.getTarget(".x-btn-menu-arrow-wrap")){if(this.menu&&!this.menu.isVisible()&&!this.ignoreNextClick){this.showMenu()}this.fireEvent("arrowclick",this,a);if(this.arrowHandler){this.arrowHandler.call(this.scope||this,this,a)}}else{if(this.enableToggle){this.toggle()}this.fireEvent("click",this,a);if(this.handler){this.handler.call(this.scope||this,this,a)}}}},getClickEl:function(b,a){if(!a){return(this.lastClickEl=b.getTarget("table",10,true))}return this.lastClickEl},onDisable:function(){if(this.el){if(!Ext.isIE6){this.el.addClass("x-item-disabled")}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("x-item-disabled")}this.el.child(this.buttonSelector).dom.disabled=false;this.el.child(this.arrowSelector).dom.disabled=false}this.disabled=false},isMenuTriggerOver:function(a){return this.menu&&a.within(this.arrowBtnTable)&&!a.within(this.arrowBtnTable,true)},isMenuTriggerOut:function(b,a){return this.menu&&!b.within(this.arrowBtnTable)},onDestroy:function(){Ext.destroy(this.arrowBtnTable);Ext.SplitButton.superclass.onDestroy.call(this)}});Ext.MenuButton=Ext.SplitButton;Ext.reg("splitbutton",Ext.SplitButton);Ext.CycleButton=Ext.extend(Ext.SplitButton,{getItemText:function(a){if(a&&this.showText===true){var b="";if(this.prependText){b+=this.prependText}b+=a.text;return b}return undefined},setActiveItem:function(c,a){if(typeof c!="object"){c=this.menu.items.get(c)}if(c){if(!this.rendered){this.text=this.getItemText(c);this.iconCls=c.iconCls}else{var b=this.getItemText(c);if(b){this.setText(b)}this.setIconClass(c.iconCls)}this.activeItem=c;if(!c.checked){c.setChecked(true,true)}if(this.forceIcon){this.setIconClass(this.forceIcon)}if(!a){this.fireEvent("change",this,c)}}},getActiveItem:function(){return this.activeItem},initComponent:function(){this.addEvents("change");if(this.changeHandler){this.on("change",this.changeHandler,this.scope||this);delete this.changeHandler}this.itemCount=this.items.length;this.menu={cls:"x-cycle-menu",items:[]};var d;for(var b=0,a=this.itemCount;b<a;b++){var c=this.items[b];c.group=c.group||this.id;c.itemIndex=b;c.checkHandler=this.checkHandler;c.scope=this;c.checked=c.checked||false;this.menu.items.push(c);if(c.checked){d=c}}this.setActiveItem(d,true);Ext.CycleButton.superclass.initComponent.call(this);this.on("click",this.toggleSelected,this)},checkHandler:function(a,b){if(b){this.setActiveItem(a)}},toggleSelected:function(){this.menu.render();var c,a;for(var b=1;b<this.itemCount;b++){c=(this.activeItem.itemIndex+b)%this.itemCount;a=this.menu.items.itemAt(c);if(!a.disabled){a.setChecked(true);break}}}});Ext.reg("cycle",Ext.CycleButton);Ext.Toolbar=function(a){if(Ext.isArray(a)){a={buttons:a}}Ext.Toolbar.superclass.constructor.call(this,a)};(function(){var a=Ext.Toolbar;Ext.extend(a,Ext.BoxComponent,{trackMenus:true,initComponent:function(){a.superclass.initComponent.call(this);if(this.items){this.buttons=this.items}this.items=new Ext.util.MixedCollection(false,function(b){return b.itemId||b.id||Ext.id()})},autoCreate:{cls:"x-toolbar x-small-editor",html:'<table cellspacing="0"><tr></tr></table>'},onRender:function(c,b){this.el=c.createChild(Ext.apply({id:this.id},this.autoCreate),b);this.tr=this.el.child("tr",true)},afterRender:function(){a.superclass.afterRender.call(this);if(this.buttons){this.add.apply(this,this.buttons);delete this.buttons}},add:function(){var c=arguments,b=c.length;for(var d=0;d<b;d++){var e=c[d];if(e.isFormField){this.addField(e)}else{if(e.render){this.addItem(e)}else{if(typeof e=="string"){if(e=="separator"||e=="-"){this.addSeparator()}else{if(e==" "){this.addSpacer()}else{if(e=="->"){this.addFill()}else{this.addText(e)}}}}else{if(e.tagName){this.addElement(e)}else{if(typeof e=="object"){if(e.xtype){this.addField(Ext.ComponentMgr.create(e,"button"))}else{this.addButton(e)}}}}}}}},addSeparator:function(){return this.addItem(new a.Separator())},addSpacer:function(){return this.addItem(new a.Spacer())},addFill:function(){return this.addItem(new a.Fill())},addElement:function(b){return this.addItem(new a.Item(b))},addItem:function(b){var c=this.nextBlock();this.initMenuTracking(b);b.render(c);this.items.add(b);return b},addButton:function(e){if(Ext.isArray(e)){var h=[];for(var g=0,d=e.length;g<d;g++){h.push(this.addButton(e[g]))}return h}var c=e;if(!(e instanceof a.Button)){c=e.split?new a.SplitButton(e):new a.Button(e)}var k=this.nextBlock();this.initMenuTracking(c);c.render(k);this.items.add(c);return c},initMenuTracking:function(b){if(this.trackMenus&&b.menu){b.on({menutriggerover:this.onButtonTriggerOver,menushow:this.onButtonMenuShow,menuhide:this.onButtonMenuHide,scope:this})}},addText:function(b){return this.addItem(new a.TextItem(b))},insertButton:function(c,g){if(Ext.isArray(g)){var e=[];for(var d=0,b=g.length;d<b;d++){e.push(this.insertButton(c+d,g[d]))}return e}if(!(g instanceof a.Button)){g=new a.Button(g)}var h=document.createElement("td");this.tr.insertBefore(h,this.tr.childNodes[c]);this.initMenuTracking(g);g.render(h);this.items.insert(c,g);return g},addDom:function(c,b){var e=this.nextBlock();Ext.DomHelper.overwrite(e,c);var d=new a.Item(e.firstChild);d.render(e);this.items.add(d);return d},addField:function(c){var d=this.nextBlock();c.render(d);var b=new a.Item(d.firstChild);b.render(d);this.items.add(c);return b},nextBlock:function(){var b=document.createElement("td");this.tr.appendChild(b);return b},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(b){if(b.disable){b.disable()}})},onEnable:function(){this.items.each(function(b){if(b.enable){b.enable()}})},onButtonTriggerOver:function(b){if(this.activeMenuBtn&&this.activeMenuBtn!=b){this.activeMenuBtn.hideMenu();b.showMenu();this.activeMenuBtn=b}},onButtonMenuShow:function(b){this.activeMenuBtn=b},onButtonMenuHide:function(b){delete this.activeMenuBtn}});Ext.reg("toolbar",Ext.Toolbar);a.Item=function(b){this.el=Ext.getDom(b);this.id=Ext.id(this.el);this.hidden=false};a.Item.prototype={getEl:function(){return this.el},render:function(b){this.td=b;b.appendChild(this.el)},destroy:function(){if(this.el){var b=Ext.get(this.el);Ext.destroy(b)}Ext.removeNode(this.td)},show:function(){this.hidden=false;this.td.style.display=""},hide:function(){this.hidden=true;this.td.style.display="none"},setVisible:function(b){if(b){this.show()}else{this.hide()}},focus:function(){Ext.fly(this.el).focus()},disable:function(){Ext.fly(this.td).addClass("x-item-disabled");this.disabled=true;this.el.disabled=true},enable:function(){Ext.fly(this.td).removeClass("x-item-disabled");this.disabled=false;this.el.disabled=false}};Ext.reg("tbitem",a.Item);a.Separator=function(){var b=document.createElement("span");b.className="ytb-sep";a.Separator.superclass.constructor.call(this,b)};Ext.extend(a.Separator,a.Item,{enable:Ext.emptyFn,disable:Ext.emptyFn,focus:Ext.emptyFn});Ext.reg("tbseparator",a.Separator);a.Spacer=function(){var b=document.createElement("div");b.className="ytb-spacer";a.Spacer.superclass.constructor.call(this,b)};Ext.extend(a.Spacer,a.Item,{enable:Ext.emptyFn,disable:Ext.emptyFn,focus:Ext.emptyFn});Ext.reg("tbspacer",a.Spacer);a.Fill=Ext.extend(a.Spacer,{render:function(b){b.style.width="100%";a.Fill.superclass.render.call(this,b)}});Ext.reg("tbfill",a.Fill);a.TextItem=function(b){var c=document.createElement("span");c.className="ytb-text";c.innerHTML=b.text?b.text:b;a.TextItem.superclass.constructor.call(this,c)};Ext.extend(a.TextItem,a.Item,{enable:Ext.emptyFn,disable:Ext.emptyFn,focus:Ext.emptyFn});Ext.reg("tbtext",a.TextItem);a.Button=Ext.extend(Ext.Button,{hideParent:true,onDestroy:function(){a.Button.superclass.onDestroy.call(this);if(this.container){this.container.remove()}}});Ext.reg("tbbutton",a.Button);a.SplitButton=Ext.extend(Ext.SplitButton,{hideParent:true,onDestroy:function(){a.SplitButton.superclass.onDestroy.call(this);if(this.container){this.container.remove()}}});Ext.reg("tbsplit",a.SplitButton);a.MenuButton=a.SplitButton})();Ext.PagingToolbar=Ext.extend(Ext.Toolbar,{pageSize:20,displayMsg:"Displaying {0} - {1} of {2}",emptyMsg:"No data to display",beforePageText:"Page",afterPageText:"of {0}",firstText:"First Page",prevText:"Previous Page",nextText:"Next Page",lastText:"Last Page",refreshText:"Refresh",paramNames:{start:"start",limit:"limit"},initComponent:function(){this.addEvents("change","beforechange");Ext.PagingToolbar.superclass.initComponent.call(this);this.cursor=0;this.bind(this.store)},onRender:function(b,a){Ext.PagingToolbar.superclass.onRender.call(this,b,a);this.first=this.addButton({tooltip:this.firstText,iconCls:"x-tbar-page-first",disabled:true,handler:this.onClick.createDelegate(this,["first"])});this.prev=this.addButton({tooltip:this.prevText,iconCls:"x-tbar-page-prev",disabled:true,handler:this.onClick.createDelegate(this,["prev"])});this.addSeparator();this.add(this.beforePageText);this.field=Ext.get(this.addDom({tag:"input",type:"text",size:"3",value:"1",cls:"x-tbar-page-number"}).el);this.field.on("keydown",this.onPagingKeydown,this);this.field.on("focus",function(){this.dom.select()});this.field.on("blur",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:"x-tbar-page-next",disabled:true,handler:this.onClick.createDelegate(this,["next"])});this.last=this.addButton({tooltip:this.lastText,iconCls:"x-tbar-page-last",disabled:true,handler:this.onClick.createDelegate(this,["last"])});this.addSeparator();this.loading=this.addButton({tooltip:this.refreshText,iconCls:"x-tbar-loading",handler:this.onClick.createDelegate(this,["refresh"])});if(this.displayInfo){this.displayEl=Ext.fly(this.el.dom).createChild({cls:"x-paging-info"})}if(this.dsLoaded){this.onLoad.apply(this,this.dsLoaded)}},updateInfo:function(){if(this.displayEl){var a=this.store.getCount();var b=a==0?this.emptyMsg:String.format(this.displayMsg,this.cursor+1,this.cursor+a,this.store.getTotalCount());this.displayEl.update(b)}},onLoad:function(a,c,h){if(!this.rendered){this.dsLoaded=[a,c,h];return}this.cursor=h.params?h.params[this.paramNames.start]:0;var g=this.getPageData(),b=g.activePage,e=g.pages;this.afterTextEl.el.innerHTML=String.format(this.afterPageText,g.pages);this.field.dom.value=b;this.first.setDisabled(b==1);this.prev.setDisabled(b==1);this.next.setDisabled(b==e);this.last.setDisabled(b==e);this.loading.enable();this.updateInfo();this.fireEvent("change",this,g)},getPageData:function(){var a=this.store.getTotalCount();return{total:a,activePage:Math.ceil((this.cursor+this.pageSize)/this.pageSize),pages:a<this.pageSize?1:Math.ceil(a/this.pageSize)}},onLoadError:function(){if(!this.rendered){return}this.loading.enable()},readPage:function(c){var a=this.field.dom.value,b;if(!a||isNaN(b=parseInt(a,10))){this.field.dom.value=c.activePage;return false}return b},onPagingBlur:function(a){this.field.dom.value=this.getPageData().activePage},onPagingKeydown:function(g){var b=g.getKey(),h=this.getPageData(),c;if(b==g.RETURN){g.stopEvent();c=this.readPage(h);if(c!==false){c=Math.min(Math.max(1,c),h.pages)-1;this.doLoad(c*this.pageSize)}}else{if(b==g.HOME||b==g.END){g.stopEvent();c=b==g.HOME?1:h.pages;this.field.dom.value=c}else{if(b==g.UP||b==g.PAGEUP||b==g.DOWN||b==g.PAGEDOWN){g.stopEvent();if(c=this.readPage(h)){var a=g.shiftKey?10:1;if(b==g.DOWN||b==g.PAGEDOWN){a*=-1}c+=a;if(c>=1&c<=h.pages){this.field.dom.value=c}}}}}},beforeLoad:function(){if(this.rendered&&this.loading){this.loading.disable()}},doLoad:function(c){var b={},a=this.paramNames;b[a.start]=c;b[a.limit]=this.pageSize;if(this.fireEvent("beforechange",this,b)!==false){this.store.load({params:b})}},changePage:function(a){this.doLoad(((a-1)*this.pageSize).constrain(0,this.store.getTotalCount()))},onClick:function(e){var b=this.store;switch(e){case"first":this.doLoad(0);break;case"prev":this.doLoad(Math.max(0,this.cursor-this.pageSize));break;case"next":this.doLoad(this.cursor+this.pageSize);break;case"last":var d=b.getTotalCount();var a=d%this.pageSize;var c=a?(d-a):d-this.pageSize;this.doLoad(c);break;case"refresh":this.doLoad(this.cursor);break}},unbind:function(a){a=Ext.StoreMgr.lookup(a);a.un("beforeload",this.beforeLoad,this);a.un("load",this.onLoad,this);a.un("loadexception",this.onLoadError,this);this.store=undefined},bind:function(a){a=Ext.StoreMgr.lookup(a);a.on("beforeload",this.beforeLoad,this);a.on("load",this.onLoad,this);a.on("loadexception",this.onLoadError,this);this.store=a},onDestroy:function(){if(this.store){this.unbind(this.store)}Ext.PagingToolbar.superclass.onDestroy.call(this)}});Ext.reg("paging",Ext.PagingToolbar);Ext.Resizable=function(d,e){this.el=Ext.get(d);if(e&&e.wrap){e.resizeChild=this.el;this.el=this.el.wrap(typeof e.wrap=="object"?e.wrap:{cls:"xresizable-wrap"});this.el.id=this.el.dom.id=e.resizeChild.id+"-rzwrap";this.el.setStyle("overflow","hidden");this.el.setPositioning(e.resizeChild.getPositioning());e.resizeChild.clearPositioning();if(!e.width||!e.height){var g=e.resizeChild.getSize();this.el.setSize(g.width,g.height)}if(e.pinned&&!e.adjustments){e.adjustments="auto"}}this.proxy=this.el.createProxy({tag:"div",cls:"x-resizable-proxy",id:this.el.id+"-rzproxy"},Ext.getBody());this.proxy.unselectable();this.proxy.enableDisplayMode("block");Ext.apply(this,e);if(this.pinned){this.disableTrackOver=true;this.el.addClass("x-resizable-pinned")}var l=this.el.getStyle("position");if(l!="absolute"&&l!="fixed"){this.el.setStyle("position","relative")}if(!this.handles){this.handles="s,e,se";if(this.multiDirectional){this.handles+=",n,w"}}if(this.handles=="all"){this.handles="n s e w ne nw se sw"}var p=this.handles.split(/\s*?[,;]\s*?| /);var c=Ext.Resizable.positions;for(var k=0,m=p.length;k<m;k++){if(p[k]&&c[p[k]]){var o=c[p[k]];this[o]=new Ext.Resizable.Handle(this,o,this.disableTrackOver,this.transparent)}}this.corner=this.southeast;if(this.handles.indexOf("n")!=-1||this.handles.indexOf("w")!=-1){this.updateBox=true}this.activeHandle=null;if(this.resizeChild){if(typeof this.resizeChild=="boolean"){this.resizeChild=Ext.get(this.el.dom.firstChild,true)}else{this.resizeChild=Ext.get(this.resizeChild,true)}}if(this.adjustments=="auto"){var b=this.resizeChild;var n=this.west,h=this.east,a=this.north,p=this.south;if(b&&(n||a)){b.position("relative");b.setLeft(n?n.el.getWidth():0);b.setTop(a?a.el.getHeight():0)}this.adjustments=[(h?-h.el.getWidth():0)+(n?-n.el.getWidth():0),(a?-a.el.getHeight():0)+(p?-p.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("beforeresize","resize");if(this.width!==null&&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:"easeOutStrong",widthIncrement:0,heightIncrement:0,pinned:false,width:null,height:null,preserveRatio:false,transparent:false,minX:0,minY:0,draggable:false,resizeTo:function(b,a){this.el.setSize(b,a);this.updateChildSize();this.fireEvent("resize",this,b,a,null)},startSizing:function(c,b){this.fireEvent("beforeresize",this,c);if(this.enabled){if(!this.overlay){this.overlay=this.el.createProxy({tag:"div",cls:"x-resizable-overlay",html:"&#160;"},Ext.getBody());this.overlay.unselectable();this.overlay.enableDisplayMode("block");this.overlay.on("mousemove",this.onMouseMove,this);this.overlay.on("mouseup",this.onMouseUp,this)}this.overlay.setStyle("cursor",b.el.getStyle("cursor"));this.resizing=true;this.startBox=this.el.getBox();this.startPoint=c.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 a=Ext.get(this.constrainTo);this.resizeRegion=a.getRegion().adjust(a.getFrameWidth("t"),a.getFrameWidth("l"),-a.getFrameWidth("b"),-a.getFrameWidth("r"))}this.proxy.setStyle("visibility","hidden");this.proxy.show();this.proxy.setBox(this.startBox);if(!this.dynamic){this.proxy.setStyle("visibility","visible")}}},onMouseDown:function(a,b){if(this.enabled){b.stopEvent();this.activeHandle=a;this.startSizing(b,a)}},onMouseUp:function(b){var a=this.resizeElement();this.resizing=false;this.handleOut();this.overlay.hide();this.proxy.hide();this.fireEvent("resize",this,a.width,a.height,b)},updateChildSize:function(){if(this.resizeChild){var d=this.el;var e=this.resizeChild;var c=this.adjustments;if(d.dom.offsetWidth){var a=d.getSize(true);e.setSize(a.width+c[0],a.height+c[1])}if(Ext.isIE){setTimeout(function(){if(d.dom.offsetWidth){var g=d.getSize(true);e.setSize(g.width+c[0],g.height+c[1])}},10)}}},snap:function(c,e,b){if(!e||!c){return c}var d=c;var a=c%e;if(a>0){if(a>(e/2)){d=c+(e-a)}else{d=c-a}}return Math.max(b,d)},resizeElement:function(){var a=this.proxy.getBox();if(this.updateBox){this.el.setBox(a,false,this.animate,this.duration,null,this.easing)}else{this.el.setSize(a.width,a.height,this.animate,this.duration,null,this.easing)}this.updateChildSize();if(!this.dynamic){this.proxy.hide()}return a},constrain:function(b,c,a,d){if(b-c<a){c=b-a}else{if(b-c>d){c=d-b}}return c},onMouseMove:function(z){if(this.enabled){try{if(this.resizeRegion&&!this.resizeRegion.contains(z.getPoint())){return}var u=this.curSize||this.startBox;var m=this.startBox.x,l=this.startBox.y;var c=m,b=l;var n=u.width,v=u.height;var d=n,p=v;var o=this.minWidth,A=this.minHeight;var t=this.maxWidth,D=this.maxHeight;var i=this.widthIncrement;var a=this.heightIncrement;var B=z.getXY();var s=-(this.startPoint[0]-Math.max(this.minX,B[0]));var q=-(this.startPoint[1]-Math.max(this.minY,B[1]));var k=this.activeHandle.position;switch(k){case"east":n+=s;n=Math.min(Math.max(o,n),t);break;case"south":v+=q;v=Math.min(Math.max(A,v),D);break;case"southeast":n+=s;v+=q;n=Math.min(Math.max(o,n),t);v=Math.min(Math.max(A,v),D);break;case"north":q=this.constrain(v,q,A,D);l+=q;v-=q;break;case"west":s=this.constrain(n,s,o,t);m+=s;n-=s;break;case"northeast":n+=s;n=Math.min(Math.max(o,n),t);q=this.constrain(v,q,A,D);l+=q;v-=q;break;case"northwest":s=this.constrain(n,s,o,t);q=this.constrain(v,q,A,D);l+=q;v-=q;m+=s;n-=s;break;case"southwest":s=this.constrain(n,s,o,t);v+=q;v=Math.min(Math.max(A,v),D);m+=s;n-=s;break}var r=this.snap(n,i,o);var C=this.snap(v,a,A);if(r!=n||C!=v){switch(k){case"northeast":l-=C-v;break;case"north":l-=C-v;break;case"southwest":m-=r-n;break;case"west":m-=r-n;break;case"northwest":m-=r-n;l-=C-v;break}n=r;v=C}if(this.preserveRatio){switch(k){case"southeast":case"east":v=p*(n/d);v=Math.min(Math.max(A,v),D);n=d*(v/p);break;case"south":n=d*(v/p);n=Math.min(Math.max(o,n),t);v=p*(n/d);break;case"northeast":n=d*(v/p);n=Math.min(Math.max(o,n),t);v=p*(n/d);break;case"north":var E=n;n=d*(v/p);n=Math.min(Math.max(o,n),t);v=p*(n/d);m+=(E-n)/2;break;case"southwest":v=p*(n/d);v=Math.min(Math.max(A,v),D);var E=n;n=d*(v/p);m+=E-n;break;case"west":var g=v;v=p*(n/d);v=Math.min(Math.max(A,v),D);l+=(g-v)/2;var E=n;n=d*(v/p);m+=E-n;break;case"northwest":var E=n;var g=v;v=p*(n/d);v=Math.min(Math.max(A,v),D);n=d*(v/p);l+=g-v;m+=E-n;break}}this.proxy.setBounds(m,l,n,v);if(this.dynamic){this.resizeElement()}}catch(z){}}},handleOver:function(){if(this.enabled){this.el.addClass("x-resizable-over")}},handleOut:function(){if(!this.resizing){this.el.removeClass("x-resizable-over")}},getEl:function(){return this.el},getResizeChild:function(){return this.resizeChild},destroy:function(b){if(this.dd){this.dd.destroy()}if(this.overlay){Ext.destroy(this.overlay);this.overlay=null}Ext.destroy(this.proxy);this.proxy=null;var c=Ext.Resizable.positions;for(var a in c){if(typeof c[a]!="function"&&this[c[a]]){this[c[a]].destroy()}}if(b){this.el.update("");Ext.destroy(this.el);this.el=null}},syncHandleHeight:function(){var a=this.el.getHeight(true);if(this.west){this.west.el.setHeight(a)}if(this.east){this.east.el.setHeight(a)}}});Ext.Resizable.positions={n:"north",s:"south",e:"east",w:"west",se:"southeast",sw:"southwest",nw:"northwest",ne:"northeast"};Ext.Resizable.Handle=function(c,e,b,d){if(!this.tpl){var a=Ext.DomHelper.createTemplate({tag:"div",cls:"x-resizable-handle x-resizable-handle-{0}"});a.compile();Ext.Resizable.Handle.prototype.tpl=a}this.position=e;this.rz=c;this.el=this.tpl.append(c.el.dom,[this.position],true);this.el.unselectable();if(d){this.el.setOpacity(0)}this.el.on("mousedown",this.onMouseDown,this);if(!b){this.el.on("mouseover",this.onMouseOver,this);this.el.on("mouseout",this.onMouseOut,this)}};Ext.Resizable.Handle.prototype={afterResize:function(a){},onMouseDown:function(a){this.rz.onMouseDown(this,a)},onMouseOver:function(a){this.rz.handleOver(this,a)},onMouseOut:function(a){this.rz.handleOut(this,a)},destroy:function(){Ext.destroy(this.el);this.el=null}};Ext.Editor=function(b,a){this.field=b;Ext.Editor.superclass.constructor.call(this,a)};Ext.extend(Ext.Editor,Ext.Component,{value:"",alignment:"c-c?",shadow:"frame",constrain:false,swallowKeys:true,completeOnEnter:false,cancelOnEsc:false,updateEl:false,initComponent:function(){Ext.Editor.superclass.initComponent.call(this);this.addEvents("beforestartedit","startedit","beforecomplete","complete","canceledit","specialkey")},onRender:function(b,a){this.el=new Ext.Layer({shadow:this.shadow,cls:"x-editor",parentEl:b,shim:this.shim,shadowOffset:4,id:this.id,constrain:this.constrain});this.el.setStyle("overflow",Ext.isGecko?"auto":"hidden");if(this.field.msgTarget!="title"){this.field.msgTarget="qtip"}this.field.inEditor=true;this.field.render(this.el);if(Ext.isGecko){this.field.el.dom.setAttribute("autocomplete","off")}this.field.on("specialkey",this.onSpecialKey,this);if(this.swallowKeys){this.field.el.swallowEvent(["keydown","keypress"])}this.field.show();this.field.on("blur",this.onBlur,this);if(this.field.grow){this.field.on("autosize",this.el.sync,this.el,{delay:1})}},onSpecialKey:function(c,b){var a=b.getKey();if(this.completeOnEnter&&a==b.ENTER){b.stopEvent();this.completeEdit()}else{if(this.cancelOnEsc&&a==b.ESC){this.cancelEdit()}else{this.fireEvent("specialkey",c,b)}}if(this.field.triggerBlur&&(a==b.ENTER||a==b.ESC||a==b.TAB)){this.field.triggerBlur()}},startEdit:function(b,c){if(this.editing){this.completeEdit()}this.boundEl=Ext.get(b);var a=c!==undefined?c:this.boundEl.dom.innerHTML;if(!this.rendered){this.render(this.parentEl||document.body)}if(this.fireEvent("beforestartedit",this,this.boundEl,a)===false){return}this.startValue=a;this.field.setValue(a);this.doAutoSize();this.el.alignTo(this.boundEl,this.alignment);this.editing=true;this.show()},doAutoSize:function(){if(this.autoSize){var a=this.boundEl.getSize();switch(this.autoSize){case"width":this.setSize(a.width,"");break;case"height":this.setSize("",a.height);break;default:this.setSize(a.width,a.height)}}},setSize:function(a,b){delete this.field.lastSize;this.field.setSize(a,b);if(this.el){if(Ext.isGecko2||Ext.isOpera){this.el.setSize(a,b)}this.el.sync()}},realign:function(){this.el.alignTo(this.boundEl,this.alignment)},completeEdit:function(a){if(!this.editing){return}var b=this.getValue();if(this.revertInvalid!==false&&!this.field.isValid()){b=this.startValue;this.cancelEdit(true)}if(String(b)===String(this.startValue)&&this.ignoreNoChange){this.editing=false;this.hide();return}if(this.fireEvent("beforecomplete",this,b,this.startValue)!==false){this.editing=false;if(this.updateEl&&this.boundEl){this.boundEl.update(b)}if(a!==true){this.hide()}this.fireEvent("complete",this,b,this.startValue)}},onShow:function(){this.el.show();if(this.hideEl!==false){this.boundEl.hide()}this.field.show();if(Ext.isIE&&!this.fixIEFocus){this.fixIEFocus=true;this.deferredFocus.defer(50,this)}else{this.field.focus()}this.fireEvent("startedit",this.boundEl,this.startValue)},deferredFocus:function(){if(this.editing){this.field.focus()}},cancelEdit:function(a){if(this.editing){var b=this.getValue();this.setValue(this.startValue);if(a!==true){this.hide()}this.fireEvent("canceledit",this,b,this.startValue)}},onBlur:function(){if(this.allowBlur!==true&&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(a){this.field.setValue(a)},getValue:function(){return this.field.getValue()},beforeDestroy:function(){Ext.destroy(this.field);this.field=null}});Ext.reg("editor",Ext.Editor);Ext.MessageBox=function(){var t,b,p,s;var h,l,r,a,m,o,i,g;var q,u,n,c="";var d=function(w){if(t.isVisible()){t.hide();Ext.callback(b.fn,b.scope||window,[w,u.dom.value,b],1)}};var v=function(){if(b&&b.cls){t.el.removeClass(b.cls)}m.reset()};var e=function(y,w,x){if(b&&b.closable!==false){t.hide()}if(x){x.stopEvent()}};var k=function(w){var y=0;if(!w){q.ok.hide();q.cancel.hide();q.yes.hide();q.no.hide();return y}t.footer.dom.style.display="";for(var x in q){if(typeof q[x]!="function"){if(w[x]){q[x].show();q[x].setText(typeof w[x]=="string"?w[x]:Ext.MessageBox.buttonText[x]);y+=q[x].el.getWidth()+15}else{q[x].hide()}}}return y};return{getDialog:function(w){if(!t){t=new Ext.Window({autoCreate:true,title:w,resizable:false,constrain:true,constrainHeader:true,minimizable:false,maximizable:false,stateful:false,modal:true,shim:true,buttonAlign:"center",width:400,height:100,minHeight:80,plain:true,footer:true,closable:true,close:function(){if(b&&b.buttons&&b.buttons.no&&!b.buttons.cancel){d("no")}else{d("cancel")}}});q={};var x=this.buttonText;q.ok=t.addButton(x.ok,d.createCallback("ok"));q.yes=t.addButton(x.yes,d.createCallback("yes"));q.no=t.addButton(x.no,d.createCallback("no"));q.cancel=t.addButton(x.cancel,d.createCallback("cancel"));q.ok.hideMode=q.yes.hideMode=q.no.hideMode=q.cancel.hideMode="offsets";t.render(document.body);t.getEl().addClass("x-window-dlg");p=t.mask;h=t.body.createChild({html:'<div class="ext-mb-icon"></div><div class="ext-mb-content"><span class="ext-mb-text"></span><br /><div class="ext-mb-fix-cursor"><input type="text" class="ext-mb-input" /><textarea class="ext-mb-textarea"></textarea></div></div>'});i=Ext.get(h.dom.firstChild);var y=h.dom.childNodes[1];l=Ext.get(y.firstChild);r=Ext.get(y.childNodes[2].firstChild);r.enableDisplayMode();r.addKeyListener([10,13],function(){if(t.isVisible()&&b&&b.buttons){if(b.buttons.ok){d("ok")}else{if(b.buttons.yes){d("yes")}}}});a=Ext.get(y.childNodes[2].childNodes[1]);a.enableDisplayMode();m=new Ext.ProgressBar({renderTo:h});h.createChild({cls:"x-clear"})}return t},updateText:function(A){if(!t.isVisible()&&!b.width){t.setSize(this.maxWidth,100)}l.update(A||"&#160;");var y=c!=""?(i.getWidth()+i.getMargins("lr")):0;var C=l.getWidth()+l.getMargins("lr");var z=t.getFrameWidth("lr");var B=t.body.getFrameWidth("lr");if(Ext.isIE&&y>0){y+=3}var x=Math.max(Math.min(b.width||y+C+z+B,this.maxWidth),Math.max(b.minWidth||this.minWidth,n||0));if(b.prompt===true){u.setWidth(x-y-z-B)}if(b.progress===true||b.wait===true){m.setSize(x-y-z-B)}if(Ext.isIE&&x==n){x+=4}t.setSize(x,"auto").center();return this},updateProgress:function(x,w,y){m.updateProgress(x,w);if(y){this.updateText(y)}return this},isVisible:function(){return t&&t.isVisible()},hide:function(){var w=t.activeGhost;if(this.isVisible()||w){t.hide();v();if(w){w.hide()}}return this},show:function(z){if(this.isVisible()){this.hide()}b=z;var A=this.getDialog(b.title||"&#160;");A.setTitle(b.title||"&#160;");var w=(b.closable!==false&&b.progress!==true&&b.wait!==true);A.tools.close.setDisplayed(w);u=r;b.prompt=b.prompt||(b.multiline?true:false);if(b.prompt){if(b.multiline){r.hide();a.show();a.setHeight(typeof b.multiline=="number"?b.multiline:this.defaultTextHeight);u=a}else{r.show();a.hide()}}else{r.hide();a.hide()}u.dom.value=b.value||"";if(b.prompt){A.focusEl=u}else{var y=b.buttons;var x=null;if(y&&y.ok){x=q.ok}else{if(y&&y.yes){x=q.yes}}if(x){A.focusEl=x}}if(b.iconCls){A.setIconClass(b.iconCls)}this.setIcon(b.icon);n=k(b.buttons);m.setVisible(b.progress===true||b.wait===true);this.updateProgress(0,b.progressText);this.updateText(b.msg);if(b.cls){A.el.addClass(b.cls)}A.proxyDrag=b.proxyDrag===true;A.modal=b.modal!==false;A.mask=b.modal!==false?p:false;if(!A.isVisible()){document.body.appendChild(t.el.dom);A.setAnimateTarget(b.animEl);A.show(b.animEl)}A.on("show",function(){if(w===true){A.keyMap.enable()}else{A.keyMap.disable()}},this,{single:true});if(b.wait===true){m.wait(b.waitConfig)}return this},setIcon:function(w){if(w&&w!=""){i.removeClass("x-hidden");i.replaceClass(c,w);c=w}else{i.replaceClass(c,"x-hidden");c=""}return this},progress:function(y,x,w){this.show({title:y,msg:x,buttons:false,progress:true,closable:false,minWidth:this.minProgressWidth,progressText:w});return this},wait:function(y,x,w){this.show({title:x,msg:y,buttons:false,closable:false,wait:true,modal:true,minWidth:this.minProgressWidth,waitConfig:w});return this},alert:function(z,y,x,w){this.show({title:z,msg:y,buttons:this.OK,fn:x,scope:w});return this},confirm:function(z,y,x,w){this.show({title:z,msg:y,buttons:this.YESNO,fn:x,scope:w,icon:this.QUESTION});return this},prompt:function(B,A,y,x,w,z){this.show({title:B,msg:A,buttons:this.OKCANCEL,fn:y,minWidth:250,scope:x,prompt:true,multiline:w,value:z});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:"ext-mb-info",WARNING:"ext-mb-warning",QUESTION:"ext-mb-question",ERROR:"ext-mb-error",defaultTextHeight:75,maxWidth:600,minWidth:100,minProgressWidth:250,buttonText:{ok:"OK",cancel:"Cancel",yes:"Yes",no:"No"}}}();Ext.Msg=Ext.MessageBox;Ext.Tip=Ext.extend(Ext.Panel,{minWidth:40,maxWidth:300,shadow:"sides",defaultAlign:"tl-bl?",autoRender:true,quickShowInterval:250,frame:true,hidden:true,baseCls:"x-tip",floating:{shadow:true,shim:true,useDisplay:true,constrain:false},autoHeight:true,initComponent:function(){Ext.Tip.superclass.initComponent.call(this);if(this.closable&&!this.title){this.elements+=",header"}},afterRender:function(){Ext.Tip.superclass.afterRender.call(this);if(this.closable){this.addTool({id:"close",handler:this.hide,scope:this})}},showAt:function(a){Ext.Tip.superclass.show.call(this);if(this.measureWidth!==false&&(!this.initialConfig||typeof this.initialConfig.width!="number")){this.doAutoWidth()}if(this.constrainPosition){a=this.el.adjustForConstraints(a)}this.setPagePosition(a[0],a[1])},doAutoWidth:function(){var a=this.body.getTextWidth();if(this.title){a=Math.max(a,this.header.child("span").getTextWidth(this.title))}a+=this.getFrameWidth()+(this.closable?20:0)+this.body.getPadding("lr");this.setWidth(a.constrain(this.minWidth,this.maxWidth));if(Ext.isIE7&&!this.repainted){this.el.repaint();this.repainted=true}},showBy:function(a,b){if(!this.rendered){this.render(Ext.getBody())}this.showAt(this.el.getAlignToXY(a,b||this.defaultAlign))},initDraggable:function(){this.dd=new Ext.Tip.DD(this,typeof this.draggable=="boolean"?null:this.draggable);this.header.addClass("x-tip-draggable")}});Ext.Tip.DD=function(b,a){Ext.apply(this,a);this.tip=b;Ext.Tip.DD.superclass.constructor.call(this,b.el.id,"WindowDD-"+b.id);this.setHandleElId(b.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(a){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("mouseover",this.onTargetOver,this);this.target.on("mouseout",this.onTargetOut,this);this.target.on("mousemove",this.onMouseMove,this)}},onMouseMove:function(a){this.targetXY=a.getXY();if(!this.hidden&&this.trackMouse){this.setPagePosition(this.getTargetXY())}},getTargetXY:function(){return[this.targetXY[0]+this.mouseOffset[0],this.targetXY[1]+this.mouseOffset[1]]},onTargetOver:function(a){if(this.disabled||a.within(this.target.dom,true)){return}this.clearTimer("hide");this.targetXY=a.getXY();this.delayShow()},delayShow:function(){if(this.hidden&&!this.showTimer){if(this.lastActive.getElapsed()<this.quickShowInterval){this.show()}else{this.showTimer=this.show.defer(this.showDelay,this)}}else{if(!this.hidden&&this.autoHide!==false){this.show()}}},onTargetOut:function(a){if(this.disabled||a.within(this.target.dom,true)){return}this.clearTimer("show");if(this.autoHide!==false){this.delayHide()}},delayHide:function(){if(!this.hidden&&!this.hideTimer){this.hideTimer=this.hide.defer(this.hideDelay,this)}},hide:function(){this.clearTimer("dismiss");this.lastActive=new Date();Ext.ToolTip.superclass.hide.call(this)},show:function(){this.showAt(this.getTargetXY())},showAt:function(a){this.lastActive=new Date();this.clearTimers();Ext.ToolTip.superclass.showAt.call(this,a);if(this.dismissDelay&&this.autoHide!==false){this.dismissTimer=this.hide.defer(this.dismissDelay,this)}},clearTimer:function(a){a=a+"Timer";clearTimeout(this[a]);delete this[a]},clearTimers:function(){this.clearTimer("show");this.clearTimer("dismiss");this.clearTimer("hide")},onShow:function(){Ext.ToolTip.superclass.onShow.call(this);Ext.getDoc().on("mousedown",this.onDocMouseDown,this)},onHide:function(){Ext.ToolTip.superclass.onHide.call(this);Ext.getDoc().un("mousedown",this.onDocMouseDown,this)},onDocMouseDown:function(a){if(this.autoHide!==false&&!a.within(this.el.dom)){this.disable();this.enable.defer(100,this)}},onDisable:function(){this.clearTimers();this.hide()},adjustPosition:function(a,d){var c=this.targetXY[1],b=this.getSize().height;if(this.constrainPosition&&d<=c&&(d+b)>=c){d=c-b-5}return{x:a,y:d}},onDestroy:function(){Ext.ToolTip.superclass.onDestroy.call(this);if(this.target){this.target.un("mouseover",this.onTargetOver,this);this.target.un("mouseout",this.onTargetOut,this);this.target.un("mousemove",this.onMouseMove,this)}}});Ext.QuickTip=Ext.extend(Ext.ToolTip,{interceptTitles:false,tagConfig:{namespace:"ext",attribute:"qtip",width:"qwidth",target:"target",title:"qtitle",hide:"hide",cls:"qclass",align:"qalign"},initComponent:function(){this.target=this.target||Ext.getDoc();this.targets=this.targets||{};Ext.QuickTip.superclass.initComponent.call(this)},register:function(e){var h=Ext.isArray(e)?e:arguments;for(var g=0,a=h.length;g<a;g++){var l=h[g];var k=l.target;if(k){if(Ext.isArray(k)){for(var d=0,b=k.length;d<b;d++){this.targets[Ext.id(k[d])]=l}}else{this.targets[Ext.id(k)]=l}}}},unregister:function(a){delete this.targets[Ext.id(a)]},onTargetOver:function(i){if(this.disabled){return}this.targetXY=i.getXY();var c=i.getTarget();if(!c||c.nodeType!==1||c==document||c==document.body){return}if(this.activeTarget&&c==this.activeTarget.el){this.clearTimer("hide");this.show();return}if(c&&this.targets[c.id]){this.activeTarget=this.targets[c.id];this.activeTarget.el=c;this.delayShow();return}var g,h=Ext.fly(c),b=this.tagConfig;var d=b.namespace;if(this.interceptTitles&&c.title){g=c.title;c.qtip=g;c.removeAttribute("title");i.preventDefault()}else{g=c.qtip||h.getAttributeNS(d,b.attribute)}if(g){var a=h.getAttributeNS(d,b.hide);this.activeTarget={el:c,text:g,width:h.getAttributeNS(d,b.width),autoHide:a!="user"&&a!=="false",title:h.getAttributeNS(d,b.title),cls:h.getAttributeNS(d,b.cls),align:h.getAttributeNS(d,b.align)};this.delayShow()}},onTargetOut:function(a){this.clearTimer("show");if(this.autoHide!==false){this.delayHide()}},showAt:function(b){var a=this.activeTarget;if(a){if(!this.rendered){this.render(Ext.getBody());this.activeTarget=a}if(a.width){this.setWidth(a.width);this.body.setWidth(this.adjustBodyWidth(a.width-this.getFrameWidth()));this.measureWidth=false}else{this.measureWidth=true}this.setTitle(a.title||"");this.body.update(a.text);this.autoHide=a.autoHide;this.dismissDelay=a.dismissDelay||this.dismissDelay;if(this.lastCls){this.el.removeClass(this.lastCls);delete this.lastCls}if(a.cls){this.el.addClass(a.cls);this.lastCls=a.cls}if(a.align){b=this.el.getAlignToXY(a.el,a.align);this.constrainPosition=false}else{this.constrainPosition=true}}Ext.QuickTip.superclass.showAt.call(this,b)},hide:function(){delete this.activeTarget;Ext.QuickTip.superclass.hide.call(this)}});Ext.QuickTips=function(){var b,a=[];return{init:function(c){if(!b){if(!Ext.isReady){Ext.onReady(function(){Ext.QuickTips.init(c)});return}b=new Ext.QuickTip({elements:"header,body"});if(c!==false){b.render(Ext.getBody())}}},enable:function(){if(b){a.pop();if(a.length<1){b.enable()}}},disable:function(){if(b){b.disable()}a.push(1)},isEnabled:function(){return b!==undefined&&!b.disabled},getQuickTip:function(){return b},register:function(){b.register.apply(b,arguments)},unregister:function(){b.unregister.apply(b,arguments)},tips:function(){b.register.apply(b,arguments)}}}();Ext.tree.TreePanel=Ext.extend(Ext.Panel,{rootVisible:true,animate:Ext.enableFx,lines:true,enableDD:false,hlDrop:Ext.enableFx,pathSeparator:"/",initComponent:function(){Ext.tree.TreePanel.superclass.initComponent.call(this);if(!this.eventModel){this.eventModel=new Ext.tree.TreeEventModel(this)}var a=this.loader;if(!a){a=new Ext.tree.TreeLoader({dataUrl:this.dataUrl})}else{if(typeof a=="object"&&!a.load){a=new Ext.tree.TreeLoader(a)}}this.loader=a;this.nodeHash={};if(this.root){this.setRootNode(this.root)}this.addEvents("append","remove","movenode","insert","beforeappend","beforeremove","beforemovenode","beforeinsert","beforeload","load","textchange","beforeexpandnode","beforecollapsenode","expandnode","disabledchange","collapsenode","beforeclick","click","checkchange","dblclick","contextmenu","beforechildrenrendered","startdrag","enddrag","dragdrop","beforenodedrop","nodedrop","nodedragover");if(this.singleExpand){this.on("beforeexpandnode",this.restrictExpand,this)}},proxyNodeEvent:function(c,b,a,h,g,e,d){if(c=="collapse"||c=="expand"||c=="beforecollapse"||c=="beforeexpand"||c=="move"||c=="beforemove"){c=c+"node"}return this.fireEvent(c,b,a,h,g,e,d)},getRootNode:function(){return this.root},setRootNode:function(b){if(!b.render){b=this.loader.createNode(b)}this.root=b;b.ownerTree=this;b.isRoot=true;this.registerNode(b);if(!this.rootVisible){var a=b.attributes.uiProvider;b.ui=a?new a(b):new Ext.tree.RootTreeNodeUI(b)}return b},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"[Tree"+(this.id?" "+this.id:"")+"]"},restrictExpand:function(a){var b=a.parentNode;if(b){if(b.expandedChild&&b.expandedChild.parentNode==b){b.expandedChild.collapse()}b.expandedChild=a}},getChecked:function(b,c){c=c||this.root;var d=[];var e=function(){if(this.attributes.checked){d.push(!b?this:(b=="id"?this.id:this.attributes[b]))}};c.cascade(e);return d},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(g,a,h){a=a||"id";var d=g.split(this.pathSeparator);var c=this.root;if(c.attributes[a]!=d[1]){if(h){h(false,null)}return}var b=1;var e=function(){if(++b==d.length){if(h){h(true,c)}return}var i=c.findChild(a,d[b]);if(!i){if(h){h(false,c)}return}c=i;i.expand(false,false,e)};c.expand(false,false,e)},selectPath:function(e,a,g){a=a||"id";var c=e.split(this.pathSeparator);var b=c.pop();if(c.length>0){var d=function(i,h){if(i&&h){var k=h.findChild(a,b);if(k){k.select();if(g){g(true,k)}}else{if(g){g(false,k)}}}else{if(g){g(false,k)}}};this.expandPath(c.join(this.pathSeparator),a,d)}else{this.root.select();if(g){g(true,this.root)}}},getTreeEl:function(){return this.body},onRender:function(b,a){Ext.tree.TreePanel.superclass.onRender.call(this,b,a);this.el.addClass("x-tree");this.innerCt=this.body.createChild({tag:"ul",cls:"x-tree-root-ct "+(this.useArrows?"x-tree-arrows":this.lines?"x-tree-lines":"x-tree-no-lines")})},initEvents:function(){Ext.tree.TreePanel.superclass.initEvents.call(this);if(this.containerScroll){Ext.dd.ScrollManager.register(this.body)}if((this.enableDD||this.enableDrop)&&!this.dropZone){this.dropZone=new Ext.tree.TreeDropZone(this,this.dropConfig||{ddGroup:this.ddGroup||"TreeDD",appendOnly:this.ddAppendOnly===true})}if((this.enableDD||this.enableDrag)&&!this.dragZone){this.dragZone=new Ext.tree.TreeDragZone(this,this.dragConfig||{ddGroup:this.ddGroup||"TreeDD",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("treepanel",Ext.tree.TreePanel);Ext.tree.TreeEventModel=function(a){this.tree=a;this.tree.on("render",this.initEvents,this)};Ext.tree.TreeEventModel.prototype={initEvents:function(){var a=this.tree.getTreeEl();a.on("click",this.delegateClick,this);if(this.tree.trackMouseOver!==false){a.on("mouseover",this.delegateOver,this);a.on("mouseout",this.delegateOut,this)}a.on("dblclick",this.delegateDblClick,this);a.on("contextmenu",this.delegateContextMenu,this)},getNode:function(b){var a;if(a=b.getTarget(".x-tree-node-el",10)){var c=Ext.fly(a,"_treeEvents").getAttributeNS("ext","tree-node-id");if(c){return this.tree.getNodeById(c)}}return null},getNodeTarget:function(b){var a=b.getTarget(".x-tree-node-icon",1);if(!a){a=b.getTarget(".x-tree-node-el",6)}return a},delegateOut:function(b,a){if(!this.beforeEvent(b)){return}if(b.getTarget(".x-tree-ec-icon",1)){var c=this.getNode(b);this.onIconOut(b,c);if(c==this.lastEcOver){delete this.lastEcOver}}if((a=this.getNodeTarget(b))&&!b.within(a,true)){this.onNodeOut(b,this.getNode(b))}},delegateOver:function(b,a){if(!this.beforeEvent(b)){return}if(this.lastEcOver){this.onIconOut(b,this.lastEcOver);delete this.lastEcOver}if(b.getTarget(".x-tree-ec-icon",1)){this.lastEcOver=this.getNode(b);this.onIconOver(b,this.lastEcOver)}if(a=this.getNodeTarget(b)){this.onNodeOver(b,this.getNode(b))}},delegateClick:function(b,a){if(!this.beforeEvent(b)){return}if(b.getTarget("input[type=checkbox]",1)){this.onCheckboxClick(b,this.getNode(b))}else{if(b.getTarget(".x-tree-ec-icon",1)){this.onIconClick(b,this.getNode(b))}else{if(this.getNodeTarget(b)){this.onNodeClick(b,this.getNode(b))}}}},delegateDblClick:function(b,a){if(this.beforeEvent(b)&&this.getNodeTarget(b)){this.onNodeDblClick(b,this.getNode(b))}},delegateContextMenu:function(b,a){if(this.beforeEvent(b)&&this.getNodeTarget(b)){this.onNodeContextMenu(b,this.getNode(b))}},onNodeClick:function(b,a){a.ui.onClick(b)},onNodeOver:function(b,a){a.ui.onOver(b)},onNodeOut:function(b,a){a.ui.onOut(b)},onIconOver:function(b,a){a.ui.addClass("x-tree-ec-over")},onIconOut:function(b,a){a.ui.removeClass("x-tree-ec-over")},onIconClick:function(b,a){a.ui.ecClick(b)},onCheckboxClick:function(b,a){a.ui.onCheckChange(b)},onNodeDblClick:function(b,a){a.ui.onDblClick(b)},onNodeContextMenu:function(b,a){a.ui.onContextMenu(b)},beforeEvent:function(a){if(this.disabled){a.stopEvent();return false}return true},disable:function(){this.disabled=true},enable:function(){this.disabled=false}};Ext.tree.DefaultSelectionModel=function(a){this.selNode=null;this.addEvents("selectionchange","beforeselect");Ext.apply(this,a);Ext.tree.DefaultSelectionModel.superclass.constructor.call(this)};Ext.extend(Ext.tree.DefaultSelectionModel,Ext.util.Observable,{init:function(a){this.tree=a;a.getTreeEl().on("keydown",this.onKeyDown,this);a.on("click",this.onNodeClick,this)},onNodeClick:function(a,b){this.select(a)},select:function(b){var a=this.selNode;if(a!=b&&this.fireEvent("beforeselect",this,b,a)!==false){if(a){a.ui.onSelectedChange(false)}this.selNode=b;b.ui.onSelectedChange(true);this.fireEvent("selectionchange",this,b,a)}return b},unselect:function(a){if(this.selNode==a){this.clearSelections()}},clearSelections:function(){var a=this.selNode;if(a){a.ui.onSelectedChange(false);this.selNode=null;this.fireEvent("selectionchange",this,null)}return a},getSelectedNode:function(){return this.selNode},isSelected:function(a){return this.selNode==a},selectPrevious:function(){var a=this.selNode||this.lastSelNode;if(!a){return null}var c=a.previousSibling;if(c){if(!c.isExpanded()||c.childNodes.length<1){return this.select(c)}else{var b=c.lastChild;while(b&&b.isExpanded()&&b.childNodes.length>0){b=b.lastChild}return this.select(b)}}else{if(a.parentNode&&(this.tree.rootVisible||!a.parentNode.isRoot)){return this.select(a.parentNode)}}return null},selectNext:function(){var b=this.selNode||this.lastSelNode;if(!b){return null}if(b.firstChild&&b.isExpanded()){return this.select(b.firstChild)}else{if(b.nextSibling){return this.select(b.nextSibling)}else{if(b.parentNode){var a=null;b.parentNode.bubble(function(){if(this.nextSibling){a=this.getOwnerTree().selModel.select(this.nextSibling);return false}});return a}}}return null},onKeyDown:function(c){var b=this.selNode||this.lastSelNode;var d=this;if(!b){return}var a=c.getKey();switch(a){case c.DOWN:c.stopEvent();this.selectNext();break;case c.UP:c.stopEvent();this.selectPrevious();break;case c.RIGHT:c.preventDefault();if(b.hasChildNodes()){if(!b.isExpanded()){b.expand()}else{if(b.firstChild){this.select(b.firstChild,c)}}}break;case c.LEFT:c.preventDefault();if(b.hasChildNodes()&&b.isExpanded()){b.collapse()}else{if(b.parentNode&&(this.tree.rootVisible||b.parentNode!=this.tree.getRootNode())){this.select(b.parentNode,c)}}break}}});Ext.tree.MultiSelectionModel=function(a){this.selNodes=[];this.selMap={};this.addEvents("selectionchange");Ext.apply(this,a);Ext.tree.MultiSelectionModel.superclass.constructor.call(this)};Ext.extend(Ext.tree.MultiSelectionModel,Ext.util.Observable,{init:function(a){this.tree=a;a.getTreeEl().on("keydown",this.onKeyDown,this);a.on("click",this.onNodeClick,this)},onNodeClick:function(a,b){this.select(a,b,b.ctrlKey)},select:function(a,c,b){if(b!==true){this.clearSelections(true)}if(this.isSelected(a)){this.lastSelNode=a;return a}this.selNodes.push(a);this.selMap[a.id]=a;this.lastSelNode=a;a.ui.onSelectedChange(true);this.fireEvent("selectionchange",this,this.selNodes);return a},unselect:function(b){if(this.selMap[b.id]){b.ui.onSelectedChange(false);var c=this.selNodes;var a=c.indexOf(b);if(a!=-1){this.selNodes.splice(a,1)}delete this.selMap[b.id];this.fireEvent("selectionchange",this,this.selNodes)}},clearSelections:function(b){var d=this.selNodes;if(d.length>0){for(var c=0,a=d.length;c<a;c++){d[c].ui.onSelectedChange(false)}this.selNodes=[];this.selMap={};if(b!==true){this.fireEvent("selectionchange",this,this.selNodes)}}},isSelected:function(a){return this.selMap[a.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(a){a=a||{};if(typeof a=="string"){a={text:a}}this.childrenRendered=false;this.rendered=false;Ext.tree.TreeNode.superclass.constructor.call(this,a);this.expanded=a.expanded===true;this.isTarget=a.isTarget!==false;this.draggable=a.draggable!==false&&a.allowDrag!==false;this.allowChildren=a.allowChildren!==false&&a.allowDrop!==false;this.text=a.text;this.disabled=a.disabled===true;this.addEvents("textchange","beforeexpand","beforecollapse","expand","disabledchange","collapse","beforeclick","click","checkchange","dblclick","contextmenu","beforechildrenrendered");var b=this.attributes.uiProvider||this.defaultUI||Ext.tree.TreeNodeUI;this.ui=new b(this)};Ext.extend(Ext.tree.TreeNode,Ext.data.Node,{preventHScroll:true,isExpanded:function(){return this.expanded},getUI:function(){return this.ui},getLoader:function(){var a;return this.loader||((a=this.getOwnerTree())&&a.loader?a.loader:new Ext.tree.TreeLoader())},setFirstChild:function(a){var b=this.firstChild;Ext.tree.TreeNode.superclass.setFirstChild.call(this,a);if(this.childrenRendered&&b&&a!=b){b.renderIndent(true,true)}if(this.rendered){this.renderIndent(true,true)}},setLastChild:function(b){var a=this.lastChild;Ext.tree.TreeNode.superclass.setLastChild.call(this,b);if(this.childrenRendered&&a&&b!=a){a.renderIndent(true,true)}if(this.rendered){this.renderIndent(true,true)}},appendChild:function(b){if(!b.render&&!Ext.isArray(b)){b=this.getLoader().createNode(b)}var a=Ext.tree.TreeNode.superclass.appendChild.call(this,b);if(a&&this.childrenRendered){a.render()}this.ui.updateExpandIcon();return a},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<1){this.collapse(false,false)}else{this.ui.updateExpandIcon()}if(!this.firstChild&&!this.isHiddenRoot()){this.childrenRendered=false}return a},insertBefore:function(c,a){if(!c.render){c=this.getLoader().createNode(c)}var b=Ext.tree.TreeNode.superclass.insertBefore.apply(this,arguments);if(b&&a&&this.childrenRendered){c.render()}this.ui.updateExpandIcon();return b},setText:function(b){var a=this.text;this.text=b;this.attributes.text=b;if(this.rendered){this.ui.onTextChange(this,b,a)}this.fireEvent("textchange",this,b,a)},select:function(){this.getOwnerTree().getSelectionModel().select(this)},unselect:function(){this.getOwnerTree().getSelectionModel().unselect(this)},isSelected:function(){return this.getOwnerTree().getSelectionModel().isSelected(this)},expand:function(a,b,c){if(!this.expanded){if(this.fireEvent("beforeexpand",this,a,b)===false){return}if(!this.childrenRendered){this.renderChildren()}this.expanded=true;if(!this.isHiddenRoot()&&(this.getOwnerTree().animate&&b!==false)||b){this.ui.animExpand(function(){this.fireEvent("expand",this);if(typeof c=="function"){c(this)}if(a===true){this.expandChildNodes(true)}}.createDelegate(this));return}else{this.ui.expand();this.fireEvent("expand",this);if(typeof c=="function"){c(this)}}}else{if(typeof c=="function"){c(this)}}if(a===true){this.expandChildNodes(true)}},isHiddenRoot:function(){return this.isRoot&&!this.getOwnerTree().rootVisible},collapse:function(b,e){if(this.expanded&&!this.isHiddenRoot()){if(this.fireEvent("beforecollapse",this,b,e)===false){return}this.expanded=false;if((this.getOwnerTree().animate&&e!==false)||e){this.ui.animCollapse(function(){this.fireEvent("collapse",this);if(b===true){this.collapseChildNodes(true)}}.createDelegate(this));return}else{this.ui.collapse();this.fireEvent("collapse",this)}}if(b===true){var d=this.childNodes;for(var c=0,a=d.length;c<a;c++){d[c].collapse(true,false)}}},delayedExpand:function(a){if(!this.expandProcId){this.expandProcId=this.expand.defer(a,this)}},cancelExpand:function(){if(this.expandProcId){clearTimeout(this.expandProcId)}this.expandProcId=false},toggle:function(){if(this.expanded){this.collapse()}else{this.expand()}},ensureVisible:function(b){var a=this.getOwnerTree();a.expandPath(this.parentNode?this.parentNode.getPath():this.getPath(),false,function(){var c=a.getNodeById(this.id);a.getTreeEl().scrollChildIntoView(c.ui.anchor);Ext.callback(b)}.createDelegate(this))},expandChildNodes:function(b){var d=this.childNodes;for(var c=0,a=d.length;c<a;c++){d[c].expand(b)}},collapseChildNodes:function(b){var d=this.childNodes;for(var c=0,a=d.length;c<a;c++){d[c].collapse(b)}},disable:function(){this.disabled=true;this.unselect();if(this.rendered&&this.ui.onDisableChange){this.ui.onDisableChange(this,true)}this.fireEvent("disabledchange",this,true)},enable:function(){this.disabled=false;if(this.rendered&&this.ui.onDisableChange){this.ui.onDisableChange(this,false)}this.fireEvent("disabledchange",this,false)},renderChildren:function(b){if(b!==false){this.fireEvent("beforechildrenrendered",this)}var d=this.childNodes;for(var c=0,a=d.length;c<a;c++){d[c].render(true)}this.childrenRendered=true},sort:function(e,d){Ext.tree.TreeNode.superclass.sort.apply(this,arguments);if(this.childrenRendered){var c=this.childNodes;for(var b=0,a=c.length;b<a;b++){c[b].render(true)}}},render:function(a){this.ui.render(a);if(!this.rendered){this.getOwnerTree().registerNode(this);this.rendered=true;if(this.expanded){this.expanded=false;this.expand(false,false)}}},renderIndent:function(b,e){if(e){this.ui.childIndent=null}this.ui.renderIndent();if(b===true&&this.childrenRendered){var d=this.childNodes;for(var c=0,a=d.length;c<a;c++){d[c].renderIndent(true,e)}}},beginUpdate:function(){this.childrenRendered=false},endUpdate:function(){if(this.expanded&&this.rendered){this.renderChildren()}},destroy:function(){if(this.childNodes){for(var b=0,a=this.childNodes.length;b<a;b++){this.childNodes[b].destroy()}this.childNodes=null}if(this.ui.destroy){this.ui.destroy()}}});Ext.tree.TreePanel.nodeTypes.node=Ext.tree.TreeNode;Ext.tree.AsyncTreeNode=function(a){this.loaded=a&&a.loaded===true;this.loading=false;Ext.tree.AsyncTreeNode.superclass.constructor.apply(this,arguments);this.addEvents("beforeload","load")};Ext.extend(Ext.tree.AsyncTreeNode,Ext.tree.TreeNode,{expand:function(b,d,g){if(this.loading){var e;var c=function(){if(!this.loading){clearInterval(e);this.expand(b,d,g)}}.createDelegate(this);e=setInterval(c,200);return}if(!this.loaded){if(this.fireEvent("beforeload",this)===false){return}this.loading=true;this.ui.beforeLoad(this);var a=this.loader||this.attributes.loader||this.getOwnerTree().getLoader();if(a){a.load(this,this.loadComplete.createDelegate(this,[b,d,g]));return}}Ext.tree.AsyncTreeNode.superclass.expand.call(this,b,d,g)},isLoading:function(){return this.loading},loadComplete:function(a,b,c){this.loading=false;this.loaded=true;this.ui.afterLoad(this);this.fireEvent("load",this);this.expand(a,b,c)},isLoaded:function(){return this.loaded},hasChildNodes:function(){if(!this.isLeaf()&&!this.loaded){return true}else{return Ext.tree.AsyncTreeNode.superclass.hasChildNodes.call(this)}},reload:function(a){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,a)}});Ext.tree.TreePanel.nodeTypes.async=Ext.tree.AsyncTreeNode;Ext.tree.TreeNodeUI=function(a){this.node=a;this.rendered=false;this.animating=false;this.wasLeaf=true;this.ecc="x-tree-ec-icon x-tree-elbow";this.emptyIcon=Ext.BLANK_IMAGE_URL};Ext.tree.TreeNodeUI.prototype={removeChild:function(a){if(this.rendered){this.ctNode.removeChild(a.ui.getEl())}},beforeLoad:function(){this.addClass("x-tree-node-loading")},afterLoad:function(){this.removeClass("x-tree-node-loading")},onTextChange:function(b,c,a){if(this.rendered){this.textNode.innerHTML=c}},onDisableChange:function(a,b){this.disabled=b;if(this.checkbox){this.checkbox.disabled=b}if(b){this.addClass("x-tree-node-disabled")}else{this.removeClass("x-tree-node-disabled")}},onSelectedChange:function(a){if(a){this.focus();this.addClass("x-tree-selected")}else{this.removeClass("x-tree-selected")}},onMove:function(a,h,e,g,d,b){this.childIndent=null;if(this.rendered){var i=g.ui.getContainer();if(!i){this.holder=document.createElement("div");this.holder.appendChild(this.wrap);return}var c=b?b.ui.getEl():null;if(c){i.insertBefore(this.wrap,c)}else{i.appendChild(this.wrap)}this.node.renderIndent(true)}},addClass:function(a){if(this.elNode){Ext.fly(this.elNode).addClass(a)}},removeClass:function(a){if(this.elNode){Ext.fly(this.elNode).removeClass(a)}},remove:function(){if(this.rendered){this.holder=document.createElement("div");this.holder.appendChild(this.wrap)}},fireEvent:function(){return this.node.fireEvent.apply(this.node,arguments)},initEvents:function(){this.node.on("move",this.onMove,this);if(this.node.disabled){this.addClass("x-tree-node-disabled");if(this.checkbox){this.checkbox.disabled=true}}if(this.node.hidden){this.hide()}var b=this.node.getOwnerTree();var a=b.enableDD||b.enableDrag||b.enableDrop;if(a&&(!this.node.isRoot||b.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="none"}},show:function(){this.node.hidden=false;if(this.wrap){this.wrap.style.display=""}},onContextMenu:function(a){if(this.node.hasListener("contextmenu")||this.node.getOwnerTree().hasListener("contextmenu")){a.preventDefault();this.focus();this.fireEvent("contextmenu",this.node,a)}},onClick:function(c){if(this.dropping){c.stopEvent();return}if(this.fireEvent("beforeclick",this.node,c)!==false){var b=c.getTarget("a");if(!this.disabled&&this.node.attributes.href&&b){this.fireEvent("click",this.node,c);return}else{if(b&&c.ctrlKey){c.stopEvent()}}c.preventDefault();if(this.disabled){return}if(this.node.attributes.singleClickExpand&&!this.animating&&this.node.isExpandable()){this.node.toggle()}this.fireEvent("click",this.node,c)}else{c.stopEvent()}},onDblClick:function(a){a.preventDefault();if(this.disabled){return}if(this.checkbox){this.toggleCheck()}if(!this.animating&&this.node.isExpandable()){this.node.toggle()}this.fireEvent("dblclick",this.node,a)},onOver:function(a){this.addClass("x-tree-node-over")},onOut:function(a){this.removeClass("x-tree-node-over")},onCheckChange:function(){var a=this.checkbox.checked;this.checkbox.defaultChecked=a;this.node.attributes.checked=a;this.fireEvent("checkchange",this.node,a)},ecClick:function(a){if(!this.animating&&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=""},focus:function(){if(!this.node.preventHScroll){try{this.anchor.focus()}catch(c){}}else{try{var b=this.node.getOwnerTree().getTreeEl().dom;var a=b.scrollLeft;this.anchor.focus();b.scrollLeft=a}catch(c){}}},toggleCheck:function(b){var a=this.checkbox;if(a){a.checked=(b===undefined?!a.checked:b);this.onCheckChange()}},blur:function(){try{this.anchor.blur()}catch(a){}},animExpand:function(b){var a=Ext.get(this.ctNode);a.stopFx();if(!this.node.isExpandable()){this.updateExpandIcon();this.ctNode.style.display="";Ext.callback(b);return}this.animating=true;this.updateExpandIcon();a.slideIn("t",{callback:function(){this.animating=false;Ext.callback(b)},scope:this,duration:this.node.ownerTree.duration||0.25})},highlight:function(){var a=this.node.getOwnerTree();Ext.fly(this.wrap).highlight(a.hlColor||"C3DAF9",{endColor:a.hlBaseColor})},collapse:function(){this.updateExpandIcon();this.ctNode.style.display="none"},animCollapse:function(b){var a=Ext.get(this.ctNode);a.enableDisplayMode("block");a.stopFx();this.animating=true;this.updateExpandIcon();a.slideOut("t",{callback:function(){this.animating=false;Ext.callback(b)},scope:this,duration:this.node.ownerTree.duration||0.25})},getContainer:function(){return this.ctNode},getEl:function(){return this.wrap},appendDDGhost:function(a){a.appendChild(this.elNode.cloneNode(true))},getDDRepairXY:function(){return Ext.lib.Dom.getXY(this.iconNode)},onRender:function(){this.render()},render:function(c){var e=this.node,b=e.attributes;var d=e.parentNode?e.parentNode.ui.getContainer():e.ownerTree.innerCt.dom;if(!this.rendered){this.rendered=true;this.renderElements(e,b,d,c);if(b.qtip){if(this.textNode.setAttributeNS){this.textNode.setAttributeNS("ext","qtip",b.qtip);if(b.qtipTitle){this.textNode.setAttributeNS("ext","qtitle",b.qtipTitle)}}else{this.textNode.setAttribute("ext:qtip",b.qtip);if(b.qtipTitle){this.textNode.setAttribute("ext:qtitle",b.qtipTitle)}}}else{if(b.qtipCfg){b.qtipCfg.target=Ext.id(this.textNode);Ext.QuickTips.register(b.qtipCfg)}}this.initEvents();if(!this.node.expanded){this.updateExpandIcon(true)}}else{if(c===true){d.appendChild(this.wrap)}}},renderElements:function(e,l,k,m){this.indentMarkup=e.parentNode?e.parentNode.ui.getChildIndent():"";var g=typeof l.checked=="boolean";var c=l.href?l.href:Ext.isGecko?"":"#";var d=['<li class="x-tree-node"><div ext:tree-node-id="',e.id,'" class="x-tree-node-el x-tree-node-leaf x-unselectable ',l.cls,'" unselectable="on">','<span class="x-tree-node-indent">',this.indentMarkup,"</span>",'<img src="',this.emptyIcon,'" class="x-tree-ec-icon x-tree-elbow" />','<img src="',l.icon||this.emptyIcon,'" class="x-tree-node-icon',(l.icon?" x-tree-node-inline-icon":""),(l.iconCls?" "+l.iconCls:""),'" unselectable="on" />',g?('<input class="x-tree-node-cb" type="checkbox" '+(l.checked?'checked="checked" />':"/>")):"",'<a hidefocus="on" class="x-tree-node-anchor" href="',c,'" tabIndex="1" ',l.hrefTarget?' target="'+l.hrefTarget+'"':"",'><span unselectable="on">',e.text,"</span></a></div>",'<ul class="x-tree-node-ct" style="display:none;"></ul>',"</li>"].join("");var b;if(m!==true&&e.nextSibling&&(b=e.nextSibling.ui.getEl())){this.wrap=Ext.DomHelper.insertHtml("beforeBegin",b,d)}else{this.wrap=Ext.DomHelper.insertHtml("beforeEnd",k,d)}this.elNode=this.wrap.childNodes[0];this.ctNode=this.wrap.childNodes[1];var i=this.elNode.childNodes;this.indentNode=i[0];this.ecNode=i[1];this.iconNode=i[2];var h=3;if(g){this.checkbox=i[3];this.checkbox.defaultChecked=this.checkbox.checked;h++}this.anchor=i[h];this.textNode=i[h].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 e=this.node,d,c;var a=e.isLast()?"x-tree-elbow-end":"x-tree-elbow";if(e.isExpandable()){if(e.expanded){a+="-minus";d="x-tree-node-collapsed";c="x-tree-node-expanded"}else{a+="-plus";d="x-tree-node-expanded";c="x-tree-node-collapsed"}if(this.wasLeaf){this.removeClass("x-tree-node-leaf");this.wasLeaf=false}if(this.c1!=d||this.c2!=c){Ext.fly(this.elNode).replaceClass(d,c);this.c1=d;this.c2=c}}else{if(!this.wasLeaf){Ext.fly(this.elNode).replaceClass("x-tree-node-expanded","x-tree-node-leaf");delete this.c1;delete this.c2;this.wasLeaf=true}}var b="x-tree-ec-icon "+a;if(this.ecc!=b){this.ecNode.className=b;this.ecc=b}}},getChildIndent:function(){if(!this.childIndent){var a=[];var b=this.node;while(b){if(!b.isRoot||(b.isRoot&&b.ownerTree.rootVisible)){if(!b.isLast()){a.unshift('<img src="'+this.emptyIcon+'" class="x-tree-elbow-line" />')}else{a.unshift('<img src="'+this.emptyIcon+'" class="x-tree-icon" />')}}b=b.parentNode}this.childIndent=a.join("")}return this.childIndent},renderIndent:function(){if(this.rendered){var a="";var b=this.node.parentNode;if(b){a=b.ui.getChildIndent()}if(this.indentMarkup!=a){this.indentNode.innerHTML=a;this.indentMarkup=a}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 a=this.node.ownerTree.innerCt.dom;this.node.expanded=true;a.innerHTML='<div class="x-tree-root-node"></div>';this.wrap=this.ctNode=a.firstChild}},collapse:Ext.emptyFn,expand:Ext.emptyFn});Ext.tree.TreeLoader=function(a){this.baseParams={};Ext.apply(this,a);this.addEvents("beforeload","load","loadexception");Ext.tree.TreeLoader.superclass.constructor.call(this)};Ext.extend(Ext.tree.TreeLoader,Ext.util.Observable,{uiProviders:{},clearOnLoad:true,load:function(a,b){if(this.clearOnLoad){while(a.firstChild){a.removeChild(a.firstChild)}}if(this.doPreload(a)){if(typeof b=="function"){b()}}else{if(this.dataUrl||this.url){this.requestData(a,b)}}},doPreload:function(d){if(d.attributes.children){if(d.childNodes.length<1){var c=d.attributes.children;d.beginUpdate();for(var b=0,a=c.length;b<a;b++){var e=d.appendChild(this.createNode(c[b]));if(this.preloadChildren){this.doPreload(e)}}d.endUpdate()}return true}else{return false}},getParams:function(d){var a=[],c=this.baseParams;for(var b in c){if(typeof c[b]!="function"){a.push(encodeURIComponent(b),"=",encodeURIComponent(c[b]),"&")}}a.push("node=",encodeURIComponent(d.id));return a.join("")},requestData:function(a,b){if(this.fireEvent("beforeload",this,a,b)!==false){this.transId=Ext.Ajax.request({method:this.requestMethod,url:this.dataUrl||this.url,success:this.handleResponse,failure:this.handleFailure,scope:this,argument:{callback:b,node:a},params:this.getParams(a)})}else{if(typeof b=="function"){b()}}},isLoading:function(){return !!this.transId},abort:function(){if(this.isLoading()){Ext.Ajax.abort(this.transId)}},createNode:function(attr){if(this.baseAttrs){Ext.applyIf(attr,this.baseAttrs)}if(this.applyLoader!==false){attr.loader=this}if(typeof attr.uiProvider=="string"){attr.uiProvider=this.uiProviders[attr.uiProvider]||eval(attr.uiProvider)}if(attr.nodeType){return new Ext.tree.TreePanel.nodeTypes[attr.nodeType](attr)}else{return attr.leaf?new Ext.tree.TreeNode(attr):new Ext.tree.AsyncTreeNode(attr)}},processResponse:function(response,node,callback){var json=response.responseText;try{var o=eval("("+json+")");node.beginUpdate();for(var i=0,len=o.length;i<len;i++){var n=this.createNode(o[i]);if(n){node.appendChild(n)}}node.endUpdate();if(typeof callback=="function"){callback(this,node)}}catch(e){this.handleFailure(response)}},handleResponse:function(c){this.transId=false;var b=c.argument;this.processResponse(c,b.node,b.callback);this.fireEvent("load",this,b.node,c)},handleFailure:function(c){this.transId=false;var b=c.argument;this.fireEvent("loadexception",this,b.node,c);if(typeof b.callback=="function"){b.callback(this,b.node)}}});Ext.tree.TreeFilter=function(a,b){this.tree=a;this.filtered={};Ext.apply(this,b)};Ext.tree.TreeFilter.prototype={clearBlank:false,reverse:false,autoClear:false,remove:false,filter:function(d,a,b){a=a||"text";var c;if(typeof d=="string"){var e=d.length;if(e==0&&this.clearBlank){this.clear();return}d=d.toLowerCase();c=function(g){return g.attributes[a].substr(0,e).toLowerCase()==d}}else{if(d.exec){c=function(g){return d.test(g.attributes[a])}}else{throw"Illegal filter type, must be string or regex"}}this.filterBy(c,null,b)},filterBy:function(d,c,b){b=b||this.tree.root;if(this.autoClear){this.clear()}var a=this.filtered,i=this.reverse;var e=function(l){if(l==b){return true}if(a[l.id]){return false}var k=d.call(c||l,l);if(!k||i){a[l.id]=l;l.ui.hide();return false}return true};b.cascade(e);if(this.remove){for(var h in a){if(typeof h!="function"){var g=a[h];if(g&&g.parentNode){g.parentNode.removeChild(g)}}}}},clear:function(){var b=this.tree;var a=this.filtered;for(var d in a){if(typeof d!="function"){var c=a[d];if(c){c.ui.show()}}}this.filtered={}}};Ext.tree.TreeSorter=function(b,c){Ext.apply(this,c);b.on("beforechildrenrendered",this.doSort,this);b.on("append",this.updateSort,this);b.on("insert",this.updateSort,this);b.on("textchange",this.updateSortParent,this);var e=this.dir&&this.dir.toLowerCase()=="desc";var g=this.property||"text";var h=this.sortType;var a=this.folderSort;var d=this.caseSensitive===true;var i=this.leafAttr||"leaf";this.sortFn=function(l,k){if(a){if(l.attributes[i]&&!k.attributes[i]){return 1}if(!l.attributes[i]&&k.attributes[i]){return -1}}var n=h?h(l):(d?l.attributes[g]:l.attributes[g].toUpperCase());var m=h?h(k):(d?k.attributes[g]:k.attributes[g].toUpperCase());if(n<m){return e?+1:-1}else{if(n>m){return e?-1:+1}else{return 0}}}};Ext.tree.TreeSorter.prototype={doSort:function(a){a.sort(this.sortFn)},compareNodes:function(b,a){return(b.text.toUpperCase()>a.text.toUpperCase()?1:-1)},updateSort:function(a,b){if(b.childrenRendered){this.doSort.defer(1,this,[b])}},updateSortParent:function(a){var b=a.parentNode;if(b&&b.childrenRendered){this.doSort.defer(1,this,[b])}}};if(Ext.dd.DropZone){Ext.tree.TreeDropZone=function(a,b){this.allowParentInsert=false;this.allowContainerDrop=false;this.appendOnly=false;Ext.tree.TreeDropZone.superclass.constructor.call(this,a.innerCt,b);this.tree=a;this.dragOverData={};this.lastInsertClass="x-tree-no-status"};Ext.extend(Ext.tree.TreeDropZone,Ext.dd.DropZone,{ddGroup:"TreeDD",expandDelay:1000,expandNode:function(a){if(a.hasChildNodes()&&!a.isExpanded()){a.expand(false,null,this.triggerCacheRefresh.createDelegate(this))}},queueExpand:function(a){this.expandProcId=this.expandNode.defer(this.expandDelay,this,[a])},cancelExpand:function(){if(this.expandProcId){clearTimeout(this.expandProcId);this.expandProcId=false}},isValidDropPoint:function(a,l,i,d,c){if(!a||!c){return false}var g=a.node;var h=c.node;if(!(g&&g.isTarget&&l)){return false}if(l=="append"&&g.allowChildren===false){return false}if((l=="above"||l=="below")&&(g.parentNode&&g.parentNode.allowChildren===false)){return false}if(h&&(g==h||h.contains(g))){return false}var b=this.dragOverData;b.tree=this.tree;b.target=g;b.data=c;b.point=l;b.source=i;b.rawEvent=d;b.dropNode=h;b.cancel=false;var k=this.tree.fireEvent("nodedragover",b);return b.cancel===false&&k!==false},getDropPoint:function(h,g,m){var o=g.node;if(o.isRoot){return o.allowChildren!==false?"append":false}var c=g.ddel;var p=Ext.lib.Dom.getY(c),k=p+c.offsetHeight;var i=Ext.lib.Event.getPageY(h);var l=o.allowChildren===false||o.isLeaf();if(this.appendOnly||o.parentNode.allowChildren===false){return l?false:"append"}var d=false;if(!this.allowParentInsert){d=o.hasChildNodes()&&o.isExpanded()}var a=(k-p)/(l?2:3);if(i>=p&&i<(p+a)){return"above"}else{if(!d&&(l||i>=k-a&&i<=k)){return"below"}else{return"append"}}},onNodeEnter:function(d,a,c,b){this.cancelExpand()},onNodeOver:function(b,i,h,g){var l=this.getDropPoint(h,b,i);var c=b.node;if(!this.expandProcId&&l=="append"&&c.hasChildNodes()&&!b.node.isExpanded()){this.queueExpand(c)}else{if(l!="append"){this.cancelExpand()}}var d=this.dropNotAllowed;if(this.isValidDropPoint(b,l,i,h,g)){if(l){var a=b.ddel;var k;if(l=="above"){d=b.node.isFirst()?"x-tree-drop-ok-above":"x-tree-drop-ok-between";k="x-tree-drag-insert-above"}else{if(l=="below"){d=b.node.isLast()?"x-tree-drop-ok-below":"x-tree-drop-ok-between";k="x-tree-drag-insert-below"}else{d="x-tree-drop-ok-append";k="x-tree-drag-append"}}if(this.lastInsertClass!=k){Ext.fly(a).replaceClass(this.lastInsertClass,k);this.lastInsertClass=k}}}return d},onNodeOut:function(d,a,c,b){this.cancelExpand();this.removeDropIndicators(d)},onNodeDrop:function(c,l,g,d){var k=this.getDropPoint(g,c,l);var h=c.node;h.ui.startDrop();if(!this.isValidDropPoint(c,k,l,g,d)){h.ui.endDrop();return false}var i=d.node||(l.getTreeNode?l.getTreeNode(d,h,k,g):null);var b={tree:this.tree,target:h,data:d,point:k,source:l,rawEvent:g,dropNode:i,cancel:!i,dropStatus:false};var a=this.tree.fireEvent("beforenodedrop",b);if(a===false||b.cancel===true||!b.dropNode){h.ui.endDrop();return b.dropStatus}h=b.target;if(k=="append"&&!h.isExpanded()){h.expand(false,null,function(){this.completeDrop(b)}.createDelegate(this))}else{this.completeDrop(b)}return true},completeDrop:function(h){var d=h.dropNode,e=h.point,c=h.target;if(!Ext.isArray(d)){d=[d]}var g;for(var b=0,a=d.length;b<a;b++){g=d[b];if(e=="above"){c.parentNode.insertBefore(g,c)}else{if(e=="below"){c.parentNode.insertBefore(g,c.nextSibling)}else{c.appendChild(g)}}}g.ui.focus();if(Ext.enableFx&&this.tree.hlDrop){g.ui.highlight()}c.ui.endDrop();this.tree.fireEvent("nodedrop",h)},afterNodeMoved:function(a,c,g,d,b){if(Ext.enableFx&&this.tree.hlDrop){b.ui.focus();b.ui.highlight()}this.tree.fireEvent("nodedrop",this.tree,d,c,a,g)},getTree:function(){return this.tree},removeDropIndicators:function(b){if(b&&b.ddel){var a=b.ddel;Ext.fly(a).removeClass(["x-tree-drag-insert-above","x-tree-drag-insert-below","x-tree-drag-append"]);this.lastInsertClass="_noclass"}},beforeDragDrop:function(b,a,c){this.cancelExpand();return true},afterRepair:function(a){if(a&&Ext.enableFx){a.node.ui.highlight()}this.hideProxy()}})}if(Ext.dd.DragZone){Ext.tree.TreeDragZone=function(a,b){Ext.tree.TreeDragZone.superclass.constructor.call(this,a.getTreeEl(),b);this.tree=a};Ext.extend(Ext.tree.TreeDragZone,Ext.dd.DragZone,{ddGroup:"TreeDD",onBeforeDrag:function(a,b){var c=a.node;return c&&c.draggable&&!c.disabled},onInitDrag:function(b){var a=this.dragData;this.tree.getSelectionModel().select(a.node);this.tree.eventModel.disable();this.proxy.update("");a.node.ui.appendDDGhost(this.proxy.ghost.dom);this.tree.fireEvent("startdrag",this.tree,a.node,b)},getRepairXY:function(b,a){return a.node.ui.getDDRepairXY()},onEndDrag:function(a,b){this.tree.eventModel.enable.defer(100,this.tree.eventModel);this.tree.fireEvent("enddrag",this.tree,a.node,b)},onValidDrop:function(a,b,c){this.tree.fireEvent("dragdrop",this.tree,this.dragData.node,a,b);this.hideProxy()},beforeInvalidDrop:function(a,c){var b=this.tree.getSelectionModel();b.clearSelections();b.select(this.dragData.node)},afterRepair:function(){if(Ext.enableFx&&this.tree.hlDrop){Ext.Element.fly(this.dragData.ddel).highlight(this.hlColor||"c3daf9")}this.dragging=false}})}Ext.tree.TreeEditor=function(a,c,b){c=c||{};var d=c.events?c:new Ext.form.TextField(c);Ext.tree.TreeEditor.superclass.constructor.call(this,d,b);this.tree=a;if(!a.rendered){a.on("render",this.initEditor,this)}else{this.initEditor(a)}};Ext.extend(Ext.tree.TreeEditor,Ext.Editor,{alignment:"l-l",autoSize:false,hideEl:false,cls:"x-small-editor x-tree-editor",shim:false,shadow:"frame",maxWidth:250,editDelay:350,initEditor:function(a){a.on("beforeclick",this.beforeNodeClick,this);a.on("dblclick",this.onNodeDblClick,this);this.on("complete",this.updateNode,this);this.on("beforestartedit",this.fitToTree,this);this.on("startedit",this.bindScroll,this,{delay:10});this.on("specialkey",this.onSpecialKey,this)},fitToTree:function(b,c){var e=this.tree.getTreeEl().dom,d=c.dom;if(e.scrollLeft>d.offsetLeft){e.scrollLeft=d.offsetLeft}var a=Math.min(this.maxWidth,(e.clientWidth>20?e.clientWidth:e.offsetWidth)-Math.max(0,d.offsetLeft-e.scrollLeft)-5);this.setSize(a,"")},triggerEdit:function(a,b){this.completeEdit();if(a.attributes.editable!==false){this.editNode=a;if(this.tree.autoScroll){a.ui.getEl().scrollIntoView(this.tree.body)}this.autoEditTimer=this.startEdit.defer(this.editDelay,this,[a.ui.textNode,a.text]);return false}},bindScroll:function(){this.tree.getTreeEl().on("scroll",this.cancelEdit,this)},beforeNodeClick:function(a,b){clearTimeout(this.autoEditTimer);if(this.tree.getSelectionModel().isSelected(a)){b.stopEvent();return this.triggerEdit(a)}},onNodeDblClick:function(a,b){clearTimeout(this.autoEditTimer)},updateNode:function(a,b){this.tree.getTreeEl().un("scroll",this.cancelEdit,this);this.editNode.setText(b)},onHide:function(){Ext.tree.TreeEditor.superclass.onHide.call(this);if(this.editNode){this.editNode.ui.focus.defer(50,this.editNode.ui)}},onSpecialKey:function(c,b){var a=b.getKey();if(a==b.ESC){b.stopEvent();this.cancelEdit()}else{if(a==b.ENTER&&!b.hasModifier()){b.stopEvent();this.completeEdit()}}}});Ext.menu.Menu=function(a){if(Ext.isArray(a)){a={items:a}}Ext.apply(this,a);this.id=this.id||Ext.id();this.addEvents("beforeshow","beforehide","show","hide","click","mouseover","mouseout","itemclick");Ext.menu.MenuMgr.register(this);Ext.menu.Menu.superclass.constructor.call(this);var b=this.items;this.items=new Ext.util.MixedCollection();if(b){this.add.apply(this,b)}};Ext.extend(Ext.menu.Menu,Ext.util.Observable,{minWidth:120,shadow:"sides",subMenuAlign:"tl-tr?",defaultAlign:"tl-bl?",allowOtherMenus:false,ignoreParentClicks:false,hidden:true,createEl:function(){return new Ext.Layer({cls:"x-menu",shadow:this.shadow,constrain:false,parentEl:this.parentEl||document.body,zindex:15000})},render:function(){if(this.el){return}var b=this.el=this.createEl();if(!this.keyNav){this.keyNav=new Ext.menu.MenuNav(this)}if(this.plain){b.addClass("x-menu-plain")}if(this.cls){b.addClass(this.cls)}this.focusEl=b.createChild({tag:"a",cls:"x-menu-focus",href:"#",onclick:"return false;",tabIndex:"-1"});var a=b.createChild({tag:"ul",cls:"x-menu-list"});a.on("click",this.onClick,this);a.on("mouseover",this.onMouseOver,this);a.on("mouseout",this.onMouseOut,this);this.items.each(function(d){var c=document.createElement("li");c.className="x-menu-list-item";a.dom.appendChild(c);d.render(c,this)},this);this.ul=a;this.autoWidth()},autoWidth:function(){var d=this.el,c=this.ul;if(!d){return}var a=this.width;if(a){d.setWidth(a)}else{if(Ext.isIE){d.setWidth(this.minWidth);var b=d.dom.offsetWidth;d.setWidth(c.getWidth()+d.getFrameWidth("lr"))}}},delayAutoWidth:function(){if(this.el){if(!this.awTask){this.awTask=new Ext.util.DelayedTask(this.autoWidth,this)}this.awTask.delay(20)}},findTargetItem:function(b){var a=b.getTarget(".x-menu-list-item",this.ul,true);if(a&&a.menuItemId){return this.items.get(a.menuItemId)}},onClick:function(b){var a;if(a=this.findTargetItem(b)){if(a.menu&&this.ignoreParentClicks){a.expandMenu()}else{a.onClick(b);this.fireEvent("click",this,a,b)}}},setActiveItem:function(a,b){if(a!=this.activeItem){if(this.activeItem){this.activeItem.deactivate()}this.activeItem=a;a.activate(b)}else{if(b){a.expandMenu()}}},tryActivate:function(g,e){var b=this.items;for(var c=g,a=b.length;c>=0&&c<a;c+=e){var d=b.get(c);if(!d.disabled&&d.canActivate){this.setActiveItem(d,false);return d}}return false},onMouseOver:function(b){var a;if(a=this.findTargetItem(b)){if(a.canActivate&&!a.disabled){this.setActiveItem(a,true)}}this.over=true;this.fireEvent("mouseover",this,b,a)},onMouseOut:function(b){var a;if(a=this.findTargetItem(b)){if(a==this.activeItem&&a.shouldDeactivate(b)){this.activeItem.deactivate();delete this.activeItem}}this.over=false;this.fireEvent("mouseout",this,b,a)},isVisible:function(){return this.el&&!this.hidden},show:function(b,c,a){this.parentMenu=a;if(!this.el){this.render()}this.fireEvent("beforeshow",this);this.showAt(this.el.getAlignToXY(b,c||this.defaultAlign),a,false)},showAt:function(c,b,a){this.parentMenu=b;if(!this.el){this.render()}if(a!==false){this.fireEvent("beforeshow",this);c=this.el.adjustForConstraints(c)}this.el.setXY(c);this.el.show();this.hidden=false;this.focus();this.fireEvent("show",this)},focus:function(){if(!this.hidden){this.doFocus.defer(50,this)}},doFocus:function(){if(!this.hidden){this.focusEl.focus()}},hide:function(a){if(this.el&&this.isVisible()){this.fireEvent("beforehide",this);if(this.activeItem){this.activeItem.deactivate();this.activeItem=null}this.el.hide();this.hidden=true;this.fireEvent("hide",this)}if(a===true&&this.parentMenu){this.parentMenu.hide(true)}},add:function(){var c=arguments,b=c.length,g;for(var d=0;d<b;d++){var e=c[d];if(e.render){g=this.addItem(e)}else{if(typeof e=="string"){if(e=="separator"||e=="-"){g=this.addSeparator()}else{g=this.addText(e)}}else{if(e.tagName||e.el){g=this.addElement(e)}else{if(typeof e=="object"){Ext.applyIf(e,this.defaults);g=this.addMenuItem(e)}}}}}return g},getEl:function(){if(!this.el){this.render()}return this.el},addSeparator:function(){return this.addItem(new Ext.menu.Separator())},addElement:function(a){return this.addItem(new Ext.menu.BaseItem(a))},addItem:function(b){this.items.add(b);if(this.ul){var a=document.createElement("li");a.className="x-menu-list-item";this.ul.dom.appendChild(a);b.render(a,this);this.delayAutoWidth()}return b},addMenuItem:function(a){if(!(a instanceof Ext.menu.Item)){if(typeof a.checked=="boolean"){a=new Ext.menu.CheckItem(a)}else{a=new Ext.menu.Item(a)}}return this.addItem(a)},addText:function(a){return this.addItem(new Ext.menu.TextItem(a))},insert:function(b,c){this.items.insert(b,c);if(this.ul){var a=document.createElement("li");a.className="x-menu-list-item";this.ul.dom.insertBefore(a,this.ul.dom.childNodes[b]);c.render(a,this);this.delayAutoWidth()}return c},remove:function(a){this.items.removeKey(a.id);a.destroy()},removeAll:function(){if(this.items){var a;while(a=this.items.first()){this.remove(a)}}},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(a){Ext.menu.MenuNav.superclass.constructor.call(this,a.el);this.scope=this.menu=a};Ext.extend(Ext.menu.MenuNav,Ext.KeyNav,{doRelay:function(c,b){var a=c.getKey();if(!this.menu.activeItem&&c.isNavKeyPress()&&a!=c.SPACE&&a!=c.RETURN){this.menu.tryActivate(0,1);return false}return b.call(this.scope||this,c,this.menu)},up:function(b,a){if(!a.tryActivate(a.items.indexOf(a.activeItem)-1,-1)){a.tryActivate(a.items.length-1,-1)}},down:function(b,a){if(!a.tryActivate(a.items.indexOf(a.activeItem)+1,1)){a.tryActivate(0,1)}},right:function(b,a){if(a.activeItem){a.activeItem.expandMenu(true)}},left:function(b,a){a.hide();if(a.parentMenu&&a.parentMenu.activeItem){a.parentMenu.activeItem.activate()}},enter:function(b,a){if(a.activeItem){b.stopPropagation();a.activeItem.onClick(b);a.fireEvent("click",this,a.activeItem);return true}}});Ext.menu.MenuMgr=function(){var g,d,c={},a=false,m=new Date();function o(){g={};d=new Ext.util.MixedCollection();Ext.getDoc().addKeyListener(27,function(){if(d.length>0){i()}})}function i(){if(d&&d.length>0){var p=d.clone();p.each(function(q){q.hide()})}}function e(p){d.remove(p);if(d.length<1){Ext.getDoc().un("mousedown",n);a=false}}function l(p){var q=d.last();m=new Date();d.add(p);if(!a){Ext.getDoc().on("mousedown",n);a=true}if(p.parentMenu){p.getEl().setZIndex(parseInt(p.parentMenu.getEl().getStyle("z-index"),10)+3);p.parentMenu.activeChild=p}else{if(q&&q.isVisible()){p.getEl().setZIndex(parseInt(q.getEl().getStyle("z-index"),10)+3)}}}function b(p){if(p.activeChild){p.activeChild.hide()}if(p.autoHideTimer){clearTimeout(p.autoHideTimer);delete p.autoHideTimer}}function h(p){var q=p.parentMenu;if(!q&&!p.allowOtherMenus){i()}else{if(q&&q.activeChild){q.activeChild.hide()}}}function n(p){if(m.getElapsed()>50&&d.length>0&&!p.getTarget(".x-menu")){i()}}function k(q,t){if(t){var s=c[q.group];for(var r=0,p=s.length;r<p;r++){if(s[r]!=q){s[r].setChecked(false)}}}}return{hideAll:function(){i()},register:function(q){if(!g){o()}g[q.id]=q;q.on("beforehide",b);q.on("hide",e);q.on("beforeshow",h);q.on("show",l);var p=q.group;if(p&&q.events.checkchange){if(!c[p]){c[p]=[]}c[p].push(q);q.on("checkchange",onCheck)}},get:function(p){if(typeof p=="string"){if(!g){return null}return g[p]}else{if(p.events){return p}else{if(typeof p.length=="number"){return new Ext.menu.Menu({items:p})}else{return new Ext.menu.Menu(p)}}}},unregister:function(q){delete g[q.id];q.un("beforehide",b);q.un("hide",e);q.un("beforeshow",h);q.un("show",l);var p=q.group;if(p&&q.events.checkchange){c[p].remove(q);q.un("checkchange",onCheck)}},registerCheckable:function(p){var q=p.group;if(q){if(!c[q]){c[q]=[]}c[q].push(p);p.on("beforecheckchange",k)}},unregisterCheckable:function(p){var q=p.group;if(q){c[q].remove(p);p.un("beforecheckchange",k)}},getCheckedItem:function(r){var s=c[r];if(s){for(var q=0,p=s.length;q<p;q++){if(s[q].checked){return s[q]}}}return null},setCheckedItem:function(r,t){var s=c[r];if(s){for(var q=0,p=s.length;q<p;q++){if(s[q].id==t){s[q].setChecked(true)}}}return null}}}();Ext.menu.BaseItem=function(a){Ext.menu.BaseItem.superclass.constructor.call(this,a);this.addEvents("click","activate","deactivate");if(this.handler){this.on("click",this.handler,this.scope)}};Ext.extend(Ext.menu.BaseItem,Ext.Component,{canActivate:false,activeClass:"x-menu-item-active",hideOnClick:true,hideDelay:100,ctype:"Ext.menu.BaseItem",actionMode:"container",render:function(a,b){this.parentMenu=b;Ext.menu.BaseItem.superclass.render.call(this,a);this.container.menuItemId=this.id},onRender:function(b,a){this.el=Ext.get(this.el);if(this.id){this.el.id=this.id}b.dom.appendChild(this.el.dom)},setHandler:function(b,a){if(this.handler){this.un("click",this.handler,this.scope)}this.on("click",this.handler=b,this.scope=a)},onClick:function(a){if(!this.disabled&&this.fireEvent("click",this,a)!==false&&this.parentMenu.fireEvent("itemclick",this,a)!==false){this.handleClick(a)}else{a.stopEvent()}},activate:function(){if(this.disabled){return false}var a=this.container;a.addClass(this.activeClass);this.region=a.getRegion().adjust(2,2,-2,-2);this.fireEvent("activate",this);return true},deactivate:function(){this.container.removeClass(this.activeClass);this.fireEvent("deactivate",this)},shouldDeactivate:function(a){return !this.region||!this.region.contains(a.getPoint())},handleClick:function(a){if(this.hideOnClick){this.parentMenu.hide.defer(this.hideDelay,this.parentMenu,[true])}},expandMenu:function(a){},hideMenu:function(){}});Ext.menu.TextItem=function(a){if(typeof a=="string"){a={text:a}}Ext.menu.TextItem.superclass.constructor.call(this,a)};Ext.extend(Ext.menu.TextItem,Ext.menu.BaseItem,{hideOnClick:false,itemCls:"x-menu-text",onRender:function(){var a=document.createElement("span");a.className=this.itemCls;a.innerHTML=this.text;this.el=a;Ext.menu.TextItem.superclass.onRender.apply(this,arguments)}});Ext.menu.Separator=function(a){Ext.menu.Separator.superclass.constructor.call(this,a)};Ext.extend(Ext.menu.Separator,Ext.menu.BaseItem,{itemCls:"x-menu-sep",hideOnClick:false,onRender:function(a){var b=document.createElement("span");b.className=this.itemCls;b.innerHTML="&#160;";this.el=b;a.addClass("x-menu-sep-li");Ext.menu.Separator.superclass.onRender.apply(this,arguments)}});Ext.menu.Item=function(a){Ext.menu.Item.superclass.constructor.call(this,a);if(this.menu){this.menu=Ext.menu.MenuMgr.get(this.menu)}};Ext.extend(Ext.menu.Item,Ext.menu.BaseItem,{itemCls:"x-menu-item",canActivate:true,showDelay:200,hideDelay:200,ctype:"Ext.menu.Item",onRender:function(b,a){var c=document.createElement("a");c.hideFocus=true;c.unselectable="on";c.href=this.href||"#";if(this.hrefTarget){c.target=this.hrefTarget}c.className=this.itemCls+(this.menu?" x-menu-item-arrow":"")+(this.cls?" "+this.cls:"");c.innerHTML=String.format('<img src="{0}" class="x-menu-item-icon {2}" />{1}',this.icon||Ext.BLANK_IMAGE_URL,this.itemText||this.text,this.iconCls||"");this.el=c;Ext.menu.Item.superclass.onRender.call(this,b,a)},setText:function(a){this.text=a;if(this.rendered){this.el.update(String.format('<img src="{0}" class="x-menu-item-icon {2}">{1}',this.icon||Ext.BLANK_IMAGE_URL,this.text,this.iconCls||""));this.parentMenu.autoWidth()}},setIconClass:function(a){var b=this.iconCls;this.iconCls=a;if(this.rendered){this.el.child("img.x-menu-item-icon").replaceClass(b,this.iconCls)}},beforeDestroy:function(){if(this.menu){this.menu.destroy()}Ext.menu.Item.superclass.beforeDestroy.call(this)},handleClick:function(a){if(!this.href){a.stopEvent()}Ext.menu.Item.superclass.handleClick.apply(this,arguments)},activate:function(a){if(Ext.menu.Item.superclass.activate.apply(this,arguments)){this.focus();if(a){this.expandMenu()}}return true},shouldDeactivate:function(a){if(Ext.menu.Item.superclass.shouldDeactivate.call(this,a)){if(this.menu&&this.menu.isVisible()){return !this.menu.getEl().getRegion().contains(a.getPoint())}return true}return false},deactivate:function(){Ext.menu.Item.superclass.deactivate.apply(this,arguments);this.hideMenu()},expandMenu:function(a){if(!this.disabled&&this.menu){clearTimeout(this.hideTimer);delete this.hideTimer;if(!this.menu.isVisible()&&!this.showTimer){this.showTimer=this.deferExpand.defer(this.showDelay,this,[a])}else{if(this.menu.isVisible()&&a){this.menu.tryActivate(0,1)}}}},deferExpand:function(a){delete this.showTimer;this.menu.show(this.container,this.parentMenu.subMenuAlign||"tl-tr?",this.parentMenu);if(a){this.menu.tryActivate(0,1)}},hideMenu:function(){clearTimeout(this.showTimer);delete this.showTimer;if(!this.hideTimer&&this.menu&&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(a){Ext.menu.CheckItem.superclass.constructor.call(this,a);this.addEvents("beforecheckchange","checkchange");if(this.checkHandler){this.on("checkchange",this.checkHandler,this.scope)}Ext.menu.MenuMgr.registerCheckable(this)};Ext.extend(Ext.menu.CheckItem,Ext.menu.Item,{itemCls:"x-menu-item x-menu-check-item",groupClass:"x-menu-group-item",checked:false,ctype:"Ext.menu.CheckItem",onRender:function(a){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(b,a){if(this.checked!=b&&this.fireEvent("beforecheckchange",this,b)!==false){if(this.container){this.container[b?"addClass":"removeClass"]("x-menu-item-checked")}this.checked=b;if(a!==true){this.fireEvent("checkchange",this,b)}}},handleClick:function(a){if(!this.disabled&&!(this.checked&&this.group)){this.setChecked(!this.checked)}Ext.menu.CheckItem.superclass.handleClick.apply(this,arguments)}});Ext.menu.Adapter=function(b,a){Ext.menu.Adapter.superclass.constructor.call(this,a);this.component=b};Ext.extend(Ext.menu.Adapter,Ext.menu.BaseItem,{canActivate:true,onRender:function(b,a){this.component.render(b);this.el=this.component.getEl()},activate:function(){if(this.disabled){return false}this.component.focus();this.fireEvent("activate",this);return true},deactivate:function(){this.fireEvent("deactivate",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(a){Ext.menu.DateItem.superclass.constructor.call(this,new Ext.DatePicker(a),a);this.picker=this.component;this.addEvents("select");this.picker.on("render",function(b){b.getEl().swallowEvent("click");b.container.addClass("x-menu-date-item")});this.picker.on("select",this.onSelect,this)};Ext.extend(Ext.menu.DateItem,Ext.menu.Adapter,{onSelect:function(b,a){this.fireEvent("select",this,a,b);Ext.menu.DateItem.superclass.handleClick.call(this)}});Ext.menu.ColorItem=function(a){Ext.menu.ColorItem.superclass.constructor.call(this,new Ext.ColorPalette(a),a);this.palette=this.component;this.relayEvents(this.palette,["select"]);if(this.selectHandler){this.on("select",this.selectHandler,this.scope)}};Ext.extend(Ext.menu.ColorItem,Ext.menu.Adapter);Ext.menu.DateMenu=function(a){Ext.menu.DateMenu.superclass.constructor.call(this,a);this.plain=true;var b=new Ext.menu.DateItem(a);this.add(b);this.picker=b.picker;this.relayEvents(b,["select"]);this.on("beforeshow",function(){if(this.picker){this.picker.hideMonthPicker(true)}},this)};Ext.extend(Ext.menu.DateMenu,Ext.menu.Menu,{cls:"x-date-menu",beforeDestroy:function(){this.picker.destroy()}});Ext.menu.ColorMenu=function(a){Ext.menu.ColorMenu.superclass.constructor.call(this,a);this.plain=true;var b=new Ext.menu.ColorItem(a);this.add(b);this.palette=b.palette;this.relayEvents(b,["select"])};Ext.extend(Ext.menu.ColorMenu,Ext.menu.Menu,{beforeDestroy:function(){this.palette.destroy()}});Ext.form.Field=Ext.extend(Ext.BoxComponent,{invalidClass:"x-form-invalid",invalidText:"The value in this field is invalid",focusClass:"x-form-focus",validationEvent:"keyup",validateOnBlur:true,validationDelay:250,defaultAutoCreate:{tag:"input",type:"text",size:"20",autocomplete:"off"},fieldClass:"x-form-field",msgTarget:"qtip",msgFx:"normal",readOnly:false,disabled:false,isFormField:true,hasFocus:false,initComponent:function(){Ext.form.Field.superclass.initComponent.call(this);this.addEvents("focus","blur","specialkey","change","invalid","valid")},getName:function(){return this.rendered&&this.el.dom.name?this.el.dom.name:(this.hiddenName||"")},onRender:function(c,a){Ext.form.Field.superclass.onRender.call(this,c,a);if(!this.el){var b=this.getAutoCreate();if(!b.name){b.name=this.name||this.id}if(this.inputType){b.type=this.inputType}this.el=c.createChild(b,a)}var d=this.el.dom.type;if(d){if(d=="password"){d="text"}this.el.addClass("x-form-"+d)}if(this.readOnly){this.el.dom.readOnly=true}if(this.tabIndex!==undefined){this.el.dom.setAttribute("tabIndex",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>0&&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(a){if(a.isSpecialKey()){this.fireEvent("specialkey",this,a)}},reset:function(){this.setValue(this.originalValue);this.clearInvalid()},initEvents:function(){this.el.on(Ext.isIE||Ext.isSafari3?"keydown":"keypress",this.fireKey,this);this.el.on("focus",this.onFocus,this);var a=this.inEditor&&Ext.isWindows&&Ext.isGecko?{buffer:10}:null;this.el.on("blur",this.onBlur,this,a)},onFocus:function(){if(this.focusClass){this.el.addClass(this.focusClass)}if(!this.hasFocus){this.hasFocus=true;this.startValue=this.getValue();this.fireEvent("focus",this)}},beforeBlur:Ext.emptyFn,onBlur:function(){this.beforeBlur();if(this.focusClass){this.el.removeClass(this.focusClass)}this.hasFocus=false;if(this.validationEvent!==false&&this.validateOnBlur&&this.validationEvent!="blur"){this.validate()}var a=this.getValue();if(String(a)!==String(this.startValue)){this.fireEvent("change",this,a,this.startValue)}this.fireEvent("blur",this)},isValid:function(a){if(this.disabled){return true}var c=this.preventMark;this.preventMark=a===true;var b=this.validateValue(this.processValue(this.getRawValue()));this.preventMark=c;return b},validate:function(){if(this.disabled||this.validateValue(this.processValue(this.getRawValue()))){this.clearInvalid();return true}return false},processValue:function(a){return a},validateValue:function(a){return true},markInvalid:function(c){if(!this.rendered||this.preventMark){return}this.el.addClass(this.invalidClass);c=c||this.invalidText;switch(this.msgTarget){case"qtip":this.el.dom.qtip=c;this.el.dom.qclass="x-form-invalid-tip";if(Ext.QuickTips){Ext.QuickTips.enable()}break;case"title":this.el.dom.title=c;break;case"under":if(!this.errorEl){var b=this.getErrorCt();if(!b){this.el.dom.title=c;break}this.errorEl=b.createChild({cls:"x-form-invalid-msg"});this.errorEl.setWidth(b.getWidth(true)-20)}this.errorEl.update(c);Ext.form.Field.msgFx[this.msgFx].show(this.errorEl,this);break;case"side":if(!this.errorIcon){var b=this.getErrorCt();if(!b){this.el.dom.title=c;break}this.errorIcon=b.createChild({cls:"x-form-invalid-icon"})}this.alignErrorIcon();this.errorIcon.dom.qtip=c;this.errorIcon.dom.qclass="x-form-invalid-tip";this.errorIcon.show();this.on("resize",this.alignErrorIcon,this);break;default:var a=Ext.getDom(this.msgTarget);a.innerHTML=c;a.style.display=this.msgDisplay;break}this.fireEvent("invalid",this,c)},getErrorCt:function(){return this.el.findParent(".x-form-element",5,true)||this.el.findParent(".x-form-field-wrap",5,true)},alignErrorIcon:function(){this.errorIcon.alignTo(this.el,"tl-tr",[2,0])},clearInvalid:function(){if(!this.rendered||this.preventMark){return}this.el.removeClass(this.invalidClass);switch(this.msgTarget){case"qtip":this.el.dom.qtip="";break;case"title":this.el.dom.title="";break;case"under":if(this.errorEl){Ext.form.Field.msgFx[this.msgFx].hide(this.errorEl,this)}break;case"side":if(this.errorIcon){this.errorIcon.dom.qtip="";this.errorIcon.hide();this.un("resize",this.alignErrorIcon,this)}break;default:var a=Ext.getDom(this.msgTarget);a.innerHTML="";a.style.display="none";break}this.fireEvent("valid",this)},getRawValue:function(){var a=this.rendered?this.el.getValue():Ext.value(this.value,"");if(a===this.emptyText){a=""}return a},getValue:function(){if(!this.rendered){return this.value}var a=this.el.getValue();if(a===this.emptyText||a===undefined){a=""}return a},setRawValue:function(a){return this.el.dom.value=(a===null||a===undefined?"":a)},setValue:function(a){this.value=a;if(this.rendered){this.el.dom.value=(a===null||a===undefined?"":a);this.validate()}},adjustSize:function(a,c){var b=Ext.form.Field.superclass.adjustSize.call(this,a,c);b.width=this.adjustWidth(this.el.dom.tagName,b.width);return b},adjustWidth:function(a,b){a=a.toLowerCase();if(typeof b=="number"&&!Ext.isSafari){if(Ext.isIE&&(a=="input"||a=="textarea")){if(a=="input"&&!Ext.isStrict){return this.inEditor?b:b-3}if(a=="input"&&Ext.isStrict){return b-(Ext.isIE6?4:1)}if(a=="textarea"&&Ext.isStrict){return b-2}}else{if(Ext.isOpera&&Ext.isStrict){if(a=="input"){return b+2}if(a=="textarea"){return b-2}}}}return b}});Ext.form.MessageTargets={qtip:{mark:function(a){this.el.dom.qtip=msg;this.el.dom.qclass="x-form-invalid-tip";if(Ext.QuickTips){Ext.QuickTips.enable()}},clear:function(a){this.el.dom.qtip=""}},title:{mark:function(a){this.el.dom.title=msg},clear:function(a){this.el.dom.title=""}},under:{mark:function(b){if(!this.errorEl){var a=this.getErrorCt();if(!a){this.el.dom.title=msg;return}this.errorEl=a.createChild({cls:"x-form-invalid-msg"});this.errorEl.setWidth(a.getWidth(true)-20)}this.errorEl.update(msg);Ext.form.Field.msgFx[this.msgFx].show(this.errorEl,this)},clear:function(a){if(this.errorEl){Ext.form.Field.msgFx[this.msgFx].hide(this.errorEl,this)}else{this.el.dom.title=""}}},side:{mark:function(b){if(!this.errorIcon){var a=this.getErrorCt();if(!a){this.el.dom.title=msg;return}this.errorIcon=a.createChild({cls:"x-form-invalid-icon"})}this.alignErrorIcon();this.errorIcon.dom.qtip=msg;this.errorIcon.dom.qclass="x-form-invalid-tip";this.errorIcon.show();this.on("resize",this.alignErrorIcon,this)},clear:function(a){if(this.errorIcon){this.errorIcon.dom.qtip="";this.errorIcon.hide();this.un("resize",this.alignErrorIcon,this)}else{this.el.dom.title=""}}},around:{mark:function(a){},clear:function(a){}}};Ext.form.Field.msgFx={normal:{show:function(a,b){a.setDisplayed("block")},hide:function(a,b){a.setDisplayed(false).update("")}},slide:{show:function(a,b){a.slideIn("t",{stopFx:true})},hide:function(a,b){a.slideOut("t",{stopFx:true,useDisplay:true})}},slideRight:{show:function(a,b){a.fixDisplay();a.alignTo(b.el,"tl-tr");a.slideIn("l",{stopFx:true})},hide:function(a,b){a.slideOut("l",{stopFx:true,useDisplay:true})}}};Ext.reg("field",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:"The minimum length for this field is {0}",maxLengthText:"The maximum length for this field is {0}",selectOnFocus:false,blankText:"This field is required",validator:null,regex:null,regexText:"",emptyText:null,emptyClass:"x-form-empty-field",initComponent:function(){Ext.form.TextField.superclass.initComponent.call(this);this.addEvents("autosize","keydown","keyup","keypress")},initEvents:function(){Ext.form.TextField.superclass.initEvents.call(this);if(this.validationEvent=="keyup"){this.validationTask=new Ext.util.DelayedTask(this.validate,this);this.el.on("keyup",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("focus",this.preFocus,this);this.el.on("mousedown",function(){if(!this.hasFocus){this.el.on("mouseup",function(a){a.preventDefault()},this,{single:true})}},this);if(this.emptyText){this.on("blur",this.postBlur,this);this.applyEmptyText()}}if(this.maskRe||(this.vtype&&this.disableKeyFilter!==true&&(this.maskRe=Ext.form.VTypes[this.vtype+"Mask"]))){this.el.on("keypress",this.filterKeys,this)}if(this.grow){this.el.on("keyup",this.onKeyUpBuffered,this,{buffer:50});this.el.on("click",this.autoSize,this)}if(this.enableKeyEvents){this.el.on("keyup",this.onKeyUp,this);this.el.on("keydown",this.onKeyDown,this);this.el.on("keypress",this.onKeyPress,this)}},processValue:function(a){if(this.stripCharsRe){var b=a.replace(this.stripCharsRe,"");if(b!==a){this.setRawValue(b);return b}}return a},filterValidation:function(a){if(!a.isNavKeyPress()){this.validationTask.delay(this.validationDelay)}},onDisable:function(){Ext.form.TextField.superclass.onDisable.call(this);if(Ext.isIE){this.el.dom.unselectable="on"}},onEnable:function(){Ext.form.TextField.superclass.onEnable.call(this);if(Ext.isIE){this.el.dom.unselectable=""}},onKeyUpBuffered:function(a){if(!a.isNavKeyPress()){this.autoSize()}},onKeyUp:function(a){this.fireEvent("keyup",this,a)},onKeyDown:function(a){this.fireEvent("keydown",this,a)},onKeyPress:function(a){this.fireEvent("keypress",this,a)},reset:function(){Ext.form.TextField.superclass.reset.call(this);this.applyEmptyText()},applyEmptyText:function(){if(this.rendered&&this.emptyText&&this.getRawValue().length<1&&!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("")}this.el.removeClass(this.emptyClass)}if(this.selectOnFocus){this.el.dom.select()}},postBlur:function(){this.applyEmptyText()},filterKeys:function(b){if(b.ctrlKey){return}var a=b.getKey();if(Ext.isGecko&&(b.isNavKeyPress()||a==b.BACKSPACE||(a==b.DELETE&&b.button==-1))){return}var g=b.getCharCode(),d=String.fromCharCode(g);if(!Ext.isGecko&&b.isSpecialKey()&&!d){return}if(!this.maskRe.test(d)){b.stopEvent()}},setValue:function(a){if(this.emptyText&&this.el&&a!==undefined&&a!==null&&a!==""){this.el.removeClass(this.emptyClass)}Ext.form.TextField.superclass.setValue.apply(this,arguments);this.applyEmptyText();this.autoSize()},validateValue:function(a){if(a.length<1||a===this.emptyText){if(this.allowBlank){this.clearInvalid();return true}else{this.markInvalid(this.blankText);return false}}if(a.length<this.minLength){this.markInvalid(String.format(this.minLengthText,this.minLength));return false}if(a.length>this.maxLength){this.markInvalid(String.format(this.maxLengthText,this.maxLength));return false}if(this.vtype){var c=Ext.form.VTypes;if(!c[this.vtype](a,this)){this.markInvalid(this.vtypeText||c[this.vtype+"Text"]);return false}}if(typeof this.validator=="function"){var b=this.validator(a);if(b!==true){this.markInvalid(b);return false}}if(this.regex&&!this.regex.test(a)){this.markInvalid(this.regexText);return false}return true},selectText:function(h,a){var c=this.getRawValue();var e=false;if(c.length>0){h=h===undefined?0:h;a=a===undefined?c.length:a;var g=this.el.dom;if(g.setSelectionRange){g.setSelectionRange(h,a)}else{if(g.createTextRange){var b=g.createTextRange();b.moveStart("character",h);b.moveEnd("character",a-c.length);b.select()}}e=Ext.isGecko||Ext.isOpera}else{e=true}if(e){this.focus()}},autoSize:function(){if(!this.grow||!this.rendered){return}if(!this.metrics){this.metrics=Ext.util.TextMetrics.createInstance(this.el)}var c=this.el;var b=c.dom.value;var e=document.createElement("div");e.appendChild(document.createTextNode(b));b=e.innerHTML;Ext.removeNode(e);e=null;b+="&#160;";var a=Math.min(this.growMax,Math.max(this.metrics.getWidth(b)+10,this.growMin));this.el.setWidth(a);this.fireEvent("autosize",this,a)}});Ext.reg("textfield",Ext.form.TextField);Ext.form.TriggerField=Ext.extend(Ext.form.TextField,{defaultAutoCreate:{tag:"input",type:"text",size:"16",autocomplete:"off"},hideTrigger:false,autoSize:Ext.emptyFn,monitorTab:true,deferHeight:true,mimicing:false,onResize:function(a,b){Ext.form.TriggerField.superclass.onResize.call(this,a,b);if(typeof a=="number"){this.el.setWidth(this.adjustWidth("input",a-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,"tl-tr",[2,0])}},onRender:function(b,a){Ext.form.TriggerField.superclass.onRender.call(this,b,a);this.wrap=this.el.wrap({cls:"x-form-field-wrap"});this.trigger=this.wrap.createChild(this.triggerConfig||{tag:"img",src:Ext.BLANK_IMAGE_URL,cls:"x-form-trigger "+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 a;if(Ext.isIE&&!this.hideTrigger&&this.el.getY()!=(a=this.trigger.getY())){this.el.position();this.el.setY(a)}},initTrigger:function(){this.trigger.on("click",this.onTriggerClick,this,{preventDefault:true});this.trigger.addClassOnOver("x-form-trigger-over");this.trigger.addClassOnClick("x-form-trigger-click")},onDestroy:function(){if(this.trigger){this.trigger.removeAllListeners();this.trigger.remove()}if(this.wrap){this.wrap.remove()}Ext.form.TriggerField.superclass.onDestroy.call(this)},onFocus:function(){Ext.form.TriggerField.superclass.onFocus.call(this);if(!this.mimicing){this.wrap.addClass("x-trigger-wrap-focus");this.mimicing=true;Ext.get(Ext.isIE?document.body:document).on("mousedown",this.mimicBlur,this,{delay:10});if(this.monitorTab){this.el.on("keydown",this.checkTab,this)}}},checkTab:function(a){if(a.getKey()==a.TAB){this.triggerBlur()}},onBlur:function(){},mimicBlur:function(a){if(!this.wrap.contains(a.target)&&this.validateBlur(a)){this.triggerBlur()}},triggerBlur:function(){this.mimicing=false;Ext.get(Ext.isIE?document.body:document).un("mousedown",this.mimicBlur,this);if(this.monitorTab&&this.el){this.el.un("keydown",this.checkTab,this)}this.beforeBlur();if(this.wrap){this.wrap.removeClass("x-trigger-wrap-focus")}Ext.form.TriggerField.superclass.onBlur.call(this)},beforeBlur:Ext.emptyFn,validateBlur:function(a){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="";this.wrap.dom.style.visibility="visible"}},onHide:function(){this.wrap.dom.style.display="none"},onTriggerClick:Ext.emptyFn});Ext.form.TwinTriggerField=Ext.extend(Ext.form.TriggerField,{initComponent:function(){Ext.form.TwinTriggerField.superclass.initComponent.call(this);this.triggerConfig={tag:"span",cls:"x-form-twin-triggers",cn:[{tag:"img",src:Ext.BLANK_IMAGE_URL,cls:"x-form-trigger "+this.trigger1Class},{tag:"img",src:Ext.BLANK_IMAGE_URL,cls:"x-form-trigger "+this.trigger2Class}]}},getTrigger:function(a){return this.triggers[a]},initTrigger:function(){var a=this.trigger.select(".x-form-trigger",true);this.wrap.setStyle("overflow","hidden");var b=this;a.each(function(d,g,c){d.hide=function(){var h=b.wrap.getWidth();this.dom.style.display="none";b.el.setWidth(h-b.trigger.getWidth())};d.show=function(){var h=b.wrap.getWidth();this.dom.style.display="";b.el.setWidth(h-b.trigger.getWidth())};var e="Trigger"+(c+1);if(this["hide"+e]){d.dom.style.display="none"}d.on("click",this["on"+e+"Click"],this,{preventDefault:true});d.addClassOnOver("x-form-trigger-over");d.addClassOnClick("x-form-trigger-click")},this);this.triggers=a.elements},onTrigger1Click:Ext.emptyFn,onTrigger2Click:Ext.emptyFn});Ext.reg("trigger",Ext.form.TriggerField);Ext.form.TextArea=Ext.extend(Ext.form.TextField,{growMin:60,growMax:1000,growAppend:"&#160;\n&#160;",growPad:0,enterIsSpecial:false,preventScrollbars:false,onRender:function(b,a){if(!this.el){this.defaultAutoCreate={tag:"textarea",style:"width:100px;height:60px;",autocomplete:"off"}}Ext.form.TextArea.superclass.onRender.call(this,b,a);if(this.grow){this.textSizeEl=Ext.DomHelper.append(document.body,{tag:"pre",cls:"x-form-grow-sizer"});if(this.preventScrollbars){this.el.setStyle("overflow","hidden")}this.el.setHeight(this.growMin)}},onDestroy:function(){if(this.textSizeEl){Ext.removeNode(this.textSizeEl)}Ext.form.TextArea.superclass.onDestroy.call(this)},fireKey:function(a){if(a.isSpecialKey()&&(this.enterIsSpecial||(a.getKey()!=a.ENTER||a.hasModifier()))){this.fireEvent("specialkey",this,a)}},onKeyUp:function(a){if(!a.isNavKeyPress()||a.getKey()==a.ENTER){this.autoSize()}Ext.form.TextArea.superclass.onKeyUp.call(this,a)},autoSize:function(){if(!this.grow||!this.textSizeEl){return}var c=this.el;var a=c.dom.value;var d=this.textSizeEl;d.innerHTML="";d.appendChild(document.createTextNode(a));a=d.innerHTML;Ext.fly(d).setWidth(this.el.getWidth());if(a.length<1){a="&#160;&#160;"}else{if(Ext.isIE){a=a.replace(/\n/g,"<p>&#160;</p>")}a+=this.growAppend}d.innerHTML=a;var b=Math.min(this.growMax,Math.max(d.offsetHeight,this.growMin)+this.growPad);if(b!=this.lastHeight){this.lastHeight=b;this.el.setHeight(b);this.fireEvent("autosize",this,b)}}});Ext.reg("textarea",Ext.form.TextArea);Ext.form.NumberField=Ext.extend(Ext.form.TextField,{fieldClass:"x-form-field x-form-num-field",allowDecimals:true,decimalSeparator:".",decimalPrecision:2,allowNegative:true,minValue:Number.NEGATIVE_INFINITY,maxValue:Number.MAX_VALUE,minText:"The minimum value for this field is {0}",maxText:"The maximum value for this field is {0}",nanText:"{0} is not a valid number",baseChars:"0123456789",initEvents:function(){Ext.form.NumberField.superclass.initEvents.call(this);var b=this.baseChars+"";if(this.allowDecimals){b+=this.decimalSeparator}if(this.allowNegative){b+="-"}this.stripCharsRe=new RegExp("[^"+b+"]","gi");var a=function(g){var d=g.getKey();if(!Ext.isIE&&(g.isSpecialKey()||d==g.BACKSPACE||d==g.DELETE)){return}var h=g.getCharCode();if(b.indexOf(String.fromCharCode(h))===-1){g.stopEvent()}};this.el.on("keypress",a,this)},validateValue:function(b){if(!Ext.form.NumberField.superclass.validateValue.call(this,b)){return false}if(b.length<1){return true}b=String(b).replace(this.decimalSeparator,".");if(isNaN(b)){this.markInvalid(String.format(this.nanText,b));return false}var a=this.parseValue(b);if(a<this.minValue){this.markInvalid(String.format(this.minText,this.minValue));return false}if(a>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(a){a=typeof a=="number"?a:parseFloat(String(a).replace(this.decimalSeparator,"."));a=isNaN(a)?"":String(a).replace(".",this.decimalSeparator);Ext.form.NumberField.superclass.setValue.call(this,a)},parseValue:function(a){a=parseFloat(String(a).replace(this.decimalSeparator,"."));return isNaN(a)?"":a},fixPrecision:function(b){var a=isNaN(b);if(!this.allowDecimals||this.decimalPrecision==-1||a||!b){return a?"":b}return parseFloat(parseFloat(b).toFixed(this.decimalPrecision))},beforeBlur:function(){var a=this.parseValue(this.getRawValue());if(a||a===0){this.setValue(this.fixPrecision(a))}}});Ext.reg("numberfield",Ext.form.NumberField);Ext.form.DateField=Ext.extend(Ext.form.TriggerField,{format:"m/d/Y",altFormats:"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",disabledDaysText:"Disabled",disabledDatesText:"Disabled",minText:"The date in this field must be equal to or after {0}",maxText:"The date in this field must be equal to or before {0}",invalidText:"{0} is not a valid date - it must be in the format {1}",triggerClass:"x-form-date-trigger",showToday:true,defaultAutoCreate:{tag:"input",type:"text",size:"10",autocomplete:"off"},initComponent:function(){Ext.form.DateField.superclass.initComponent.call(this);this.addEvents("select");if(typeof this.minValue=="string"){this.minValue=this.parseDate(this.minValue)}if(typeof this.maxValue=="string"){this.maxValue=this.parseDate(this.maxValue)}this.disabledDatesRE=null;this.initDisabledDays()},initDisabledDays:function(){if(this.disabledDates){var a=this.disabledDates;var c="(?:";for(var b=0;b<a.length;b++){c+=a[b];if(b!=a.length-1){c+="|"}}this.disabledDatesRE=new RegExp(c+")")}},setDisabledDates:function(a){this.disabledDates=a;this.initDisabledDays();if(this.menu){this.menu.picker.setDisabledDates(this.disabledDatesRE)}},setDisabledDays:function(a){this.disabledDays=a;if(this.menu){this.menu.picker.setDisabledDays(a)}},setMinValue:function(a){this.minValue=(typeof a=="string"?this.parseDate(a):a);if(this.menu){this.menu.picker.setMinDate(this.minValue)}},setMaxValue:function(a){this.maxValue=(typeof a=="string"?this.parseDate(a):a);if(this.menu){this.menu.picker.setMaxDate(this.maxValue)}},validateValue:function(e){e=this.formatDate(e);if(!Ext.form.DateField.superclass.validateValue.call(this,e)){return false}if(e.length<1){return true}var c=e;e=this.parseDate(e);if(!e){this.markInvalid(String.format(this.invalidText,c,this.format));return false}var g=e.getTime();if(this.minValue&&g<this.minValue.getTime()){this.markInvalid(String.format(this.minText,this.formatDate(this.minValue)));return false}if(this.maxValue&&g>this.maxValue.getTime()){this.markInvalid(String.format(this.maxText,this.formatDate(this.maxValue)));return false}if(this.disabledDays){var a=e.getDay();for(var b=0;b<this.disabledDays.length;b++){if(a===this.disabledDays[b]){this.markInvalid(this.disabledDaysText);return false}}}var d=this.formatDate(e);if(this.disabledDatesRE&&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))||""},setValue:function(a){Ext.form.DateField.superclass.setValue.call(this,this.formatDate(this.parseDate(a)))},parseDate:function(d){if(!d||Ext.isDate(d)){return d}var b=Date.parseDate(d,this.format);if(!b&&this.altFormats){if(!this.altFormatsArray){this.altFormatsArray=this.altFormats.split("|")}for(var c=0,a=this.altFormatsArray.length;c<a&&!b;c++){b=Date.parseDate(d,this.altFormatsArray[c])}}return b},onDestroy:function(){if(this.menu){this.menu.destroy()}if(this.wrap){this.wrap.remove()}Ext.form.DateField.superclass.onDestroy.call(this)},formatDate:function(a){return Ext.isDate(a)?a.dateFormat(this.format):a},menuListeners:{select:function(a,b){this.setValue(b);this.fireEvent("select",this,b)},show:function(){this.onFocus()},hide:function(){this.focus.defer(10,this);var a=this.menuListeners;this.menu.un("select",a.select,this);this.menu.un("show",a.show,this);this.menu.un("hide",a.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,"tl-bl?")},beforeBlur:function(){var a=this.parseDate(this.getRawValue());if(a){this.setValue(a)}}});Ext.reg("datefield",Ext.form.DateField);Ext.form.ComboBox=Ext.extend(Ext.form.TriggerField,{defaultAutoCreate:{tag:"input",type:"text",size:"24",autocomplete:"off"},listClass:"",selectedClass:"x-combo-selected",triggerClass:"x-form-arrow-trigger",shadow:"sides",listAlign:"tl-bl?",maxHeight:300,minHeight:90,triggerAction:"query",minChars:4,typeAhead:false,queryDelay:500,pageSize:0,selectOnFocus:false,queryParam:"query",loadingText:"Loading...",resizable:false,handleHeight:8,editable:true,allQuery:"",mode:"remote",minListWidth:70,forceSelection:false,typeAheadDelay:250,lazyInit:true,initComponent:function(){Ext.form.ComboBox.superclass.initComponent.call(this);this.addEvents("expand","collapse","beforeselect","select","beforequery");if(this.transform){this.allowDomMove=false;var c=Ext.getDom(this.transform);if(!this.hiddenName){this.hiddenName=c.name}if(!this.store){this.mode="local";var k=[],e=c.options;for(var b=0,a=e.length;b<a;b++){var h=e[b];var g=(Ext.isIE?h.getAttributeNode("value").specified:h.hasAttribute("value"))?h.value:h.text;if(h.selected){this.value=g}k.push([g,h.text])}this.store=new Ext.data.SimpleStore({id:0,fields:["value","text"],data:k});this.valueField="value";this.displayField="text"}c.name=Ext.id();if(!this.lazyRender){this.target=true;this.el=Ext.DomHelper.insertBefore(c,this.autoCreate||this.defaultAutoCreate);Ext.removeNode(c);this.render(this.el.parentNode)}else{Ext.removeNode(c)}}else{if(Ext.isArray(this.store)){if(Ext.isArray(this.store[0])){this.store=new Ext.data.SimpleStore({fields:["value","text"],data:this.store});this.valueField="value"}else{this.store=new Ext.data.SimpleStore({fields:["text"],data:this.store,expandData:true});this.valueField="text"}this.displayField="text";this.mode="local"}}this.selectedIndex=-1;if(this.mode=="local"){if(this.initialConfig.queryDelay===undefined){this.queryDelay=10}if(this.initialConfig.minChars===undefined){this.minChars=0}}},onRender:function(b,a){Ext.form.ComboBox.superclass.onRender.call(this,b,a);if(this.hiddenName){this.hiddenField=this.el.insertSibling({tag:"input",type:"hidden",name:this.hiddenName,id:(this.hiddenId||this.hiddenName)},"before",true);this.el.dom.removeAttribute("name")}if(Ext.isGecko){this.el.dom.setAttribute("autocomplete","off")}if(!this.lazyInit){this.initList()}else{this.on("focus",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:""}},initList:function(){if(!this.list){var a="x-combo-list";this.list=new Ext.Layer({shadow:this.shadow,cls:[a,this.listClass].join(" "),constrain:false});var b=this.listWidth||Math.max(this.wrap.getWidth(),this.minListWidth);this.list.setWidth(b);this.list.swallowEvent("mousewheel");this.assetHeight=0;if(this.title){this.header=this.list.createChild({cls:a+"-hd",html:this.title});this.assetHeight+=this.header.getHeight()}this.innerList=this.list.createChild({cls:a+"-inner"});this.innerList.on("mouseover",this.onViewOver,this);this.innerList.on("mousemove",this.onViewMove,this);this.innerList.setWidth(b-this.list.getFrameWidth("lr"));if(this.pageSize){this.footer=this.list.createChild({cls:a+"-ft"});this.pageTb=new Ext.PagingToolbar({store:this.store,pageSize:this.pageSize,renderTo:this.footer});this.assetHeight+=this.footer.getHeight()}if(!this.tpl){this.tpl='<tpl for="."><div class="'+a+'-item">{'+this.displayField+"}</div></tpl>"}this.view=new Ext.DataView({applyTo:this.innerList,tpl:this.tpl,singleSelect:true,selectedClass:this.selectedClass,itemSelector:this.itemSelector||"."+a+"-item"});this.view.on("click",this.onViewClick,this);this.bindStore(this.store,true);if(this.resizable){this.resizer=new Ext.Resizable(this.list,{pinned:true,handles:"se"});this.resizer.on("resize",function(e,c,d){this.maxHeight=d-this.handleHeight-this.list.getFrameWidth("tb")-this.assetHeight;this.listWidth=c;this.innerList.setWidth(c-this.list.getFrameWidth("lr"));this.restrictHeight()},this);this[this.pageSize?"footer":"innerList"].setStyle("margin-bottom",this.handleHeight+"px")}}},getStore:function(){return this.store},bindStore:function(a,b){if(this.store&&!b){this.store.un("beforeload",this.onBeforeLoad,this);this.store.un("load",this.onLoad,this);this.store.un("loadexception",this.collapse,this);if(!a){this.store=null;if(this.view){this.view.setStore(null)}}}if(a){this.store=Ext.StoreMgr.lookup(a);this.store.on("beforeload",this.onBeforeLoad,this);this.store.on("load",this.onLoad,this);this.store.on("loadexception",this.collapse,this);if(this.view){this.view.setStore(a)}}},initEvents:function(){Ext.form.ComboBox.superclass.initEvents.call(this);this.keyNav=new Ext.KeyNav(this.el,{up:function(a){this.inKeyMode=true;this.selectPrev()},down:function(a){if(!this.isExpanded()){this.onTriggerClick()}else{this.inKeyMode=true;this.selectNext()}},enter:function(a){this.onViewClick();this.delayedCheck=true;this.unsetDelayCheck.defer(10,this)},esc:function(a){this.collapse()},tab:function(a){this.onViewClick(false);return true},scope:this,doRelay:function(c,b,a){if(a=="down"||this.scope.isExpanded()){return Ext.KeyNav.prototype.doRelay.apply(this,arguments)}return true},forceKeyDown:true});this.queryDelay=Math.max(this.queryDelay||10,this.mode=="local"?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("keyup",this.onKeyUp,this)}if(this.forceSelection){this.on("blur",this.doForce,this)}},onDestroy:function(){if(this.view){Ext.destroy(this.view)}if(this.list){if(this.innerList){this.innerList.un("mouseover",this.onViewOver,this);this.innerList.un("mousemove",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(a){if(a.isNavKeyPress()&&!this.isExpanded()&&!this.delayedCheck){this.fireEvent("specialkey",this,a)}},onResize:function(a,b){Ext.form.ComboBox.superclass.onResize.apply(this,arguments);if(this.list&&this.listWidth===undefined){var c=Math.max(a,this.minListWidth);this.list.setWidth(c);this.innerList.setWidth(c-this.list.getFrameWidth("lr"))}},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(a){if(a==this.editable){return}this.editable=a;if(!a){this.el.dom.setAttribute("readOnly",true);this.el.on("mousedown",this.onTriggerClick,this);this.el.addClass("x-combo-noedit")}else{this.el.dom.removeAttribute("readOnly");this.el.un("mousedown",this.onTriggerClick,this);this.el.removeClass("x-combo-noedit")}},onBeforeLoad:function(){if(!this.hasFocus){return}this.innerList.update(this.loadingText?'<div class="loading-indicator">'+this.loadingText+"</div>":"");this.restrictHeight();this.selectedIndex=-1},onLoad:function(){if(!this.hasFocus){return}if(this.store.getCount()>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&&this.lastKey!=Ext.EventObject.BACKSPACE&&this.lastKey!=Ext.EventObject.DELETE){this.taTask.delay(this.typeAheadDelay)}}}else{this.onEmptyResults()}},onTypeAhead:function(){if(this.store.getCount()>0){var b=this.store.getAt(0);var c=b.data[this.displayField];var a=c.length;var d=this.getRawValue().length;if(d!=a){this.setRawValue(c);this.selectText(d,c.length)}}},onSelect:function(a,b){if(this.fireEvent("beforeselect",this,a,b)!==false){this.setValue(a.data[this.valueField||this.displayField]);this.collapse();this.fireEvent("select",this,a,b)}},getValue:function(){if(this.valueField){return typeof this.value!="undefined"?this.value:""}else{return Ext.form.ComboBox.superclass.getValue.call(this)}},clearValue:function(){if(this.hiddenField){this.hiddenField.value=""}this.setRawValue("");this.lastSelectionText="";this.applyEmptyText();this.value=""},setValue:function(a){var c=a;if(this.valueField){var b=this.findRecord(this.valueField,a);if(b){c=b.data[this.displayField]}else{if(this.valueNotFoundText!==undefined){c=this.valueNotFoundText}}}this.lastSelectionText=c;if(this.hiddenField){this.hiddenField.value=a}Ext.form.ComboBox.superclass.setValue.call(this,c);this.value=a},findRecord:function(c,b){var a;if(this.store.getCount()>0){this.store.each(function(d){if(d.data[c]==b){a=d;return false}})}return a},onViewMove:function(b,a){this.inKeyMode=false},onViewOver:function(d,b){if(this.inKeyMode){return}var c=this.view.findItemFromChild(b);if(c){var a=this.view.indexOf(c);this.select(a,false)}},onViewClick:function(b){var a=this.view.getSelectedIndexes()[0];var c=this.store.getAt(a);if(c){this.onSelect(c,a)}if(b!==false){this.el.focus()}},restrictHeight:function(){this.innerList.dom.style.height="";var b=this.innerList.dom;var e=this.list.getFrameWidth("tb")+(this.resizable?this.handleHeight:0)+this.assetHeight;var c=Math.max(b.clientHeight,b.offsetHeight,b.scrollHeight);var a=this.getPosition()[1]-Ext.getBody().getScroll().top;var g=Ext.lib.Dom.getViewHeight()-a-this.getSize().height;var d=Math.max(a,g,this.minHeight||0)-this.list.shadowOffset-e-5;c=Math.min(c,d,this.maxHeight);this.innerList.setHeight(c);this.list.beginUpdate();this.list.setHeight(c+e);this.list.alignTo(this.wrap,this.listAlign);this.list.endUpdate()},onEmptyResults:function(){this.collapse()},isExpanded:function(){return this.list&&this.list.isVisible()},selectByValue:function(a,c){if(a!==undefined&&a!==null){var b=this.findRecord(this.valueField||this.displayField,a);if(b){this.select(this.store.indexOf(b),c);return true}}return false},select:function(a,c){this.selectedIndex=a;this.view.select(a);if(c!==false){var b=this.view.getNode(a);if(b){this.innerList.scrollChildIntoView(b,false)}}},selectNext:function(){var a=this.store.getCount();if(a>0){if(this.selectedIndex==-1){this.select(0)}else{if(this.selectedIndex<a-1){this.select(this.selectedIndex+1)}}}},selectPrev:function(){var a=this.store.getCount();if(a>0){if(this.selectedIndex==-1){this.select(0)}else{if(this.selectedIndex!=0){this.select(this.selectedIndex-1)}}}},onKeyUp:function(a){if(this.editable!==false&&!a.isSpecialKey()){this.lastKey=a.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>0){this.el.dom.value=this.lastSelectionText===undefined?"":this.lastSelectionText;this.applyEmptyText()}},doQuery:function(c,b){if(c===undefined||c===null){c=""}var a={query:c,forceAll:b,combo:this,cancel:false};if(this.fireEvent("beforequery",a)===false||a.cancel){return false}c=a.query;b=a.forceAll;if(b===true||(c.length>=this.minChars)){if(this.lastQuery!==c){this.lastQuery=c;if(this.mode=="local"){this.selectedIndex=-1;if(b){this.store.clearFilter()}else{this.store.filter(this.displayField,c)}this.onLoad()}else{this.store.baseParams[this.queryParam]=c;this.store.load({params:this.getParams(c)});this.expand()}}else{this.selectedIndex=-1;this.onLoad()}}},getParams:function(a){var b={};if(this.pageSize){b.start=0;b.limit=this.pageSize}return b},collapse:function(){if(!this.isExpanded()){return}this.list.hide();Ext.getDoc().un("mousewheel",this.collapseIf,this);Ext.getDoc().un("mousedown",this.collapseIf,this);this.fireEvent("collapse",this)},collapseIf:function(a){if(!a.within(this.wrap)&&!a.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("auto");Ext.getDoc().on("mousewheel",this.collapseIf,this);Ext.getDoc().on("mousedown",this.collapseIf,this);this.fireEvent("expand",this)},onTriggerClick:function(){if(this.disabled){return}if(this.isExpanded()){this.collapse();this.el.focus()}else{this.onFocus({});if(this.triggerAction=="all"){this.doQuery(this.allQuery,true)}else{this.doQuery(this.getRawValue())}this.el.focus()}}});Ext.reg("combo",Ext.form.ComboBox);Ext.form.Checkbox=Ext.extend(Ext.form.Field,{checkedCls:"x-form-check-checked",focusCls:"x-form-check-focus",overCls:"x-form-check-over",mouseDownCls:"x-form-check-down",tabIndex:0,checked:false,defaultAutoCreate:{tag:"input",type:"checkbox",autocomplete:"off"},baseCls:"x-form-check",initComponent:function(){Ext.form.Checkbox.superclass.initComponent.call(this);this.addEvents("check")},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("click",this.onClick,this);this.innerWrap.on("keyup",this.onKeyUp,this)},onRender:function(b,a){Ext.form.Checkbox.superclass.onRender.call(this,b,a);if(this.inputValue!==undefined){this.el.dom.value=this.inputValue}this.el.addClass("x-hidden");this.innerWrap=this.el.wrap({tabIndex:this.tabIndex,cls:this.baseCls+"-wrap-inner"});this.wrap=this.innerWrap.wrap({cls:this.baseCls+"-wrap"});if(this.boxLabel){this.labelEl=this.innerWrap.createChild({tag:"label",htmlFor:this.el.id,cls:"x-form-cb-label",html:this.boxLabel})}this.imageEl=this.innerWrap.createChild({tag:"img",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?"addClass":"removeClass"](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(a){Ext.form.Checkbox.superclass.onFocus.call(this,a);this.el.addClass(this.focusCls)},onBlur:function(a){Ext.form.Checkbox.superclass.onBlur.call(this,a);this.el.removeClass(this.focusCls)},onResize:function(){Ext.form.Checkbox.superclass.onResize.apply(this,arguments);if(!this.boxLabel&&!this.fieldLabel){this.el.alignTo(this.wrap,"c-c")}},onKeyUp:function(a){if(a.getKey()==Ext.EventObject.SPACE){this.onClick(a)}},onClick:function(a){if(!this.disabled&&!this.readOnly){this.toggleValue()}a.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(".x-form-element",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(a){var b=this.checked;this.checked=(a===true||a==="true"||a=="1"||String(a).toLowerCase()=="on");if(this.rendered){this.el.dom.checked=this.checked;this.el.dom.defaultChecked=this.checked;this.wrap[this.checked?"addClass":"removeClass"](this.checkedCls)}if(b!=this.checked){this.fireEvent("check",this,this.checked);if(this.handler){this.handler.call(this.scope||this,this,this.checked)}}}});Ext.reg("checkbox",Ext.form.Checkbox);Ext.form.CheckboxGroup=Ext.extend(Ext.form.Field,{columns:"auto",vertical:false,allowBlank:true,blankText:"You must select at least one item in this group",defaultType:"checkbox",groupCls:"x-form-check-group",onRender:function(k,g){if(!this.el){var q={cls:this.groupCls,layout:"column",border:false,renderTo:k};var a={defaultType:this.defaultType,layout:"form",border:false,defaults:{hideLabel:true,anchor:"100%"}};if(this.items[0].items){Ext.apply(q,{layoutConfig:{columns:this.items.length},defaults:this.defaults,items:this.items});for(var e=0,n=this.items.length;e<n;e++){Ext.applyIf(this.items[e],a)}}else{var d,o=[];if(typeof this.columns=="string"){this.columns=this.items.length}if(!Ext.isArray(this.columns)){var m=[];for(var e=0;e<this.columns;e++){m.push((100/this.columns)*0.01)}this.columns=m}d=this.columns.length;for(var e=0;e<d;e++){var b=Ext.apply({items:[]},a);b[this.columns[e]<=1?"columnWidth":"width"]=this.columns[e];if(this.defaults){b.defaults=Ext.apply(b.defaults||{},this.defaults)}o.push(b)}if(this.vertical){var s=Math.ceil(this.items.length/d),p=0;for(var e=0,n=this.items.length;e<n;e++){if(e>0&&e%s==0){p++}if(this.items[e].fieldLabel){this.items[e].hideLabel=false}o[p].items.push(this.items[e])}}else{for(var e=0,n=this.items.length;e<n;e++){var r=e%d;if(this.items[e].fieldLabel){this.items[e].hideLabel=false}o[r].items.push(this.items[e])}}Ext.apply(q,{layoutConfig:{columns:d},items:o})}this.panel=new Ext.Panel(q);this.el=this.panel.getEl();if(this.forId&&this.itemCls){var c=this.el.up(this.itemCls).child("label",true);if(c){c.setAttribute("htmlFor",this.forId)}}var h=this.panel.findBy(function(i){return i.isFormField},this);this.items=new Ext.util.MixedCollection();this.items.addAll(h)}Ext.form.CheckboxGroup.superclass.onRender.call(this,k,g)},validateValue:function(a){if(!this.allowBlank){var b=true;this.items.each(function(c){if(c.checked){return b=false}},this);if(b){this.markInvalid(this.blankText);return false}}return true},onDisable:function(){this.items.each(function(a){a.disable()})},onEnable:function(){this.items.each(function(a){a.enable()})},onResize:function(a,b){this.panel.setSize(a,b);this.panel.doLayout()},reset:function(){Ext.form.CheckboxGroup.superclass.reset.call(this);this.items.each(function(a){if(a.reset){a.reset()}},this)},initValue:Ext.emptyFn,getValue:Ext.emptyFn,getRawValue:Ext.emptyFn,setValue:Ext.emptyFn,setRawValue:Ext.emptyFn});Ext.reg("checkboxgroup",Ext.form.CheckboxGroup);Ext.form.Radio=Ext.extend(Ext.form.Checkbox,{inputType:"radio",baseCls:"x-form-radio",getGroupValue:function(){var a=this.getParent().child("input[name="+this.el.dom.name+"]:checked",true);return a?a.value:null},getParent:function(){return this.el.up("form")||Ext.getBody()},toggleValue:function(){if(!this.checked){var a=this.getParent().select("input[name="+this.el.dom.name+"]");a.each(function(b){if(b.dom.id==this.id){this.setValue(true)}else{Ext.getCmp(b.dom.id).setValue(false)}},this)}},setValue:function(a){if(typeof a=="boolean"){Ext.form.Radio.superclass.setValue.call(this,a)}else{var b=this.getParent().child("input[name="+this.el.dom.name+"][value="+a+"]",true);if(b&&!b.checked){Ext.getCmp(b.id).toggleValue()}}},markInvalid:Ext.emptyFn,clearInvalid:Ext.emptyFn});Ext.reg("radio",Ext.form.Radio);Ext.form.RadioGroup=Ext.extend(Ext.form.CheckboxGroup,{allowBlank:true,blankText:"You must select one item in this group",defaultType:"radio",groupCls:"x-form-radio-group"});Ext.reg("radiogroup",Ext.form.RadioGroup);Ext.form.Hidden=Ext.extend(Ext.form.Field,{inputType:"hidden",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("hidden",Ext.form.Hidden);Ext.form.BasicForm=function(b,a){Ext.apply(this,a);this.items=new Ext.util.MixedCollection(false,function(c){return c.id||(c.id=Ext.id())});this.addEvents("beforeaction","actionfailed","actioncomplete");if(b){this.initEl(b)}Ext.form.BasicForm.superclass.constructor.call(this)};Ext.extend(Ext.form.BasicForm,Ext.util.Observable,{timeout:30,activeAction:null,trackResetOnLoad:false,initEl:function(a){this.el=Ext.get(a);this.id=this.el.id||Ext.id();if(!this.standardSubmit){this.el.on("submit",this.onSubmit,this)}this.el.addClass("x-form")},getEl:function(){return this.el},onSubmit:function(a){a.stopEvent()},destroy:function(){this.items.each(function(a){Ext.destroy(a)});if(this.el){this.el.removeAllListeners();this.el.remove()}this.purgeListeners()},isValid:function(){var a=true;this.items.each(function(b){if(!b.validate()){a=false}});return a},isDirty:function(){var a=false;this.items.each(function(b){if(b.isDirty()){a=true;return false}});return a},doAction:function(b,a){if(typeof b=="string"){b=new Ext.form.Action.ACTION_TYPES[b](this,a)}if(this.fireEvent("beforeaction",this,b)!==false){this.beforeAction(b);b.run.defer(100,b)}return this},submit:function(b){if(this.standardSubmit){var a=this.isValid();if(a){this.el.dom.submit()}return a}this.doAction("submit",b);return this},load:function(a){this.doAction("load",a);return this},updateRecord:function(b){b.beginEdit();var a=b.fields;a.each(function(c){var d=this.findField(c.name);if(d){b.set(c.name,d.getValue())}},this);b.endEdit();return this},loadRecord:function(a){this.setValues(a.data);return this},beforeAction:function(a){var b=a.options;if(b.waitMsg){if(this.waitMsgTarget===true){this.el.mask(b.waitMsg,"x-mask-loading")}else{if(this.waitMsgTarget){this.waitMsgTarget=Ext.get(this.waitMsgTarget);this.waitMsgTarget.mask(b.waitMsg,"x-mask-loading")}else{Ext.MessageBox.wait(b.waitMsg,b.waitTitle||this.waitTitle||"Please Wait...")}}}},afterAction:function(a,c){this.activeAction=null;var b=a.options;if(b.waitMsg){if(this.waitMsgTarget===true){this.el.unmask()}else{if(this.waitMsgTarget){this.waitMsgTarget.unmask()}else{Ext.MessageBox.updateProgress(1);Ext.MessageBox.hide()}}}if(c){if(b.reset){this.reset()}Ext.callback(b.success,b.scope,[this,a]);this.fireEvent("actioncomplete",this,a)}else{Ext.callback(b.failure,b.scope,[this,a]);this.fireEvent("actionfailed",this,a)}},findField:function(b){var a=this.items.get(b);if(!a){this.items.each(function(c){if(c.isFormField&&(c.dataIndex==b||c.id==b||c.getName()==b)){a=c;return false}})}return a||null},markInvalid:function(h){if(Ext.isArray(h)){for(var c=0,a=h.length;c<a;c++){var b=h[c];var d=this.findField(b.id);if(d){d.markInvalid(b.msg)}}}else{var e,g;for(g in h){if(typeof h[g]!="function"&&(e=this.findField(g))){e.markInvalid(h[g])}}}return this},setValues:function(c){if(Ext.isArray(c)){for(var d=0,a=c.length;d<a;d++){var b=c[d];var e=this.findField(b.id);if(e){e.setValue(b.value);if(this.trackResetOnLoad){e.originalValue=e.getValue()}}}}else{var g,h;for(h in c){if(typeof c[h]!="function"&&(g=this.findField(h))){g.setValue(c[h]);if(this.trackResetOnLoad){g.originalValue=g.getValue()}}}}return this},getValues:function(b){var a=Ext.lib.Ajax.serializeForm(this.el.dom);if(b===true){return a}return Ext.urlDecode(a)},clearInvalid:function(){this.items.each(function(a){a.clearInvalid()});return this},reset:function(){this.items.each(function(a){a.reset()});return this},add:function(){this.items.addAll(Array.prototype.slice.call(arguments,0));return this},remove:function(a){this.items.remove(a);return this},render:function(){this.items.each(function(a){if(a.isFormField&&!a.rendered&&document.getElementById(a.id)){a.applyToMarkup(a.id)}});return this},applyToFields:function(a){this.items.each(function(b){Ext.apply(b,a)});return this},applyIfToFields:function(a){this.items.each(function(b){Ext.applyIf(b,a)});return this}});Ext.BasicForm=Ext.form.BasicForm;Ext.FormPanel=Ext.extend(Ext.Panel,{buttonAlign:"center",minButtonWidth:75,labelAlign:"left",monitorValid:false,monitorPoll:200,layout:"form",initComponent:function(){this.form=this.createForm();this.bodyCfg={tag:"form",cls:this.baseCls+"-body",method:this.method||"POST",id:this.formId||Ext.id()};if(this.fileUpload){this.bodyCfg.enctype="multipart/form-data"}Ext.FormPanel.superclass.initComponent.call(this);this.initItems();this.addEvents("clientvalidation");this.relayEvents(this.form,["beforeaction","actionfailed","actioncomplete"])},createForm:function(){delete this.initialConfig.listeners;return new Ext.form.BasicForm(null,this.initialConfig)},initFields:function(){var c=this.form;var a=this;var b=function(d){if(d.isFormField){c.add(d)}else{if(d.doLayout&&d!=a){Ext.applyIf(d,{labelAlign:d.ownerCt.labelAlign,labelWidth:d.ownerCt.labelWidth,itemCls:d.ownerCt.itemCls});if(d.items){d.items.each(b)}}}};this.items.each(b)},getLayoutTarget:function(){return this.form.el},getForm:function(){return this.form},onRender:function(b,a){this.initFields();Ext.FormPanel.superclass.onRender.call(this,b,a);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("remove",this.onRemove,this);this.items.on("add",this.onAdd,this);if(this.monitorValid){this.startMonitoring()}},onAdd:function(a,b){if(b.isFormField){this.form.add(b)}},onRemove:function(a){if(a.isFormField){Ext.destroy(a.container.up(".x-form-item"));this.form.remove(a)}},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 d=true;this.form.items.each(function(e){if(!e.isValid(true)){d=false;return false}});if(this.buttons){for(var c=0,a=this.buttons.length;c<a;c++){var b=this.buttons[c];if(b.formBind===true&&b.disabled===d){b.setDisabled(!d)}}}this.fireEvent("clientvalidation",this,d)}});Ext.reg("form",Ext.FormPanel);Ext.form.FormPanel=Ext.FormPanel;Ext.form.FieldSet=Ext.extend(Ext.Panel,{baseCls:"x-fieldset",layout:"form",animCollapse:false,onRender:function(b,a){if(!this.el){this.el=document.createElement("fieldset");this.el.id=this.id;if(this.title||this.header||this.checkboxToggle){this.el.appendChild(document.createElement("legend")).className="x-fieldset-header"}}Ext.form.FieldSet.superclass.onRender.call(this,b,a);if(this.checkboxToggle){var c=typeof this.checkboxToggle=="object"?this.checkboxToggle:{tag:"input",type:"checkbox",name:this.checkboxName||this.id+"-checkbox"};this.checkbox=this.header.insertFirst(c);this.checkbox.dom.checked=!this.collapsed;this.checkbox.on("click",this.onCheckClick,this)}},onCollapse:function(a,b){if(this.checkbox){this.checkbox.dom.checked=false}Ext.form.FieldSet.superclass.onCollapse.call(this,a,b)},onExpand:function(a,b){if(this.checkbox){this.checkbox.dom.checked=true}Ext.form.FieldSet.superclass.onExpand.call(this,a,b)},onCheckClick:function(){this[this.checkbox.dom.checked?"expand":"collapse"]()},beforeDestroy:function(){if(this.checkbox){this.checkbox.un("click",this.onCheckClick,this)}Ext.form.FieldSet.superclass.beforeDestroy.call(this)}});Ext.reg("fieldset",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:"Please enter the URL for the link:",defaultLinkValue:"http://",fontFamilies:["Arial","Courier New","Tahoma","Times New Roman","Verdana"],defaultFont:"tahoma",validationEvent:false,deferHeight:true,initialized:false,activated:false,sourceEditMode:false,onFocus:Ext.emptyFn,iframePad:3,hideMode:"offsets",defaultAutoCreate:{tag:"textarea",style:"width:500px;height:300px;",autocomplete:"off"},initComponent:function(){this.addEvents("initialize","activate","beforesync","beforepush","sync","push","editmodechange")},createFontOptions:function(){var d=[],b=this.fontFamilies,c,g;for(var e=0,a=b.length;e<a;e++){c=b[e];g=c.toLowerCase();d.push('<option value="',g,'" style="font-family:',c,';"',(this.defaultFont==g?' selected="true">':">"),c,"</option>")}return d.join("")},createToolbar:function(d){var a=Ext.QuickTips&&Ext.QuickTips.isEnabled();function c(h,e,g){return{itemId:h,cls:"x-btn-icon x-edit-"+h,enableToggle:e!==false,scope:d,handler:g||d.relayBtnCmd,clickEvent:"mousedown",tooltip:a?d.buttonTips[h]||undefined:undefined,tabIndex:-1}}var b=new Ext.Toolbar({renderTo:this.wrap.dom.firstChild});b.el.on("click",function(g){g.preventDefault()});if(this.enableFont&&!Ext.isSafari2){this.fontSelect=b.el.createChild({tag:"select",cls:"x-font-select",html:this.createFontOptions()});this.fontSelect.on("change",function(){var e=this.fontSelect.dom.value;this.relayCmd("fontname",e);this.deferFocus()},this);b.add(this.fontSelect.dom,"-")}if(this.enableFormat){b.add(c("bold"),c("italic"),c("underline"))}if(this.enableFontSize){b.add("-",c("increasefontsize",false,this.adjustFont),c("decreasefontsize",false,this.adjustFont))}if(this.enableColors){b.add("-",{itemId:"forecolor",cls:"x-btn-icon x-edit-forecolor",clickEvent:"mousedown",tooltip:a?d.buttonTips.forecolor||undefined:undefined,tabIndex:-1,menu:new Ext.menu.ColorMenu({allowReselect:true,focus:Ext.emptyFn,value:"000000",plain:true,selectHandler:function(g,e){this.execCmd("forecolor",Ext.isSafari||Ext.isIE?"#"+e:e);this.deferFocus()},scope:this,clickEvent:"mousedown"})},{itemId:"backcolor",cls:"x-btn-icon x-edit-backcolor",clickEvent:"mousedown",tooltip:a?d.buttonTips.backcolor||undefined:undefined,tabIndex:-1,menu:new Ext.menu.ColorMenu({focus:Ext.emptyFn,value:"FFFFFF",plain:true,allowReselect:true,selectHandler:function(g,e){if(Ext.isGecko){this.execCmd("useCSS",false);this.execCmd("hilitecolor",e);this.execCmd("useCSS",true);this.deferFocus()}else{this.execCmd(Ext.isOpera?"hilitecolor":"backcolor",Ext.isSafari||Ext.isIE?"#"+e:e);this.deferFocus()}},scope:this,clickEvent:"mousedown"})})}if(this.enableAlignments){b.add("-",c("justifyleft"),c("justifycenter"),c("justifyright"))}if(!Ext.isSafari2){if(this.enableLinks){b.add("-",c("createlink",false,this.createLink))}if(this.enableLists){b.add("-",c("insertorderedlist"),c("insertunorderedlist"))}if(this.enableSourceEdit){b.add("-",c("sourceedit",true,function(e){this.toggleSourceEdit(e.pressed)}))}}this.tb=b},getDocMarkup:function(){return'<html><head><style type="text/css">body{border:0;margin:0;padding:3px;height:98%;cursor:text;}</style></head><body></body></html>'},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(b,a){Ext.form.HtmlEditor.superclass.onRender.call(this,b,a);this.el.dom.style.border="0 none";this.el.dom.setAttribute("tabIndex",-1);this.el.addClass("x-hidden");if(Ext.isIE){this.el.applyStyles("margin-top:-1px;margin-bottom:-1px;")}this.wrap=this.el.wrap({cls:"x-html-editor-wrap",cn:{cls:"x-html-editor-tb"}});this.createToolbar(this);this.tb.items.each(function(e){if(e.itemId!="sourceedit"){e.disable()}});var c=document.createElement("iframe");c.name=Ext.id();c.frameBorder="0";c.src=Ext.isIE?Ext.SSL_SECURE_URL:"javascript:;";this.wrap.dom.appendChild(c);this.iframe=c;this.initFrame();if(this.autoMonitorDesignMode!==false){this.monitorTask=Ext.TaskMgr.start({run:this.checkDesignMode,scope:this,interval:100})}if(!this.width){var d=this.el.getSize();this.setSize(d.width,this.height||d.height)}},initFrame:function(){this.doc=this.getDoc();this.win=this.getWin();this.doc.open();this.doc.write(this.getDocMarkup());this.doc.close();var a={run:function(){if(this.doc.body||this.doc.readyState=="complete"){Ext.TaskMgr.stop(a);this.doc.designMode="on";this.initEditor.defer(10,this)}},interval:10,duration:10000,scope:this};Ext.TaskMgr.start(a)},checkDesignMode:function(){if(this.wrap&&this.wrap.dom.offsetWidth){var a=this.getDoc();if(!a){return}if(!a.editorInitialized||String(a.designMode).toLowerCase()!="on"){this.initFrame()}}},onResize:function(b,c){Ext.form.HtmlEditor.superclass.onResize.apply(this,arguments);if(this.el&&this.iframe){if(typeof b=="number"){var d=b-this.wrap.getFrameWidth("lr");this.el.setWidth(this.adjustWidth("textarea",d));this.iframe.style.width=Math.max(d,0)+"px"}if(typeof c=="number"){var a=c-this.wrap.getFrameWidth("tb")-this.tb.el.getHeight();this.el.setHeight(this.adjustWidth("textarea",a));this.iframe.style.height=Math.max(a,0)+"px";if(this.doc){this.getEditorBody().style.height=Math.max((a-(this.iframePad*2)),0)+"px"}}}},toggleSourceEdit:function(a){if(a===undefined){a=!this.sourceEditMode}this.sourceEditMode=a===true;var c=this.tb.items.get("sourceedit");if(c.pressed!==this.sourceEditMode){c.toggle(this.sourceEditMode);return}if(this.sourceEditMode){this.tb.items.each(function(d){if(d.itemId!="sourceedit"){d.disable()}});this.syncValue();this.iframe.className="x-hidden";this.el.removeClass("x-hidden");this.el.dom.removeAttribute("tabIndex");this.el.focus()}else{if(this.initialized){this.tb.items.each(function(d){d.enable()})}this.pushValue();this.iframe.className="";this.el.addClass("x-hidden");this.el.dom.setAttribute("tabIndex",-1);this.deferFocus()}var b=this.lastSize;if(b){delete this.lastSize;this.setSize(b)}this.fireEvent("editmodechange",this,this.sourceEditMode)},createLink:function(){var a=prompt(this.createLinkText,this.defaultLinkValue);if(a&&a!="http://"){this.relayCmd("createlink",a)}},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(a){Ext.form.HtmlEditor.superclass.setValue.call(this,a);this.pushValue()},cleanHtml:function(a){a=String(a);if(a.length>5){if(Ext.isSafari){a=a.replace(/\sclass="(?:Apple-style-span|khtml-block-placeholder)"/gi,"")}}if(a=="&nbsp;"){a=""}return a},syncValue:function(){if(this.initialized){var d=this.getEditorBody();var c=d.innerHTML;if(Ext.isSafari){var b=d.getAttribute("style");var a=b.match(/text-align:(.*?);/i);if(a&&a[1]){c='<div style="'+a[0]+'">'+c+"</div>"}}c=this.cleanHtml(c);if(this.fireEvent("beforesync",this,c)!==false){this.el.dom.value=c;this.fireEvent("sync",this,c)}}},getValue:function(){this.syncValue();return Ext.form.HtmlEditor.superclass.getValue.call(this)},pushValue:function(){if(this.initialized){var a=this.el.dom.value;if(!this.activated&&a.length<1){a="&nbsp;"}if(this.fireEvent("beforepush",this,a)!==false){this.getEditorBody().innerHTML=a;this.fireEvent("push",this,a)}}},deferFocus:function(){this.focus.defer(10,this)},focus:function(){if(this.win&&!this.sourceEditMode){this.win.focus()}else{this.el.focus()}},initEditor:function(){var b=this.getEditorBody();var a=this.el.getStyles("font-size","font-family","background-image","background-repeat");a["background-attachment"]="fixed";b.bgProperties="fixed";Ext.DomHelper.applyStyles(b,a);if(this.doc){try{Ext.EventManager.removeAll(this.doc)}catch(c){}}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,"keypress",this.applyCommand,this)}if(Ext.isIE||Ext.isSafari||Ext.isOpera){Ext.EventManager.on(this.doc,"keydown",this.fixKeys,this)}this.initialized=true;this.fireEvent("initialize",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(a){if(a.menu){a.menu.removeAll();if(a.menu.el){a.menu.el.destroy()}}a.destroy()});this.wrap.dom.innerHTML="";this.wrap.remove()}},onFirstFocus:function(){this.activated=true;this.tb.items.each(function(d){d.enable()});if(Ext.isGecko){this.win.focus();var a=this.win.getSelection();if(!a.focusNode||a.focusNode.nodeType!=3){var b=a.getRangeAt(0);b.selectNodeContents(this.getEditorBody());b.collapse(true);this.deferFocus()}try{this.execCmd("useCSS",true);this.execCmd("styleWithCSS",false)}catch(c){}}this.fireEvent("activate",this)},adjustFont:function(b){var c=b.itemId=="increasefontsize"?1:-1;var a=parseInt(this.doc.queryCommandValue("FontSize")||2,10);if(Ext.isSafari3||Ext.isAir){if(a<=10){a=1+c}else{if(a<=13){a=2+c}else{if(a<=16){a=3+c}else{if(a<=18){a=4+c}else{if(a<=24){a=5+c}else{a=6+c}}}}}a=a.constrain(1,6)}else{if(Ext.isSafari){c*=2}a=Math.max(1,a+c)+(Ext.isSafari?"px":0)}this.execCmd("FontSize",a)},onEditorEvent:function(a){this.updateToolbar()},updateToolbar:function(){if(!this.activated){this.onFirstFocus();return}var b=this.tb.items.map,c=this.doc;if(this.enableFont&&!Ext.isSafari2){var a=(this.doc.queryCommandValue("FontName")||this.defaultFont).toLowerCase();if(a!=this.fontSelect.dom.value){this.fontSelect.dom.value=a}}if(this.enableFormat){b.bold.toggle(c.queryCommandState("bold"));b.italic.toggle(c.queryCommandState("italic"));b.underline.toggle(c.queryCommandState("underline"))}if(this.enableAlignments){b.justifyleft.toggle(c.queryCommandState("justifyleft"));b.justifycenter.toggle(c.queryCommandState("justifycenter"));b.justifyright.toggle(c.queryCommandState("justifyright"))}if(!Ext.isSafari2&&this.enableLists){b.insertorderedlist.toggle(c.queryCommandState("insertorderedlist"));b.insertunorderedlist.toggle(c.queryCommandState("insertunorderedlist"))}Ext.menu.MenuMgr.hideAll();this.syncValue()},relayBtnCmd:function(a){this.relayCmd(a.itemId)},relayCmd:function(b,a){(function(){this.focus();this.execCmd(b,a);this.updateToolbar()}).defer(10,this)},execCmd:function(b,a){this.doc.execCommand(b,false,a===undefined?null:a);this.syncValue()},applyCommand:function(b){if(b.ctrlKey){var d=b.getCharCode(),a;if(d>0){d=String.fromCharCode(d);switch(d){case"b":a="bold";break;case"i":a="italic";break;case"u":a="underline";break}if(a){this.win.focus();this.execCmd(a);this.deferFocus();b.preventDefault()}}}},insertAtCursor:function(b){if(!this.activated){return}if(Ext.isIE){this.win.focus();var a=this.doc.selection.createRange();if(a){a.collapse(true);a.pasteHTML(b);this.syncValue();this.deferFocus()}}else{if(Ext.isGecko||Ext.isOpera){this.win.focus();this.execCmd("InsertHTML",b);this.deferFocus()}else{if(Ext.isSafari){this.execCmd("InsertText",b);this.deferFocus()}}}},fixKeys:function(){if(Ext.isIE){return function(d){var a=d.getKey(),b;if(a==d.TAB){d.stopEvent();b=this.doc.selection.createRange();if(b){b.collapse(true);b.pasteHTML("&nbsp;&nbsp;&nbsp;&nbsp;");this.deferFocus()}}else{if(a==d.ENTER){b=this.doc.selection.createRange();if(b){var c=b.parentElement();if(!c||c.tagName.toLowerCase()!="li"){d.stopEvent();b.pasteHTML("<br />");b.collapse(false);b.select()}}}}}}else{if(Ext.isOpera){return function(b){var a=b.getKey();if(a==b.TAB){b.stopEvent();this.win.focus();this.execCmd("InsertHTML","&nbsp;&nbsp;&nbsp;&nbsp;");this.deferFocus()}}}else{if(Ext.isSafari){return function(b){var a=b.getKey();if(a==b.TAB){b.stopEvent();this.execCmd("InsertText","\t");this.deferFocus()}}}}}}(),getToolbar:function(){return this.tb},buttonTips:{bold:{title:"Bold (Ctrl+B)",text:"Make the selected text bold.",cls:"x-html-editor-tip"},italic:{title:"Italic (Ctrl+I)",text:"Make the selected text italic.",cls:"x-html-editor-tip"},underline:{title:"Underline (Ctrl+U)",text:"Underline the selected text.",cls:"x-html-editor-tip"},increasefontsize:{title:"Grow Text",text:"Increase the font size.",cls:"x-html-editor-tip"},decreasefontsize:{title:"Shrink Text",text:"Decrease the font size.",cls:"x-html-editor-tip"},backcolor:{title:"Text Highlight Color",text:"Change the background color of the selected text.",cls:"x-html-editor-tip"},forecolor:{title:"Font Color",text:"Change the color of the selected text.",cls:"x-html-editor-tip"},justifyleft:{title:"Align Text Left",text:"Align text to the left.",cls:"x-html-editor-tip"},justifycenter:{title:"Center Text",text:"Center text in the editor.",cls:"x-html-editor-tip"},justifyright:{title:"Align Text Right",text:"Align text to the right.",cls:"x-html-editor-tip"},insertunorderedlist:{title:"Bullet List",text:"Start a bulleted list.",cls:"x-html-editor-tip"},insertorderedlist:{title:"Numbered List",text:"Start a numbered list.",cls:"x-html-editor-tip"},createlink:{title:"Hyperlink",text:"Make the selected text a hyperlink.",cls:"x-html-editor-tip"},sourceedit:{title:"Source Edit",text:"Switch to source editing mode.",cls:"x-html-editor-tip"}}});Ext.reg("htmleditor",Ext.form.HtmlEditor);Ext.form.TimeField=Ext.extend(Ext.form.ComboBox,{minValue:null,maxValue:null,minText:"The time in this field must be equal to or after {0}",maxText:"The time in this field must be equal to or before {0}",invalidText:"{0} is not a valid time",format:"g:i A",altFormats:"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",increment:15,mode:"local",triggerAction:"all",typeAhead:false,initDate:"1/1/2008",initComponent:function(){Ext.form.TimeField.superclass.initComponent.call(this);if(typeof this.minValue=="string"){this.minValue=this.parseDate(this.minValue)}if(typeof this.maxValue=="string"){this.maxValue=this.parseDate(this.maxValue)}if(!this.store){var b=this.parseDate(this.minValue);if(!b){b=new Date(this.initDate).clearTime()}var a=this.parseDate(this.maxValue);if(!a){a=new Date(this.initDate).clearTime().add("mi",(24*60)-1)}var c=[];while(b<=a){c.push([b.dateFormat(this.format)]);b=b.add("mi",this.increment)}this.store=new Ext.data.SimpleStore({fields:["text"],data:c});this.displayField="text"}},getValue:function(){var a=Ext.form.TimeField.superclass.getValue.call(this);return this.formatDate(this.parseDate(a))||""},setValue:function(a){Ext.form.TimeField.superclass.setValue.call(this,this.formatDate(this.parseDate(a)))},validateValue:Ext.form.DateField.prototype.validateValue,parseDate:Ext.form.DateField.prototype.parseDate,formatDate:Ext.form.DateField.prototype.formatDate,beforeBlur:function(){var a=this.parseDate(this.getRawValue());if(a){this.setValue(a.dateFormat(this.format))}}});Ext.reg("timefield",Ext.form.TimeField);Ext.form.Label=Ext.extend(Ext.BoxComponent,{onRender:function(b,a){if(!this.el){this.el=document.createElement("label");this.el.id=this.getId();this.el.innerHTML=this.text?Ext.util.Format.htmlEncode(this.text):(this.html||"");if(this.forId){this.el.setAttribute("for",this.forId)}}Ext.form.Label.superclass.onRender.call(this,b,a)},setText:function(a,b){this.text=a;if(this.rendered){this.el.dom.innerHTML=b!==false?Ext.util.Format.htmlEncode(a):a}return this}});Ext.reg("label",Ext.form.Label);Ext.form.Action=function(b,a){this.form=b;this.options=a||{}};Ext.form.Action.CLIENT_INVALID="client";Ext.form.Action.SERVER_INVALID="server";Ext.form.Action.CONNECT_FAILURE="connect";Ext.form.Action.LOAD_FAILURE="load";Ext.form.Action.prototype={type:"default",run:function(a){},success:function(a){},handleResponse:function(a){},failure:function(a){this.response=a;this.failureType=Ext.form.Action.CONNECT_FAILURE;this.form.afterAction(this,false)},processResponse:function(a){this.response=a;if(!a.responseText){return true}this.result=this.handleResponse(a);return this.result},getUrl:function(c){var a=this.options.url||this.form.url||this.form.el.dom.action;if(c){var b=this.getParams();if(b){a+=(a.indexOf("?")!=-1?"&":"?")+b}}return a},getMethod:function(){return(this.options.method||this.form.method||this.form.el.dom.method||"POST").toUpperCase()},getParams:function(){var a=this.form.baseParams;var b=this.options.params;if(b){if(typeof b=="object"){b=Ext.urlEncode(Ext.applyIf(b,a))}else{if(typeof b=="string"&&a){b+="&"+Ext.urlEncode(a)}}}else{if(a){b=Ext.urlEncode(a)}}return b},createCallback:function(a){var a=a||{};return{success:this.success,failure:this.failure,scope:this,timeout:(a.timeout*1000)||(this.form.timeout*1000),upload:this.form.fileUpload?this.success:undefined}}};Ext.form.Action.Submit=function(b,a){Ext.form.Action.Submit.superclass.constructor.call(this,b,a)};Ext.extend(Ext.form.Action.Submit,Ext.form.Action,{type:"submit",run:function(){var b=this.options;var c=this.getMethod();var a=c=="GET";if(b.clientValidation===false||this.form.isValid()){Ext.Ajax.request(Ext.apply(this.createCallback(b),{form:this.form.el.dom,url:this.getUrl(a),method:c,headers:b.headers,params:!a?this.getParams():null,isUpload:this.form.fileUpload}))}else{if(b.clientValidation!==false){this.failureType=Ext.form.Action.CLIENT_INVALID;this.form.afterAction(this,false)}}},success:function(b){var a=this.processResponse(b);if(a===true||a.success){this.form.afterAction(this,true);return}if(a.errors){this.form.markInvalid(a.errors);this.failureType=Ext.form.Action.SERVER_INVALID}this.form.afterAction(this,false)},handleResponse:function(c){if(this.form.errorReader){var b=this.form.errorReader.read(c);var g=[];if(b.records){for(var d=0,a=b.records.length;d<a;d++){var e=b.records[d];g[d]=e.data}}if(g.length<1){g=null}return{success:b.success,errors:g}}return Ext.decode(c.responseText)}});Ext.form.Action.Load=function(b,a){Ext.form.Action.Load.superclass.constructor.call(this,b,a);this.reader=this.form.reader};Ext.extend(Ext.form.Action.Load,Ext.form.Action,{type:"load",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(b){var a=this.processResponse(b);if(a===true||!a.success||!a.data){this.failureType=Ext.form.Action.LOAD_FAILURE;this.form.afterAction(this,false);return}this.form.clearInvalid();this.form.setValues(a.data);this.form.afterAction(this,true)},handleResponse:function(b){if(this.form.reader){var a=this.form.reader.read(b);var c=a.records&&a.records[0]?a.records[0].data:null;return{success:a.success,data:c}}return Ext.decode(b.responseText)}});Ext.form.Action.ACTION_TYPES={load:Ext.form.Action.Load,submit:Ext.form.Action.Submit};Ext.form.VTypes=function(){var c=/^[a-zA-Z_]+$/;var d=/^[a-zA-Z0-9_]+$/;var b=/^([\w]+)(\.[\w]+)*@([\w\-]+\.){1,5}([A-Za-z]){2,4}$/;var a=/(((https?)|(ftp)):\/\/([\-\w]+\.)+\w{2,3}(\/[%\-\w]+(\.\w{2,})?)*(([\w\-\.\?\\\/+@&#;`~=%!]*)(\.\w{2,})?)*\/?)/i;return{email:function(e){return b.test(e)},emailText:'This field should be an e-mail address in the format "user@domain.com"',emailMask:/[a-z0-9_\.\-@]/i,url:function(e){return a.test(e)},urlText:'This field should be a URL in the format "http://www.domain.com"',alpha:function(e){return c.test(e)},alphaText:"This field should only contain letters and _",alphaMask:/[a-z_]/i,alphanum:function(e){return d.test(e)},alphanumText:"This field should only contain letters, numbers and _",alphanumMask:/[a-z0-9_]/i}}();Ext.grid.GridPanel=Ext.extend(Ext.Panel,{ddText:"{0} selected row{1}",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:["columnmove","columnresize","sortchange"],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("click","dblclick","contextmenu","mousedown","mouseup","mouseover","mouseout","keypress","keydown","cellmousedown","rowmousedown","headermousedown","cellclick","celldblclick","rowclick","rowdblclick","headerclick","headerdblclick","rowcontextmenu","cellcontextmenu","headercontextmenu","bodyscroll","columnresize","columnmove","sortchange")},onRender:function(d,a){Ext.grid.GridPanel.superclass.onRender.apply(this,arguments);var e=this.body;this.el.addClass("x-grid-panel");var b=this.getView();b.init(this);e.on("mousedown",this.onMouseDown,this);e.on("click",this.onClick,this);e.on("dblclick",this.onDblClick,this);e.on("contextmenu",this.onContextMenu,this);e.on("keydown",this.onKeyDown,this);this.relayEvents(e,["mousedown","mouseup","mouseover","mouseout","keypress"]);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("hiddenchange",this.saveState,this,{delay:100})},applyState:function(h){var b=this.colModel;var g=h.columns;if(g){for(var d=0,a=g.length;d<a;d++){var e=g[d];var l=b.getColumnById(e.id);if(l){l.hidden=e.hidden;l.width=e.width;var k=b.getIndexById(e.id);if(k!=d){b.moveColumn(k,d)}}}}if(h.sort){this.store[this.store.remoteSort?"setDefaultSort":"sort"](h.sort.field,h.sort.direction)}},getState:function(){var d={columns:[]};for(var b=0,e;e=this.colModel.config[b];b++){d.columns[b]={id:e.id,width:e.width};if(e.hidden){d.columns[b].hidden=true}}var a=this.store.getSortState();if(a){d.sort=a}return d},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(a,b){if(this.loadMask){this.loadMask.destroy();this.loadMask=new Ext.LoadMask(this.bwrap,Ext.apply({store:a},this.initialConfig.loadMask))}this.view.bind(a,b);this.store=a;this.colModel=b;if(this.rendered){this.view.refresh(true)}},onKeyDown:function(a){this.fireEvent("keydown",a)},onDestroy:function(){if(this.rendered){if(this.loadMask){this.loadMask.destroy()}var a=this.body;a.removeAllListeners();this.view.destroy();a.update("")}this.colModel.purgeListeners();Ext.grid.GridPanel.superclass.onDestroy.call(this)},processEvent:function(c,g){this.fireEvent(c,g);var d=g.getTarget();var b=this.view;var i=b.findHeaderIndex(d);if(i!==false){this.fireEvent("header"+c,this,i,g)}else{var h=b.findRowIndex(d);var a=b.findCellIndex(d);if(h!==false){this.fireEvent("row"+c,this,h,g);if(a!==false){this.fireEvent("cell"+c,this,h,a,g)}}}},onClick:function(a){this.processEvent("click",a)},onMouseDown:function(a){this.processEvent("mousedown",a)},onContextMenu:function(b,a){this.processEvent("contextmenu",b)},onDblClick:function(a){this.processEvent("dblclick",a)},walkCells:function(l,c,b,e,k){var i=this.colModel,g=i.getColumnCount();var a=this.store,h=a.getCount(),d=true;if(b<0){if(c<0){l--;d=false}while(l>=0){if(!d){c=g-1}d=false;while(c>=0){if(e.call(k||this,l,c,i)===true){return[l,c]}c--}l--}}else{if(c>=g){l++;d=false}while(l<h){if(!d){c=0}d=false;while(c<g){if(e.call(k||this,l,c,i)===true){return[l,c]}c++}l++}}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 a=this.selModel.getCount();return String.format(this.ddText,a,a==1?"":"s")}});Ext.reg("grid",Ext.grid.GridPanel);Ext.grid.GridView=function(a){Ext.apply(this,a);this.addEvents("beforerowremoved","beforerowsinserted","beforerefresh","rowremoved","rowsinserted","rowupdated","refresh");Ext.grid.GridView.superclass.constructor.call(this)};Ext.extend(Ext.grid.GridView,Ext.util.Observable,{deferEmptyText:true,scrollOffset:19,autoFill:false,forceFit:false,sortClasses:["sort-asc","sort-desc"],sortAscText:"Sort Ascending",sortDescText:"Sort Descending",columnsText:"Columns",borderWidth:2,tdClass:"x-grid3-cell",hdCls:"x-grid3-hd",cellSelectorDepth:4,rowSelectorDepth:10,cellSelector:"td.x-grid3-cell",rowSelector:"div.x-grid3-row",initTemplates:function(){var c=this.templates||{};if(!c.master){c.master=new Ext.Template('<div class="x-grid3" hidefocus="true">','<div class="x-grid3-viewport">','<div class="x-grid3-header"><div class="x-grid3-header-inner"><div class="x-grid3-header-offset">{header}</div></div><div class="x-clear"></div></div>','<div class="x-grid3-scroller"><div class="x-grid3-body">{body}</div><a href="#" class="x-grid3-focus" tabIndex="-1"></a></div>',"</div>",'<div class="x-grid3-resize-marker">&#160;</div>','<div class="x-grid3-resize-proxy">&#160;</div>',"</div>")}if(!c.header){c.header=new Ext.Template('<table border="0" cellspacing="0" cellpadding="0" style="{tstyle}">','<thead><tr class="x-grid3-hd-row">{cells}</tr></thead>',"</table>")}if(!c.hcell){c.hcell=new Ext.Template('<td class="x-grid3-hd x-grid3-cell x-grid3-td-{id} {css}" style="{style}"><div {tooltip} {attr} class="x-grid3-hd-inner x-grid3-hd-{id}" unselectable="on" style="{istyle}">',this.grid.enableHdMenu?'<a class="x-grid3-hd-btn" href="#"></a>':"",'{value}<img class="x-grid3-sort-icon" src="',Ext.BLANK_IMAGE_URL,'" />',"</div></td>")}if(!c.body){c.body=new Ext.Template("{rows}")}if(!c.row){c.row=new Ext.Template('<div class="x-grid3-row {alt}" style="{tstyle}"><table class="x-grid3-row-table" border="0" cellspacing="0" cellpadding="0" style="{tstyle}">',"<tbody><tr>{cells}</tr>",(this.enableRowBody?'<tr class="x-grid3-row-body-tr" style="{bodyStyle}"><td colspan="{cols}" class="x-grid3-body-cell" tabIndex="0" hidefocus="on"><div class="x-grid3-row-body">{body}</div></td></tr>':""),"</tbody></table></div>")}if(!c.cell){c.cell=new Ext.Template('<td class="x-grid3-col x-grid3-cell x-grid3-td-{id} {css}" style="{style}" tabIndex="0" {cellAttr}>','<div class="x-grid3-cell-inner x-grid3-col-{id}" unselectable="on" {attr}>{value}</div>',"</td>")}for(var a in c){var b=c[a];if(b&&typeof b.compile=="function"&&!b.compiled){b.disableFormats=true;b.compile()}}this.templates=c;this.colRe=new RegExp("x-grid3-td-([^\\s]+)","")},fly:function(a){if(!this._flyweight){this._flyweight=new Ext.Element.Flyweight(document.body)}this._flyweight.dom=a;return this._flyweight},getEditorParent:function(){return this.scroller.dom},initElements:function(){var c=Ext.Element;var b=this.grid.getGridEl().dom.firstChild;var a=b.childNodes;this.el=new c(b);this.mainWrap=new c(a[0]);this.mainHd=new c(this.mainWrap.dom.firstChild);if(this.grid.hideHeaders){this.mainHd.setDisplayed(false)}this.innerHd=this.mainHd.dom.firstChild;this.scroller=new c(this.mainWrap.dom.childNodes[1]);if(this.forceFit){this.scroller.setStyle("overflow-x","hidden")}this.mainBody=new c(this.scroller.dom.firstChild);this.focusEl=new c(this.scroller.dom.childNodes[1]);this.focusEl.swallowEvent("click",true);this.resizeMarker=new c(a[1]);this.resizeProxy=new c(a[2])},getRows:function(){return this.hasRows()?this.mainBody.dom.childNodes:[]},findCell:function(a){if(!a){return false}return this.fly(a).findParent(this.cellSelector,this.cellSelectorDepth)},findCellIndex:function(c,b){var a=this.findCell(c);if(a&&(!b||this.fly(a).hasClass(b))){return this.getCellIndex(a)}return false},getCellIndex:function(b){if(b){var a=b.className.match(this.colRe);if(a&&a[1]){return this.cm.getIndexById(a[1])}}return false},findHeaderCell:function(b){var a=this.findCell(b);return a&&this.fly(a).hasClass(this.hdCls)?a:null},findHeaderIndex:function(a){return this.findCellIndex(a,this.hdCls)},findRow:function(a){if(!a){return false}return this.fly(a).findParent(this.rowSelector,this.rowSelectorDepth)},findRowIndex:function(a){var b=this.findRow(a);return b?b.rowIndex:false},getRow:function(a){return this.getRows()[a]},getCell:function(b,a){return this.getRow(b).getElementsByTagName("td")[a]},getHeaderCell:function(a){return this.mainHd.dom.getElementsByTagName("td")[a]},addRowClass:function(c,a){var b=this.getRow(c);if(b){this.fly(b).addClass(a)}},removeRowClass:function(c,a){var b=this.getRow(c);if(b){this.fly(b).removeClass(a)}},removeRow:function(a){Ext.removeNode(this.getRow(a));this.syncFocusEl(a)},removeRows:function(c,a){var b=this.mainBody.dom;for(var d=c;d<=a;d++){Ext.removeNode(b.childNodes[c])}this.syncFocusEl(c)},getScrollState:function(){var a=this.scroller.dom;return{left:a.scrollLeft,top:a.scrollTop}},restoreScroll:function(a){var b=this.scroller.dom;b.scrollLeft=a.left;b.scrollTop=a.top},scrollToTop:function(){this.scroller.dom.scrollTop=0;this.scroller.dom.scrollLeft=0},syncScroll:function(){this.syncHeaderScroll();var a=this.scroller.dom;this.grid.fireEvent("bodyscroll",a.scrollLeft,a.scrollTop)},syncHeaderScroll:function(){var a=this.scroller.dom;this.innerHd.scrollLeft=a.scrollLeft;this.innerHd.scrollLeft=a.scrollLeft},updateSortIcon:function(b,a){var d=this.sortClasses;var c=this.mainHd.select("td").removeClass(d);c.item(b).addClass(d[a=="DESC"?1:0])},updateAllColumnWidths:function(){var d=this.getTotalWidth();var l=this.cm.getColumnCount();var g=[];for(var b=0;b<l;b++){g[b]=this.getColumnWidth(b)}this.innerHd.firstChild.firstChild.style.width=d;for(var b=0;b<l;b++){var c=this.getHeaderCell(b);c.style.width=g[b]}var h=this.getRows(),m,k;for(var b=0,e=h.length;b<e;b++){m=h[b];m.style.width=d;if(m.firstChild){m.firstChild.style.width=d;k=m.firstChild.rows[0];for(var a=0;a<l;a++){k.childNodes[a].style.width=g[a]}}}this.onAllColumnWidthsUpdated(g,d)},updateColumnWidth:function(b,a){var k=this.getColumnWidth(b);var e=this.getTotalWidth();this.innerHd.firstChild.firstChild.style.width=e;var d=this.getHeaderCell(b);d.style.width=k;var h=this.getRows(),l;for(var c=0,g=h.length;c<g;c++){l=h[c];l.style.width=e;if(l.firstChild){l.firstChild.style.width=e;l.firstChild.rows[0].childNodes[b].style.width=k}}this.onColumnWidthUpdated(b,k,e)},updateColumnHidden:function(a,e){var d=this.getTotalWidth();this.innerHd.firstChild.firstChild.style.width=d;var h=e?"none":"";var c=this.getHeaderCell(a);c.style.display=h;var k=this.getRows(),l;for(var b=0,g=k.length;b<g;b++){l=k[b];l.style.width=d;if(l.firstChild){l.firstChild.style.width=d;l.firstChild.rows[0].childNodes[a].style.display=h}}this.onColumnHiddenUpdated(a,e,d);delete this.lastViewWidth;this.layout()},doRender:function(g,k,s,a,q,w){var b=this.templates,e=b.cell,h=b.row,l=q-1;var d="width:"+this.getTotalWidth()+";";var z=[],t,A,u={},m={tstyle:d},o;for(var v=0,y=k.length;v<y;v++){o=k[v];t=[];var n=(v+a);for(var x=0;x<q;x++){A=g[x];u.id=A.id;u.css=x==0?"x-grid3-cell-first ":(x==l?"x-grid3-cell-last ":"");u.attr=u.cellAttr="";u.value=A.renderer(o.data[A.name],u,o,n,x,s);u.style=A.style;if(u.value==undefined||u.value===""){u.value="&#160;"}if(o.dirty&&typeof o.modified[A.name]!=="undefined"){u.css+=" x-grid3-dirty-cell"}t[t.length]=e.apply(u)}var B=[];if(w&&((n+1)%2==0)){B[0]="x-grid3-row-alt"}if(o.dirty){B[1]=" x-grid3-dirty-row"}m.cols=q;if(this.getRowClass){B[2]=this.getRowClass(o,n,m,s)}m.alt=B.join(" ");m.cells=t.join("");z[z.length]=h.apply(m)}return z.join("")},processRows:function(e,d){if(this.ds.getCount()<1){return}d=d||!this.grid.stripeRows;e=e||0;var l=this.getRows();var g=" x-grid3-row-alt ";l[0].className+=" x-grid3-row-first";l[l.length-1].className+=" x-grid3-row-last";for(var b=e,c=l.length;b<c;b++){var k=l[b];k.rowIndex=b;if(!d){var a=((b+1)%2==0);var h=(" "+k.className+" ").indexOf(g)!=-1;if(a==h){continue}if(a){k.className+=" x-grid3-row-alt"}else{k.className=k.className.replace("x-grid3-row-alt","")}}}},afterRender:function(){this.mainBody.dom.innerHTML=this.renderRows();this.processRows(0,true);if(this.deferEmptyText!==true){this.applyEmptyText()}},renderUI:function(){var d=this.renderHeaders();var a=this.templates.body.apply({rows:""});var b=this.templates.master.apply({body:a,header:d});var c=this.grid;c.getGridEl().dom.innerHTML=b;this.initElements();Ext.fly(this.innerHd).on("click",this.handleHdDown,this);this.mainHd.on("mouseover",this.handleHdOver,this);this.mainHd.on("mouseout",this.handleHdOut,this);this.mainHd.on("mousemove",this.handleHdMove,this);this.scroller.on("scroll",this.syncScroll,this);if(c.enableColumnResize!==false){this.splitZone=new Ext.grid.GridView.SplitDragZone(c,this.mainHd.dom)}if(c.enableColumnMove){this.columnDrag=new Ext.grid.GridView.ColumnDragZone(c,this.innerHd);this.columnDrop=new Ext.grid.HeaderDropZone(c,this.mainHd.dom)}if(c.enableHdMenu!==false){if(c.enableColumnHide!==false){this.colMenu=new Ext.menu.Menu({id:c.id+"-hcols-menu"});this.colMenu.on("beforeshow",this.beforeColMenuShow,this);this.colMenu.on("itemclick",this.handleHdMenuClick,this)}this.hmenu=new Ext.menu.Menu({id:c.id+"-hctx"});this.hmenu.add({id:"asc",text:this.sortAscText,cls:"xg-hmenu-sort-asc"},{id:"desc",text:this.sortDescText,cls:"xg-hmenu-sort-desc"});if(c.enableColumnHide!==false){this.hmenu.add("-",{id:"columns",text:this.columnsText,menu:this.colMenu,iconCls:"x-cols-icon"})}this.hmenu.on("itemclick",this.handleHdMenuClick,this)}if(c.trackMouseOver){this.mainBody.on("mouseover",this.onRowOver,this);this.mainBody.on("mouseout",this.onRowOut,this)}if(c.enableDragDrop||c.enableDrag){this.dragZone=new Ext.grid.GridDragZone(c,{ddGroup:c.ddGroup||"GridDD"})}this.updateHeaderSortState()},layout:function(){if(!this.mainBody){return}var d=this.grid;var i=d.getGridEl();var a=i.getSize(true);var b=a.width;if(b<20||a.height<20){return}if(d.autoHeight){this.scroller.dom.style.overflow="visible";if(Ext.isSafari){this.scroller.dom.style.position="static"}}else{this.el.setSize(a.width,a.height);var h=this.mainHd.getHeight();var e=a.height-(h);this.scroller.setSize(b,e);if(this.innerHd){this.innerHd.style.width=(b)+"px"}}if(this.forceFit){if(this.lastViewWidth!=b){this.fitColumns(false,false);this.lastViewWidth=b}}else{this.autoExpand();this.syncHeaderScroll()}this.onLayout(b,e)},onLayout:function(a,b){},onColumnWidthUpdated:function(c,a,b){this.focusEl.setWidth(b)},onAllColumnWidthsUpdated:function(a,b){this.focusEl.setWidth(b)},onColumnHiddenUpdated:function(b,c,a){this.focusEl.setWidth(a)},updateColumnText:function(a,b){},afterMove:function(a){},init:function(a){this.grid=a;this.initTemplates();this.initData(a.store,a.colModel);this.initUI(a)},getColumnId:function(a){return this.cm.getColumnId(a)},renderHeaders:function(){var k=this.cm,g=this.templates;var d=g.hcell;var b=[],h=[],a={};var e=k.getColumnCount();var l=e-1;for(var c=0;c<e;c++){a.id=k.getColumnId(c);a.value=k.getColumnHeader(c)||"";a.style=this.getColumnStyle(c,true);a.tooltip=this.getColumnTooltip(c);a.css=c==0?"x-grid3-cell-first ":(c==l?"x-grid3-cell-last ":"");if(k.config[c].align=="right"){a.istyle="padding-right:16px"}else{delete a.istyle}b[b.length]=d.apply(a)}return g.header.apply({cells:b.join(""),tstyle:"width:"+this.getTotalWidth()+";"})},getColumnTooltip:function(a){var b=this.cm.getColumnTooltip(a);if(b){if(Ext.QuickTips.isEnabled()){return'ext:qtip="'+b+'"'}else{return'title="'+b+'"'}}return""},beforeUpdate:function(){this.grid.stopEditing(true)},updateHeaders:function(){this.innerHd.firstChild.innerHTML=this.renderHeaders()},focusRow:function(a){this.focusCell(a,0,false)},focusCell:function(c,a,b){this.syncFocusEl(this.ensureVisible(c,a,b));if(Ext.isGecko){this.focusEl.focus()}else{this.focusEl.focus.defer(1,this.focusEl)}},resolveCell:function(e,c,d){if(typeof e!="number"){e=e.rowIndex}if(!this.ds){return null}if(e<0||e>=this.ds.getCount()){return null}c=(c!==undefined?c:0);var b=this.getRow(e),a;if(!(d===false&&c===0)){while(this.cm.isHidden(c)){c++}a=this.getCell(e,c)}return{row:b,cell:a}},getResolvedXY:function(a){if(!a){return null}var b=this.scroller.dom,e=a.cell,d=a.row;return e?Ext.fly(e).getXY():[this.el.getX(),Ext.fly(d).getY()]},syncFocusEl:function(d,a,c){var b=d;if(!Ext.isArray(b)){d=Math.min(d,Math.max(0,this.getRows().length-1));b=this.getResolvedXY(this.resolveCell(d,a,c))}this.focusEl.setXY(b||this.scroller.getXY())},ensureVisible:function(u,g,e){var s=this.resolveCell(u,g,e);if(!s||!s.row){return}var l=s.row,h=s.cell;var o=this.scroller.dom;var t=0;var d=l,q=this.el.dom;while(d&&d!=q){t+=d.offsetTop;d=d.offsetParent}t-=this.mainHd.dom.offsetHeight;var r=t+l.offsetHeight;var a=o.clientHeight;var q=parseInt(o.scrollTop,10);var n=q+a;if(t<q){o.scrollTop=t}else{if(r>n){o.scrollTop=r-a}}if(e!==false){var m=parseInt(h.offsetLeft,10);var k=m+h.offsetWidth;var i=parseInt(o.scrollLeft,10);var b=i+o.clientWidth;if(m<i){o.scrollLeft=m}else{if(k>b){o.scrollLeft=k-o.clientWidth}}}return this.getResolvedXY(s)},insertRows:function(a,g,c,e){if(!e&&g===0&&c>=a.getCount()-1){this.refresh()}else{if(!e){this.fireEvent("beforerowsinserted",this,g,c)}var b=this.renderRows(g,c);var d=this.getRow(g);if(d){Ext.DomHelper.insertHtml("beforeBegin",d,b)}else{Ext.DomHelper.insertHtml("beforeEnd",this.mainBody.dom,b)}if(!e){this.fireEvent("rowsinserted",this,g,c);this.processRows(g)}}this.syncFocusEl(g)},deleteRows:function(a,c,b){if(a.getRowCount()<1){this.refresh()}else{this.fireEvent("beforerowsdeleted",this,c,b);this.removeRows(c,b);this.processRows(c);this.fireEvent("rowsdeleted",this,c,b)}},getColumnStyle:function(a,c){var b=!c?(this.cm.config[a].css||""):"";b+="width:"+this.getColumnWidth(a)+";";if(this.cm.isHidden(a)){b+="display:none;"}var d=this.cm.config[a].align;if(d){b+="text-align:"+d+";"}return b},getColumnWidth:function(b){var a=this.cm.getColumnWidth(b);if(typeof a=="number"){return(Ext.isBorderBox?a:(a-this.borderWidth>0?a-this.borderWidth:0))+"px"}return a},getTotalWidth:function(){return this.cm.getTotalWidth()+"px"},fitColumns:function(d,h,e){var g=this.cm,v,o,r;var u=g.getTotalWidth(false);var m=this.grid.getGridEl().getWidth(true)-this.scrollOffset;if(m<20){return}var b=m-u;if(b===0){return false}var a=g.getColumnCount(true);var s=a-(typeof e=="number"?1:0);if(s===0){s=1;e=undefined}var n=g.getColumnCount();var l=[];var q=0;var p=0;var k;for(r=0;r<n;r++){if(!g.isHidden(r)&&!g.isFixed(r)&&r!==e){k=g.getColumnWidth(r);l.push(r);q=r;l.push(k);p+=k}}var c=(m-g.getTotalWidth())/p;while(l.length){k=l.pop();r=l.pop();g.setColumnWidth(r,Math.max(this.grid.minColumnWidth,Math.floor(k+k*c)),true)}if((u=g.getTotalWidth(false))>m){var t=s!=a?e:q;g.setColumnWidth(t,Math.max(1,g.getColumnWidth(t)-(u-m)),true)}if(d!==true){this.updateAllColumnWidths()}return true},autoExpand:function(b){var i=this.grid,a=this.cm;if(!this.userResized&&i.autoExpandColumn){var d=a.getTotalWidth(false);var k=this.grid.getGridEl().getWidth(true)-this.scrollOffset;if(d!=k){var h=a.getIndexById(i.autoExpandColumn);var e=a.getColumnWidth(h);var c=Math.min(Math.max(((k-d)+e),i.autoExpandMin),i.autoExpandMax);if(c!=e){a.setColumnWidth(h,c,true);if(b!==true){this.updateColumnWidth(h,c)}}}}},getColumnData:function(){var d=[],a=this.cm,e=a.getColumnCount();for(var c=0;c<e;c++){var b=a.getDataIndex(c);d[c]={name:(typeof b=="undefined"?this.ds.fields.get(c).name:b),renderer:a.getRenderer(c),id:a.getColumnId(c),style:this.getColumnStyle(c)}}return d},renderRows:function(k,c){var d=this.grid,h=d.colModel,a=d.store,l=d.stripeRows;var i=h.getColumnCount();if(a.getCount()<1){return""}var e=this.getColumnData();k=k||0;c=typeof c=="undefined"?a.getCount()-1:c;var b=a.getRange(k,c);return this.doRender(e,b,a,k,i,l)},renderBody:function(){var a=this.renderRows();return this.templates.body.apply({rows:a})},refreshRow:function(b){var d=this.ds,c;if(typeof b=="number"){c=b;b=d.getAt(c)}else{c=d.indexOf(b)}var a=[];this.insertRows(d,c,c,true);this.getRow(c).rowIndex=c;this.onRemove(d,b,c+1,true);this.fireEvent("rowupdated",this,c,b)},refresh:function(b){this.fireEvent("beforerefresh",this);this.grid.stopEditing(true);var a=this.renderBody();this.mainBody.update(a);if(b===true){this.updateHeaders();this.updateHeaderSortState()}this.processRows(0,true);this.layout();this.applyEmptyText();this.fireEvent("refresh",this)},applyEmptyText:function(){if(this.emptyText&&!this.hasRows()){this.mainBody.update('<div class="x-grid-empty">'+this.emptyText+"</div>")}},updateHeaderSortState:function(){var b=this.ds.getSortState();if(!b){return}if(!this.sortState||(this.sortState.field!=b.field||this.sortState.direction!=b.direction)){this.grid.fireEvent("sortchange",this.grid,b)}this.sortState=b;var c=this.cm.findColumnIndex(b.field);if(c!=-1){var a=b.direction;this.updateSortIcon(c,a)}},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 c=Ext.dd.DDM.ids["gridHeader"+this.grid.getGridEl().id];if(c){for(var a in c){if(!c[a].config.isTarget&&c[a].dragElId){var b=c[a].dragElId;c[a].unreg();Ext.get(b).remove()}else{if(c[a].config.isTarget){c[a].proxyTop.remove();c[a].proxyBottom.remove();c[a].unreg()}}if(Ext.dd.DDM.locationCache[a]){delete Ext.dd.DDM.locationCache[a]}}delete Ext.dd.DDM.ids["gridHeader"+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 a=this.grid.ownerCt;if(a&&a.getLayout()){a.on("afterlayout",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(b,a){if(this.ds){this.ds.un("load",this.onLoad,this);this.ds.un("datachanged",this.onDataChange,this);this.ds.un("add",this.onAdd,this);this.ds.un("remove",this.onRemove,this);this.ds.un("update",this.onUpdate,this);this.ds.un("clear",this.onClear,this)}if(b){b.on("load",this.onLoad,this);b.on("datachanged",this.onDataChange,this);b.on("add",this.onAdd,this);b.on("remove",this.onRemove,this);b.on("update",this.onUpdate,this);b.on("clear",this.onClear,this)}this.ds=b;if(this.cm){this.cm.un("configchange",this.onColConfigChange,this);this.cm.un("widthchange",this.onColWidthChange,this);this.cm.un("headerchange",this.onHeaderChange,this);this.cm.un("hiddenchange",this.onHiddenChange,this);this.cm.un("columnmoved",this.onColumnMove,this);this.cm.un("columnlockchange",this.onColumnLock,this)}if(a){delete this.lastViewWidth;a.on("configchange",this.onColConfigChange,this);a.on("widthchange",this.onColWidthChange,this);a.on("headerchange",this.onHeaderChange,this);a.on("hiddenchange",this.onHiddenChange,this);a.on("columnmoved",this.onColumnMove,this);a.on("columnlockchange",this.onColumnLock,this)}this.cm=a},onDataChange:function(){this.refresh();this.updateHeaderSortState();this.syncFocusEl(0)},onClear:function(){this.refresh();this.syncFocusEl(0)},onUpdate:function(b,a){this.refreshRow(a)},onAdd:function(c,a,b){this.insertRows(c,b,b+(a.length-1))},onRemove:function(d,a,b,c){if(c!==true){this.fireEvent("beforerowremoved",this,b,a)}this.removeRow(b);if(c!==true){this.processRows(b);this.applyEmptyText();this.fireEvent("rowremoved",this,b,a)}},onLoad:function(){this.scrollToTop()},onColWidthChange:function(a,b,c){this.updateColumnWidth(b,c)},onHeaderChange:function(a,b,c){this.updateHeaders()},onHiddenChange:function(a,b,c){this.updateColumnHidden(b,c)},onColumnMove:function(a,d,b){this.indexMap=null;var c=this.getScrollState();this.refresh(true);this.restoreScroll(c);this.afterMove(b)},onColConfigChange:function(){delete this.lastViewWidth;this.indexMap=null;this.refresh(true)},initUI:function(a){a.on("headerclick",this.onHeaderClick,this)},initEvents:function(){},onHeaderClick:function(b,a){if(this.headersDisabled||!this.cm.isSortable(a)){return}b.stopEditing(true);b.store.sort(this.cm.getDataIndex(a))},onRowOver:function(b,a){var c;if((c=this.findRowIndex(a))!==false){this.addRowClass(c,"x-grid3-row-over")}},onRowOut:function(b,a){var c;if((c=this.findRowIndex(a))!==false&&!b.within(this.getRow(c),true)){this.removeRowClass(c,"x-grid3-row-over")}},handleWheel:function(a){a.stopPropagation()},onRowSelect:function(a){this.addRowClass(a,"x-grid3-row-selected")},onRowDeselect:function(a){this.removeRowClass(a,"x-grid3-row-selected")},onCellSelect:function(c,b){var a=this.getCell(c,b);if(a){this.fly(a).addClass("x-grid3-cell-selected")}},onCellDeselect:function(c,b){var a=this.getCell(c,b);if(a){this.fly(a).removeClass("x-grid3-cell-selected")}},onColumnSplitterMoved:function(c,b){this.userResized=true;var a=this.grid.colModel;a.setColumnWidth(c,b,true);if(this.forceFit){this.fitColumns(true,false,c);this.updateAllColumnWidths()}else{this.updateColumnWidth(c,b);this.syncHeaderScroll()}this.grid.fireEvent("columnresize",c,b)},handleHdMenuClick:function(c){var b=this.hdCtxIndex;var a=this.cm,d=this.ds;switch(c.id){case"asc":d.sort(a.getDataIndex(b),"ASC");break;case"desc":d.sort(a.getDataIndex(b),"DESC");break;default:b=a.getIndexById(c.id.substr(4));if(b!=-1){if(c.checked&&a.getColumnsBy(this.isHideableColumn,this).length<=1){this.onDenyColumnHide();return false}a.setHidden(b,c.checked)}}return true},isHideableColumn:function(a){return !a.hidden&&!a.fixed},beforeColMenuShow:function(){var a=this.cm,c=a.getColumnCount();this.colMenu.removeAll();for(var b=0;b<c;b++){if(a.config[b].fixed!==true&&a.config[b].hideable!==false){this.colMenu.add(new Ext.menu.CheckItem({id:"col-"+a.getColumnId(b),text:a.getColumnHeader(b),checked:!a.isHidden(b),hideOnClick:false,disabled:a.config[b].hideable===false}))}}},handleHdDown:function(h,d){if(Ext.fly(d).hasClass("x-grid3-hd-btn")){h.stopEvent();var g=this.findHeaderCell(d);Ext.fly(g).addClass("x-grid3-hd-menu-open");var c=this.getCellIndex(g);this.hdCtxIndex=c;var b=this.hmenu.items,a=this.cm;b.get("asc").setDisabled(!a.isSortable(c));b.get("desc").setDisabled(!a.isSortable(c));this.hmenu.on("hide",function(){Ext.fly(g).removeClass("x-grid3-hd-menu-open")},this,{single:true});this.hmenu.show(d,"tl-bl?")}},handleHdOver:function(d,a){var c=this.findHeaderCell(a);if(c&&!this.headersDisabled){this.activeHd=c;this.activeHdIndex=this.getCellIndex(c);var b=this.fly(c);this.activeHdRegion=b.getRegion();if(!this.cm.isMenuDisabled(this.activeHdIndex)){b.addClass("x-grid3-hd-over");this.activeHdBtn=b.child(".x-grid3-hd-btn");if(this.activeHdBtn){this.activeHdBtn.dom.style.height=(c.firstChild.offsetHeight-1)+"px"}}}},handleHdMove:function(h,d){if(this.activeHd&&!this.headersDisabled){var b=this.splitHandleWidth||5;var g=this.activeHdRegion;var a=h.getPageX();var c=this.activeHd.style;if(a-g.left<=b&&this.cm.isResizable(this.activeHdIndex-1)){c.cursor=Ext.isAir?"move":Ext.isSafari?"e-resize":"col-resize"}else{if(g.right-a<=(!this.activeHdBtn?b:2)&&this.cm.isResizable(this.activeHdIndex)){c.cursor=Ext.isAir?"move":Ext.isSafari?"w-resize":"col-resize"}else{c.cursor=""}}}},handleHdOut:function(c,a){var b=this.findHeaderCell(a);if(b&&(!Ext.isIE||!c.within(b,true))){this.activeHd=null;this.fly(b).removeClass("x-grid3-hd-over");b.style.cursor=""}},hasRows:function(){var a=this.mainBody.dom.firstChild;return a&&a.className!="x-grid-empty"},bind:function(a,b){this.initData(a,b)}});Ext.grid.GridView.SplitDragZone=function(a,b){this.grid=a;this.view=a.getView();this.marker=this.view.resizeMarker;this.proxy=this.view.resizeProxy;Ext.grid.GridView.SplitDragZone.superclass.constructor.call(this,b,"gridSplitters"+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(a,e){this.view.headersDisabled=true;var d=this.view.mainWrap.getHeight();this.marker.setHeight(d);this.marker.show();this.marker.alignTo(this.view.getHeaderCell(this.cellIndex),"tl-tl",[-2,0]);this.proxy.setHeight(d);var b=this.cm.getColumnWidth(this.cellIndex);var c=Math.max(b-this.grid.minColumnWidth,0);this.resetConstraints();this.setXConstraint(c,1000);this.setYConstraint(0,0);this.minX=a-c;this.maxX=a+1000;this.startPos=a;Ext.dd.DDProxy.prototype.b4StartDrag.call(this,a,e)},handleMouseDown:function(a){var k=this.view.findHeaderCell(a.getTarget());if(k){var n=this.view.fly(k).getXY(),g=n[0],d=n[1];var l=a.getXY(),c=l[0],b=l[1];var i=k.offsetWidth,h=false;if((c-g)<=this.hw){h=-1}else{if((g+i)-c<=this.hw){h=0}}if(h!==false){this.cm=this.grid.colModel;var m=this.view.getCellIndex(k);if(h==-1){if(m+h<0){return}while(this.cm.isHidden(m+h)){--h;if(m+h<0){return}}}this.cellIndex=m+h;this.split=k.dom;if(this.cm.isResizable(this.cellIndex)&&!this.cm.isFixed(this.cellIndex)){Ext.grid.GridView.SplitDragZone.superclass.handleMouseDown.apply(this,arguments)}}else{if(this.view.columnDrag){this.view.columnDrag.callHandleMouseDown(a)}}}},endDrag:function(d){this.marker.hide();var a=this.view;var b=Math.max(this.minX,d.getPageX());var c=b-this.startPos;a.onColumnSplitterMoved(this.cellIndex,this.cm.getColumnWidth(this.cellIndex)+c);setTimeout(function(){a.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:"(None)",ignoreAdd:false,groupTextTpl:"{text}",gidSeed:1000,initTemplates:function(){Ext.grid.GroupingView.superclass.initTemplates.call(this);this.state={};var a=this.grid.getSelectionModel();a.on(a.selectRow?"beforerowselect":"beforecellselect",this.onBeforeRowSelect,this);if(!this.startGroup){this.startGroup=new Ext.XTemplate('<div id="{groupId}" class="x-grid-group {cls}">','<div id="{groupId}-hd" class="x-grid-group-hd" style="{style}"><div>',this.groupTextTpl,"</div></div>",'<div id="{groupId}-bd" class="x-grid-group-body">')}this.startGroup.compile();this.endGroup="</div></div>"},findGroup:function(a){return Ext.fly(a).up(".x-grid-group",this.mainBody.dom)},getGroups:function(){return this.hasRows()?this.mainBody.dom.childNodes:[]},onAdd:function(){if(this.enableGrouping&&!this.ignoreAdd){var a=this.getScrollState();this.refresh();this.restoreScroll(a)}else{if(!this.enableGrouping){Ext.grid.GroupingView.superclass.onAdd.apply(this,arguments)}}},onRemove:function(e,a,b,d){Ext.grid.GroupingView.superclass.onRemove.apply(this,arguments);var c=document.getElementById(a._groupId);if(c&&c.childNodes[1].childNodes.length<1){Ext.removeNode(c)}this.applyEmptyText()},refreshRow:function(a){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 c=this.getGroupField();var b=this.hmenu.items.get("groupBy");if(b){b.setDisabled(this.cm.config[this.hdCtxIndex].groupable===false)}var a=this.hmenu.items.get("showGroups");if(a){a.setDisabled(!c&&this.cm.config[this.hdCtxIndex].groupable===false);a.setChecked(!!c,true)}},renderUI:function(){Ext.grid.GroupingView.superclass.renderUI.call(this);this.mainBody.on("mousedown",this.interceptMouse,this);if(this.enableGroupingMenu&&this.hmenu){this.hmenu.add("-",{id:"groupBy",text:this.groupByText,handler:this.onGroupByClick,scope:this,iconCls:"x-group-by-icon"});if(this.enableNoGroups){this.hmenu.add({id:"showGroups",text:this.showGroupsText,checked:true,checkHandler:this.onShowGroupsClick,scope:this})}this.hmenu.on("beforeshow",this.beforeMenuShow,this)}},onGroupByClick:function(){this.grid.store.groupBy(this.cm.getDataIndex(this.hdCtxIndex));this.beforeMenuShow()},onShowGroupsClick:function(a,b){if(b){this.onGroupByClick()}else{this.grid.store.clearGrouping()}},toggleGroup:function(c,b){this.grid.stopEditing(true);c=Ext.getDom(c);var a=Ext.fly(c);b=b!==undefined?b:a.hasClass("x-grid-group-collapsed");this.state[a.dom.id]=b;a[b?"removeClass":"addClass"]("x-grid-group-collapsed")},toggleAllGroups:function(c){var b=this.getGroups();for(var d=0,a=b.length;d<a;d++){this.toggleGroup(b[d],c)}},expandAllGroups:function(){this.toggleAllGroups(true)},collapseAllGroups:function(){this.toggleAllGroups(false)},interceptMouse:function(b){var a=b.getTarget(".x-grid-group-hd",this.mainBody);if(a){b.stopEvent();this.toggleGroup(a.parentNode)}},getGroup:function(a,d,h,i,b,e){var c=h?h(a,{},d,i,b,e):String(a);if(c===""){c=this.cm.config[b].emptyGroupText||this.emptyGroupText}return c},getGroupField:function(){return this.grid.store.getGroupState()},renderRows:function(){var a=this.getGroupField();var d=!!a;if(this.hideGroupedColumn){var b=this.cm.findColumnIndex(a);if(!d&&this.lastGroupField!==undefined){this.mainBody.update("");this.cm.setHidden(this.cm.findColumnIndex(this.lastGroupField),false);delete this.lastGroupField}else{if(d&&this.lastGroupField===undefined){this.lastGroupField=a;this.cm.setHidden(b,true)}else{if(d&&this.lastGroupField!==undefined&&a!==this.lastGroupField){this.mainBody.update("");var c=this.cm.findColumnIndex(this.lastGroupField);this.cm.setHidden(c,false);this.lastGroupField=a;this.cm.setHidden(b,true)}}}}return Ext.grid.GroupingView.superclass.renderRows.apply(this,arguments)},doRender:function(d,k,u,a,t,w){if(k.length<1){return""}var D=this.getGroupField();var s=this.cm.findColumnIndex(D);this.enableGrouping=!!D;if(!this.enableGrouping||this.isUpdating){return Ext.grid.GroupingView.superclass.doRender.apply(this,arguments)}var l="width:"+this.getTotalWidth()+";";var v=this.grid.getGridEl().id;var h=this.cm.config[s];var b=h.groupRenderer||h.renderer;var x=this.showGroupName?(h.groupName||h.header)+": ":"";var C=[],o,y,z,q;for(y=0,z=k.length;y<z;y++){var n=a+y;var p=k[y],e=p.data[D],A=this.getGroup(e,p,b,n,s,u);if(!o||o.group!=A){q=v+"-gp-"+D+"-"+Ext.util.Format.htmlEncode(A);var c=typeof this.state[q]!=="undefined"?!this.state[q]:this.startCollapsed;var m=c?"x-grid-group-collapsed":"";o={group:A,gvalue:e,text:x+A,groupId:q,startRow:n,rs:[p],cls:m,style:l};C.push(o)}else{o.rs.push(p)}p._groupId=q}var B=[];for(y=0,z=C.length;y<z;y++){var A=C[y];this.doGroupStart(B,A,d,u,t);B[B.length]=Ext.grid.GroupingView.superclass.doRender.call(this,d,A.rs,u,A.startRow,t,w);this.doGroupEnd(B,A,d,u,t)}return B.join("")},getGroupId:function(g){var d=this.grid.getGridEl().id;var c=this.getGroupField();var e=this.cm.findColumnIndex(c);var b=this.cm.config[e];var h=b.groupRenderer||b.renderer;var a=this.getGroup(g,{data:{}},h,0,e,this.ds);return d+"-gp-"+c+"-"+Ext.util.Format.htmlEncode(g)},doGroupStart:function(a,d,b,e,c){a[a.length]=this.startGroup.apply(d)},doGroupEnd:function(a,d,b,e,c){a[a.length]=this.endGroup},getRows:function(){if(!this.enableGrouping){return Ext.grid.GroupingView.superclass.getRows.call(this)}var k=[];var h,c=this.getGroups();for(var e=0,a=c.length;e<a;e++){h=c[e].childNodes[1].childNodes;for(var d=0,b=h.length;d<b;d++){k[k.length]=h[d]}}return k},updateGroupWidths:function(){if(!this.enableGrouping||!this.hasRows()){return}var c=Math.max(this.cm.getTotalWidth(),this.el.dom.offsetWidth-this.scrollOffset)+"px";var b=this.getGroups();for(var d=0,a=b.length;d<a;d++){b[d].firstChild.style.width=c}},onColumnWidthUpdated:function(c,a,b){Ext.grid.GroupingView.superclass.onColumnWidthUpdated.call(this,c,a,b);this.updateGroupWidths()},onAllColumnWidthsUpdated:function(a,b){Ext.grid.GroupingView.superclass.onAllColumnWidthsUpdated.call(this,a,b);this.updateGroupWidths()},onColumnHiddenUpdated:function(b,c,a){Ext.grid.GroupingView.superclass.onColumnHiddenUpdated.call(this,b,c,a);this.updateGroupWidths()},onLayout:function(){this.updateGroupWidths()},onBeforeRowSelect:function(d,c){if(!this.enableGrouping){return}var b=this.getRow(c);if(b&&!b.offsetParent){var a=this.findGroup(b);this.toggleGroup(a,true)}},groupByText:"Group By This Field",showGroupsText:"Show in Groups"});Ext.grid.GroupingView.GROUP_ID=1000;Ext.grid.HeaderDragZone=function(a,c,b){this.grid=a;this.view=a.getView();this.ddGroup="gridHeader"+this.grid.getGridEl().id;Ext.grid.HeaderDragZone.superclass.constructor.call(this,c);if(b){this.setHandleElId(Ext.id(c));this.setOuterHandleElId(Ext.id(b))}this.scroll=false};Ext.extend(Ext.grid.HeaderDragZone,Ext.dd.DragZone,{maxDragWidth:120,getDragData:function(c){var a=Ext.lib.Event.getTarget(c);var b=this.view.findHeaderCell(a);if(b){return{ddel:b.firstChild,header:b}}return false},onInitDrag:function(a){this.view.headersDisabled=true;var b=this.dragData.ddel.cloneNode(true);b.id=Ext.id();b.style.width=Math.min(this.dragData.header.offsetWidth,this.maxDragWidth)+"px";this.proxy.update(b);return true},afterValidDrop:function(){var a=this.view;setTimeout(function(){a.headersDisabled=false},50)},afterInvalidDrop:function(){var a=this.view;setTimeout(function(){a.headersDisabled=false},50)}});Ext.grid.HeaderDropZone=function(a,c,b){this.grid=a;this.view=a.getView();this.proxyTop=Ext.DomHelper.append(document.body,{cls:"col-move-top",html:"&#160;"},true);this.proxyBottom=Ext.DomHelper.append(document.body,{cls:"col-move-bottom",html:"&#160;"},true);this.proxyTop.hide=this.proxyBottom.hide=function(){this.setLeftTop(-100,-100);this.setStyle("visibility","hidden")};this.ddGroup="gridHeader"+this.grid.getGridEl().id;Ext.grid.HeaderDropZone.superclass.constructor.call(this,a.getGridEl().dom)};Ext.extend(Ext.grid.HeaderDropZone,Ext.dd.DropZone,{proxyOffsets:[-4,-9],fly:Ext.Element.fly,getTargetFromEvent:function(c){var a=Ext.lib.Event.getTarget(c);var b=this.view.findCellIndex(a);if(b!==false){return this.view.getHeaderCell(b)}},nextVisible:function(c){var b=this.view,a=this.grid.colModel;c=c.nextSibling;while(c){if(!a.isHidden(b.getCellIndex(c))){return c}c=c.nextSibling}return null},prevVisible:function(c){var b=this.view,a=this.grid.colModel;c=c.prevSibling;while(c){if(!a.isHidden(b.getCellIndex(c))){return c}c=c.prevSibling}return null},positionIndicator:function(d,b,g){var l=Ext.lib.Event.getPageX(g);var a=Ext.lib.Dom.getRegion(b.firstChild);var m,p,k=a.top+this.proxyOffsets[1];if((a.right-l)<=(a.right-a.left)/2){m=a.right+this.view.borderWidth;p="after"}else{m=a.left;p="before"}var i=this.view.getCellIndex(d);var o=this.view.getCellIndex(b);if(this.grid.colModel.isFixed(o)){return false}var c=this.grid.colModel.isLocked(o);if(p=="after"){o++}if(i<o){o--}if(i==o&&(c==this.grid.colModel.isLocked(i))){return false}m+=this.proxyOffsets[0];this.proxyTop.setLeftTop(m,k);this.proxyTop.show();if(!this.bottomOffset){this.bottomOffset=this.view.mainHd.getHeight()}this.proxyBottom.setLeftTop(m,k+this.proxyTop.dom.offsetHeight+this.bottomOffset);this.proxyBottom.show();return p},onNodeEnter:function(d,a,c,b){if(b.header!=d){this.positionIndicator(b.header,d,c)}},onNodeOver:function(g,b,d,c){var a=false;if(c.header!=g){a=this.positionIndicator(c.header,g,d)}if(!a){this.proxyTop.hide();this.proxyBottom.hide()}return a?this.dropAllowed:this.dropNotAllowed},onNodeOut:function(d,a,c,b){this.proxyTop.hide();this.proxyBottom.hide()},onNodeDrop:function(b,p,i,d){var g=d.header;if(g!=b){var m=this.grid.colModel;var l=Ext.lib.Event.getPageX(i);var a=Ext.lib.Dom.getRegion(b.firstChild);var q=(a.right-l)<=((a.right-a.left)/2)?"after":"before";var k=this.view.getCellIndex(g);var o=this.view.getCellIndex(b);var c=m.isLocked(o);if(q=="after"){o++}if(k<o){o--}if(k==o&&(c==m.isLocked(k))){return false}m.setLocked(k,c,true);m.moveColumn(k,o);this.grid.fireEvent("columnmove",k,o);return true}return false}});Ext.grid.GridView.ColumnDragZone=function(a,b){Ext.grid.GridView.ColumnDragZone.superclass.constructor.call(this,a,b,null);this.proxy.el.addClass("x-grid3-col-dd")};Ext.extend(Ext.grid.GridView.ColumnDragZone,Ext.grid.HeaderDragZone,{handleMouseDown:function(a){},callHandleMouseDown:function(a){Ext.grid.GridView.ColumnDragZone.superclass.handleMouseDown.call(this,a)}});Ext.grid.SplitDragZone=function(a,c,b){this.grid=a;this.view=a.getView();this.proxy=this.view.resizeProxy;Ext.grid.SplitDragZone.superclass.constructor.call(this,c,"gridSplitters"+this.grid.getGridEl().id,{dragElId:Ext.id(this.proxy.dom),resizeFrame:false});this.setHandleElId(Ext.id(c));this.setOuterHandleElId(Ext.id(b));this.scroll=false};Ext.extend(Ext.grid.SplitDragZone,Ext.dd.DDProxy,{fly:Ext.Element.fly,b4StartDrag:function(a,d){this.view.headersDisabled=true;this.proxy.setHeight(this.view.mainWrap.getHeight());var b=this.cm.getColumnWidth(this.cellIndex);var c=Math.max(b-this.grid.minColumnWidth,0);this.resetConstraints();this.setXConstraint(c,1000);this.setYConstraint(0,0);this.minX=a-c;this.maxX=a+1000;this.startPos=a;Ext.dd.DDProxy.prototype.b4StartDrag.call(this,a,d)},handleMouseDown:function(b){ev=Ext.EventObject.setEvent(b);var a=this.fly(ev.getTarget());if(a.hasClass("x-grid-split")){this.cellIndex=this.view.getCellIndex(a.dom);this.split=a.dom;this.cm=this.grid.colModel;if(this.cm.isResizable(this.cellIndex)&&!this.cm.isFixed(this.cellIndex)){Ext.grid.SplitDragZone.superclass.handleMouseDown.apply(this,arguments)}}},endDrag:function(c){this.view.headersDisabled=false;var a=Math.max(this.minX,Ext.lib.Event.getPageX(c));var b=a-this.startPos;this.view.onColumnSplitterMoved(this.cellIndex,this.cm.getColumnWidth(this.cellIndex)+b)},autoOffset:function(){this.setDelta(0,0)}});Ext.grid.GridDragZone=function(b,a){this.view=b.getView();Ext.grid.GridDragZone.superclass.constructor.call(this,this.view.mainBody.dom,a);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=b;this.ddel=document.createElement("div");this.ddel.className="x-grid-dd-wrap"};Ext.extend(Ext.grid.GridDragZone,Ext.dd.DragZone,{ddGroup:"GridDD",getDragData:function(b){var a=Ext.lib.Event.getTarget(b);var d=this.view.findRowIndex(a);if(d!==false){var c=this.grid.selModel;if(!c.isSelected(d)||b.hasModifier()){c.handleMouseDown(this.grid,d,b)}return{grid:this.grid,ddel:this.ddel,rowIndex:d,selections:c.getSelections()}}return false},onInitDrag:function(b){var a=this.dragData;this.ddel.innerHTML=this.grid.getDragDropText();this.proxy.update(this.ddel)},afterRepair:function(){this.dragging=false},getRepairXY:function(b,a){return false},onEndDrag:function(a,b){},onValidDrop:function(a,b,c){this.hideProxy()},beforeInvalidDrop:function(a,b){}});Ext.grid.ColumnModel=function(a){this.defaultWidth=100;this.defaultSortable=false;if(a.columns){Ext.apply(this,a);this.setConfig(a.columns,true)}else{this.setConfig(a,true)}this.addEvents("widthchange","headerchange","hiddenchange","columnmoved","columnlockchange","configchange");Ext.grid.ColumnModel.superclass.constructor.call(this)};Ext.extend(Ext.grid.ColumnModel,Ext.util.Observable,{getColumnId:function(a){return this.config[a].id},setConfig:function(d,b){if(!b){delete this.totalWidth;for(var e=0,a=this.config.length;e<a;e++){var g=this.config[e];if(g.editor){g.editor.destroy()}}}this.config=d;this.lookup={};for(var e=0,a=d.length;e<a;e++){var g=d[e];if(typeof g.renderer=="string"){g.renderer=Ext.util.Format[g.renderer]}if(typeof g.id=="undefined"){g.id=e}if(g.editor&&g.editor.isFormField){g.editor=new Ext.grid.GridEditor(g.editor)}this.lookup[g.id]=g}if(!b){this.fireEvent("configchange",this)}},getColumnById:function(a){return this.lookup[a]},getIndexById:function(c){for(var b=0,a=this.config.length;b<a;b++){if(this.config[b].id==c){return b}}return -1},moveColumn:function(d,a){var b=this.config[d];this.config.splice(d,1);this.config.splice(a,0,b);this.dataMap=null;this.fireEvent("columnmoved",this,d,a)},isLocked:function(a){return this.config[a].locked===true},setLocked:function(b,c,a){if(this.isLocked(b)==c){return}this.config[b].locked=c;if(!a){this.fireEvent("columnlockchange",this,b,c)}},getTotalLockedWidth:function(){var a=0;for(var b=0;b<this.config.length;b++){if(this.isLocked(b)&&!this.isHidden(b)){this.totalWidth+=this.getColumnWidth(b)}}return a},getLockedCount:function(){for(var b=0,a=this.config.length;b<a;b++){if(!this.isLocked(b)){return b}}},getColumnCount:function(d){if(d===true){var e=0;for(var b=0,a=this.config.length;b<a;b++){if(!this.isHidden(b)){e++}}return e}return this.config.length},getColumnsBy:function(e,d){var g=[];for(var b=0,a=this.config.length;b<a;b++){var h=this.config[b];if(e.call(d||this,h,b)===true){g[g.length]=h}}return g},isSortable:function(a){if(typeof this.config[a].sortable=="undefined"){return this.defaultSortable}return this.config[a].sortable},isMenuDisabled:function(a){return !!this.config[a].menuDisabled},getRenderer:function(a){if(!this.config[a].renderer){return Ext.grid.ColumnModel.defaultRenderer}return this.config[a].renderer},setRenderer:function(a,b){this.config[a].renderer=b},getColumnWidth:function(a){return this.config[a].width||this.defaultWidth},setColumnWidth:function(b,c,a){this.config[b].width=c;this.totalWidth=null;if(!a){this.fireEvent("widthchange",this,b,c)}},getTotalWidth:function(b){if(!this.totalWidth){this.totalWidth=0;for(var c=0,a=this.config.length;c<a;c++){if(b||!this.isHidden(c)){this.totalWidth+=this.getColumnWidth(c)}}}return this.totalWidth},getColumnHeader:function(a){return this.config[a].header},setColumnHeader:function(a,b){this.config[a].header=b;this.fireEvent("headerchange",this,a,b)},getColumnTooltip:function(a){return this.config[a].tooltip},setColumnTooltip:function(a,b){this.config[a].tooltip=b},getDataIndex:function(a){return this.config[a].dataIndex},setDataIndex:function(a,b){this.config[a].dataIndex=b},findColumnIndex:function(d){var e=this.config;for(var b=0,a=e.length;b<a;b++){if(e[b].dataIndex==d){return b}}return -1},isCellEditable:function(a,b){return(this.config[a].editable||(typeof this.config[a].editable=="undefined"&&this.config[a].editor))?true:false},getCellEditor:function(a,b){return this.config[a].editor},setEditable:function(a,b){this.config[a].editable=b},isHidden:function(a){return this.config[a].hidden},isFixed:function(a){return this.config[a].fixed},isResizable:function(a){return a>=0&&this.config[a].resizable!==false&&this.config[a].fixed!==true},setHidden:function(a,b){var d=this.config[a];if(d.hidden!==b){d.hidden=b;this.totalWidth=null;this.fireEvent("hiddenchange",this,a,b)}},setEditor:function(a,b){this.config[a].editor=b}});Ext.grid.ColumnModel.defaultRenderer=function(a){if(typeof a=="string"&&a.length<1){return"&#160;"}return a};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(a){this.grid=a;this.initEvents()},lock:function(){this.locked=true},unlock:function(){this.locked=false},isLocked:function(){return this.locked}});Ext.grid.RowSelectionModel=function(a){Ext.apply(this,a);this.selections=new Ext.util.MixedCollection(false,function(b){return b.id});this.last=false;this.lastActive=false;this.addEvents("selectionchange","beforerowselect","rowselect","rowdeselect");Ext.grid.RowSelectionModel.superclass.constructor.call(this)};Ext.extend(Ext.grid.RowSelectionModel,Ext.grid.AbstractSelectionModel,{singleSelect:false,initEvents:function(){if(!this.grid.enableDragDrop&&!this.grid.enableDrag){this.grid.on("rowmousedown",this.handleMouseDown,this)}else{this.grid.on("rowclick",function(b,d,c){if(c.button===0&&!c.shiftKey&&!c.ctrlKey){this.selectRow(d,false);b.view.focusRow(d)}},this)}this.rowNav=new Ext.KeyNav(this.grid.getGridEl(),{up:function(c){if(!c.shiftKey||this.singleSelect){this.selectPrevious(false)}else{if(this.last!==false&&this.lastActive!==false){var b=this.last;this.selectRange(this.last,this.lastActive-1);this.grid.getView().focusRow(this.lastActive);if(b!==false){this.last=b}}else{this.selectFirstRow()}}},down:function(c){if(!c.shiftKey||this.singleSelect){this.selectNext(false)}else{if(this.last!==false&&this.lastActive!==false){var b=this.last;this.selectRange(this.last,this.lastActive+1);this.grid.getView().focusRow(this.lastActive);if(b!==false){this.last=b}}else{this.selectFirstRow()}}},scope:this});var a=this.grid.view;a.on("refresh",this.onRefresh,this);a.on("rowupdated",this.onRowUpdated,this);a.on("rowremoved",this.onRemove,this)},onRefresh:function(){var g=this.grid.store,b;var d=this.getSelections();this.clearSelections(true);for(var c=0,a=d.length;c<a;c++){var e=d[c];if((b=g.indexOfId(e.id))!=-1){this.selectRow(b,true)}}if(d.length!=this.selections.getCount()){this.fireEvent("selectionchange",this)}},onRemove:function(a,b,c){if(this.selections.remove(c)!==false){this.fireEvent("selectionchange",this)}},onRowUpdated:function(a,b,c){if(this.isSelected(c)){a.onRowSelect(b)}},selectRecords:function(b,e){if(!e){this.clearSelections()}var d=this.grid.store;for(var c=0,a=b.length;c<a;c++){this.selectRow(d.indexOf(b[c]),true)}},getCount:function(){return this.selections.length},selectFirstRow:function(){this.selectRow(0)},selectLastRow:function(a){this.selectRow(this.grid.store.getCount()-1,a)},selectNext:function(a){if(this.hasNext()){this.selectRow(this.last+1,a);this.grid.getView().focusRow(this.last);return true}return false},selectPrevious:function(a){if(this.hasPrevious()){this.selectRow(this.last-1,a);this.grid.getView().focusRow(this.last);return true}return false},hasNext:function(){return this.last!==false&&(this.last+1)<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(e,d){var c=this.getSelections();for(var b=0,a=c.length;b<a;b++){if(e.call(d||this,c[b],b)===false){return false}}return true},clearSelections:function(a){if(this.isLocked()){return}if(a!==true){var c=this.grid.store;var b=this.selections;b.each(function(d){this.deselectRow(c.indexOfId(d.id))},this);b.clear()}else{this.selections.clear()}this.last=false},selectAll:function(){if(this.isLocked()){return}this.selections.clear();for(var b=0,a=this.grid.store.getCount();b<a;b++){this.selectRow(b,true)}},hasSelection:function(){return this.selections.length>0},isSelected:function(a){var b=typeof a=="number"?this.grid.store.getAt(a):a;return(b&&this.selections.key(b.id)?true:false)},isIdSelected:function(a){return(this.selections.key(a)?true:false)},handleMouseDown:function(d,i,h){if(h.button!==0||this.isLocked()){return}var a=this.grid.getView();if(h.shiftKey&&!this.singleSelect&&this.last!==false){var c=this.last;this.selectRange(c,i,h.ctrlKey);this.last=c;a.focusRow(i)}else{var b=this.isSelected(i);if(h.ctrlKey&&b){this.deselectRow(i)}else{if(!b||this.getCount()>1){this.selectRow(i,h.ctrlKey||h.shiftKey);a.focusRow(i)}}}},selectRows:function(c,d){if(!d){this.clearSelections()}for(var b=0,a=c.length;b<a;b++){this.selectRow(c[b],true)}},selectRange:function(b,a,d){if(this.isLocked()){return}if(!d){this.clearSelections()}if(b<=a){for(var c=b;c<=a;c++){this.selectRow(c,true)}}else{for(var c=b;c>=a;c--){this.selectRow(c,true)}}},deselectRange:function(c,b,a){if(this.isLocked()){return}for(var d=c;d<=b;d++){this.deselectRow(d,a)}},selectRow:function(b,d,a){if(this.isLocked()||(b<0||b>=this.grid.store.getCount())||this.isSelected(b)){return}var c=this.grid.store.getAt(b);if(c&&this.fireEvent("beforerowselect",this,b,d,c)!==false){if(!d||this.singleSelect){this.clearSelections()}this.selections.add(c);this.last=this.lastActive=b;if(!a){this.grid.getView().onRowSelect(b)}this.fireEvent("rowselect",this,b,c);this.fireEvent("selectionchange",this)}},deselectRow:function(b,a){if(this.isLocked()){return}if(this.last==b){this.last=false}if(this.lastActive==b){this.lastActive=false}var c=this.grid.store.getAt(b);if(c){this.selections.remove(c);if(!a){this.grid.getView().onRowDeselect(b)}this.fireEvent("rowdeselect",this,b,c);this.fireEvent("selectionchange",this)}},restoreLast:function(){if(this._last){this.last=this._last}},acceptsNav:function(c,b,a){return !a.isHidden(b)&&a.isCellEditable(b,c)},onEditorKey:function(i,h){var c=h.getKey(),l,d=this.grid,b=d.activeEditor;var a=h.shiftKey;if(c==h.TAB){h.stopEvent();b.completeEdit();if(a){l=d.walkCells(b.row,b.col-1,-1,this.acceptsNav,this)}else{l=d.walkCells(b.row,b.col+1,1,this.acceptsNav,this)}}else{if(c==h.ENTER){h.stopEvent();b.completeEdit();if(this.moveEditorOnEnter!==false){if(a){l=d.walkCells(b.row-1,b.col,-1,this.acceptsNav,this)}else{l=d.walkCells(b.row+1,b.col,1,this.acceptsNav,this)}}}else{if(c==h.ESC){b.cancelEdit()}}}if(l){d.startEditing(l[0],l[1])}}});Ext.grid.CellSelectionModel=function(a){Ext.apply(this,a);this.selection=null;this.addEvents("beforecellselect","cellselect","selectionchange");Ext.grid.CellSelectionModel.superclass.constructor.call(this)};Ext.extend(Ext.grid.CellSelectionModel,Ext.grid.AbstractSelectionModel,{initEvents:function(){this.grid.on("cellmousedown",this.handleMouseDown,this);this.grid.getGridEl().on(Ext.isIE||Ext.isSafari3?"keydown":"keypress",this.handleKeyDown,this);var a=this.grid.view;a.on("refresh",this.onViewChange,this);a.on("rowupdated",this.onRowUpdated,this);a.on("beforerowremoved",this.clearSelections,this);a.on("beforerowsinserted",this.clearSelections,this);if(this.grid.isEditor){this.grid.on("beforeedit",this.beforeEdit,this)}},beforeEdit:function(a){this.select(a.row,a.column,false,true,a.record)},onRowUpdated:function(a,b,c){if(this.selection&&this.selection.record==c){a.onCellSelect(b,this.selection.cell[1])}},onViewChange:function(){this.clearSelections(true)},getSelectedCell:function(){return this.selection?this.selection.cell:null},clearSelections:function(b){var a=this.selection;if(a){if(b!==true){this.grid.view.onCellDeselect(a.cell[0],a.cell[1])}this.selection=null;this.fireEvent("selectionchange",this,null)}},hasSelection:function(){return this.selection?true:false},handleMouseDown:function(b,d,a,c){if(c.button!==0||this.isLocked()){return}this.select(d,a)},select:function(g,c,b,e,d){if(this.fireEvent("beforecellselect",this,g,c)!==false){this.clearSelections();d=d||this.grid.store.getAt(g);this.selection={record:d,cell:[g,c]};if(!b){var a=this.grid.getView();a.onCellSelect(g,c);if(e!==true){a.focusCell(g,c)}}this.fireEvent("cellselect",this,g,c);this.fireEvent("selectionchange",this,this.selection)}},isSelectable:function(c,b,a){return !a.isHidden(b)},handleKeyDown:function(l){if(!l.isNavKeyPress()){return}var i=this.grid,p=this.selection;if(!p){l.stopEvent();var o=i.walkCells(0,0,1,this.isSelectable,this);if(o){this.select(o[0],o[1])}return}var b=this;var n=function(g,c,e){return i.walkCells(g,c,e,b.isSelectable,b)};var d=l.getKey(),a=p.cell[0],m=p.cell[1];var h;switch(d){case l.TAB:if(l.shiftKey){h=n(a,m-1,-1)}else{h=n(a,m+1,1)}break;case l.DOWN:h=n(a+1,m,1);break;case l.UP:h=n(a-1,m,-1);break;case l.RIGHT:h=n(a,m+1,1);break;case l.LEFT:h=n(a,m-1,-1);break;case l.ENTER:if(i.isEditor&&!i.editing){i.startEditing(a,m);l.stopEvent();return}break}if(h){this.select(h[0],h[1]);l.stopEvent()}},acceptsNav:function(c,b,a){return !a.isHidden(b)&&a.isCellEditable(b,c)},onEditorKey:function(h,d){var b=d.getKey(),i,c=this.grid,a=c.activeEditor;if(b==d.TAB){if(d.shiftKey){i=c.walkCells(a.row,a.col-1,-1,this.acceptsNav,this)}else{i=c.walkCells(a.row,a.col+1,1,this.acceptsNav,this)}d.stopEvent()}else{if(b==d.ENTER){a.completeEdit();d.stopEvent()}else{if(b==d.ESC){d.stopEvent();a.cancelEdit()}}}if(i){c.startEditing(i[0],i[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("beforeedit","afteredit","validateedit")},initEvents:function(){Ext.grid.EditorGridPanel.superclass.initEvents.call(this);this.on("bodyscroll",this.stopEditing,this,[true]);this.on("columnresize",this.stopEditing,this,[true]);if(this.clicksToEdit==1){this.on("cellclick",this.onCellDblClick,this)}else{if(this.clicksToEdit=="auto"&&this.view.mainBody){this.view.mainBody.on("mousedown",this.onAutoEditClick,this)}this.on("celldblclick",this.onCellDblClick,this)}},onCellDblClick:function(b,c,a){this.startEditing(c,a)},onAutoEditClick:function(c,b){if(c.button!==0){return}var g=this.view.findRowIndex(b);var a=this.view.findCellIndex(b);if(g!==false&&a!==false){this.stopEditing();if(this.selModel.getSelectedCell){var d=this.selModel.getSelectedCell();if(d&&d.cell[0]===g&&d.cell[1]===a){this.startEditing(g,a)}}else{if(this.selModel.isSelected(g)){this.startEditing(g,a)}}}},onEditComplete:function(b,d,a){this.editing=false;this.activeEditor=null;b.un("specialkey",this.selModel.onEditorKey,this.selModel);var c=b.record;var h=this.colModel.getDataIndex(b.col);d=this.postEditValue(d,a,c,h);if(String(d)!==String(a)){var g={grid:this,record:c,field:h,originalValue:a,value:d,row:b.row,column:b.col,cancel:false};if(this.fireEvent("validateedit",g)!==false&&!g.cancel){c.set(h,g.value);delete g.cancel;this.fireEvent("afteredit",g)}}this.view.focusCell(b.row,b.col)},startEditing:function(h,b){this.stopEditing();if(this.colModel.isCellEditable(b,h)){this.view.ensureVisible(h,b,true);var c=this.store.getAt(h);var g=this.colModel.getDataIndex(b);var d={grid:this,record:c,field:g,value:c.data[g],row:h,column:b,cancel:false};if(this.fireEvent("beforeedit",d)!==false&&!d.cancel){this.editing=true;var a=this.colModel.getCellEditor(b,h);if(!a.rendered){a.render(this.view.getEditorParent(a))}(function(){a.row=h;a.col=b;a.record=c;a.on("complete",this.onEditComplete,this,{single:true});a.on("specialkey",this.selModel.onEditorKey,this.selModel);this.activeEditor=a;var e=this.preEditValue(c,g);a.startEdit(this.view.getCell(h,b).firstChild,e===undefined?"":e)}).defer(50,this)}}},preEditValue:function(a,c){var b=a.data[c];return this.autoEncode&&typeof b=="string"?Ext.util.Format.htmlDecode(b):b},postEditValue:function(c,a,b,d){return this.autoEncode&&typeof c=="string"?Ext.util.Format.htmlEncode(c):c},stopEditing:function(a){if(this.activeEditor){this.activeEditor[a===true?"cancelEdit":"completeEdit"]()}this.activeEditor=null},onDestroy:function(){if(this.rendered){var d=this.colModel.config;for(var b=0,a=d.length;b<a;b++){var e=d[b];Ext.destroy(e.editor)}}Ext.grid.EditorGridPanel.superclass.onDestroy.call(this)}});Ext.reg("editorgrid",Ext.grid.EditorGridPanel);Ext.grid.GridEditor=function(b,a){Ext.grid.GridEditor.superclass.constructor.call(this,b,a);b.monitorTab=false};Ext.extend(Ext.grid.GridEditor,Ext.Editor,{alignment:"tl-tl",autoSize:"width",hideEl:false,cls:"x-small-editor x-grid-editor",shim:false,shadow:false});Ext.grid.PropertyRecord=Ext.data.Record.create([{name:"name",type:"string"},"value"]);Ext.grid.PropertyStore=function(a,b){this.grid=a;this.store=new Ext.data.Store({recordType:Ext.grid.PropertyRecord});this.store.on("update",this.onUpdate,this);if(b){this.setSource(b)}Ext.grid.PropertyStore.superclass.constructor.call(this)};Ext.extend(Ext.grid.PropertyStore,Ext.util.Observable,{setSource:function(c){this.source=c;this.store.removeAll();var b=[];for(var a in c){if(this.isEditableValue(c[a])){b.push(new Ext.grid.PropertyRecord({name:a,value:c[a]},a))}}this.store.loadRecords({records:b},{},true)},onUpdate:function(e,a,d){if(d==Ext.data.Record.EDIT){var b=a.data.value;var c=a.modified.value;if(this.grid.fireEvent("beforepropertychange",this.source,a.id,b,c)!==false){this.source[a.id]=b;a.commit();this.grid.fireEvent("propertychange",this.source,a.id,b,c)}else{a.reject()}}},getProperty:function(a){return this.store.getAt(a)},isEditableValue:function(a){if(Ext.isDate(a)){return true}else{if(typeof a=="object"||typeof a=="function"){return false}}return true},setValue:function(b,a){this.source[b]=a;this.store.getById(b).set("value",a)},getSource:function(){return this.source}});Ext.grid.PropertyColumnModel=function(c,b){this.grid=c;var d=Ext.grid;d.PropertyColumnModel.superclass.constructor.call(this,[{header:this.nameText,width:50,sortable:true,dataIndex:"name",id:"name",menuDisabled:true},{header:this.valueText,width:50,resizable:false,dataIndex:"value",id:"value",menuDisabled:true}]);this.store=b;this.bselect=Ext.DomHelper.append(document.body,{tag:"select",cls:"x-grid-editor x-hide-display",children:[{tag:"option",value:"true",html:"true"},{tag:"option",value:"false",html:"false"}]});var e=Ext.form;var a=new e.Field({el:this.bselect,bselect:this.bselect,autoShow:true,getValue:function(){return this.bselect.value=="true"}});this.editors={date:new d.GridEditor(new e.DateField({selectOnFocus:true})),string:new d.GridEditor(new e.TextField({selectOnFocus:true})),number:new d.GridEditor(new e.NumberField({selectOnFocus:true,style:"text-align:left;"})),"boolean":new d.GridEditor(a)};this.renderCellDelegate=this.renderCell.createDelegate(this);this.renderPropDelegate=this.renderProp.createDelegate(this)};Ext.extend(Ext.grid.PropertyColumnModel,Ext.grid.ColumnModel,{nameText:"Name",valueText:"Value",dateFormat:"m/j/Y",renderDate:function(a){return a.dateFormat(this.dateFormat)},renderBool:function(a){return a?"true":"false"},isCellEditable:function(a,b){return a==1},getRenderer:function(a){return a==1?this.renderCellDelegate:this.renderPropDelegate},renderProp:function(a){return this.getPropertyName(a)},renderCell:function(a){var b=a;if(Ext.isDate(a)){b=this.renderDate(a)}else{if(typeof a=="boolean"){b=this.renderBool(a)}}return Ext.util.Format.htmlEncode(b)},getPropertyName:function(b){var a=this.grid.propertyNames;return a&&a[b]?a[b]:b},getCellEditor:function(a,e){var b=this.store.getProperty(e);var d=b.data.name,c=b.data.value;if(this.grid.customEditors[d]){return this.grid.customEditors[d]}if(Ext.isDate(c)){return this.editors.date}else{if(typeof c=="number"){return this.editors.number}else{if(typeof c=="boolean"){return this.editors["boolean"]}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 b=new Ext.grid.PropertyStore(this);this.propStore=b;var a=new Ext.grid.PropertyColumnModel(this,b);b.store.sort("name","ASC");this.addEvents("beforepropertychange","propertychange");this.cm=a;this.ds=b.store;Ext.grid.PropertyGrid.superclass.initComponent.call(this);this.selModel.on("beforecellselect",function(e,d,c){if(c===0){this.startEditing.defer(200,this,[d,1]);return false}},this)},onRender:function(){Ext.grid.PropertyGrid.superclass.onRender.apply(this,arguments);this.getGridEl().addClass("x-props-grid")},afterRender:function(){Ext.grid.PropertyGrid.superclass.afterRender.apply(this,arguments);if(this.source){this.setSource(this.source)}},setSource:function(a){this.propStore.setSource(a)},getSource:function(){return this.propStore.getSource()}});Ext.reg("propertygrid",Ext.grid.PropertyGrid);Ext.grid.RowNumberer=function(a){Ext.apply(this,a);if(this.rowspan){this.renderer=this.renderer.createDelegate(this)}};Ext.grid.RowNumberer.prototype={header:"",width:23,sortable:false,fixed:true,menuDisabled:true,dataIndex:"",id:"numberer",rowspan:undefined,renderer:function(b,c,a,d){if(this.rowspan){c.cellAttr='rowspan="'+this.rowspan+'"'}return d+1}};Ext.grid.CheckboxSelectionModel=Ext.extend(Ext.grid.RowSelectionModel,{header:'<div class="x-grid3-hd-checker">&#160;</div>',width:20,sortable:false,menuDisabled:true,fixed:true,dataIndex:"",id:"checker",initEvents:function(){Ext.grid.CheckboxSelectionModel.superclass.initEvents.call(this);this.grid.on("render",function(){var a=this.grid.getView();a.mainBody.on("mousedown",this.onMouseDown,this);Ext.fly(a.innerHd).on("mousedown",this.onHdMouseDown,this)},this)},onMouseDown:function(c,b){if(c.button===0&&b.className=="x-grid3-row-checker"){c.stopEvent();var d=c.getTarget(".x-grid3-row");if(d){var a=d.rowIndex;if(this.isSelected(a)){this.deselectRow(a)}else{this.selectRow(a,true)}}}},onHdMouseDown:function(c,a){if(a.className=="x-grid3-hd-checker"){c.stopEvent();var b=Ext.fly(a.parentNode);var d=b.hasClass("x-grid3-hd-checker-on");if(d){b.removeClass("x-grid3-hd-checker-on");this.clearSelections()}else{b.addClass("x-grid3-hd-checker-on");this.selectAll()}}},renderer:function(b,c,a){return'<div class="x-grid3-row-checker">&#160;</div>'}});Ext.LoadMask=function(c,b){this.el=Ext.get(c);Ext.apply(this,b);if(this.store){this.store.on("beforeload",this.onBeforeLoad,this);this.store.on("load",this.onLoad,this);this.store.on("loadexception",this.onLoad,this);this.removeMask=Ext.value(this.removeMask,false)}else{var a=this.el.getUpdater();a.showLoadIndicator=false;a.on("beforeupdate",this.onBeforeLoad,this);a.on("update",this.onLoad,this);a.on("failure",this.onLoad,this);this.removeMask=Ext.value(this.removeMask,true)}};Ext.LoadMask.prototype={msg:"Loading...",msgCls:"x-mask-loading",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("beforeload",this.onBeforeLoad,this);this.store.un("load",this.onLoad,this);this.store.un("loadexception",this.onLoad,this)}else{var a=this.el.getUpdater();a.un("beforeupdate",this.onBeforeLoad,this);a.un("update",this.onLoad,this);a.un("failure",this.onLoad,this)}}};Ext.ProgressBar=Ext.extend(Ext.BoxComponent,{baseCls:"x-progress",animate:false,waitTimer:null,initComponent:function(){Ext.ProgressBar.superclass.initComponent.call(this);this.addEvents("update")},onRender:function(d,a){Ext.ProgressBar.superclass.onRender.call(this,d,a);var c=new Ext.Template('<div class="{cls}-wrap">','<div class="{cls}-inner">','<div class="{cls}-bar">','<div class="{cls}-text">',"<div>&#160;</div>","</div>","</div>",'<div class="{cls}-text {cls}-text-back">',"<div>&#160;</div>","</div>","</div>","</div>");if(a){this.el=c.insertBefore(a,{cls:this.baseCls},true)}else{this.el=c.append(d,{cls:this.baseCls},true)}if(this.id){this.el.dom.id=this.id}var b=this.el.dom.firstChild;this.progressBar=Ext.get(b.firstChild);if(this.textEl){this.textEl=Ext.get(this.textEl);delete this.textTopEl}else{this.textTopEl=Ext.get(this.progressBar.dom.firstChild);var e=Ext.get(b.childNodes[1]);this.textTopEl.setStyle("z-index",99).addClass("x-hidden");this.textEl=new Ext.CompositeElement([this.textTopEl.dom.firstChild,e.dom.firstChild]);this.textEl.setWidth(b.offsetWidth)}this.progressBar.setHeight(b.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(c,d,b){this.value=c||0;if(d){this.updateText(d)}if(this.rendered){var a=Math.floor(c*this.el.dom.firstChild.offsetWidth);this.progressBar.setWidth(a,b===true||(b!==false&&this.animate));if(this.textTopEl){this.textTopEl.removeClass("x-hidden").setWidth(a)}}this.fireEvent("update",this,c,d);return this},wait:function(b){if(!this.waitTimer){var a=this;b=b||{};this.updateText(b.text);this.waitTimer=Ext.TaskMgr.start({run:function(c){var d=b.increment||10;this.updateProgress(((((c+d)%d)+1)*(100/d))*0.01,null,b.animate)},interval:b.interval||1000,duration:b.duration,onStop:function(){if(b.fn){b.fn.apply(b.scope||this)}this.reset()},scope:a})}return this},isWaiting:function(){return this.waitTimer!=null},updateText:function(a){this.text=a||"&#160;";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(a,c){Ext.ProgressBar.superclass.setSize.call(this,a,c);if(this.textTopEl){var b=this.el.dom.firstChild;this.textEl.setSize(b.offsetWidth,b.offsetHeight)}this.syncProgressBar();return this},reset:function(a){this.updateProgress(0);if(this.textTopEl){this.textTopEl.addClass("x-hidden")}if(this.waitTimer){this.waitTimer.onStop=null;Ext.TaskMgr.stop(this.waitTimer);this.waitTimer=null}if(a===true){this.hide()}return this}});Ext.reg("progress",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("beforechange","change","changecomplete","dragstart","drag","dragend");if(this.vertical){Ext.apply(this,Ext.Slider.Vertical)}},onRender:function(){this.autoEl={cls:"x-slider "+(this.vertical?"x-slider-vert":"x-slider-horz"),cn:{cls:"x-slider-end",cn:{cls:"x-slider-inner",cn:[{cls:"x-slider-thumb"},{tag:"a",cls:"x-slider-focus",href:"#",tabIndex:"-1",hidefocus:"on"}]}}};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("x-slider-thumb-over");this.mon(this.el,"mousedown",this.onMouseDown,this);this.mon(this.el,"keydown",this.onKeyDown,this);this.focusEl.swallowEvent("click",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("beforedestroy",this.tracker.destroy,this.tracker)},onMouseDown:function(b){if(this.disabled){return}if(this.clickToChange&&b.target!=this.thumb.dom){var a=this.innerEl.translatePoints(b.getXY());this.onClickChange(a)}this.focus()},onClickChange:function(a){if(a.top>this.clickRange[0]&&a.top<this.clickRange[1]){this.setValue(Math.round(this.reverseValue(a.left)),undefined,true)}},onKeyDown:function(b){if(this.disabled){b.preventDefault();return}var a=b.getKey();switch(a){case b.UP:case b.RIGHT:b.stopEvent();if(b.ctrlKey){this.setValue(this.maxValue,undefined,true)}else{this.setValue(this.value+this.keyIncrement,undefined,true)}break;case b.DOWN:case b.LEFT:b.stopEvent();if(b.ctrlKey){this.setValue(this.minValue,undefined,true)}else{this.setValue(this.value-this.keyIncrement,undefined,true)}break;default:b.preventDefault()}},doSnap:function(b){if(!this.increment||this.increment==1||!b){return b}var d=b,c=this.increment;var a=b%c;if(a>0){if(a>(c/2)){d=b+(c-a)}else{d=b-a}}return d.constrain(this.minValue,this.maxValue)},afterRender:function(){Ext.Slider.superclass.afterRender.apply(this,arguments);if(this.value!==undefined){var a=this.normalizeValue(this.value);if(a!==this.value){delete this.value;this.setValue(a,false)}else{this.moveThumb(this.translateValue(a),false)}}},getRatio:function(){var a=this.innerEl.getWidth();var b=this.maxValue-this.minValue;return b==0?a:(a/b)},normalizeValue:function(a){if(typeof a!="number"){a=parseInt(a)}a=Math.round(a);a=this.doSnap(a);a=a.constrain(this.minValue,this.maxValue);return a},setValue:function(b,a,c){b=this.normalizeValue(b);if(b!==this.value&&this.fireEvent("beforechange",this,b,this.value)!==false){this.value=b;this.moveThumb(this.translateValue(b),a!==false);this.fireEvent("change",this,b);if(c){this.fireEvent("changecomplete",this,b)}}},translateValue:function(a){var b=this.getRatio();return(a*b)-(this.minValue*b)-this.halfThumb},reverseValue:function(b){var a=this.getRatio();return(b+this.halfThumb+(this.minValue*a))/a},moveThumb:function(b,a){if(!a||this.animate===false){this.thumb.setLeft(b)}else{this.thumb.shift({left:b,stopFx:true,duration:0.35})}},focus:function(){this.focusEl.focus(10)},onBeforeDragStart:function(a){return !this.disabled},onDragStart:function(a){this.thumb.addClass("x-slider-thumb-drag");this.dragging=true;this.dragStartValue=this.value;this.fireEvent("dragstart",this,a)},onDrag:function(a){var b=this.innerEl.translatePoints(this.tracker.getXY());this.setValue(Math.round(this.reverseValue(b.left)),false);this.fireEvent("drag",this,a)},onDragEnd:function(a){this.thumb.removeClass("x-slider-thumb-drag");this.dragging=false;this.fireEvent("dragend",this,a);if(this.dragStartValue!=this.value){this.fireEvent("changecomplete",this,this.value)}},onDisable:function(){Ext.Slider.superclass.onDisable.call(this);this.thumb.addClass(this.disabledClass);if(Ext.isIE){var a=this.thumb.getXY();this.thumb.hide();this.innerEl.addClass(this.disabledClass).dom.disabled=true;if(!this.thumbHolder){this.thumbHolder=this.endEl.createChild({cls:"x-slider-thumb "+this.disabledClass})}this.thumbHolder.show().setXY(a)}},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(a,b){this.innerEl.setWidth(a-(this.el.getPadding("l")+this.endEl.getPadding("r")));this.syncThumb()},syncThumb:function(){if(this.rendered){this.moveThumb(this.translateValue(this.value))}},getValue:function(){return this.value}});Ext.reg("slider",Ext.Slider);Ext.Slider.Vertical={onResize:function(a,b){this.innerEl.setHeight(b-(this.el.getPadding("t")+this.endEl.getPadding("b")));this.syncThumb()},getRatio:function(){var b=this.innerEl.getHeight();var a=this.maxValue-this.minValue;return b/a},moveThumb:function(b,a){if(!a||this.animate===false){this.thumb.setBottom(b)}else{this.thumb.shift({bottom:b,stopFx:true,duration:0.35})}},onDrag:function(b){var c=this.innerEl.translatePoints(this.tracker.getXY());var a=this.innerEl.getHeight()-c.top;this.setValue(this.minValue+Math.round(a/this.getRatio()),false);this.fireEvent("drag",this,b)},onClickChange:function(b){if(b.left>this.clickRange[0]&&b.left<this.clickRange[1]){var a=this.innerEl.getHeight()-b.top;this.setValue(this.minValue+Math.round(a/this.getRatio()),undefined,true)}}};Ext.StatusBar=Ext.extend(Ext.Toolbar,{cls:"x-statusbar",busyIconCls:"x-status-busy",busyText:"Loading...",autoClear:5000,activeThreadId:0,initComponent:function(){if(this.statusAlign=="right"){this.cls+=" x-status-right"}Ext.StatusBar.superclass.initComponent.call(this)},afterRender:function(){Ext.StatusBar.superclass.afterRender.call(this);var a=this.statusAlign=="right",b=Ext.get(this.nextBlock());if(a){this.tr.appendChild(b.dom)}else{b.insertBefore(this.tr.firstChild)}this.statusEl=b.createChild({cls:"x-status-text "+(this.iconCls||this.defaultIconCls||""),html:this.text||this.defaultText||""});this.statusEl.unselectable();this.spacerEl=b.insertSibling({tag:"td",style:"width:100%",cn:[{cls:"ytb-spacer"}]},a?"before":"after")},setStatus:function(d){d=d||{};if(typeof d=="string"){d={text:d}}if(d.text!==undefined){this.setText(d.text)}if(d.iconCls!==undefined){this.setIcon(d.iconCls)}if(d.clear){var e=d.clear,b=this.autoClear,a={useDefaults:true,anim:true};if(typeof e=="object"){e=Ext.applyIf(e,a);if(e.wait){b=e.wait}}else{if(typeof e=="number"){b=e;e=a}else{if(typeof e=="boolean"){e=a}}}e.threadId=this.activeThreadId;this.clearStatus.defer(b,this,[e])}return this},clearStatus:function(c){c=c||{};if(c.threadId&&c.threadId!==this.activeThreadId){return this}var b=c.useDefaults?this.defaultText:"",a=c.useDefaults?(this.defaultIconCls?this.defaultIconCls:""):"";if(c.anim){this.statusEl.fadeOut({remove:false,useDisplay:true,scope:this,callback:function(){this.setStatus({text:b,iconCls:a});this.statusEl.show()}})}else{this.statusEl.hide();this.setStatus({text:b,iconCls:a});this.statusEl.show()}return this},setText:function(a){this.activeThreadId++;this.text=a||"";if(this.rendered){this.statusEl.update(this.text)}return this},getText:function(){return this.text},setIcon:function(a){this.activeThreadId++;a=a||"";if(this.rendered){if(this.currIconCls){this.statusEl.removeClass(this.currIconCls);this.currIconCls=null}if(a.length>0){this.statusEl.addClass(a);this.currIconCls=a}}else{this.currIconCls=a}return this},showBusy:function(a){if(typeof a=="string"){a={text:a}}a=Ext.applyIf(a||{},{text:this.busyText,iconCls:this.busyIconCls});return this.setStatus(a)}});Ext.reg("statusbar",Ext.StatusBar);Ext.History=(function(){var e,c;var l=false;var d;function g(){var m=top.location.href,n=m.indexOf("#");return n>=0?m.substr(n+1):null}function a(){c.value=d}function h(m){d=m;Ext.History.fireEvent("change",m)}function i(n){var m=['<html><body><div id="state">',n,"</div></body></html>"].join("");try{var p=e.contentWindow.document;p.open();p.write(m);p.close();return true}catch(o){return false}}function b(){if(!e.contentWindow||!e.contentWindow.document){setTimeout(b,10);return}var p=e.contentWindow.document;var n=p.getElementById("state");var m=n?n.innerText:null;var o=g();setInterval(function(){p=e.contentWindow.document;n=p.getElementById("state");var r=n?n.innerText:null;var q=g();if(r!==m){m=r;h(m);top.location.hash=m;o=m;a()}else{if(q!==o){o=q;i(q)}}},50);l=true;Ext.History.fireEvent("ready",Ext.History)}function k(){d=c.value?c.value:g();if(Ext.isIE){b()}else{var m=g();setInterval(function(){var n=g();if(n!==m){m=n;h(m);a()}},50);l=true;Ext.History.fireEvent("ready",Ext.History)}}return{fieldId:"x-history-field",iframeId:"x-history-frame",events:{},init:function(n,m){if(l){Ext.callback(n,m,[this]);return}if(!Ext.isReady){Ext.onReady(function(){Ext.History.init(n,m)});return}c=Ext.getDom(Ext.History.fieldId);if(Ext.isIE){e=Ext.getDom(Ext.History.iframeId)}this.addEvents("ready","change");if(n){this.on("ready",n,m,{single:true})}k()},add:function(m,n){if(n!==false){if(this.getToken()==m){return true}}if(Ext.isIE){return i(m)}else{top.location.hash=m;return true}},back:function(){history.go(-1)},forward:function(){history.go(1)},getToken:function(){return l?d:g()}}})();Ext.apply(Ext.History,new Ext.util.Observable());
\ No newline at end of file
diff --git a/static/extjs/ext-base.js b/static/extjs/ext-base.js
new file mode 100644
index 00000000..60676d32
--- /dev/null
+++ b/static/extjs/ext-base.js
@@ -0,0 +1,9 @@
+/*
+ * Ext JS Library 2.2.1
+ * Copyright(c) 2006-2009, Ext JS, LLC.
+ * licensing@extjs.com
+ * 
+ * http://extjs.com/license
+ */
+
+Ext={version:"2.2.1"};window["undefined"]=window["undefined"];Ext.apply=function(d,e,b){if(b){Ext.apply(d,b)}if(d&&e&&typeof e=="object"){for(var a in e){d[a]=e[a]}}return d};(function(){var idSeed=0;var ua=navigator.userAgent.toLowerCase();var isStrict=document.compatMode=="CSS1Compat",isOpera=ua.indexOf("opera")>-1,isChrome=ua.indexOf("chrome")>-1,isSafari=!isChrome&&(/webkit|khtml/).test(ua),isSafari3=isSafari&&ua.indexOf("webkit/5")!=-1,isIE=!isOpera&&ua.indexOf("msie")>-1,isIE7=!isOpera&&ua.indexOf("msie 7")>-1,isIE8=!isOpera&&ua.indexOf("msie 8")>-1,isGecko=!isSafari&&!isChrome&&ua.indexOf("gecko")>-1,isGecko3=isGecko&&ua.indexOf("rv:1.9")>-1,isBorderBox=isIE&&!isStrict,isWindows=(ua.indexOf("windows")!=-1||ua.indexOf("win32")!=-1),isMac=(ua.indexOf("macintosh")!=-1||ua.indexOf("mac os x")!=-1),isAir=(ua.indexOf("adobeair")!=-1),isLinux=(ua.indexOf("linux")!=-1),isSecure=window.location.href.toLowerCase().indexOf("https")===0;if(isIE&&!isIE7){try{document.execCommand("BackgroundImageCache",false,true)}catch(e){}}Ext.apply(Ext,{isStrict:isStrict,isSecure:isSecure,isReady:false,enableGarbageCollector:true,enableListenerCollection:false,SSL_SECURE_URL:"javascript:false",BLANK_IMAGE_URL:"http://extjs.com/s.gif",emptyFn:function(){},applyIf:function(o,c){if(o&&c){for(var p in c){if(typeof o[p]=="undefined"){o[p]=c[p]}}}return o},addBehaviors:function(o){if(!Ext.isReady){Ext.onReady(function(){Ext.addBehaviors(o)});return}var cache={};for(var b in o){var parts=b.split("@");if(parts[1]){var s=parts[0];if(!cache[s]){cache[s]=Ext.select(s)}cache[s].on(parts[1],o[b])}}cache=null},id:function(el,prefix){prefix=prefix||"ext-gen";el=Ext.getDom(el);var id=prefix+(++idSeed);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,overrides){if(typeof sp=="object"){overrides=sp;sp=sb;sb=overrides.constructor!=oc?overrides.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,overrides);sb.extend=function(o){Ext.extend(sb,o)};return sb}}(),override:function(origclass,overrides){if(overrides){var p=origclass.prototype;for(var method in overrides){p[method]=overrides[method]}if(Ext.isIE&&overrides.toString!=origclass.toString){p.toString=overrides.toString}}},namespace:function(){var a=arguments,o=null,i,j,d,rt;for(i=0;i<a.length;++i){d=a[i].split(".");rt=d[0];eval("if (typeof "+rt+' == "undefined"){'+rt+" = {};} o = "+rt+";");for(j=1;j<d.length;++j){o[d[j]]=o[d[j]]||{};o=o[d[j]]}}},urlEncode:function(o){if(!o){return""}var buf=[];for(var key in o){var ov=o[key],k=encodeURIComponent(key);var type=typeof ov;if(type=="undefined"){buf.push(k,"=&")}else{if(type!="function"&&type!="object"){buf.push(k,"=",encodeURIComponent(ov),"&")}else{if(Ext.isDate(ov)){var s=Ext.encode(ov).replace(/"/g,"");buf.push(k,"=",s,"&")}else{if(Ext.isArray(ov)){if(ov.length){for(var i=0,len=ov.length;i<len;i++){buf.push(k,"=",encodeURIComponent(ov[i]===undefined?"":ov[i]),"&")}}else{buf.push(k,"=&")}}}}}}buf.pop();return buf.join("")},urlDecode:function(string,overwrite){if(!string||!string.length){return{}}var obj={};var pairs=string.split("&");var pair,name,value;for(var i=0,len=pairs.length;i<len;i++){pair=pairs[i].split("=");name=decodeURIComponent(pair[0]);value=decodeURIComponent(pair[1]);if(overwrite!==true){if(typeof obj[name]=="undefined"){obj[name]=value}else{if(typeof obj[name]=="string"){obj[name]=[obj[name]];obj[name].push(value)}else{obj[name].push(value)}}}else{obj[name]=value}}return obj},each:function(array,fn,scope){if(typeof array.length=="undefined"||typeof array=="string"){array=[array]}for(var i=0,len=array.length;i<len;i++){if(fn.call(scope||array[i],array[i],i,array)===false){return i}}},combine:function(){var as=arguments,l=as.length,r=[];for(var i=0;i<l;i++){var a=as[i];if(Ext.isArray(a)){r=r.concat(a)}else{if(a.length!==undefined&&!a.substr){r=r.concat(Array.prototype.slice.call(a,0))}else{r.push(a)}}}return r},escapeRe:function(s){return s.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},callback:function(cb,scope,args,delay){if(typeof cb=="function"){if(delay){cb.defer(delay,scope,args||[])}else{cb.apply(scope,args||[])}}},getDom:function(el){if(!el||!document){return null}return el.dom?el.dom:(typeof el=="string"?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,defaultValue){if(typeof v!="number"||isNaN(v)){return defaultValue}return v},destroy:function(){for(var i=0,a=arguments,len=a.length;i<len;i++){var as=a[i];if(as){if(typeof as.destroy=="function"){as.destroy()}else{if(as.dom){as.removeAllListeners();as.remove()}}}}},removeNode:isIE?function(){var d;return function(n){if(n&&n.tagName!="BODY"){d=d||document.createElement("div");d.appendChild(n);d.innerHTML=""}}}():function(n){if(n&&n.parentNode&&n.tagName!="BODY"){n.parentNode.removeChild(n)}},type:function(o){if(o===undefined||o===null){return false}if(o.htmlElement){return"element"}var t=typeof o;if(t=="object"&&o.nodeName){switch(o.nodeType){case 1:return"element";case 3:return(/\S/).test(o.nodeValue)?"textnode":"whitespace"}}if(t=="object"||t=="function"){switch(o.constructor){case Array:return"array";case RegExp:return"regexp";case Date:return"date"}if(typeof o.length=="number"&&typeof o.item=="function"){return"nodelist"}}return t},isEmpty:function(v,allowBlank){return v===null||v===undefined||(!allowBlank?v==="":false)},value:function(v,defaultValue,allowBlank){return Ext.isEmpty(v,allowBlank)?defaultValue:v},isArray:function(v){return v&&typeof v.length=="number"&&typeof v.splice=="function"},isDate:function(v){return v&&typeof v.getFullYear=="function"},isOpera:isOpera,isChrome:isChrome,isSafari:isSafari,isSafari3:isSafari3,isSafari2:isSafari&&!isSafari3,isIE:isIE,isIE6:isIE&&!isIE7&&!isIE8,isIE7:isIE7,isIE8:isIE8,isGecko:isGecko,isGecko2:isGecko&&!isGecko3,isGecko3:isGecko3,isBorderBox:isBorderBox,isLinux:isLinux,isWindows:isWindows,isMac:isMac,isAir:isAir,useShims:((isIE&&!isIE7)||(isMac&&isGecko&&!isGecko3))});Ext.ns=Ext.namespace})();Ext.ns("Ext","Ext.util","Ext.grid","Ext.dd","Ext.tree","Ext.data","Ext.form","Ext.menu","Ext.state","Ext.lib","Ext.layout","Ext.app","Ext.ux");Ext.apply(Function.prototype,{createCallback:function(){var a=arguments;var 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(typeof a=="number"){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){return setTimeout(d,c)}d();return 0},createSequence:function(b,a){if(typeof b!="function"){return this}var c=this;return function(){var d=c.apply(this||window,arguments);b.apply(a||this||window,arguments);return d}},createInterceptor:function(b,a){if(typeof b!="function"){return this}var c=this;return function(){b.target=this;b.method=c;if(b.apply(a||this||window,arguments)===false){return}return c.apply(this||window,arguments)}}});Ext.applyIf(String,{escape:function(a){return a.replace(/('|\\)/g,"\\$1")},leftPad:function(d,b,c){var a=new String(d);if(!c){c=" "}while(a.length<b){a=c+a}return a.toString()},format:function(b){var a=Array.prototype.slice.call(arguments,1);return b.replace(/\{(\d+)\}/g,function(c,d){return a[d]})}});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,"")}}();Ext.applyIf(Number.prototype,{constrain:function(b,a){return Math.min(Math.max(this,b),a)}});Ext.applyIf(Array.prototype,{indexOf:function(c){for(var b=0,a=this.length;b<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}});Date.prototype.getElapsed=function(a){return Math.abs((a||new Date()).getTime()-this.getTime())};(function(){var b;Ext.lib.Dom={getViewWidth:function(e){return e?this.getDocumentWidth():this.getViewportWidth()},getViewHeight:function(e){return e?this.getDocumentHeight():this.getViewportHeight()},getDocumentHeight:function(){var e=(document.compatMode!="CSS1Compat")?document.body.scrollHeight:document.documentElement.scrollHeight;return Math.max(e,this.getViewportHeight())},getDocumentWidth:function(){var e=(document.compatMode!="CSS1Compat")?document.body.scrollWidth:document.documentElement.scrollWidth;return Math.max(e,this.getViewportWidth())},getViewportHeight:function(){if(Ext.isIE){return Ext.isStrict?document.documentElement.clientHeight:document.body.clientHeight}else{return self.innerHeight}},getViewportWidth:function(){if(Ext.isIE){return Ext.isStrict?document.documentElement.clientWidth:document.body.clientWidth}else{return self.innerWidth}},isAncestor:function(f,g){f=Ext.getDom(f);g=Ext.getDom(g);if(!f||!g){return false}if(f.contains&&!Ext.isSafari){return f.contains(g)}else{if(f.compareDocumentPosition){return !!(f.compareDocumentPosition(g)&16)}else{var e=g.parentNode;while(e){if(e==f){return true}else{if(!e.tagName||e.tagName.toUpperCase()=="HTML"){return false}}e=e.parentNode}return false}}},getRegion:function(e){return Ext.lib.Region.getRegion(e)},getY:function(e){return this.getXY(e)[1]},getX:function(e){return this.getXY(e)[0]},getXY:function(g){var f,k,m,n,j=(document.body||document.documentElement);g=Ext.getDom(g);if(g==j){return[0,0]}if(g.getBoundingClientRect){m=g.getBoundingClientRect();n=c(document).getScroll();return[m.left+n.left,m.top+n.top]}var o=0,l=0;f=g;var e=c(g).getStyle("position")=="absolute";while(f){o+=f.offsetLeft;l+=f.offsetTop;if(!e&&c(f).getStyle("position")=="absolute"){e=true}if(Ext.isGecko){k=c(f);var q=parseInt(k.getStyle("borderTopWidth"),10)||0;var h=parseInt(k.getStyle("borderLeftWidth"),10)||0;o+=h;l+=q;if(f!=g&&k.getStyle("overflow")!="visible"){o+=h;l+=q}}f=f.offsetParent}if(Ext.isSafari&&e){o-=j.offsetLeft;l-=j.offsetTop}if(Ext.isGecko&&!e){var i=c(j);o+=parseInt(i.getStyle("borderLeftWidth"),10)||0;l+=parseInt(i.getStyle("borderTopWidth"),10)||0}f=g.parentNode;while(f&&f!=j){if(!Ext.isOpera||(f.tagName!="TR"&&c(f).getStyle("display")!="inline")){o-=f.scrollLeft;l-=f.scrollTop}f=f.parentNode}return[o,l]},setXY:function(e,f){e=Ext.fly(e,"_setXY");e.position();var g=e.translatePoints(f);if(f[0]!==false){e.dom.style.left=g.left+"px"}if(f[1]!==false){e.dom.style.top=g.top+"px"}},setX:function(f,e){this.setXY(f,[e,false])},setY:function(e,f){this.setXY(e,[false,f])}};Ext.lib.Event=function(){var f=false;var g=[];var k=[];var i=0;var h=[];var e=0;var j=null;return{POLL_RETRYS:200,POLL_INTERVAL:20,EL:0,TYPE:1,FN:2,WFN:3,OBJ:3,ADJ_SCOPE:4,_interval:null,startInterval:function(){if(!this._interval){var l=this;var m=function(){l._tryPreloadAttach()};this._interval=setInterval(m,this.POLL_INTERVAL)}},onAvailable:function(n,l,o,m){h.push({id:n,fn:l,obj:o,override:m,checkReady:false});i=this.POLL_RETRYS;this.startInterval()},addListener:function(q,m,p){q=Ext.getDom(q);if(!q||!p){return false}if("unload"==m){k[k.length]=[q,m,p];return true}var o=function(r){return typeof Ext!="undefined"?p(Ext.lib.Event.getEvent(r)):false};var l=[q,m,p,o];var n=g.length;g[n]=l;this.doAdd(q,m,o,false);return true},removeListener:function(s,o,r){var q,n;s=Ext.getDom(s);if(!r){return this.purgeElement(s,false,o)}if("unload"==o){for(q=0,n=k.length;q<n;q++){var m=k[q];if(m&&m[0]==s&&m[1]==o&&m[2]==r){k.splice(q,1);return true}}return false}var l=null;var p=arguments[3];if("undefined"==typeof p){p=this._getCacheIndex(s,o,r)}if(p>=0){l=g[p]}if(!s||!l){return false}this.doRemove(s,o,l[this.WFN],false);delete g[p][this.WFN];delete g[p][this.FN];g.splice(p,1);return true},getTarget:function(n,m){n=n.browserEvent||n;var l=n.target||n.srcElement;return this.resolveTextNode(l)},resolveTextNode:function(l){if(Ext.isSafari&&l&&3==l.nodeType){return l.parentNode}else{return l}},getPageX:function(m){m=m.browserEvent||m;var l=m.pageX;if(!l&&0!==l){l=m.clientX||0;if(Ext.isIE){l+=this.getScroll()[1]}}return l},getPageY:function(l){l=l.browserEvent||l;var m=l.pageY;if(!m&&0!==m){m=l.clientY||0;if(Ext.isIE){m+=this.getScroll()[0]}}return m},getXY:function(l){l=l.browserEvent||l;return[this.getPageX(l),this.getPageY(l)]},getRelatedTarget:function(m){m=m.browserEvent||m;var l=m.relatedTarget;if(!l){if(m.type=="mouseout"){l=m.toElement}else{if(m.type=="mouseover"){l=m.fromElement}}}return this.resolveTextNode(l)},getTime:function(n){n=n.browserEvent||n;if(!n.time){var m=new Date().getTime();try{n.time=m}catch(l){this.lastError=l;return m}}return n.time},stopEvent:function(l){this.stopPropagation(l);this.preventDefault(l)},stopPropagation:function(l){l=l.browserEvent||l;if(l.stopPropagation){l.stopPropagation()}else{l.cancelBubble=true}},preventDefault:function(l){l=l.browserEvent||l;if(l.preventDefault){l.preventDefault()}else{l.returnValue=false}},getEvent:function(m){var l=m||window.event;if(!l){var n=this.getEvent.caller;while(n){l=n.arguments[0];if(l&&Event==l.constructor){break}n=n.caller}}return l},getCharCode:function(l){l=l.browserEvent||l;return l.charCode||l.keyCode||0},_getCacheIndex:function(q,n,p){for(var o=0,m=g.length;o<m;++o){var l=g[o];if(l&&l[this.FN]==p&&l[this.EL]==q&&l[this.TYPE]==n){return o}}return -1},elCache:{},getEl:function(l){return document.getElementById(l)},clearCache:function(){},_load:function(m){f=true;var l=Ext.lib.Event;if(Ext.isIE){l.doRemove(window,"load",l._load)}},_tryPreloadAttach:function(){if(this.locked){return false}this.locked=true;var r=!f;if(!r){r=(i>0)}var q=[];for(var m=0,l=h.length;m<l;++m){var p=h[m];if(p){var o=this.getEl(p.id);if(o){if(!p.checkReady||f||o.nextSibling||(document&&document.body)){var n=o;if(p.override){if(p.override===true){n=p.obj}else{n=p.override}}p.fn.call(n,p.obj);h[m]=null}}else{q.push(p)}}}i=(q.length===0)?0:i-1;if(r){this.startInterval()}else{clearInterval(this._interval);this._interval=null}this.locked=false;return true},purgeElement:function(q,r,o){var s=this.getListeners(q,o);if(s){for(var p=0,m=s.length;p<m;++p){var n=s[p];this.removeListener(q,n.type,n.fn)}}if(r&&q&&q.childNodes){for(p=0,m=q.childNodes.length;p<m;++p){this.purgeElement(q.childNodes[p],r,o)}}},getListeners:function(n,s){var q=[],m;if(!s){m=[g,k]}else{if(s=="unload"){m=[k]}else{m=[g]}}for(var p=0;p<m.length;++p){var u=m[p];if(u&&u.length>0){for(var r=0,t=u.length;r<t;++r){var o=u[r];if(o&&o[this.EL]===n&&(!s||s===o[this.TYPE])){q.push({type:o[this.TYPE],fn:o[this.FN],obj:o[this.OBJ],adjust:o[this.ADJ_SCOPE],index:r})}}}}return(q.length)?q:null},_unload:function(t){var s=Ext.lib.Event,q,p,n,m,o;for(q=0,m=k.length;q<m;++q){n=k[q];if(n){var r=window;if(n[s.ADJ_SCOPE]){if(n[s.ADJ_SCOPE]===true){r=n[s.OBJ]}else{r=n[s.ADJ_SCOPE]}}n[s.FN].call(r,s.getEvent(t),n[s.OBJ]);k[q]=null;n=null;r=null}}k=null;if(g&&g.length>0){p=g.length;while(p){o=p-1;n=g[o];if(n){s.removeListener(n[s.EL],n[s.TYPE],n[s.FN],o)}p=p-1}n=null;s.clearCache()}s.doRemove(window,"unload",s._unload)},getScroll:function(){var l=document.documentElement,m=document.body;if(l&&(l.scrollTop||l.scrollLeft)){return[l.scrollTop,l.scrollLeft]}else{if(m){return[m.scrollTop,m.scrollLeft]}else{return[0,0]}}},doAdd:function(){if(window.addEventListener){return function(o,m,n,l){o.addEventListener(m,n,(l))}}else{if(window.attachEvent){return function(o,m,n,l){o.attachEvent("on"+m,n)}}else{return function(){}}}}(),doRemove:function(){if(window.removeEventListener){return function(o,m,n,l){o.removeEventListener(m,n,(l))}}else{if(window.detachEvent){return function(n,l,m){n.detachEvent("on"+l,m)}}else{return function(){}}}}()}}();var d=Ext.lib.Event;d.on=d.addListener;d.un=d.removeListener;if(document&&document.body){d._load()}else{d.doAdd(window,"load",d._load)}d.doAdd(window,"unload",d._unload);d._tryPreloadAttach();Ext.lib.Ajax={request:function(l,j,e,k,f){if(f){var g=f.headers;if(g){for(var i in g){if(g.hasOwnProperty(i)){this.initHeader(i,g[i],false)}}}if(f.xmlData){if(!g||!g["Content-Type"]){this.initHeader("Content-Type","text/xml",false)}l=(l?l:(f.method?f.method:"POST"));k=f.xmlData}else{if(f.jsonData){if(!g||!g["Content-Type"]){this.initHeader("Content-Type","application/json",false)}l=(l?l:(f.method?f.method:"POST"));k=typeof f.jsonData=="object"?Ext.encode(f.jsonData):f.jsonData}}}return this.asyncRequest(l,j,e,k)},serializeForm:function(f){if(typeof f=="string"){f=(document.getElementById(f)||document.forms[f])}var g,e,h,l,m="",o=false;for(var n=0;n<f.elements.length;n++){g=f.elements[n];l=f.elements[n].disabled;e=f.elements[n].name;h=f.elements[n].value;if(!l&&e){switch(g.type){case"select-one":case"select-multiple":for(var k=0;k<g.options.length;k++){if(g.options[k].selected){if(Ext.isIE){m+=encodeURIComponent(e)+"="+encodeURIComponent(g.options[k].attributes.value.specified?g.options[k].value:g.options[k].text)+"&"}else{m+=encodeURIComponent(e)+"="+encodeURIComponent(g.options[k].hasAttribute("value")?g.options[k].value:g.options[k].text)+"&"}}}break;case"radio":case"checkbox":if(g.checked){m+=encodeURIComponent(e)+"="+encodeURIComponent(h)+"&"}break;case"file":case undefined:case"reset":case"button":break;case"submit":if(o==false){m+=encodeURIComponent(e)+"="+encodeURIComponent(h)+"&";o=true}break;default:m+=encodeURIComponent(e)+"="+encodeURIComponent(h)+"&";break}}}m=m.substr(0,m.length-1);return m},headers:{},hasHeaders:false,useDefaultHeader:true,defaultPostHeader:"application/x-www-form-urlencoded; charset=UTF-8",useDefaultXhrHeader:true,defaultXhrHeader:"XMLHttpRequest",hasDefaultHeaders:true,defaultHeaders:{},poll:{},timeout:{},pollInterval:50,transactionId:0,setProgId:function(e){this.activeX.unshift(e)},setDefaultPostHeader:function(e){this.useDefaultHeader=e},setDefaultXhrHeader:function(e){this.useDefaultXhrHeader=e},setPollingInterval:function(e){if(typeof e=="number"&&isFinite(e)){this.pollInterval=e}},createXhrObject:function(k){var j,f;try{f=new XMLHttpRequest();j={conn:f,tId:k}}catch(h){for(var g=0;g<this.activeX.length;++g){try{f=new ActiveXObject(this.activeX[g]);j={conn:f,tId:k};break}catch(h){}}}finally{return j}},getConnectionObject:function(){var g;var h=this.transactionId;try{g=this.createXhrObject(h);if(g){this.transactionId++}}catch(f){}finally{return g}},asyncRequest:function(i,f,h,e){var g=this.getConnectionObject();if(!g){return null}else{g.conn.open(i,f,true);if(this.useDefaultXhrHeader){if(!this.defaultHeaders["X-Requested-With"]){this.initHeader("X-Requested-With",this.defaultXhrHeader,true)}}if(e&&this.useDefaultHeader&&(!this.hasHeaders||!this.headers["Content-Type"])){this.initHeader("Content-Type",this.defaultPostHeader)}if(this.hasDefaultHeaders||this.hasHeaders){this.setHeader(g)}this.handleReadyState(g,h);g.conn.send(e||null);return g}},handleReadyState:function(f,g){var e=this;if(g&&g.timeout){this.timeout[f.tId]=window.setTimeout(function(){e.abort(f,g,true)},g.timeout)}this.poll[f.tId]=window.setInterval(function(){if(f.conn&&f.conn.readyState==4){window.clearInterval(e.poll[f.tId]);delete e.poll[f.tId];if(g&&g.timeout){window.clearTimeout(e.timeout[f.tId]);delete e.timeout[f.tId]}e.handleTransactionResponse(f,g)}},this.pollInterval)},handleTransactionResponse:function(j,k,f){if(!k){this.releaseObject(j);return}var h,g;try{if(j.conn.status!==undefined&&j.conn.status!=0){h=j.conn.status}else{h=13030}}catch(i){h=13030}if((h>=200&&h<300)||(Ext.isIE&&h==1223)){g=this.createResponseObject(j,k.argument);if(k.success){if(!k.scope){k.success(g)}else{k.success.apply(k.scope,[g])}}}else{switch(h){case 12002:case 12029:case 12030:case 12031:case 12152:case 13030:g=this.createExceptionObject(j.tId,k.argument,(f?f:false));if(k.failure){if(!k.scope){k.failure(g)}else{k.failure.apply(k.scope,[g])}}break;default:g=this.createResponseObject(j,k.argument);if(k.failure){if(!k.scope){k.failure(g)}else{k.failure.apply(k.scope,[g])}}}}this.releaseObject(j);g=null},createResponseObject:function(f,m){var j={};var p={};try{var h=f.conn.getAllResponseHeaders();var l=h.split("\n");for(var k=0;k<l.length;k++){var g=l[k].indexOf(":");if(g!=-1){p[l[k].substring(0,g)]=l[k].substring(g+2)}}}catch(n){}j.tId=f.tId;j.status=f.conn.status;j.statusText=f.conn.statusText;j.getResponseHeader=p;j.getAllResponseHeaders=h;j.responseText=f.conn.responseText;j.responseXML=f.conn.responseXML;if(typeof m!==undefined){j.argument=m}return j},createExceptionObject:function(l,h,e){var j=0;var k="communication failure";var g=-1;var f="transaction aborted";var i={};i.tId=l;if(e){i.status=g;i.statusText=f}else{i.status=j;i.statusText=k}if(h){i.argument=h}return i},initHeader:function(e,h,g){var f=(g)?this.defaultHeaders:this.headers;if(f[e]===undefined){f[e]=h}else{f[e]=h+","+f[e]}if(g){this.hasDefaultHeaders=true}else{this.hasHeaders=true}},setHeader:function(e){if(this.hasDefaultHeaders){for(var f in this.defaultHeaders){if(this.defaultHeaders.hasOwnProperty(f)){e.conn.setRequestHeader(f,this.defaultHeaders[f])}}}if(this.hasHeaders){for(var f in this.headers){if(this.headers.hasOwnProperty(f)){e.conn.setRequestHeader(f,this.headers[f])}}this.headers={};this.hasHeaders=false}},resetDefaultHeaders:function(){delete this.defaultHeaders;this.defaultHeaders={};this.hasDefaultHeaders=false},abort:function(f,g,e){if(this.isCallInProgress(f)){f.conn.abort();window.clearInterval(this.poll[f.tId]);delete this.poll[f.tId];if(e){delete this.timeout[f.tId]}this.handleTransactionResponse(f,g,true);return true}else{return false}},isCallInProgress:function(e){if(e.conn){return e.conn.readyState!=4&&e.conn.readyState!=0}else{return false}},releaseObject:function(e){e.conn=null;e=null},activeX:["MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP","Microsoft.XMLHTTP"]};Ext.lib.Region=function(g,h,e,f){this.top=g;this[1]=g;this.right=h;this.bottom=e;this.left=f;this[0]=f};Ext.lib.Region.prototype={contains:function(e){return(e.left>=this.left&&e.right<=this.right&&e.top>=this.top&&e.bottom<=this.bottom)},getArea:function(){return((this.bottom-this.top)*(this.right-this.left))},intersect:function(i){var g=Math.max(this.top,i.top);var h=Math.min(this.right,i.right);var e=Math.min(this.bottom,i.bottom);var f=Math.max(this.left,i.left);if(e>=g&&h>=f){return new Ext.lib.Region(g,h,e,f)}else{return null}},union:function(i){var g=Math.min(this.top,i.top);var h=Math.max(this.right,i.right);var e=Math.max(this.bottom,i.bottom);var f=Math.min(this.left,i.left);return new Ext.lib.Region(g,h,e,f)},constrainTo:function(e){this.top=this.top.constrain(e.top,e.bottom);this.bottom=this.bottom.constrain(e.top,e.bottom);this.left=this.left.constrain(e.left,e.right);this.right=this.right.constrain(e.left,e.right);return this},adjust:function(g,f,e,h){this.top+=g;this.left+=f;this.right+=h;this.bottom+=e;return this}};Ext.lib.Region.getRegion=function(h){var j=Ext.lib.Dom.getXY(h);var g=j[1];var i=j[0]+h.offsetWidth;var e=j[1]+h.offsetHeight;var f=j[0];return new Ext.lib.Region(g,i,e,f)};Ext.lib.Point=function(e,f){if(Ext.isArray(e)){f=e[1];e=e[0]}this.x=this.right=this.left=this[0]=e;this.y=this.top=this.bottom=this[1]=f};Ext.lib.Point.prototype=new Ext.lib.Region();Ext.lib.Anim={scroll:function(h,f,i,j,e,g){return this.run(h,f,i,j,e,g,Ext.lib.Scroll)},motion:function(h,f,i,j,e,g){return this.run(h,f,i,j,e,g,Ext.lib.Motion)},color:function(h,f,i,j,e,g){return this.run(h,f,i,j,e,g,Ext.lib.ColorAnim)},run:function(i,f,k,l,e,h,g){g=g||Ext.lib.AnimBase;if(typeof l=="string"){l=Ext.lib.Easing[l]}var j=new g(i,f,k,l);j.animateX(function(){Ext.callback(e,h)});return j}};function c(e){if(!b){b=new Ext.Element.Flyweight()}b.dom=e;return b}if(Ext.isIE){function a(){var e=Function.prototype;delete e.createSequence;delete e.defer;delete e.createDelegate;delete e.createCallback;delete e.createInterceptor;window.detachEvent("onunload",a)}window.attachEvent("onunload",a)}Ext.lib.AnimBase=function(f,e,g,h){if(f){this.init(f,e,g,h)}};Ext.lib.AnimBase.prototype={toString:function(){var e=this.getEl();var f=e.id||e.tagName;return("Anim "+f)},patterns:{noNegatives:/width|height|opacity|padding/i,offsetAttribute:/^((width|height)|(top|left))$/,defaultUnit:/width|height|top$|bottom$|left$|right$/i,offsetUnit:/\d+(em|%|en|ex|pt|in|cm|mm|pc)$/i},doMethod:function(e,g,f){return this.method(this.currentFrame,g,f-g,this.totalFrames)},setAttribute:function(e,g,f){if(this.patterns.noNegatives.test(e)){g=(g>0)?g:0}Ext.fly(this.getEl(),"_anim").setStyle(e,g+f)},getAttribute:function(e){var g=this.getEl();var i=c(g).getStyle(e);if(i!=="auto"&&!this.patterns.offsetUnit.test(i)){return parseFloat(i)}var f=this.patterns.offsetAttribute.exec(e)||[];var j=!!(f[3]);var h=!!(f[2]);if(h||(c(g).getStyle("position")=="absolute"&&j)){i=g["offset"+f[0].charAt(0).toUpperCase()+f[0].substr(1)]}else{i=0}return i},getDefaultUnit:function(e){if(this.patterns.defaultUnit.test(e)){return"px"}return""},animateX:function(h,e){var g=function(){this.onComplete.removeListener(g);if(typeof h=="function"){h.call(e||this,this)}};this.onComplete.addListener(g,this);this.animate()},setRuntimeAttribute:function(f){var l;var g;var h=this.attributes;this.runtimeAttributes[f]={};var k=function(i){return(typeof i!=="undefined")};if(!k(h[f]["to"])&&!k(h[f]["by"])){return false}l=(k(h[f]["from"]))?h[f]["from"]:this.getAttribute(f);if(k(h[f]["to"])){g=h[f]["to"]}else{if(k(h[f]["by"])){if(l.constructor==Array){g=[];for(var j=0,e=l.length;j<e;++j){g[j]=l[j]+h[f]["by"][j]}}else{g=l+h[f]["by"]}}}this.runtimeAttributes[f].start=l;this.runtimeAttributes[f].end=g;this.runtimeAttributes[f].unit=(k(h[f].unit))?h[f]["unit"]:this.getDefaultUnit(f)},init:function(g,l,k,e){var f=false;var h=null;var j=0;g=Ext.getDom(g);this.attributes=l||{};this.duration=k||1;this.method=e||Ext.lib.Easing.easeNone;this.useSeconds=true;this.currentFrame=0;this.totalFrames=Ext.lib.AnimMgr.fps;this.getEl=function(){return g};this.isAnimated=function(){return f};this.getStartTime=function(){return h};this.runtimeAttributes={};this.animate=function(){if(this.isAnimated()){return false}this.currentFrame=0;this.totalFrames=(this.useSeconds)?Math.ceil(Ext.lib.AnimMgr.fps*this.duration):this.duration;Ext.lib.AnimMgr.registerElement(this)};this.stop=function(o){if(o){this.currentFrame=this.totalFrames;this._onTween.fire()}Ext.lib.AnimMgr.stop(this)};var n=function(){this.onStart.fire();this.runtimeAttributes={};for(var o in this.attributes){this.setRuntimeAttribute(o)}f=true;j=0;h=new Date()};var m=function(){var q={duration:new Date()-this.getStartTime(),currentFrame:this.currentFrame};q.toString=function(){return("duration: "+q.duration+", currentFrame: "+q.currentFrame)};this.onTween.fire(q);var p=this.runtimeAttributes;for(var o in p){this.setAttribute(o,this.doMethod(o,p[o].start,p[o].end),p[o].unit)}j+=1};var i=function(){var o=(new Date()-h)/1000;var p={duration:o,frames:j,fps:j/o};p.toString=function(){return("duration: "+p.duration+", frames: "+p.frames+", fps: "+p.fps)};f=false;j=0;this.onComplete.fire(p)};this._onStart=new Ext.util.Event(this);this.onStart=new Ext.util.Event(this);this.onTween=new Ext.util.Event(this);this._onTween=new Ext.util.Event(this);this.onComplete=new Ext.util.Event(this);this._onComplete=new Ext.util.Event(this);this._onStart.addListener(n);this._onTween.addListener(m);this._onComplete.addListener(i)}};Ext.lib.AnimMgr=new function(){var g=null;var f=[];var e=0;this.fps=1000;this.delay=1;this.registerElement=function(j){f[f.length]=j;e+=1;j._onStart.fire();this.start()};this.unRegister=function(k,j){k._onComplete.fire();j=j||i(k);if(j!=-1){f.splice(j,1)}e-=1;if(e<=0){this.stop()}};this.start=function(){if(g===null){g=setInterval(this.run,this.delay)}};this.stop=function(l){if(!l){clearInterval(g);for(var k=0,j=f.length;k<j;++k){if(f[0].isAnimated()){this.unRegister(f[0],0)}}f=[];g=null;e=0}else{this.unRegister(l)}};this.run=function(){for(var l=0,j=f.length;l<j;++l){var k=f[l];if(!k||!k.isAnimated()){continue}if(k.currentFrame<k.totalFrames||k.totalFrames===null){k.currentFrame+=1;if(k.useSeconds){h(k)}k._onTween.fire()}else{Ext.lib.AnimMgr.stop(k,l)}}};var i=function(l){for(var k=0,j=f.length;k<j;++k){if(f[k]==l){return k}}return -1};var h=function(k){var n=k.totalFrames;var m=k.currentFrame;var l=(k.currentFrame*k.duration*1000/k.totalFrames);var j=(new Date()-k.getStartTime());var o=0;if(j<k.duration*1000){o=Math.round((j/l-1)*k.currentFrame)}else{o=n-(m+1)}if(o>0&&isFinite(o)){if(k.currentFrame+o>=n){o=n-(m+1)}k.currentFrame+=o}}};Ext.lib.Bezier=new function(){this.getPosition=function(k,h){var l=k.length;var g=[];for(var f=0;f<l;++f){g[f]=[k[f][0],k[f][1]]}for(var e=1;e<l;++e){for(f=0;f<l-e;++f){g[f][0]=(1-h)*g[f][0]+h*g[parseInt(f+1,10)][0];g[f][1]=(1-h)*g[f][1]+h*g[parseInt(f+1,10)][1]}}return[g[0][0],g[0][1]]}};(function(){Ext.lib.ColorAnim=function(i,h,j,k){Ext.lib.ColorAnim.superclass.constructor.call(this,i,h,j,k)};Ext.extend(Ext.lib.ColorAnim,Ext.lib.AnimBase);var f=Ext.lib;var g=f.ColorAnim.superclass;var e=f.ColorAnim.prototype;e.toString=function(){var h=this.getEl();var i=h.id||h.tagName;return("ColorAnim "+i)};e.patterns.color=/color$/i;e.patterns.rgb=/^rgb\(([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\)$/i;e.patterns.hex=/^#?([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})$/i;e.patterns.hex3=/^#?([0-9A-F]{1})([0-9A-F]{1})([0-9A-F]{1})$/i;e.patterns.transparent=/^transparent|rgba\(0, 0, 0, 0\)$/;e.parseColor=function(h){if(h.length==3){return h}var i=this.patterns.hex.exec(h);if(i&&i.length==4){return[parseInt(i[1],16),parseInt(i[2],16),parseInt(i[3],16)]}i=this.patterns.rgb.exec(h);if(i&&i.length==4){return[parseInt(i[1],10),parseInt(i[2],10),parseInt(i[3],10)]}i=this.patterns.hex3.exec(h);if(i&&i.length==4){return[parseInt(i[1]+i[1],16),parseInt(i[2]+i[2],16),parseInt(i[3]+i[3],16)]}return null};e.getAttribute=function(h){var j=this.getEl();if(this.patterns.color.test(h)){var k=c(j).getStyle(h);if(this.patterns.transparent.test(k)){var i=j.parentNode;k=c(i).getStyle(h);while(i&&this.patterns.transparent.test(k)){i=i.parentNode;k=c(i).getStyle(h);if(i.tagName.toUpperCase()=="HTML"){k="#fff"}}}}else{k=g.getAttribute.call(this,h)}return k};e.doMethod=function(j,n,k){var m;if(this.patterns.color.test(j)){m=[];for(var l=0,h=n.length;l<h;++l){m[l]=g.doMethod.call(this,j,n[l],k[l])}m="rgb("+Math.floor(m[0])+","+Math.floor(m[1])+","+Math.floor(m[2])+")"}else{m=g.doMethod.call(this,j,n,k)}return m};e.setRuntimeAttribute=function(j){g.setRuntimeAttribute.call(this,j);if(this.patterns.color.test(j)){var l=this.attributes;var n=this.parseColor(this.runtimeAttributes[j].start);var k=this.parseColor(this.runtimeAttributes[j].end);if(typeof l[j]["to"]==="undefined"&&typeof l[j]["by"]!=="undefined"){k=this.parseColor(l[j].by);for(var m=0,h=n.length;m<h;++m){k[m]=n[m]+k[m]}}this.runtimeAttributes[j].start=n;this.runtimeAttributes[j].end=k}}})();Ext.lib.Easing={easeNone:function(f,e,h,g){return h*f/g+e},easeIn:function(f,e,h,g){return h*(f/=g)*f+e},easeOut:function(f,e,h,g){return -h*(f/=g)*(f-2)+e},easeBoth:function(f,e,h,g){if((f/=g/2)<1){return h/2*f*f+e}return -h/2*((--f)*(f-2)-1)+e},easeInStrong:function(f,e,h,g){return h*(f/=g)*f*f*f+e},easeOutStrong:function(f,e,h,g){return -h*((f=f/g-1)*f*f*f-1)+e},easeBothStrong:function(f,e,h,g){if((f/=g/2)<1){return h/2*f*f*f*f+e}return -h/2*((f-=2)*f*f*f-2)+e},elasticIn:function(g,e,k,j,f,i){if(g==0){return e}if((g/=j)==1){return e+k}if(!i){i=j*0.3}if(!f||f<Math.abs(k)){f=k;var h=i/4}else{var h=i/(2*Math.PI)*Math.asin(k/f)}return -(f*Math.pow(2,10*(g-=1))*Math.sin((g*j-h)*(2*Math.PI)/i))+e},elasticOut:function(g,e,k,j,f,i){if(g==0){return e}if((g/=j)==1){return e+k}if(!i){i=j*0.3}if(!f||f<Math.abs(k)){f=k;var h=i/4}else{var h=i/(2*Math.PI)*Math.asin(k/f)}return f*Math.pow(2,-10*g)*Math.sin((g*j-h)*(2*Math.PI)/i)+k+e},elasticBoth:function(g,e,k,j,f,i){if(g==0){return e}if((g/=j/2)==2){return e+k}if(!i){i=j*(0.3*1.5)}if(!f||f<Math.abs(k)){f=k;var h=i/4}else{var h=i/(2*Math.PI)*Math.asin(k/f)}if(g<1){return -0.5*(f*Math.pow(2,10*(g-=1))*Math.sin((g*j-h)*(2*Math.PI)/i))+e}return f*Math.pow(2,-10*(g-=1))*Math.sin((g*j-h)*(2*Math.PI)/i)*0.5+k+e},backIn:function(f,e,i,h,g){if(typeof g=="undefined"){g=1.70158}return i*(f/=h)*f*((g+1)*f-g)+e},backOut:function(f,e,i,h,g){if(typeof g=="undefined"){g=1.70158}return i*((f=f/h-1)*f*((g+1)*f+g)+1)+e},backBoth:function(f,e,i,h,g){if(typeof g=="undefined"){g=1.70158}if((f/=h/2)<1){return i/2*(f*f*(((g*=(1.525))+1)*f-g))+e}return i/2*((f-=2)*f*(((g*=(1.525))+1)*f+g)+2)+e},bounceIn:function(f,e,h,g){return h-Ext.lib.Easing.bounceOut(g-f,0,h,g)+e},bounceOut:function(f,e,h,g){if((f/=g)<(1/2.75)){return h*(7.5625*f*f)+e}else{if(f<(2/2.75)){return h*(7.5625*(f-=(1.5/2.75))*f+0.75)+e}else{if(f<(2.5/2.75)){return h*(7.5625*(f-=(2.25/2.75))*f+0.9375)+e}}}return h*(7.5625*(f-=(2.625/2.75))*f+0.984375)+e},bounceBoth:function(f,e,h,g){if(f<g/2){return Ext.lib.Easing.bounceIn(f*2,0,h,g)*0.5+e}return Ext.lib.Easing.bounceOut(f*2-g,0,h,g)*0.5+h*0.5+e}};(function(){Ext.lib.Motion=function(k,j,l,m){if(k){Ext.lib.Motion.superclass.constructor.call(this,k,j,l,m)}};Ext.extend(Ext.lib.Motion,Ext.lib.ColorAnim);var h=Ext.lib;var i=h.Motion.superclass;var f=h.Motion.prototype;f.toString=function(){var j=this.getEl();var k=j.id||j.tagName;return("Motion "+k)};f.patterns.points=/^points$/i;f.setAttribute=function(j,l,k){if(this.patterns.points.test(j)){k=k||"px";i.setAttribute.call(this,"left",l[0],k);i.setAttribute.call(this,"top",l[1],k)}else{i.setAttribute.call(this,j,l,k)}};f.getAttribute=function(j){if(this.patterns.points.test(j)){var k=[i.getAttribute.call(this,"left"),i.getAttribute.call(this,"top")]}else{k=i.getAttribute.call(this,j)}return k};f.doMethod=function(j,n,k){var m=null;if(this.patterns.points.test(j)){var l=this.method(this.currentFrame,0,100,this.totalFrames)/100;m=h.Bezier.getPosition(this.runtimeAttributes[j],l)}else{m=i.doMethod.call(this,j,n,k)}return m};f.setRuntimeAttribute=function(s){if(this.patterns.points.test(s)){var k=this.getEl();var m=this.attributes;var j;var o=m.points["control"]||[];var l;var p,r;if(o.length>0&&!Ext.isArray(o[0])){o=[o]}else{var n=[];for(p=0,r=o.length;p<r;++p){n[p]=o[p]}o=n}Ext.fly(k,"_anim").position();if(g(m.points["from"])){Ext.lib.Dom.setXY(k,m.points["from"])}else{Ext.lib.Dom.setXY(k,Ext.lib.Dom.getXY(k))}j=this.getAttribute("points");if(g(m.points["to"])){l=e.call(this,m.points["to"],j);var q=Ext.lib.Dom.getXY(this.getEl());for(p=0,r=o.length;p<r;++p){o[p]=e.call(this,o[p],j)}}else{if(g(m.points["by"])){l=[j[0]+m.points["by"][0],j[1]+m.points["by"][1]];for(p=0,r=o.length;p<r;++p){o[p]=[j[0]+o[p][0],j[1]+o[p][1]]}}}this.runtimeAttributes[s]=[j];if(o.length>0){this.runtimeAttributes[s]=this.runtimeAttributes[s].concat(o)}this.runtimeAttributes[s][this.runtimeAttributes[s].length]=l}else{i.setRuntimeAttribute.call(this,s)}};var e=function(j,l){var k=Ext.lib.Dom.getXY(this.getEl());j=[j[0]-k[0]+l[0],j[1]-k[1]+l[1]];return j};var g=function(j){return(typeof j!=="undefined")}})();(function(){Ext.lib.Scroll=function(i,h,j,k){if(i){Ext.lib.Scroll.superclass.constructor.call(this,i,h,j,k)}};Ext.extend(Ext.lib.Scroll,Ext.lib.ColorAnim);var f=Ext.lib;var g=f.Scroll.superclass;var e=f.Scroll.prototype;e.toString=function(){var h=this.getEl();var i=h.id||h.tagName;return("Scroll "+i)};e.doMethod=function(h,k,i){var j=null;if(h=="scroll"){j=[this.method(this.currentFrame,k[0],i[0]-k[0],this.totalFrames),this.method(this.currentFrame,k[1],i[1]-k[1],this.totalFrames)]}else{j=g.doMethod.call(this,h,k,i)}return j};e.getAttribute=function(h){var j=null;var i=this.getEl();if(h=="scroll"){j=[i.scrollLeft,i.scrollTop]}else{j=g.getAttribute.call(this,h)}return j};e.setAttribute=function(h,k,j){var i=this.getEl();if(h=="scroll"){i.scrollLeft=k[0];i.scrollTop=k[1]}else{g.setAttribute.call(this,h,k,j)}}})()})();
diff --git a/static/extjs/resources/css/README.txt b/static/extjs/resources/css/README.txt
new file mode 100644
index 00000000..7eaae440
--- /dev/null
+++ b/static/extjs/resources/css/README.txt
@@ -0,0 +1,3 @@
+2006-11-21 jvs:
+ext-all.css contains all of the other css files combined and stripped of comments (except themes).
+
diff --git a/static/extjs/resources/css/borders.css b/static/extjs/resources/css/borders.css
new file mode 100644
index 00000000..610b103e
--- /dev/null
+++ b/static/extjs/resources/css/borders.css
@@ -0,0 +1,61 @@
+/*
+ * Ext JS Library 2.2.1
+ * Copyright(c) 2006-2009, Ext JS, LLC.
+ * licensing@extjs.com
+ * 
+ * http://extjs.com/license
+ */
+
+.x-panel-noborder .x-panel-body-noborder {
+    border-width:0;
+}
+
+.x-panel-noborder .x-panel-header-noborder {
+    border-width:0;
+    border-bottom:1px solid #99bbe8;
+}
+
+.x-panel-noborder .x-panel-tbar-noborder .x-toolbar {
+    border-width:0;
+    border-bottom:1px solid #99bbe8;
+}
+
+.x-panel-noborder .x-panel-bbar-noborder .x-toolbar {
+    border-width:0;
+    border-top:1px solid #99bbe8;
+}
+
+.x-window-noborder .x-window-mc {
+    border-width:0;
+}
+
+.x-window-plain .x-window-body-noborder {
+    border-width:0;
+}
+
+.x-tab-panel-noborder .x-tab-panel-body-noborder {
+	border-width:0;
+}
+
+.x-tab-panel-noborder .x-tab-panel-header-noborder {
+	border-top-width:0;
+	border-left-width:0;
+	border-right-width:0;
+}
+
+.x-tab-panel-noborder .x-tab-panel-footer-noborder {
+	border-bottom-width:0;
+	border-left-width:0;
+	border-right-width:0;
+}
+
+
+.x-tab-panel-bbar-noborder .x-toolbar {
+    border-width:0;
+    border-top:1px solid #99bbe8;
+}
+
+.x-tab-panel-tbar-noborder .x-toolbar {
+    border-width:0;
+    border-bottom:1px solid #99bbe8;
+}
\ No newline at end of file
diff --git a/static/extjs/resources/css/box.css b/static/extjs/resources/css/box.css
new file mode 100644
index 00000000..46b2f956
--- /dev/null
+++ b/static/extjs/resources/css/box.css
@@ -0,0 +1,111 @@
+/*
+ * Ext JS Library 2.2.1
+ * Copyright(c) 2006-2009, Ext JS, LLC.
+ * licensing@extjs.com
+ * 
+ * http://extjs.com/license
+ */
+
+/*
+ Creates rounded, raised boxes like on the Ext website - the markup isn't pretty:
+  <div class="x-box-blue">
+        <div class="x-box-tl"><div class="x-box-tr"><div class="x-box-tc"></div></div></div>
+        <div class="x-box-ml"><div class="x-box-mr"><div class="x-box-mc">
+            <h3>YOUR TITLE HERE (optional)</h3>
+            <div>YOUR CONTENT HERE</div>
+        </div></div></div>
+        <div class="x-box-bl"><div class="x-box-br"><div class="x-box-bc"></div></div></div>
+    </div>
+ */
+
+.x-box-tl {
+	background: transparent url(../images/default/box/corners.gif) no-repeat 0 0;
+    zoom:1;
+}
+
+.x-box-tc {
+	height: 8px;
+	background: transparent url(../images/default/box/tb.gif) repeat-x 0 0;
+	overflow: hidden;
+}
+
+.x-box-tr {
+	background: transparent url(../images/default/box/corners.gif) no-repeat right -8px;
+}
+
+.x-box-ml {
+	background: transparent url(../images/default/box/l.gif) repeat-y 0;
+	padding-left: 4px;
+	overflow: hidden;
+    zoom:1;
+}
+
+.x-box-mc {
+	background: #eee url(../images/default/box/tb.gif) repeat-x 0 -16px;
+	padding: 4px 10px;
+	font-family: "Myriad Pro","Myriad Web","Tahoma","Helvetica","Arial",sans-serif;
+	color: #393939;
+	font-size: 12px;
+}
+
+.x-box-mc h3 {
+	font-size: 14px;
+	font-weight: bold;
+	margin: 0 0 4px 0;
+    zoom:1;
+}
+
+.x-box-mr {
+	background: transparent url(../images/default/box/r.gif) repeat-y right;
+	padding-right: 4px;
+	overflow: hidden;
+}
+
+.x-box-bl {
+	background: transparent url(../images/default/box/corners.gif) no-repeat 0 -16px;
+    zoom:1;
+}
+
+.x-box-bc {
+	background: transparent url(../images/default/box/tb.gif) repeat-x 0 -8px;
+	height: 8px;
+	overflow: hidden;
+}
+
+.x-box-br {
+	background: transparent url(../images/default/box/corners.gif) no-repeat right -24px;
+}
+
+.x-box-tl, .x-box-bl {
+	padding-left: 8px;
+	overflow: hidden;
+}
+
+.x-box-tr, .x-box-br {
+	padding-right: 8px;
+	overflow: hidden;
+}
+
+.x-box-blue .x-box-bl, .x-box-blue .x-box-br, .x-box-blue .x-box-tl, .x-box-blue .x-box-tr {
+	background-image: url(../images/default/box/corners-blue.gif);
+}
+
+.x-box-blue .x-box-bc, .x-box-blue .x-box-mc, .x-box-blue .x-box-tc {
+	background-image: url(../images/default/box/tb-blue.gif);
+}
+
+.x-box-blue .x-box-mc {
+	background-color: #c3daf9;
+}
+
+.x-box-blue .x-box-mc h3 {
+	color: #17385b;
+}
+
+.x-box-blue .x-box-ml {
+	background-image: url(../images/default/box/l-blue.gif);
+}
+
+.x-box-blue .x-box-mr {
+	background-image: url(../images/default/box/r-blue.gif);
+}
\ No newline at end of file
diff --git a/static/extjs/resources/css/button.css b/static/extjs/resources/css/button.css
new file mode 100644
index 00000000..64ef6a35
--- /dev/null
+++ b/static/extjs/resources/css/button.css
@@ -0,0 +1,161 @@
+/*
+ * Ext JS Library 2.2.1
+ * Copyright(c) 2006-2009, Ext JS, LLC.
+ * licensing@extjs.com
+ * 
+ * http://extjs.com/license
+ */
+
+.x-btn{
+	font:normal 11px tahoma, verdana, helvetica;
+	cursor:pointer;
+	white-space: nowrap;
+}
+.x-btn button{
+    border:0 none;
+    background:transparent;
+    font:normal 11px tahoma,verdana,helvetica;
+    padding-left:3px;
+    padding-right:3px;
+    cursor:pointer;
+    margin:0;
+    overflow:visible;
+    width:auto;
+    -moz-outline:0 none;
+    outline:0 none;
+}
+* html .ext-ie .x-btn button {
+    width:1px;
+}
+.ext-gecko .x-btn button {
+    padding-left:0;
+    padding-right:0;
+}
+.ext-ie .x-btn button {
+    padding-top:2px;
+}
+/*
+ Predefined css class for buttons with only icon. Add this class (x-btn-icon) and a class with a background-image
+ to your button for a button with just an icon.
+ e.g.
+ .my-class .x-btn-text { background-image: url(foo.gif); }
+ */
+ 
+.x-btn-icon .x-btn-center .x-btn-text{
+	background-position: center;
+	background-repeat: no-repeat;
+	height: 16px;
+	width: 16px;
+	cursor:pointer;
+	white-space: nowrap;
+    padding:0;
+}
+.x-btn-icon .x-btn-center{
+	padding:1px;
+}
+.x-btn em {
+    font-style:normal;
+    font-weight:normal;
+}
+/*
+ Button class for icon and text. Add this class (x-btn-text-icon) and a class with a background-image
+ to your button for both text and icon. 
+*/
+
+.x-btn-text-icon .x-btn-center .x-btn-text{
+	background-position: 0 2px;
+	background-repeat: no-repeat;
+	padding-left:18px;
+	padding-top:3px;
+	padding-bottom:2px;
+    padding-right:0;
+}
+.ext-gecko3 .x-btn-text-icon .x-btn-center .x-btn-text {
+    padding-top:2px;
+}
+.x-btn-left, .x-btn-right{
+	font-size:1px;
+    line-height:1px;
+}
+.x-btn-left{
+	width:3px;
+	height:21px;
+	background:url(../images/default/button/btn-sprite.gif) no-repeat 0 0;
+}
+.x-btn-right{
+	width:3px;
+	height:21px;
+	background:url(../images/default/button/btn-sprite.gif) no-repeat 0 -21px;
+}
+.x-btn-left i, .x-btn-right i{
+	display:block;
+    width:3px;
+    overflow:hidden;
+    font-size:1px;
+    line-height:1px;
+}
+.x-btn-center{
+	background:url(../images/default/button/btn-sprite.gif) repeat-x 0 -42px;
+	vertical-align: middle;
+	text-align:center;
+	padding:0 5px;
+	cursor:pointer;
+	white-space:nowrap;
+}
+.x-btn-over .x-btn-left{
+	background-position:0 -63px;
+}
+.x-btn-over .x-btn-right{
+	background-position:0 -84px;
+}
+.x-btn-over .x-btn-center{
+	background-position:0 -105px;
+}
+.x-btn-click .x-btn-center, .x-btn-menu-active .x-btn-center{
+	background-position:0 -126px;
+}
+.x-btn-disabled *{
+	color:gray !important;
+	cursor:default !important;
+}
+.x-btn-menu-text-wrap .x-btn-center {
+	padding:0 3px;
+}
+.ext-gecko .x-btn-menu-text-wrap .x-btn-center {
+	padding:0 1px;
+}
+.x-btn-menu-arrow-wrap .x-btn-center {
+    padding:0;
+}
+.x-btn-menu-arrow-wrap .x-btn-center button {
+	width:12px !important;
+    height:21px;
+    padding:0 !important;
+    display:block;
+    background:transparent url(../images/default/button/btn-arrow.gif) no-repeat left 3px;
+}
+.x-btn-with-menu  .x-btn-center {
+    padding-right:2px !important;
+}
+.x-btn-with-menu  .x-btn-center em {
+    display:block;
+    background:transparent url(../images/default/toolbar/btn-arrow.gif) no-repeat right 0;
+	padding-right:10px;
+}
+
+.x-btn-text-icon .x-btn-with-menu .x-btn-center em {
+    display:block;
+    background:transparent url(../images/default/toolbar/btn-arrow.gif) no-repeat right 3px;
+	padding-right:10px;
+}
+
+/* Toggle button styles */
+.x-btn-pressed .x-btn-left{
+	background: url(../images/default/button/btn-sprite.gif) no-repeat 0 -63px;
+}
+.x-btn-pressed .x-btn-right{
+	background: url(../images/default/button/btn-sprite.gif) no-repeat 0 -84px;
+}
+.x-btn-pressed .x-btn-center{
+	background: url(../images/default/button/btn-sprite.gif) repeat-x 0 -126px;
+}
\ No newline at end of file
diff --git a/static/extjs/resources/css/combo.css b/static/extjs/resources/css/combo.css
new file mode 100644
index 00000000..875d3a1e
--- /dev/null
+++ b/static/extjs/resources/css/combo.css
@@ -0,0 +1,55 @@
+/*
+ * Ext JS Library 2.2.1
+ * Copyright(c) 2006-2009, Ext JS, LLC.
+ * licensing@extjs.com
+ * 
+ * http://extjs.com/license
+ */
+
+.x-combo-list {
+    border:1px solid #98c0f4;
+    background:#ddecfe;
+    zoom:1;
+    overflow:hidden;
+}
+.x-combo-list-inner {
+    overflow:auto;
+    background:white;
+    position:relative; /* for calculating scroll offsets */
+    zoom:1;
+    overflow-x:hidden;
+}
+.x-combo-list-hd {
+    font:bold 11px tahoma, arial, helvetica, sans-serif;
+    color:#15428b;
+    background-image: url(../images/default/layout/panel-title-light-bg.gif);
+    border-bottom:1px solid #98c0f4;
+    padding:3px;
+}
+.x-resizable-pinned .x-combo-list-inner {
+    border-bottom:1px solid #98c0f4;
+}
+.x-combo-list-item {
+    font:normal 12px tahoma, arial, helvetica, sans-serif;
+    padding:2px;
+    border:1px solid #fff;
+    white-space: nowrap;
+    overflow:hidden;
+    text-overflow: ellipsis;
+}
+.x-combo-list .x-combo-selected{
+	border:1px dotted #a3bae9 !important;
+    background:#DFE8F6;
+    cursor:pointer;
+}
+.x-combo-noedit{
+    cursor:pointer;
+}
+.x-combo-list .x-toolbar {
+    border-top:1px solid #98c0f4;
+    border-bottom:0 none;
+}
+
+.x-combo-list-small .x-combo-list-item {
+    font:normal 11px tahoma, arial, helvetica, sans-serif;
+}
\ No newline at end of file
diff --git a/static/extjs/resources/css/core.css b/static/extjs/resources/css/core.css
new file mode 100644
index 00000000..489ca398
--- /dev/null
+++ b/static/extjs/resources/css/core.css
@@ -0,0 +1,317 @@
+/*
+ * Ext JS Library 2.2.1
+ * Copyright(c) 2006-2009, Ext JS, LLC.
+ * licensing@extjs.com
+ * 
+ * http://extjs.com/license
+ */
+
+.ext-el-mask {
+    z-index: 100;
+    position: absolute;
+    top:0;
+    left:0;
+    -moz-opacity: 0.5;
+    opacity: .50;
+    filter: alpha(opacity=50);
+    background-color: #CCC;
+    width: 100%;
+    height: 100%;
+    zoom: 1;
+}
+.ext-el-mask-msg {
+    z-index: 20001;
+    position: absolute;
+    top: 0;
+    left: 0;
+    border:1px solid #6593cf;
+    background: #c3daf9 url(../images/default/box/tb-blue.gif) repeat-x 0 -16px;
+    padding:2px;
+}
+.ext-el-mask-msg div {
+    padding:5px 10px 5px 10px;
+    background: #eee;
+    border:1px solid #a3bad9;
+    color:#222;
+    font:normal 11px tahoma, arial, helvetica, sans-serif;
+    cursor:wait;
+}
+
+.ext-shim {
+    position:absolute;
+    visibility:hidden;
+    left:0;
+    top:0;
+    overflow:hidden;
+}
+.ext-ie .ext-shim {
+    filter: alpha(opacity=0);
+}
+.ext-ie6 .ext-shim {
+    margin-left: 5px;
+    margin-top: 3px;
+}
+
+.x-mask-loading div {
+    padding:5px 10px 5px 25px;
+    background: #fbfbfb url( '../images/default/grid/loading.gif' ) no-repeat 5px 5px;
+    line-height: 16px;
+}
+/* class for hiding elements without using display:none */
+.x-hidden, .x-hide-offsets {
+    position:absolute;
+    left:-10000px;
+    top:-10000px;
+    visibility:hidden;
+}
+.x-hide-display {
+    display:none !important;
+}
+
+.x-hide-visibility {
+    visibility:hidden !important;
+}
+
+.x-masked {
+    overflow: hidden !important;
+}
+.x-masked-relative {
+    position: relative !important;
+}
+
+.x-masked select, .x-masked object, .x-masked embed {
+    visibility: hidden;
+}
+
+.x-layer {
+    visibility: hidden;
+}
+
+.x-unselectable, .x-unselectable * {
+    -moz-user-select: none;
+    -khtml-user-select: none;
+}
+
+.x-repaint {
+    zoom: 1;
+    background-color: transparent;
+    -moz-outline: none;
+}
+
+.x-item-disabled {
+    color: gray;
+    cursor: default;
+    opacity: .6;
+    -moz-opacity: .6;
+    filter: alpha(opacity=60);
+}
+
+.x-item-disabled * {
+    color: gray !important;
+    cursor: default !important;
+}
+
+.x-splitbar-proxy {
+    position: absolute;
+    visibility: hidden;
+    z-index: 20001;
+    background: #aaa;
+    zoom: 1;
+    line-height: 1px;
+    font-size: 1px;
+    overflow: hidden;
+}
+
+.x-splitbar-h, .x-splitbar-proxy-h {
+    cursor: e-resize;
+    cursor: col-resize;
+}
+
+.x-splitbar-v, .x-splitbar-proxy-v {
+    cursor: s-resize;
+    cursor: row-resize;
+}
+
+.x-color-palette {
+    width: 150px;
+    height: 92px;
+    cursor: pointer;
+}
+
+.x-color-palette a {
+    border: 1px solid #fff;
+    float: left;
+    padding: 2px;
+    text-decoration: none;
+    -moz-outline: 0 none;
+    outline: 0 none;
+    cursor: pointer;
+}
+
+.x-color-palette a:hover, .x-color-palette a.x-color-palette-sel {
+    border: 1px solid #8BB8F3;
+    background: #deecfd;
+}
+
+.x-color-palette em {
+    display: block;
+    border: 1px solid #ACA899;
+}
+
+.x-color-palette em span {
+    cursor: pointer;
+    display: block;
+    height: 10px;
+    line-height: 10px;
+    width: 10px;
+}
+
+.x-ie-shadow {
+    display: none;
+    position: absolute;
+    overflow: hidden;
+    left:0;
+    top:0;
+    background:#777;
+    zoom:1;
+}
+
+.x-shadow {
+    display: none;
+    position: absolute;
+    overflow: hidden;
+    left:0;
+    top:0;
+}
+
+.x-shadow * {
+    overflow: hidden;
+}
+
+.x-shadow * {
+    padding: 0;
+    border: 0;
+    margin: 0;
+    clear: none;
+    zoom: 1;
+}
+
+/* top  bottom */
+.x-shadow .xstc, .x-shadow .xsbc {
+    height: 6px;
+    float: left;
+}
+
+/* corners */
+.x-shadow .xstl, .x-shadow .xstr, .x-shadow .xsbl, .x-shadow .xsbr {
+    width: 6px;
+    height: 6px;
+    float: left;
+}
+
+/* sides */
+.x-shadow .xsc {
+    width: 100%;
+}
+
+.x-shadow .xsml, .x-shadow .xsmr {
+    width: 6px;
+    float: left;
+    height: 100%;
+}
+
+.x-shadow .xsmc {
+    float: left;
+    height: 100%;
+    background: transparent url( ../images/default/shadow-c.png );
+}
+
+.x-shadow .xst, .x-shadow .xsb {
+    height: 6px;
+    overflow: hidden;
+    width: 100%;
+}
+
+.x-shadow .xsml {
+    background: transparent url( ../images/default/shadow-lr.png ) repeat-y 0 0;
+}
+
+.x-shadow .xsmr {
+    background: transparent url( ../images/default/shadow-lr.png ) repeat-y -6px 0;
+}
+
+.x-shadow .xstl {
+    background: transparent url( ../images/default/shadow.png ) no-repeat 0 0;
+}
+
+.x-shadow .xstc {
+    background: transparent url( ../images/default/shadow.png ) repeat-x 0 -30px;
+}
+
+.x-shadow .xstr {
+    background: transparent url( ../images/default/shadow.png ) repeat-x 0 -18px;
+}
+
+.x-shadow .xsbl {
+    background: transparent url( ../images/default/shadow.png ) no-repeat 0 -12px;
+}
+
+.x-shadow .xsbc {
+    background: transparent url( ../images/default/shadow.png ) repeat-x 0 -36px;
+}
+
+.x-shadow .xsbr {
+    background: transparent url( ../images/default/shadow.png ) repeat-x 0 -6px;
+}
+
+.loading-indicator {
+    font-size: 11px;
+    background-image: url(../images/default/grid/loading.gif);
+    background-repeat: no-repeat;
+    background-position: left;
+    padding-left: 20px;
+    line-height: 16px;
+    margin: 3px;
+}
+
+.x-text-resize {
+    position: absolute;
+    left: -1000px;
+    top: -1000px;
+    visibility: hidden;
+    zoom: 1;
+}
+
+.x-drag-overlay {
+    width: 100%;
+    height: 100%;
+    display: none;
+    position: absolute;
+    left: 0;
+    top: 0;
+    background-image:url(../images/default/s.gif);
+    z-index: 20000;
+}
+
+.x-clear {
+    clear:both;
+    height:0;
+    overflow:hidden;
+    line-height:0;
+    font-size:0;
+}
+
+
+.x-spotlight {
+    z-index: 8999;
+    position: absolute;
+    top:0;
+    left:0;
+    -moz-opacity: 0.5;
+    opacity: .50;
+    filter: alpha(opacity=50);
+    background-color: #CCC;
+    width:0;
+    height:0;
+    zoom: 1;
+}
diff --git a/static/extjs/resources/css/date-picker.css b/static/extjs/resources/css/date-picker.css
new file mode 100644
index 00000000..a3c2fbc7
--- /dev/null
+++ b/static/extjs/resources/css/date-picker.css
@@ -0,0 +1,247 @@
+/*
+ * Ext JS Library 2.2.1
+ * Copyright(c) 2006-2009, Ext JS, LLC.
+ * licensing@extjs.com
+ * 
+ * http://extjs.com/license
+ */
+
+.x-date-picker {
+    border: 1px solid #1b376c;
+    border-top:0 none;
+    background:#fff;
+	position:relative;
+}
+.x-date-picker a {
+    -moz-outline:0 none;
+    outline:0 none;
+}
+.x-date-inner, .x-date-inner td, .x-date-inner th{
+    border-collapse:separate;
+}
+.x-date-middle,.x-date-left,.x-date-right {
+	background: url(../images/default/shared/hd-sprite.gif) repeat-x 0 -83px;
+	color:#FFF;
+	font:bold 11px "sans serif", tahoma, verdana, helvetica;
+	overflow:hidden;
+}
+
+.x-date-middle .x-btn-left,.x-date-middle .x-btn-center,.x-date-middle .x-btn-right{
+	background:transparent !important;
+    vertical-align:middle;
+}
+.x-date-middle .x-btn .x-btn-text {
+    color:#fff;
+}
+.x-date-middle .x-btn-with-menu  .x-btn-center em {
+    background:transparent url(../images/default/toolbar/btn-arrow-light.gif) no-repeat right 0;
+}
+.x-date-right, .x-date-left {
+    width:18px;
+}
+.x-date-right{
+    text-align:right;
+}
+.x-date-middle {
+    padding-top:2px;padding-bottom:2px;
+    width:130px; /* FF3 */
+}
+.x-date-right a, .x-date-left a{
+    display:block;
+    width:16px;
+	height:16px;
+	background-position: center;
+	background-repeat: no-repeat;
+	cursor:pointer;
+    -moz-opacity: 0.6;
+    opacity:.6;
+    filter: alpha(opacity=60);
+}
+.x-date-right a:hover, .x-date-left a:hover{
+    -moz-opacity: 1;
+    opacity:1;
+    filter: alpha(opacity=100);
+}
+.x-date-right a {
+    background-image: url(../images/default/shared/right-btn.gif);
+    margin-right:2px;
+    text-decoration:none !important;
+}
+.x-date-left a{
+	background-image: url(../images/default/shared/left-btn.gif);
+    margin-left:2px;
+    text-decoration:none !important;
+}
+table.x-date-inner {
+    width:100%;
+    table-layout:fixed;
+}
+.x-date-inner th {
+    width:25px;
+}
+.x-date-inner th {
+    background: #dfecfb url(../images/default/shared/glass-bg.gif) repeat-x left top;
+    text-align:right !important;
+	border-bottom: 1px solid #a3bad9;
+    font:normal 10px arial, helvetica,tahoma,sans-serif;
+	color:#233d6d;
+	cursor:default;
+    padding:0;
+    border-collapse:separate;
+}
+.x-date-inner th span {
+    display:block;
+    padding:2px;
+    padding-right:7px;
+}
+.x-date-inner td {
+    border: 1px solid #fff;
+	text-align:right;
+    padding:0;
+}
+.x-date-inner a {
+    padding:2px 5px;
+    display:block;
+    font:normal 11px arial, helvetica,tahoma,sans-serif;
+	text-decoration:none;
+    color:black;
+    text-align:right;
+    zoom:1;
+}
+.x-date-inner .x-date-active{
+	cursor:pointer;
+	color:black;
+}
+.x-date-inner .x-date-selected a{
+	background: #dfecfb url(../images/default/shared/glass-bg.gif) repeat-x left top;
+	border:1px solid #8db2e3;
+   padding:1px 4px;
+}
+.x-date-inner .x-date-today a{
+	border: 1px solid darkred;
+    padding:1px 4px;
+}
+.x-date-inner .x-date-selected span{
+    font-weight:bold;
+}
+.x-date-inner .x-date-prevday a,.x-date-inner .x-date-nextday a {
+	color:#aaaaaa;
+    text-decoration:none !important;
+}
+.x-date-bottom {
+    padding:4px;
+    border-top: 1px solid #a3bad9;
+    background: #dfecfb url(../images/default/shared/glass-bg.gif) repeat-x left top;
+}
+
+.x-date-inner a:hover, .x-date-inner .x-date-disabled a:hover{
+    text-decoration:none !important;
+    color:black;
+    background: #ddecfe;
+}
+
+.x-date-inner .x-date-disabled a {
+	cursor:default;
+	background:#eeeeee;
+	color:#bbbbbb;
+}
+.x-date-mmenu{
+    background:#eeeeee !important;
+}
+.x-date-mmenu .x-menu-item {
+	font-size:10px;
+	padding:1px 24px 1px 4px;
+	white-space: nowrap;
+	color:#000;
+}
+.x-date-mmenu .x-menu-item .x-menu-item-icon {
+    width:10px;height:10px;margin-right:5px;
+    background-position:center -4px !important;
+}
+
+.x-date-mp {
+	position:absolute;
+	left:0;
+	top:0;
+	background:white;
+	display:none;
+}
+.x-date-mp td {
+    padding:2px;
+	font:normal 11px arial, helvetica,tahoma,sans-serif;
+}
+td.x-date-mp-month,td.x-date-mp-year,td.x-date-mp-ybtn {
+   border: 0 none;
+	text-align:center;
+	vertical-align: middle;
+	width:25%;
+}
+.x-date-mp-ok {
+	margin-right:3px;
+}
+.x-date-mp-btns button {
+	text-decoration:none;
+	text-align:center;
+	text-decoration:none !important;
+	background:#083772;
+	color:white;
+	border:1px solid;
+	border-color: #3366cc #000055 #000055 #3366cc;
+	padding:1px 3px 1px;
+	font:normal 11px arial, helvetica,tahoma,sans-serif;
+	cursor:pointer;
+}
+.x-date-mp-btns {
+	background: #dfecfb url(../images/default/shared/glass-bg.gif) repeat-x left top;
+}
+.x-date-mp-btns td {
+	border-top: 1px solid #c5d2df;
+   text-align:center;
+}
+td.x-date-mp-month a,td.x-date-mp-year a {
+	display:block;
+	padding:2px 4px;
+	text-decoration:none;
+	text-align:center;
+	color:#15428b;
+}
+
+td.x-date-mp-month a:hover,td.x-date-mp-year a:hover {
+	color:#15428b;
+	text-decoration:none;
+	cursor:pointer;
+	background: #ddecfe;
+}
+
+td.x-date-mp-sel a {
+	padding:1px 3px;
+	background: #dfecfb url(../images/default/shared/glass-bg.gif) repeat-x left top;
+	border:1px solid #8db2e3;
+}
+.x-date-mp-ybtn a {
+    overflow:hidden;
+    width:15px;
+    height:15px;
+    cursor:pointer;
+    background:transparent url(../images/default/panel/tool-sprites.gif) no-repeat;
+    display:block;
+    margin:0 auto;
+}
+.x-date-mp-ybtn a.x-date-mp-next {
+    background-position:0 -120px;
+}
+.x-date-mp-ybtn a.x-date-mp-next:hover {
+    background-position:-15px -120px;
+}
+.x-date-mp-ybtn a.x-date-mp-prev {
+    background-position:0 -105px;
+}
+.x-date-mp-ybtn a.x-date-mp-prev:hover {
+    background-position:-15px -105px;
+}
+.x-date-mp-ybtn {
+   text-align:center;
+}
+td.x-date-mp-sep {
+   border-right:1px solid #c5d2df;
+}
\ No newline at end of file
diff --git a/static/extjs/resources/css/dd.css b/static/extjs/resources/css/dd.css
new file mode 100644
index 00000000..42bdfb75
--- /dev/null
+++ b/static/extjs/resources/css/dd.css
@@ -0,0 +1,75 @@
+/*
+ * Ext JS Library 2.2.1
+ * Copyright(c) 2006-2009, Ext JS, LLC.
+ * licensing@extjs.com
+ * 
+ * http://extjs.com/license
+ */
+
+.x-dd-drag-proxy{
+	position:absolute;
+	left:0;top:0;
+	visibility:hidden;
+	z-index:15000;
+}
+.x-dd-drag-ghost{
+	color: black;
+	font: normal 11px arial, helvetica, sans-serif;
+	-moz-opacity: 0.85;
+   opacity:.85;
+   filter: alpha(opacity=85);
+	border-top:1px solid #dddddd;
+	border-left:1px solid #dddddd;
+	border-right:1px solid #bbbbbb;
+	border-bottom:1px solid #bbbbbb;
+	padding:3px;
+	padding-left:20px;
+	background-color:white;
+	white-space:nowrap;
+}
+.x-dd-drag-repair .x-dd-drag-ghost{
+	-moz-opacity: 0.4;
+   opacity:.4;
+   filter: alpha(opacity=40);
+	border:0 none;
+	padding:0;
+	background-color:transparent;
+}
+.x-dd-drag-repair .x-dd-drop-icon{
+	visibility:hidden;
+}
+.x-dd-drop-icon{
+  position:absolute;
+	top:3px;
+	left:3px;
+	display:block;
+	width:16px;
+	height:16px;
+	background-color:transparent;
+	background-position: center;
+	background-repeat: no-repeat;
+	z-index:1;
+}
+.x-dd-drop-nodrop .x-dd-drop-icon{
+  background-image: url(../images/default/dd/drop-no.gif);
+}
+.x-dd-drop-ok .x-dd-drop-icon{
+  background-image: url(../images/default/dd/drop-yes.gif);
+}
+.x-dd-drop-ok-add .x-dd-drop-icon{
+  background-image: url(../images/default/dd/drop-add.gif);
+}
+
+
+.x-view-selector {
+    position:absolute;
+    left:0;
+    top:0;
+    width:0;
+    background:#c3daf9;
+    border:1px dotted #3399bb;
+	opacity: .5;
+    -moz-opacity: .5;
+    filter:alpha(opacity=50);
+    zoom:1;
+}
\ No newline at end of file
diff --git a/static/extjs/resources/css/debug.css b/static/extjs/resources/css/debug.css
new file mode 100644
index 00000000..42011a97
--- /dev/null
+++ b/static/extjs/resources/css/debug.css
@@ -0,0 +1,37 @@
+/*
+ * Ext JS Library 2.2.1
+ * Copyright(c) 2006-2009, Ext JS, LLC.
+ * licensing@extjs.com
+ * 
+ * http://extjs.com/license
+ */
+
+#x-debug-browser .x-tree .x-tree-node a span {
+    color:#222297;
+    font-size:11px;
+    padding-top:2px;
+    font-family:"monotype","courier new",sans-serif;
+    line-height:18px;
+}
+#x-debug-browser .x-tree a i {
+    color:#FF4545;
+    font-style:normal;
+}
+#x-debug-browser .x-tree a em {
+    color:#999;
+}
+#x-debug-browser .x-tree .x-tree-node .x-tree-selected a span{
+    background:#c3daf9;
+}
+#x-debug-browser  .x-tool-toggle {
+    background-position:0 -75px;
+}
+#x-debug-browser  .x-tool-toggle-over {
+    background-position:-15px -75px;
+}
+#x-debug-browser.x-panel-collapsed .x-tool-toggle {
+    background-position:0 -60px;
+}
+#x-debug-browser.x-panel-collapsed .x-tool-toggle-over {
+    background-position:-15px -60px;
+}
\ No newline at end of file
diff --git a/static/extjs/resources/css/dialog.css b/static/extjs/resources/css/dialog.css
new file mode 100644
index 00000000..1f58dc40
--- /dev/null
+++ b/static/extjs/resources/css/dialog.css
@@ -0,0 +1,69 @@
+/*
+ * Ext JS Library 2.2.1
+ * Copyright(c) 2006-2009, Ext JS, LLC.
+ * licensing@extjs.com
+ * 
+ * http://extjs.com/license
+ */
+
+.x-window-dlg .x-window-body {
+    border:0 none !important;
+    padding:5px 10px;
+    overflow:hidden !important;
+}
+.x-window-dlg .x-window-mc {
+    border:0 none !important;
+}
+.x-window-dlg .ext-mb-text,
+.x-window-dlg .x-window-header-text {
+    font-size:12px;
+}
+.x-window-dlg .ext-mb-input {
+    margin-top:4px;
+    width:95%;
+}
+.x-window-dlg .ext-mb-textarea {
+    margin-top:4px;
+    font:normal 12px tahoma,arial,helvetica,sans-serif;
+}
+.x-window-dlg .x-progress-wrap {
+    margin-top:4px;
+}
+.ext-ie .x-window-dlg .x-progress-wrap {
+    margin-top:6px;
+}
+.x-window-dlg .x-msg-box-wait {
+    background: transparent url(../images/default/grid/loading.gif) no-repeat left;
+    display:block;
+    width:300px;
+    padding-left:18px;
+    line-height:18px;
+}
+.x-window-dlg .ext-mb-icon {
+    float:left;
+    width:47px;
+    height:32px;
+}
+.x-window-dlg .ext-mb-icon {
+    float:left;
+    width:47px;
+    height:32px;
+}
+.ext-ie .x-window-dlg .ext-mb-icon {
+    width:44px; /* 3px IE margin issue */
+}
+.x-window-dlg .ext-mb-info {
+    background:transparent url(../images/default/window/icon-info.gif) no-repeat top left;
+}
+.x-window-dlg .ext-mb-warning {
+    background:transparent url(../images/default/window/icon-warning.gif) no-repeat top left;
+}
+.x-window-dlg .ext-mb-question {
+    background:transparent url(../images/default/window/icon-question.gif) no-repeat top left;
+}
+.x-window-dlg .ext-mb-error {
+    background:transparent url(../images/default/window/icon-error.gif) no-repeat top left;
+}
+.ext-gecko2 .ext-mb-fix-cursor {
+    overflow:auto;
+}
\ No newline at end of file
diff --git a/static/extjs/resources/css/editor.css b/static/extjs/resources/css/editor.css
new file mode 100644
index 00000000..fcbff473
--- /dev/null
+++ b/static/extjs/resources/css/editor.css
@@ -0,0 +1,66 @@
+/*
+ * Ext JS Library 2.2.1
+ * Copyright(c) 2006-2009, Ext JS, LLC.
+ * licensing@extjs.com
+ * 
+ * http://extjs.com/license
+ */
+
+.x-html-editor-wrap {
+    border:1px solid #a9bfd3;
+    background:white;
+}
+.x-html-editor-tb .x-btn-text {
+    background:transparent url(../images/default/editor/tb-sprite.gif) no-repeat;
+}
+.x-html-editor-tb .x-edit-bold .x-btn-text {
+    background-position:0 0;
+}
+.x-html-editor-tb .x-edit-italic .x-btn-text {
+    background-position:-16px 0;
+}
+.x-html-editor-tb .x-edit-underline .x-btn-text {
+    background-position:-32px 0;
+}
+.x-html-editor-tb .x-edit-forecolor .x-btn-text {
+    background-position:-160px 0;
+}
+.x-html-editor-tb .x-edit-backcolor .x-btn-text {
+    background-position:-176px 0;
+}
+.x-html-editor-tb .x-edit-justifyleft .x-btn-text {
+    background-position:-112px 0;
+}
+.x-html-editor-tb .x-edit-justifycenter .x-btn-text {
+    background-position:-128px 0;
+}
+.x-html-editor-tb .x-edit-justifyright .x-btn-text {
+    background-position:-144px 0;
+}
+.x-html-editor-tb .x-edit-insertorderedlist .x-btn-text {
+    background-position:-80px 0;
+}
+.x-html-editor-tb .x-edit-insertunorderedlist .x-btn-text {
+    background-position:-96px 0;
+}
+.x-html-editor-tb .x-edit-increasefontsize .x-btn-text {
+    background-position:-48px 0;
+}
+.x-html-editor-tb .x-edit-decreasefontsize .x-btn-text {
+    background-position:-64px 0;
+}
+.x-html-editor-tb .x-edit-sourceedit .x-btn-text {
+    background-position:-192px 0;
+}
+.x-html-editor-tb .x-edit-createlink .x-btn-text {
+    background-position:-208px 0;
+}
+
+.x-html-editor-tip .x-tip-bd .x-tip-bd-inner {
+    padding:5px;
+    padding-bottom:1px;
+}
+
+.x-html-editor-tb .x-toolbar {
+    position:static !important;
+}
\ No newline at end of file
diff --git a/static/extjs/resources/css/ext-all.css b/static/extjs/resources/css/ext-all.css
new file mode 100644
index 00000000..2ddf7f71
--- /dev/null
+++ b/static/extjs/resources/css/ext-all.css
@@ -0,0 +1,9 @@
+/*
+ * Ext JS Library 2.2.1
+ * Copyright(c) 2006-2009, Ext JS, LLC.
+ * licensing@extjs.com
+ * 
+ * http://extjs.com/license
+ */
+
+html,body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,p,blockquote,th,td{margin:0;padding:0;}img,body,html{border:0;}address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;}ol,ul{list-style:none;}caption,th{text-align:left;}h1,h2,h3,h4,h5,h6{font-size:100%;}q:before,q:after{content:'';}.ext-el-mask{z-index:100;position:absolute;top:0;left:0;-moz-opacity:.5;opacity:.50;filter:alpha(opacity=50);background-color:#CCC;width:100%;height:100%;zoom:1;}.ext-el-mask-msg{z-index:20001;position:absolute;top:0;left:0;border:1px solid #6593cf;background:#c3daf9 url(../images/default/box/tb-blue.gif) repeat-x 0 -16px;padding:2px;}.ext-el-mask-msg div{padding:5px 10px 5px 10px;background:#eee;border:1px solid #a3bad9;color:#222;font:normal 11px tahoma,arial,helvetica,sans-serif;cursor:wait;}.ext-shim{position:absolute;visibility:hidden;left:0;top:0;overflow:hidden;}.ext-ie .ext-shim{filter:alpha(opacity=0);}.ext-ie6 .ext-shim{margin-left:5px;margin-top:3px;}.x-mask-loading div{padding:5px 10px 5px 25px;background:#fbfbfb url('../images/default/grid/loading.gif') no-repeat 5px 5px;line-height:16px;}.x-hidden,.x-hide-offsets{position:absolute;left:-10000px;top:-10000px;visibility:hidden;}.x-hide-display{display:none!important;}.x-hide-visibility{visibility:hidden!important;}.x-masked{overflow:hidden!important;}.x-masked-relative{position:relative!important;}.x-masked select,.x-masked object,.x-masked embed{visibility:hidden;}.x-layer{visibility:hidden;}.x-unselectable,.x-unselectable *{-moz-user-select:none;-khtml-user-select:none;}.x-repaint{zoom:1;background-color:transparent;-moz-outline:none;}.x-item-disabled{color:gray;cursor:default;opacity:.6;-moz-opacity:.6;filter:alpha(opacity=60);}.x-item-disabled *{color:gray!important;cursor:default!important;}.x-splitbar-proxy{position:absolute;visibility:hidden;z-index:20001;background:#aaa;zoom:1;line-height:1px;font-size:1px;overflow:hidden;}.x-splitbar-h,.x-splitbar-proxy-h{cursor:e-resize;cursor:col-resize;}.x-splitbar-v,.x-splitbar-proxy-v{cursor:s-resize;cursor:row-resize;}.x-color-palette{width:150px;height:92px;cursor:pointer;}.x-color-palette a{border:1px solid #fff;float:left;padding:2px;text-decoration:none;-moz-outline:0 none;outline:0 none;cursor:pointer;}.x-color-palette a:hover,.x-color-palette a.x-color-palette-sel{border:1px solid #8BB8F3;background:#deecfd;}.x-color-palette em{display:block;border:1px solid #ACA899;}.x-color-palette em span{cursor:pointer;display:block;height:10px;line-height:10px;width:10px;}.x-ie-shadow{display:none;position:absolute;overflow:hidden;left:0;top:0;background:#777;zoom:1;}.x-shadow{display:none;position:absolute;overflow:hidden;left:0;top:0;}.x-shadow *{overflow:hidden;}.x-shadow *{padding:0;border:0;margin:0;clear:none;zoom:1;}.x-shadow .xstc,.x-shadow .xsbc{height:6px;float:left;}.x-shadow .xstl,.x-shadow .xstr,.x-shadow .xsbl,.x-shadow .xsbr{width:6px;height:6px;float:left;}.x-shadow .xsc{width:100%;}.x-shadow .xsml,.x-shadow .xsmr{width:6px;float:left;height:100%;}.x-shadow .xsmc{float:left;height:100%;background:transparent url(../images/default/shadow-c.png);}.x-shadow .xst,.x-shadow .xsb{height:6px;overflow:hidden;width:100%;}.x-shadow .xsml{background:transparent url(../images/default/shadow-lr.png) repeat-y 0 0;}.x-shadow .xsmr{background:transparent url(../images/default/shadow-lr.png) repeat-y -6px 0;}.x-shadow .xstl{background:transparent url(../images/default/shadow.png) no-repeat 0 0;}.x-shadow .xstc{background:transparent url(../images/default/shadow.png) repeat-x 0 -30px;}.x-shadow .xstr{background:transparent url(../images/default/shadow.png) repeat-x 0 -18px;}.x-shadow .xsbl{background:transparent url(../images/default/shadow.png) no-repeat 0 -12px;}.x-shadow .xsbc{background:transparent url(../images/default/shadow.png) repeat-x 0 -36px;}.x-shadow .xsbr{background:transparent url(../images/default/shadow.png) repeat-x 0 -6px;}.loading-indicator{font-size:11px;background-image:url(../images/default/grid/loading.gif);background-repeat:no-repeat;background-position:left;padding-left:20px;line-height:16px;margin:3px;}.x-text-resize{position:absolute;left:-1000px;top:-1000px;visibility:hidden;zoom:1;}.x-drag-overlay{width:100%;height:100%;display:none;position:absolute;left:0;top:0;background-image:url(../images/default/s.gif);z-index:20000;}.x-clear{clear:both;height:0;overflow:hidden;line-height:0;font-size:0;}.x-spotlight{z-index:8999;position:absolute;top:0;left:0;-moz-opacity:.5;opacity:.50;filter:alpha(opacity=50);background-color:#CCC;width:0;height:0;zoom:1;}.x-tab-panel{overflow:hidden;}.x-tab-panel-header,.x-tab-panel-footer{background:#deecfd;border:1px solid #8db2e3;overflow:hidden;zoom:1;}.x-tab-panel-header{border:1px solid #8db2e3;padding-bottom:2px;}.x-tab-panel-footer{border:1px solid #8db2e3;padding-top:2px;}.x-tab-strip-wrap{width:100%;overflow:hidden;position:relative;zoom:1;}ul.x-tab-strip{display:block;width:5000px;zoom:1;}ul.x-tab-strip-top{padding-top:1px;background:url(../images/default/tabs/tab-strip-bg.gif) #cedff5 repeat-x bottom;border-bottom:1px solid #8db2e3;}ul.x-tab-strip-bottom{padding-bottom:1px;background:url(../images/default/tabs/tab-strip-btm-bg.gif) #cedff5 repeat-x top;border-top:1px solid #8db2e3;border-bottom:0 none;}.x-tab-panel-header-plain .x-tab-strip-top{background:transparent!important;padding-top:0!important;}.x-tab-panel-header-plain{background:transparent!important;border-width:0!important;padding-bottom:0!important;}.x-tab-panel-header-plain .x-tab-strip-spacer,.x-tab-panel-footer-plain .x-tab-strip-spacer{border:1px solid #8db2e3;height:2px;background:#deecfd;font-size:1px;line-height:1px;}.x-tab-panel-header-plain .x-tab-strip-spacer{border-top:0 none;}.x-tab-panel-footer-plain .x-tab-strip-spacer{border-bottom:0 none;}.x-tab-panel-footer-plain .x-tab-strip-bottom{background:transparent!important;padding-bottom:0!important;}.x-tab-panel-footer-plain{background:transparent!important;border-width:0!important;padding-top:0!important;}.ext-border-box .x-tab-panel-header-plain .x-tab-strip-spacer,.ext-border-box .x-tab-panel-footer-plain .x-tab-strip-spacer{height:3px;}ul.x-tab-strip li{float:left;margin-left:2px;}ul.x-tab-strip li.x-tab-edge{float:left;margin:0!important;padding:0!important;border:0 none!important;font-size:1px!important;line-height:1px!important;overflow:hidden;zoom:1;background:transparent!important;width:1px;}.x-tab-strip a,.x-tab-strip span,.x-tab-strip em{display:block;}.x-tab-strip a{text-decoration:none!important;-moz-outline:none;outline:none;cursor:pointer;}.x-tab-strip-inner{overflow:hidden;text-overflow:ellipsis;}.x-tab-strip span.x-tab-strip-text{font:normal 11px tahoma,arial,helvetica;color:#416aa3;white-space:nowrap;cursor:pointer;padding:4px 0;}.x-tab-strip-top .x-tab-with-icon .x-tab-right{padding-left:6px;}.x-tab-strip .x-tab-with-icon span.x-tab-strip-text{padding-left:20px;background-position:0 3px;background-repeat:no-repeat;}.x-tab-strip-over span.x-tab-strip-text{color:#15428b;}.x-tab-strip-active,.x-tab-strip-active a.x-tab-right{cursor:default;}.x-tab-strip-active span.x-tab-strip-text{cursor:default;color:#15428b;font-weight:bold;}.x-tab-strip-disabled .x-tabs-text{cursor:default;color:#aaa;}.x-tab-panel-body{overflow:hidden;}.x-tab-panel-bwrap{overflow:hidden;}.ext-ie .x-tab-strip .x-tab-right{position:relative;}.x-tab-strip-top .x-tab-strip-active .x-tab-right{margin-bottom:-1px;}.x-tab-strip-top .x-tab-strip-active .x-tab-right span.x-tab-strip-text{padding-bottom:5px;}.x-tab-strip-bottom .x-tab-strip-active .x-tab-right{margin-top:-1px;}.x-tab-strip-bottom .x-tab-strip-active .x-tab-right span.x-tab-strip-text{padding-top:5px;}.x-tab-strip-top .x-tab-right{background:transparent url(../images/default/tabs/tabs-sprite.gif) no-repeat 0 -51px;padding-left:10px;}.x-tab-strip-top .x-tab-left{background:transparent url(../images/default/tabs/tabs-sprite.gif) no-repeat right -351px;padding-right:10px;}.x-tab-strip-top .x-tab-strip-inner{background:transparent url(../images/default/tabs/tabs-sprite.gif) repeat-x 0 -201px;}.x-tab-strip-top .x-tab-strip-over .x-tab-right{background-position:0 -101px;}.x-tab-strip-top .x-tab-strip-over .x-tab-left{background-position:right -401px;}.x-tab-strip-top .x-tab-strip-over .x-tab-strip-inner{background-position:0 -251px;}.x-tab-strip-top .x-tab-strip-active .x-tab-right{background-position:0 0;}.x-tab-strip-top .x-tab-strip-active .x-tab-left{background-position:right -301px;}.x-tab-strip-top .x-tab-strip-active .x-tab-strip-inner{background-position:0 -151px;}.x-tab-strip-bottom .x-tab-right{background:url(../images/default/tabs/tab-btm-inactive-right-bg.gif) no-repeat bottom right;}.x-tab-strip-bottom .x-tab-left{background:url(../images/default/tabs/tab-btm-inactive-left-bg.gif) no-repeat bottom left;}.x-tab-strip-bottom .x-tab-strip-active .x-tab-right{background:url(../images/default/tabs/tab-btm-right-bg.gif) no-repeat bottom left;}.x-tab-strip-bottom .x-tab-strip-active .x-tab-left{background:url(../images/default/tabs/tab-btm-left-bg.gif) no-repeat bottom right;}.x-tab-strip-bottom .x-tab-left{padding:0 10px;}.x-tab-strip-bottom .x-tab-right{padding:0;}.x-tab-strip .x-tab-strip-close{display:none;}.x-tab-strip-closable{position:relative;}.x-tab-strip-closable .x-tab-left{padding-right:19px;}.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close{background-image:url(../images/default/tabs/tab-close.gif);opacity:.6;-moz-opacity:.6;background-repeat:no-repeat;display:block;width:11px;height:11px;position:absolute;top:3px;right:3px;cursor:pointer;z-index:2;}.x-tab-strip .x-tab-strip-active a.x-tab-strip-close{opacity:.8;-moz-opacity:.8;}.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close:hover{background-image:url(../images/default/tabs/tab-close.gif);opacity:1;-moz-opacity:1;}.x-tab-panel-body{border:1px solid #8db2e3;background:#fff;}.x-tab-panel-body-top{border-top:0 none;}.x-tab-panel-body-bottom{border-bottom:0 none;}.x-tab-scroller-left{background:transparent url(../images/default/tabs/scroll-left.gif) no-repeat -18px 0;border-bottom:1px solid #8db2e3;width:18px;position:absolute;left:0;top:0;z-index:10;cursor:pointer;}.x-tab-scroller-left-over{background-position:0 0;}.x-tab-scroller-left-disabled{background-position:-18px 0;opacity:.5;-moz-opacity:.5;filter:alpha(opacity=50);cursor:default;}.x-tab-scroller-right{background:transparent url(../images/default/tabs/scroll-right.gif) no-repeat 0 0;border-bottom:1px solid #8db2e3;width:18px;position:absolute;right:0;top:0;z-index:10;cursor:pointer;}.x-tab-scroller-right-over{background-position:-18px 0;}.x-tab-scroller-right-disabled{background-position:0 0;opacity:.5;-moz-opacity:.5;filter:alpha(opacity=50);cursor:default;}.x-tab-scrolling-bottom .x-tab-scroller-left,.x-tab-scrolling-bottom .x-tab-scroller-right{margin-top:1px;}.x-tab-scrolling .x-tab-strip-wrap{margin-left:18px;margin-right:18px;}.x-tab-scrolling{position:relative;}.x-tab-panel-bbar .x-toolbar{border:1px solid #99bbe8;border-top:0 none;overflow:hidden;padding:2px;}.x-tab-panel-tbar .x-toolbar{border:1px solid #99bbe8;border-top:0 none;overflow:hidden;padding:2px;}.x-form-field{margin:0;font:normal 12px tahoma,arial,helvetica,sans-serif;}.x-form-text,textarea.x-form-field{padding:1px 3px;background:#fff url(../images/default/form/text-bg.gif) repeat-x 0 0;border:1px solid #B5B8C8;}textarea.x-form-field{padding:2px 3px;}.x-form-text{height:22px;line-height:18px;vertical-align:middle;}.ext-ie .x-form-text{margin:-1px 0;height:22px;line-height:18px;}.ext-ie textarea.x-form-field{margin:-1px 0;}.ext-strict .x-form-text{height:18px;}.ext-safari .x-form-text{height:20px;padding:0 3px;}.ext-safari.ext-mac textarea.x-form-field{margin-bottom:-2px;}.ext-gecko .x-form-text{padding-top:2px;padding-bottom:0;}textarea{resize:none;}.x-form-select-one{height:20px;line-height:18px;vertical-align:middle;background-color:#fff;border:1px solid #B5B8C8;}.x-form-check-group,.x-form-radio-group{margin-bottom:0;}.x-form-check-group .x-form-invalid .x-panel-body,.x-form-radio-group .x-form-invalid .x-panel-body{background-color:transparent;}.x-form-check-wrap,.x-form-radio-wrap{padding:3px 0 0 0;line-height:18px;}.x-form-check-group .x-form-check-wrap,.x-form-radio-group .x-form-radio-wrap{height:18px;}.ext-ie .x-form-check-group .x-form-check-wrap,.ext-ie .x-form-radio-group .x-form-radio-wrap{height:21px;}.ext-ie .x-form-check-wrap input,.ext-ie .x-form-radio-wrap input{width:15px;height:15px;}.x-form-check,.x-form-radio{height:13px;width:13px;vertical-align:bottom;}.x-form-radio{margin-bottom:3px;}.x-form-check,.ext-ie .x-form-radio{margin-bottom:2px;}.x-form-check-wrap-inner,.x-form-radio-wrap-inner{display:inline;padding:3px 0 0 0;}.x-form-check{background:url('../images/default/form/checkbox.gif') no-repeat 0 0;}.x-form-radio{background:url('../images/default/form/radio.gif') no-repeat 0 0;}.x-form-check-focus .x-form-check,.x-form-check-over .x-form-check,.x-form-check-focus .x-form-radio,.x-form-check-over .x-form-radio{background-position:-13px 0;}.x-form-check-down .x-form-check,.x-form-check-down .x-form-radio{background-position:-26px 0;}.x-form-check-checked .x-form-check-focus .x-form-check,.x-form-check-checked .x-form-check-over .x-form-check{background-position:-13px -13px;}.x-form-check-checked .x-form-check-down .x-form-check{background-position:-26px -13px;}.x-form-check-checked .x-form-check,.x-form-check-checked .x-form-radio{background-position:0 -13px;}.x-form-check-group-label{border-bottom:1px solid #99BBE8;color:#15428B;margin-bottom:5px;padding-left:3px!important;float:none!important;}.x-form-field-wrap{position:relative;zoom:1;white-space:nowrap;}.x-form-field-wrap .x-form-trigger{width:17px;height:21px;border:0;background:transparent url(../images/default/form/trigger.gif) no-repeat 0 0;cursor:pointer;border-bottom:1px solid #B5B8C8;position:absolute;top:0;}.ext-safari .x-form-field-wrap .x-form-trigger{height:21px;}.x-form-field-wrap .x-form-date-trigger{background-image:url(../images/default/form/date-trigger.gif);cursor:pointer;}.x-form-field-wrap .x-form-clear-trigger{background-image:url(../images/default/form/clear-trigger.gif);cursor:pointer;}.x-form-field-wrap .x-form-search-trigger{background-image:url(../images/default/form/search-trigger.gif);cursor:pointer;}.ext-safari .x-form-field-wrap .x-form-trigger{right:0;}.x-form-field-wrap .x-form-twin-triggers .x-form-trigger{position:static;top:auto;vertical-align:top;}.x-form-field-wrap .x-form-trigger-over{background-position:-17px 0;}.x-form-field-wrap .x-form-trigger-click{background-position:-34px 0;}.x-trigger-wrap-focus .x-form-trigger{background-position:-51px 0;}.x-trigger-wrap-focus .x-form-trigger-over{background-position:-68px 0;}.x-trigger-wrap-focus .x-form-trigger-click{background-position:-85px 0;}.x-trigger-wrap-focus .x-form-trigger{border-bottom:1px solid #7eadd9;}.x-item-disabled .x-form-trigger-over{background-position:0 0!important;border-bottom:1px solid #B5B8C8;}.x-item-disabled .x-form-trigger-click{background-position:0 0!important;border-bottom:1px solid #B5B8C8;}.x-form-focus,textarea.x-form-focus{border:1px solid #7eadd9;}.x-form-invalid,textarea.x-form-invalid{background:#fff url(../images/default/grid/invalid_line.gif) repeat-x bottom;border:1px solid #dd7870;}.ext-safari .x-form-invalid{background-color:#fee;border:1px solid #ff7870;}.x-editor{visibility:hidden;padding:0;margin:0;}.x-editor .x-form-check-wrap,.x-editor .x-form-radio-wrap{background:#fff;padding:3px;}.x-editor .x-form-checkbox{height:13px;}.x-form-grow-sizer{font:normal 12px tahoma,arial,helvetica,sans-serif;left:-10000px;padding:8px 3px;position:absolute;visibility:hidden;top:-10000px;white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word;zoom:1;}.x-form-grow-sizer p{margin:0!important;border:0 none!important;padding:0!important;}.x-form-item{font:normal 12px tahoma,arial,helvetica,sans-serif;display:block;margin-bottom:4px;zoom:1;}.x-form-item label{display:block;float:left;width:100px;padding:3px;padding-left:0;clear:left;z-index:2;position:relative;}.x-form-element{padding-left:105px;position:relative;}.x-form-invalid-msg{color:#e00;padding:2px;padding-left:18px;font:normal 11px tahoma,arial,helvetica,sans-serif;background:transparent url(../images/default/shared/warning.gif) no-repeat 0 2px;line-height:16px;width:200px;}.x-form-label-left label{text-align:left;}.x-form-label-right label{text-align:right;}.x-form-label-top .x-form-item label{width:auto;float:none;clear:none;display:inline;margin-bottom:4px;position:static;}.x-form-label-top .x-form-element{padding-left:0;padding-top:4px;}.x-form-label-top .x-form-item{padding-bottom:4px;}.x-form-empty-field{color:gray;}.x-small-editor .x-form-field{font:normal 11px arial,tahoma,helvetica,sans-serif;}.x-small-editor .x-form-text{height:20px;line-height:16px;vertical-align:middle;}.ext-ie .x-small-editor .x-form-text{margin-top:-1px!important;margin-bottom:-1px!important;height:20px!important;line-height:16px!important;}.ext-strict .x-small-editor .x-form-text{height:16px!important;}.ext-safari .x-small-editor .x-form-field{font:normal 12px arial,tahoma,helvetica,sans-serif;}.ext-ie .x-small-editor .x-form-text{height:20px;line-height:16px;}.ext-border-box .x-small-editor .x-form-text{height:20px;}.x-small-editor .x-form-select-one{height:20px;line-height:16px;vertical-align:middle;}.x-small-editor .x-form-num-field{text-align:right;}.x-small-editor .x-form-field-wrap .x-form-trigger{height:19px;}.x-form-clear{clear:both;height:0;overflow:hidden;line-height:0;font-size:0;}.x-form-clear-left{clear:left;height:0;overflow:hidden;line-height:0;font-size:0;}.x-form-cb-label{width:auto!important;float:none!important;clear:none!important;display:inline!important;margin-left:4px;}.x-form-column{float:left;padding:0;margin:0;width:48%;overflow:hidden;zoom:1;}.x-form .x-form-btns-ct .x-btn{float:right;clear:none;}.x-form .x-form-btns-ct .x-form-btns td{border:0;padding:0;}.x-form .x-form-btns-ct .x-form-btns-right table{float:right;clear:none;}.x-form .x-form-btns-ct .x-form-btns-left table{float:left;clear:none;}.x-form .x-form-btns-ct .x-form-btns-center{text-align:center;}.x-form .x-form-btns-ct .x-form-btns-center table{margin:0 auto;}.x-form .x-form-btns-ct table td.x-form-btn-td{padding:3px;}.x-form .x-form-btns-ct .x-btn-focus .x-btn-left{background-position:0 -147px;}.x-form .x-form-btns-ct .x-btn-focus .x-btn-right{background-position:0 -168px;}.x-form .x-form-btns-ct .x-btn-focus .x-btn-center{background-position:0 -189px;}.x-form .x-form-btns-ct .x-btn-click .x-btn-center{background-position:0 -126px;}.x-form .x-form-btns-ct .x-btn-click .x-btn-right{background-position:0 -84px;}.x-form .x-form-btns-ct .x-btn-click .x-btn-left{background-position:0 -63px;}.x-form-invalid-icon{width:16px;height:18px;visibility:hidden;position:absolute;left:0;top:0;display:block;background:transparent url(../images/default/form/exclamation.gif) no-repeat 0 2px;}.x-fieldset{border:1px solid #B5B8C8;padding:10px;margin-bottom:10px;display:block;}.x-fieldset legend{font:bold 11px tahoma,arial,helvetica,sans-serif;color:#15428b;}.ext-ie .x-fieldset legend{margin-bottom:10px;}.ext-ie .x-fieldset{padding-top:0;padding-bottom:10px;}.x-fieldset legend .x-tool-toggle{margin-right:3px;margin-left:0;float:left!important;}.x-fieldset legend input{margin-right:3px;float:left!important;height:13px;width:13px;}fieldset.x-panel-collapsed{padding-bottom:0!important;border-width:1px 1px 0 1px!important;border-left-color:transparent;border-right-color:transparent;}.ext-ie6 fieldset.x-panel-collapsed{padding-bottom:0!important;border-width:1px 0 0 0!important;margin-left:1px;margin-right:1px;}fieldset.x-panel-collapsed .x-fieldset-bwrap{visibility:hidden;position:absolute;left:-1000px;top:-1000px;}.ext-ie .x-fieldset-bwrap{zoom:1;}.ext-ie td .x-form-text{position:relative;top:-1px;}.x-fieldset-noborder{border:0 none transparent;}.x-fieldset-noborder legend{margin-left:-3px;}.ext-ie .x-fieldset-noborder legend{position:relative;margin-bottom:23px;}.ext-ie .x-fieldset-noborder legend span{position:absolute;left:16px;}.ext-gecko .x-window-body .x-form-item{-moz-outline:none;overflow:auto;}.ext-gecko .x-form-item{-moz-outline:none;}.x-hide-label label.x-form-item-label{display:none;}.x-hide-label .x-form-element{padding-left:0!important;}.x-fieldset{overflow:hidden;}.x-fieldset-bwrap{overflow:hidden;zoom:1;}.x-fieldset-body{overflow:hidden;}.x-btn{font:normal 11px tahoma,verdana,helvetica;cursor:pointer;white-space:nowrap;}.x-btn button{border:0 none;background:transparent;font:normal 11px tahoma,verdana,helvetica;padding-left:3px;padding-right:3px;cursor:pointer;margin:0;overflow:visible;width:auto;-moz-outline:0 none;outline:0 none;}* html .ext-ie .x-btn button{width:1px;}.ext-gecko .x-btn button{padding-left:0;padding-right:0;}.ext-ie .x-btn button{padding-top:2px;}.x-btn-icon .x-btn-center .x-btn-text{background-position:center;background-repeat:no-repeat;height:16px;width:16px;cursor:pointer;white-space:nowrap;padding:0;}.x-btn-icon .x-btn-center{padding:1px;}.x-btn em{font-style:normal;font-weight:normal;}.x-btn-text-icon .x-btn-center .x-btn-text{background-position:0 2px;background-repeat:no-repeat;padding-left:18px;padding-top:3px;padding-bottom:2px;padding-right:0;}.ext-gecko3 .x-btn-text-icon .x-btn-center .x-btn-text{padding-top:2px;}.x-btn-left,.x-btn-right{font-size:1px;line-height:1px;}.x-btn-left{width:3px;height:21px;background:url(../images/default/button/btn-sprite.gif) no-repeat 0 0;}.x-btn-right{width:3px;height:21px;background:url(../images/default/button/btn-sprite.gif) no-repeat 0 -21px;}.x-btn-left i,.x-btn-right i{display:block;width:3px;overflow:hidden;font-size:1px;line-height:1px;}.x-btn-center{background:url(../images/default/button/btn-sprite.gif) repeat-x 0 -42px;vertical-align:middle;text-align:center;padding:0 5px;cursor:pointer;white-space:nowrap;}.x-btn-over .x-btn-left{background-position:0 -63px;}.x-btn-over .x-btn-right{background-position:0 -84px;}.x-btn-over .x-btn-center{background-position:0 -105px;}.x-btn-click .x-btn-center,.x-btn-menu-active .x-btn-center{background-position:0 -126px;}.x-btn-disabled *{color:gray!important;cursor:default!important;}.x-btn-menu-text-wrap .x-btn-center{padding:0 3px;}.ext-gecko .x-btn-menu-text-wrap .x-btn-center{padding:0 1px;}.x-btn-menu-arrow-wrap .x-btn-center{padding:0;}.x-btn-menu-arrow-wrap .x-btn-center button{width:12px!important;height:21px;padding:0!important;display:block;background:transparent url(../images/default/button/btn-arrow.gif) no-repeat left 3px;}.x-btn-with-menu .x-btn-center{padding-right:2px!important;}.x-btn-with-menu .x-btn-center em{display:block;background:transparent url(../images/default/toolbar/btn-arrow.gif) no-repeat right 0;padding-right:10px;}.x-btn-text-icon .x-btn-with-menu .x-btn-center em{display:block;background:transparent url(../images/default/toolbar/btn-arrow.gif) no-repeat right 3px;padding-right:10px;}.x-btn-pressed .x-btn-left{background:url(../images/default/button/btn-sprite.gif) no-repeat 0 -63px;}.x-btn-pressed .x-btn-right{background:url(../images/default/button/btn-sprite.gif) no-repeat 0 -84px;}.x-btn-pressed .x-btn-center{background:url(../images/default/button/btn-sprite.gif) repeat-x 0 -126px;}.x-toolbar{border-color:#a9bfd3;border-style:solid;border-width:0 0 1px 0;display:block;padding:2px;background:#d0def0 url(../images/default/toolbar/bg.gif) repeat-x top left;position:relative;zoom:1;}.x-toolbar .x-item-disabled .x-btn-icon{opacity:.35;-moz-opacity:.35;filter:alpha(opacity=35);}.x-toolbar td{vertical-align:middle;}.mso .x-toolbar,.x-grid-mso .x-toolbar{border:0 none;background:url(../images/default/grid/mso-hd.gif);}.x-toolbar td,.x-toolbar span,.x-toolbar input,.x-toolbar div,.x-toolbar select,.x-toolbar label{white-space:nowrap;font:normal 11px tahoma,arial,helvetica,sans-serif;}.x-toolbar .x-item-disabled{color:gray;cursor:default;opacity:.6;-moz-opacity:.6;filter:alpha(opacity=60);}.x-toolbar .x-item-disabled *{color:gray;cursor:default;}.x-toolbar .x-btn-left{background:none;}.x-toolbar .x-btn-right{background:none;}.x-toolbar .x-btn-center{background:none;padding:0;}.x-toolbar .x-btn-menu-text-wrap .x-btn-center button{padding-right:2px;}.ext-gecko .x-toolbar .x-btn-menu-text-wrap .x-btn-center button{padding-right:0;}.x-toolbar .x-btn-menu-arrow-wrap .x-btn-center button{padding:0 2px;}.x-toolbar .x-btn-menu-arrow-wrap .x-btn-center button{width:12px;background:transparent url(../images/default/toolbar/btn-arrow.gif) no-repeat 0 3px;}.x-toolbar .x-btn-text-icon .x-btn-menu-arrow-wrap .x-btn-center button{width:12px;background:transparent url(../images/default/toolbar/btn-arrow.gif) no-repeat 0 3px;}.x-toolbar .x-btn-over .x-btn-menu-arrow-wrap .x-btn-center button{background-position:0 -47px;}.x-toolbar .x-btn-over .x-btn-left{background:url(../images/default/toolbar/tb-btn-sprite.gif) no-repeat 0 0;}.x-toolbar .x-btn-over .x-btn-right{background:url(../images/default/toolbar/tb-btn-sprite.gif) no-repeat 0 -21px;}.x-toolbar .x-btn-over .x-btn-center{background:url(../images/default/toolbar/tb-btn-sprite.gif) repeat-x 0 -42px;}.x-toolbar .x-btn-click .x-btn-left,.x-toolbar .x-btn-pressed .x-btn-left,.x-toolbar .x-btn-menu-active .x-btn-left{background:url(../images/default/toolbar/tb-btn-sprite.gif) no-repeat 0 -63px;}.x-toolbar .x-btn-click .x-btn-right,.x-toolbar .x-btn-pressed .x-btn-right,.x-toolbar .x-btn-menu-active .x-btn-right{background:url(../images/default/toolbar/tb-btn-sprite.gif) no-repeat 0 -84px;}.x-toolbar .x-btn-click .x-btn-center,.x-toolbar .x-btn-pressed .x-btn-center,.x-toolbar .x-btn-menu-active .x-btn-center{background:url(../images/default/toolbar/tb-btn-sprite.gif) repeat-x 0 -105px;}.x-toolbar .x-btn-with-menu .x-btn-center em{padding-right:8px;}.x-toolbar .ytb-text{padding:2px;}.x-toolbar .ytb-sep{background-image:url(../images/default/grid/grid-blue-split.gif);background-position:center;background-repeat:no-repeat;display:block;font-size:1px;height:16px;width:4px;overflow:hidden;cursor:default;margin:0 2px 0;border:0;}.x-toolbar .ytb-spacer{width:2px;}.x-tbar-page-number{width:24px;height:14px;}.x-tbar-page-first{background-image:url(../images/default/grid/page-first.gif)!important;}.x-tbar-loading{background-image:url(../images/default/grid/refresh.gif)!important;}.x-tbar-page-last{background-image:url(../images/default/grid/page-last.gif)!important;}.x-tbar-page-next{background-image:url(../images/default/grid/page-next.gif)!important;}.x-tbar-page-prev{background-image:url(../images/default/grid/page-prev.gif)!important;}.x-item-disabled .x-tbar-loading{background-image:url(../images/default/grid/loading.gif)!important;}.x-item-disabled .x-tbar-page-first{background-image:url(../images/default/grid/page-first-disabled.gif)!important;}.x-item-disabled .x-tbar-page-last{background-image:url(../images/default/grid/page-last-disabled.gif)!important;}.x-item-disabled .x-tbar-page-next{background-image:url(../images/default/grid/page-next-disabled.gif)!important;}.x-item-disabled .x-tbar-page-prev{background-image:url(../images/default/grid/page-prev-disabled.gif)!important;}.x-paging-info{position:absolute;top:5px;right:8px;color:#444;}.x-statusbar .x-status-text{height:21px;line-height:21px;padding:0 4px;cursor:default;}.x-statusbar .x-status-busy{padding-left:25px;background:transparent url(../images/default/grid/loading.gif) no-repeat 3px 3px;}.x-statusbar .x-status-text-panel{border-top:1px solid #99BBE8;border-right:1px solid #fff;border-bottom:1px solid #fff;border-left:1px solid #99BBE8;padding:2px 8px 2px 5px;}.x-resizable-handle{position:absolute;z-index:100;font-size:1px;line-height:6px;overflow:hidden;background:white;filter:alpha(opacity=0);opacity:0;zoom:1;}.x-resizable-handle-east{width:6px;cursor:e-resize;right:0;top:0;height:100%;}.ext-ie .x-resizable-handle-east{margin-right:-1px;}.x-resizable-handle-south{width:100%;cursor:s-resize;left:0;bottom:0;height:6px;}.ext-ie .x-resizable-handle-south{margin-bottom:-1px;}.x-resizable-handle-west{width:6px;cursor:w-resize;left:0;top:0;height:100%;}.x-resizable-handle-north{width:100%;cursor:n-resize;left:0;top:0;height:6px;}.x-resizable-handle-southeast{width:6px;cursor:se-resize;right:0;bottom:0;height:6px;z-index:101;}.x-resizable-handle-northwest{width:6px;cursor:nw-resize;left:0;top:0;height:6px;z-index:101;}.x-resizable-handle-northeast{width:6px;cursor:ne-resize;right:0;top:0;height:6px;z-index:101;}.x-resizable-handle-southwest{width:6px;cursor:sw-resize;left:0;bottom:0;height:6px;z-index:101;}.x-resizable-over .x-resizable-handle,.x-resizable-pinned .x-resizable-handle{filter:alpha(opacity=100);opacity:1;}.x-resizable-over .x-resizable-handle-east,.x-resizable-pinned .x-resizable-handle-east{background:url(../images/default/sizer/e-handle.gif);background-position:left;}.x-resizable-over .x-resizable-handle-west,.x-resizable-pinned .x-resizable-handle-west{background:url(../images/default/sizer/e-handle.gif);background-position:left;}.x-resizable-over .x-resizable-handle-south,.x-resizable-pinned .x-resizable-handle-south{background:url(../images/default/sizer/s-handle.gif);background-position:top;}.x-resizable-over .x-resizable-handle-north,.x-resizable-pinned .x-resizable-handle-north{background:url(../images/default/sizer/s-handle.gif);background-position:top;}.x-resizable-over .x-resizable-handle-southeast,.x-resizable-pinned .x-resizable-handle-southeast{background:url(../images/default/sizer/se-handle.gif);background-position:top left;}.x-resizable-over .x-resizable-handle-northwest,.x-resizable-pinned .x-resizable-handle-northwest{background:url(../images/default/sizer/nw-handle.gif);background-position:bottom right;}.x-resizable-over .x-resizable-handle-northeast,.x-resizable-pinned .x-resizable-handle-northeast{background:url(../images/default/sizer/ne-handle.gif);background-position:bottom left;}.x-resizable-over .x-resizable-handle-southwest,.x-resizable-pinned .x-resizable-handle-southwest{background:url(../images/default/sizer/sw-handle.gif);background-position:top right;}.x-resizable-proxy{border:1px dashed #3b5a82;position:absolute;overflow:hidden;display:none;left:0;top:0;z-index:50000;}.x-resizable-overlay{width:100%;height:100%;display:none;position:absolute;left:0;top:0;background:white;z-index:200000;-moz-opacity:0;opacity:0;filter:alpha(opacity=0);}.x-grid3{position:relative;overflow:hidden;background-color:#fff;}.x-grid-panel .x-panel-body{overflow:hidden!important;}.x-grid-panel .x-panel-mc .x-panel-body{border:1px solid #99bbe8;}.x-grid3 table{table-layout:fixed;}.x-grid3-viewport{overflow:hidden;}.x-grid3-hd-row td,.x-grid3-row td,.x-grid3-summary-row td{font:normal 11px arial,tahoma,helvetica,sans-serif;-moz-outline:none;-moz-user-focus:normal;}.x-grid3-row td,.x-grid3-summary-row td{line-height:13px;vertical-align:top;padding-left:1px;padding-right:1px;-moz-user-select:none;}.x-grid3-hd-row td{line-height:15px;vertical-align:middle;border-left:1px solid #eee;border-right:1px solid #d0d0d0;}.x-grid3-hd-row .x-grid3-marker-hd{padding:3px;}.x-grid3-row .x-grid3-marker{padding:3px;}.x-grid3-cell-inner,.x-grid3-hd-inner{overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis;padding:3px 3px 3px 5px;white-space:nowrap;}.x-grid3-hd-inner{position:relative;cursor:inherit;padding:4px 3px 4px 5px;}.x-grid3-row-body{white-space:normal;}.x-grid3-body-cell{-moz-outline:0 none;outline:0 none;}.ext-ie .x-grid3-cell-inner,.ext-ie .x-grid3-hd-inner{width:100%;}.ext-strict .x-grid3-cell-inner,.ext-strict .x-grid3-hd-inner{width:auto;}.x-grid-row-loading{background:#fff url(../images/default/shared/loading-balls.gif) no-repeat center center;}.x-grid-page{overflow:hidden;}.x-grid3-row{cursor:default;border:1px solid #ededed;border-top-color:#fff;width:100%;}.x-grid3-row-alt{background-color:#fafafa;}.x-grid3-row-over{border:1px solid #ddd;background:#efefef url(../images/default/grid/row-over.gif) repeat-x left top;}.x-grid3-resize-proxy{width:1px;left:0;background-color:#777;cursor:e-resize;cursor:col-resize;position:absolute;top:0;height:100px;overflow:hidden;visibility:hidden;border:0 none;z-index:7;}.x-grid3-resize-marker{width:1px;left:0;background-color:#777;position:absolute;top:0;height:100px;overflow:hidden;visibility:hidden;border:0 none;z-index:7;}.x-grid3-focus{position:absolute;left:0;top:0;width:1px;height:1px;line-height:1px;font-size:1px;-moz-outline:0 none;outline:0 none;-moz-user-select:text;-khtml-user-select:text;}.x-grid3-header{background:#f9f9f9 url(../images/default/grid/grid3-hrow.gif) repeat-x 0 bottom;cursor:default;zoom:1;padding:1px 0 0 0;}.x-grid3-header-pop{border-left:1px solid #d0d0d0;float:right;clear:none;}.x-grid3-header-pop-inner{border-left:1px solid #eee;width:14px;height:19px;background:transparent url(../images/default/grid/hd-pop.gif) no-repeat center center;}.ext-ie .x-grid3-header-pop-inner{width:15px;}.ext-strict .x-grid3-header-pop-inner{width:14px;}.x-grid3-header-inner{overflow:hidden;zoom:1;float:left;}.x-grid3-header-offset{padding-left:1px;width:10000px;}td.x-grid3-hd-over,td.sort-desc,td.sort-asc,td.x-grid3-hd-menu-open{border-left:1px solid #aaccf6;border-right:1px solid #aaccf6;}td.x-grid3-hd-over .x-grid3-hd-inner,td.sort-desc .x-grid3-hd-inner,td.sort-asc .x-grid3-hd-inner,td.x-grid3-hd-menu-open .x-grid3-hd-inner{background:#ebf3fd url(../images/default/grid/grid3-hrow-over.gif) repeat-x left bottom;}.x-grid3-sort-icon{background-repeat:no-repeat;display:none;height:4px;width:13px;margin-left:3px;vertical-align:middle;}.sort-asc .x-grid3-sort-icon{background-image:url(../images/default/grid/sort_asc.gif);display:inline;}.sort-desc .x-grid3-sort-icon{background-image:url(../images/default/grid/sort_desc.gif);display:inline;}.ext-strict .ext-ie .x-grid3-header-inner{position:relative;}.ext-strict .ext-ie6 .x-grid3-hd{position:relative;}.ext-strict .ext-ie6 .x-grid3-hd-inner{position:static;}.x-grid3-body{zoom:1;}.x-grid3-scroller{overflow:auto;zoom:1;position:relative;}.x-grid3-cell-text,.x-grid3-hd-text{display:block;padding:3px 5px 3px 5px;-moz-user-select:none;-khtml-user-select:none;color:black;}.x-grid3-split{background-image:url(../images/default/grid/grid-split.gif);background-position:center;background-repeat:no-repeat;cursor:e-resize;cursor:col-resize;display:block;font-size:1px;height:16px;overflow:hidden;position:absolute;top:2px;width:6px;z-index:3;}.x-grid3-hd-text{color:#15428b;}.x-dd-drag-proxy .x-grid3-hd-inner{background:#ebf3fd url(../images/default/grid/grid3-hrow-over.gif) repeat-x left bottom;width:120px;padding:3px;border:1px solid #aaccf6;overflow:hidden;}.col-move-top,.col-move-bottom{width:9px;height:9px;position:absolute;top:0;line-height:1px;font-size:1px;overflow:hidden;visibility:hidden;z-index:20000;}.col-move-top{background:transparent url(../images/default/grid/col-move-top.gif) no-repeat left top;}.col-move-bottom{background:transparent url(../images/default/grid/col-move-bottom.gif) no-repeat left top;}.x-grid3-row-selected{background:#DFE8F6!important;border:1px dotted #a3bae9;}.x-grid3-cell-selected{background-color:#B8CFEE!important;color:black;}.x-grid3-cell-selected span{color:black!important;}.x-grid3-cell-selected .x-grid3-cell-text{color:black;}.x-grid3-locked td.x-grid3-row-marker,.x-grid3-locked .x-grid3-row-selected td.x-grid3-row-marker{background:#ebeadb url(../images/default/grid/grid-hrow.gif) repeat-x 0 bottom!important;vertical-align:middle!important;color:black;padding:0;border-top:1px solid white;border-bottom:none!important;border-right:1px solid #6fa0df!important;text-align:center;}.x-grid3-locked td.x-grid3-row-marker div,.x-grid3-locked .x-grid3-row-selected td.x-grid3-row-marker div{padding:0 4px;color:#15428b!important;text-align:center;}.x-grid3-dirty-cell{background:transparent url(../images/default/grid/dirty.gif) no-repeat 0 0;}.x-grid3-topbar,.x-grid3-bottombar{font:normal 11px arial,tahoma,helvetica,sans-serif;overflow:hidden;display:none;zoom:1;position:relative;}.x-grid3-topbar .x-toolbar{border-right:0 none;}.x-grid3-bottombar .x-toolbar{border-right:0 none;border-bottom:0 none;border-top:1px solid #a9bfd3;}.x-props-grid .x-grid3-cell{padding:1px;}.x-props-grid .x-grid3-td-name .x-grid3-cell-inner{background:transparent url(../images/default/grid/grid3-special-col-bg.gif) repeat-y -16px!important;padding-left:12px;color:black!important;}.x-props-grid .x-grid3-body .x-grid3-td-name{padding:1px;padding-right:0;background:white!important;border:0 none;border-right:1px solid #eee;}.xg-hmenu-sort-asc .x-menu-item-icon{background-image:url(../images/default/grid/hmenu-asc.gif);}.xg-hmenu-sort-desc .x-menu-item-icon{background-image:url(../images/default/grid/hmenu-desc.gif);}.xg-hmenu-lock .x-menu-item-icon{background-image:url(../images/default/grid/hmenu-lock.gif);}.xg-hmenu-unlock .x-menu-item-icon{background-image:url(../images/default/grid/hmenu-unlock.gif);}.x-grid3-col-dd{border:0 none;padding:0;background:transparent;}.x-dd-drag-ghost .x-grid3-dd-wrap{padding:1px 3px 3px 1px;}.x-grid3-hd{-moz-user-select:none;}.x-grid3-hd-btn{display:none;position:absolute;width:14px;background:#c3daf9 url(../images/default/grid/grid3-hd-btn.gif) no-repeat left center;right:0;top:0;z-index:2;cursor:pointer;}.x-grid3-hd-over .x-grid3-hd-btn,.x-grid3-hd-menu-open .x-grid3-hd-btn{display:block;}a.x-grid3-hd-btn:hover{background-position:-14px center;}.x-grid3-body .x-grid3-td-expander{background:transparent url(../images/default/grid/grid3-special-col-bg.gif) repeat-y right;}.x-grid3-body .x-grid3-td-expander .x-grid3-cell-inner{padding:0!important;height:100%;}.x-grid3-row-expander{width:100%;height:18px;background-position:4px 2px;background-repeat:no-repeat;background-color:transparent;background-image:url(../images/default/grid/row-expand-sprite.gif);}.x-grid3-row-collapsed .x-grid3-row-expander{background-position:4px 2px;}.x-grid3-row-expanded .x-grid3-row-expander{background-position:-21px 2px;}.x-grid3-row-collapsed .x-grid3-row-body{display:none!important;}.x-grid3-row-expanded .x-grid3-row-body{display:block!important;}.x-grid3-body .x-grid3-td-checker{background:transparent url(../images/default/grid/grid3-special-col-bg.gif) repeat-y right;}.x-grid3-body .x-grid3-td-checker .x-grid3-cell-inner,.x-grid3-header .x-grid3-td-checker .x-grid3-hd-inner{padding:0!important;height:100%;}.x-grid3-row-checker,.x-grid3-hd-checker{width:100%;height:18px;background-position:2px 2px;background-repeat:no-repeat;background-color:transparent;background-image:url(../images/default/grid/row-check-sprite.gif);}.x-grid3-row .x-grid3-row-checker{background-position:2px 2px;}.x-grid3-row-selected .x-grid3-row-checker,.x-grid3-hd-checker-on .x-grid3-hd-checker{background-position:-23px 2px;}.x-grid3-hd-checker{background-position:2px 3px;}.x-grid3-hd-checker-on .x-grid3-hd-checker{background-position:-23px 3px;}.x-grid3-body .x-grid3-td-numberer{background:transparent url(../images/default/grid/grid3-special-col-bg.gif) repeat-y right;}.x-grid3-body .x-grid3-td-numberer .x-grid3-cell-inner{padding:3px 5px 0 0!important;text-align:right;color:#444;}.x-grid3-body .x-grid3-row-selected .x-grid3-td-numberer,.x-grid3-body .x-grid3-row-selected .x-grid3-td-checker,.x-grid3-body .x-grid3-row-selected .x-grid3-td-expander{background:transparent url(../images/default/grid/grid3-special-col-sel-bg.gif) repeat-y right;}.x-grid3-body .x-grid3-check-col-td .x-grid3-cell-inner{padding:1px 0 0 0!important;}.x-grid3-check-col{width:100%;height:16px;background-position:center center;background-repeat:no-repeat;background-color:transparent;background-image:url(../images/default/menu/unchecked.gif);}.x-grid3-check-col-on{width:100%;height:16px;background-position:center center;background-repeat:no-repeat;background-color:transparent;background-image:url(../images/default/menu/checked.gif);}.x-grid-group,.x-grid-group-body,.x-grid-group-hd{zoom:1;}.x-grid-group-hd{border-bottom:2px solid #99bbe8;cursor:pointer;padding-top:6px;}.x-grid-group-hd div{background:transparent url(../images/default/grid/group-expand-sprite.gif) no-repeat 3px -47px;padding:4px 4px 4px 17px;color:#3764a0;font:bold 11px tahoma,arial,helvetica,sans-serif;}.x-grid-group-collapsed .x-grid-group-hd div{background-position:3px 3px;}.x-grid-group-collapsed .x-grid-group-body{display:none;}.x-group-by-icon{background-image:url(../images/default/grid/group-by.gif);}.x-cols-icon{background-image:url(../images/default/grid/columns.gif);}.x-show-groups-icon{background-image:url(../images/default/grid/group-by.gif);}.ext-ie .x-grid3 .x-editor .x-form-text{position:relative;top:-1px;}.ext-ie .x-props-grid .x-editor .x-form-text{position:static;top:0;}.x-grid-empty{padding:10px;color:gray;font:normal 11px tahoma,arial,helvetica,sans-serif;}.ext-ie7 .x-grid-panel .x-panel-bbar{position:relative;}.x-dd-drag-proxy{position:absolute;left:0;top:0;visibility:hidden;z-index:15000;}.x-dd-drag-ghost{color:black;font:normal 11px arial,helvetica,sans-serif;-moz-opacity:.85;opacity:.85;filter:alpha(opacity=85);border-top:1px solid #ddd;border-left:1px solid #ddd;border-right:1px solid #bbb;border-bottom:1px solid #bbb;padding:3px;padding-left:20px;background-color:white;white-space:nowrap;}.x-dd-drag-repair .x-dd-drag-ghost{-moz-opacity:.4;opacity:.4;filter:alpha(opacity=40);border:0 none;padding:0;background-color:transparent;}.x-dd-drag-repair .x-dd-drop-icon{visibility:hidden;}.x-dd-drop-icon{position:absolute;top:3px;left:3px;display:block;width:16px;height:16px;background-color:transparent;background-position:center;background-repeat:no-repeat;z-index:1;}.x-dd-drop-nodrop .x-dd-drop-icon{background-image:url(../images/default/dd/drop-no.gif);}.x-dd-drop-ok .x-dd-drop-icon{background-image:url(../images/default/dd/drop-yes.gif);}.x-dd-drop-ok-add .x-dd-drop-icon{background-image:url(../images/default/dd/drop-add.gif);}.x-view-selector{position:absolute;left:0;top:0;width:0;background:#c3daf9;border:1px dotted #39b;opacity:.5;-moz-opacity:.5;filter:alpha(opacity=50);zoom:1;}.x-tree .x-panel-body{background-color:#fff;}.ext-strict .ext-ie .x-tree .x-panel-bwrap{position:relative;overflow:hidden;}.x-tree-icon,.x-tree-ec-icon,.x-tree-elbow-line,.x-tree-elbow,.x-tree-elbow-end,.x-tree-elbow-plus,.x-tree-elbow-minus,.x-tree-elbow-end-plus,.x-tree-elbow-end-minus{border:0 none;height:18px;margin:0;padding:0;vertical-align:top;width:16px;background-repeat:no-repeat;}.x-tree-node-collapsed .x-tree-node-icon,.x-tree-node-expanded .x-tree-node-icon,.x-tree-node-leaf .x-tree-node-icon{border:0 none;height:18px;margin:0;padding:0;vertical-align:top;width:16px;background-position:center;background-repeat:no-repeat;}.ext-ie .x-tree-node-indent img,.ext-ie .x-tree-node-icon,.ext-ie .x-tree-ec-icon{vertical-align:middle!important;}.x-tree-node-expanded .x-tree-node-icon{background-image:url(../images/default/tree/folder-open.gif);}.x-tree-node-leaf .x-tree-node-icon{background-image:url(../images/default/tree/leaf.gif);}.x-tree-node-collapsed .x-tree-node-icon{background-image:url(../images/default/tree/folder.gif);}.ext-ie input.x-tree-node-cb{width:15px;height:15px;}input.x-tree-node-cb{margin-left:1px;}.ext-ie input.x-tree-node-cb{margin-left:0;}.x-tree-noicon .x-tree-node-icon{width:0;height:0;}.x-tree-node-loading .x-tree-node-icon{background-image:url(../images/default/tree/loading.gif)!important;}.x-tree-node-loading a span{font-style:italic;color:#444;}.ext-ie .x-tree-node-el input{width:15px;height:15px;}.x-tree-lines .x-tree-elbow{background-image:url(../images/default/tree/elbow.gif);}.x-tree-lines .x-tree-elbow-plus{background-image:url(../images/default/tree/elbow-plus.gif);}.x-tree-lines .x-tree-elbow-minus{background-image:url(../images/default/tree/elbow-minus.gif);}.x-tree-lines .x-tree-elbow-end{background-image:url(../images/default/tree/elbow-end.gif);}.x-tree-lines .x-tree-elbow-end-plus{background-image:url(../images/default/tree/elbow-end-plus.gif);}.x-tree-lines .x-tree-elbow-end-minus{background-image:url(../images/default/tree/elbow-end-minus.gif);}.x-tree-lines .x-tree-elbow-line{background-image:url(../images/default/tree/elbow-line.gif);}.x-tree-no-lines .x-tree-elbow{background:transparent;}.x-tree-no-lines .x-tree-elbow-plus{background-image:url(../images/default/tree/elbow-plus-nl.gif);}.x-tree-no-lines .x-tree-elbow-minus{background-image:url(../images/default/tree/elbow-minus-nl.gif);}.x-tree-no-lines .x-tree-elbow-end{background:transparent;}.x-tree-no-lines .x-tree-elbow-end-plus{background-image:url(../images/default/tree/elbow-end-plus-nl.gif);}.x-tree-no-lines .x-tree-elbow-end-minus{background-image:url(../images/default/tree/elbow-end-minus-nl.gif);}.x-tree-no-lines .x-tree-elbow-line{background:transparent;}.x-tree-arrows .x-tree-elbow{background:transparent;}.x-tree-arrows .x-tree-elbow-plus{background:transparent url(../images/default/tree/arrows.gif) no-repeat 0 0;}.x-tree-arrows .x-tree-elbow-minus{background:transparent url(../images/default/tree/arrows.gif) no-repeat -16px 0;}.x-tree-arrows .x-tree-elbow-end{background:transparent;}.x-tree-arrows .x-tree-elbow-end-plus{background:transparent url(../images/default/tree/arrows.gif) no-repeat 0 0;}.x-tree-arrows .x-tree-elbow-end-minus{background:transparent url(../images/default/tree/arrows.gif) no-repeat -16px 0;}.x-tree-arrows .x-tree-elbow-line{background:transparent;}.x-tree-arrows .x-tree-ec-over .x-tree-elbow-plus{background-position:-32px 0;}.x-tree-arrows .x-tree-ec-over .x-tree-elbow-minus{background-position:-48px 0;}.x-tree-arrows .x-tree-ec-over .x-tree-elbow-end-plus{background-position:-32px 0;}.x-tree-arrows .x-tree-ec-over .x-tree-elbow-end-minus{background-position:-48px 0;}.x-tree-elbow-plus,.x-tree-elbow-minus,.x-tree-elbow-end-plus,.x-tree-elbow-end-minus{cursor:pointer;}.ext-ie ul.x-tree-node-ct{font-size:0;line-height:0;zoom:1;}.x-tree-node{color:black;font:normal 11px arial,tahoma,helvetica,sans-serif;white-space:nowrap;}.x-tree-node-el{line-height:18px;cursor:pointer;}.x-tree-node a,.x-dd-drag-ghost a{text-decoration:none;color:black;-khtml-user-select:none;-moz-user-select:none;-kthml-user-focus:normal;-moz-user-focus:normal;-moz-outline:0 none;outline:0 none;}.x-tree-node a span,.x-dd-drag-ghost a span{text-decoration:none;color:black;padding:1px 3px 1px 2px;}.x-tree-node .x-tree-node-disabled a span{color:gray!important;}.x-tree-node .x-tree-node-disabled .x-tree-node-icon{-moz-opacity:.5;opacity:.5;filter:alpha(opacity=50);}.x-tree-node .x-tree-node-inline-icon{background:transparent;}.x-tree-node a:hover,.x-dd-drag-ghost a:hover{text-decoration:none;}.x-tree-node div.x-tree-drag-insert-below{border-bottom:1px dotted #36c;}.x-tree-node div.x-tree-drag-insert-above{border-top:1px dotted #36c;}.x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-below{border-bottom:0 none;}.x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-above{border-top:0 none;}.x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-below a{border-bottom:2px solid #36c;}.x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-above a{border-top:2px solid #36c;}.x-tree-node .x-tree-drag-append a span{background:#ddd;border:1px dotted gray;}.x-tree-node .x-tree-node-over{background-color:#eee;}.x-tree-node .x-tree-selected{background-color:#d9e8fb;}.x-dd-drag-ghost .x-tree-node-indent,.x-dd-drag-ghost .x-tree-ec-icon{display:none!important;}.x-tree-drop-ok-append .x-dd-drop-icon{background-image:url(../images/default/tree/drop-add.gif);}.x-tree-drop-ok-above .x-dd-drop-icon{background-image:url(../images/default/tree/drop-over.gif);}.x-tree-drop-ok-below .x-dd-drop-icon{background-image:url(../images/default/tree/drop-under.gif);}.x-tree-drop-ok-between .x-dd-drop-icon{background-image:url(../images/default/tree/drop-between.gif);}.x-tree-root-ct{zoom:1;}.x-date-picker{border:1px solid #1b376c;border-top:0 none;background:#fff;position:relative;}.x-date-picker a{-moz-outline:0 none;outline:0 none;}.x-date-inner,.x-date-inner td,.x-date-inner th{border-collapse:separate;}.x-date-middle,.x-date-left,.x-date-right{background:url(../images/default/shared/hd-sprite.gif) repeat-x 0 -83px;color:#FFF;font:bold 11px "sans serif",tahoma,verdana,helvetica;overflow:hidden;}.x-date-middle .x-btn-left,.x-date-middle .x-btn-center,.x-date-middle .x-btn-right{background:transparent!important;vertical-align:middle;}.x-date-middle .x-btn .x-btn-text{color:#fff;}.x-date-middle .x-btn-with-menu .x-btn-center em{background:transparent url(../images/default/toolbar/btn-arrow-light.gif) no-repeat right 0;}.x-date-right,.x-date-left{width:18px;}.x-date-right{text-align:right;}.x-date-middle{padding-top:2px;padding-bottom:2px;width:130px;}.x-date-right a,.x-date-left a{display:block;width:16px;height:16px;background-position:center;background-repeat:no-repeat;cursor:pointer;-moz-opacity:.6;opacity:.6;filter:alpha(opacity=60);}.x-date-right a:hover,.x-date-left a:hover{-moz-opacity:1;opacity:1;filter:alpha(opacity=100);}.x-date-right a{background-image:url(../images/default/shared/right-btn.gif);margin-right:2px;text-decoration:none!important;}.x-date-left a{background-image:url(../images/default/shared/left-btn.gif);margin-left:2px;text-decoration:none!important;}table.x-date-inner{width:100%;table-layout:fixed;}.x-date-inner th{width:25px;}.x-date-inner th{background:#dfecfb url(../images/default/shared/glass-bg.gif) repeat-x left top;text-align:right!important;border-bottom:1px solid #a3bad9;font:normal 10px arial,helvetica,tahoma,sans-serif;color:#233d6d;cursor:default;padding:0;border-collapse:separate;}.x-date-inner th span{display:block;padding:2px;padding-right:7px;}.x-date-inner td{border:1px solid #fff;text-align:right;padding:0;}.x-date-inner a{padding:2px 5px;display:block;font:normal 11px arial,helvetica,tahoma,sans-serif;text-decoration:none;color:black;text-align:right;zoom:1;}.x-date-inner .x-date-active{cursor:pointer;color:black;}.x-date-inner .x-date-selected a{background:#dfecfb url(../images/default/shared/glass-bg.gif) repeat-x left top;border:1px solid #8db2e3;padding:1px 4px;}.x-date-inner .x-date-today a{border:1px solid darkred;padding:1px 4px;}.x-date-inner .x-date-selected span{font-weight:bold;}.x-date-inner .x-date-prevday a,.x-date-inner .x-date-nextday a{color:#aaa;text-decoration:none!important;}.x-date-bottom{padding:4px;border-top:1px solid #a3bad9;background:#dfecfb url(../images/default/shared/glass-bg.gif) repeat-x left top;}.x-date-inner a:hover,.x-date-inner .x-date-disabled a:hover{text-decoration:none!important;color:black;background:#ddecfe;}.x-date-inner .x-date-disabled a{cursor:default;background:#eee;color:#bbb;}.x-date-mmenu{background:#eee!important;}.x-date-mmenu .x-menu-item{font-size:10px;padding:1px 24px 1px 4px;white-space:nowrap;color:#000;}.x-date-mmenu .x-menu-item .x-menu-item-icon{width:10px;height:10px;margin-right:5px;background-position:center -4px!important;}.x-date-mp{position:absolute;left:0;top:0;background:white;display:none;}.x-date-mp td{padding:2px;font:normal 11px arial,helvetica,tahoma,sans-serif;}td.x-date-mp-month,td.x-date-mp-year,td.x-date-mp-ybtn{border:0 none;text-align:center;vertical-align:middle;width:25%;}.x-date-mp-ok{margin-right:3px;}.x-date-mp-btns button{text-decoration:none;text-align:center;text-decoration:none!important;background:#083772;color:white;border:1px solid;border-color:#36c #000055 #005 #3366cc;padding:1px 3px 1px;font:normal 11px arial,helvetica,tahoma,sans-serif;cursor:pointer;}.x-date-mp-btns{background:#dfecfb url(../images/default/shared/glass-bg.gif) repeat-x left top;}.x-date-mp-btns td{border-top:1px solid #c5d2df;text-align:center;}td.x-date-mp-month a,td.x-date-mp-year a{display:block;padding:2px 4px;text-decoration:none;text-align:center;color:#15428b;}td.x-date-mp-month a:hover,td.x-date-mp-year a:hover{color:#15428b;text-decoration:none;cursor:pointer;background:#ddecfe;}td.x-date-mp-sel a{padding:1px 3px;background:#dfecfb url(../images/default/shared/glass-bg.gif) repeat-x left top;border:1px solid #8db2e3;}.x-date-mp-ybtn a{overflow:hidden;width:15px;height:15px;cursor:pointer;background:transparent url(../images/default/panel/tool-sprites.gif) no-repeat;display:block;margin:0 auto;}.x-date-mp-ybtn a.x-date-mp-next{background-position:0 -120px;}.x-date-mp-ybtn a.x-date-mp-next:hover{background-position:-15px -120px;}.x-date-mp-ybtn a.x-date-mp-prev{background-position:0 -105px;}.x-date-mp-ybtn a.x-date-mp-prev:hover{background-position:-15px -105px;}.x-date-mp-ybtn{text-align:center;}td.x-date-mp-sep{border-right:1px solid #c5d2df;}.x-tip{position:absolute;top:0;left:0;visibility:hidden;z-index:20000;border:0 none;}.x-tip .x-tip-close{background-image:url(../images/default/qtip/close.gif);height:15px;float:right;width:15px;margin:0 0 2px 2px;cursor:pointer;display:none;}.x-tip .x-tip-tc{background:transparent url(../images/default/qtip/tip-sprite.gif) no-repeat 0 -62px;padding-top:3px;overflow:hidden;zoom:1;}.x-tip .x-tip-tl{background:transparent url(../images/default/qtip/tip-sprite.gif) no-repeat 0 0;padding-left:6px;overflow:hidden;zoom:1;}.x-tip .x-tip-tr{background:transparent url(../images/default/qtip/tip-sprite.gif) no-repeat right 0;padding-right:6px;overflow:hidden;zoom:1;}.x-tip .x-tip-bc{background:transparent url(../images/default/qtip/tip-sprite.gif) no-repeat 0 -121px;height:3px;overflow:hidden;}.x-tip .x-tip-bl{background:transparent url(../images/default/qtip/tip-sprite.gif) no-repeat 0 -59px;padding-left:6px;zoom:1;}.x-tip .x-tip-br{background:transparent url(../images/default/qtip/tip-sprite.gif) no-repeat right -59px;padding-right:6px;zoom:1;}.x-tip .x-tip-mc{border:0 none;font:normal 11px tahoma,arial,helvetica,sans-serif;}.x-tip .x-tip-ml{background:#fff url(../images/default/qtip/tip-sprite.gif) no-repeat 0 -124px;padding-left:6px;zoom:1;}.x-tip .x-tip-mr{background:transparent url(../images/default/qtip/tip-sprite.gif) no-repeat right -124px;padding-right:6px;zoom:1;}.ext-ie .x-tip .x-tip-header,.ext-ie .x-tip .x-tip-tc{font-size:0;line-height:0;}.x-tip .x-tip-header-text{font:bold 11px tahoma,arial,helvetica,sans-serif;padding:0;margin:0 0 2px 0;color:#444;}.x-tip .x-tip-body{font:normal 11px tahoma,arial,helvetica,sans-serif;margin:0!important;line-height:14px;color:#444;padding:0;}.x-tip .x-tip-body .loading-indicator{margin:0;}.x-tip-draggable .x-tip-header,.x-tip-draggable .x-tip-header-text{cursor:move;}.x-form-invalid-tip .x-tip-tc{background:url(../images/default/form/error-tip-corners.gif) repeat-x 0 -12px;padding-top:6px;}.x-form-invalid-tip .x-tip-tl{background-image:url(../images/default/form/error-tip-corners.gif);}.x-form-invalid-tip .x-tip-tr{background-image:url(../images/default/form/error-tip-corners.gif);}.x-form-invalid-tip .x-tip-bc{background:url(../images/default/form/error-tip-corners.gif) repeat-x 0 -18px;height:6px;}.x-form-invalid-tip .x-tip-bl{background:url(../images/default/form/error-tip-corners.gif) no-repeat 0 -6px;}.x-form-invalid-tip .x-tip-br{background:url(../images/default/form/error-tip-corners.gif) no-repeat right -6px;}.x-form-invalid-tip .x-tip-ml{background-image:url(../images/default/form/error-tip-corners.gif);}.x-form-invalid-tip .x-tip-mr{background-image:url(../images/default/form/error-tip-corners.gif);}.x-form-invalid-tip .x-tip-body{padding:2px;}.x-form-invalid-tip .x-tip-body{padding-left:24px;background:transparent url(../images/default/form/exclamation.gif) no-repeat 2px 2px;}.x-menu{border:1px solid #718bb7;z-index:15000;zoom:1;background:#f0f0f0 url(../images/default/menu/menu.gif) repeat-y;padding:2px;}.x-menu a{text-decoration:none!important;}.ext-ie .x-menu{zoom:1;overflow:hidden;}.x-menu-list{background:transparent;border:0 none;}.x-menu li{line-height:100%;}.x-menu li.x-menu-sep-li{font-size:1px;line-height:1px;}.x-menu-list-item{font:normal 11px tahoma,arial,sans-serif;white-space:nowrap;-moz-user-select:none;-khtml-user-select:none;display:block;padding:1px;}.x-menu-item-arrow{background:transparent url(../images/default/menu/menu-parent.gif) no-repeat right;}.x-menu-sep{display:block;font-size:1px;line-height:1px;margin:2px 3px;background-color:#e0e0e0;border-bottom:1px solid #fff;overflow:hidden;}.x-menu-focus{position:absolute;left:-1px;top:-1px;width:1px;height:1px;line-height:1px;font-size:1px;-moz-outline:0 none;outline:0 none;-moz-user-select:text;-khtml-user-select:text;overflow:hidden;display:block;}.x-menu a.x-menu-item{display:block;line-height:16px;padding:3px 21px 3px 27px;white-space:nowrap;text-decoration:none;color:#222;-moz-outline:0 none;outline:0 none;cursor:pointer;position:relative;}.x-menu-item-active{background:#ebf3fd url(../images/default/menu/item-over.gif) repeat-x left bottom;border:1px solid #aaccf6;padding:0;}.x-menu-item-active a.x-menu-item{color:#233d6d;}.x-menu-item-icon{border:0 none;height:16px;padding:0;vertical-align:top;width:16px;position:absolute;left:3px;top:3px;margin:0;background-position:center;}.x-menu-check-item .x-menu-item-icon{background:transparent url(../images/default/menu/unchecked.gif) no-repeat center;}.x-menu-item-checked .x-menu-item-icon{background-image:url(../images/default/menu/checked.gif);}.x-menu-group-item .x-menu-item-icon{background:transparent;}.x-menu-item-checked .x-menu-group-item .x-menu-item-icon{background:transparent url(../images/default/menu/group-checked.gif) no-repeat center;}.x-menu-plain{background:#fff!important;}.x-menu-date-item{padding:0;}.x-menu .x-color-palette,.x-menu .x-date-picker{margin-left:26px;margin-right:4px;}.x-menu .x-date-picker{border:1px solid #a3bad9;margin-top:2px;margin-bottom:2px;}.x-menu-plain .x-color-palette,.x-menu-plain .x-date-picker{margin:0;border:0 none;}.x-date-menu{padding:0!important;}.x-cycle-menu .x-menu-item-checked{border:1px dotted #a3bae9!important;background:#DFE8F6;padding:0;}.x-box-tl{background:transparent url(../images/default/box/corners.gif) no-repeat 0 0;zoom:1;}.x-box-tc{height:8px;background:transparent url(../images/default/box/tb.gif) repeat-x 0 0;overflow:hidden;}.x-box-tr{background:transparent url(../images/default/box/corners.gif) no-repeat right -8px;}.x-box-ml{background:transparent url(../images/default/box/l.gif) repeat-y 0;padding-left:4px;overflow:hidden;zoom:1;}.x-box-mc{background:#eee url(../images/default/box/tb.gif) repeat-x 0 -16px;padding:4px 10px;font-family:"Myriad Pro","Myriad Web","Tahoma","Helvetica","Arial",sans-serif;color:#393939;font-size:12px;}.x-box-mc h3{font-size:14px;font-weight:bold;margin:0 0 4px 0;zoom:1;}.x-box-mr{background:transparent url(../images/default/box/r.gif) repeat-y right;padding-right:4px;overflow:hidden;}.x-box-bl{background:transparent url(../images/default/box/corners.gif) no-repeat 0 -16px;zoom:1;}.x-box-bc{background:transparent url(../images/default/box/tb.gif) repeat-x 0 -8px;height:8px;overflow:hidden;}.x-box-br{background:transparent url(../images/default/box/corners.gif) no-repeat right -24px;}.x-box-tl,.x-box-bl{padding-left:8px;overflow:hidden;}.x-box-tr,.x-box-br{padding-right:8px;overflow:hidden;}.x-box-blue .x-box-bl,.x-box-blue .x-box-br,.x-box-blue .x-box-tl,.x-box-blue .x-box-tr{background-image:url(../images/default/box/corners-blue.gif);}.x-box-blue .x-box-bc,.x-box-blue .x-box-mc,.x-box-blue .x-box-tc{background-image:url(../images/default/box/tb-blue.gif);}.x-box-blue .x-box-mc{background-color:#c3daf9;}.x-box-blue .x-box-mc h3{color:#17385b;}.x-box-blue .x-box-ml{background-image:url(../images/default/box/l-blue.gif);}.x-box-blue .x-box-mr{background-image:url(../images/default/box/r-blue.gif);}#x-debug-browser .x-tree .x-tree-node a span{color:#222297;font-size:11px;padding-top:2px;font-family:"monotype","courier new",sans-serif;line-height:18px;}#x-debug-browser .x-tree a i{color:#FF4545;font-style:normal;}#x-debug-browser .x-tree a em{color:#999;}#x-debug-browser .x-tree .x-tree-node .x-tree-selected a span{background:#c3daf9;}#x-debug-browser .x-tool-toggle{background-position:0 -75px;}#x-debug-browser .x-tool-toggle-over{background-position:-15px -75px;}#x-debug-browser.x-panel-collapsed .x-tool-toggle{background-position:0 -60px;}#x-debug-browser.x-panel-collapsed .x-tool-toggle-over{background-position:-15px -60px;}.x-combo-list{border:1px solid #98c0f4;background:#ddecfe;zoom:1;overflow:hidden;}.x-combo-list-inner{overflow:auto;background:white;position:relative;zoom:1;overflow-x:hidden;}.x-combo-list-hd{font:bold 11px tahoma,arial,helvetica,sans-serif;color:#15428b;background-image:url(../images/default/layout/panel-title-light-bg.gif);border-bottom:1px solid #98c0f4;padding:3px;}.x-resizable-pinned .x-combo-list-inner{border-bottom:1px solid #98c0f4;}.x-combo-list-item{font:normal 12px tahoma,arial,helvetica,sans-serif;padding:2px;border:1px solid #fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.x-combo-list .x-combo-selected{border:1px dotted #a3bae9!important;background:#DFE8F6;cursor:pointer;}.x-combo-noedit{cursor:pointer;}.x-combo-list .x-toolbar{border-top:1px solid #98c0f4;border-bottom:0 none;}.x-combo-list-small .x-combo-list-item{font:normal 11px tahoma,arial,helvetica,sans-serif;}.x-panel{border-style:solid;border-color:#99bbe8;border-width:0;}.x-panel-header{overflow:hidden;zoom:1;color:#15428b;font:bold 11px tahoma,arial,verdana,sans-serif;padding:5px 3px 4px 5px;border:1px solid #99bbe8;line-height:15px;background:transparent url(../images/default/panel/white-top-bottom.gif) repeat-x 0 -1px;}.x-panel-body{border:1px solid #99bbe8;border-top:0 none;overflow:hidden;background:white;position:relative;}.x-panel-bbar .x-toolbar{border:1px solid #99bbe8;border-top:0 none;overflow:hidden;padding:2px;}.x-panel-tbar .x-toolbar{border:1px solid #99bbe8;border-top:0 none;overflow:hidden;padding:2px;}.x-panel-tbar-noheader .x-toolbar,.x-panel-mc .x-panel-tbar .x-toolbar{border-top:1px solid #99bbe8;border-bottom:0 none;}.x-panel-body-noheader,.x-panel-mc .x-panel-body{border-top:1px solid #99bbe8;}.x-panel-header{overflow:hidden;zoom:1;}.x-panel-tl .x-panel-header{color:#15428b;font:bold 11px tahoma,arial,verdana,sans-serif;padding:5px 0 4px 0;border:0 none;background:transparent;}.x-panel-tl .x-panel-icon,.x-window-tl .x-panel-icon{padding-left:20px!important;background-repeat:no-repeat;background-position:0 4px;zoom:1;}.x-panel-inline-icon{width:16px;height:16px;background-repeat:no-repeat;background-position:0 0;vertical-align:middle;margin-right:4px;margin-top:-1px;margin-bottom:-1px;}.x-panel-tc{background:transparent url(../images/default/panel/top-bottom.gif) repeat-x 0 0;overflow:hidden;}.ext-strict .ext-ie7 .x-panel-tc{overflow:visible;}.x-panel-tl{background:transparent url(../images/default/panel/corners-sprite.gif) no-repeat 0 0;padding-left:6px;zoom:1;border-bottom:1px solid #99bbe8;}.x-panel-tr{background:transparent url(../images/default/panel/corners-sprite.gif) no-repeat right 0;zoom:1;padding-right:6px;}.x-panel-bc{background:transparent url(../images/default/panel/top-bottom.gif) repeat-x 0 bottom;zoom:1;}.x-panel-bc .x-panel-footer{zoom:1;}.x-panel-bl{background:transparent url(../images/default/panel/corners-sprite.gif) no-repeat 0 bottom;padding-left:6px;zoom:1;}.x-panel-br{background:transparent url(../images/default/panel/corners-sprite.gif) no-repeat right bottom;padding-right:6px;zoom:1;}.x-panel-mc{border:0 none;padding:0;margin:0;font:normal 11px tahoma,arial,helvetica,sans-serif;padding-top:6px;background:#dfe8f6;}.x-panel-mc .x-panel-body{background:transparent;border:0 none;}.x-panel-ml{background:#fff url(../images/default/panel/left-right.gif) repeat-y 0 0;padding-left:6px;zoom:1;}.x-panel-mr{background:transparent url(../images/default/panel/left-right.gif) repeat-y right 0;padding-right:6px;zoom:1;}.x-panel-bc .x-panel-footer{padding-bottom:6px;}.x-panel-nofooter .x-panel-bc,.x-panel-nofooter .x-window-bc{height:6px;font-size:0;line-height:0;}.x-panel-bwrap{overflow:hidden;zoom:1;left:0;top:0;}.x-panel-body{overflow:hidden;zoom:1;}.x-panel-collapsed .x-resizable-handle{display:none;}.ext-gecko .x-panel-animated div{overflow:hidden!important;}.x-plain-body{overflow:hidden;}.x-plain-bbar .x-toolbar{overflow:hidden;padding:2px;}.x-plain-tbar .x-toolbar{overflow:hidden;padding:2px;}.x-plain-bwrap{overflow:hidden;zoom:1;}.x-plain{overflow:hidden;}.x-tool{overflow:hidden;width:15px;height:15px;float:right;cursor:pointer;background:transparent url(../images/default/panel/tool-sprites.gif) no-repeat;margin-left:2px;}.x-tool-toggle{background-position:0 -60px;}.x-tool-toggle-over{background-position:-15px -60px;}.x-panel-collapsed .x-tool-toggle{background-position:0 -75px;}.x-panel-collapsed .x-tool-toggle-over{background-position:-15px -75px;}.x-tool-close{background-position:0 -0;}.x-tool-close-over{background-position:-15px 0;}.x-tool-minimize{background-position:0 -15px;}.x-tool-minimize-over{background-position:-15px -15px;}.x-tool-maximize{background-position:0 -30px;}.x-tool-maximize-over{background-position:-15px -30px;}.x-tool-restore{background-position:0 -45px;}.x-tool-restore-over{background-position:-15px -45px;}.x-tool-gear{background-position:0 -90px;}.x-tool-gear-over{background-position:-15px -90px;}.x-tool-pin{background-position:0 -135px;}.x-tool-pin-over{background-position:-15px -135px;}.x-tool-unpin{background-position:0 -150px;}.x-tool-unpin-over{background-position:-15px -150px;}.x-tool-right{background-position:0 -165px;}.x-tool-right-over{background-position:-15px -165px;}.x-tool-left{background-position:0 -180px;}.x-tool-left-over{background-position:-15px -180px;}.x-tool-up{background-position:0 -210px;}.x-tool-up-over{background-position:-15px -210px;}.x-tool-down{background-position:0 -195px;}.x-tool-down-over{background-position:-15px -195px;}.x-tool-refresh{background-position:0 -225px;}.x-tool-refresh-over{background-position:-15px -225px;}.x-tool-minus{background-position:0 -255px;}.x-tool-minus-over{background-position:-15px -255px;}.x-tool-plus{background-position:0 -240px;}.x-tool-plus-over{background-position:-15px -240px;}.x-tool-search{background-position:0 -270px;}.x-tool-search-over{background-position:-15px -270px;}.x-tool-save{background-position:0 -285px;}.x-tool-save-over{background-position:-15px -285px;}.x-tool-help{background-position:0 -300px;}.x-tool-help-over{background-position:-15px -300px;}.x-tool-print{background-position:0 -315px;}.x-tool-print-over{background-position:-15px -315px;}.x-panel-ghost{background:#cbddf3;z-index:12000;overflow:hidden;position:absolute;left:0;top:0;opacity:.65;-moz-opacity:.65;filter:alpha(opacity=65);}.x-panel-ghost ul{margin:0;padding:0;overflow:hidden;font-size:0;line-height:0;border:1px solid #99bbe8;border-top:0 none;display:block;}.x-panel-ghost *{cursor:move!important;}.x-panel-dd-spacer{border:2px dashed #99bbe8;}.x-panel-btns-ct{padding:5px;}.x-panel-btns-ct .x-btn{float:right;clear:none;}.x-panel-btns-ct .x-panel-btns td{border:0;padding:0;}.x-panel-btns-ct .x-panel-btns-right table{float:right;clear:none;}.x-panel-btns-ct .x-panel-btns-left table{float:left;clear:none;}.x-panel-btns-ct .x-panel-btns-center{text-align:center;}.x-panel-btns-ct .x-panel-btns-center table{margin:0 auto;}.x-panel-btns-ct table td.x-panel-btn-td{padding:3px;}.x-panel-btns-ct .x-btn-focus .x-btn-left{background-position:0 -147px;}.x-panel-btns-ct .x-btn-focus .x-btn-right{background-position:0 -168px;}.x-panel-btns-ct .x-btn-focus .x-btn-center{background-position:0 -189px;}.x-panel-btns-ct .x-btn-over .x-btn-left{background-position:0 -63px;}.x-panel-btns-ct .x-btn-over .x-btn-right{background-position:0 -84px;}.x-panel-btns-ct .x-btn-over .x-btn-center{background-position:0 -105px;}.x-panel-btns-ct .x-btn-click .x-btn-center{background-position:0 -126px;}.x-panel-btns-ct .x-btn-click .x-btn-right{background-position:0 -84px;}.x-panel-btns-ct .x-btn-click .x-btn-left{background-position:0 -63px;}.x-window{zoom:1;}.x-window .x-resizable-handle{opacity:0;-moz-opacity:0;filter:alpha(opacity=0);}.x-window-proxy{background:#C7DFFC;border:1px solid #99bbe8;z-index:12000;overflow:hidden;position:absolute;left:0;top:0;display:none;opacity:.5;-moz-opacity:.5;filter:alpha(opacity=50);}.x-window-header{overflow:hidden;zoom:1;}.x-window-bwrap{z-index:1;position:relative;zoom:1;left:0;top:0;}.x-window-tl .x-window-header{color:#15428b;font:bold 11px tahoma,arial,verdana,sans-serif;padding:5px 0 4px 0;}.x-window-header-text{cursor:pointer;}.x-window-tc{background:transparent url(../images/default/window/top-bottom.png) repeat-x 0 0;overflow:hidden;zoom:1;}.x-window-tl{background:transparent url(../images/default/window/left-corners.png) no-repeat 0 0;padding-left:6px;zoom:1;z-index:1;position:relative;}.x-window-tr{background:transparent url(../images/default/window/right-corners.png) no-repeat right 0;padding-right:6px;}.x-window-bc{background:transparent url(../images/default/window/top-bottom.png) repeat-x 0 bottom;zoom:1;}.x-window-bc .x-window-footer{padding-bottom:6px;zoom:1;font-size:0;line-height:0;}.x-window-bl{background:transparent url(../images/default/window/left-corners.png) no-repeat 0 bottom;padding-left:6px;zoom:1;}.x-window-br{background:transparent url(../images/default/window/right-corners.png) no-repeat right bottom;padding-right:6px;zoom:1;}.x-window-mc{border:1px solid #99bbe8;padding:0;margin:0;font:normal 11px tahoma,arial,helvetica,sans-serif;background:#dfe8f6;}.x-window-ml{background:transparent url(../images/default/window/left-right.png) repeat-y 0 0;padding-left:6px;zoom:1;}.x-window-mr{background:transparent url(../images/default/window/left-right.png) repeat-y right 0;padding-right:6px;zoom:1;}.x-window-body{overflow:hidden;}.x-window-bwrap{overflow:hidden;}.x-window-maximized .x-window-bl,.x-window-maximized .x-window-br,.x-window-maximized .x-window-ml,.x-window-maximized .x-window-mr,.x-window-maximized .x-window-tl,.x-window-maximized .x-window-tr{padding:0;}.x-window-maximized .x-window-footer{padding-bottom:0;}.x-window-maximized .x-window-tc{padding-left:3px;padding-right:3px;background-color:white;}.x-window-maximized .x-window-mc{border-left:0 none;border-right:0 none;}.x-window-tbar .x-toolbar,.x-window-bbar .x-toolbar{border-left:0 none;border-right:0 none;}.x-window-bbar .x-toolbar{border-top:1px solid #99bbe8;border-bottom:0 none;}.x-window-draggable,.x-window-draggable .x-window-header-text{cursor:move;}.x-window-maximized .x-window-draggable,.x-window-maximized .x-window-draggable .x-window-header-text{cursor:default;}.x-window-body{background:transparent;}.x-panel-ghost .x-window-tl{border-bottom:1px solid #99bbe8;}.x-panel-collapsed .x-window-tl{border-bottom:1px solid #84a0c4;}.x-window-maximized-ct{overflow:hidden;}.x-window-maximized .x-resizable-handle{display:none;}.x-window-sizing-ghost ul{border:0 none!important;}.x-dlg-focus{-moz-outline:0 none;outline:0 none;width:0;height:0;overflow:hidden;position:absolute;top:0;left:0;}.x-dlg-mask{z-index:10000;display:none;position:absolute;top:0;left:0;-moz-opacity:.5;opacity:.50;filter:alpha(opacity=50);background-color:#CCC;}body.ext-ie6.x-body-masked select{visibility:hidden;}body.ext-ie6.x-body-masked .x-window select{visibility:visible;}.x-window-plain .x-window-mc{background:#CAD9EC;border-right:1px solid #DFE8F6;border-bottom:1px solid #DFE8F6;border-top:1px solid #a3bae9;border-left:1px solid #a3bae9;}.x-window-plain .x-window-body{border-left:1px solid #DFE8F6;border-top:1px solid #DFE8F6;border-bottom:1px solid #a3bae9;border-right:1px solid #a3bae9;background:transparent!important;}body.x-body-masked .x-window-plain .x-window-mc{background:#C7D6E9;}.x-html-editor-wrap{border:1px solid #a9bfd3;background:white;}.x-html-editor-tb .x-btn-text{background:transparent url(../images/default/editor/tb-sprite.gif) no-repeat;}.x-html-editor-tb .x-edit-bold .x-btn-text{background-position:0 0;}.x-html-editor-tb .x-edit-italic .x-btn-text{background-position:-16px 0;}.x-html-editor-tb .x-edit-underline .x-btn-text{background-position:-32px 0;}.x-html-editor-tb .x-edit-forecolor .x-btn-text{background-position:-160px 0;}.x-html-editor-tb .x-edit-backcolor .x-btn-text{background-position:-176px 0;}.x-html-editor-tb .x-edit-justifyleft .x-btn-text{background-position:-112px 0;}.x-html-editor-tb .x-edit-justifycenter .x-btn-text{background-position:-128px 0;}.x-html-editor-tb .x-edit-justifyright .x-btn-text{background-position:-144px 0;}.x-html-editor-tb .x-edit-insertorderedlist .x-btn-text{background-position:-80px 0;}.x-html-editor-tb .x-edit-insertunorderedlist .x-btn-text{background-position:-96px 0;}.x-html-editor-tb .x-edit-increasefontsize .x-btn-text{background-position:-48px 0;}.x-html-editor-tb .x-edit-decreasefontsize .x-btn-text{background-position:-64px 0;}.x-html-editor-tb .x-edit-sourceedit .x-btn-text{background-position:-192px 0;}.x-html-editor-tb .x-edit-createlink .x-btn-text{background-position:-208px 0;}.x-html-editor-tip .x-tip-bd .x-tip-bd-inner{padding:5px;padding-bottom:1px;}.x-html-editor-tb .x-toolbar{position:static!important;}.x-panel-noborder .x-panel-body-noborder{border-width:0;}.x-panel-noborder .x-panel-header-noborder{border-width:0;border-bottom:1px solid #99bbe8;}.x-panel-noborder .x-panel-tbar-noborder .x-toolbar{border-width:0;border-bottom:1px solid #99bbe8;}.x-panel-noborder .x-panel-bbar-noborder .x-toolbar{border-width:0;border-top:1px solid #99bbe8;}.x-window-noborder .x-window-mc{border-width:0;}.x-window-plain .x-window-body-noborder{border-width:0;}.x-tab-panel-noborder .x-tab-panel-body-noborder{border-width:0;}.x-tab-panel-noborder .x-tab-panel-header-noborder{border-top-width:0;border-left-width:0;border-right-width:0;}.x-tab-panel-noborder .x-tab-panel-footer-noborder{border-bottom-width:0;border-left-width:0;border-right-width:0;}.x-tab-panel-bbar-noborder .x-toolbar{border-width:0;border-top:1px solid #99bbe8;}.x-tab-panel-tbar-noborder .x-toolbar{border-width:0;border-bottom:1px solid #99bbe8;}.x-border-layout-ct{background:#dfe8f6;}.x-border-panel{position:absolute;left:0;top:0;}.x-tool-collapse-south{background-position:0 -195px;}.x-tool-collapse-south-over{background-position:-15px -195px;}.x-tool-collapse-north{background-position:0 -210px;}.x-tool-collapse-north-over{background-position:-15px -210px;}.x-tool-collapse-west{background-position:0 -180px;}.x-tool-collapse-west-over{background-position:-15px -180px;}.x-tool-collapse-east{background-position:0 -165px;}.x-tool-collapse-east-over{background-position:-15px -165px;}.x-tool-expand-south{background-position:0 -210px;}.x-tool-expand-south-over{background-position:-15px -210px;}.x-tool-expand-north{background-position:0 -195px;}.x-tool-expand-north-over{background-position:-15px -195px;}.x-tool-expand-west{background-position:0 -165px;}.x-tool-expand-west-over{background-position:-15px -165px;}.x-tool-expand-east{background-position:0 -180px;}.x-tool-expand-east-over{background-position:-15px -180px;}.x-tool-expand-north,.x-tool-expand-south{float:right;margin:3px;}.x-tool-expand-east,.x-tool-expand-west{float:none;margin:3px auto;}.x-accordion-hd .x-tool-toggle{background-position:0 -255px;}.x-accordion-hd .x-tool-toggle-over{background-position:-15px -255px;}.x-panel-collapsed .x-accordion-hd .x-tool-toggle{background-position:0 -240px;}.x-panel-collapsed .x-accordion-hd .x-tool-toggle-over{background-position:-15px -240px;}.x-accordion-hd{color:#222;padding-top:4px;padding-bottom:3px;border-top:0 none;font-weight:normal;background:transparent url(../images/default/panel/light-hd.gif) repeat-x 0 -9px;}.x-layout-collapsed{position:absolute;left:-10000px;top:-10000px;visibility:hidden;background-color:#d2e0f2;width:20px;height:20px;overflow:hidden;border:1px solid #98c0f4;z-index:20;}.ext-border-box .x-layout-collapsed{width:22px;height:22px;}.x-layout-collapsed-over{cursor:pointer;background-color:#d9e8fb;}.x-layout-collapsed-west .x-layout-collapsed-tools,.x-layout-collapsed-east .x-layout-collapsed-tools{position:absolute;top:0;left:0;width:20px;height:20px;}.x-layout-split{position:absolute;height:5px;width:5px;line-height:1px;font-size:1px;z-index:3;background-color:transparent;}.ext-strict .ext-ie6 .x-layout-split{background-color:#fff!important;filter:alpha(opacity=1);}.x-layout-split-h{background-image:url(../images/default/s.gif);background-position:left;}.x-layout-split-v{background-image:url(../images/default/s.gif);background-position:top;}.x-column-layout-ct{overflow:hidden;zoom:1;}.x-column{float:left;padding:0;margin:0;overflow:hidden;zoom:1;}.x-layout-mini{position:absolute;top:0;left:0;display:block;width:5px;height:35px;cursor:pointer;opacity:.5;-moz-opacity:.5;filter:alpha(opacity=50);}.x-layout-mini-over,.x-layout-collapsed-over .x-layout-mini{opacity:1;-moz-opacity:1;filter:none;}.x-layout-split-west .x-layout-mini{top:48%;background-image:url(../images/default/layout/mini-left.gif);}.x-layout-split-east .x-layout-mini{top:48%;background-image:url(../images/default/layout/mini-right.gif);}.x-layout-split-north .x-layout-mini{left:48%;height:5px;width:35px;background-image:url(../images/default/layout/mini-top.gif);}.x-layout-split-south .x-layout-mini{left:48%;height:5px;width:35px;background-image:url(../images/default/layout/mini-bottom.gif);}.x-layout-cmini-west .x-layout-mini{top:48%;background-image:url(../images/default/layout/mini-right.gif);}.x-layout-cmini-east .x-layout-mini{top:48%;background-image:url(../images/default/layout/mini-left.gif);}.x-layout-cmini-north .x-layout-mini{left:48%;height:5px;width:35px;background-image:url(../images/default/layout/mini-bottom.gif);}.x-layout-cmini-south .x-layout-mini{left:48%;height:5px;width:35px;background-image:url(../images/default/layout/mini-top.gif);}.x-layout-cmini-west,.x-layout-cmini-east{border:0 none;width:5px!important;padding:0;background:transparent;}.x-layout-cmini-north,.x-layout-cmini-south{border:0 none;height:5px!important;padding:0;background:transparent;}.x-viewport,.x-viewport body{margin:0;padding:0;border:0 none;overflow:hidden;height:100%;}.x-abs-layout-item{position:absolute;left:0;top:0;}.ext-ie input.x-abs-layout-item,.ext-ie textarea.x-abs-layout-item{margin:0;}.x-progress-wrap{border:1px solid #6593cf;overflow:hidden;}.x-progress-inner{height:18px;background:#e0e8f3 url(../images/default/qtip/bg.gif) repeat-x;position:relative;}.x-progress-bar{height:18px;float:left;width:0;background:#9CBFEE url(../images/default/progress/progress-bg.gif) repeat-x left center;border-top:1px solid #D1E4FD;border-bottom:1px solid #7FA9E4;border-right:1px solid #7FA9E4;}.x-progress-text{font-size:11px;font-weight:bold;color:#fff;padding:1px 5px;overflow:hidden;position:absolute;left:0;text-align:center;}.x-progress-text-back{color:#396095;line-height:16px;}.ext-ie .x-progress-text-back{line-height:15px;}.x-window-dlg .x-window-body{border:0 none!important;padding:5px 10px;overflow:hidden!important;}.x-window-dlg .x-window-mc{border:0 none!important;}.x-window-dlg .ext-mb-text,.x-window-dlg .x-window-header-text{font-size:12px;}.x-window-dlg .ext-mb-input{margin-top:4px;width:95%;}.x-window-dlg .ext-mb-textarea{margin-top:4px;font:normal 12px tahoma,arial,helvetica,sans-serif;}.x-window-dlg .x-progress-wrap{margin-top:4px;}.ext-ie .x-window-dlg .x-progress-wrap{margin-top:6px;}.x-window-dlg .x-msg-box-wait{background:transparent url(../images/default/grid/loading.gif) no-repeat left;display:block;width:300px;padding-left:18px;line-height:18px;}.x-window-dlg .ext-mb-icon{float:left;width:47px;height:32px;}.x-window-dlg .ext-mb-icon{float:left;width:47px;height:32px;}.ext-ie .x-window-dlg .ext-mb-icon{width:44px;}.x-window-dlg .ext-mb-info{background:transparent url(../images/default/window/icon-info.gif) no-repeat top left;}.x-window-dlg .ext-mb-warning{background:transparent url(../images/default/window/icon-warning.gif) no-repeat top left;}.x-window-dlg .ext-mb-question{background:transparent url(../images/default/window/icon-question.gif) no-repeat top left;}.x-window-dlg .ext-mb-error{background:transparent url(../images/default/window/icon-error.gif) no-repeat top left;}.ext-gecko2 .ext-mb-fix-cursor{overflow:auto;}.x-slider{zoom:1;}.x-slider-inner{position:relative;left:0;top:0;overflow:visible;zoom:1;}.x-slider-focus{position:absolute;left:0;top:0;width:1px;height:1px;line-height:1px;font-size:1px;-moz-outline:0 none;outline:0 none;-moz-user-select:text;-khtml-user-select:text;}.x-slider-horz{padding-left:7px;background:transparent url(../images/default/slider/slider-bg.png) no-repeat 0 -22px;}.x-slider-horz .x-slider-end{padding-right:7px;zoom:1;background:transparent url(../images/default/slider/slider-bg.png) no-repeat right -44px;}.x-slider-horz .x-slider-inner{background:transparent url(../images/default/slider/slider-bg.png) repeat-x 0 0;height:22px;}.x-slider-horz .x-slider-thumb{width:14px;height:15px;position:absolute;left:0;top:3px;background:transparent url(../images/default/slider/slider-thumb.png) no-repeat 0 0;}.x-slider-horz .x-slider-thumb-over{background-position:-14px -15px;}.x-slider-horz .x-slider-thumb-drag{background-position:-28px -30px;}.x-slider-vert{padding-top:7px;background:transparent url(../images/default/slider/slider-v-bg.png) no-repeat -44px 0;width:22px;}.x-slider-vert .x-slider-end{padding-bottom:7px;zoom:1;background:transparent url(../images/default/slider/slider-v-bg.png) no-repeat -22px bottom;}.x-slider-vert .x-slider-inner{background:transparent url(../images/default/slider/slider-v-bg.png) repeat-y 0 0;}.x-slider-vert .x-slider-thumb{width:15px;height:14px;position:absolute;left:3px;bottom:0;background:transparent url(../images/default/slider/slider-v-thumb.png) no-repeat 0 0;}.x-slider-vert .x-slider-thumb-over{background-position:-15px -14px;}.x-slider-vert .x-slider-thumb-drag{background-position:-30px -28px;}
diff --git a/static/extjs/resources/css/form.css b/static/extjs/resources/css/form.css
new file mode 100644
index 00000000..6f5cdf07
--- /dev/null
+++ b/static/extjs/resources/css/form.css
@@ -0,0 +1,559 @@
+/*
+ * Ext JS Library 2.2.1
+ * Copyright(c) 2006-2009, Ext JS, LLC.
+ * licensing@extjs.com
+ * 
+ * http://extjs.com/license
+ */
+
+/* all fields */
+.x-form-field{
+    margin: 0 0 0 0;
+    font:normal 12px tahoma, arial, helvetica, sans-serif;
+}
+
+/* ---- text fields ---- */
+.x-form-text, textarea.x-form-field{
+    padding:1px 3px;
+    background:#fff url(../images/default/form/text-bg.gif) repeat-x 0 0;
+    border:1px solid #B5B8C8;
+}
+textarea.x-form-field {
+    padding:2px 3px;
+}
+.x-form-text {
+    height:22px;
+    line-height:18px;
+    vertical-align:middle;
+}
+.ext-ie .x-form-text {
+    margin:-1px 0; /* ie bogus margin bug */
+    height:22px; /* ie quirks */
+    line-height:18px;
+}
+.ext-ie textarea.x-form-field {
+    margin:-1px 0; /* ie bogus margin bug */
+}
+.ext-strict .x-form-text {
+    height:18px;
+}
+.ext-safari .x-form-text {
+    height:20px; /* safari always same size */
+    padding:0 3px; /* remove extra top/bottom padding */
+}
+.ext-safari.ext-mac textarea.x-form-field {
+    margin-bottom:-2px; /* another bogus margin bug, safari/mac only */
+}
+.ext-gecko .x-form-text {
+    padding-top:2px; /* FF won't center the text vertically */
+    padding-bottom:0;
+}
+textarea {
+    resize: none;  /* Disable browser resizable textarea */
+}
+
+/* select boxes */
+
+.x-form-select-one {
+    height:20px;
+    line-height:18px;
+    vertical-align:middle;
+    background-color:#fff; /* opera */
+    border: 1px solid #B5B8C8;
+}
+
+/* multi select boxes */
+
+/* --- TODO --- */
+
+/* checkboxes / radios */
+.x-form-check-group, .x-form-radio-group {
+    margin-bottom: 0;
+}
+.x-form-check-group .x-form-invalid .x-panel-body,
+.x-form-radio-group .x-form-invalid .x-panel-body {
+    background-color: transparent;
+}
+.x-form-check-wrap, .x-form-radio-wrap {
+    padding: 3px 0 0 0;
+    line-height:18px;
+}
+.x-form-check-group .x-form-check-wrap, 
+.x-form-radio-group .x-form-radio-wrap {
+    height: 18px;
+}
+.ext-ie .x-form-check-group .x-form-check-wrap, 
+.ext-ie .x-form-radio-group .x-form-radio-wrap {
+    height: 21px;
+}
+.ext-ie .x-form-check-wrap input,
+.ext-ie .x-form-radio-wrap input {
+    width:15px;
+    height:15px;
+}
+.x-form-check, .x-form-radio {
+	height: 13px;
+	width: 13px;
+    vertical-align: bottom;
+} 
+.x-form-radio {
+    margin-bottom: 3px;
+}
+.x-form-check, .ext-ie .x-form-radio {
+    margin-bottom: 2px;
+}
+.x-form-check-wrap-inner, .x-form-radio-wrap-inner {
+    display: inline;
+    padding: 3px 0 0 0;
+}
+.x-form-check {
+	background: url('../images/default/form/checkbox.gif') no-repeat 0 0;
+}
+.x-form-radio {
+	background: url('../images/default/form/radio.gif') no-repeat 0 0;
+}
+.x-form-check-focus .x-form-check, .x-form-check-over .x-form-check,
+.x-form-check-focus .x-form-radio, .x-form-check-over .x-form-radio {
+	background-position: -13px 0;
+}
+.x-form-check-down .x-form-check, 
+.x-form-check-down .x-form-radio {
+	background-position:-26px 0;
+}
+.x-form-check-checked .x-form-check-focus .x-form-check, 
+.x-form-check-checked .x-form-check-over .x-form-check {
+	background-position:-13px -13px;
+}
+.x-form-check-checked .x-form-check-down .x-form-check {
+	background-position:-26px -13px;
+}
+.x-form-check-checked .x-form-check, 
+.x-form-check-checked .x-form-radio {
+	background-position:0 -13px;
+}
+.x-form-check-group-label {
+    border-bottom: 1px solid #99BBE8;
+    color: #15428B;
+    margin-bottom: 5px;
+    padding-left: 3px !important;
+    float: none !important;
+}
+
+/* wrapped fields and triggers */
+
+.x-form-field-wrap {
+    position:relative;
+    zoom:1;
+    white-space: nowrap;
+}
+.x-form-field-wrap .x-form-trigger{
+    width:17px;
+    height:21px;
+    border:0;
+    background:transparent url(../images/default/form/trigger.gif) no-repeat 0 0;
+    cursor:pointer;
+    border-bottom: 1px solid #B5B8C8;
+    position:absolute;
+    top:0;
+}
+.ext-safari .x-form-field-wrap .x-form-trigger{
+    height:21px; /* safari doesn't allow height adjustments to the fields, so adjust trigger */
+}
+
+.x-form-field-wrap .x-form-date-trigger{
+    background-image: url(../images/default/form/date-trigger.gif);
+    cursor:pointer;
+}
+.x-form-field-wrap .x-form-clear-trigger{
+    background-image: url(../images/default/form/clear-trigger.gif);
+    cursor:pointer;
+}
+.x-form-field-wrap .x-form-search-trigger{
+    background-image: url(../images/default/form/search-trigger.gif);
+    cursor:pointer;
+}
+.ext-safari .x-form-field-wrap .x-form-trigger{
+    right:0;
+}
+.x-form-field-wrap .x-form-twin-triggers{
+
+}
+.x-form-field-wrap .x-form-twin-triggers .x-form-trigger{
+    position:static;
+    top:auto;
+    vertical-align:top;
+}
+
+
+.x-form-field-wrap .x-form-trigger-over{
+    background-position:-17px 0;
+}
+.x-form-field-wrap .x-form-trigger-click{
+    background-position:-34px 0;
+}
+
+.x-trigger-wrap-focus .x-form-trigger{
+    background-position:-51px 0;
+}
+.x-trigger-wrap-focus .x-form-trigger-over{
+    background-position:-68px 0;
+}
+.x-trigger-wrap-focus .x-form-trigger-click{
+    background-position:-85px 0;
+}
+.x-trigger-wrap-focus .x-form-trigger{
+    border-bottom: 1px solid #7eadd9;
+}
+
+.x-item-disabled .x-form-trigger-over{
+    background-position:0 0 !important;
+    border-bottom: 1px solid #B5B8C8;
+}
+.x-item-disabled .x-form-trigger-click{
+    background-position:0 0 !important;
+    border-bottom: 1px solid #B5B8C8;
+}
+
+/* field focus style */
+.x-form-focus, textarea.x-form-focus{
+	border: 1px solid #7eadd9;
+}
+
+/* invalid fields */
+.x-form-invalid, textarea.x-form-invalid{
+	background:#fff url(../images/default/grid/invalid_line.gif) repeat-x bottom;
+	border: 1px solid #dd7870;
+}
+.ext-safari .x-form-invalid{
+	background-color:#ffeeee;
+	border: 1px solid #ff7870;
+}
+
+/* editors */
+.x-editor {
+    visibility:hidden;
+    padding:0;
+    margin:0;
+}
+.x-editor .x-form-check-wrap,
+.x-editor .x-form-radio-wrap {
+    background:#fff;
+    padding:3px;
+}
+.x-editor .x-form-checkbox {
+    height:13px;
+}
+/* If you override the default field font above, you would need to change this font as well */
+.x-form-grow-sizer {
+	font:normal 12px tahoma, arial, helvetica, sans-serif;
+    left: -10000px;
+	padding: 8px 3px;
+    position: absolute;
+    visibility:hidden;
+    top: -10000px;
+	white-space: pre-wrap;
+    white-space: -moz-pre-wrap;
+    white-space: -pre-wrap;
+    white-space: -o-pre-wrap;
+    word-wrap: break-word;
+    zoom:1;
+}
+.x-form-grow-sizer p {
+    margin:0 !important;
+    border:0 none !important;
+    padding:0 !important;
+}
+/* Form Items CSS */
+
+.x-form-item {
+    font:normal 12px tahoma, arial, helvetica, sans-serif;
+    display:block;
+    margin-bottom:4px;
+    zoom:1;
+}
+
+.x-form-item label {
+    display:block;
+    float:left;
+    width:100px;
+    padding:3px;
+    padding-left:0;
+    clear:left;
+    z-index:2;
+    position:relative;
+}
+
+.x-form-element {
+    padding-left:105px;
+    position:relative;
+}
+
+.x-form-invalid-msg {
+    color:#ee0000;
+    padding:2px;
+    padding-left:18px;
+    font:normal 11px tahoma, arial, helvetica, sans-serif;
+    background: transparent url(../images/default/shared/warning.gif) no-repeat 0 2px;
+    line-height:16px;
+    width:200px;
+}
+
+.x-form-label-left label {
+   text-align:left;
+}
+.x-form-label-right label {
+   text-align:right;
+}
+
+.x-form-label-top .x-form-item label {
+    width:auto;
+    float:none;
+    clear:none;
+    display:inline;
+    margin-bottom:4px;
+    position:static;
+}
+
+.x-form-label-top .x-form-element {
+    padding-left:0;
+    padding-top:4px;
+}
+
+.x-form-label-top .x-form-item {
+    padding-bottom:4px;
+}
+
+.x-form-empty-field {
+    color:gray;
+}
+/* Editor small font for grid, toolbar and tree */
+.x-small-editor .x-form-field {
+    font:normal 11px arial, tahoma, helvetica, sans-serif;
+}
+.x-small-editor .x-form-text {
+    height:20px;
+    line-height:16px;
+    vertical-align:middle;
+}
+.ext-ie .x-small-editor .x-form-text {
+    margin-top:-1px !important; /* ie bogus margin bug */
+    margin-bottom:-1px !important;
+    height:20px !important; /* ie quirks */
+    line-height:16px !important;
+}
+.ext-strict .x-small-editor .x-form-text {
+    height:16px !important;
+}
+
+.ext-safari .x-small-editor .x-form-field {
+    /* safari text field will not size so needs bigger font */
+    font:normal 12px arial, tahoma, helvetica, sans-serif;
+}
+.ext-ie .x-small-editor .x-form-text {
+    height:20px;
+    line-height:16px;
+}
+.ext-border-box .x-small-editor .x-form-text {
+    height:20px;
+}
+
+.x-small-editor .x-form-select-one {
+    height:20px;
+    line-height:16px;
+    vertical-align:middle;
+}
+.x-small-editor .x-form-num-field {
+    text-align:right;
+}
+.x-small-editor .x-form-field-wrap .x-form-trigger{
+    height:19px;
+}
+
+
+.x-form-clear {
+    clear:both;
+    height:0;
+    overflow:hidden;
+    line-height:0;
+    font-size:0;
+}
+.x-form-clear-left {
+    clear:left;
+    height:0;
+    overflow:hidden;
+    line-height:0;
+    font-size:0;
+}
+
+.x-form-cb-label {
+    width:auto !important;
+    float:none !important;
+    clear:none !important;
+    display:inline !important;
+    margin-left:4px;
+}
+
+.x-form-column {
+    float:left;
+    padding:0;
+    margin:0;
+    width:48%;
+    overflow:hidden;
+    zoom:1;
+}
+
+/* buttons */
+.x-form .x-form-btns-ct .x-btn{
+	float:right;
+	clear:none;
+}
+.x-form .x-form-btns-ct .x-form-btns td {
+	border:0;
+	padding:0;
+}
+.x-form .x-form-btns-ct .x-form-btns-right table{
+	float:right;
+	clear:none;
+}
+.x-form .x-form-btns-ct .x-form-btns-left table{
+	float:left;
+	clear:none;
+}
+.x-form .x-form-btns-ct .x-form-btns-center{
+	text-align:center; /*ie*/
+}
+.x-form .x-form-btns-ct .x-form-btns-center table{
+	margin:0 auto; /*everyone else*/
+}
+.x-form .x-form-btns-ct table td.x-form-btn-td{
+	padding:3px;
+}
+
+.x-form .x-form-btns-ct .x-btn-focus .x-btn-left{
+	background-position:0 -147px;
+}
+.x-form .x-form-btns-ct .x-btn-focus .x-btn-right{
+	background-position:0 -168px;
+}
+.x-form .x-form-btns-ct .x-btn-focus .x-btn-center{
+	background-position:0 -189px;
+}
+
+.x-form .x-form-btns-ct .x-btn-click .x-btn-center{
+	background-position:0 -126px;
+}
+.x-form .x-form-btns-ct .x-btn-click  .x-btn-right{
+	background-position:0 -84px;
+}
+.x-form .x-form-btns-ct .x-btn-click .x-btn-left{
+	background-position:0 -63px;
+}
+.x-form-invalid-icon {
+    width:16px;
+    height:18px;
+    visibility:hidden;
+    position:absolute;
+    left:0;
+    top:0;
+    display:block;
+    background:transparent url(../images/default/form/exclamation.gif) no-repeat 0 2px;
+}
+
+/* fieldsets */
+.x-fieldset {
+    border:1px solid #B5B8C8;
+    padding:10px;
+    margin-bottom:10px;
+    display:block; /* preserve margins in IE */
+}
+.x-fieldset legend {
+    font:bold 11px tahoma, arial, helvetica, sans-serif;
+    color:#15428b;
+}
+.ext-ie .x-fieldset legend {
+    margin-bottom:10px;
+}
+.ext-ie .x-fieldset {
+    padding-top: 0;
+    padding-bottom:10px;
+}
+.x-fieldset legend .x-tool-toggle {
+    margin-right:3px;
+    margin-left:0;
+    float:left !important;
+}
+.x-fieldset legend input {
+    margin-right:3px;
+    float:left !important;
+    height:13px;
+    width:13px;
+}
+fieldset.x-panel-collapsed {
+    padding-bottom:0 !important;
+    border-width: 1px 1px 0 1px !important;
+    border-left-color: transparent;
+    border-right-color: transparent;
+}        
+.ext-ie6 fieldset.x-panel-collapsed{
+    padding-bottom:0 !important;
+    border-width: 1px 0 0 0 !important;
+    margin-left: 1px;
+    margin-right: 1px;
+}
+fieldset.x-panel-collapsed .x-fieldset-bwrap {
+    visibility:hidden;
+    position:absolute;
+    left:-1000px;
+    top:-1000px;
+}
+.ext-ie .x-fieldset-bwrap {
+    zoom:1;
+}
+.ext-ie td .x-form-text {
+    position:relative;
+    top:-1px;
+}
+.x-fieldset-noborder {
+    border:0px none transparent;
+}
+.x-fieldset-noborder legend {
+    margin-left:-3px;
+}
+/* IE legend positioing bug */
+.ext-ie .x-fieldset-noborder legend {
+    position: relative;
+    margin-bottom:23px;
+}
+.ext-ie .x-fieldset-noborder legend span {
+    position: absolute;
+    left:16px;
+}
+        
+.ext-gecko .x-window-body .x-form-item {
+    -moz-outline: none;
+    overflow: auto;
+}
+
+.ext-gecko .x-form-item {
+    -moz-outline: none;
+}
+
+.x-hide-label label.x-form-item-label {
+     display:none;
+}
+.x-hide-label .x-form-element {
+     padding-left: 0 !important;
+}
+
+.x-fieldset {
+    overflow:hidden;
+}
+
+.x-fieldset-bwrap {
+    overflow:hidden;
+    zoom:1;
+}
+
+.x-fieldset-body {
+    overflow:hidden;
+}
\ No newline at end of file
diff --git a/static/extjs/resources/css/grid.css b/static/extjs/resources/css/grid.css
new file mode 100644
index 00000000..fc52c1cf
--- /dev/null
+++ b/static/extjs/resources/css/grid.css
@@ -0,0 +1,554 @@
+/*
+ * Ext JS Library 2.2.1
+ * Copyright(c) 2006-2009, Ext JS, LLC.
+ * licensing@extjs.com
+ * 
+ * http://extjs.com/license
+ */
+
+/* Grid3 styles */
+.x-grid3 {
+	position:relative;
+	overflow:hidden;
+    background-color:#fff;
+}
+
+.x-grid-panel .x-panel-body {
+    overflow:hidden !important;
+}
+
+.x-grid-panel .x-panel-mc .x-panel-body {
+    border:1px solid #99bbe8;
+}
+
+.x-grid3 table {
+    table-layout:fixed;
+}
+.x-grid3-viewport{
+	overflow:hidden;
+}
+.x-grid3-hd-row td, .x-grid3-row td, .x-grid3-summary-row td{
+	font:normal 11px arial, tahoma, helvetica, sans-serif;
+    -moz-outline: none;
+	-moz-user-focus: normal;
+}
+.x-grid3-row td, .x-grid3-summary-row td {
+    line-height:13px;
+    vertical-align: top;
+	padding-left:1px;
+    padding-right:1px;
+    -moz-user-select: none;
+}
+.x-grid3-hd-row td {
+    line-height:15px;
+    vertical-align:middle;
+    border-left:1px solid #eee;
+    border-right:1px solid #d0d0d0;
+}
+
+.x-grid3-hd-row .x-grid3-marker-hd {
+    padding:3px;
+}
+
+.x-grid3-row .x-grid3-marker {
+    padding:3px;
+}
+
+.x-grid3-cell-inner, .x-grid3-hd-inner{
+	overflow:hidden;
+	-o-text-overflow: ellipsis;
+	text-overflow: ellipsis;
+    padding:3px 3px 3px 5px;
+    white-space: nowrap;
+}
+
+.x-grid3-hd-inner {
+    position:relative;
+	 cursor:inherit;
+	 padding:4px 3px 4px 5px;
+}
+
+.x-grid3-row-body {
+    white-space:normal;
+}
+
+.x-grid3-body-cell {
+    -moz-outline:0 none;
+    outline:0 none;
+}
+/* IE Quirks to clip */
+.ext-ie .x-grid3-cell-inner, .ext-ie .x-grid3-hd-inner{
+	width:100%;
+}
+/* reverse above in strict mode */
+.ext-strict .x-grid3-cell-inner, .ext-strict .x-grid3-hd-inner{
+	width:auto;
+}
+
+.x-grid3-col {
+	
+}
+
+.x-grid-row-loading {
+    background: #fff url(../images/default/shared/loading-balls.gif) no-repeat center center;
+}
+.x-grid-page {
+    overflow:hidden;
+}
+.x-grid3-row {
+	cursor: default;
+    border:1px solid #ededed;
+    border-top-color:#fff;
+    /*border-bottom: 1px solid #ededed;*/
+    width:100%;
+}
+.x-grid3-row-alt{
+	background-color:#fafafa;
+}
+
+.x-grid3-row-over {
+	border:1px solid #dddddd;
+    background: #efefef url(../images/default/grid/row-over.gif) repeat-x left top;
+}
+
+.x-grid3-resize-proxy {
+	width:1px;
+    left:0;
+    background-color:#777;
+	cursor: e-resize;
+	cursor: col-resize;
+	position:absolute;
+	top:0;
+	height:100px;
+	overflow:hidden;
+	visibility:hidden;
+	border:0 none;
+	z-index:7;
+}
+.x-grid3-resize-marker {
+	width:1px;
+	left:0;
+    background-color:#777;
+	position:absolute;
+	top:0;
+	height:100px;
+	overflow:hidden;
+	visibility:hidden;
+	border:0 none;
+	z-index:7;
+}
+.x-grid3-focus {
+	position:absolute;
+	left:0;
+	top:0;
+	width:1px;
+	height:1px;
+    line-height:1px;
+    font-size:1px;
+    -moz-outline:0 none;
+    outline:0 none;
+    -moz-user-select: text;
+    -khtml-user-select: text;
+}
+
+/* header styles */
+.x-grid3-header{
+	background: #f9f9f9 url(../images/default/grid/grid3-hrow.gif) repeat-x 0 bottom;
+	cursor:default;
+    zoom:1;
+    padding:1px 0 0 0;
+}
+
+.x-grid3-header-pop {
+    border-left:1px solid #d0d0d0;
+    float:right;
+    clear:none;
+}
+.x-grid3-header-pop-inner {
+    border-left:1px solid #eee;
+    width:14px;
+    height:19px;
+    background: transparent url(../images/default/grid/hd-pop.gif) no-repeat center center;
+}
+.ext-ie .x-grid3-header-pop-inner {
+    width:15px;
+}
+.ext-strict .x-grid3-header-pop-inner {
+    width:14px; 
+}
+.x-grid3-header-inner {
+    overflow:hidden;
+    zoom:1;
+    float:left;
+}
+.x-grid3-header-offset {
+    padding-left:1px;
+	 width:10000px;
+}
+
+td.x-grid3-hd-over, td.sort-desc, td.sort-asc, td.x-grid3-hd-menu-open {
+    border-left:1px solid #aaccf6;
+    border-right:1px solid #aaccf6;
+}
+td.x-grid3-hd-over .x-grid3-hd-inner, td.sort-desc .x-grid3-hd-inner, td.sort-asc .x-grid3-hd-inner, td.x-grid3-hd-menu-open .x-grid3-hd-inner {
+    background: #ebf3fd url(../images/default/grid/grid3-hrow-over.gif) repeat-x left bottom;
+
+}
+.x-grid3-sort-icon{
+	background-repeat: no-repeat;
+	display: none;
+	height: 4px;
+	width: 13px;
+	margin-left:3px;
+	vertical-align: middle;
+}
+.sort-asc .x-grid3-sort-icon {
+	background-image: url(../images/default/grid/sort_asc.gif);
+	display: inline;
+}
+.sort-desc .x-grid3-sort-icon {
+	background-image: url(../images/default/grid/sort_desc.gif);
+	display: inline;
+}
+
+/* Header position fixes for IE strict mode */
+.ext-strict .ext-ie .x-grid3-header-inner{position:relative;}
+.ext-strict .ext-ie6 .x-grid3-hd{position:relative;}
+.ext-strict .ext-ie6 .x-grid3-hd-inner{position:static;}
+
+/* Body Styles */
+.x-grid3-body {
+	zoom:1;
+}
+.x-grid3-scroller {
+	overflow:auto;
+    zoom:1;
+    position:relative;
+}
+.x-grid3-cell-text, .x-grid3-hd-text {
+	display: block;
+	padding: 3px 5px 3px 5px;
+	-moz-user-select: none;
+	-khtml-user-select: none;
+	color:black;
+}
+.x-grid3-split {
+	background-image: url(../images/default/grid/grid-split.gif);
+	background-position: center;
+	background-repeat: no-repeat;
+	cursor: e-resize;
+	cursor: col-resize;
+	display: block;
+	font-size: 1px;
+	height: 16px;
+	overflow: hidden;
+	position: absolute;
+	top: 2px;
+	width: 6px;
+	z-index: 3;
+}
+
+.x-grid3-hd-text {
+	color:#15428b;
+}
+/* Column Reorder DD */
+.x-dd-drag-proxy .x-grid3-hd-inner{
+	background: #ebf3fd url(../images/default/grid/grid3-hrow-over.gif) repeat-x left bottom;
+	width:120px;
+	padding:3px;
+	border:1px solid #aaccf6;
+	overflow:hidden;
+}
+
+.col-move-top, .col-move-bottom{
+	width:9px;
+	height:9px;
+	position:absolute;
+	top:0;
+	line-height:1px;
+	font-size:1px;
+	overflow:hidden;
+	visibility:hidden;
+	z-index:20000;
+}
+.col-move-top{
+	background:transparent url(../images/default/grid/col-move-top.gif) no-repeat left top;
+}
+.col-move-bottom{
+	background:transparent url(../images/default/grid/col-move-bottom.gif) no-repeat left top;
+}
+
+/* Selection Styles */
+.x-grid3-row-selected {
+	background: #DFE8F6 !important;
+	border:1px dotted #a3bae9;
+}
+
+.x-grid3-cell-selected{
+	background-color: #B8CFEE !important;
+	color: black;
+}
+.x-grid3-cell-selected span{
+	color: black !important;
+}
+.x-grid3-cell-selected .x-grid3-cell-text{
+	color: black;
+}
+
+.x-grid3-locked td.x-grid3-row-marker, .x-grid3-locked .x-grid3-row-selected td.x-grid3-row-marker{
+    background: #ebeadb url(../images/default/grid/grid-hrow.gif) repeat-x 0 bottom !important;
+    vertical-align:middle !important;
+    color:black;
+    padding:0;
+    border-top:1px solid white;
+    border-bottom:none !important;
+    border-right:1px solid #6fa0df !important;
+    text-align:center;
+}
+.x-grid3-locked td.x-grid3-row-marker div, .x-grid3-locked .x-grid3-row-selected td.x-grid3-row-marker div{
+    padding:0 4px;
+    color:#15428b !important;
+    text-align:center;
+}
+
+/* dirty cells */
+.x-grid3-dirty-cell {
+    background: transparent url(../images/default/grid/dirty.gif) no-repeat 0 0;
+}
+
+/* Grid Toolbars */
+.x-grid3-topbar, .x-grid3-bottombar{
+	font:normal 11px arial, tahoma, helvetica, sans-serif;
+    overflow:hidden;
+	display:none;
+	zoom:1;
+    position:relative;
+}
+.x-grid3-topbar .x-toolbar{
+	border-right:0 none;
+}
+.x-grid3-bottombar .x-toolbar{
+	border-right:0 none;
+	border-bottom:0 none;
+	border-top:1px solid #a9bfd3;
+}
+/* Props Grid Styles */
+.x-props-grid .x-grid3-cell{
+	padding:1px;
+}
+.x-props-grid .x-grid3-td-name .x-grid3-cell-inner{
+	background:transparent url(../images/default/grid/grid3-special-col-bg.gif) repeat-y -16px !important;
+    padding-left:12px;
+    color:black !important;
+}
+.x-props-grid .x-grid3-body .x-grid3-td-name{
+    padding:1px;
+    padding-right:0;
+    background:white !important;
+    border:0 none;
+    border-right:1px solid #eeeeee;
+}
+
+/* header menu */
+.xg-hmenu-sort-asc .x-menu-item-icon{
+	background-image: url(../images/default/grid/hmenu-asc.gif);
+}
+.xg-hmenu-sort-desc .x-menu-item-icon{
+	background-image: url(../images/default/grid/hmenu-desc.gif);
+}
+.xg-hmenu-lock .x-menu-item-icon{
+	background-image: url(../images/default/grid/hmenu-lock.gif);
+}
+.xg-hmenu-unlock .x-menu-item-icon{
+	background-image: url(../images/default/grid/hmenu-unlock.gif);
+}
+
+/* dd */
+.x-grid3-col-dd {
+    border:0 none;
+    padding:0;
+    background:transparent;
+}
+
+.x-dd-drag-ghost .x-grid3-dd-wrap {
+    padding:1px 3px 3px 1px;
+}
+
+.x-grid3-hd {
+    -moz-user-select:none;
+}
+
+.x-grid3-hd-btn {
+    display:none;
+    position:absolute;
+    width:14px;
+    background:#c3daf9 url(../images/default/grid/grid3-hd-btn.gif) no-repeat left center;
+    right:0;
+    top:0;
+    z-index:2;
+	 cursor:pointer;
+}
+
+.x-grid3-hd-over .x-grid3-hd-btn, .x-grid3-hd-menu-open .x-grid3-hd-btn {
+    display:block;
+}
+
+a.x-grid3-hd-btn:hover {
+    background-position:-14px center;
+}
+
+/* Expanders */
+
+.x-grid3-body .x-grid3-td-expander {
+    background:transparent url(../images/default/grid/grid3-special-col-bg.gif) repeat-y right;
+}
+.x-grid3-body .x-grid3-td-expander .x-grid3-cell-inner {
+    padding:0 !important;
+    height:100%;
+}
+.x-grid3-row-expander {
+    width:100%;
+    height:18px;
+    background-position:4px 2px;
+    background-repeat:no-repeat;
+    background-color:transparent;
+	 background-image:url(../images/default/grid/row-expand-sprite.gif);
+}
+.x-grid3-row-collapsed .x-grid3-row-expander {
+    background-position:4px 2px;
+}
+.x-grid3-row-expanded .x-grid3-row-expander {
+    background-position:-21px 2px;
+}
+.x-grid3-row-collapsed .x-grid3-row-body {
+    display:none !important;
+}
+.x-grid3-row-expanded .x-grid3-row-body {
+    display:block !important;
+}
+
+/* Checkers */
+
+.x-grid3-body .x-grid3-td-checker {
+    background:transparent url(../images/default/grid/grid3-special-col-bg.gif) repeat-y right;
+}
+
+.x-grid3-body .x-grid3-td-checker .x-grid3-cell-inner, .x-grid3-header .x-grid3-td-checker .x-grid3-hd-inner {
+    padding:0 !important;
+    height:100%;
+}
+
+.x-grid3-row-checker, .x-grid3-hd-checker {
+    width:100%;
+    height:18px;
+    background-position:2px 2px;
+    background-repeat:no-repeat;
+    background-color:transparent;
+	 background-image:url(../images/default/grid/row-check-sprite.gif);
+}
+.x-grid3-row .x-grid3-row-checker {
+    background-position:2px 2px;
+}
+.x-grid3-row-selected .x-grid3-row-checker, .x-grid3-hd-checker-on .x-grid3-hd-checker {
+    background-position:-23px 2px;
+}
+.x-grid3-hd-checker {
+    background-position:2px 3px;
+}
+.x-grid3-hd-checker-on .x-grid3-hd-checker {
+    background-position:-23px 3px;
+}
+
+/* Numberer */
+
+.x-grid3-body .x-grid3-td-numberer {
+    background:transparent url(../images/default/grid/grid3-special-col-bg.gif) repeat-y right;
+}
+.x-grid3-body .x-grid3-td-numberer .x-grid3-cell-inner {
+    padding:3px 5px 0 0 !important;
+    text-align:right;
+	 color:#444;
+}
+
+/* All specials */
+
+.x-grid3-body .x-grid3-row-selected .x-grid3-td-numberer,
+.x-grid3-body .x-grid3-row-selected .x-grid3-td-checker,
+.x-grid3-body .x-grid3-row-selected .x-grid3-td-expander {
+	background:transparent url(../images/default/grid/grid3-special-col-sel-bg.gif) repeat-y right;
+}
+.x-grid3-body .x-grid3-check-col-td .x-grid3-cell-inner {
+    padding: 1px 0 0 0 !important;
+}
+
+.x-grid3-check-col {
+    width:100%;
+    height:16px;
+    background-position:center center;
+    background-repeat:no-repeat;
+    background-color:transparent;
+	background-image:url(../images/default/menu/unchecked.gif);
+}
+
+
+.x-grid3-check-col-on {
+    width:100%;
+    height:16px;
+    background-position:center center;
+    background-repeat:no-repeat;
+    background-color:transparent;
+	background-image:url(../images/default/menu/checked.gif);
+}
+
+/* Grouping classes */
+.x-grid-group, .x-grid-group-body, .x-grid-group-hd {
+    zoom:1;
+}
+.x-grid-group-hd {
+    border-bottom: 2px solid #99bbe8;
+    cursor:pointer;
+    padding-top:6px;
+}
+.x-grid-group-hd div {
+    background:transparent url(../images/default/grid/group-expand-sprite.gif) no-repeat 3px -47px;
+    padding:4px 4px 4px 17px;
+    color:#3764a0;
+    font:bold 11px tahoma, arial, helvetica, sans-serif;
+}
+.x-grid-group-collapsed .x-grid-group-hd div {
+    background-position: 3px 3px;
+}
+.x-grid-group-collapsed .x-grid-group-body {
+    display:none;
+}
+
+.x-group-by-icon {
+    background-image:url(../images/default/grid/group-by.gif);
+}
+.x-cols-icon {
+    background-image:url(../images/default/grid/columns.gif);
+}
+.x-show-groups-icon {
+    background-image:url(../images/default/grid/group-by.gif);
+}
+
+.ext-ie .x-grid3 .x-editor .x-form-text {
+    position:relative;
+    top:-1px;
+}
+.ext-ie .x-props-grid .x-editor .x-form-text {
+    position:static;
+    top:0;
+}
+
+.x-grid-empty {
+    padding:10px;
+    color:gray;
+    font:normal 11px tahoma, arial, helvetica, sans-serif;
+}
+
+
+/* fix floating toolbar issue */
+.ext-ie7 .x-grid-panel .x-panel-bbar {
+    position:relative;
+}
diff --git a/static/extjs/resources/css/layout.css b/static/extjs/resources/css/layout.css
new file mode 100644
index 00000000..1ff6e33c
--- /dev/null
+++ b/static/extjs/resources/css/layout.css
@@ -0,0 +1,273 @@
+/*
+ * Ext JS Library 2.2.1
+ * Copyright(c) 2006-2009, Ext JS, LLC.
+ * licensing@extjs.com
+ * 
+ * http://extjs.com/license
+ */
+
+.x-border-layout-ct {
+    background:#dfe8f6;
+}
+.x-border-panel {
+    position:absolute;
+    left:0;
+    top:0;
+}
+
+.x-tool-collapse-south {
+    background-position:0 -195px;
+}
+.x-tool-collapse-south-over {
+    background-position:-15px -195px;
+}
+
+.x-tool-collapse-north {
+    background-position:0 -210px;
+}
+.x-tool-collapse-north-over {
+    background-position:-15px -210px;
+}
+
+.x-tool-collapse-west {
+    background-position:0 -180px;
+}
+.x-tool-collapse-west-over {
+    background-position:-15px -180px;
+}
+
+.x-tool-collapse-east {
+    background-position:0 -165px;
+}
+.x-tool-collapse-east-over {
+    background-position:-15px -165px;
+}
+
+
+.x-tool-expand-south {
+    background-position:0 -210px;
+}
+.x-tool-expand-south-over {
+    background-position:-15px -210px;
+}
+
+.x-tool-expand-north {
+    background-position:0 -195px;
+}
+.x-tool-expand-north-over {
+    background-position:-15px -195px;
+}
+
+.x-tool-expand-west {
+    background-position:0 -165px;
+}
+.x-tool-expand-west-over {
+    background-position:-15px -165px;
+}
+
+.x-tool-expand-east {
+    background-position:0 -180px;
+}
+.x-tool-expand-east-over {
+    background-position:-15px -180px;
+}
+
+.x-tool-expand-north, .x-tool-expand-south {
+    float:right;
+    margin:3px;
+}
+.x-tool-expand-east, .x-tool-expand-west {
+    float:none;
+    margin:3px auto;
+}
+
+
+
+.x-accordion-hd .x-tool-toggle {
+    background-position:0 -255px;
+}
+.x-accordion-hd .x-tool-toggle-over {
+    background-position:-15px -255px;
+}
+.x-panel-collapsed .x-accordion-hd .x-tool-toggle {
+    background-position:0 -240px;
+}
+.x-panel-collapsed .x-accordion-hd .x-tool-toggle-over {
+    background-position:-15px -240px;
+}
+
+.x-accordion-hd {
+	color:#222;
+	padding-top:4px;
+	padding-bottom:3px;
+	border-top:0 none;
+    font-weight:normal;
+    background: transparent url(../images/default/panel/light-hd.gif) repeat-x 0 -9px;
+}
+
+.x-layout-collapsed{
+    position:absolute;
+    left:-10000px;
+    top:-10000px;
+    visibility:hidden;
+    background-color:#d2e0f2;
+    width:20px;
+    height:20px;
+    overflow:hidden;
+	border:1px solid #98c0f4;
+	z-index:20;
+}
+.ext-border-box .x-layout-collapsed{
+    width:22px;
+    height:22px;
+}
+.x-layout-collapsed-over{
+    cursor:pointer;
+	 background-color:#d9e8fb;
+}
+.x-layout-collapsed-west .x-layout-collapsed-tools, .x-layout-collapsed-east .x-layout-collapsed-tools{
+	position:absolute;
+    top:0;
+    left:0;
+    width:20px;
+    height:20px;
+}
+
+
+.x-layout-split{
+    position:absolute;
+    height:5px;
+    width:5px;
+    line-height:1px;
+    font-size:1px;
+    z-index:3;
+    background-color:transparent;
+}
+
+/* IE6 strict won't drag w/out a color */
+.ext-strict .ext-ie6 .x-layout-split{
+    background-color: #fff !important;
+    filter: alpha(opacity=1);
+}
+        
+.x-layout-split-h{
+    background-image:url(../images/default/s.gif);
+    background-position: left;
+}
+.x-layout-split-v{
+    background-image:url(../images/default/s.gif);
+    background-position: top;
+}
+
+.x-column-layout-ct {
+    overflow:hidden;
+    /*padding:3px 3px 3px 3px;*/
+    zoom:1;
+}
+
+.x-column {
+    float:left;
+    padding:0;
+    margin:0;
+    overflow:hidden;
+    zoom:1;
+    /*margin:3px;*/
+}
+
+/* mini mode */
+
+.x-layout-mini {
+    position:absolute;
+    top:0;
+    left:0;
+    display:block;
+    width:5px;
+    height:35px;
+    cursor:pointer;
+    opacity:.5;
+    -moz-opacity:.5;
+    filter:alpha(opacity=50);
+}
+.x-layout-mini-over, .x-layout-collapsed-over .x-layout-mini{
+    opacity:1;
+    -moz-opacity:1;
+    filter:none;
+}
+
+.x-layout-split-west .x-layout-mini {
+    top:48%;
+    background-image:url(../images/default/layout/mini-left.gif);
+}
+.x-layout-split-east .x-layout-mini {
+    top:48%;
+    background-image:url(../images/default/layout/mini-right.gif);
+}
+.x-layout-split-north .x-layout-mini {
+    left:48%;
+    height:5px;
+    width:35px;
+    background-image:url(../images/default/layout/mini-top.gif);
+}
+.x-layout-split-south .x-layout-mini {
+    left:48%;
+    height:5px;
+    width:35px;
+    background-image:url(../images/default/layout/mini-bottom.gif);
+}
+
+
+.x-layout-cmini-west .x-layout-mini {
+    top:48%;
+    background-image:url(../images/default/layout/mini-right.gif);
+}
+
+.x-layout-cmini-east .x-layout-mini {
+    top:48%;
+    background-image:url(../images/default/layout/mini-left.gif);
+}
+
+.x-layout-cmini-north .x-layout-mini {
+    left:48%;
+    height:5px;
+    width:35px;
+    background-image:url(../images/default/layout/mini-bottom.gif);
+}
+
+.x-layout-cmini-south .x-layout-mini {
+    left:48%;
+    height:5px;
+    width:35px;
+    background-image:url(../images/default/layout/mini-top.gif);
+}
+
+.x-layout-cmini-west, .x-layout-cmini-east {
+    border:0 none;
+    width:5px !important;
+    padding:0;
+    background:transparent;
+}
+
+.x-layout-cmini-north, .x-layout-cmini-south {
+    border:0 none;
+    height:5px !important;
+    padding:0;
+    background:transparent;
+}
+
+.x-viewport, .x-viewport body {
+    margin: 0;
+    padding: 0;
+    border: 0 none;
+    overflow: hidden;
+    height: 100%;
+}
+
+.x-abs-layout-item {
+    position:absolute;
+    left:0;
+    top:0;
+}
+
+.ext-ie input.x-abs-layout-item, .ext-ie textarea.x-abs-layout-item {
+    margin:0;
+}
\ No newline at end of file
diff --git a/static/extjs/resources/css/menu.css b/static/extjs/resources/css/menu.css
new file mode 100644
index 00000000..cff0a8de
--- /dev/null
+++ b/static/extjs/resources/css/menu.css
@@ -0,0 +1,146 @@
+/*
+ * Ext JS Library 2.2.1
+ * Copyright(c) 2006-2009, Ext JS, LLC.
+ * licensing@extjs.com
+ * 
+ * http://extjs.com/license
+ */
+
+.x-menu {
+	border: 1px solid #718bb7;
+	z-index: 15000;
+	zoom: 1;
+	background: #f0f0f0 url(../images/default/menu/menu.gif) repeat-y;
+	padding: 2px;
+}
+.x-menu a {
+    text-decoration: none !important;
+}
+.ext-ie .x-menu {
+    zoom:1;
+    overflow:hidden;
+}
+.x-menu-list{
+	background:transparent;
+	border:0 none;
+}
+.x-menu li{
+	line-height:100%;
+}
+.x-menu li.x-menu-sep-li{
+	font-size:1px;
+	line-height:1px;
+}
+.x-menu-list-item{
+	font:normal 11px tahoma,arial, sans-serif;
+    white-space: nowrap;
+    -moz-user-select: none;
+	-khtml-user-select: none;
+	display:block;
+	padding:1px;
+}
+.x-menu-item-arrow{
+	background:transparent url(../images/default/menu/menu-parent.gif) no-repeat right;
+}
+.x-menu-sep {
+	display:block;
+	font-size:1px;
+	line-height:1px;
+	margin: 2px 3px;
+    background-color:#e0e0e0;
+	border-bottom:1px solid #fff;
+    overflow:hidden;
+}
+.x-menu-focus {
+	position:absolute;
+	left:-1px;
+	top:-1px;
+	width:1px;
+	height:1px;
+    line-height:1px;
+    font-size:1px;
+    -moz-outline:0 none;
+    outline:0 none;
+    -moz-user-select: text;
+    -khtml-user-select: text;
+    overflow:hidden;
+    display:block;
+}
+.x-menu a.x-menu-item {
+	display:block;
+	line-height:16px;
+	padding:3px 21px 3px 27px;
+	white-space: nowrap;
+	text-decoration:none;
+	color:#222;
+	-moz-outline: 0 none;
+	outline: 0 none;
+	cursor:pointer;
+    position: relative; 
+}
+.x-menu-item-active {
+	background: #ebf3fd url(../images/default/menu/item-over.gif) repeat-x left bottom;
+	border:1px solid #aaccf6;
+	padding: 0;
+}
+.x-menu-item-active a.x-menu-item {
+    color: #233d6d;
+}
+
+.x-menu-item-icon {
+	border: 0 none;
+	height: 16px;
+	padding: 0;
+	vertical-align: top;
+	width: 16px;
+	position: absolute;
+    left: 3px;
+    top: 3px;
+    margin: 0;
+    background-position:center;
+}
+
+.x-menu-check-item .x-menu-item-icon{
+	background: transparent url(../images/default/menu/unchecked.gif) no-repeat center;
+}
+
+.x-menu-item-checked .x-menu-item-icon{
+	background-image:url(../images/default/menu/checked.gif);
+}
+.x-menu-group-item .x-menu-item-icon{
+	background: transparent;
+}
+
+.x-menu-item-checked .x-menu-group-item .x-menu-item-icon{
+    background: transparent url(../images/default/menu/group-checked.gif) no-repeat center;
+}
+
+.x-menu-plain {
+	background:#fff !important;
+}
+.x-menu-date-item{
+	padding:0;
+}
+
+.x-menu .x-color-palette, .x-menu .x-date-picker{
+    margin-left: 26px;
+	 margin-right:4px;
+}
+.x-menu .x-date-picker{
+    border:1px solid #a3bad9;
+    margin-top:2px;
+    margin-bottom:2px;
+}
+.x-menu-plain .x-color-palette, .x-menu-plain .x-date-picker{
+	 margin: 0;
+	 border: 0 none;
+}
+.x-date-menu {
+   padding:0 !important;
+}
+
+.x-cycle-menu .x-menu-item-checked {
+    border:1px dotted #a3bae9 !important;
+    background:#DFE8F6;
+	padding:0;
+}
diff --git a/static/extjs/resources/css/panel.css b/static/extjs/resources/css/panel.css
new file mode 100644
index 00000000..a55cfc21
--- /dev/null
+++ b/static/extjs/resources/css/panel.css
@@ -0,0 +1,424 @@
+/*
+ * Ext JS Library 2.2.1
+ * Copyright(c) 2006-2009, Ext JS, LLC.
+ * licensing@extjs.com
+ * 
+ * http://extjs.com/license
+ */
+
+.x-panel {
+    border-style: solid;
+    border-color: #99bbe8;
+    border-width:0;
+}
+
+.x-panel-header {
+    overflow:hidden;
+    zoom:1;
+    color:#15428b;
+	font:bold 11px tahoma,arial,verdana,sans-serif;
+    padding:5px 3px 4px 5px;
+    border:1px solid #99bbe8;
+    line-height: 15px;
+    background: transparent url(../images/default/panel/white-top-bottom.gif) repeat-x 0 -1px;
+}
+
+.x-panel-body {
+    border:1px solid #99bbe8;
+    border-top:0 none;
+    overflow:hidden;
+    background:white;
+    position: relative; /* added for item scroll positioning */
+}
+
+.x-panel-bbar .x-toolbar {
+    border:1px solid #99bbe8;
+    border-top:0 none;
+    overflow:hidden;
+    padding:2px;
+}
+
+
+.x-panel-tbar .x-toolbar {
+    border:1px solid #99bbe8;
+    border-top:0 none;
+    overflow:hidden;
+    padding:2px;
+}
+
+.x-panel-tbar-noheader .x-toolbar, .x-panel-mc .x-panel-tbar .x-toolbar {
+    border-top:1px solid #99bbe8;
+    border-bottom: 0 none;
+}
+.x-panel-body-noheader, .x-panel-mc .x-panel-body {
+    border-top:1px solid #99bbe8;
+}
+.x-panel-header {
+    overflow:hidden;
+    zoom:1;
+}
+.x-panel-tl .x-panel-header {
+    color:#15428b;
+	 font:bold 11px tahoma,arial,verdana,sans-serif;
+    padding:5px 0 4px 0;
+    border:0 none;
+    background:transparent;
+}
+.x-panel-tl .x-panel-icon, .x-window-tl .x-panel-icon {
+    padding-left:20px !important;
+    background-repeat:no-repeat;
+    background-position:0 4px;
+    zoom:1;
+}
+.x-panel-inline-icon {
+    width:16px;
+	 height:16px;
+    background-repeat:no-repeat;
+    background-position:0 0;
+	 vertical-align:middle;
+	 margin-right:4px;
+	 margin-top:-1px;
+	 margin-bottom:-1px;
+}
+.x-panel-tc {
+	background: transparent url(../images/default/panel/top-bottom.gif) repeat-x 0 0;
+	overflow:hidden;
+}
+/* fix ie7 strict mode bug */
+.ext-strict .ext-ie7 .x-panel-tc {
+    overflow: visible;
+}
+.x-panel-tl {
+	background: transparent url(../images/default/panel/corners-sprite.gif) no-repeat 0 0;
+	padding-left:6px;
+    zoom:1;
+    border-bottom:1px solid #99bbe8;
+}
+.x-panel-tr {
+	background: transparent url(../images/default/panel/corners-sprite.gif) no-repeat right 0;
+	zoom:1;
+    padding-right:6px;
+}
+.x-panel-bc {
+	background: transparent url(../images/default/panel/top-bottom.gif) repeat-x 0 bottom;
+    zoom:1;
+}
+.x-panel-bc .x-panel-footer {
+    zoom:1;
+}
+
+.x-panel-bl {
+	background: transparent url(../images/default/panel/corners-sprite.gif) no-repeat 0 bottom;
+	padding-left:6px;
+    zoom:1;
+}
+.x-panel-br {
+	background: transparent url(../images/default/panel/corners-sprite.gif) no-repeat right bottom;
+	padding-right:6px;
+    zoom:1;
+}
+.x-panel-mc {
+    border:0 none;
+    padding:0;
+    margin:0;
+    font: normal 11px tahoma,arial,helvetica,sans-serif;
+    padding-top:6px;
+    background:#dfe8f6;
+}
+.x-panel-mc .x-panel-body {
+    background:transparent;
+    border: 0 none;
+}
+.x-panel-ml {
+	background: #fff url(../images/default/panel/left-right.gif) repeat-y 0 0;
+	padding-left:6px;
+    zoom:1;
+}
+.x-panel-mr {
+	background: transparent url(../images/default/panel/left-right.gif) repeat-y right 0;
+	padding-right:6px;
+    zoom:1;
+}
+.x-panel-bc .x-panel-footer {
+    padding-bottom:6px;
+}
+.x-panel-nofooter .x-panel-bc, .x-panel-nofooter .x-window-bc {
+	height:6px;
+    font-size:0;
+    line-height:0;
+}
+
+.x-panel-bwrap {
+    overflow:hidden;
+    zoom:1;
+    left:0;top:0;
+}
+.x-panel-body {
+    overflow:hidden;
+    zoom:1;
+}
+
+.x-panel-collapsed .x-resizable-handle{
+    display:none;
+}
+
+.ext-gecko .x-panel-animated div {
+    overflow:hidden !important;
+}
+
+/* Plain */
+.x-plain-body {
+    overflow:hidden;
+}
+
+.x-plain-bbar .x-toolbar {
+    overflow:hidden;
+    padding:2px;
+}
+
+.x-plain-tbar .x-toolbar {
+    overflow:hidden;
+    padding:2px;
+}
+
+.x-plain-bwrap {
+    overflow:hidden;
+    zoom:1;
+}
+
+.x-plain {
+    overflow:hidden;
+}
+
+/* Tools */
+.x-tool {
+    overflow:hidden;
+    width:15px;
+    height:15px;
+    float:right;
+    cursor:pointer;
+    background:transparent url(../images/default/panel/tool-sprites.gif) no-repeat;
+    margin-left:2px;
+}
+
+/* expand / collapse tools */
+.x-tool-toggle {
+    background-position:0 -60px;
+}
+.x-tool-toggle-over {
+    background-position:-15px -60px;
+}
+.x-panel-collapsed .x-tool-toggle {
+    background-position:0 -75px;
+}
+.x-panel-collapsed .x-tool-toggle-over {
+    background-position:-15px -75px;
+}
+
+.x-tool-close {
+    background-position:0 -0;
+}
+.x-tool-close-over {
+    background-position:-15px 0;
+}
+
+.x-tool-minimize {
+    background-position:0 -15px;
+}
+.x-tool-minimize-over {
+    background-position:-15px -15px;
+}
+
+.x-tool-maximize {
+    background-position:0 -30px;
+}
+.x-tool-maximize-over {
+    background-position:-15px -30px;
+}
+
+.x-tool-restore {
+    background-position:0 -45px;
+}
+.x-tool-restore-over {
+    background-position:-15px -45px;
+}
+
+.x-tool-gear {
+    background-position:0 -90px;
+}
+.x-tool-gear-over {
+    background-position:-15px -90px;
+}
+
+.x-tool-pin {
+    background-position:0 -135px;
+}
+.x-tool-pin-over {
+    background-position:-15px -135px;
+}
+.x-tool-unpin {
+    background-position:0 -150px;
+}
+.x-tool-unpin-over {
+    background-position:-15px -150px;
+}
+.x-tool-right {
+    background-position:0 -165px;
+}
+.x-tool-right-over {
+    background-position:-15px -165px;
+}
+.x-tool-left {
+    background-position:0 -180px;
+}
+.x-tool-left-over {
+    background-position:-15px -180px;
+}
+.x-tool-up {
+    background-position:0 -210px;
+}
+.x-tool-up-over {
+    background-position:-15px -210px;
+}
+.x-tool-down {
+    background-position:0 -195px;
+}
+.x-tool-down-over {
+    background-position:-15px -195px;
+}
+.x-tool-refresh {
+    background-position:0 -225px;
+}
+.x-tool-refresh-over {
+    background-position:-15px -225px;
+}
+
+.x-tool-minus {
+    background-position:0 -255px;
+}
+.x-tool-minus-over {
+    background-position:-15px -255px;
+}
+.x-tool-plus {
+    background-position:0 -240px;
+}
+.x-tool-plus-over {
+    background-position:-15px -240px;
+}
+
+.x-tool-search {
+    background-position:0 -270px;
+}
+.x-tool-search-over {
+    background-position:-15px -270px;
+}
+.x-tool-save {
+    background-position:0 -285px;
+}
+.x-tool-save-over {
+    background-position:-15px -285px;
+}
+.x-tool-help {
+    background-position:0 -300px;
+}
+.x-tool-help-over {
+    background-position:-15px -300px;
+}
+.x-tool-print {
+    background-position:0 -315px;
+}
+.x-tool-print-over {
+    background-position:-15px -315px;
+}
+
+/* Ghosting */
+.x-panel-ghost {
+    background:#cbddf3;
+    z-index:12000;
+    overflow:hidden;
+    position:absolute;
+    left:0;top:0;
+    opacity:.65;
+    -moz-opacity:.65;
+    filter:alpha(opacity=65);
+}
+
+.x-panel-ghost ul {
+    margin:0;
+    padding:0;
+    overflow:hidden;
+    font-size:0;
+    line-height:0;
+    border:1px solid #99bbe8;
+    border-top:0 none;
+    display:block;
+}
+
+.x-panel-ghost * {
+    cursor:move !important;
+}
+
+.x-panel-dd-spacer {
+    border:2px dashed #99bbe8;
+}
+/* Buttons */
+
+.x-panel-btns-ct {
+    padding:5px;
+}
+
+.x-panel-btns-ct .x-btn{
+	float:right;
+	clear:none;
+}
+.x-panel-btns-ct .x-panel-btns td {
+	border:0;
+	padding:0;
+}
+.x-panel-btns-ct .x-panel-btns-right table{
+	float:right;
+	clear:none;
+}
+.x-panel-btns-ct .x-panel-btns-left table{
+	float:left;
+	clear:none;
+}
+.x-panel-btns-ct .x-panel-btns-center{
+	text-align:center; /*ie*/
+}
+.x-panel-btns-ct .x-panel-btns-center table{
+	margin:0 auto; /*everyone else*/
+}
+.x-panel-btns-ct table td.x-panel-btn-td{
+	padding:3px;
+}
+
+.x-panel-btns-ct .x-btn-focus .x-btn-left{
+	background-position:0 -147px;
+}
+.x-panel-btns-ct .x-btn-focus .x-btn-right{
+	background-position:0 -168px;
+}
+.x-panel-btns-ct .x-btn-focus .x-btn-center{
+	background-position:0 -189px;
+}
+
+.x-panel-btns-ct .x-btn-over .x-btn-left{
+	background-position:0 -63px;
+}
+.x-panel-btns-ct .x-btn-over .x-btn-right{
+	background-position:0 -84px;
+}
+.x-panel-btns-ct .x-btn-over .x-btn-center{
+	background-position:0 -105px;
+}
+
+.x-panel-btns-ct .x-btn-click .x-btn-center{
+	background-position:0 -126px;
+}
+.x-panel-btns-ct .x-btn-click  .x-btn-right{
+	background-position:0 -84px;
+}
+.x-panel-btns-ct .x-btn-click .x-btn-left{
+	background-position:0 -63px;
+}
\ No newline at end of file
diff --git a/static/extjs/resources/css/progress.css b/static/extjs/resources/css/progress.css
new file mode 100644
index 00000000..1467d7c2
--- /dev/null
+++ b/static/extjs/resources/css/progress.css
@@ -0,0 +1,43 @@
+/*
+ * Ext JS Library 2.2.1
+ * Copyright(c) 2006-2009, Ext JS, LLC.
+ * licensing@extjs.com
+ * 
+ * http://extjs.com/license
+ */
+
+.x-progress-wrap {
+    border:1px solid #6593cf;
+    overflow:hidden;
+}
+.x-progress-inner {
+    height:18px;
+    background: #e0e8f3 url(../images/default/qtip/bg.gif) repeat-x;
+    position:relative;
+}
+.x-progress-bar {
+    height:18px;
+    float:left;
+    width:0;
+    background:#9CBFEE url( ../images/default/progress/progress-bg.gif ) repeat-x left center;
+    border-top:1px solid #D1E4FD;
+    border-bottom:1px solid #7FA9E4;
+    border-right:1px solid #7FA9E4;
+}
+.x-progress-text {
+    font-size:11px;
+    font-weight:bold;
+    color:#fff;
+    padding:1px 5px;
+    overflow:hidden;
+    position:absolute;
+    left:0;
+    text-align:center;
+}
+.x-progress-text-back {
+    color:#396095;
+    line-height:16px;
+}
+.ext-ie .x-progress-text-back {
+    line-height:15px;
+}
\ No newline at end of file
diff --git a/static/extjs/resources/css/qtips.css b/static/extjs/resources/css/qtips.css
new file mode 100644
index 00000000..b4e2cb64
--- /dev/null
+++ b/static/extjs/resources/css/qtips.css
@@ -0,0 +1,134 @@
+/*
+ * Ext JS Library 2.2.1
+ * Copyright(c) 2006-2009, Ext JS, LLC.
+ * licensing@extjs.com
+ * 
+ * http://extjs.com/license
+ */
+
+.x-tip{
+	position: absolute;
+	top: 0;
+    left:0;
+    visibility: hidden;
+	z-index: 20000;
+    border:0 none;
+}
+.x-tip .x-tip-close{
+	background-image: url(../images/default/qtip/close.gif);
+	height: 15px;
+	float:right;
+	width: 15px;
+    margin:0 0 2px 2px;
+    cursor:pointer;
+    display:none;
+}
+.x-tip .x-tip-tc {
+	background: transparent url(../images/default/qtip/tip-sprite.gif) no-repeat 0 -62px;
+	padding-top:3px;
+    overflow:hidden;
+    zoom:1;
+}
+.x-tip .x-tip-tl {
+	background: transparent url(../images/default/qtip/tip-sprite.gif) no-repeat 0 0;
+	padding-left:6px;
+    overflow:hidden;
+    zoom:1;
+}
+.x-tip .x-tip-tr {
+	background: transparent url(../images/default/qtip/tip-sprite.gif) no-repeat right 0;
+	padding-right:6px;
+    overflow:hidden;
+    zoom:1;
+}
+.x-tip .x-tip-bc {
+	background: transparent url(../images/default/qtip/tip-sprite.gif) no-repeat 0 -121px;
+	height:3px;
+    overflow:hidden;
+}
+.x-tip .x-tip-bl {
+	background: transparent url(../images/default/qtip/tip-sprite.gif) no-repeat 0 -59px;
+	padding-left:6px;
+    zoom:1;
+}
+.x-tip .x-tip-br {
+	background: transparent url(../images/default/qtip/tip-sprite.gif) no-repeat right -59px;
+	padding-right:6px;
+    zoom:1;
+}
+.x-tip .x-tip-mc {
+    border:0 none;
+    font: normal 11px tahoma,arial,helvetica,sans-serif;
+}
+.x-tip .x-tip-ml {
+	background: #fff url(../images/default/qtip/tip-sprite.gif) no-repeat 0 -124px;
+	padding-left:6px;
+    zoom:1;
+}
+.x-tip .x-tip-mr {
+	background: transparent url(../images/default/qtip/tip-sprite.gif) no-repeat right -124px;
+	padding-right:6px;
+    zoom:1;
+}
+.ext-ie .x-tip .x-tip-header,.ext-ie .x-tip .x-tip-tc {
+    font-size:0;
+    line-height:0;
+}
+.x-tip .x-tip-header-text {
+    font: bold 11px tahoma,arial,helvetica,sans-serif;
+    padding:0;
+    margin:0 0 2px 0;
+    color:#444;
+}
+.x-tip .x-tip-body {
+    font: normal 11px tahoma,arial,helvetica,sans-serif;
+    margin:0 !important;
+    line-height:14px;
+    color:#444;
+    padding:0;
+}
+
+.x-tip .x-tip-body .loading-indicator {
+    margin:0;
+}
+
+.x-tip-draggable .x-tip-header,.x-tip-draggable .x-tip-header-text {
+    cursor:move;
+}
+
+.x-form-invalid-tip {
+}
+
+.x-form-invalid-tip .x-tip-tc {
+	background: url(../images/default/form/error-tip-corners.gif) repeat-x 0 -12px;
+    padding-top:6px;
+}
+.x-form-invalid-tip .x-tip-tl {
+	background-image: url(../images/default/form/error-tip-corners.gif);
+}
+.x-form-invalid-tip .x-tip-tr {
+	background-image: url(../images/default/form/error-tip-corners.gif);
+}
+.x-form-invalid-tip .x-tip-bc {
+	background: url(../images/default/form/error-tip-corners.gif) repeat-x 0 -18px;
+    height:6px;
+}
+.x-form-invalid-tip .x-tip-bl {
+	background: url(../images/default/form/error-tip-corners.gif) no-repeat 0 -6px;
+}
+.x-form-invalid-tip .x-tip-br {
+	background: url(../images/default/form/error-tip-corners.gif) no-repeat right -6px;
+}
+.x-form-invalid-tip .x-tip-ml {
+	background-image: url(../images/default/form/error-tip-corners.gif);
+}
+.x-form-invalid-tip .x-tip-mr {
+	background-image: url(../images/default/form/error-tip-corners.gif);
+}
+.x-form-invalid-tip .x-tip-body {
+    padding:2px;
+}
+.x-form-invalid-tip .x-tip-body {
+    padding-left:24px;
+    background:transparent url(../images/default/form/exclamation.gif) no-repeat 2px 2px;
+}
\ No newline at end of file
diff --git a/static/extjs/resources/css/reset-min.css b/static/extjs/resources/css/reset-min.css
new file mode 100644
index 00000000..a6f5648d
--- /dev/null
+++ b/static/extjs/resources/css/reset-min.css
@@ -0,0 +1,9 @@
+/*
+ * Ext JS Library 2.2.1
+ * Copyright(c) 2006-2009, Ext JS, LLC.
+ * licensing@extjs.com
+ * 
+ * http://extjs.com/license
+ */
+
+html,body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,p,blockquote,th,td{margin:0;padding:0;}img,body,html{border:0;}address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;}ol,ul {list-style:none;}caption,th {text-align:left;}h1,h2,h3,h4,h5,h6{font-size:100%;}q:before,q:after{content:'';}
\ No newline at end of file
diff --git a/static/extjs/resources/css/reset.css b/static/extjs/resources/css/reset.css
new file mode 100644
index 00000000..a6f5648d
--- /dev/null
+++ b/static/extjs/resources/css/reset.css
@@ -0,0 +1,9 @@
+/*
+ * Ext JS Library 2.2.1
+ * Copyright(c) 2006-2009, Ext JS, LLC.
+ * licensing@extjs.com
+ * 
+ * http://extjs.com/license
+ */
+
+html,body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,p,blockquote,th,td{margin:0;padding:0;}img,body,html{border:0;}address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;}ol,ul {list-style:none;}caption,th {text-align:left;}h1,h2,h3,h4,h5,h6{font-size:100%;}q:before,q:after{content:'';}
\ No newline at end of file
diff --git a/static/extjs/resources/css/resizable.css b/static/extjs/resources/css/resizable.css
new file mode 100644
index 00000000..381eda7d
--- /dev/null
+++ b/static/extjs/resources/css/resizable.css
@@ -0,0 +1,143 @@
+/*
+ * Ext JS Library 2.2.1
+ * Copyright(c) 2006-2009, Ext JS, LLC.
+ * licensing@extjs.com
+ * 
+ * http://extjs.com/license
+ */
+
+.x-resizable-handle {
+    position:absolute;
+    z-index:100;
+    /* ie needs these */
+    font-size:1px;
+    line-height:6px;
+    overflow:hidden;
+	 background:white;
+	 filter:alpha(opacity=0);
+	 opacity:0;
+	 zoom:1;
+}
+.x-resizable-handle-east{
+    width:6px;
+    cursor:e-resize;
+    right:0;
+    top:0;
+    height:100%;
+}
+.ext-ie .x-resizable-handle-east {
+      margin-right:-1px; /*IE rounding error*/
+}
+.x-resizable-handle-south{
+    width:100%;
+    cursor:s-resize;
+    left:0;
+    bottom:0;
+    height:6px;
+}
+.ext-ie .x-resizable-handle-south {
+     margin-bottom:-1px; /*IE rounding error*/
+}
+.x-resizable-handle-west{
+    width:6px;
+    cursor:w-resize;
+    left:0;
+    top:0;
+    height:100%;
+}
+.x-resizable-handle-north{
+    width:100%;
+    cursor:n-resize;
+    left:0;
+    top:0;
+    height:6px;
+}
+.x-resizable-handle-southeast{
+    width:6px;
+    cursor:se-resize;
+    right:0;
+    bottom:0;
+    height:6px;
+    z-index:101;
+}
+.x-resizable-handle-northwest{
+    width:6px;
+    cursor:nw-resize;
+    left:0;
+    top:0;
+    height:6px;
+    z-index:101;
+}
+.x-resizable-handle-northeast{
+    width:6px;
+    cursor:ne-resize;
+    right:0;
+    top:0;
+    height:6px;
+    z-index:101;
+}
+.x-resizable-handle-southwest{
+    width:6px;
+    cursor:sw-resize;
+    left:0;
+    bottom:0;
+    height:6px;
+    z-index:101;
+}
+.x-resizable-over .x-resizable-handle, .x-resizable-pinned .x-resizable-handle{
+    filter:alpha(opacity=100);
+	 opacity:1;
+}
+.x-resizable-over .x-resizable-handle-east, .x-resizable-pinned .x-resizable-handle-east{
+    background:url(../images/default/sizer/e-handle.gif);
+	 background-position: left;
+}
+.x-resizable-over .x-resizable-handle-west, .x-resizable-pinned .x-resizable-handle-west{
+    background:url(../images/default/sizer/e-handle.gif);
+	 background-position: left;
+}
+.x-resizable-over .x-resizable-handle-south, .x-resizable-pinned .x-resizable-handle-south{
+    background:url(../images/default/sizer/s-handle.gif);
+    background-position: top;
+}
+.x-resizable-over .x-resizable-handle-north, .x-resizable-pinned .x-resizable-handle-north{
+    background:url(../images/default/sizer/s-handle.gif);
+    background-position: top;
+}
+.x-resizable-over .x-resizable-handle-southeast, .x-resizable-pinned .x-resizable-handle-southeast{
+    background:url(../images/default/sizer/se-handle.gif);
+    background-position: top left;
+}
+.x-resizable-over .x-resizable-handle-northwest, .x-resizable-pinned .x-resizable-handle-northwest{
+    background:url(../images/default/sizer/nw-handle.gif);
+    background-position:bottom right;
+}
+.x-resizable-over .x-resizable-handle-northeast, .x-resizable-pinned .x-resizable-handle-northeast{
+    background:url(../images/default/sizer/ne-handle.gif);
+    background-position: bottom left;
+}
+.x-resizable-over .x-resizable-handle-southwest, .x-resizable-pinned .x-resizable-handle-southwest{
+    background:url(../images/default/sizer/sw-handle.gif);
+    background-position: top right;
+}
+.x-resizable-proxy{
+    border: 1px dashed #3b5a82;
+    position:absolute;
+    overflow:hidden;
+    display:none;
+	 left:0;top:0;
+    z-index:50000;
+}
+.x-resizable-overlay{
+    width:100%;
+	 height:100%;
+	 display:none;
+	 position:absolute;
+	 left:0;
+	 top:0;
+	 background:white;
+	 z-index:200000;
+	 -moz-opacity: 0;
+    opacity:0;
+    filter: alpha(opacity=0);
+}
diff --git a/static/extjs/resources/css/slider.css b/static/extjs/resources/css/slider.css
new file mode 100644
index 00000000..9cc8a09c
--- /dev/null
+++ b/static/extjs/resources/css/slider.css
@@ -0,0 +1,90 @@
+/*
+ * Ext JS Library 2.2.1
+ * Copyright(c) 2006-2009, Ext JS, LLC.
+ * licensing@extjs.com
+ * 
+ * http://extjs.com/license
+ */
+
+/* Shared styles */
+.x-slider {
+    zoom:1;
+}
+.x-slider-inner {
+    position:relative;
+    left:0;
+    top:0;
+    overflow:visible;
+    zoom:1;
+}
+.x-slider-focus {
+	position:absolute;
+	left:0;
+	top:0;
+	width:1px;
+	height:1px;
+    line-height:1px;
+    font-size:1px;
+    -moz-outline:0 none;
+    outline:0 none;
+    -moz-user-select: text;
+    -khtml-user-select: text;
+}
+
+/* Horizontal styles */
+.x-slider-horz {
+    padding-left:7px;
+    background:transparent url(../images/default/slider/slider-bg.png) no-repeat 0 -22px;
+}
+.x-slider-horz .x-slider-end {
+    padding-right:7px;
+    zoom:1;
+    background:transparent url(../images/default/slider/slider-bg.png) no-repeat right -44px;
+}
+.x-slider-horz .x-slider-inner {
+    background:transparent url(../images/default/slider/slider-bg.png) repeat-x 0 0;
+    height:22px;
+}
+.x-slider-horz .x-slider-thumb {
+    width:14px;
+    height:15px;
+    position:absolute;
+    left:0;
+    top:3px;
+    background:transparent url(../images/default/slider/slider-thumb.png) no-repeat 0 0;
+}
+.x-slider-horz .x-slider-thumb-over {
+    background-position: -14px -15px;
+}
+.x-slider-horz .x-slider-thumb-drag {
+    background-position: -28px -30px;
+}
+
+/* Vertical styles */
+.x-slider-vert {
+    padding-top:7px;
+    background:transparent url(../images/default/slider/slider-v-bg.png) no-repeat -44px 0;
+    width:22px;
+}
+.x-slider-vert .x-slider-end {
+    padding-bottom:7px;
+    zoom:1;
+    background:transparent url(../images/default/slider/slider-v-bg.png) no-repeat -22px bottom;
+}
+.x-slider-vert .x-slider-inner {
+    background:transparent url(../images/default/slider/slider-v-bg.png) repeat-y 0 0;
+}
+.x-slider-vert .x-slider-thumb {
+    width:15px;
+    height:14px;
+    position:absolute;
+    left:3px;
+    bottom:0;
+    background:transparent url(../images/default/slider/slider-v-thumb.png) no-repeat 0 0;
+}
+.x-slider-vert .x-slider-thumb-over {
+    background-position: -15px -14px;
+}
+.x-slider-vert .x-slider-thumb-drag {
+    background-position: -30px -28px;
+}
\ No newline at end of file
diff --git a/static/extjs/resources/css/tabs.css b/static/extjs/resources/css/tabs.css
new file mode 100644
index 00000000..0f01ce05
--- /dev/null
+++ b/static/extjs/resources/css/tabs.css
@@ -0,0 +1,362 @@
+/*
+ * Ext JS Library 2.2.1
+ * Copyright(c) 2006-2009, Ext JS, LLC.
+ * licensing@extjs.com
+ * 
+ * http://extjs.com/license
+ */
+
+.x-tab-panel {
+    overflow:hidden;
+}
+.x-tab-panel-header, .x-tab-panel-footer {
+	background: #deecfd;
+	border: 1px solid #8db2e3;
+    overflow:hidden;
+    zoom:1;
+}
+
+
+.x-tab-panel-header {
+	border: 1px solid #8db2e3;
+	padding-bottom: 2px;
+}
+
+.x-tab-panel-footer {
+	border: 1px solid #8db2e3;
+	padding-top: 2px;
+}
+
+
+.x-tab-strip-wrap {
+	width:100%;
+    overflow:hidden;
+    position:relative;
+    zoom:1;
+}
+ul.x-tab-strip {
+	display:block;
+    width:5000px;
+    zoom:1;
+}
+
+ul.x-tab-strip-top{
+	padding-top: 1px;
+	background: url(../images/default/tabs/tab-strip-bg.gif) #cedff5 repeat-x bottom;
+	border-bottom: 1px solid #8db2e3;
+}
+
+ul.x-tab-strip-bottom{
+	padding-bottom: 1px;
+	background: url(../images/default/tabs/tab-strip-btm-bg.gif) #cedff5 repeat-x top;
+	border-top: 1px solid #8db2e3;
+	border-bottom: 0 none;
+}
+
+.x-tab-panel-header-plain .x-tab-strip-top {
+    background:transparent !important;
+    padding-top:0 !important;
+}
+.x-tab-panel-header-plain {
+    background:transparent !important;
+    border-width:0 !important;
+    padding-bottom:0 !important;
+}
+
+.x-tab-panel-header-plain .x-tab-strip-spacer,
+.x-tab-panel-footer-plain .x-tab-strip-spacer {
+    border:1px solid #8db2e3;
+    height:2px;
+    background: #deecfd;
+    font-size:1px;
+    line-height:1px;
+}
+.x-tab-panel-header-plain .x-tab-strip-spacer {
+    border-top: 0 none;
+}
+.x-tab-panel-footer-plain .x-tab-strip-spacer {
+    border-bottom: 0 none;
+}
+
+.x-tab-panel-footer-plain .x-tab-strip-bottom {
+    background:transparent !important;
+    padding-bottom:0 !important;
+}
+.x-tab-panel-footer-plain {
+    background:transparent !important;
+    border-width:0 !important;
+    padding-top:0 !important;
+}
+
+.ext-border-box .x-tab-panel-header-plain .x-tab-strip-spacer,
+.ext-border-box .x-tab-panel-footer-plain .x-tab-strip-spacer {
+    height:3px;
+}
+
+
+ul.x-tab-strip li {
+    float:left;
+    margin-left:2px;
+}
+
+
+ul.x-tab-strip li.x-tab-edge {
+    float:left;
+    margin:0 !important;
+    padding:0 !important;
+    border:0 none !important;
+    font-size:1px !important;
+    line-height:1px !important;
+    overflow:hidden;
+    zoom:1;
+    background:transparent !important;
+    width:1px;
+}
+
+.x-tab-strip a, .x-tab-strip span, .x-tab-strip em {
+	display:block;
+}
+
+.x-tab-strip a {
+	text-decoration:none !important;
+	-moz-outline: none;
+	outline: none;
+	cursor:pointer;
+}
+
+.x-tab-strip-inner {
+    overflow:hidden;
+	text-overflow: ellipsis;
+}
+
+.x-tab-strip span.x-tab-strip-text {
+	font:normal 11px tahoma,arial,helvetica;
+	color:#416aa3;
+	white-space: nowrap;
+	cursor:pointer;
+    padding:4px 0;
+}
+.x-tab-strip-top .x-tab-with-icon .x-tab-right {
+    padding-left:6px;
+}
+.x-tab-strip .x-tab-with-icon span.x-tab-strip-text {
+	padding-left:20px;
+    background-position: 0 3px;
+    background-repeat: no-repeat;
+}
+
+.x-tab-strip-over span.x-tab-strip-text {
+	color:#15428b;
+}
+
+.x-tab-strip-active, .x-tab-strip-active a.x-tab-right {
+    cursor:default;
+}
+
+.x-tab-strip-active span.x-tab-strip-text {
+	cursor:default;
+	color:#15428b;
+    font-weight:bold;
+}
+
+.x-tab-strip-disabled .x-tabs-text {
+	cursor:default;
+	color:#aaaaaa;
+}
+
+.x-tab-panel-body {
+    overflow:hidden;
+}
+.x-tab-panel-bwrap {
+    overflow:hidden;
+}
+.ext-ie .x-tab-strip .x-tab-right {
+    position:relative;
+}
+
+.x-tab-strip-top .x-tab-strip-active .x-tab-right {
+    margin-bottom:-1px;
+}
+
+.x-tab-strip-top .x-tab-strip-active .x-tab-right span.x-tab-strip-text {
+    padding-bottom:5px;
+}
+
+.x-tab-strip-bottom .x-tab-strip-active .x-tab-right {
+    margin-top:-1px;
+}
+.x-tab-strip-bottom .x-tab-strip-active .x-tab-right span.x-tab-strip-text {
+    padding-top:5px;
+}
+
+
+.x-tab-strip-top .x-tab-right {
+	background: transparent url(../images/default/tabs/tabs-sprite.gif) no-repeat 0 -51px;
+    padding-left:10px;
+}
+
+.x-tab-strip-top .x-tab-left {
+	background: transparent url(../images/default/tabs/tabs-sprite.gif) no-repeat right -351px;
+    padding-right:10px;
+}
+
+.x-tab-strip-top .x-tab-strip-inner {
+	background: transparent url(../images/default/tabs/tabs-sprite.gif) repeat-x 0 -201px;
+}
+
+.x-tab-strip-top .x-tab-strip-over .x-tab-right {
+	 background-position:0 -101px;
+}
+.x-tab-strip-top .x-tab-strip-over .x-tab-left {
+	 background-position:right -401px;
+}
+.x-tab-strip-top .x-tab-strip-over .x-tab-strip-inner {
+	 background-position:0 -251px;
+}
+
+.x-tab-strip-top .x-tab-strip-active .x-tab-right {
+	background-position: 0 0;
+}
+
+.x-tab-strip-top .x-tab-strip-active .x-tab-left {
+	background-position: right -301px;
+}
+
+.x-tab-strip-top .x-tab-strip-active .x-tab-strip-inner {
+	background-position: 0 -151px;
+}
+
+.x-tab-strip-bottom .x-tab-right {
+	background: url(../images/default/tabs/tab-btm-inactive-right-bg.gif) no-repeat bottom right;
+}
+
+.x-tab-strip-bottom .x-tab-left {
+	background: url(../images/default/tabs/tab-btm-inactive-left-bg.gif) no-repeat bottom left;
+}
+
+.x-tab-strip-bottom .x-tab-strip-active .x-tab-right {
+	background: url(../images/default/tabs/tab-btm-right-bg.gif) no-repeat bottom left;
+}
+
+.x-tab-strip-bottom .x-tab-strip-active .x-tab-left {
+	background: url(../images/default/tabs/tab-btm-left-bg.gif) no-repeat bottom right;
+}
+.x-tab-strip-bottom .x-tab-left {
+    padding:0 10px;
+}
+.x-tab-strip-bottom .x-tab-right {
+    padding:0;
+}
+.x-tab-strip .x-tab-strip-close {
+    display:none;
+}
+.x-tab-strip-closable {
+    position:relative;
+}
+
+.x-tab-strip-closable .x-tab-left {
+    padding-right:19px;
+}
+
+.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close {
+	background-image:url(../images/default/tabs/tab-close.gif);
+    opacity:.6;
+    -moz-opacity:.6;
+    background-repeat:no-repeat;
+    display:block;
+	width:11px;height:11px;
+    position:absolute;
+    top:3px;
+    right:3px;
+    cursor:pointer;
+    z-index:2;
+}
+
+.x-tab-strip .x-tab-strip-active a.x-tab-strip-close {
+    opacity:.8;
+    -moz-opacity:.8;
+}
+.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close:hover{
+	background-image:url(../images/default/tabs/tab-close.gif);
+    opacity:1;
+    -moz-opacity:1;
+}
+
+.x-tab-panel-body {
+    border: 1px solid #8db2e3;
+    background:#fff;
+}
+.x-tab-panel-body-top {
+    border-top: 0 none;
+}
+.x-tab-panel-body-bottom {
+    border-bottom: 0 none;
+}
+
+.x-tab-scroller-left {
+    background: transparent url(../images/default/tabs/scroll-left.gif) no-repeat -18px 0;
+    border-bottom: 1px solid #8db2e3;
+    width:18px;
+    position:absolute;
+    left:0;
+    top:0;
+    z-index:10;
+    cursor:pointer;
+}
+.x-tab-scroller-left-over {
+    background-position: 0 0;
+}
+.x-tab-scroller-left-disabled {
+    background-position: -18px 0;
+    opacity:.5;
+    -moz-opacity:.5;
+    filter:alpha(opacity=50);
+    cursor:default;
+}
+.x-tab-scroller-right {
+    background: transparent url(../images/default/tabs/scroll-right.gif) no-repeat 0 0;
+    border-bottom: 1px solid #8db2e3;
+    width:18px;
+    position:absolute;
+    right:0;
+    top:0;
+    z-index:10;
+    cursor:pointer;
+}
+.x-tab-scroller-right-over {
+    background-position: -18px 0;
+}
+.x-tab-scroller-right-disabled {
+    background-position: 0 0;
+    opacity:.5;
+    -moz-opacity:.5;
+    filter:alpha(opacity=50);
+    cursor:default;
+}
+
+.x-tab-scrolling-bottom .x-tab-scroller-left, .x-tab-scrolling-bottom .x-tab-scroller-right{
+    margin-top: 1px;
+}
+
+.x-tab-scrolling .x-tab-strip-wrap {
+    margin-left:18px;
+    margin-right:18px;
+}
+
+.x-tab-scrolling {
+    position:relative;    
+}
+
+.x-tab-panel-bbar .x-toolbar {
+    border:1px solid #99bbe8;
+    border-top:0 none;
+    overflow:hidden;
+    padding:2px;
+}
+
+.x-tab-panel-tbar .x-toolbar {
+    border:1px solid #99bbe8;
+    border-top:0 none;
+    overflow:hidden;
+    padding:2px;
+}
\ No newline at end of file
diff --git a/static/extjs/resources/css/toolbar.css b/static/extjs/resources/css/toolbar.css
new file mode 100644
index 00000000..2ecc5f11
--- /dev/null
+++ b/static/extjs/resources/css/toolbar.css
@@ -0,0 +1,183 @@
+/*
+ * Ext JS Library 2.2.1
+ * Copyright(c) 2006-2009, Ext JS, LLC.
+ * licensing@extjs.com
+ * 
+ * http://extjs.com/license
+ */
+
+.x-toolbar{
+	border-color:#a9bfd3;
+    border-style:solid;
+    border-width:0 0 1px 0;
+    display: block;
+	padding:2px;
+    background:#d0def0 url(../images/default/toolbar/bg.gif) repeat-x top left;
+    position:relative;
+    zoom:1;
+}
+.x-toolbar .x-item-disabled .x-btn-icon {
+    opacity: .35;
+    -moz-opacity: .35;
+    filter: alpha(opacity=35);
+}
+.x-toolbar td {
+	vertical-align:middle;
+}
+.mso .x-toolbar, .x-grid-mso .x-toolbar{
+	border: 0 none;
+	background: url(../images/default/grid/mso-hd.gif);
+}
+.x-toolbar td,.x-toolbar span,.x-toolbar input,.x-toolbar div,.x-toolbar select,.x-toolbar label{
+	white-space: nowrap;
+    font:normal 11px tahoma, arial, helvetica, sans-serif;
+}
+.x-toolbar .x-item-disabled {
+	color:gray;
+	cursor:default;
+	opacity:.6;
+	-moz-opacity:.6;
+	filter:alpha(opacity=60);
+}
+.x-toolbar .x-item-disabled * {
+	color:gray;
+	cursor:default;
+}
+.x-toolbar .x-btn-left{
+	background:none;
+}
+.x-toolbar .x-btn-right{
+	background:none;
+}
+.x-toolbar .x-btn-center{
+	background:none;
+	padding:0 0;
+}
+.x-toolbar .x-btn-menu-text-wrap .x-btn-center button{
+	padding-right:2px;
+}
+.ext-gecko .x-toolbar .x-btn-menu-text-wrap .x-btn-center button{
+	padding-right:0;
+}
+.x-toolbar .x-btn-menu-arrow-wrap .x-btn-center button{
+	padding:0 2px;
+}
+
+.x-toolbar .x-btn-menu-arrow-wrap .x-btn-center button {
+    width:12px;
+    background:transparent url(../images/default/toolbar/btn-arrow.gif) no-repeat 0 3px;
+}
+.x-toolbar .x-btn-text-icon .x-btn-menu-arrow-wrap .x-btn-center button {
+    width:12px;
+    background:transparent url(../images/default/toolbar/btn-arrow.gif) no-repeat 0 3px;
+}
+.x-toolbar .x-btn-over .x-btn-menu-arrow-wrap .x-btn-center button {
+	background-position: 0 -47px;
+}
+.x-toolbar .x-btn-over .x-btn-left{
+	background: url(../images/default/toolbar/tb-btn-sprite.gif) no-repeat 0 0;
+}
+.x-toolbar .x-btn-over .x-btn-right{
+	background: url(../images/default/toolbar/tb-btn-sprite.gif) no-repeat 0 -21px;
+}
+.x-toolbar .x-btn-over .x-btn-center{
+	background: url(../images/default/toolbar/tb-btn-sprite.gif) repeat-x 0 -42px;
+}
+
+.x-toolbar .x-btn-click .x-btn-left, .x-toolbar .x-btn-pressed .x-btn-left, .x-toolbar .x-btn-menu-active .x-btn-left{
+	background: url(../images/default/toolbar/tb-btn-sprite.gif) no-repeat 0 -63px;
+}
+.x-toolbar .x-btn-click .x-btn-right, .x-toolbar .x-btn-pressed .x-btn-right, .x-toolbar .x-btn-menu-active .x-btn-right{
+	background: url(../images/default/toolbar/tb-btn-sprite.gif) no-repeat 0 -84px;
+}
+
+.x-toolbar .x-btn-click .x-btn-center, .x-toolbar .x-btn-pressed .x-btn-center, .x-toolbar .x-btn-menu-active .x-btn-center{
+	background: url(../images/default/toolbar/tb-btn-sprite.gif) repeat-x 0 -105px;
+}
+
+.x-toolbar .x-btn-with-menu .x-btn-center em{
+	padding-right:8px;
+}
+
+.x-toolbar .ytb-text{
+   padding:2px;
+}
+.x-toolbar .ytb-sep {
+	background-image: url(../images/default/grid/grid-blue-split.gif);
+	background-position: center;
+	background-repeat: no-repeat;
+	display: block;
+	font-size: 1px;
+	height: 16px;
+	width:4px;
+	overflow: hidden;
+	cursor:default;
+	margin: 0 2px 0;
+	border:0;
+}
+.x-toolbar .ytb-spacer {
+    width:2px;
+}
+
+/* Paging Toolbar */
+
+.x-tbar-page-number{
+	width:24px;
+	height:14px;
+}
+.x-tbar-page-first{
+	background-image: url(../images/default/grid/page-first.gif) !important;
+}
+.x-tbar-loading{
+	background-image: url(../images/default/grid/refresh.gif) !important;
+}
+.x-tbar-page-last{
+	background-image: url(../images/default/grid/page-last.gif) !important;
+}
+.x-tbar-page-next{
+	background-image: url(../images/default/grid/page-next.gif) !important;
+}
+.x-tbar-page-prev{
+	background-image: url(../images/default/grid/page-prev.gif) !important;
+}
+.x-item-disabled .x-tbar-loading{
+	background-image: url(../images/default/grid/loading.gif) !important;
+}
+.x-item-disabled .x-tbar-page-first{
+	background-image: url(../images/default/grid/page-first-disabled.gif) !important;
+}
+.x-item-disabled .x-tbar-page-last{
+	background-image: url(../images/default/grid/page-last-disabled.gif) !important;
+}
+.x-item-disabled .x-tbar-page-next{
+	background-image: url(../images/default/grid/page-next-disabled.gif) !important;
+}
+.x-item-disabled .x-tbar-page-prev{
+	background-image: url(../images/default/grid/page-prev-disabled.gif) !important;
+}
+.x-paging-info {
+    position:absolute;
+    top:5px;
+    right: 8px;
+    color:#444;
+}
+
+/* StatusBar */
+
+.x-statusbar .x-status-text {
+    height: 21px;
+    line-height: 21px;
+    padding: 0 4px;
+    cursor: default;
+}
+.x-statusbar .x-status-busy {
+    padding-left: 25px;
+    background: transparent url(../images/default/grid/loading.gif) no-repeat 3px 3px;
+}
+.x-statusbar .x-status-text-panel {
+    border-top: 1px solid #99BBE8;
+    border-right: 1px solid #fff;
+    border-bottom: 1px solid #fff;
+    border-left: 1px solid #99BBE8;
+    padding: 2px 8px 2px 5px;
+}
diff --git a/static/extjs/resources/css/tree.css b/static/extjs/resources/css/tree.css
new file mode 100644
index 00000000..c6536acb
--- /dev/null
+++ b/static/extjs/resources/css/tree.css
@@ -0,0 +1,254 @@
+/*
+ * Ext JS Library 2.2.1
+ * Copyright(c) 2006-2009, Ext JS, LLC.
+ * licensing@extjs.com
+ * 
+ * http://extjs.com/license
+ */
+
+.x-tree .x-panel-body{
+    background-color:#fff;
+}
+.ext-strict .ext-ie .x-tree .x-panel-bwrap{
+    position:relative;
+    overflow:hidden;
+}
+.x-tree-icon, .x-tree-ec-icon, .x-tree-elbow-line, .x-tree-elbow, .x-tree-elbow-end, .x-tree-elbow-plus, .x-tree-elbow-minus, .x-tree-elbow-end-plus, .x-tree-elbow-end-minus{
+	border: 0 none;
+	height: 18px;
+	margin: 0;
+	padding: 0;
+	vertical-align: top;
+	width: 16px;
+    background-repeat: no-repeat;
+}
+.x-tree-node-collapsed .x-tree-node-icon, .x-tree-node-expanded .x-tree-node-icon, .x-tree-node-leaf .x-tree-node-icon{
+	border: 0 none;
+	height: 18px;
+	margin: 0;
+	padding: 0;
+	vertical-align: top;
+	width: 16px;
+	background-position:center;
+    background-repeat: no-repeat;
+}
+.ext-ie .x-tree-node-indent img, .ext-ie .x-tree-node-icon, .ext-ie .x-tree-ec-icon {
+    vertical-align:middle !important;
+}
+/* some default icons for leaf/folder */
+.x-tree-node-expanded .x-tree-node-icon{
+	background-image:url(../images/default/tree/folder-open.gif);
+}
+.x-tree-node-leaf .x-tree-node-icon{
+	background-image:url(../images/default/tree/leaf.gif);
+}
+.x-tree-node-collapsed .x-tree-node-icon{
+	background-image:url(../images/default/tree/folder.gif);
+}
+/* checkboxes */
+.ext-ie input.x-tree-node-cb {
+    width:15px;
+    height:15px;
+}
+input.x-tree-node-cb {
+    margin-left:1px;
+}
+.ext-ie input.x-tree-node-cb {
+    margin-left:0;
+}
+
+.x-tree-noicon .x-tree-node-icon{
+	width:0; height:0;
+}
+/* loading icon */
+.x-tree-node-loading .x-tree-node-icon{
+	background-image:url(../images/default/tree/loading.gif) !important;
+}
+.x-tree-node-loading a span{
+	 font-style: italic;
+	 color:#444444;
+}
+.ext-ie .x-tree-node-el input {
+    width:15px;
+    height:15px;
+}
+/* Line styles */
+.x-tree-lines .x-tree-elbow{
+	background-image:url(../images/default/tree/elbow.gif);
+}
+.x-tree-lines .x-tree-elbow-plus{
+	background-image:url(../images/default/tree/elbow-plus.gif);
+}
+.x-tree-lines .x-tree-elbow-minus{
+	background-image:url(../images/default/tree/elbow-minus.gif);
+}
+.x-tree-lines .x-tree-elbow-end{
+	background-image:url(../images/default/tree/elbow-end.gif);
+}
+.x-tree-lines .x-tree-elbow-end-plus{
+	background-image:url(../images/default/tree/elbow-end-plus.gif);
+}
+.x-tree-lines .x-tree-elbow-end-minus{
+	background-image:url(../images/default/tree/elbow-end-minus.gif);
+}
+.x-tree-lines .x-tree-elbow-line{
+	background-image:url(../images/default/tree/elbow-line.gif);
+}
+
+/* No line styles */
+.x-tree-no-lines .x-tree-elbow{
+	background:transparent;
+}
+.x-tree-no-lines .x-tree-elbow-plus{
+	background-image:url(../images/default/tree/elbow-plus-nl.gif);
+}
+.x-tree-no-lines .x-tree-elbow-minus{
+	background-image:url(../images/default/tree/elbow-minus-nl.gif);
+}
+.x-tree-no-lines .x-tree-elbow-end{
+	background:transparent;
+}
+.x-tree-no-lines .x-tree-elbow-end-plus{
+	background-image:url(../images/default/tree/elbow-end-plus-nl.gif);
+}
+.x-tree-no-lines .x-tree-elbow-end-minus{
+	background-image:url(../images/default/tree/elbow-end-minus-nl.gif);
+}
+.x-tree-no-lines .x-tree-elbow-line{
+	background:transparent;
+}
+
+
+/* Arrows */
+.x-tree-arrows .x-tree-elbow{
+	background:transparent;
+}
+.x-tree-arrows .x-tree-elbow-plus{
+    background:transparent url(../images/default/tree/arrows.gif) no-repeat 0 0;
+}
+.x-tree-arrows .x-tree-elbow-minus{
+    background:transparent url(../images/default/tree/arrows.gif) no-repeat -16px 0;
+}
+.x-tree-arrows .x-tree-elbow-end{
+	background:transparent;
+}
+.x-tree-arrows .x-tree-elbow-end-plus{
+    background:transparent url(../images/default/tree/arrows.gif) no-repeat 0 0;
+}
+.x-tree-arrows .x-tree-elbow-end-minus{
+    background:transparent url(../images/default/tree/arrows.gif) no-repeat -16px 0;
+}
+.x-tree-arrows .x-tree-elbow-line{
+	background:transparent;
+}
+
+.x-tree-arrows .x-tree-ec-over .x-tree-elbow-plus{
+    background-position:-32px 0;
+}
+.x-tree-arrows .x-tree-ec-over .x-tree-elbow-minus{
+    background-position:-48px 0;
+}
+.x-tree-arrows .x-tree-ec-over .x-tree-elbow-end-plus{
+    background-position:-32px 0;
+}
+.x-tree-arrows .x-tree-ec-over .x-tree-elbow-end-minus{
+    background-position:-48px 0;
+}
+
+
+
+.x-tree-elbow-plus, .x-tree-elbow-minus, .x-tree-elbow-end-plus, .x-tree-elbow-end-minus{
+	cursor:pointer;
+}
+.ext-ie ul.x-tree-node-ct{
+    font-size:0;
+    line-height:0;
+    zoom:1;
+}
+.x-tree-node{
+	color: black;
+	font: normal 11px arial, tahoma, helvetica, sans-serif;
+	white-space: nowrap;
+}
+
+.x-tree-node-el {
+    line-height:18px;
+    cursor:pointer;
+}
+
+.x-tree-node a, .x-dd-drag-ghost a{
+	text-decoration:none;
+	color:black;
+	-khtml-user-select:none;
+	-moz-user-select:none;
+    -kthml-user-focus:normal;
+    -moz-user-focus:normal;
+    -moz-outline: 0 none;
+    outline:0 none;
+}
+.x-tree-node a span, .x-dd-drag-ghost a span{
+	text-decoration:none;
+	color:black;
+	padding:1px 3px 1px 2px;
+}
+.x-tree-node .x-tree-node-disabled a span{
+	color:gray !important;
+}
+.x-tree-node .x-tree-node-disabled .x-tree-node-icon{
+	-moz-opacity: 0.5;
+   opacity:.5;
+   filter: alpha(opacity=50);
+}
+.x-tree-node .x-tree-node-inline-icon{
+	background:transparent;
+}
+.x-tree-node a:hover, .x-dd-drag-ghost a:hover{
+	text-decoration:none;
+}
+.x-tree-node div.x-tree-drag-insert-below{
+ 	 border-bottom:1px dotted #3366cc;
+}
+.x-tree-node div.x-tree-drag-insert-above{
+	 border-top:1px dotted #3366cc;
+}
+.x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-below{
+ 	 border-bottom:0 none;
+}
+.x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-above{
+	 border-top:0 none;
+}
+.x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-below a{
+ 	 border-bottom:2px solid #3366cc;
+}
+.x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-above a{
+	 border-top:2px solid #3366cc;
+}
+.x-tree-node .x-tree-drag-append a span{
+	 background:#dddddd;
+	 border:1px dotted gray;
+}
+.x-tree-node .x-tree-node-over {
+	background-color: #eee;
+}
+.x-tree-node .x-tree-selected {
+	background-color: #d9e8fb;
+}
+.x-dd-drag-ghost .x-tree-node-indent, .x-dd-drag-ghost .x-tree-ec-icon{
+	display:none !important;
+}
+.x-tree-drop-ok-append .x-dd-drop-icon{
+  background-image: url(../images/default/tree/drop-add.gif);
+}
+.x-tree-drop-ok-above .x-dd-drop-icon{
+  background-image: url(../images/default/tree/drop-over.gif);
+}
+.x-tree-drop-ok-below .x-dd-drop-icon{
+  background-image: url(../images/default/tree/drop-under.gif);
+}
+.x-tree-drop-ok-between .x-dd-drop-icon{
+  background-image: url(../images/default/tree/drop-between.gif);
+}
+/* Fix for ie rootVisible:false issue */
+.x-tree-root-ct {
+    zoom:1;
+}
diff --git a/static/extjs/resources/css/window.css b/static/extjs/resources/css/window.css
new file mode 100644
index 00000000..256b09ad
--- /dev/null
+++ b/static/extjs/resources/css/window.css
@@ -0,0 +1,208 @@
+/*
+ * Ext JS Library 2.2.1
+ * Copyright(c) 2006-2009, Ext JS, LLC.
+ * licensing@extjs.com
+ * 
+ * http://extjs.com/license
+ */
+
+.x-window {
+    zoom:1;
+}
+.x-window .x-resizable-handle {
+    opacity:0;
+    -moz-opacity:0;
+    filter:alpha(opacity=0);
+}
+
+.x-window-proxy {
+    background:#C7DFFC;
+    border:1px solid #99bbe8;
+    z-index:12000;
+    overflow:hidden;
+    position:absolute;
+    left:0;top:0;
+    display:none;
+    opacity:.5;
+    -moz-opacity:.5;
+    filter:alpha(opacity=50);
+}
+
+.x-window-header {
+    overflow:hidden;
+    zoom:1;
+}
+.x-window-bwrap {
+    z-index:1;
+    position:relative;
+    zoom:1;
+    left:0;top:0;
+}
+.x-window-tl .x-window-header {
+    color:#15428b;
+	font:bold 11px tahoma,arial,verdana,sans-serif;
+    padding:5px 0 4px 0;
+}
+.x-window-header-text {
+    cursor:pointer;
+}
+.x-window-tc {
+	background: transparent url(../images/default/window/top-bottom.png) repeat-x 0 0;
+	overflow:hidden;
+    zoom:1;
+}
+.x-window-tl {
+	background: transparent url(../images/default/window/left-corners.png) no-repeat 0 0;
+	padding-left:6px;
+    zoom:1;
+    z-index:1;
+    position:relative;
+}
+.x-window-tr {
+	background: transparent url(../images/default/window/right-corners.png) no-repeat right 0;
+	padding-right:6px;
+}
+.x-window-bc {
+	background: transparent url(../images/default/window/top-bottom.png) repeat-x 0 bottom;
+    zoom:1;
+}
+.x-window-bc .x-window-footer {
+    padding-bottom:6px;
+    zoom:1;
+    font-size:0;
+    line-height:0;
+}
+.x-window-bl {
+	background: transparent url(../images/default/window/left-corners.png) no-repeat 0 bottom;
+	padding-left:6px;
+    zoom:1;
+}
+.x-window-br {
+	background: transparent url(../images/default/window/right-corners.png) no-repeat right bottom;
+	padding-right:6px;
+    zoom:1;
+}
+.x-window-mc {
+    border:1px solid #99bbe8;
+    padding:0;
+    margin:0;
+    font: normal 11px tahoma,arial,helvetica,sans-serif;
+    background:#dfe8f6;
+}
+
+
+.x-window-ml {
+	background: transparent url(../images/default/window/left-right.png) repeat-y 0 0;
+	padding-left:6px;
+    zoom:1;
+}
+.x-window-mr {
+	background: transparent url(../images/default/window/left-right.png) repeat-y right 0;
+	padding-right:6px;
+    zoom:1;
+}
+.x-window-body {
+    overflow:hidden;
+}
+.x-window-bwrap {
+    overflow:hidden;
+}
+.x-window-maximized .x-window-bl, .x-window-maximized .x-window-br,
+    .x-window-maximized .x-window-ml, .x-window-maximized .x-window-mr,
+    .x-window-maximized .x-window-tl, .x-window-maximized .x-window-tr {
+    padding:0;
+}
+.x-window-maximized .x-window-footer {
+    padding-bottom:0;
+}
+.x-window-maximized .x-window-tc {
+    padding-left:3px;
+    padding-right:3px;
+    background-color:white;
+}
+.x-window-maximized .x-window-mc {
+    border-left:0 none;
+    border-right:0 none;
+}
+.x-window-tbar .x-toolbar, .x-window-bbar .x-toolbar {
+    border-left:0 none;
+    border-right: 0 none;
+}
+.x-window-bbar .x-toolbar {
+    border-top:1px solid #99bbe8;
+    border-bottom:0 none;
+}
+.x-window-draggable, .x-window-draggable .x-window-header-text {
+    cursor:move;
+}
+.x-window-maximized .x-window-draggable, .x-window-maximized .x-window-draggable .x-window-header-text {
+    cursor:default;
+}
+.x-window-body {
+    background:transparent;
+}
+.x-panel-ghost .x-window-tl {
+    border-bottom:1px solid #99bbe8;
+}
+.x-panel-collapsed .x-window-tl {
+    border-bottom:1px solid #84a0c4;
+}
+.x-window-maximized-ct {
+    overflow:hidden;
+}
+.x-window-maximized .x-resizable-handle {
+    display:none;
+}
+.x-window-sizing-ghost ul {
+    border:0 none !important;
+}
+
+
+.x-dlg-focus{
+	-moz-outline:0 none;
+	outline:0 none;
+	width:0;
+	height:0;
+	overflow:hidden;
+	position:absolute;
+	top:0;
+	left:0;
+}
+.x-dlg-mask{
+	z-index:10000;
+   display:none;
+   position:absolute;
+   top:0;
+   left:0;
+   -moz-opacity: 0.5;
+   opacity:.50;
+   filter: alpha(opacity=50);
+   background-color:#CCC;
+}
+
+body.ext-ie6.x-body-masked select {
+	visibility:hidden;
+}
+body.ext-ie6.x-body-masked .x-window select {
+	visibility:visible;
+}
+
+.x-window-plain .x-window-mc {
+    background: #CAD9EC;
+    border-right:1px solid #DFE8F6;
+    border-bottom:1px solid #DFE8F6;
+    border-top:1px solid #a3bae9;
+    border-left:1px solid #a3bae9;
+}
+
+.x-window-plain .x-window-body {
+    border-left:1px solid #DFE8F6;
+    border-top:1px solid #DFE8F6;
+    border-bottom:1px solid #a3bae9;
+    border-right:1px solid #a3bae9;
+    background:transparent !important;
+}
+
+body.x-body-masked .x-window-plain .x-window-mc {
+    background: #C7D6E9;
+}
\ No newline at end of file
diff --git a/static/extjs/resources/css/xtheme-gray.css b/static/extjs/resources/css/xtheme-gray.css
new file mode 100644
index 00000000..6cb8e7e2
--- /dev/null
+++ b/static/extjs/resources/css/xtheme-gray.css
@@ -0,0 +1,416 @@
+/*
+ * Ext JS Library 2.2.1
+ * Copyright(c) 2006-2009, Ext JS, LLC.
+ * licensing@extjs.com
+ * 
+ * http://extjs.com/license
+ */
+
+.x-panel {
+    border-style: solid;
+    border-color: #d0d0d0;
+}
+.x-panel-header {
+    color:#333;
+	border:1px solid #d0d0d0;
+    background-image:url(../images/gray/panel/white-top-bottom.gif);
+}
+
+.x-panel-body {
+    border-color:#d0d0d0;
+}
+
+.x-panel-bbar .x-toolbar {
+    border-color:#d0d0d0;
+}
+
+.x-panel-tbar .x-toolbar {
+    border-color:#d0d0d0;
+}
+
+.x-panel-tbar-noheader .x-toolbar, .x-panel-mc .x-panel-tbar .x-toolbar {
+    border-color:#d0d0d0;
+}
+.x-panel-body-noheader, .x-panel-mc .x-panel-body {
+    border-color:#d0d0d0;
+}
+.x-panel-tl .x-panel-header {
+    color:#333;
+}
+.x-panel-tc {
+	background-image:url(../images/gray/panel/top-bottom.gif);
+}
+.x-panel-tl {
+	background-image:url(../images/gray/panel/corners-sprite.gif);
+    border-color:#d0d0d0;
+}
+.x-panel-tr {
+	background-image:url(../images/gray/panel/corners-sprite.gif);
+}
+.x-panel-bc {
+	background-image:url(../images/gray/panel/top-bottom.gif);
+}
+.x-panel-bl {
+	background-image:url(../images/gray/panel/corners-sprite.gif);
+}
+.x-panel-br {
+	background-image:url(../images/gray/panel/corners-sprite.gif);
+}
+.x-panel-mc {
+    background:#f1f1f1;
+}
+.x-panel-mc .x-panel-body {
+    background:transparent;
+    border: 0 none;
+}
+.x-panel-ml {
+	background-image:url(../images/gray/panel/left-right.gif);
+}
+.x-panel-mr {
+	background-image:url(../images/gray/panel/left-right.gif);
+}
+
+/* Tools */
+.x-tool {
+    background-image:url(../images/gray/panel/tool-sprites.gif);
+}
+
+/* Ghosting */
+.x-panel-ghost {
+    background:#e0e0e0;
+}
+
+.x-panel-ghost ul {
+    border-color:#b0b0b0;
+}
+
+.x-grid-panel .x-panel-mc .x-panel-body {
+    border:1px solid #d0d0d0;
+}
+
+/* Buttons */
+
+.x-btn-left{
+	background-image:url(../images/gray/button/btn-sprite.gif);
+}
+.x-btn-right{
+	background-image:url(../images/gray/button/btn-sprite.gif);
+}
+.x-btn-center{
+	background-image:url(../images/gray/button/btn-sprite.gif);
+}
+
+/* Layout classes */
+
+.x-border-layout-ct {
+    background:#f0f0f0;
+}
+
+.x-accordion-hd {
+	background-image:url(../images/gray/panel/light-hd.gif);
+}
+
+.x-layout-collapsed{
+    background-color:#eee;
+    border-color:#e0e0e0;
+}
+.x-layout-collapsed-over{
+	 background-color:#fbfbfb;
+}
+
+
+/* qtips */
+.x-tip .x-tip-top {
+	background-image:url(../images/gray/qtip/tip-sprite.gif);
+}
+.x-tip .x-tip-top-left {
+	background-image:url(../images/gray/qtip/tip-sprite.gif);
+}
+.x-tip .x-tip-top-right {
+	background-image:url(../images/gray/qtip/tip-sprite.gif);
+}
+.x-tip .x-tip-ft {
+	background-image:url(../images/gray/qtip/tip-sprite.gif);
+}
+.x-tip .x-tip-ft-left {
+	background-image:url(../images/gray/qtip/tip-sprite.gif);
+}
+.x-tip .x-tip-ft-right {
+	background-image:url(../images/gray/qtip/tip-sprite.gif);
+}
+.x-tip .x-tip-bd-left {
+	background-image:url(../images/gray/qtip/tip-sprite.gif);
+}
+.x-tip .x-tip-bd-right {
+	background-image:url(../images/gray/qtip/tip-sprite.gif);
+}
+
+/* Toolbars */
+
+.x-toolbar{
+	border-color:#d0d0d0;
+    background:#f0f4f5 url(../images/gray/toolbar/bg.gif) repeat-x top left;
+}
+.x-toolbar button {
+    color:#444;
+}
+.x-toolbar .x-btn-menu-arrow-wrap .x-btn-center button {
+    background-image:url(../images/gray/toolbar/btn-arrow.gif);
+}
+.x-toolbar .x-btn-text-icon .x-btn-menu-arrow-wrap .x-btn-center button {
+    background-image:url(../images/gray/toolbar/btn-arrow.gif);
+}
+.x-toolbar .x-btn-over .x-btn-left{
+	background-image:url(../images/gray/toolbar/tb-btn-sprite.gif);
+}
+.x-toolbar .x-btn-over .x-btn-right{
+	background-image:url(../images/gray/toolbar/tb-btn-sprite.gif);
+}
+.x-toolbar .x-btn-over .x-btn-center{
+	background-image:url(../images/gray/toolbar/tb-btn-sprite.gif);
+}
+.x-toolbar .x-btn-over button {
+    color:#111;
+}
+.x-toolbar .x-btn-click .x-btn-left, .x-toolbar .x-btn-pressed .x-btn-left, .x-toolbar .x-btn-menu-active .x-btn-left{
+	background-image:url(../images/gray/toolbar/tb-btn-sprite.gif);
+}
+.x-toolbar .x-btn-click .x-btn-right, .x-toolbar .x-btn-pressed .x-btn-right, .x-toolbar .x-btn-menu-active .x-btn-right{
+	background-image:url(../images/gray/toolbar/tb-btn-sprite.gif);
+}
+
+.x-toolbar .x-btn-click .x-btn-center, .x-toolbar .x-btn-pressed .x-btn-center, .x-toolbar .x-btn-menu-active .x-btn-center{
+	background-image:url(../images/gray/toolbar/tb-btn-sprite.gif);
+}
+.x-toolbar .ytb-sep {
+	background-image: url(../images/default/grid/grid-split.gif);
+}
+
+/* Tabs */
+
+.x-tab-panel-header, .x-tab-panel-footer {
+	background: #EAEAEA;
+	border-color:#d0d0d0;
+}
+
+
+.x-tab-panel-header {
+	border-color:#d0d0d0;
+}
+
+.x-tab-panel-footer {
+	border-color:#d0d0d0;
+}
+
+ul.x-tab-strip-top{
+	background:#dbdbdb url(../images/gray/tabs/tab-strip-bg.gif) repeat-x left top;
+	border-color:#d0d0d0;
+    padding-top: 2px;
+}
+
+ul.x-tab-strip-bottom{
+	background-image:url(../images/gray/tabs/tab-strip-btm-bg.gif);
+	border-color:#d0d0d0;
+}
+
+.x-tab-strip span.x-tab-strip-text {
+	color:#333;
+}
+.x-tab-strip-over span.x-tab-strip-text {
+	color:#111;
+}
+
+.x-tab-strip-active span.x-tab-strip-text {
+	color:#333;
+}
+
+.x-tab-strip-disabled .x-tabs-text {
+	color:#aaaaaa;
+}
+
+.x-tab-strip-top .x-tab-right {
+	background-image:url(../images/gray/tabs/tabs-sprite.gif);
+}
+
+.x-tab-strip-top .x-tab-left {
+	background-image:url(../images/gray/tabs/tabs-sprite.gif);
+}
+.x-tab-strip-top .x-tab-strip-inner {
+	background-image:url(../images/gray/tabs/tabs-sprite.gif);
+}
+
+.x-tab-strip-bottom .x-tab-right {
+	background-image:url(../images/gray/tabs/tab-btm-inactive-right-bg.gif);
+}
+
+.x-tab-strip-bottom .x-tab-left {
+	background-image:url(../images/gray/tabs/tab-btm-inactive-left-bg.gif);
+}
+
+.x-tab-strip-bottom .x-tab-strip-active .x-tab-right {
+	background-image:url(../images/gray/tabs/tab-btm-right-bg.gif);
+}
+
+.x-tab-strip-bottom .x-tab-strip-active .x-tab-left {
+	background-image:url(../images/gray/tabs/tab-btm-left-bg.gif);
+}
+
+.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close {
+	background-image:url(../images/gray/tabs/tab-close.gif);
+}
+.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close:hover{
+	background-image:url(../images/gray/tabs/tab-close.gif);
+}
+
+.x-tab-panel-body {
+    border-color:#d0d0d0;
+    background:#fff;
+}
+.x-tab-panel-bbar .x-toolbar {
+    border-color: #d0d0d0;
+}
+
+.x-tab-panel-tbar .x-toolbar {
+    border-color: #d0d0d0;
+}
+
+.x-tab-panel-header-plain .x-tab-strip-spacer,
+.x-tab-panel-footer-plain .x-tab-strip-spacer {
+    border-color:#d0d0d0;
+    background: #eaeaea;
+}
+
+.x-tab-scroller-left {
+    background-image: url(../images/gray/tabs/scroll-left.gif);
+    border-color:#aeaeae;
+}
+.x-tab-scroller-right {
+    background-image: url(../images/gray/tabs/scroll-right.gif);
+    border-color:#aeaeae;
+}
+
+/* Window */
+
+.x-window-proxy {
+    background:#e0e0e0;
+    border-color:#b0b0b0;
+}
+
+.x-window-tl .x-window-header {
+    color:#555;
+}
+.x-window-tc {
+	background-image:url(../images/gray/window/top-bottom.png);
+}
+.x-window-tl {
+	background-image:url(../images/gray/window/left-corners.png);
+}
+.x-window-tr {
+	background-image:url(../images/gray/window/right-corners.png);
+}
+.x-window-bc {
+	background-image:url(../images/gray/window/top-bottom.png);
+}
+.x-window-bl {
+	background-image:url(../images/gray/window/left-corners.png);
+}
+.x-window-br {
+	background-image:url(../images/gray/window/right-corners.png);
+}
+.x-window-mc {
+    border:1px solid #d0d0d0;
+    background:#e8e8e8;
+}
+
+.x-window-ml {
+	background-image:url(../images/gray/window/left-right.png);
+}
+.x-window-mr {
+	background-image:url(../images/gray/window/left-right.png);
+}
+.x-panel-ghost .x-window-tl {
+    border-color:#d0d0d0;
+}
+.x-panel-collapsed .x-window-tl {
+    border-color:#d0d0d0;
+}
+
+.x-window-plain .x-window-mc {
+    background: #e8e8e8;
+    border-right:1px solid #eee;
+    border-bottom:1px solid #eee;
+    border-top:1px solid #d0d0d0;
+    border-left:1px solid #d0d0d0;
+}
+
+.x-window-plain .x-window-body {
+    border-left:1px solid #eee;
+    border-top:1px solid #eee;
+    border-bottom:1px solid #d0d0d0;
+    border-right:1px solid #d0d0d0;
+    background:transparent !important;
+}
+
+body.x-body-masked .x-window-mc, body.x-body-masked .x-window-plain .x-window-mc {
+    background-color: #e4e4e4;
+}
+
+
+/* misc */
+.x-html-editor-wrap {
+    border-color:#d0d0d0;
+}
+
+/* Borders go last for specificity */
+.x-panel-noborder .x-panel-body-noborder {
+    border-width:0;
+}
+
+.x-panel-noborder .x-panel-header-noborder {
+    border-width:0;
+    border-bottom:1px solid #d0d0d0;
+}
+
+.x-panel-noborder .x-panel-tbar-noborder .x-toolbar {
+    border-width:0;
+    border-bottom:1px solid #d0d0d0;
+}
+
+.x-panel-noborder .x-panel-bbar-noborder .x-toolbar {
+    border-width:0;
+    border-top:1px solid #d0d0d0;
+}
+
+.x-window-noborder .x-window-mc {
+    border-width:0;
+}
+.x-window-plain .x-window-body-noborder {
+    border-width:0;
+}
+
+.x-tab-panel-noborder .x-tab-panel-body-noborder {
+	border-width:0;
+}
+
+.x-tab-panel-noborder .x-tab-panel-header-noborder {
+	border-top-width:0;
+	border-left-width:0;
+	border-right-width:0;
+}
+
+.x-tab-panel-noborder .x-tab-panel-footer-noborder {
+	border-bottom-width:0;
+	border-left-width:0;
+	border-right-width:0;
+}
+
+
+.x-tab-panel-bbar-noborder .x-toolbar {
+    border-width:0;
+    border-top:1px solid #d0d0d0;
+}
+
+.x-tab-panel-tbar-noborder .x-toolbar {
+    border-width:0;
+    border-bottom:1px solid #d0d0d0;
+}
\ No newline at end of file
diff --git a/static/extjs/resources/css/xtheme-slate.css b/static/extjs/resources/css/xtheme-slate.css
new file mode 100644
index 00000000..3806db75
--- /dev/null
+++ b/static/extjs/resources/css/xtheme-slate.css
@@ -0,0 +1,804 @@
+/*
+ * Ext JS Library 2.2.1
+ * Copyright(c) 2006-2009, Ext JS, LLC.
+ * licensing@extjs.com
+ * 
+ * http://extjs.com/license
+ */
+
+/*
+ * Slate Theme
+ * Originally created by JC Bize
+ */
+
+/* Masks */
+.ext-el-mask{
+	background-color:#c8cbd0;
+}
+.ext-el-mask-msg{
+	border:1px solid #89a;
+	background:#d8dbe0 url(../images/slate/box/tb-blue.gif) repeat-x 0 -16px;
+}
+.ext-el-mask-msg div{
+	background:#eef0f2;
+	border:1px solid #abc;
+	color:#222;
+}
+.x-item-disabled *{
+	color:#333 !important;
+}
+
+
+/* Tab Panels */
+
+.x-tab-panel-header, .x-tab-panel-footer{
+	background:#6b869f;
+	border-color:#4f657b;
+}
+.x-tab-panel-header{
+	border-color:#abc;
+}
+.x-tab-panel-footer{
+	border-color:#abc;
+}
+ul.x-tab-strip-top{
+	background:#dbdbdb url(../images/slate/tabs/tab-strip-bg.gif) repeat-x left top;
+	border-color:#4c647e;
+    padding-top:2px;
+}
+ul.x-tab-strip-bottom{
+	background-image:url(../images/slate/tabs/tab-strip-btm-bg.gif);
+	border-color:#566c82;
+}
+.x-tab-strip span.x-tab-strip-text{
+	color:#333;
+}
+.x-tab-strip-over span.x-tab-strip-text{
+	color:#111;
+}
+.x-tab-strip-active span.x-tab-strip-text{
+	color:#fff;
+}
+.x-tab-strip-disabled .x-tabs-text{
+	color:#aaaaaa;
+}
+.x-tab-strip-top .x-tab-right{
+	background-image:url(../images/slate/tabs/tabs-sprite.gif);
+}
+.x-tab-strip-top .x-tab-left{
+	background-image:url(../images/slate/tabs/tabs-sprite.gif);
+}
+.x-tab-strip-top .x-tab-strip-inner{
+	background-image:url(../images/slate/tabs/tabs-sprite.gif);
+}
+.x-tab-strip-bottom .x-tab-right{
+	background-image:url(../images/slate/tabs/tab-btm-inactive-right-bg.gif);
+}
+.x-tab-strip-bottom .x-tab-left{
+	background-image:url(../images/slate/tabs/tab-btm-inactive-left-bg.gif);
+}
+.x-tab-strip-bottom .x-tab-strip-active .x-tab-right{
+	background-image:url(../images/slate/tabs/tab-btm-right-bg.gif);
+}
+.x-tab-strip-bottom .x-tab-strip-active .x-tab-left{
+	background-image:url(../images/slate/tabs/tab-btm-left-bg.gif);
+}
+.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close{
+	background-image:url(../images/slate/tabs/tab-close.gif);
+}
+.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close:hover{
+	background-image:url(../images/slate/tabs/tab-close.gif);
+}
+.x-tab-panel-body{
+    border-color:#abc;
+    background:#fff;
+}
+.x-tab-panel-bbar .x-toolbar{
+    border-color:#abc;
+}
+.x-tab-panel-tbar .x-toolbar{
+    border-color:#abc;
+}
+.x-tab-panel-header-plain .x-tab-strip-spacer,
+.x-tab-panel-footer-plain .x-tab-strip-spacer{
+    border-color:#abc;
+	background:#6b869f;
+}
+.x-tab-scroller-left{
+    background-image:url(../images/slate/tabs/scroll-left.gif);
+    border-color:#aeaeae;
+}
+.x-tab-scroller-right{
+    background-image:url(../images/slate/tabs/scroll-right.gif);
+    border-color:#aeaeae;
+}
+
+
+/* Forms */
+
+.x-form-check{
+	background:url('../images/slate/form/checkbox.gif') no-repeat 0 0;
+}
+.x-form-radio{
+	background:url('../images/slate/form/radio.gif') no-repeat 0 0;
+}
+.x-form-check-group-label{
+    border-bottom:1px solid #99bbe8;
+    color:#15428b;
+    margin-bottom:5px;
+    padding-left:3px !important;
+    float:none !important;
+}
+.x-form-text, textarea.x-form-field{
+	border:1px solid #9ab; 
+}
+.x-trigger-wrap-focus .x-form-trigger{
+	border-bottom:1px solid #4a7192;
+}
+.x-form-focus,textarea.x-form-focus{
+	border:1px solid #4a7192;
+}
+.x-form-field-wrap .x-form-trigger{
+	background:transparent url(../images/slate/form/trigger.gif) no-repeat 0 0;
+}
+.x-form-field-wrap .x-form-date-trigger{
+	background-image:url(../images/slate/form/date-trigger.gif);
+}
+.x-form-field-wrap .x-form-clear-trigger{
+	background-image:url(../images/slate/form/clear-trigger.gif);
+}
+.x-form-field-wrap .x-form-search-trigger{
+	background-image:url(../images/slate/form/search-trigger.gif);
+}
+.x-form-field-wrap .x-form-trigger{
+	border-bottom:1px solid #778899;
+}
+.x-form-field-wrap .x-form-trigger-over{
+	background-position:-17px 0;
+}
+.x-form-field-wrap .x-form-trigger-click{
+	background-position:-34px 0;
+}
+.x-trigger-wrap-focus .x-form-trigger{
+	background-position:-51px 0;
+}
+.x-trigger-wrap-focus .x-form-trigger-over{
+	background-position:-68px 0;
+}
+.x-trigger-wrap-focus .x-form-trigger-click{
+	background-position:-85px 0;
+}
+.x-form fieldset legend{
+	color:#333;
+}
+
+
+/* Buttons */
+
+.x-btn button{
+	color:#fff;
+}
+.x-btn-over button{
+	color:#fff;
+}
+.x-btn-focus button{
+	color:#fff8da;
+}
+.x-btn-left{
+	background-image:url(../images/slate/button/btn-sprite.gif);
+}
+.x-btn-right{
+	background-image:url(../images/slate/button/btn-sprite.gif);
+}
+.x-btn-center{
+	background-image:url(../images/slate/button/btn-sprite.gif);
+}
+.x-btn-text-icon .x-btn-with-menu .x-btn-center em{
+	background:transparent url(../images/slate/toolbar/btn-arrow.gif) no-repeat scroll right 3px;
+}
+.x-btn-with-menu .x-btn-center em{
+	background:transparent url(../images/slate/toolbar/btn-arrow.gif) no-repeat scroll right 0pt;
+}
+.x-btn-menu-arrow-wrap .x-btn-center button{
+	background:transparent url(../images/slate/button/btn-arrow.gif) no-repeat left 3px;
+}
+
+
+/* Toolbars */
+
+.x-toolbar{
+	border-color:#abc;
+    background:#f0f4f5 url(../images/slate/toolbar/bg.gif) repeat-x top left;
+}
+.x-toolbar button{
+    color:#f4f4f4;
+}
+.x-toolbar .ytb-text{
+	color:#f4f4f4;
+}
+.x-toolbar .x-btn-menu-arrow-wrap .x-btn-center button{
+    background-image:url(../images/slate/toolbar/btn-arrow.gif);
+}
+.x-toolbar .x-btn-text-icon .x-btn-menu-arrow-wrap .x-btn-center button{
+    background-image:url(../images/slate/toolbar/btn-arrow.gif);
+}
+.x-toolbar .x-btn-over .x-btn-left{
+	background-image:url(../images/slate/toolbar/tb-btn-sprite.gif);
+}
+.x-toolbar .x-btn-over .x-btn-right{
+	background-image:url(../images/slate/toolbar/tb-btn-sprite.gif);
+}
+.x-toolbar .x-btn-over .x-btn-center{
+	background-image:url(../images/slate/toolbar/tb-btn-sprite.gif);
+}
+.x-toolbar .x-btn-over button{
+    color:#fff;
+}
+.x-toolbar .x-btn-click .x-btn-left, .x-toolbar .x-btn-pressed .x-btn-left, .x-toolbar .x-btn-menu-active .x-btn-left{
+	background-image:url(../images/slate/toolbar/tb-btn-sprite.gif);
+}
+.x-toolbar .x-btn-click .x-btn-right, .x-toolbar .x-btn-pressed .x-btn-right, .x-toolbar .x-btn-menu-active .x-btn-right{
+	background-image:url(../images/slate/toolbar/tb-btn-sprite.gif);
+}
+.x-toolbar .x-btn-click .x-btn-center, .x-toolbar .x-btn-pressed .x-btn-center, .x-toolbar .x-btn-menu-active .x-btn-center{
+	background-image:url(../images/slate/toolbar/tb-btn-sprite.gif);
+}
+.x-toolbar .ytb-sep{
+	background-image:url(../images/slate/grid/grid-split.gif);
+}
+.x-statusbar .x-status-text-panel{
+	border-color:#9ab #9ab #9ab #9ab;
+}
+.x-statusbar .x-status-text{
+	color:#ddc;
+}
+
+
+/* Resizable Handles */
+
+.x-resizable-over .x-resizable-handle-east,.x-resizable-pinned .x-resizable-handle-east{
+	background:url(../images/slate/sizer/e-handle.gif);background-position:left;
+}
+.x-resizable-over .x-resizable-handle-west,.x-resizable-pinned .x-resizable-handle-west{
+	background:url(../images/slate/sizer/e-handle.gif);background-position:left;
+}
+.x-resizable-over .x-resizable-handle-south,.x-resizable-pinned .x-resizable-handle-south{
+	background:url(../images/slate/sizer/s-handle.gif);background-position:top;
+}
+.x-resizable-over .x-resizable-handle-north,.x-resizable-pinned .x-resizable-handle-north{
+	background:url(../images/slate/sizer/s-handle.gif);background-position:top;
+}
+.x-resizable-over .x-resizable-handle-southeast,.x-resizable-pinned .x-resizable-handle-southeast{
+	background:url(../images/slate/sizer/se-handle.gif);background-position:top left;
+}
+.x-resizable-over .x-resizable-handle-northwest,.x-resizable-pinned .x-resizable-handle-northwest{
+	background:url(../images/slate/sizer/nw-handle.gif);background-position:bottom right;
+}
+.x-resizable-over .x-resizable-handle-northeast,.x-resizable-pinned .x-resizable-handle-northeast{
+	background:url(../images/slate/sizer/ne-handle.gif);background-position:bottom left;
+}
+.x-resizable-over .x-resizable-handle-southwest,.x-resizable-pinned .x-resizable-handle-southwest{
+	background:url(../images/slate/sizer/sw-handle.gif);background-position:top right;
+}
+.x-resizable-proxy{
+	border:1px dashed #748296;
+}
+
+
+/* Grids */
+
+.x-grid-panel .x-panel-mc .x-panel-body{
+    border:1px solid #abc;
+}
+.x-grid3-row-selected{
+	background:#fbf0d2 !important;
+	border:1px dotted #ccc;
+}
+.x-grid3-hd-btn{
+	background:#f7ecc1 url(../images/slate/grid/grid3-hd-btn.gif) no-repeat left center;
+}
+.x-grid3-header{
+	background:#f9f9f9 url(../images/slate/grid/grid3-hrow.gif) repeat-x 0 bottom;
+}
+td.x-grid3-hd-over .x-grid3-hd-inner,td.sort-desc .x-grid3-hd-inner,td.sort-asc .x-grid3-hd-inner,td.x-grid3-hd-menu-open .x-grid3-hd-inner{
+	background:#ebf3fd url(../images/slate/grid/grid3-hrow-over.gif) repeat-x left bottom;
+}
+.sort-asc .x-grid3-sort-icon{
+	background-image:url(../images/slate/grid/sort_asc.gif);
+}
+.sort-desc .x-grid3-sort-icon{
+	background-image:url(../images/slate/grid/sort_desc.gif);
+}
+td.x-grid3-hd-over, td.sort-desc, td.sort-asc, td.x-grid3-hd-menu-open{
+	border-left:1px solid #fff;
+	border-right:1px solid #ccc;
+}
+.x-grid3-check-col{
+	background-image:url(../images/slate/menu/unchecked.gif);
+}
+.x-grid3-check-col-on{
+	background-image:url(../images/slate/menu/checked.gif);
+}
+.x-grid3-cell-selected{
+	background-color:#e0eaee!important;
+}
+.x-grid3-body .x-grid3-td-expander{
+	background:transparent url(../images/slate/grid/grid3-special-col-bg.gif) repeat-y right;
+}
+.x-grid3-body .x-grid3-td-checker{
+	background:transparent url(../images/slate/grid/grid3-special-col-bg.gif) repeat-y right;
+}
+.x-grid3-body .x-grid3-td-numberer{
+	background:transparent url(../images/slate/grid/grid3-special-col-bg.gif) repeat-y right;
+}
+.x-grid3-body .x-grid3-row-selected .x-grid3-td-numberer,.x-grid3-body .x-grid3-row-selected .x-grid3-td-checker,.x-grid3-body .x-grid3-row-selected .x-grid3-td-expander{
+	background:transparent url(../images/slate/grid/grid3-special-col-sel-bg.gif) repeat-y right;
+}
+.x-grid-group-hd{
+	border-bottom:2px solid #abb;
+}
+.x-grid-group-hd div{
+	color:#456;
+}
+.x-dd-drag-proxy .x-grid3-hd-inner{
+	background:#ebf3fd url(../images/slate/grid/grid3-hrow-over.gif) repeat-x left bottom;
+	border:1px solid #abc;
+}
+.x-tbar-page-first{
+	background-image:url(../images/slate/grid/page-first.gif)!important;
+}
+.x-tbar-page-last{
+	background-image:url(../images/slate/grid/page-last.gif)!important;
+}
+.x-tbar-page-next{
+	background-image:url(../images/slate/grid/page-next.gif)!important;
+}
+.x-tbar-page-prev{
+	background-image:url(../images/slate/grid/page-prev.gif)!important;
+}
+.x-tbar-loading{
+	background-image:url(../images/slate/grid/refresh.gif)!important;
+}
+.x-paging-info{
+	color:#ffffff;
+}
+
+
+/* Trees */
+
+.x-tree-node .x-tree-selected{
+	background-color:#f7ecc1;
+}
+.x-tree-node .x-tree-selected a span{
+	background-color:#f7ecc1;
+	color:black;
+}
+.x-tree-arrows .x-tree-elbow-plus{
+	background:transparent url(../images/slate/tree/arrows.gif) no-repeat 0 0;
+}
+.x-tree-arrows .x-tree-elbow-minus{
+	background:transparent url(../images/slate/tree/arrows.gif) no-repeat -16px 0;
+}
+.x-tree-arrows .x-tree-elbow-end-plus{
+	background:transparent url(../images/slate/tree/arrows.gif) no-repeat 0 0;
+}
+.x-tree-arrows .x-tree-elbow-end-minus{
+	background:transparent url(../images/slate/tree/arrows.gif) no-repeat -16px 0;
+}
+
+
+/* Date Pickers */
+
+.x-date-middle,.x-date-left,.x-date-right{
+	background:url(../images/slate/shared/hd-sprite.gif) repeat-x 0 -83px;
+}
+.x-date-bottom{
+	background:#dfecfb url(../images/slate/shared/glass-bg.gif) repeat-x scroll left top;
+	border-top:1px solid #abc;
+}
+.x-date-right a{
+	background-image:url(../images/slate/shared/right-btn.gif);
+}
+.x-date-left a{
+	background-image:url(../images/slate/shared/left-btn.gif);
+}
+.x-date-inner th{
+	background:#dfecfb url(../images/slate/shared/glass-bg.gif) repeat-x left top;
+	border-bottom:1px solid #abc;
+	color:#345;
+}
+.x-date-inner .x-date-selected a{
+	background:#dfecfb url(../images/slate/shared/glass-bg.gif) repeat-x scroll left top;
+	border:1px solid #89a;
+}
+.x-date-inner a:hover,.x-date-inner .x-date-disabled a:hover{
+	background:#faedc0;
+}
+td.x-date-mp-month a:hover,td.x-date-mp-year a:hover{
+	color:#123;
+	background:#faedc0;
+}
+.x-date-mp-ybtn a{
+	background:transparent url(../images/slate/panel/tool-sprites.gif) no-repeat;
+}
+.x-date-mp-btns{
+	background:#dfecfb url(../images/slate/shared/glass-bg.gif) repeat-x scroll left top;
+}
+td.x-date-mp-sel a{
+	background:#dfecfb url(../images/slate/shared/glass-bg.gif) repeat-x left top;
+	border:1px solid #abc;
+}
+.x-date-mp-btns button{
+	background:#405574;
+	border:1px solid;
+	border-color:#abc #055 #055 #abc;
+}
+
+
+/* Tips */
+
+.x-tip .x-tip-close{
+	background-image:url(../images/slate/qtip/close.gif);
+}
+.x-tip .x-tip-tc{
+	background:transparent url(../images/slate/qtip/tip-sprite.gif) no-repeat 0 -62px;
+}
+.x-tip .x-tip-tl{
+	background:transparent url(../images/slate/qtip/tip-sprite.gif) no-repeat 0 0;
+}
+.x-tip .x-tip-tr{
+	background:transparent url(../images/slate/qtip/tip-sprite.gif) no-repeat right 0;
+}
+.x-tip .x-tip-bc{
+	background:transparent url(../images/slate/qtip/tip-sprite.gif) no-repeat 0 -121px;
+}
+.x-tip .x-tip-bl{
+	background:transparent url(../images/slate/qtip/tip-sprite.gif) no-repeat 0 -59px;
+}
+.x-tip .x-tip-br{
+	background:transparent url(../images/slate/qtip/tip-sprite.gif) no-repeat right -59px;
+}
+.x-tip .x-tip-ml{
+	background:#fff url(../images/slate/qtip/tip-sprite.gif) no-repeat 0 -124px;
+}
+.x-tip .x-tip-mr{
+	background:transparent url(../images/slate/qtip/tip-sprite.gif) no-repeat right -124px;
+}
+.x-form-invalid-tip .x-tip-tc{
+	background:url(../images/default/form/error-tip-corners.gif) repeat-x 0 -12px;padding-top:6px;
+}
+.x-form-invalid-tip .x-tip-tl{
+	background-image:url(../images/default/form/error-tip-corners.gif);
+}
+.x-form-invalid-tip .x-tip-tr{
+	background-image:url(../images/default/form/error-tip-corners.gif);
+}
+.x-form-invalid-tip .x-tip-bc{
+	background:url(../images/default/form/error-tip-corners.gif) repeat-x 0 -18px;height:6px;
+}
+.x-form-invalid-tip .x-tip-bl{
+	background:url(../images/default/form/error-tip-corners.gif) no-repeat 0 -6px;
+}
+.x-form-invalid-tip .x-tip-br{
+	background:url(../images/default/form/error-tip-corners.gif) no-repeat right -6px;
+}
+.x-form-invalid-tip .x-tip-ml{
+	background-image:url(../images/default/form/error-tip-corners.gif);
+}
+.x-form-invalid-tip .x-tip-mr{
+	background-image:url(../images/default/form/error-tip-corners.gif);
+}
+
+
+/* Menus */
+
+.x-menu{
+	border:1px solid #aaa;
+	background:#f0f0f0 url(../images/slate/menu/menu.gif) repeat-y;
+}
+.x-menu-item-active{
+	background:#ebf3fd url(../images/slate/menu/item-over.gif) repeat-x left bottom;
+	border:1px solid #c2cbd2;
+}
+.x-menu-item-arrow{
+	background:transparent url(../images/slate/menu/menu-parent.gif) no-repeat right;
+}
+.x-menu-check-item .x-menu-item-icon{
+	background:transparent url(../images/slate/menu/unchecked.gif) no-repeat center;
+}
+.x-menu-item-checked .x-menu-item-icon{
+	background-image:url(../images/slate/menu/checked.gif);
+}
+.x-menu-item-checked .x-menu-group-item .x-menu-item-icon{
+	background:transparent url(../images/slate/menu/group-checked.gif)
+}
+.x-menu-group-item .x-menu-item-icon{
+	background:transparent none repeat scroll 0 0;
+}
+
+
+/* Combos */
+
+.x-combo-list{
+	border:1px solid #89a;
+	background:#bdcbd4 none repeat scroll 0 0;
+}
+.x-combo-list .x-combo-selected{
+	border:1px dotted #ccc!important;
+	background:#fbf0d2;
+}
+.x-resizable-pinned .x-combo-list-inner{
+	border-bottom:1px solid #9ab;
+}
+
+
+/* Panels */
+
+.x-panel{
+    border-style:solid;
+    border-color:#abc;
+    border-width:0;
+}
+.x-panel-header{
+    color:#f8f8f8;
+	border:1px solid #abc;
+    background-image:url(../images/slate/panel/white-top-bottom.gif);
+}
+.x-panel-body{
+    border-color:#abc;
+}
+.x-panel-bbar .x-toolbar{
+    border-color:#abc;
+}
+.x-panel-tbar .x-toolbar{
+    border-color:#abc;
+}
+.x-panel-tbar-noheader .x-toolbar, .x-panel-mc .x-panel-tbar .x-toolbar{
+    border-color:#abc;
+}
+.x-panel-body-noheader, .x-panel-mc .x-panel-body{
+    border-color:#abc;
+}
+.x-panel-tl .x-panel-header{
+    color:#f4f4f4;
+}
+.x-panel-tc{
+	background-image:url(../images/slate/panel/top-bottom.gif);
+}
+.x-panel-tl{
+	background-image:url(../images/slate/panel/corners-sprite.gif);
+    border-color:#abc;
+}
+.x-panel-tr{
+	background-image:url(../images/slate/panel/corners-sprite.gif);
+}
+.x-panel-bc{
+	background-image:url(../images/slate/panel/top-bottom.gif);
+}
+.x-panel-bl{
+	background-image:url(../images/slate/panel/corners-sprite.gif);
+}
+.x-panel-br{
+	background-image:url(../images/slate/panel/corners-sprite.gif);
+}
+.x-panel-mc{
+    background:#dde5e9;
+}
+.x-panel-mc .x-panel-body{
+    background:transparent;
+    border:0 none;
+}
+.x-panel-ml{
+	background-image:url(../images/slate/panel/left-right.gif);
+}
+.x-panel-mr{
+	background-image:url(../images/slate/panel/left-right.gif);
+}
+.x-panel-dd-spacer{
+	border:2px dashed #89a;
+}
+.x-tool{
+    background-image:url(../images/slate/panel/tool-sprites.gif);
+}
+.x-panel-ghost{
+    background:#e0e0e0;
+}
+.x-panel-ghost ul{
+    border-color:#b0b0b0;
+}
+
+
+/* Windows */
+
+.x-window-proxy{
+    background:#e4e8ec;
+    border-color:#abc;
+}
+.x-window-tl .x-window-header{
+    color:#fafafa;
+}
+.x-window-tc{
+	background-image:url(../images/slate/window/top-bottom.png);
+}
+.x-window-tl{
+	background-image:url(../images/slate/window/left-corners.png);
+}
+.x-window-tr{
+	background-image:url(../images/slate/window/right-corners.png);
+}
+.x-window-bc{
+	background-image:url(../images/slate/window/top-bottom.png);
+}
+.x-window-bl{
+	background-image:url(../images/slate/window/left-corners.png);
+}
+.x-window-br{
+	background-image:url(../images/slate/window/right-corners.png);
+}
+.x-window-mc{
+    border:1px solid #abc;
+    background:#e8e8e8;
+}
+.x-window-ml{
+	background-image:url(../images/slate/window/left-right.png);
+}
+.x-window-mr{
+	background-image:url(../images/slate/window/left-right.png);
+}
+.x-panel-ghost .x-window-tl{
+    border-color:#abc;
+}
+.x-panel-collapsed .x-window-tl{
+    border-color:#abc;
+}
+.x-window-plain .x-window-mc{
+    background:#e8e8e8;
+    border-right:1px solid #eee;
+    border-bottom:1px solid #eee;
+    border-top:1px solid #abc;
+    border-left:1px solid #abc;
+}
+.x-window-plain .x-window-body{
+    border-left:1px solid #ddd;
+    border-top:1px solid #ddd;
+    border-bottom:1px solid #abc;
+    border-right:1px solid #abc;
+    background:transparent !important;
+}
+body.x-body-masked .x-window-mc, body.x-body-masked .x-window-plain .x-window-mc{
+    background-color:#eceef0;
+}
+
+
+/* HTML Editors */
+
+.x-html-editor-wrap{
+    border-color:#abc;
+}
+.x-html-editor-tb .x-btn-text{
+	background:transparent url(../images/slate/editor/tb-sprite.gif) no-repeat scroll 0%;
+}
+
+
+/* Panel Borders */
+
+.x-panel-noborder .x-panel-body-noborder{
+    border-width:0;
+}
+.x-panel-noborder .x-panel-header-noborder{
+    border-width:0;
+    border-bottom:1px solid #abc;
+}
+.x-panel-noborder .x-panel-tbar-noborder .x-toolbar{
+    border-width:0;
+    border-bottom:1px solid #abc;
+}
+.x-panel-noborder .x-panel-bbar-noborder .x-toolbar{
+    border-width:0;
+    border-top:1px solid #abc;
+}
+.x-window-noborder .x-window-mc{
+    border-width:0;
+}
+.x-window-plain .x-window-body-noborder{
+    border-width:0;
+}
+.x-tab-panel-noborder .x-tab-panel-body-noborder{
+	border-width:0;
+}
+.x-tab-panel-noborder .x-tab-panel-header-noborder{
+	border-top-width:0;
+	border-left-width:0;
+	border-right-width:0;
+}
+.x-tab-panel-noborder .x-tab-panel-footer-noborder{
+	border-bottom-width:0;
+	border-left-width:0;
+	border-right-width:0;
+}
+.x-tab-panel-bbar-noborder .x-toolbar{
+    border-width:0;
+    border-top:1px solid #abc;
+}
+.x-tab-panel-tbar-noborder .x-toolbar{
+    border-width:0;
+    border-bottom:1px solid #abc;
+}
+
+
+/* Layout */
+
+.x-border-layout-ct{
+    background:#f0f0f0;
+}
+.x-accordion-hd{
+	background-image:url(../images/slate/panel/light-hd.gif);
+}
+.x-layout-collapsed{
+    background-color:#567;
+    border-color:#e0e0e0;
+}
+.x-layout-collapsed-over{
+	 background-color:#789;
+}
+
+
+/* Progress Bars */
+
+.x-progress-bar{
+	background:#fbefb4 url(../images/slate/progress/progress-bg.gif) repeat-x left center;
+	border-top:1px solid #ddd;
+	border-bottom:1px solid #ddd;
+}
+.x-progress-inner{
+	background:#e0e8f3 url(../images/slate/qtip/bg.gif) repeat-x scroll 0 0;
+}
+.x-progress-text{
+	color:#9ab;
+}
+.x-progress-text-back{
+	color:#789;
+}
+.x-progress-wrap{
+	border:1px solid #b0b8c4;
+}
+
+
+/* Sliders */
+
+.x-slider-horz .x-slider-thumb{
+	background:transparent url(../images/slate/slider/slider-thumb.png) no-repeat 0 0;
+}
+.x-slider-vert .x-slider-thumb{
+	background:transparent url(../images/slate/slider/slider-v-thumb.png) no-repeat 0 0;
+}
+.x-slider-horz .x-slider-thumb-over{
+	background-position:-14px -15px;
+}
+.x-slider-horz .x-slider-thumb-drag{
+	background-position:-28px -30px;
+}
+.x-slider-vert .x-slider-thumb-over{
+	background-position:-15px -14px;
+}
+.x-slider-vert .x-slider-thumb-drag{
+	background-position:-30px -28px;
+}
+.x-slider-horz{
+	background:transparent url(../images/slate/slider/slider-bg.png) no-repeat 0 -22px;
+}
+.x-slider-horz .x-slider-end{
+	background:transparent url(../images/slate/slider/slider-bg.png) no-repeat right -44px;
+}
+.x-slider-horz .x-slider-inner{
+	background:transparent url(../images/slate/slider/slider-bg.png) repeat-x 0 0;
+}
+.x-slider-vert{
+	background:transparent url(../images/slate/slider/slider-v-bg.png) no-repeat -44px 0;
+}
+.x-slider-vert .x-slider-end{
+	background:transparent url(../images/slate/slider/slider-v-bg.png) no-repeat -22px bottom;
+}
+.x-slider-vert .x-slider-inner{
+	background:transparent url(../images/slate/slider/slider-v-bg.png) repeat-y 0 0;
+}
diff --git a/static/extjs/resources/images/default/box/corners-blue.gif b/static/extjs/resources/images/default/box/corners-blue.gif
new file mode 100644
index 0000000000000000000000000000000000000000..fa419b50abe5030db04492578d5dfd39c02fb6ab
GIT binary patch
literal 1010
zcmZ?wbhEHb<X})>XlGzpbnMH9^WV;$J9qKo#mkp3U%h(u+O=ypZrr$e^X8p9ckbT3
zd+*-8gExOZc<|ui!-tO^J$n53@slS{o<4p0?Af#D&!4}1`SR7PSFc~ce)Hzd+qZAu
zy?gim{reZ6{(SiG;p4}TpFVy1{Q2{jFJHcX{rc_Ox9{J-|M>Ca=g*(NfB*jT=g;52
zfB*ga_y7NYhEYJJ5ODbKKqZq#iZO~mS(q6ZW-;i1JPgVc3>@bfOgUvd3KTeaMcKM`
zTmT9+Dym5^6eP5&35jyCL~LwoUdG4CQ1IlzMJEOhS<kFl3=FKEQ(0NVE-)-&ab#eW
ziV-j@ILgStrqLpBqA|IFNz@}l>7<|o6TkONJB|cJt&_qGY8j_CFdSfKOOVXz5IAt4
zV}p{G0>c6amIz;I6#<3?kJdQw@UbxnC^#-)=MmtuQ0WM8YMvo$(vtdt@jw$#qNfCh
wKq7O5AQyweiU(yaTnsEKITutM85$V*3^<NdGBB~Nm?h;g!*hr8nFa=H05=J^^Z)<=

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/box/corners.gif b/static/extjs/resources/images/default/box/corners.gif
new file mode 100644
index 0000000000000000000000000000000000000000..8aa8cae5c83d8f17aefadb93aa9a6f95d6069c40
GIT binary patch
literal 1005
zcmZ?wbhEHb<X})>XlGzJaNxk<!-tO?Idb&q(PPJsojiH+^y$-Q&YU@S?%etF=Pz8i
zaPi{BOP4NPzI^%W)vMR8UAun$`i&bmZr;3k=gytGckkZ2ckjW22M-@UeDvti<HwJm
zJbCi;>C<P=o;`p5{N>A+uU@@+{rdHrH*em)ef#d+yZ7(kfB5j><HwJmK7IQ9`SX`A
zU%r0*`t94d@87@w`0?ZC&!4}4|Nism&)>g)|NZ;-|Nno6kqR9CJB(DX)7#&QKUtU=
zfEhstWHBgDFmRk=;OCU_C{XAUlw(`PkjU7?)Tn7;V<Dh;L{Usm#$v|7j{%*WToz@2
z4k$FAkZiY*XeiwDz=2;mKqQ3WAQOiuv$KoEhXu}DjY_6f3573GnmE<Ex{e%p&>YmK
z&r@KbvglBQu=1upg@ud<n?<8SD<&v3G<B_M_sGd$a5%;#z~megA;55utx?S>rDMSY
z2FDg@ogF$0O<!{|iMnK@eq?B56N(HC5KuUH_>ia(gUJntM;F*w7{y{XRIF%d;*fMw
Ru}w*2KC@pnhK+^68UTSX)nNbt

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/box/l-blue.gif b/static/extjs/resources/images/default/box/l-blue.gif
new file mode 100644
index 0000000000000000000000000000000000000000..5ed7f0043b6b0f956076e02583ca7d18a150e8f6
GIT binary patch
literal 810
zcmZ?wbhEHbWMN=rXlGzpbnMHWJ9pl^dGqhzKZa2-8UiCM1QdU=0Db(QK?me-P@Z7m
PU}s=uVK7ioV6X-NGaC=|

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/box/l.gif b/static/extjs/resources/images/default/box/l.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0160f97fe75409f17ab6c3c91f7cbdc58afa8f8f
GIT binary patch
literal 810
zcmZ?wbhEHbWMN=rXlGzJc<|tzJ9pl^dGqhzKZa2-8UiCM1QdU=0Db(QK?me-P@Z7m
PU}s=uVK7ioV6X-N<)RPU

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/box/r-blue.gif b/static/extjs/resources/images/default/box/r-blue.gif
new file mode 100644
index 0000000000000000000000000000000000000000..3ea5cae3b7b571ec41ac2b5d38c8a675a1f66efc
GIT binary patch
literal 810
zcmZ?wbhEHbWMN=rXlGzpbnMHWJ9pl^dGr7Oe}+*o8UiCM1QdU=0Db(QK?me-P@Z7m
PU}s=w;80LdV6X-NJSY$C

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/box/r.gif b/static/extjs/resources/images/default/box/r.gif
new file mode 100644
index 0000000000000000000000000000000000000000..34237f6292a7da6ac5d1b95d13ce76a7194dd596
GIT binary patch
literal 810
zcmZ?wbhEHbWMN=rXlGzJc<|tzJ9pl^dGr7Oe}+*o8UiCM1QdU=0Db(QK?me-P@Z7m
PU}s=w;80LdV6X-N?ynEj

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/box/tb-blue.gif b/static/extjs/resources/images/default/box/tb-blue.gif
new file mode 100644
index 0000000000000000000000000000000000000000..562fecca87176274af7bf13c419daaf93f169249
GIT binary patch
literal 851
zcmZ?wbhEHbWMt4{XlGzpbnMHL<6oAa{JQeg*VSjft~>i}!})KUE_~a1@%#46-*;X4
zvFF;4eb;~7zJ2@P&7Vha|2%Q`=a~n;&OiEf>B+Ba&wkx{`TPEx-%p-AdGqGY<M)4F
zeERe4+qb`e|1yk%(GVC4A)xq^1?bHG3_2jkg7O3dhXI3m48sA(W=CE=A*&k<3mDmW
lC3Qj;I3zZ;a0tj*FbFstU|?e9k#U&daFB_OkBN!F8UTdQTXg^c

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/box/tb.gif b/static/extjs/resources/images/default/box/tb.gif
new file mode 100644
index 0000000000000000000000000000000000000000..435889bffe0a3a4f92b1cb5e781be0d1e9e355f0
GIT binary patch
literal 839
zcmZ?wbhEHbWMoiaXlGzJc<|tf6DMxpzWwCMlQ(bPynFZV{rmSHK79E2@#E*upTB(h
z^7ZT2Z{NOs|Ni~Qj~_pO{`~dp*PlOs{{H>@@87@w|Nk?Lg3%Bd$|0cmlLhGf{|q`H
xPk{0S1BVKOBoBu|W0NBntB_a%g98I2m#~UU!-oTo%xv5uDh>q)92y%KtN|VsNKya*

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/button/btn-arrow.gif b/static/extjs/resources/images/default/button/btn-arrow.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f90d5df4455c332d19dcc8b621a19e53c672612a
GIT binary patch
literal 870
zcmZ?wbhEHb<YM4wXlGzxuqko)?-1L#xMa$vnps;L=j~`+xT|aF-u{*QC$Bj)W5ba-
zTaGW>ernn7GpqKUUw`Q0mSb0ToV>R8?9Kh>?)?A%A85cR7!84;8v=?yS(q6Z7#Vax
zUI66@1`cNi&HxUF4GIUDn0duaCIlolF!PEkbz~SY9&O@c^J6$L@o@_)r+F36fdvm4
e7??TCIy4q6Xzpf_KfuF~nAS2=D2<JU!5RQwgF+Jk

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/button/btn-sprite.gif b/static/extjs/resources/images/default/button/btn-sprite.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b52e0ce3dae6a5907d01ea12813a4c1f3f081bf4
GIT binary patch
literal 1341
zcmeH`>rYb$6u{3dg@Hl5C_+UxWDOx?Y-=1YAVx2=K`@&u4g-8xEQ;k3H^3}$vN>;2
zULyDy$it0QW{{ak+{SwY$|Jls3nDL}wWTjEEp0EQE$yX+mGAo#_RBB7FX!7iIVTh2
zqoUK@U<yhA;MmvxpMD>jawFlZyQlJhID4%T+s61M!pu@(PI=>{+m8#Xo4>98^;+H2
z8#i-r7U!#L!1g=K_6N(>dc@Xt#O`WGjJ@Ni-PO(*ecMT6TcW)?*4`aQx!RLp?@6Rw
z_9jvyE+tB$`nl9#DmCOXjT%YcbUDh~9M5r#XKzkic8K#G;>(Vg1&*n!j;Vr*hDX1&
zwEou7-rm#m<j=*vk?}t9VxL&jI;LnFSGNDH>U^Q;5-)d85Pwas^t{yePObJ$>zy+K
z=S-n<zRbCJXG>bWC95|`o;l?YMFV3aV`9;SbaC#*?7U1gV;Gn<4$hH7^J~Kk>m!Ti
zQHf<nMl48{q;C{bnMy95R>)>miq|T|f?BbtQA#vQ>9R^nsNWE3nUR>X>0fP=6LJNi
zT-L2<<l1GqmRQp5sL*MZI-Pn|r&`^qMz7WASJei+#-Lv&v__+WP#7FKy@@ogkOnPD
zy40<a+BH|#R@c`ICX?P|GOVu~%w{8LvY5@J#j<8Gn=BTS)oij_U9MZL=5>qBx<PH&
z>^7U#X4{}BJ4I2Oo0Q$*bUGbdTh6T=wq3aH{6GJ>fe<?#0q}r`o$1a`faf;sjzFIa
z!4HW!ju6vcc+)4q`hv#F-V2HMfm1*iCNbeQ1K~dQ#2Pt(hS2f|6pt$c&s}tp_(zED
z4LZaf#M}@BWlWyI1z~T~K8~fyJyBp^0rZv|4-JCr5|F?0z#BdSQ!Ro&@y3s4z~lip
ztdaq_BJfnYV^s%{OWp}6CO`mZdu?$TRq3Zo-wSUV`sUt+6L&Wf`0T3{>JMr=vK|b)
zE?W*0vP;@Ifh-WvvxUAQjt3svQr&r45m=^Uwq*VTq{1EdkAUV>L`2^O%u@g%G`z$I
z4)cI3h{JdL`W(aM`<f>sBN?OHymztqeQ>x+_*vmQUIk3z0^}iXQ0@<BnjudS<)se!
z4&bdI;Ptx$mxaLIEEMQIq`D?MC%JT}s8~?Q2)lK5fDu~xKCLeJzCQNA!3WO-X#w?L
z_Sg9}MEeE?M8@-&^r-syM@0b*gz^sN5w5x$w!lCt(ON#x5EjM`re)l7hg2RS+Mfcv
zqWzGZ<POPPMCA85a5=t!#?pc9jo@e;pd1tcp~DFW;Cqh4Bzq4+ir6$CIS;2H^ov;V
zQerq(ox<<BSaYs8nqQaM)Wv_8I~<+)(-lou=Fit@hq54wGe36@w=6xaO3MiBOfLy8
cjyhi!*3@~v{KMfWW<{Y1AAH{APKTI(0mA+}mH+?%

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/dd/drop-add.gif b/static/extjs/resources/images/default/dd/drop-add.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b22cd1448efa13c47ad6d3b75bdea8b4031c31e9
GIT binary patch
literal 1001
zcmZ?wbhEHb6krfwXlG!sZ8LT1HFNH_aOtsj?X~gjxA*9E^z3&Ep6U}i%{O4CWB5GR
zxH(~o^CD6fgr+PAPg@j`zBoE{b!f)w;OtcqS!<$mRz>A)jmQU~$dc{RCEH^Pc0?BK
zj4s|4Q@Ag_Y)yK_x{UHY2^CvX>NjQ8>`JNKlUBPgy>f3}?ar*)o!Rv}a|;e8R~}5M
zI+k5?IJ@p(X5I1prmcC+Tl3ns7k2C@@7Z0}wX?EwUq$b}>dE`-8_$%sovdm*S<`y9
zvg=S~|DoE>6ZKu^Yp3pS>N(xmcc!K9QuCyv4O0&^O+Vf`{Y>lRvmG-|x6L@yKI2T+
z?1R&1ADl7ea@VxWol~!LO}o-P{c88ji`{c?Oj>eo%Chs*mR*>(;O5i?H>WMVJ$u!a
zxvQ_tS$1N<@{<eK-(R}^{<6(Cmu>-~Tgx`xUa|S^%B{CoY`?W?%iUF5@2}Z*cg>Eg
z>v!B;zx&SmUDr15xw>=vgZ29!ZQJ`~+mSmvj^5pQ^4^hC_l_QYap3f`!)G2GJNw}H
zxtAxeygq;Z-KCo^FW&ih<H4spkKaCg{O-~74^LlweD?bD%lF^j{Qv)-VHD6Z1QdU=
zFf%Z8Gw6UU0p$q>j$;hsoH8C8796zp$T+b>@c4oQ4ptl9{CxcUY?nYS7uzPr^nkf~
zF-KnfWK`sLl+9v^jSOlzC8As$;v$iu&bdH0ut_86$zxX@GwwqiGMCbLCdz4)g$X=7
zcxoaWQ~HIKhmx0vy2>O}Xevx#ky5l?_wGr-qtgtHrgJ<B4>}!+;FF#5#6#i2*%nh>
zyAFx!#AZoGf3_x%!Zyuz9to2P8w(l~<k^)knHUB(c}j9IJP|qa*@00&H?n}mV8KmA
S2{u*^g@#8PwjOL?um%9^7FNXo

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/dd/drop-no.gif b/static/extjs/resources/images/default/dd/drop-no.gif
new file mode 100644
index 0000000000000000000000000000000000000000..08d083355ff1b4e99b9ef8139f28ede1485b50cf
GIT binary patch
literal 949
zcmZ?wbhEHb6krfwXlGzJz`$^jh2@BVz)=yA<1#WQRaDNJn4Gt<xe^d?H6-L_O3JN_
zj5`GdcS}m1OqlR|&YYJ^mb~7u;q8tc@Am9@f8fA}BS$`-IPvMsnXfl)e1GuZ$CD>N
zU%dGJ;lrOVU;h61@&EsShEXsY0)sdN6o0ZXGcd?A=z!b^$`cG6lNjtdWNtJvwem3w
z^YtV!G#qAN*V6d2fsv7ciC4iUL4l!xsfAfr@4<wCW@k2TMw1yY1RNT;nRrDQEH^A|
zW8}0eVR+z>=-tS}R<nR1!RgR^CV7Sv3JWuQ+c~EuJvb1oaH-KT`P?3@4{7K41*4c|
p%y^LM(XPUt<-x%4^gx%mao(FBg-VB~38?z1XdG;6?*v+G4FKH^bqD|e

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/dd/drop-yes.gif b/static/extjs/resources/images/default/dd/drop-yes.gif
new file mode 100644
index 0000000000000000000000000000000000000000..8aacb307e89d690f46853e01f5c4726bd5d94e31
GIT binary patch
literal 1016
zcmZ?wbhEHb6krfwXlGzhFH%vfSJo_7)vQuAsWC9EH&km;*6LR^?KiY<wYKlJw(qsJ
zpJ`*gP~B&`t<yqdmxacj8`J~0>xFJMjooS=wa?sdwqwu&r?{0KDI0upwuR+x56{~g
zkq<(VSvvztwnvw2k15z6Ua%vwaA$PU&gkM@F@^i$%l9PIZcnS(l~TJWt#)5}{f^9-
z1J*HzZPSi=W*zp-IqIEx!mH#^WYOu+{6mTPhZFOT08vuj(d7JNDFp|U3y&lh98WDi
zo>p==rRYRP$%%~86B%VEGs{k8RUS;KJD6E_Jiqc}cGa2O`cnnX`*Pb46}28MZ8%lj
zaHgpFTzUJ+%FZKY-6tw0oU5O>vwy;#zG=ssCm!gZcDil)nbs*M`lp@kn035;#_6_M
zr`l(nX`gwvYwo%3nHRffUg(*1rFZuAiSsW_n15;F+#8b?UYok``qahOr>(v;d-dhn
ztL{u+dw=%2>kHRkU$E}Z()D+iZN9m5<K5+3ZZ6$&YuTpTE4JQVvE}ZnE%(=Ky}xGL
zg{|8zZry%!>#o~d_ub#R;qm;f57%vfxPJS?4f`H%+y8jS!N=PUJlT2r&He)i4xD~_
z;M%)OH{V=&_T};0@2@}p{P5-1r$2vx|NZy(|Ns9CqkyasQ2fcl%)rpgpaaqk$`cG6
zR~e)^Wjr=4aC9<_3F%-wzQDoVIAhB~=k&AfoLyW-Re?t*%+d(FBC_aGf`Fq$D3_+D
zkjse)Dz(dOBqZEh6jdE-UYxkdEGT3zv4dmE!Dl=ZWi9e<M3iU>%{1g;@!G-s^!P$|
z8==@$A<sHwn3<HXM1D%Sr0N;HdqRStdV>R3<{5^GPA?~^>Pma%d|c$9FpH<AXHEf=
zXAc{n;-`omMgmU4wi-S?A1*Mq%oSth;IcZ9;y*)FYu^J;Muvcc4jg(7m5<rFnVITk
U%ua1eXlP&wOL?s(A;4e_0Qp#8fdBvi

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/editor/tb-sprite.gif b/static/extjs/resources/images/default/editor/tb-sprite.gif
new file mode 100644
index 0000000000000000000000000000000000000000..fb70577617cb872bb13241af464385904942d91b
GIT binary patch
literal 2072
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
C=E|M`

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/form/checkbox.gif b/static/extjs/resources/images/default/form/checkbox.gif
new file mode 100644
index 0000000000000000000000000000000000000000..835b346cc9e0e8e9089a03e4b0058653e99f765e
GIT binary patch
literal 2061
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

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/form/clear-trigger.gif b/static/extjs/resources/images/default/form/clear-trigger.gif
new file mode 100644
index 0000000000000000000000000000000000000000..da78d45b3214480842c62514af524f4aebb66124
GIT binary patch
literal 1988
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
U;ezY9-WkTkP-6N%4gg~Q2Qp;nKmY&$

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/form/clear-trigger.psd b/static/extjs/resources/images/default/form/clear-trigger.psd
new file mode 100644
index 0000000000000000000000000000000000000000..f637fa5d1e12460beabc8b49968ebc0ac883e754
GIT binary patch
literal 11804
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

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/form/date-trigger.gif b/static/extjs/resources/images/default/form/date-trigger.gif
new file mode 100644
index 0000000000000000000000000000000000000000..25ef7b3ae73c0918e97b5fd9c3e0cc5c69bcc14b
GIT binary patch
literal 1603
zcmeH`>o?nX0EfSlh?LXSh6Gchb&K0_)}2tjEVIrf*mT-cZDZJ(tUK<OE@x*Op+wGH
zw^i-9Ofr|!&LvnZ9do}^i3E*F<c86ZL?VXrTm27v+2_Uc^7G<3=Mx+n<bOV%0&GD(
z07QsL`>`vtS)2>N?|+Q73~jaWl`R5gD__+)uHa6pc+;!AnYA{)io;j^$zK-;1hccV
zLZMJ363x%gFT6y&EEbCw7Z)WGiBu|`_<MC&vNyVXFfK7pN_VE04Kp&sr2KGN1qtMO
zp<;VZsgvlTWdo#Et2Z|{x3;!48jXAhQW~KZ-QMah^v@o&u@7mrTAfa3*x4}}jr;ri
z2QPVX^y2Ucf*|mUR|Wp30?vB~`0<qYv5r3hP!KqQatLX|ngG}vp5(DeFu<_1x?K1y
z?aXi<`Yn>EpHn+pf<~!qL)+^@kuX9ddA!|~^b<bpuR=Skgvm<ptFzC>J3jxY7!i&-
zO}gJ$d>WVTX%pGG&aZ`i7E(<r+jy;xRKCBo*bx-@@IwxzXWTj|s_we*Rz$#qdb-^?
zbHvYKT`Adi{;2yN&Rs3bFxMe&3@$D;wwG#hw&-;wUI9!$MLBlA2Q1JfhwWowIagMn
zxC{jZk%{&6r#0&gG=K+f@bFh2`o?@c{5`PGSd+5lj~Kvfn}N!{P18ub;klLv0rYkG
z@Lj#J*`dh-BcPpyHgon8h1`zkkRx73OM_vF%$bNIKh)|-Nt9o8W)H(?BDJ_97`S|d
z*4p{SWHdCf0s-7e=(`R_umV4E`j#&H>VkK4Ja9tTI%PI|;LlFAd7J6{u?I^lr=khW
z9L7j`^i6YIRU?auTO!iU9LH=Gd5-vUS@FpVMr|<;$*%?ORm3```@bRaKQttiW@oLK
zmS&$sxRipjURP}nFmq^A<(b)H=?}<ASv_z_D|IuAWt^wnOE9OKAOlh`02%GcBK{)6
zY3ogpb)k(Q6IM~hf>HU|zxLk6-(l-GH&)mfGWY^u;&^?qN?-hXLw=_HM)?_LTNA4G
zsBw*La}A2CNin%bUxA;Rs<;hKb&}+dDT+tWQ+v$u1E@hHKBpB6^8%*UNu>T}-V;&`
zC)e$p#<qF48){CauNRS9W{>G(TZQwN5F$c;GFx)QO>SxZu0WlrpuDN!QAjdPFE9)D
zX+dDf+Hw?@?*Qw!SL6F*9ldlz)&-T?0ZI@{H{w9Ms2xORiTlP}%9An%vH3|!!`=mn
z+mo)9C;F$}SxC~4;*|UK@Qb@@{fx)jZ~6(JsBZmC$gX$Cbhxna%csHaMO1!ZFu79z
z3#m5DMw~mOPFziF?gW8O;fA?Uh7T7`rp4$Nu#bHRbCESg+@)Jxo5rcMcd><CBI>>5
g-MOq(pFXLdRU~2PX6q%R;{Do7>GCKGOG|L!Kl0xUxBvhE

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/form/date-trigger.psd b/static/extjs/resources/images/default/form/date-trigger.psd
new file mode 100644
index 0000000000000000000000000000000000000000..74883b21c54ba3552492162863caf022d51e43c1
GIT binary patch
literal 12377
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
RSqZdC?ps*a@|SxN`@dcz%oYFu

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/form/error-tip-corners.gif b/static/extjs/resources/images/default/form/error-tip-corners.gif
new file mode 100644
index 0000000000000000000000000000000000000000..6ea4c3838768c0ec3b5dab8e789333593295c15c
GIT binary patch
literal 4183
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
BA5{PV

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/form/exclamation.gif b/static/extjs/resources/images/default/form/exclamation.gif
new file mode 100644
index 0000000000000000000000000000000000000000..ea31a3060a36a625cb5cfdf4fdc5cb4fa5c3b239
GIT binary patch
literal 996
zcmZ?wbhEHb6krfwXlGz>`0sGY+vu>b$x(l^!y&e3LT!$PJ06d9I~VJ7A=2?olFzvm
zzpDxE7n6N1CI(zd3A#}bd9NVyZb9tbn*6)9`43}*9>oVgP7HaP6#6VR?0I_l<Fx1}
z=`qi9VqauNyvm7uofq{oKmK7!%+sRCS7otp3ZmZ?$Gk6#{ZJAAu`2#Sal*Um#Fw=h
zpKB66*CoDe%6i+F`KB@FU31>!meOY(6|dTBUw78N>aBj$UH@iM{ilZ1FAYgw8<V~^
zC4Xs2|JsuEy)EZkXZDY_+|RvbU;E0x_muwXEB`g6=H9}oPy3pmPiT2QvGvWQj<=IK
z-^}QIJAdlO$xR=oH-DVo@?~brhxvUU=T3OIWcuUfv)(P3`eR|ok42q77I%GKHu1}{
zNgtQa{J3KF#})HGt(^aQ{i4t7mwj2Y@au-f-#0J#zIn-qEh~O(S@2`q!XI0g{@l6j
z*Pa!>_pbc0Z{x51oBkf&`s?Q9|Ns9pjDkTQ0*XIbm_d%z0TG})!N75lfssSTW5a@j
z7VZsy6h0k$;Gk@@Yl-LKR#u*NrzJaX3aNBVGqZFP(Gfc8+b>uAY)8hyXKfvg1xYiW
zY*bF=5>dbAA)s8qF<r+xY?)2sA{G&K0hV<Ej~5?3J4Mx@hU24Zqk~Xd$paI`^mFX|
zQdSk33LjXfYPvdxNG?`nW|Q_7<8WF0s3(M9(=cX(z_G@uje;3dGH<tZwsIwENNAi$
qV3U-QF}uQGtk`gvjekl)<s=qH#&)Ll8WIW*7=$jY;ACTAum%9yIwySq

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/form/radio.gif b/static/extjs/resources/images/default/form/radio.gif
new file mode 100644
index 0000000000000000000000000000000000000000..36bb91d0c5ba6b94f2fae4142e1b0daf16b11514
GIT binary patch
literal 1746
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

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/form/search-trigger.gif b/static/extjs/resources/images/default/form/search-trigger.gif
new file mode 100644
index 0000000000000000000000000000000000000000..db8802beb370d7554d5319c0e0d5c4ecb8da2c5b
GIT binary patch
literal 2182
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
I;sOEyJ7fCEIsgCw

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/form/search-trigger.psd b/static/extjs/resources/images/default/form/search-trigger.psd
new file mode 100644
index 0000000000000000000000000000000000000000..b11f273000ce2ab795468b5c80f2bcdd73b70148
GIT binary patch
literal 15601
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
BV7LGP

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/form/text-bg.gif b/static/extjs/resources/images/default/form/text-bg.gif
new file mode 100644
index 0000000000000000000000000000000000000000..4179607cc1e9486dd6fcc8467c79b5b41dbf4f76
GIT binary patch
literal 819
zcmZ?wbhEHbWMmLxXlG!!_xRa|&!0bk{rdI$_wPS{{`~#>&!4}4|NZ;_|3AYh7!85p
p9s-I#S%6;r&!7YHC@4=ba0oCkvIrP7I50A^3uwfgFi>Ey1^^@>A+7)b

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/form/trigger-tpl.gif b/static/extjs/resources/images/default/form/trigger-tpl.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e3701a383107e090fe25d3fb8d63aaa9290435e9
GIT binary patch
literal 1487
zcmeH`{ZrC+0DwPCBIojs3o|_0?P^-#Ox&%!R?e}@xx}{YYR;I~>N*jn-Qn&=-p-KA
zeA(%=S((N$6_|l9fQC+Hxi9#N<V0|!DDo;QATLuW@#Q=FBlcU*AMpI}+&y2UrJnrw
z8U<iMIRHeM$n2Qu?j04Wt)fY*SZ$LkEj=omY}_uJSd^%3ooZX3dU<kkQlrsmwc4qv
zDV<LDVuu;y%*>2luQwPBW3%=l!}^GELum-8=KbTwwF%Rj%DgphgD1_aTFbxxSbc_7
z*tiC}T&|Us6}Q{%@p#OB*cyNreCzg?@X|W$2*O^k*XQ%C`Tc=FAQ%j8?6A4LxwQ?$
zFnGh80{=sSgX_p0D-7aZyI(&6LSe8g^uSq3699<4vDu>uKv9OqBv(z-4-J(@5=c^c
zCvT(%gPg*qb@7!*M7$td*%d>&myq6H6@|%BvEwc%rj<`}&sV>d68bLbzTg)ez92R{
zL%OWyA+pbMNDmz0eA2_<oc^QKjK^PfQl2RzZd~MlttEeXsxF7MpKcxFq@N*H^cAi;
z_RTVKz%$nBq3=KIm6!*LHm-!SxSiIKyUyG7=VV<AgSSGm=Ch;ll@m>8Du?G1p`W#a
zi*2IW=5FT;Nm@-f=nK&Ju|GKH$G>G{YFkTqB2{y*&pLXG@cG}HCp8gjUV5YGKrX;c
zKcN|~+$?$NF%5hJAHnq}74oAsZQo5Wi&P-SqG~)}Tn55ltvZdK`IT)rc<_XRg^Z+L
zEoNSBGTq*jc(eqdQjVJMM2OG;fu#t{Wg$qSxg0~TkXJ<4QMskK7QwahebOaMWkPZx
zRCQcO<&}om1lH;#2Gv?~f?O}Zn-ZB9UH!@7hU*~W__FO@Msfvo|59dNOf4yZWj)Bw
z%xm6#wG3~s&!Wh#gS~vA{n3r&QHV_+#^*Lr;_-`|0`e>QZ$*LSBb*;mXnE6}$b132
z(DJsR0TJCw1<X|aBKI;1$bYY=wBotd_9!AJDN!$cTw6yH)*_Oc9Ifp=W6Od)S?yU+
zyHuA?E0-vQxx!z^@||KSV+oQBM$%kuJhA}ldY<Tv6Um0d@Zw^W$<;m1n1*`h7|vr|
z9C9zzYpbKhOJ#1-u|~@yXS_`R(+7k<OsDkjJ~#KBwm+RrI-!4I__X+`|8S51SsiSb
zbSsDhibYg{_vx-r!wMj7i;Di&?)T%ogKJ^v4(a{@wyz&2p8XJduVjumbW>C%R+wAP
Mbv*YluxN1lKj3usvH$=8

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/form/trigger.gif b/static/extjs/resources/images/default/form/trigger.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b220bbed3cad39be91536a4bd22181c8a95f248c
GIT binary patch
literal 1816
zcmeIx`#aMM9KiAKTn^@>6(wvM=Tt7K+z#i6XVQ_RQlXwxx~C_dTzVuSjV@E9&e6f?
zc1BimCyFHI5?UCW%UrgxjhW3Zwy*8G%lGg{oZrs-c|D(BKhN`dp3k1Wf!;r#i2^nN
z1ORXi&2m4K?RGfZ{cyI&k%yiuay-KxdWPlTU|d=SqrRcLlFF$Z;8amLRV$NQ*E3z;
zGyR^z{XpS1_Rci+&wlKksityksN8xwuZcSMY1t_M6N5i6FfcecNTbo{bo%h{@W^ru
z7K6bU8ylOPoMbYY<iS}oeZGx8*G`}791?VmioTA|P$p*jnEd_~bN#Hj&Pi1lOWiXG
zQkaTfmYl_6_p#;u%celel(wG(^>Sg_lwg!68kkz7P0MH;#SlkIU!GiWhzAbyz(J0Z
z%GC_;Gy^j*eMURPhll52#;kI35oXC@Hk-}iaD+mkNF-WVSP+ZFQwn%m0dtmtFi)!D
zEx|KO@az&iCtDIrBtn^ruYv^-ERjg0QmITPlP{-GfFLMQD5VNWvINOMND6ACN?4(U
z6sl!fg-Qpiv>*h78d#}Rs#Gcng4AlYQms{~H7YF(X>@9hPNUIiwOWl<r_sU70sr?O
zU%*affB*m!VC%}Bm7f5NVZhQD9aPQEFhH(#I?)}9XuF3p_sbrQv+umSetYoFj+$3p
zk2bAGS?{ea-fN0HU2>wQc2jWfj(wlAt;{b_o^3r;%IJA_@nDW=jxi?q3BPc+W4u#%
zXx$w36_OhCBKWUp`{LkyXkzT${?IoEYNDEZEPg*y98UXf|1Wu@439X@*B9!G{(m$j
zEeh6+CzAA<@r(Ap0S(nt?WyXv&}vc*r|a?j+P^~@Yk3_v*BxV?uzFk2PYlTVG7*uU
zM~kC8AO7=owt#jmr8_XABU5NwcZIUqH-aphXt~S^gh<NS9i1)cgMB__mt3NeR!+s=
zeM}HkTk@$j+&-dDa8d#czdY~5vhs{7f9@a9%o1_PSxaeeKA9DtXvkc1C+Km(Hnn0)
zVA?F{!^xDG3x#(#8UZ_Sc9$*O0KiCD`0M&>Ja#+U(7T|^;zr1^R<s`%n}@n)aF~E{
zC6*MS(k^uu60i?~itZ!B20Cqxy&bwYWQ1h4+D3-OpMBu`KJ&+HCr7;D`r|=-qMf;4
zLuYQ<R=mDh$iyKYHk?WB$UD{}2_)!`y57Oqf3^$AJ)Wq#P;hP<Z?P^cX-)C%%rM7H
z%cQ&;uWv`!n&1#IKizLDIx2Uy1I)nq&LW3~8l1tJAfg@`fkWbexDqVl^=SuctG;cA
z9RTP7wWUCO5-h>#fA4^Q`}%n@vb3bw>2!M)jx8;@odihBR*_yl6_i!hTF;l)zr>16
zA|!`4ZHx#>$sn00?DIFhnqZAbZw;l23`lORczsNXz_A?TO^m6SO|w~e!+kn_<*k=I
z<+gd-+VMLrUd2r@O=Y`~Ri6Y-r`y_Bi(B^~QiXuDJuiY7Z)n+oH9}l%h$DYlw;{E<
z$+Z8ta}VYgTGnlo54C@D4=5xcl5zfv-!{L?x{8*TmIEfcEnn!_I9f#3k!(CBJ&d*&
zNHb^$o~61WaPB*+^ul6+dU|ARXf*14KE@Dp_(|mZA-{8&I_eJ{E=$InzqxqP&Q!Jf
zk49`%gnSv_MQBcEraBW783)k^5?MlBg<{x#_cj&x3CAUA%BgG~|J|e5n~m&q&fAhv
zH>)T&W>yi1kf8iSjA}OA86XSmMq*Mbs;^@pJ|RC^Ev_Fywn;iHV>R=Q`47mlZ(ib^
z3yocUP19d}Vtp6u(}-Gd;`*bVLQ)h~r{w0Zz9~Oz<JUYkl`qyQ8P~VNAnO)Wr(XDH
zqjq6Fw-V5avsfDL(H6?&YP^JF4GoU8)N5C#bIsX6<53*d7nLzhJ0+u!wCe8)%`m5*
pG&CiU4YoZ_UnM_f;$DJBCC4JR$gz5!#(rkt!Fxb?I1T`O{skL=RPq1-

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/form/trigger.psd b/static/extjs/resources/images/default/form/trigger.psd
new file mode 100644
index 0000000000000000000000000000000000000000..1f1ed646012259c1255514730af9af064a1b9e9a
GIT binary patch
literal 10829
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
V>ls72!3OqCzdpE({fGTP@lS5LOxFMa

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/gradient-bg.gif b/static/extjs/resources/images/default/gradient-bg.gif
new file mode 100644
index 0000000000000000000000000000000000000000..8134e4994f2a36da074990b94a5f17aefd378600
GIT binary patch
literal 1472
zcmeIx`%jZs7{KwDTLnZd*hMh7R3%&{VK|xh5d@TrMjeTpnq?_&b8`}Bh(kowLJ^R=
zwLrP_Mz6F*N-1{`N?)K@6i}uD1>V*|OIv8)A|*;9JN<2c#7;i>=A7rpCpmEmrw$)U
zc7mcXc@UIVGnG~gOy34*)9Li-becMyuD$~>)ERVj219+9F_Xbm-(}8ZvefrjGxzFd
z?gQ+Z2W-&U2kcoQXO_sF&Em{uap$rD-W-Vsija6n4j*~Q*W?J0hYp%tpk9;bpv@I(
z@`Tz)B2B(fn=b+vZGl)@(4Z|8YYQ8+MGfzZp1v;z8bNg>jk*$vu2iBclgyVj>B^es
z9|O{PvUGvmyzs<9PmwK9WcqTTMPJ^kuV~R%wCXE?Ha*qBP}OFjwi~K|4nuYOVl`;T
zVhzx_SPOK48f&|ZG@#o^cQDa=jErs*qsPQ}W@7f3n4r(hETGq1*K1~j_L<p$+{|%U
z;`W=l{YyMRvBXy_^WkNIgGDf~Tt8qD0)rOOkVQ0T6%AR%fYREaL>q?Dr%LqcFxvPW
zut}by5*6B{LZvEO(+Ju$Vv_<dY|RcU%`a`T7b~)tD=nidt)rkHT7j_-ZNT`4_OaFW
z@zsu3fW7n8YA5JxdlxWa@19ue`Nt0ZfBv(9-5*`SYXb^(%p89La^HYXd*I@QOgV||
z^OgS>!sOuZvAc4ePkK}Mg^X|R8{wv3g3jV&Qm0~*o(w;!4zGtP^}q4TE3f=4jcq2s
zNTj41IT7{z(FAgK^iIzZ@_2j+Ir8!+!Q<EbV&8-du@}bcM31C_(QwPYx){PXzn!Pw
zoM$!vvDy2ws-le9M$&Hej6H;9cBQX;o?IU)or@&8tZ8DXqjW|7n&HyO#dGwbJInEd
zF@B{q6?JK1@(jOOKYD8+|I6><N)}(IY6T@Lyl-pY-c&2;OT6NxgDI(|t8Cs{^<3Xu
zjvpOUj2=*qQZL;Iyi=tgQx#Q3<`(_E|J^{&<Y(^sj&P(We`D<xH*-grp-nKCO)soi
zyDU}qMsIjltgkj+ocxPhun_{CJuyH`!Udnixkt0`xN{K(n1nqlhjY$EBqwjjg|Rd~
ziMOb59zHM&&X4y`);@~!WnJ+OZB=Tq;Xb?fdPh(A!o`O%PH@R_XH-!dh51O@7W-*T
z@i^WtQIL;E43oB=U%<~(jv$2j@*ifI+$}$)U5nX5coU_d9-v%Xs5+oz^1Q-jeu|p?
z-FSWN*X;y7ElkYR)Az}cpv^>#r@%9(ju7k_5|Ghf7eqx2?7%YoH4jP!wx7HA*Q43)
zwFOW=pP6ly3pn=?dHpWVl+z~h4aA7q3Dbmfk>A9h*D=1j0=ZkaJtNDl4|Dy58=OQ4
zb=w|rEX#G|6q4dPk_gFV6VcYbmUmazi7x6i6Xb&As-j$U2PJ(S9-JDYvw05^=DZ2M
z-q(%65iC7!Sf=Hfs~2MFb#cc_ASYbPO$Z9ewDx-)GFuhcxKI?v{g{Fd`2H?N2mNoG
a(II?Zs7)DAnPM9b=8J95L)rdV=-9sjoxm#q

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/grid/arrow-left-white.gif b/static/extjs/resources/images/default/grid/arrow-left-white.gif
new file mode 100644
index 0000000000000000000000000000000000000000..63088f56e1c33fd23437ab00ef3e10570c4a57fa
GIT binary patch
literal 825
zcmZ?wbhEHbWMSZBXlGz>`0uc0#Y_e;`2YVugfU8vhQJ630mYvz%pkAofCx~YVBipA
cVC0bDXlQU?ViVMIiI|XhxRH&WjfKG)0LI-8@c;k-

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/grid/arrow-right-white.gif b/static/extjs/resources/images/default/grid/arrow-right-white.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e9e06789044eacb8a695cd1df46449bcb2b9aa07
GIT binary patch
literal 825
zcmZ?wbhEHbWMSZBXlGz>`0uc0#Y_e;`2YVugfU8vhQJ630mYvz%pkAofCx~YVBipA
cVB}zNNKj~OV&PY_IbpESp@o^1jfKG)0Ls}94FCWD

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/grid/col-move-bottom.gif b/static/extjs/resources/images/default/grid/col-move-bottom.gif
new file mode 100644
index 0000000000000000000000000000000000000000..cc1e473ecc1a48f6d33d935f226588c495da4e05
GIT binary patch
literal 868
zcmZ?wbhEHb<YeGvXlGzh@R*?Bu|OeUfdLRj0MQ16j0+A02OJ76I8<B+sJOuJpCO>(
zLO{cVgpLOZ6Fwx&_)sw8LBWC#1q=Q+toSft!~X>b{xgh%(GVD#A)xq^g_(hYn?VQU
zd{CZX;BaIR=ZFzVT;Rwl#vu{Yu%W4$ky$xng~3BdrVc>?i4_ctPK=BUEM^-R4mL70
a^J-WG2rw*VW@C5a%Q0YR@NEQ2S_1&+BRBT|

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/grid/col-move-top.gif b/static/extjs/resources/images/default/grid/col-move-top.gif
new file mode 100644
index 0000000000000000000000000000000000000000..58ff32cc8fa2aa1be310b03bb2af77c1b77abe93
GIT binary patch
literal 869
zcmZ?wbhEHb<YeGvXlGzB2v}ec0Yn=d5;izw0MUVff&&2+Ky)FX;sL{dhJc0#0Ubc}
zA)(_!!h{bA6aE)Wcu+6{h&~i70HXg5EB-fZ_&))NcKly(;6KAC7!84;69S4qS(q6Z
zxEORmP6p)(1`a0%QH=!(icQSyOsrlPCNMTPws0wBZ1~W?;KDAhU?QO~A%Uffn}KIT
gMS>G68wVGIhem=U(^LUb4h;c?We$u2%uEc{03e(}^8f$<

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/grid/columns.gif b/static/extjs/resources/images/default/grid/columns.gif
new file mode 100644
index 0000000000000000000000000000000000000000..2d3a82393e31768c22869778698613b2f5f2174a
GIT binary patch
literal 962
zcmZ?wbhEHb6krfwXlGyuEL<5_v@*CDh*pJ^t_~?(6IQl1ymDPc)rN@bjZrn5V(PZU
z)NOSrd+hMvA+B+IeDltP)?JCMyOZ1ZrgZEJYkQj3eITRnaL%L?Ia5yNO*xf6?R5V1
zGX)b57R)?XH0ylvoQuVCFO|-_Qnuh~<)Ryvi*HsfxmC5~cGa>w)ywZpoH%jn)T#64
z&D*eH!>(Ps_U+r(Fz<NJ!eeb~?@rosZ_>^e+YaA8aNxk9Lx+wXJ9gs4iBqReojG&n
z?%lgL9)0`&|3AYh7!3i+LO}5+3nK#qAA=6a7*L*I;F!-K%OT^jVZp&>mh3YgjfYq|
z1(lp?K5S5QW|J^Yxp3pe#^mFCnoeCZo|g`B%4>LkiP*V`#cPUi%)1K<H#MD=Q;qtN
z@j#iWbGlaKqc0a5o;M5H6+Ku{x!EOf9*+xysMVGg{HzK!cQzc{!sI7rU90fGAaup)
z>8vI{DjqJ<J}0Ub@<XCwq0Z^e8q7y_Bs4a$aBz#LSR^zwFfcMCDY!@oFjxZsc&oc!

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/grid/dirty.gif b/static/extjs/resources/images/default/grid/dirty.gif
new file mode 100644
index 0000000000000000000000000000000000000000..4f217a47959965037bdaacf23dbcbe800a59273f
GIT binary patch
literal 832
zcmZ?wbhEHb<YM4rXlGzJz`*eT|9^&2Fd70QG6WQVvM@6+Ff!<Xd=JVK3>>lyj2t2o
f3la`CGVn;rtSCr4)W)vpHOFJ)qNAORj11NQ63h`c

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/grid/done.gif b/static/extjs/resources/images/default/grid/done.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a937cb22c84a2ac6ecfc12ae9681ab72ed83ca78
GIT binary patch
literal 133
zcmZ?wbhEHb6krfwXl7towPL}<zP7ouCvV@ncJAy++qbTn(BHOd#r(qucV0Mmw7fK@
zrK$4&|Njgyp!k!8nSp_aK?fuNGJ}D|Xu`>p0*huu%~roJzC1V7qiQ)z(xVq;t8Q*e
g@TwP&*%vbDj%DY0^FxMh_Sd^OqF)Bg<zTP|06#!B1^@s6

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/grid/drop-no.gif b/static/extjs/resources/images/default/grid/drop-no.gif
new file mode 100644
index 0000000000000000000000000000000000000000..31a332bf78624b183261a82046f3e09d10af2c12
GIT binary patch
literal 947
zcmZ?wbhEHb6krfwXlGzp!@#nRoqGc}|3-e{&EnEqrRBHDEALd-+G}jK&)jOiwcSB`
zr$f$ehuyu7`3Iefjysc_dLh5?W_R!H{)u;|&%8H#?vvGPp03~U`tXr=r_X%8edpWb
z$3I@b{`LO-zu&+A|NqZ03PwX<5Ql)`PZpr-{xj%++z84O3>*^}7&&A#5)LvkG7IyS
zOnBJr%r7CL!Q$}XP&==XoWqO@51m<Cn013BCTwVE<rfyKn_%#92`fJbOWFm7q6Md!
zWONt=J}5RhO=nUsVA$}0xw*xG)#*pVg2uqv@+EvRRS6FMjh^gWQ$3AWJIo1^UDI<*
mDD4ElviCe6%MFi?_DEaT%{g)5A$y0Ax=_vpg#$+#7_0#YYj80D

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/grid/drop-yes.gif b/static/extjs/resources/images/default/grid/drop-yes.gif
new file mode 100644
index 0000000000000000000000000000000000000000..926010e172a267419e420a4647973b3e1ee28926
GIT binary patch
literal 860
zcmZ?wbhEHb6krfwXlGzhTA+OR?cx9b|1*q&(GVDUA)xq^1?cJj3_2jMgYpCehb03e
zhm6OD1qYisgtc@e91b`&^2+M<NHi!qGcsuj<*X27aBY^im+R>;T<kPSR=B8!W8%`&
K)AgB|7_0#`bsP-<

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/grid/footer-bg.gif b/static/extjs/resources/images/default/grid/footer-bg.gif
new file mode 100644
index 0000000000000000000000000000000000000000..126120f71eef89987818dcf64e6510ae83c8e18e
GIT binary patch
literal 834
zcmZ?wbhEHbWMq(JXlGz}`|9@lH+SE^x%d9<y$^36e0cZp)BDGtK0N*W@!6M;&%b_t
z`StVbZ(rVg`||et*LUB)z5fA3-#`5P{_*GcPd|Tr{`K?A?_Xbk|N6!-3PwX<2!?>-
zPZpr7|1;=-+z!eU3>@+d`VlJv8V|8>3M$wXTxdAR#L6ikV-V2L(7?dJ#=^p24FK}3
BP__U7

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/grid/grid-blue-hd.gif b/static/extjs/resources/images/default/grid/grid-blue-hd.gif
new file mode 100644
index 0000000000000000000000000000000000000000..862094e6803f522712e4d193c7becd8e9b857dd3
GIT binary patch
literal 829
zcmZ?wbhEHbWMmL!XlGzJa`*r7`~Ocp_<#1%{|it4Uw-=k+VlT6U;e-I>i_*W{~x~l
z|K$Du=O6#S`uzXxm;WEW{r~*q|F@t2fByde=kI?YU>F6XAuyCfK=CIF(E0xvbU>Z}
m<p~B3DF#iS2?C6VnAv$HbOI(Y9Aso><=_zzU~q6?um%8<;zWG_

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/grid/grid-blue-split.gif b/static/extjs/resources/images/default/grid/grid-blue-split.gif
new file mode 100644
index 0000000000000000000000000000000000000000..5286f58f6f798184c3eeacba1352cfd39b9ae03e
GIT binary patch
literal 817
zcmZ?wbhEHbWMbfDXlG!Ub?iS7FpPrH5Ezjmp!kyo=<ojwIw0SJ@&p419|I$cfJecC
NgH0U#Y#ba6)&Nl04Iuyk

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/grid/grid-hrow.gif b/static/extjs/resources/images/default/grid/grid-hrow.gif
new file mode 100644
index 0000000000000000000000000000000000000000..637410420736482e521957d51d44f9da47f519de
GIT binary patch
literal 855
zcmZ?wbhEHbWMU9wXlG!^UvU5W_3L-<-o1D4-u?UcA3S*Q@ZrNpj~+dK{P@X}Cr_U~
zefI3x^XJcBym;~Q<;z#EUcG+(`pug+Z{NOs_wL>M_wPS^_`om<Mnho8hJfNv7NFbz
zGw6VP0Ll{#93~8`91;c%42?{zJQ5ZK42(@IoFW<#8yXm!*?46vDn2kUwQvZkc+4<p
QWNPISWda(Ypuk`a031t6sQ>@~

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/grid/grid-loading.gif b/static/extjs/resources/images/default/grid/grid-loading.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d112c54013e1e4c2f606e848352f08958134c46f
GIT binary patch
literal 701
zcmZ?wbhEHb6krfw_{6~Q|NsBg$>(oA`P8%SHjuGk&%@0ppYOTwO7TCppKD04vtxj(
zk)8oFBLf42;y+oZ(#)I^h4Rdj3<Y;jHwEAPvdmNk_teB91rt33paN0f#FSKpq)G+H
zti%eR{KOQ!%)GRG2F0H&oLoQ?bbuIWtpEc9voXi6JO2z$d1ebIb69am&SCePk;dt|
z(eThNk(md#=_MRFRCqx*TEg<~GImP|9(J$n=N>>8V47nBGRLn+Q9-(eXZMC@T`q-A
zfguTok_rhvuF+B}YGk&S-hZ1Y!QP;7UE)!jv*adK6)hob2AOf}GE&w)<#=MknJHoV
zY^}*Md|xE}K6*MO&RAU_^MUKk=Djk<R%kOtz7_w&*nF7ZXl07j{QWH0i~{;CNmcul
zQQO2fbHd_VyO(jcD)O)xy0j<C2(EH#+Hg^xIVmXiv#q>=g^pDJi6uprK3M%`#IdVL
zUEAw<ipU3v&pwSjYGsELVv<6pw6^S&%ZPN+Jb%hTfLZRPjr?IXusK1Kuo?q&j>4e{
zmg0{~p6|Ie&p`6H%mYO|r)_gjg|As;$iv1hQk=MZgX#CFjEx2xI6HUG&(-w8Y7Wpj
zcm93g6udbnG<Fu_yIX|?QxiJwCeFEQGOg9o?WlpsgoN4K7<pL^IS9-)Y&dl7+(g{Q
z0Aqf2s?(J@n%CtxI1VfH9WUf#F*I0tYQwq!i9^8X3cIzGNue}JqG?{V-~<K+Yf!=g
F0|5M};uQb@

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/grid/grid-split.gif b/static/extjs/resources/images/default/grid/grid-split.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c76a16e95997a487ee9cd1675ecdd99bd2f37c17
GIT binary patch
literal 817
zcmZ?wbhEHbWMbfDXlGzpvts7||Nj|A!DtAK$PiHc$pZBEe+C_p??HKjfrF2Mkww6x
PV8OvA4t_Qc4hCxg>zoX)

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/grid/grid-vista-hd.gif b/static/extjs/resources/images/default/grid/grid-vista-hd.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d0972638e8305d32d4a2419b3dd317f3c8fd3fe2
GIT binary patch
literal 829
zcmZ?wbhEHbWMmL!XlGzJe){5xGZ#;uy>#l_<<sY{oVjrI?8R&6FI~TI`NqX7H!oeg
zb@}@3`;VSHeDdt^vlq`^yn6BK&8s(W-@JSO{=>(QpFT5;g3%Bd$|0cmlLhGf{|q`H
nPk{0S1BVoYrq2Wc#zV~Pyb=r?3JDC2Ol*7#9t#p29T=<uoNGWJ

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/grid/grid3-hd-btn.gif b/static/extjs/resources/images/default/grid/grid3-hd-btn.gif
new file mode 100644
index 0000000000000000000000000000000000000000..21126075e7397dede53d3032c199cc5dff20d9a1
GIT binary patch
literal 1229
zcmZ?wbhEHblwmMpXlGy$wQf;zZ9jbL=h6HBk3aZ-`qBSW&;Fl%{Qu1J{}-P9zwqk+
z<rn`iz5ajg<^OB%{@-}@|JIxT_ul@$@!|iSkN@v~{{P^^|Hq&HKm7Xt+2{XHzx{vy
z^Z(1Q|6hOm|N8g;cYpqW{Qv*Ue-L081*0J_C__N;CkxPB{~2^Zt^?%>29Ey>tSt{5
zHY{*#Vsg}oIT5h%K(m0QN{+|JM3-h^O`|Opf{7fxyq0BWID}eGbgMYd>zNVs*sDWV
zoA1qwjZY3uXHRaM;~D(iZJx6IEfY?Wr2(@o4CQoZZdq`CwriwbsHEt#km;etaZ`6L
zTz!3gENh*F_qI0?jS`nu#m){}(7wIk@jlUvh3oF_E@dsdaeDjvxJFSXZaJBV1#O2r
zgyqE~6rDPbPjEKrQ!sFDJ262wU4TQ;rQ!Sn=9UHq#|Nzf3_+{e1Rfn?ZRD4$;FDGQ
z#@r~Pu^>)X$(*&3x9Pl?tj&%CoF~dRyY<C9XnM|V)86neW<kqqp@8-Sb+HLe@9#S|
ztYX){&{+9d@!WjziUoUre}BtrG{b-YznVtYPp|LKk6+OApMmYid<Pbhj0cUZTrCHh
zc+7SzaA0=Pc-SJym2#j}BCSHPMWifaVVgqHjfXArO*0mDD2GWjbxJLok<_Up_25y5
z!6u8v?b^q7Bywm@nz6XgJSbvur{k{`kNa%BEK)jb)GQB7(lwi@GDY3%rt(w?v6WBy
d4YO80nrIaDQ)#+cm#6Yfmsy?4GZ+~etO4+$8211G

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/grid/grid3-hrow-over.gif b/static/extjs/resources/images/default/grid/grid3-hrow-over.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f9c07af1347fc44dcabb1a9d22458deb195fd92b
GIT binary patch
literal 823
zcmZ?wbhEHbWMU9wXlGzpb>`d67r$SB{>v~5Mnhoag@EEu7NDp9Gw6W44$2b@93l*?
Z95Nmo7Bnz$2y4ZhC{SczU}R*l1^^j55kLR{

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/grid/grid3-hrow.gif b/static/extjs/resources/images/default/grid/grid3-hrow.gif
new file mode 100644
index 0000000000000000000000000000000000000000..8d459a304e0b224f8c28d6b7b585da7019d28cce
GIT binary patch
literal 836
zcmZ?wbhEHbWMYtDXlG!!aN)x1H}BrOegF2|hj;HkzW?y)!^h7bKYjW6^C!b77!85p
z9s-I#S%6;r&!7YHC@4=ba40eea>#gWNI1yM!7mYUVnf4WCKe8!85Rx=4Ga>@3=9GS
G4Auam1ttan

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/grid/grid3-special-col-bg.gif b/static/extjs/resources/images/default/grid/grid3-special-col-bg.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0b4d6ca3bf28ba44b4ee215fddf936aab7cdd5a0
GIT binary patch
literal 837
zcmZ?wbhEHblwe?DXlG!!aN)x1H}BrOegF2|hj;HkzW?y)!^h7bKYjW6^C!b77!85p
z9s-I#S%6;r&!7YHC@4=ba40bda>#gmIKarv!7ZX-kkHV;z{nslr{jQv6El~jRSSoL
H0)sUGu7M?*

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/grid/grid3-special-col-sel-bg.gif b/static/extjs/resources/images/default/grid/grid3-special-col-sel-bg.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1dfe9a69eae133929f3835ffcfd108959539b9e5
GIT binary patch
literal 843
zcmZ?wbhEHblwe?DXlGzpb>`cJ$G<K;`E~i}udB~~Uwi)h`t#p6U;MuH^7oxrzwf>N
zbN|hshj0HpdiUqa`#(?L|9SS|&x?<LUw-=g`tx6gQ7{?;Lp%f&f3g65@Si~k<PT7u
yVBpYTQ0EZQP-JRh=aVvsSfIez#LUJeAfceZ(9p=js}yqLf}%^Oh%OrogEatv6hrX<

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/grid/group-by.gif b/static/extjs/resources/images/default/grid/group-by.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d6075bba2fd87519bce379df01d12cdbe67f255e
GIT binary patch
literal 917
zcmZ?wbhEHb6krfwXlGz>`0o(b_B3_s=d77u3+H|<U-YeZ`H${ZuUc0B?B4Ke!q(r@
zcK(^Q_wW1z{}vtkf8fA@3lBa#0HPNkz~KLfAOHUY(f|JpqhK@yhF}ON{$ybWIa>!r
zfbs+bM-c-fhm6OD1qYj1`88rr6eKb<vdfqxY;bU7VqxPFkWhG_*wCgRT2)f8aEa$+
zQLO-pO2sEmoI3u~d^{bQd>U2cZFVdORzJ@!m~?8+%1KMTTg@3K$aq~=^PX>8{)(q7
acp2+dVHKAK1EYrP>l5}X$w&(@SOWm68Djnb

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/grid/group-expand-sprite.gif b/static/extjs/resources/images/default/grid/group-expand-sprite.gif
new file mode 100644
index 0000000000000000000000000000000000000000..9c1653b48dbd2d4bb00886c379ba3a66813737c4
GIT binary patch
literal 955
zcmZ?wbhEHb<YY);XlGzB^h$R6?=)rU-Z?<D_Sn*`*H-SmwfESuttTEI1A<G>uiX3i
z{QdXWpZ@~^!zdUHf#DSbia%Kx85kHDbU@w$<p~Ck84S!EG9DWiI5u;0Xvi2iG&C@?
z$aqY-(ZJZyA;cIGQc$SGz{btPAn|~q!E>?_tHlbAgvKT&29}T*1_wr_8B7v4Oad0D
zH!!O=%UO7AS#fc($7HS8Q(IPEULLU6Yp&PURaaMg2<zqi5P0k|EiT;1;le~EkBKVH
pOdgtLjox#NWAF8>6lV0F?{M|skyG2(-{0TB%q{1$Bh!Jw8USBOURwYF

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/grid/hd-pop.gif b/static/extjs/resources/images/default/grid/hd-pop.gif
new file mode 100644
index 0000000000000000000000000000000000000000..eb8ba79679eabb7811c3d9d1c86c43bcf67552cc
GIT binary patch
literal 839
zcmZ?wbhEHb<YM4tXlGzZOiXn6@4zq$MnhmkhJfNv7G?$pMg|>_??HKjfkTCXkweD9
mfT4kbgI~?WW5NQ*7JhN9o*xBDE*)ahRw)@D7aeL~um%9t9ucMh

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/grid/hmenu-asc.gif b/static/extjs/resources/images/default/grid/hmenu-asc.gif
new file mode 100644
index 0000000000000000000000000000000000000000..8917e0eee0cdf7758e83c4cffa7a7239f72b8427
GIT binary patch
literal 931
zcmeH`u}i~197Zo~Emb-ML>(No#i13!1{`|2)F4_jl^X=3LnUJzge<}>RZc~zP~kV;
zB68w#pu>SnK&adpIt5*dn`7OIQ?33Dj(x+oeanNlwY^!!2PQI6AN?^vMGITlu?Sc$
zU>9uS*}igoaC}8PN`jCCnovooc75v7&|^Bl#h|GI2x(JLP!wWj<rpqDZ44O0aBUkL
z0>lNOK|~-m_dM?T+-E!pI0dd^5l}(d@Glq_sw<m9>Q5Q<6ypk{;!;VaqFyLusAH|W
zI_^hNH}3WaBSr@P!$9skWgujrrQZ^Mn?RWcN@fn{AM5KVovc^P{B4D$=SroI5_&zI
zNSF`DRwb35%9fAbth<-%@nxq_$~TO}IN9OvPh(dz1*g;6JvytHv(;6&xjkRcOr!mB
r{VRFNa;Pe5osHT>5@ibIb~{3g+0C%lYO~3O6<&R=-|w9m23q?84YkzM

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/grid/hmenu-desc.gif b/static/extjs/resources/images/default/grid/hmenu-desc.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f26b7c2fc5836850958f7f2b1fafd3988a988d7a
GIT binary patch
literal 930
zcmeH`u}cC`9LIl>nH9kiSwcv;h)RPe4nCSX#PT4JtLbR)IJcwe#y6z#3aSf)9!+l$
z;%yxW@kSwnZWM)ZydeVHiWX}!?QdxG!)N_2ANcN;ig{#6Ai)s+7(q%#GE!y5mQ{jO
zj5MrhrlNCIcT|&WCe|#b*{*J3-4-SmmeaOT%60^HIHrQgae`8gf*j^igs3uBp{hnT
zopO)5V>`?=nQ1YLFxzIBGSTNY=9rB4oG{nnt~U^b3F->w3Rehk(B^L2>$m$u&+|JS
zzvF-O{o!cJw7~xri2now00G#VJYn()2%o@AE8lw!UPJ@SiC{BRyCfUg+)-YByjskr
zv+Ug{Ji~hAw(%`jAsUlHdvfpXd_GaEWO`qB`!@?~^gbD{hpr>BT&DZEGYhLy?xoZ;
n!ca~nNw;=d4=v4s)H*Z{&Ndrqrwj#{39jU-m51Y}8o>51Tocwt

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/grid/hmenu-lock.gif b/static/extjs/resources/images/default/grid/hmenu-lock.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1596126108fd99fc56226b412c6749c55ad5402b
GIT binary patch
literal 955
zcmZ?wbhEHb6krfwXlG#X4~ou+bjZoeOV2FG$|=q-C@C(jDlf0eD{N@b6W`Inv#*zP
ze=o<1{(yu1+=nJ`ADhB`dOG8|nG9#<aGjhbetACQiFpQR7qXvQ#&dTS!@boE_t!Ao
zTE%s5tK^NX=J$4*KU&A|ax25jZ47UAFg(~S@_4({!~Mz+_p3eFrEz|l%Z&}5mo|hy
zKP3M8nEd<GQr`|U{5-<&|1!h>s|^2dGCVn`{Pc*@>k~$=Pg%ddVgCO)!~fR||KBnE
z|HJVAKg0iLR{x*dJ-;0I|GC%y_pblnMF0Qq{Qtk(|NlOXjV)~*Jzd>>6DCZaK7IO(
z88c?ioVjUP%kt&RSFKvLYv;<HJGSoIw{OqhLoY7&{QtlD+O=ypZ{ECp`}V#2&;I{E
z{Qv*a|NoEu|9|T7<Hv8_y!rp{$>-0XzkU1m_xG3of4~3u@#FvBAOHXT`19w_f1o=?
z!B7qX#h)z93=CNeIv`Jg@&p6N42G*5G9DWiIGRQ-bEs^3`rv@RCy$K9p(kC=rd|^`
zST-*?>B_{iQlwx7E2E<(Ghbe(62oy`Y27&t0f`^nn;9J1SUxr?H8M5pwCs2h(8SWt
zC8Qv+=HXHgep#c0o(mriDDdjJR6ObU=;Xr2&gPqN_0-kZOwH=MQtsX=WoB-cUnB8y
dW3n5EfMAf!nn#R>TRBB^*6i?z@O5CY1_0nG4B-F(

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/grid/hmenu-lock.png b/static/extjs/resources/images/default/grid/hmenu-lock.png
new file mode 100644
index 0000000000000000000000000000000000000000..8b81e7ff284100752e155dff383c18bd00107eee
GIT binary patch
literal 648
zcmV;30(bq1P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0000hbVXQnLvm$d
zbZKvHAXI5>WdKHUATcr^L}hv)GB7YRATlyKF)%tYH6SZ6F)%P+<{wS~000McNliru
z(*hb477vONgHQkf010qNS#tmY3h)2`3h)6!tTdPa000DMK}|sb0I`n?{9y$E00H1h
zL_t(|+NDy@YZE~f{$`WrhuKPySQAA=4|-5UL@Ysj^nd8hi<Tl$@MsV`dGb;Z+LM%m
zQWYucK}8ROc#x`i@=(yMNUG4TnKb)rvb!_mGhUju+aL}zyvH~1ee>S;2Kdj#HUllo
z8f~>&*KFH9Nwz?Ckui3oR;%3`NI(gPUDtho|G}f2_3e8bT8ASerBbE5)1bTYdcFQ|
zZM?C8k+I47`6u~>51*b--<sMnefwrPox%|z#3~VA8rT!({MEUMi{5&CW_IrB`H2gy
z_4tMgnoB$#%Z#H#?9mNm^#XG73uH4!x8#dRZ%LpvPFr8!95M^hF1s<>wCz*ER>uRr
zeV-UkHLH%}72i$a+1i|RAKlWyIlu9^60fuoN4rrzunmYfG3Rj9y^HEzZv5(CEO81y
zUYkzkSk-KQ`3%0SF=Q~vI7Aru=z0O7P{Z@#ja`PhX$8v2D-^Gzc;YIGcnR19E(0MI
z;kZD@0aiO(XrN-PsAlqHZzKK#l1tJ_)zheV5(%VKYS5UK?$7C;0+>qp-G76P-YrWc
z5ZrIlD9FnLDKc3)8S0<<?h2A*h2D^On>dA!cTgY+CR4-a*;u;!NrNF3LWTlP5a1_;
iES|Z7@j-3=)A|j?vD&^)Yn&Va0000<MNUMnLSTaKlp4(d

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/grid/hmenu-unlock.gif b/static/extjs/resources/images/default/grid/hmenu-unlock.gif
new file mode 100644
index 0000000000000000000000000000000000000000..af59cf92a4222e1cb044474c96507343dc07a3a9
GIT binary patch
literal 971
zcmeH`YfF;>7>1uYXA>3Qh}beSb(Ur!W`$ZoRvwlh8h#GSA{v3P9MZmob1&N}#H|)3
ziyhJ(U{)KHf*@)Iy5?}L)|RKuO{O%cx#h;IvM2X1`q0Jo18y$3o31q0)ZQR~04YGX
zfXC<aySlmr0>Ow7l;j1uOz`;`%xPF|1H(H=TQ-Al80O7c-*kEIp@ZM``Ch}Whn7a@
zE<NXmvCv~a;~T43c@1mtV13v35FUldILw(_{hxCFOv2^|*s{Tn4bYw$oi4yHfG$7}
zY%RdHn?P?~*l|AUDckT=#Jr^m-*NODjk`|8zn-Q%)wl{60t~}W1aJp135bBv8cbFr
z)*_w_+AeJ^G~jYW$S%Zi3;u3Lyo}h6zd8_ai^XD+Bqb7wR4SFpWPN>o{qiRYg+i%R
z4h#&aR4TPvt<h*6D&D?S>$O^~PNy46p*I)|Mx)VWGFdDZtJOL&G4XSL3{j3aZnxWK
zXJ;3eLR8p^IE^@iXhU=a0)b#Kw7t0&jYea!SUet2Boc@bilUOqB;u|J|M|xX6jAAP
z03n=6?Mi(Dm?nrZ^SKu7#oi7Bm%1nSA1H5qaf|0_D`c0ZeXQSbMRJ}Wp^ujFWEojX
z(Y1{1lBcW8em3h3o6B)FgQ$TZv?6jQ8yMxx;o>^&qx~ghy5ef_6fHB&ac3`cuq8MD
zSbdMbr>J*|b@#!#g<nic7)16+TaeR~v#+SC^8R%vLv^@wrE}6hS@^iBv3s%Z<STJn
V)*dNPl{y+D_hxx>0h@qxe*x=qGVcHY

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/grid/hmenu-unlock.png b/static/extjs/resources/images/default/grid/hmenu-unlock.png
new file mode 100644
index 0000000000000000000000000000000000000000..9dd5df34b70b94b708e862053ef4a634246acc8d
GIT binary patch
literal 697
zcmV;q0!ICbP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0000hbVXQnLvm$d
zbZKvHAXI5>WdKHUATcr^L}hv)GB7YRATlyKF)%tYH6SZ6F)%P+<{wS~000McNliru
z(*g|-5GqRX(<T4_010qNS#tmY3h)2`3h)6!tTdPa000DMK}|sb0I`n?{9y$E00I$7
zL_t(|+O<+kXcJKsJ#X@vX$DgzRtu)032sWn(2aDZF2s%9x$nx2E(Eh_#cah*ARsmy
z7lH^8f(R~zx^@vzP!KFpsnQr*lbO+JW+t8A^S+5z(Aq4-3wPe*-E$A;o;$!l1{(#a
z)oK%pqAWR%GdCCv+)k(SkaNCJsZ`cQT^dD@&*vZbzJEd2^*%+SP$<kxlJu-xF7F*l
zP_Nf>wr!towOa3bz1}%hRS$Ze*UV<KIZe}Uj3j8cjcmVfu^<Ry)oS%csZ=s)l<S#H
z28^*&yAp5?_PHyufh(MfYd_x&!)Ve7oN{WLfWYINvn!k*d(8Rld;YCx;Z5GXe5Sgr
zZKjZpZDdw&;e@~@5=o293`v3fOM!Os`OCWps!y)HJ@2lBIRrB)Oiafo52;CQZ5jL1
zAC6iw9tr5;;sOuDP$-C6<Kp9QtmKQcDvE_MKu*Kc*5Erje5;H3nLDry51b(u?VT~+
zXf*E2vb=BmKX6v3L*>Xl27U>F*+kf-M;&k-s!`fDVCrZezlf>dy^3`BTW$z=L>EIW
zO>?T0B!*En2q>u<@}12dniz6|2?Qm9qx{jpBiX~P{FQ(#@rTzxF``)#1i>x@j&6Pg
z`g9}R!YZ+#Bpq}r3e{~P5}$S=h*)1OVUmx@SN9wqKg;4@^1P3fXJWAV73+q9*IOoT
f&)vjR{Ezq!d`RXXnklE900000NkvXXu0mjfw|6I-

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/grid/invalid_line.gif b/static/extjs/resources/images/default/grid/invalid_line.gif
new file mode 100644
index 0000000000000000000000000000000000000000..fb7e0f34d6231868ed2f80b6067be837e70cac44
GIT binary patch
literal 815
zcmZ?wbhEHbWMN=tXlGzx_z#4mU^E0qXb33&WMKq(T?a&f@&p4150I4La9D7liGhiU
G!5RR1hX@}4

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/grid/loading.gif b/static/extjs/resources/images/default/grid/loading.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e846e1d6c58796558015ffee1fdec546bc207ee8
GIT binary patch
literal 771
zcmZ?wbhEHb6krfw*v!MQYQ=(yeQk4RPu{+D?cCXuwr^cCp}%d_ius2R?!0jBXnAQ)
zOH<|l|Nj|aK=D7fpKD04vtxj(k)8oFBT!uNCkrbB0}q1^NDatX1{VJbCr|b)oWWMT
zS%hVC<e5zgOcIlpc`kLa*!o;M_#F$wy(Jnw%^xoO{@do#FR1axvu?^Eg~=WXT$f%h
ziRw+0<X~ye?)5wTu<&NHn6>&#9~NwO_yO%;SvZ5MdNYf|QNy-I*%yJaj+uTdt+qbZ
z4E`Fzb8m}I&!N8OKmWEcCmrLs^Hs&3i)mt@hQVdcqghkaBs*D}tG_lKew4?rTjzIZ
z9tSone1TS+TR7tu^CunG)Y7Jg#sw#)sG9C!c0I%LEzP)9;hqRf&)s$D8d5Db{TBs%
zgl0~5QQ91luq4Q9tJgt4QLbaxZvAaKeCM9!oy85dg4k>TdBSVqjHub_PG=PO&J-rx
z7oYTuF+kH|tG-UK+EkUhDjYx?zW?T|lx><M;PP#XNUM@C2hfJD#O#hF$!^x>+aOQm
zzL$v$zBLo4Cj=G&tw{H}dW?tlTkS)SY4<#NS92z*EY-MMB6Ftp`R=*=*Ev7cS+X%W
zMCur^FdlokL}1Y+&aasU2J4#EOuNlnb9CmqgLCGTSY!1BD42pkHY^XidQ5=>YQx%`
z*%Pm9D!CkBu&tMWm(%-ejACVWGS2RX5=QOJ$1*tr7F}F+*-OA+Ly&Isg|AEuUYicA
z#%IG6kPXkHt{zk2M6zK@Vu^4Q(1zE$?yY6M!^&jQ+2^E?!p7{g*|X6}vuRC3p@jk0
W117c83?+LXEZI4G$p&LV25SKE>nb+@

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/grid/mso-hd.gif b/static/extjs/resources/images/default/grid/mso-hd.gif
new file mode 100644
index 0000000000000000000000000000000000000000..669f3cf089a61580a9d1c7632a5b1309f8d0439a
GIT binary patch
literal 875
zcmZ?wbhEHbWMYtKXlGzpd-4Cei~rYO`oH1Q|BaXbZ@T<{^OgTwuKwS8_5ZeO|94#b
zzw`S4UDyBbzVUz0&HsCE{@-`&|NdM558VEL<nI6D_y3=I@c-<i|K}h7zx4F~)#v|j
zy!e0X)&IM%|37&9|MC0(45MH)1O|5qDE?#tI`BV(4#=6HJi)->!C+hQ;zA>HJFm1!
z#)%1x%x&D_IuR=Z8kt%-g@N({4h;>A%p3w50S6iynb`#tJSI3aHnDO`7-U>H(Adn*
Pui(%j;MmmCz+epk$!Kdz

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/grid/nowait.gif b/static/extjs/resources/images/default/grid/nowait.gif
new file mode 100644
index 0000000000000000000000000000000000000000..4c5862cd554d78f20683709d0b450b67f81bd24d
GIT binary patch
literal 884
zcmZ?wbhEHb6k-r!XlGz>`0sG^=;33>fanOrC>RZa5f%c9KUtVTUe*B-pgh6A5y-&E
zA>*-O!NDdb7MYkC1`iK4@=0rzWCSQRbnt4Ywd@dF=+rMIANR*%(jvDmG5%#TnwOp&
kU}SchrxH17*#QO%<_$5P0_ncfbgjEYUKG8!(7<2~0Pia+WB>pF

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/grid/page-first-disabled.gif b/static/extjs/resources/images/default/grid/page-first-disabled.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1e02c419f5e73fc1ba5770df0448d44adf856288
GIT binary patch
literal 925
zcmZ?wbhEHb6krfwXlGzZPfyRu$tfx-s;H=_udjFb@6g=b+}hgO*4EbE-rn8a-P_yS
z*VotI-#=;6q{)*fPnj}h=FFM1XV0EDZ{Ga*^A|2$xOnm6B}<kpU%q_BiWMtYu3WWh
z)!Mad*RNl{apT4<TefW7x^?^Z?K^ht*tv7(-o1PG?b~<q<jK>gPhY%v@z$+dw{PFR
zd-v{x2M-uV!Dt8!L<lJUWMO7tU}ew&Sq{n*3>;Mq+#E6<8x|aFW_O<QBH=@mqkxW#
z&>4e+3))3Q*|Q=94?bWMk!6jGP<+(r$fM>Xwqe7gmNr&4?FkK$jz>EMMFb>zJ~*Z~
zvMU=|C?p6pu`gocw@ENKkig96%Ptk5a9{xwcPOV4M}k2k%Q{v@i4+D0okN>5F7xql
HFjxZs_zi%(

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/grid/page-first.gif b/static/extjs/resources/images/default/grid/page-first.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d84f41a91fca3a0ccc1107a78ffbf7b62c527afb
GIT binary patch
literal 925
zcmZ?wbhEHb6krfwXlGzh@tC0DJ54uuo^j+di-h&|8QW#kzUrr(*H68ylXk-(>4ag{
zZHv4+cEz{tOYf>=ebOm>XHxXSuI{Hx{sE`lD_*51{Hrf`RNeQhe(3PuA-LgMaLe7$
z)_W1{_x-!R`FH*eY<?Kt{vfR7Wn|Z*`0fYsJr5Ilo}~7_&Ybu-W6IO)$*=RLy~&;V
zEPc-J%vt|4=KL(2^}KHWyQT%tTi5;XUHzeB-T!G@-Y?wuVbR|IOZWd@b>uz6C>RX^
z>V<&fPZnkd21y1TkddG~!N5_)V9X)ov0=f%X7<Dr4v7XWj$&3aLMjUnCUi-QvQIma
zcyIxyv@C1ciHD1t4how1q&=9Be5{?5&GAUXPDb}$aUm{=JsX_T+t_q%9262RG;%Fs
w;&-VqIH1rh?8~lYpm5*;lVB*P5=VjoBilMwMu{a14myW6XI$pv;b5=^0JnOQ-v9sr

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/grid/page-last-disabled.gif b/static/extjs/resources/images/default/grid/page-last-disabled.gif
new file mode 100644
index 0000000000000000000000000000000000000000..869706777ce1e5c8350e0086f6febc18aa2bf814
GIT binary patch
literal 923
zcmZ?wbhEHb6krfwXlGzZPfyRu$tfx-s;H=_udjFb@6guP*52OU-QC^W+uPUI*Wcei
zY0{+0lP6D^GG*q>nX_llo;Ppa!i5VLFJ8Q4$&%&Em#<i{V%4fuYuBz_zkdD3jT^UY
z*|K%(*6rK3@7%d_@7}%p_U$`)^5p5$r!QW-c<a`!+qZ8&c<_K>6pV(z;0OW5pDfG_
z46F<~Am@Pc1OrC}12>0^$A$$5o7t@;-Y_UNJMxKf6&W}lT+k*Y$eyJjc<@21kdg?`
z9)m}X2f37ODg+`IICZeGskVGL@ZdlLlaQT?!H)&bz6?zAIR*(A8e5nhSgkHN9C*OQ
m>dC5ipkT8?(+Va*AAy7q4&fY(0%9#)p=)k#W@Tbxum%8@3U^Ha

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/grid/page-last.gif b/static/extjs/resources/images/default/grid/page-last.gif
new file mode 100644
index 0000000000000000000000000000000000000000..3df5c2ba50b143fca7d168d5acbcc4404b903ee8
GIT binary patch
literal 923
zcmZ?wbhEHb6krfwXlGzh@tC0DJ54uuo^j+di-h&|8QW#kzUrr(*H68ylXk-(>4ag{
zZHv4+cEz{tOYf>=ebOm>XHxXSuI{Hx{sE`lD_*51{Hrf`RNeQhe(3PuA-LgMaLe7$
z)_W1{_x-!R`FH*eY<?Kt{vfR7Wn|Z*`0fYsJr5Ilo}~7_&Ybu-W6IO)$*=RLy~&;V
zEPc-J%vt|4=KL(2^}KHWyQT%tTi5;XUHzeB-T!G@-Y?wuVbR|IOZWd@b>uz6C>RX^
z>V<&fPZnkd21y1TkddG~!N5_$V9X)ov0=f%X7)sh7DeV(M==$yO&0_YC2+|IvM<}Q
z@ZbVY8B+}&lf=VK2L;XIwg}8jWa;H%bG(qjsCck}M<L0_pn}oOmw`!tjYh%+#ts$-
tR;vKV0}9Mso~%X|g_|EVtzZ)G5J)g^4Ci4K5NqiQU2}7@Boh;ZH2`<ekBI;P

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/grid/page-next-disabled.gif b/static/extjs/resources/images/default/grid/page-next-disabled.gif
new file mode 100644
index 0000000000000000000000000000000000000000..90a7756f6fd77f74fd2b5786dd3586b5c50c8d89
GIT binary patch
literal 875
zcmZ?wbhEHb6krfwXlGzZPfxF?sBrl2(B9tO-QC^S*Vo_QKWWmWDO0A*oH=vh!iCG1
zFJG}@#i~`SHg4Rwb?esc+qduBx%1@7lc!IgzIgHC?c28*M!{$Z4A~G+{K>+|z`(?y
z1M&eVPcU$JFtBpScx+g3u$hC^!6V}XBXb*zY)A!1phGj4Fjq*7gQ62lFOR54M?r!E
kLmQ{U6cz@-#wJD`MJWvdVWq}d0_-7oPHt8|*uY>70KTb0MF0Q*

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/grid/page-next.gif b/static/extjs/resources/images/default/grid/page-next.gif
new file mode 100644
index 0000000000000000000000000000000000000000..960163530132545abe690cb8e49c5fef0f923344
GIT binary patch
literal 875
zcmZ?wbhEHb6krfwXlGzh@tC0DJ54uuo^j+di-h&|8QW#kzUrr(*H68ylXk-(>4ag{
zZHv4+cEz{tOYf>=ebOm>XHxXSuI{Hx{sE`lD_*51{Hrf`RNeQhe(3PuA-LgMaLe7$
z)_W1{_x-!R`FH*eY<?Kt{vfR7Wn|Z*`0fYsJr5Ilo}~7_&Ybu-W6IO)$*=RLy~&;V
zEPc-J%vt|4=KL(2^}KHWyQT%tTi5;XUHzeB-T!G@-Y?wuVbR|IOZWd@b>uz6C>RX^
z>V<&fPZnkd21y1TkddG~!NB3cV9X)ov0=f%W)9;69vKr@Ionu*A5?G{Hgn3DYJ|un
wK6d5q<#D`_!KiqUp-ntt3Jb$U#ts%8MWY1*!jGC}2?&SWIk{Q=U;~3S0KQg&YXATM

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/grid/page-prev-disabled.gif b/static/extjs/resources/images/default/grid/page-prev-disabled.gif
new file mode 100644
index 0000000000000000000000000000000000000000..37154d62406ddc064dba311b95f554e49ad38003
GIT binary patch
literal 879
zcmZ?wbhEHb6krfwXlGzZPfyRu$tfx-s;H=_udjFb@6g=b+}hgO*4EbD-QC;U+t=4O
zY0{+0lPAxdIdk5;dGqJbU$}7L;>C-XELpN*#fp_HSMJ!cW9QDDr%#{0ef##^yLTBz
z!Dt8!oe)s`$->OQz{;Qlaxy4SFmU)VaC69bY*=uxnS<NUBVxiK<~C;Si~@#@2UvK;
zq#UL!V030><xx&KP{7E<)WNG4kl?W3Q6n2STZm4ALSw^BRsog+kqivy=R5GSu`pNz
E0Q^5n9{>OV

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/grid/page-prev.gif b/static/extjs/resources/images/default/grid/page-prev.gif
new file mode 100644
index 0000000000000000000000000000000000000000..eb70cf8f6a3b7f524bbeb3656d875a823b27fd7c
GIT binary patch
literal 879
zcmZ?wbhEHb6krfwXlGzh@tC0DJ54uuo^j+di-h&|8QW#kzUrr(*H68ylXk-(>4ag{
zZHv4+cEz{tOYf>=ebOm>XHxXSuI{Hx{sE`lD_*51{Hrf`RNeQhe(3PuA-LgMaLe7$
z)_W1{_x-!R`FH*eY<?Kt{vfR7Wn|Z*`0fYsJr5Ilo}~7_&Ybu-W6IO)$*=RLy~&;V
zEPc-J%vt|4=KL(2^}KHWyQT%tTi5;XUHzeB-T!G@-Y?wuVbR|IOZWd@b>uz6C>RX^
z>V<&fPZnkd21y1TkddG~!NB3eV9X)ov0=f%W)AK)kBA8^Y;DZmPc|?ZI=9Q{X*oQZ
zkbJD2lgIqQijPiCj2*mD6%7sx9yN0CvxS^laG;@KrlbJNftid9=jS`{vav8&0{~Hw
Bh1385

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/grid/pick-button.gif b/static/extjs/resources/images/default/grid/pick-button.gif
new file mode 100644
index 0000000000000000000000000000000000000000..6957924a8bf01f24f6930aa0213d794a3f56924d
GIT binary patch
literal 1036
zcmZ?wbhEHb<Yy3JXlG#XO>A}e@6f*BUeEG-{mbu9UVeYtn)@A#A9pQ#+`IB&@5(0=
zRzH}y`r(9CPbRH>G-dUZ>1!TLU-xM0+NU$tJ)FJ%!HkVh=4^U8ck{CaTb?f6`F!=h
zms^g%-go-h&Rf5C-u=Dz!SB6~|L%M6=kVF*ht9t`fBVhRyMGQn`g7pPpQDfe9DDTl
z(5wGPUi>@u`u~ZCzfU~=ed^KQvyc9qee&n@+yCcY{k`z?&xIF%F1`GB>D9kWZ~k3*
z`RB^(KUZJ<z54p^jaPqey#90J?Vmeu{@!`}_x8vCcR&2Q|KZR5PyZf%`uFJb-^XA6
zKmGRq<*)zm{`~*+@Bg>||Ns8~&oBx`LjW}d6o0ZXGcYhR=zxSld4hrCB?B{ujK>Cr
zPF^XagaZi+ome=9<V+k4lA0&0c~8;sY+BMGplDxopkcv6PGMCKE545x7rXOG8K|Y4
zs7UGXRWM0<(Zkq$s8z+Yi$zjO<yg14Zr?AKC>Dmm#SD}7El7CSA;=KXekY^RG>e-{
zuuVYm(pR@|5zQ!{2@Y3s!WlFkEt+xRKzr=&*z_|U*@qgNWbB##KVWn?)_GXn$>4`}
z#Rk5^9iqw$CMLJ{owi8Xkg$-crJaR6?!tz^#b0>Dw8Q57c+l9;Af%gcqV6G6E2r=p
gYaW5X0}L(q1$Yc3_9+}>;A5Sv9e-|5r2~UC0H_cnr~m)}

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/grid/refresh.gif b/static/extjs/resources/images/default/grid/refresh.gif
new file mode 100644
index 0000000000000000000000000000000000000000..110f6844b63f04ee495cb6260aadccc5c91f3245
GIT binary patch
literal 977
zcmZ?wbhEHb6krfwXlGy$h}b9*vsWVToJh$rg~Ib{73bBfFRNEyRjIzARe8a@{G?U=
zS=*`;&XtFqYK{lh9g^y}Bh~OmX2K7phHF|4mvmY#YBk-m>AI%V{Zwn}AFb*CO}Zah
zE&Ol0{J&TG39p`WUhP-C+HU)IUUQmo-)qvfh`zI76Yqx1zV0&XfzSMxLGvGbFMQ~+
z=(Y3m{~l}q`>*>SwD@7vl2_py{zq>5pE~<)_MEHvb8Z#%9?x5TCvVmLlErrtmc7Ye
z^(1@q`{eEa%QikQ+y0|u-~Un|+W)`u;QzYA|67+{YhHeP%Er5`D<5=iecZe0VgIfd
z6ZSoyyYE@Yq4%wa{&t-D-*@u=lr#UQo%uiG{Quc!{>?l8fByOZOAkC-c<TMyLr>Nm
zdAaJ$n+2EuFS_`D;g$bOF8yC{^Z%AJuQpuyyy5=;?RWm~z4m$Iga5mp{NMZF|DH$x
z_dNZ7<o1^%cfXyx`}x3=|3@GFKlkMOwTEA>J^Oa?<^NmHzCC{Z^XcdR&%XSB{pru!
zuYbP%{{Q3WpTGb9|NHkJ2pC4ez=eR~PZnkdh6V;5kP|?8f`MZl10$!5$A$$5)il%s
zei$5ka6nGTs361eNrP~El!A@oXXa)eCC+CvI2<Rq&uh#x<LG2M(8biwJe^@?&{7}f
z84X_~A|E{Ep2g0zdriYZrB*IW(<2)iH>;iHZM67s#E^NJN1wTgOT&i;3Ec;TOAjTi
zTyP{|exu5jn1!2~IsF{O7w}9FI^s0Dv3!z%j9{}Lqr9=eiw8w24r1-;JbMZ*Iy$pR
TTfCj3pwPfLY5NRjCI)K&rUX|l

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/grid/row-check-sprite.gif b/static/extjs/resources/images/default/grid/row-check-sprite.gif
new file mode 100644
index 0000000000000000000000000000000000000000..610116465e7e34fe6ec137d674a5a65eb44f3313
GIT binary patch
literal 1083
zcmZ?wbhEHbG-BXmXlGz>j-2EYIms=0ihImdkJxD*ann5GrhCOt_fD7*mN_@JU|~Yh
zlH}5*DP>F3%9rQXt#bJ9;Pl_AtZj8)e}DJP-90mRO_;lP-R7O^x9r-qeb1Jidw1;K
zKX>_o#p_P2-*JBTzJq)AAKI|<;`aSlckaKi>)_Qrhp!zxeDu(fW5<r4ICkRH(UWIS
zoj!Bs?AeoNE}TAp_3ZhJC(qwKbK%<Ai$HY!%9X2Eu3o!(_1cBYH!fVcdFkq{E7xyd
zy>aL2&AYd5-M(@A-tF6WZr{0c>(2e#ckkc1d++>}M|bZ(ymSA_y$28PKYDua;miAv
zUOssE@WI2!4<9{x_~`M2N6#KTe)9Oq(<e`#K79rT&w=0t5WEC|S0L~j2;RJY0|sxw
z;N83T@87?A^Wp8gj~_mK_yh!>zkK@q?aP-hU%!6+_U+q`A3uKn{Q2YOFNRSt)Ivb<
zCkrzJgCK(r$l;(o!NBpKL779wW5a@j%^bpFa}I1+c({#=)o#uSgQOPDOrxwjGt!z|
zdt@$e$lSc_@o^LJpjAf}JZwJMArZPP=b&Sgps8HqqLPD`kM_zs`Roai*qqK|#L3VT
zF?sR}KXId?9~w-oM=!LvF0}h7u%L13YL4V{2NpVaOx6sKXt0%-%sxprU4%n}F=ee|
zk7OB3V$o4<2?NtNdOnMp+}aIPI1Cb!oedm&q`N#WDjn;2s@TV#Wb?^^L6Du@WzE4m
zBH2;`fg2hOC%gI1Qk$u|ta4(CLnAZyojrZEhG#jire0bj>DOw0Oe9%D!a<-Z<>RHq
z%WD>VO!l0r8@nULP;YPhBrdTFH4+!k**<Z5kz=|l^YF2)ZePkZ?fz)oUwE{E!5RSE
C1AUGF

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/grid/row-expand-sprite.gif b/static/extjs/resources/images/default/grid/row-expand-sprite.gif
new file mode 100644
index 0000000000000000000000000000000000000000..6f4d874f57b160bf731c057d8bd4f85d846ba4a7
GIT binary patch
literal 955
zcmZ?wbhEHbG-BXmXlGzB^h$R6?=)rU-Z?<D_Sn*`*H-SmwfESuttTEI1A<G>uiX3i
z{QdXWpZ@~^!zdUHf#DSbia%Kx85kHDbU@w$<p~Ck84S!EG9DWi9Bk$g)`~f?Vd3F+
z0a-l-hr$C4j7)qEb0R(_xplC}bcoz+U}Tt}>^aLtQ^>)SRb9SKCQ``Jr`=eVAz{OT
z183VTy}$iAS<v9e;KBH#CBsDX(o%j_3k}YM#wI2gaWBy<QEeASCq@m22c}xrH>S#R
nB^X?DXxtttx-R#(S?*zGzsXrO9p?HCdj*-f<$NLv92l$th`d^G

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/grid/row-over.gif b/static/extjs/resources/images/default/grid/row-over.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b288e38739ad9914b73eb32837303a11a37f354a
GIT binary patch
literal 823
zcmV-71IYYGNk%w1VF3Ug0EYko000010RaL60s{jB1Ox;H1qB8M1_uWR2nYxX2?+`c
z3JVJh3=9kn4Gj(s4i66x5D*X%5fKs+5)%^>6ciK{6%`g178e&67#J8C85tTH8XFrM
z92^`S9UUGX9v>ecARr(iAt53nA|oRsBqSsyB_$>%CMPE+C@3f?DJd!{Dl021EG#T7
zEiEoCE-x=HFfcGNF)=bSGBYzXG&D3dH8nOiHa9mnI5;>tIXOByIy*Z%JUl!-Jv}}?
zK0iM{KtMo2K|w-7LPJACL_|bIMMXwNMn^|SNJvOYNl8jdN=r*iOiWBoO-)WtPESuy
zP*6}&QBhJ-Qd3h?R8&+|RaI72R##V7SXfwDSy@_IT3cINTwGjTU0q&YUSD5dU|?Wj
zVPRroVq;@tWMpJzWo2e&W@l$-XlQ6@X=!R|YHMq2Y;0_8ZEbFDZf|dIaBy&OadC2T
za&vQYbaZreb#-=jc6WDoczAeud3kzzdV70&e0+R;eSLm@et&;|fPjF3fq{a8f`fyD
zgoK2Jg@uNOhKGlTh=_=ZiHVAeii?YjjEszpjg5|uj*pLzkdTm(k&%*;l9Q8@l$4Z}
zm6ev3mY0{8n3$NEnVFiJnwy)OoSdAUot>VZo}ZteprD|kp`oIpqNAguq@<*!rKP5(
zrl+T;sHmu^si~@}s;jH3tgNi9t*x%EuCK4Ju&}VPv9YqUva_?Zw6wIfwY9dkwzs#p
zxVX5vxw*Q!y1To(yu7@<y}iD^zQ4b}z`(%4!NJ19!o$PE#KgqK#l^<P#>dCU$jHda
z$;ryf%FD~k%*@Qq&CSlv&d<-!(9qD)(b3Y<($mw^)YR0~)z#M4*4Nk9*x1<F+1c9K
z+S}XP+}zyV-QC{a-rwKf;Nall;o;)q;^X7v<mBY#<>lt)=I7_<=;-L_>FMg~>g((4
z?Ck9A?d|UF?(gsK@bK{Q@$vHV^7Hfa^z`)g_4W4l_V@Sq`1ttw`T6?#`uqF){QUg=
z{r&#_{{R2~A^8LV00930EC2ui0096U000OS0Po$iSC8I2dGX-ATgb4XLx%wY06VC`
Bj$r@*

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/grid/row-sel.gif b/static/extjs/resources/images/default/grid/row-sel.gif
new file mode 100644
index 0000000000000000000000000000000000000000..98209e6e7f1ea8cf1ae6c1d61c49e775a37a246c
GIT binary patch
literal 823
zcmZ?wbhEHbWMq(KXlG!!`QrEOm%s16{{7(1pGR;1JbC};*@r(bKmL9F`S1V#{~1QX
wXb24J5K#Qd0`%X11|5(uL3x6KLxe$C!6IP+Ln9*-6GOy_4GW#y85tR@0bQ{sTL1t6

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/grid/sort_asc.gif b/static/extjs/resources/images/default/grid/sort_asc.gif
new file mode 100644
index 0000000000000000000000000000000000000000..67a2a4c669fc5821a07fc486228d626e16d6ad9e
GIT binary patch
literal 830
zcmZ?wbhEHb<Yi!GXlGzZoN(6Rzr*8qzZpisXb6nF5K#Qd!py+H$e;uAIw(&ta7Z&S
hbMP=EEO2aQ5R!A55%BO(n*cx843CM64mL1Y0{|rI66OE^

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/grid/sort_desc.gif b/static/extjs/resources/images/default/grid/sort_desc.gif
new file mode 100644
index 0000000000000000000000000000000000000000..34db47c3b1eecab2d3873ee2fc556cd3a6e322f9
GIT binary patch
literal 833
zcmZ?wbhEHb<Yi!GXlGzZoN(6Rzr*8qzZpisXb6nF5K#Qd!py+H$e;uAIw(&taL55k
i2@ipW1_lm6E}aU4#6zuYvR)!L0u~+a5@Kdzum%7{ff3ID

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/grid/wait.gif b/static/extjs/resources/images/default/grid/wait.gif
new file mode 100644
index 0000000000000000000000000000000000000000..471c1a4f93f2cabf0b3a85c3ff8e0a8aadefc548
GIT binary patch
literal 1100
zcmZwFZA@EL90u^)S14;kcS~P51JcqXyBK7YjR|$m*3qt)1nqFnf*+(nyIT_zZIrbc
zP70+hE$ePOAcE2K4FU;V;KM+=xUiQtnG(k(Qx;;(oQVNl47kM11c$9(j7iV=cuw*=
z&;L26aeaM*8AVX!4nUmF3luezO5JukyN8Fbj*JY)<FUCpDxJQaNW`ySU!ItlSYBRo
zIJ$j4&-(g3kH<YaI+{-3q3Lhu=jVop!?9R2nf#Kb?|Hog`}_OI|CeI_z-zj*Z=BK^
zb+y$sEJo&3@fVweAONY#-poD&;n*S-!7khAH+BmDY(}ZG>E9#Hd|0*@ZIv{eO*Nb#
z12yCIrOhLLJlbn33DTB}t(F_b2bV4~y*j=}%v9m90(t13QX1^b_==P$D+H{5*5Mu?
z8<YWo;GEBY1&T!BQK0xwXCMqjnAr%YGou4t2y@PyRzL5TthyGfwkF=Of4;|C558C{
z6JT7WWr2j~28PmdD&J;)Tj=1l^nDuHZPJYtZ0{NxO0c1lQ(r$gnrJ9R)_&N{SfHl|
z2!-ca0oHja5LD-MyE5*0jKrL?Z>gKY>BXXf^7@!+sCzFj+>XgJsqfc(1Ya(r=#J=3
zlZtj9{~(p*xA$9X2mMtN6e0bM#^36uHAhJ9Q&;+@HQ_ThCJ=yPPcaaStzMs1DHP_0
zvw_E92pgO+s83$0SnZp{u*pvQ$A3#Rftg(VD(=52XCTzUftd4T-22$PQrgIR*gHx4
z{43C_yk?5j?(i$Mual4dFf?{<9Wn}qfaB%>iNwkdu&q!m&h2IcZ$2Th!C8}<*_&Pr
zyKl`OZw8N)3D^4?RK}UoD=o00gbKYHy=yv32mZ9Dl8aIS8x^Z$2?NwcBLzFmZOtoW
zzN62&u*QDIz{Fy}^YAXY&Txmg7ATSAhAr8K5fZbFZ*SFa$_qE2L|VVFHOI{wKE8B_
zGXV2p-56OO`rc4Z7g3zbj)2_3YjK$((`OUqD%*mgvS`YELYsVW1or<Ji5ibxaAYiy
z=gk9rKEVhw2pD`JXUG4J`ezawn{8F=L+M4NSK^3j$#Wa9kJJEJ-c-|b-w~wbz{b|@
z8l-rY)_}?(Xrs~{A%BGk9SDaFM(<Ns_Gi0#G;t%r?qy<5AoWN;>1)YW%;)D$oE>#r
zQ3z|D(W$Eg`c?NY^+fD&+nctrc25@u47U__J8-QW7NqK!$T9C@*SpuaHyFRRpIGae
rj_Lao#za}+eaj_<`F9!mRdtBiaY8;H<a_dgNJKC%GYNP(1HbeS!vuHT

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/layout/collapse.gif b/static/extjs/resources/images/default/layout/collapse.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d87b0a9ddd1335a6e7a0b97d9481520f30b821c4
GIT binary patch
literal 842
zcmZ?wbhEHb<YC}uXlGz>`0o(Vu;KK>|7RZkKlk|m`6vG`Jo$g|>HkYl|6hLg|LXJq
z*I)d<@$&!8m;Z0Q`hVy3e}+*o8Un*81QdU=FoV3K10q0qf`LPwfssSTW5a@j%?wOD
iArS@)&h5PNMll*66^^tBbH?qtQJ{FJU!IwX!5RR^E;%az

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/layout/expand.gif b/static/extjs/resources/images/default/layout/expand.gif
new file mode 100644
index 0000000000000000000000000000000000000000..7b6e1c1ef82bc36104018936848c3ebfa6e05e6b
GIT binary patch
literal 842
zcmZ?wbhEHb<YC}uXlGz>`0o(Vu;KK>|7RZkKlk|m`6vG`Jo$g|>HkYl|6hLg|LXJq
z*I)d<@$&!8m;Z0Q`hVy3e}+*o8Un*81QdU=FoV3K10q0qf`LPwfssSTW5a@jO^j@6
iCK3sWhnx8sU0hxiEIiaD!s-`t;^Ttj{VdE(4AubXYdZG;

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/layout/gradient-bg.gif b/static/extjs/resources/images/default/layout/gradient-bg.gif
new file mode 100644
index 0000000000000000000000000000000000000000..8134e4994f2a36da074990b94a5f17aefd378600
GIT binary patch
literal 1472
zcmeIx`%jZs7{KwDTLnZd*hMh7R3%&{VK|xh5d@TrMjeTpnq?_&b8`}Bh(kowLJ^R=
zwLrP_Mz6F*N-1{`N?)K@6i}uD1>V*|OIv8)A|*;9JN<2c#7;i>=A7rpCpmEmrw$)U
zc7mcXc@UIVGnG~gOy34*)9Li-becMyuD$~>)ERVj219+9F_Xbm-(}8ZvefrjGxzFd
z?gQ+Z2W-&U2kcoQXO_sF&Em{uap$rD-W-Vsija6n4j*~Q*W?J0hYp%tpk9;bpv@I(
z@`Tz)B2B(fn=b+vZGl)@(4Z|8YYQ8+MGfzZp1v;z8bNg>jk*$vu2iBclgyVj>B^es
z9|O{PvUGvmyzs<9PmwK9WcqTTMPJ^kuV~R%wCXE?Ha*qBP}OFjwi~K|4nuYOVl`;T
zVhzx_SPOK48f&|ZG@#o^cQDa=jErs*qsPQ}W@7f3n4r(hETGq1*K1~j_L<p$+{|%U
z;`W=l{YyMRvBXy_^WkNIgGDf~Tt8qD0)rOOkVQ0T6%AR%fYREaL>q?Dr%LqcFxvPW
zut}by5*6B{LZvEO(+Ju$Vv_<dY|RcU%`a`T7b~)tD=nidt)rkHT7j_-ZNT`4_OaFW
z@zsu3fW7n8YA5JxdlxWa@19ue`Nt0ZfBv(9-5*`SYXb^(%p89La^HYXd*I@QOgV||
z^OgS>!sOuZvAc4ePkK}Mg^X|R8{wv3g3jV&Qm0~*o(w;!4zGtP^}q4TE3f=4jcq2s
zNTj41IT7{z(FAgK^iIzZ@_2j+Ir8!+!Q<EbV&8-du@}bcM31C_(QwPYx){PXzn!Pw
zoM$!vvDy2ws-le9M$&Hej6H;9cBQX;o?IU)or@&8tZ8DXqjW|7n&HyO#dGwbJInEd
zF@B{q6?JK1@(jOOKYD8+|I6><N)}(IY6T@Lyl-pY-c&2;OT6NxgDI(|t8Cs{^<3Xu
zjvpOUj2=*qQZL;Iyi=tgQx#Q3<`(_E|J^{&<Y(^sj&P(We`D<xH*-grp-nKCO)soi
zyDU}qMsIjltgkj+ocxPhun_{CJuyH`!Udnixkt0`xN{K(n1nqlhjY$EBqwjjg|Rd~
ziMOb59zHM&&X4y`);@~!WnJ+OZB=Tq;Xb?fdPh(A!o`O%PH@R_XH-!dh51O@7W-*T
z@i^WtQIL;E43oB=U%<~(jv$2j@*ifI+$}$)U5nX5coU_d9-v%Xs5+oz^1Q-jeu|p?
z-FSWN*X;y7ElkYR)Az}cpv^>#r@%9(ju7k_5|Ghf7eqx2?7%YoH4jP!wx7HA*Q43)
zwFOW=pP6ly3pn=?dHpWVl+z~h4aA7q3Dbmfk>A9h*D=1j0=ZkaJtNDl4|Dy58=OQ4
zb=w|rEX#G|6q4dPk_gFV6VcYbmUmazi7x6i6Xb&As-j$U2PJ(S9-JDYvw05^=DZ2M
z-q(%65iC7!Sf=Hfs~2MFb#cc_ASYbPO$Z9ewDx-)GFuhcxKI?v{g{Fd`2H?N2mNoG
a(II?Zs7)DAnPM9b=8J95L)rdV=-9sjoxm#q

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/layout/mini-bottom.gif b/static/extjs/resources/images/default/layout/mini-bottom.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c18f9e34ac1f4d06525592c5ec25783921e7ab1c
GIT binary patch
literal 856
zcmZ?wbhEHbRAyjhXlGz>c6N36?{M+r#W!!>FpPrH5Ex-0p!k!8nSp_kK?me-P@Z7m
zFlAunknz~C;9xU5Gl#^14GRyqF(|p!cuZW_z#t(WR-;k)_;9y`aa9RNLW=VQMPsFy
Kokpn+4AubBJRUOu

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/layout/mini-left.gif b/static/extjs/resources/images/default/layout/mini-left.gif
new file mode 100644
index 0000000000000000000000000000000000000000..99f7993f260b374440c5c8baa41a600eca99d74d
GIT binary patch
literal 871
zcmZ?wbhEHbWMxohXlGz>c6N36?{M+r#W!!>FpPrH5Ex-0p!k!8nSp_kK?me-P@Z7m
zaA9EP;893e(9p!fE+S&!pm?~AUD|4jgy5sYono4CYdSV2yD|teHi#$`Jz<zAZ@KEu
aiJ--&dkk#zd{zV~IJdAA3h{6-SOWlJm?6yo

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/layout/mini-right.gif b/static/extjs/resources/images/default/layout/mini-right.gif
new file mode 100644
index 0000000000000000000000000000000000000000..5b13c5a8b91b86e33d5def2ed29b4e348a5795a2
GIT binary patch
literal 872
zcmZ?wbhEHbWMxohXlGz>c6N36?{M+r#W!!>FpPrH5Ex-0p!k!8nSp_kK?me-P@Z7m
zaAja+k&tj`IMB$%CgZbW!-Ix)HhHZSi@+q84iWvZBN>K^-5Dep8%#8W7*0-Pa>$EW
bxpC?7J_E~BDJKIG4z;p#3-JgDFjxZsq+}v;

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/layout/mini-top.gif b/static/extjs/resources/images/default/layout/mini-top.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a4ca2bb20aad89264b9022fee88ee29154dfb192
GIT binary patch
literal 856
zcmZ?wbhEHbRAyjhXlGz>c6N36?{M+r#W!!>FpPrH5Ex-0p!k!8nSp_kK?me-P@Z7m
zFlAuo;89qx;9xU{u$s(?fCCNf0?JM-3L76eGxBgot>IYk*sW87)#{JM#>MWF#5uKM
LPHswdV6X-Nu*4oA

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/layout/ns-collapse.gif b/static/extjs/resources/images/default/layout/ns-collapse.gif
new file mode 100644
index 0000000000000000000000000000000000000000..df2a77e9cc50cdb15e8be856710f506d462a9677
GIT binary patch
literal 842
zcmZ?wbhEHb<YwSuXlGz>`0o(Vu;KK>|7RZkKlk|m`6vG`Jo$g|>HkYl|6hLg|LXJq
z*I)d<@$&!8m;Z0Q`hVy3e}+*o8Un*81QdU=FoV3K10q0qf`LPwfssSTW5WW+W=1|P
io&z5e4!5x=GEI;OeCX1}EU(tH<Kv>E{jAJP4AubO%sO%a

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/layout/ns-expand.gif b/static/extjs/resources/images/default/layout/ns-expand.gif
new file mode 100644
index 0000000000000000000000000000000000000000..77ab9dad2948270706c9b982c5fcdce78940b4c4
GIT binary patch
literal 843
zcmZ?wbhEHb<YwSuXlGz>`0o(Vu;KK>|7RZkKlk|m`6vG`Jo$g|>HkYl|6hLg|LXJq
z*I)d<@$&!8m;Z0Q`hVy3e}+*o8Un*81QdU=FoV3K10q0qf`LPWfssSTW5a@jjf_kR
jAsz;b4DD>fMm823AG&mK%ZJ76*!b{ZzXCfO3xhQP{>?dp

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/layout/panel-close.gif b/static/extjs/resources/images/default/layout/panel-close.gif
new file mode 100644
index 0000000000000000000000000000000000000000..2bdd6239987b95025826fa39f37a036d73ae1c9a
GIT binary patch
literal 829
zcmZ?wbhEHbWM^P!XlG!MGRSrK@6dAaKf@>(4S|st0*XIbm>C!t8FWBi2jvL{4k-pk
f4i1Na28TvQ9=?!{4GD)^*u|AnEG{HEFjxZs3+oT=

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/layout/panel-title-bg.gif b/static/extjs/resources/images/default/layout/panel-title-bg.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d1daef54c578cced19b7f0c3074dd7a23d071cb1
GIT binary patch
literal 838
zcmZ?wbhEHbWMoKTXlGzB%sOhAecUMblu_Op<AU=hg_lf<ub7rxH!HhkR({94^1emY
zBg>knmbK5V>R(wmyk!^#qaiSiLO}5+3(z<J8FWB?0_6z?4rK;;i;M#ajZG{Z0x|{x
c4F?z)85un0cx+sBv|GYB>&}UbNe&Fw0C0UOPyhe`

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/layout/panel-title-light-bg.gif b/static/extjs/resources/images/default/layout/panel-title-light-bg.gif
new file mode 100644
index 0000000000000000000000000000000000000000..8c2c83d82536f2e1e8c1fa15ccdf6683047b1d34
GIT binary patch
literal 835
zcmZ?wbhEHbWMoKUXlGzJdGFVm`@haV{B`m1uPaY~Uw`)d){EbFU;TOT=Fj7|f1bYo
z^Wx***Ps8s`}&t*6pV(zunPgjpDaK>{b$et`3#gN7&sIdqzxh#C@?lLvvCPXC@3&A
Wv<oPE&GFc{=xDcuaS#s&gEau;Gc-N`

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/layout/stick.gif b/static/extjs/resources/images/default/layout/stick.gif
new file mode 100644
index 0000000000000000000000000000000000000000..5a1e8ba19fb5b404fad09b7208df29646288345b
GIT binary patch
literal 874
zcmZ?wbhEHb<YC}pXlDR{fQAh*Gp~c0BZXLc^!Z5f>Zm{QhJfNv7G{tF#eZVXMX8A;
zsVNHOnI#ztAsML(?w-B@3=BFTX;5xq;Lv4Y<dE^$u;5@bBcG7ZihzWMb^&?4DNY-c
bj<howWu?6Mu;@smoV`_!#iS*N8W^kr$4DdN

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/layout/stuck.gif b/static/extjs/resources/images/default/layout/stuck.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0a8de4db9d6d272beb7ab432bd8cbc25c5d699de
GIT binary patch
literal 92
zcmZ?wbhEHb<YC}pXkcWBnR%UofkE+~sB=+jVo7R>LV0FMhC)b2s)D<xZvcbhPZmZl
v21W)Qpdz3K9tH*`sUGH;#}iK9D;7MPCD<$S>9)qBYY9s=7v2nHV6X-NX@DCv

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/layout/tab-close-on.gif b/static/extjs/resources/images/default/layout/tab-close-on.gif
new file mode 100644
index 0000000000000000000000000000000000000000..eacea39b623348f656de9a8f0df4ac4b74ceccbd
GIT binary patch
literal 880
zcmZ?wbhEHb<YwSzXlG#X4UZ}=DQ@lWpL_W8nfpJ^Kl*w3$<OQ0f8Bcd>)z|%kKX-x
z_TkUV&wm+4!Dt8!#}H8b$pZA&e+C_p=RkRafy0-9okPYWK%u#rLy#**AmKn$J2Q)p
zz={Nh21Zf+FqsJojYs=sS(PMy7OF5cvh&sKnGv+0v0q<*pG<%Q!&xR)rDrk@3zqxO
MXKm)=;9#%@0E9$42LJ#7

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/layout/tab-close.gif b/static/extjs/resources/images/default/layout/tab-close.gif
new file mode 100644
index 0000000000000000000000000000000000000000..45db61e6000bedd9a4eacdd171d99a9af159389b
GIT binary patch
literal 859
zcmZ?wbhEHb<YwSzXlG#X4UZ}=DR%hp(AwYMHF3g$0|)Njz5C$7gC|d(Jb(WD_3PK~
z-o5+y@#EL8Uw{1g@#oK<|Ns9pjDpb+7%m~8_>+a1fq{uZ2jn48o?zgxVBqGE@d#MZ
z(99ty#S`H0kb#knn;}DEVv=)*u)3Vdj=;yqx<zf>u0#kX9cC0)w0klmAo1XIMn(o}
E0NP7EbN~PV

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/menu/checked.gif b/static/extjs/resources/images/default/menu/checked.gif
new file mode 100644
index 0000000000000000000000000000000000000000..fad5893727ee8a13f428aa777380ae97152adec8
GIT binary patch
literal 959
zcmZ?wbhEHb6krfwXlGz>j-2EYIms=0ihImdkJxD*ann5GrhCOt_fD7*mN_@JU|~Yh
zlH}5*DP>F3%9rQXt#bJ9P}a7(ufM;0=I)-EyC%%tyKeK&xyuhMUUy>sj`JIKUfjO_
z>dyTab{)LB=kT>-Cr%wbdG^%lGbhhnIDP)=+4C1qp1*tM!nLy(uU)-*?dpv?S8v|E
zb?f%+J9qBfy?6e~qdWJX+<Wlw{-dY&9=^Q)=;gylj~+aF1_aNazj*ob)$7-9-n@PL
z_T9TzZ$7+z_wm!`FP}bt`|{<>*RNl{ef##~$B&;sfByLSi(wRuh5*qap!k!8nE{v;
zbU->ld4hps4uc|xjK_ur2b)<{HDXQ_Japi6Q1W6iYUvPA5Rzlscwpk<4sO9XmXjI+
zi&_OWe7|@wG&BoL67X4M6R7Omz-DfcwPk^l8<#v6OGU!M%_;%{ss?XfI5Zp-5OGar
zYW(QXz|GEX#*rx~s>CVD%q0^Mz{1hH&cW`(j0A>8wr;ZvZ4rjePOb7*MGqXL4LK$%
TI;tJY@rY17bXb6iiNP8GS6tA5

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/menu/group-checked.gif b/static/extjs/resources/images/default/menu/group-checked.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d30b3e5a8f138bfbbfea3d1d6d5631a81268fe26
GIT binary patch
literal 891
zcmZ?wbhEHb6krfwXlGzxGAUp-FJv++Vzw-1u&!ctt7CJo<?*WL^{!`dYGiO~VsLI^
zaA{_6ZDDY0WpHn2@Mvf7Y-jN5VDRo@@abmo?P2iiVF>DF4C-YI>17M;<p83vUcty-
z*_dA0*j~BVUgelBh1gz|m@eI<UZ=DP4yjXI(<eG*PIk+l;*c}PA$N{j;Y|0!nf{e?
z{VM1A)GYr0|3AYh7!3isgn;5t7G?$pLk1m?ZJ<2Cz!AZa%pv2kVZp&>4q>erj}J#1
znRLYtaeQ=iW)bC#?NNBB=*-HhDWD|4xae>zCoh|V$$>=XHZB1n7Kal~O{`q}VgeQu
b3s{-ixj1G-bT~0I2=PqTialkbz+epkbq-F$

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/menu/item-over.gif b/static/extjs/resources/images/default/menu/item-over.gif
new file mode 100644
index 0000000000000000000000000000000000000000..01678393246989162922ff0051d855ea02b4c464
GIT binary patch
literal 820
zcmZ?wbhEHbWMU9yXlGzpb>`d67r$SB{>v~5Mnhoag@EEu7NDp9Gw6W44$2b@9D)q2
W95Nmo7Bnz$2y4ZhC`fc*um%9+ToJhd

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/menu/menu-parent.gif b/static/extjs/resources/images/default/menu/menu-parent.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1e375622ff951a3a3f1ccc668061e81b9c93b411
GIT binary patch
literal 854
zcmZ?wbhEHb<YC}sXlG#1%-g3`xZkLBzfQpc?b1_LRp%W3J6JSbvuwF+({kCi<F0%6
zNypBcp;OKUEqD{M;AQ%Pt4XUq_8tD#b@<QJ)BhPp!Dt8!<q%N($->OQz{a2h@&qVP
zFmM<%@JmQ|Y*@g^%E=?8;=tJG)Wo9VlknjJLnFJO0!M|%0mo(rQBEC(fQyeBCb4lX
KFcA=7um%9T95sFb

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/menu/menu.gif b/static/extjs/resources/images/default/menu/menu.gif
new file mode 100644
index 0000000000000000000000000000000000000000..30a2c4b6c0458751f85126e8bbca6ef2ccc2ff00
GIT binary patch
literal 834
zcmZ?wbhEHb{Kde?(9Xc{=<(wZA3ps5|DRzLjE2C-3jxKSEI?2HXV3w89h4^+IOG|a
lIb=LGEI8Q6z#<cKV#C72?E=bPb38UKI@&Fv%*MiC4FI5a8gBpq

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/menu/unchecked.gif b/static/extjs/resources/images/default/menu/unchecked.gif
new file mode 100644
index 0000000000000000000000000000000000000000..43823e52db80e04017b2bc1e031bef2d82c67e6a
GIT binary patch
literal 941
zcmZ?wbhEHb6krfwXlGz>`0voy-@k72&h=Y%ZQ8zP%g((!cJJT4@8F*OhYlV-dg#cp
zW5-XNI(_EM*|Vq5Up;&A+S!ZOuUxr$<?6Kymv3CSa`V#FTUV~%zIx-%jobHb-@bF}
z&i&hW@87w5@9zDF4;}*1<A;wPJ$&@|(c>qNpFDl?^y$-QVDS9;ix)3mg1{>fcnt(^
zUcUi>w{PFRfB*i&hYz1Vefsj{%h#`8zkU10FbYOPfHonZ_>+YhWU>y30Obh=jxGj9
z4jGRP3l283GHb+~D0p~)!9>Yxj)(FAXDKG5ESZ1@4oAD0WI9R=9v*6Ak!N+{dHKMR
zl}FY^$AdFLm4!>ptVN@75u<Mhi(bZ$hDWSC5<+#C3@$Vt>5?#BR20ya;KC(goN;9V
qqtnW!)kYaNB(j|}n>i$H<|I5^)XKF~L^CSn=7x7MEgZ~D4AuZjXTU80

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/panel/corners-sprite.gif b/static/extjs/resources/images/default/panel/corners-sprite.gif
new file mode 100644
index 0000000000000000000000000000000000000000..aa0d0ed8fb4a7af14a00f77c9fb0f456144363d0
GIT binary patch
literal 1418
zcmZ?wbhEHb<YCZZY-eC_`0p@t_lwoX-)ubnddK;9yDq%jbLsuw%kTGJ`Ec;+heOvs
z9J%rF*v*e8Zhbm=`_t*WpU>X=eE$CD3lF|rdidqaqc2yVe7*kk>y2mMZax2Y=f$^s
zFTdY^@$LSr?+@R6fAad<<F`MazWed){f`$Pe!lwn^UbGU@4ozc|Ml0$Z@)i(|NZ0l
zABIsd8Uh0v0*XIbm_ZKE0TG})!NBpKfssYRW5a?2j2c2(J{AcITs#8GPA(4v7P)jW
z2E^PrQK;-DBIeY^^K)a<$;oQ=K@lg5o*w5kNIvvOW8t#1v*eXu+*$cqxn;gXebNzy
z1uHHtl3+_yIIu<YG7qz<$PBO2Rc(zjJQ;UaO+9>okNr>=@9o3~>?|3V7yUI5aB13J
zaKA}H!m07@?lNZ{k&O%1-`}Ui)|cS0!{DJHv!_YKnF_<sMpYS)c{)3fI0*9_WuMDQ
zdeFJR(cglF_lkNZ$1>05Y<sOTUSC@5zh6u$x-|FN_Solbb3dBAy1S+NG~2)E9l4Kp
zOne=7PP+B|&7*Vq)8%4*6}~>XQUChAKbD0r9_;V_zg+IF_0JE_j~B1ctE>I_^4-Pb
z;rI91)%?ExG5z}fx%J<FGdvT2P{;f&{6RgFn#Y1BHlvOQO#)^T51WO;JRY{bk)5%y
zS=#T$!dCgDA9C%=RS`-Z>RlT1>lL@nSk$eZ_2W^G;iQPgo#u-=0=cBWyh!fX<T>)V
z-;Pc4zyz1P1eHlHdNWlfIN7aCnc{C1sXEm&YNqNm-=d$3r^U)?s?Lb7id-@?psRA}
ztmsXWYLioUNvh9DKNYDyH}jF@(z%s=ozLb~O{!czzlO;xV?jOFt>?2k#8$0X*dwQv
zxn#<=n=h75j+*sy_Uv;vUoMzhB(-Y!;-*!ZE4$~dTD4;Jq+6?2t~r+eYSo$z=d!Zb
z?pWrvdfoO<v$U72|D~m~VYkrj)f@NQt;$(+#_E>NvK30!Z#JC^<Idf1Db4%s)}wj9
zUv4>Hw>o#n#j0q%oi}F9*4uTL>*c}SANK7|+4J$7_xe4|yb})X`}6Mh1P4}D9tQ^o
FYXG~Urd<F4

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/panel/left-right.gif b/static/extjs/resources/images/default/panel/left-right.gif
new file mode 100644
index 0000000000000000000000000000000000000000..9fae2d594d21f4ecb71e577517f1eb60488e92d4
GIT binary patch
literal 815
zcmZ?wbhEHb<Y8cBXlG!Ux%<Wa7vFyT{=+Z|Mnhoag@EEu7NDp9Gw6W44$2b@96*wT
P!(oGhBO?P76N5DX4+#!2

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/panel/light-hd.gif b/static/extjs/resources/images/default/panel/light-hd.gif
new file mode 100644
index 0000000000000000000000000000000000000000..58d6747b583f82745f884ce9775dcbe3030e086b
GIT binary patch
literal 827
zcmZ?wbhEHbWMt4|XlG!!`TWO|x8I+=`~LF7kJlf6y!-s)!<V0*zy19B{pXLLzkq;Y
z6pV(z@C^aQpDaMn{b$etc@dN+7&s&tL^V7b9yByEv9NJ)Ff3SjxLrWmYl?&bgEau-
C^(#IA

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/panel/tool-sprite-tpl.gif b/static/extjs/resources/images/default/panel/tool-sprite-tpl.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e6478670e37ea49286d7f29df999169959338750
GIT binary patch
literal 971
zcmZ?wbhEHblw;s$XlGz>`0r4-;O@-bFU~*teev0!D=+?Cd-eb3oBt0#|9|%F|Er(>
z-~as&1Pr5KGz5lY2q^w!0eb5{gAT}Zpgh6Av4Vk-LBL_d0!KzBR<?)}8xk8@m?S*r
zcuZt;Vqj#;xO1ZLz~K&2=cqFplNKHC;0{_9voqld!!!ebqX37^%Y0e&@?TAvxnTME
z`J6FKvRcB87Z-a7?(jJkl6HK#-h4Y=fr$-QS4VK}ICCmAt#N(AVX*?uZEJj(GcK<(
zeNePEdM5j$Q*)~isNUUeBz|Y=?H~uYz193WA1pRJInph;G_OYE!-B^x60%kz5&{g?
E0Cfp(OaK4?

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/panel/tool-sprites.gif b/static/extjs/resources/images/default/panel/tool-sprites.gif
new file mode 100644
index 0000000000000000000000000000000000000000..cca91e8b9682e74ffc65d4ecc76b1a4cdd674628
GIT binary patch
literal 4158
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
I5fA_XJEnatLjV8(

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/panel/tools-sprites-trans.gif b/static/extjs/resources/images/default/panel/tools-sprites-trans.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e58bf20b3119d0da880cd94dc8293f69f715a93d
GIT binary patch
literal 2640
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
bDyFN53<eVND!n?iY#zfoHB^(M!0EpMvJ0&}

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/panel/top-bottom.gif b/static/extjs/resources/images/default/panel/top-bottom.gif
new file mode 100644
index 0000000000000000000000000000000000000000..be6c50e1cef86d45fbddf167e221db5fe365a80e
GIT binary patch
literal 875
zcmZ?wbhEHbWMt4`Y-eDYx%<WH<8OAHf4A$xyFHiQ@4ftf|CJ91uYNdm?Zc59ACKMq
zc;eQllea&ezWe#?z0c?Gf4=bG%cX~3t~~m3^~u-kPru%H_U+d5Z}(q(d-D3*=kLFN
z{Qko*3PwX<=!AgcPZpqK|1;=-oD9kn3>+Q|j42xu7BaPR3Mn~MJWyz8U}WKvuxL<d
zY+~h+vbb?#<KpA}3eH_Jo|~4OoUCCR7jbga($muol26U?+`R1UY>VPkM-ButH#9I<
F0{~gSY2E+;

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/panel/top-bottom.png b/static/extjs/resources/images/default/panel/top-bottom.png
new file mode 100644
index 0000000000000000000000000000000000000000..578ffb6092a47d9af33fd86615855ac328958537
GIT binary patch
literal 218
zcmeAS@N?(olHy`uVBq!ia0vp^j6kHr!3Jb81>C#}q}WS5eO=kFvq*Asi<fl7Cjx~y
z3p^r=85raafiPp<g;G19AWOQVuOkD)#(wTUiL5|=rl*TzNX4z>jL3o~JcpmZ-+$h~
z_Wy_3jh&1fGyeT$7yAGIfBVLN2O~0szQ_GbNqF=$At@m#iKWO<MOb+TtBPV$PXVXe
z4whLGH%<j6O<BOKc;u*!#2iDf9-%AB5i<jKC^6;moRK+|m&vefz0#ar+EO4(89ZJ6
KT-G@yGywnuok)xT

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/panel/white-corners-sprite.gif b/static/extjs/resources/images/default/panel/white-corners-sprite.gif
new file mode 100644
index 0000000000000000000000000000000000000000..22d4bbab4c57893a9de3f374e9b9bc5d492b7551
GIT binary patch
literal 1366
zcmZ?wbhEHb<YCZZY-eC_`0voN;K-64msTHtv*Y}`T^HW%x%7VT<@fuqd^mXZ!=Y;*
zj@<Zo?B>T4w?3V`{ps}G&u8y_K7ar7g$G|QJ^XUz(U+@FzFvR&^~SSrx1N9d{QdWj
z-+%u9|IaWAMnhnTgn;5t7G{uBbwC6tPcU%&XJBNJ@Yt}xfl*RO%SR(2fsIE%+3C!K
zfJH7{j7BjxP82F1;}LV};`zC;>EvWJ`=E%EMNf}&8YCb3qp@(=*;(?+FYc`TtlTo+
zp}tPWVT;DaewImEzP~m$Twd;HFEzuf^wn|Zh|NiVI~J_IzD{1aLst9S;-<|R=j&n)
zY}38n&-3V1@9&L`cXyZBTirNa{{A?712gkCNfC{QhXnY<!(^sxOl<FHb?SQ)QFQD?
zr@HdGIX{h3&vrYSi~YUvIqlLk<Ai5tq)OAT&i8GfW;?4a^TzVr<#BI!ZGCrrPyO#>
zwzDg8A8&6~zAsyC`Qh2A#m@8R-Tqnd^6EzM>veOgi(cJ6SpHx9zpZuUvuBsv!|mtQ
z{`~sk_VIfC{dRwUzj*$9`+oWV#ozz3{+M6K{3(1v{q?!!3mQ0?c06e26_QxkD6Dkj
zcI%<UjJa(GGdCP;SEyTY&_S+^<536Wl#EAg8mlsry0yDJl6rK`NhtT2-`b(nXZ`BO
zqJG6sKa#slxFl63s4HnIPqZ|;xp=bkt_qbY!Co^}riMrDTr$lxX=mz0ud<U%Cq_2C
zTskAIPf~4WyxGcUGjkTbOq*45F7x^1{AZEs^Qzr$rcbS(R=IqBGgH)x1vPTF(iZgy
z-CD7*U+LA0B@=?QGMCPXTlI3$w4zxnm(M;WskvfF*R7Q+=P#1VnzLrzORYKUUm34l
zv1;iyuGecf^?AKsx9wR~*80Y4QrR2!@L6kbI4-qXd(&yH->WyT+_vK2mMcNg7q+sp
IvM^W!0LCzFhyVZp

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/panel/white-left-right.gif b/static/extjs/resources/images/default/panel/white-left-right.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d82c33784d106a699921e8186376adfe08ed7159
GIT binary patch
literal 815
zcmZ?wbhEHb<Y8cBXlGz(S#adX??3<l|7RElqaiTzLO}5+3((X58FWBi2jvL{4j{=Q
P;IKjAAOiyv6N5DX(?kxS

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/panel/white-top-bottom.gif b/static/extjs/resources/images/default/panel/white-top-bottom.gif
new file mode 100644
index 0000000000000000000000000000000000000000..fe7dd1c1ebedc02d4e1aabf91fe43e1bcae824e7
GIT binary patch
literal 872
zcmZ?wbhEHbWMt4`Y-eC-S#V_a@i#lpzuR@;-JVPD_g;R#|H_AhS3exO_Tk8lkH>C)
zJaOyO$=jb!-~D{{-ski8KVNw8<<i41R~~)2`sC~Nr(bV8`*!R3x6j{y|NsA=VHAvp
zz)%YT#h)xdC;w;A0XZC$Cm1+f85m<WBrIfV<rGqKsCb~z(7?#TC1KH^(AdPvBV}>p
u#Ky(P`xTtKWIQ)5IXPLwHYwudrlqH+8zi5a<GFd++1VDww^#%O7_0$Q_hD%O

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/progress/progress-bg.gif b/static/extjs/resources/images/default/progress/progress-bg.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1c1abeb4bda215b2c763146b803f56d52d7622b0
GIT binary patch
literal 834
zcmZ?wbhEHbWMoKS_|CvkyzoKg(ns|xpVX{=)4J|i+opG2n_f)V_G;R$H*@yCo3Qia
z%>ADi9QnH9<o6Bde{R3>n_(1;hQKfi0UeNEKzV_IL!CjML&jsnf`iQ*+*TO}5*nMB
cm>F0E91a{{WZ^W*x^rUV;^X}?%uEc{048uWPyhe`

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/qtip/bg.gif b/static/extjs/resources/images/default/qtip/bg.gif
new file mode 100644
index 0000000000000000000000000000000000000000..43488afdbd4924057e45df94ed68690068fbabac
GIT binary patch
literal 1091
zcmZ?wbhEHb<Ye$;XlG!!|Kihw7oQ)z{QU6c=SQ!;JO-lIU!DNbn=en_e0}!z>vJG_
z_wB{IZ!h0}dj&)vzP|>dkKf;X{QmaSk9R=y`N#XuKR<l=`SI(|PhWq1`u6Mdw_jhr
z|N8p<_tzi4zX8$D-`{`!`SI(|PaygYM1Ow)(VxG+|NQ*}M1TMN1)_f-@c;jRhEXsY
z0(1-k#h)xd+x|1?fb0b22?mb;4DlQ?79Sc8HnR(B#GKgh(1}$**)7IlW71JJ3FE9g
zGcGnB@0VBXkg+ssIyqTgbw$k1qNdZ+^)*k-vE1BrcDA|hi#t0%H=UnvZ^$8QWzu|c
zvAd~8?5>jL%gg;OJ?2_%ZN9oX+&1IxF3}_H>l603F*t71i4@GZyiE4sw%lkTl{?!^
z6Bo7I-L2~P;_hzq*8BVGLsu~TDQ|svxII!MZqJR@$6^zdt>?XQDtdZif@HSanM&4&
z=Nke$o_R~@-`i0Xygcmmtu?PVY}k3~nAhx8xhr<eeC2j(_KN%k2P(Oad(K%_IO9a*
zCYO_QR8F$<J9s_!kX3GeEw<VF&btD|ruPpHN-IeC&#P(t{Nkc;#QAxD8@_*d$UVb<
TeqF=wA0L@-oS$Fsz+epk(+41p

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/qtip/close.gif b/static/extjs/resources/images/default/qtip/close.gif
new file mode 100644
index 0000000000000000000000000000000000000000..69ab915e4dd194ad3680a039fd665da11201c74f
GIT binary patch
literal 972
zcmZ?wbhEHb<Y(Y#XlGzZO-*(9@6g@d-QV9odGh4x)2GjwGiSkq1xuDJ*|TTQ-o1PG
z?c2A1|Na994jepq@X(<{M~@yoe*E~wix)3lx^(yM-4`!jynp}x<HwJmKY#x6<;&Nv
zU%!3(_Wk?!A3uKl{Q2|OuV24^|Nism&)>g)|NZ;-|Nno6Q7{?;gDC_Qf3h$$FfcOc
zfE)$N6AT<H8JK+}JT@pCWDwGr5OHFIA}5!SRKpJjCYO$G3FnBK0}L(gU6O`jB^NF-
zH%ylBXOcMi;IKO*6GI0BL$J$HHr|*p83P6ee?c=xi--w|&h32i92#?fEIiCM$+f>u
z!(r;m%j_<O1rHJyWQX(1S>$9KP-wo!oMF4bR^Z#pCLVEt6JIYJY>r`(GBHu8TKMAH
hV%craN*NY1aV$`Fvrs8ibZTIkpzPfzqoBZG4FEi-n5_T+

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/qtip/tip-sprite.gif b/static/extjs/resources/images/default/qtip/tip-sprite.gif
new file mode 100644
index 0000000000000000000000000000000000000000..9810acac5b323d99a641627276e8dbb9a3607d2e
GIT binary patch
literal 4271
zcmeH`_dgqm0>HUaT*q}O(sI}55StPrk@kA1m|be5c8o;q6=JkKRaC1-go;(CB_vji
z45L+4RLzK4)T+H#5+m=uzvI2{58prF`}urL&2EDY+;)V0P9z8knG4KQO1sNHeOufT
ztnCWsc6mSlpZ^#5pDA#SCvrmQKdAjz|9wJ8Tp%PYA`L$Gq&ZIfqKYG{vY;j5oV<As
zyy~B}WN96rZ>*}q_Se4|z4!*NbQKa7y?<G{gZjQRQw#Ye$E>=jEBn;L%jdKzg`Vb%
z1pX{*UPJ0DgyU6U;^}`p&9llh&o!?t<&f=f>BRs(D)mxaTVBXo)cJOn!Nf?iu61Q&
zw7?mJ6Z8p2m>ImiG~P*Dzs(Ha<jY#pE2n5r*yXUV^s1S5lZ#l%(+uid=NldKrh0Jo
ze9v20K+#oZ%_2M66nndiS-V_W%4y28s^9Ay_Vrty=&Dy(oA?-aipGtiZ_coUFWu>G
zh+LiPF0{}*6T{qH{+o=P>>jV!Tl?NpFF4X@YKWxF_K;m(>%tE9H!#fCcRn1mczfH+
zLk)TxOGiQ{6VJ!~bQ$&bmWUkbd#r@U!f!EWZUCon=dDo%5t7cNsc;$pg@RDoSfG3G
zwG`ApfeLw~X@BMNg=t^)CZN2Jb~j2M1)3nucp9uN6e3~AKo7TDXVD%$N6Lz0sg^`r
z5B%M_U5|8|7a&i9y>pmnhNF3{XQt~!#;k`R9$n<<l2=j`jSQ}vB?b}+UOAyuUGLn8
z*ii4hXrCGfo0yZ#O9&@nm4$-a=a)El67|e46#z?S7vAYFw&MR#xL3MpsUZ3UUHtaB
z$`a{ahR;$7si<_Rlv1~}M6UcSP+6wb4EijW(SP`qS~u)1EmwRzsk&0xdKt4)#Zn}%
zP`~OeuT=NmR$Z+bu*LXQT6vOJ>%N6AuhPChS6!peW?<GB3q|BL=1Sf2TK&dn)%Av*
zLCkt1_Xl~s>2Pm({ezI0+Qvr_Dc_A|aV1J1GZeJ4(Q?jIZL{@~o$qFwv^Qn*^HuE1
zX8UgmYFn(|Gkv!@fW?%pFKV=vtxm0Wwe7FEL%!Qx;Cae+x8eTEcF!MT>N~y0Qhqyq
zaHX=HeoOt;9rj&Q_1ys*JHK6yy?5E}pd)s5cgQtCeQ($!({FDCRa~|=>PuVQ8w+e#
z-~Sdm<hMT_F<-Vn5xp;1-Jg6SrosLGOv;}-m8ewCoqnmm#+~`wRD(C0Zs*UNd*fZs
z`;miP<ITTK(BLn;%k<|jl8VduOBC7~f4Q<<<6xy`$p2uKK3{&Y*08^Ju>Mg@^Khe8
zD&TOFrBrda^;LiUaJ$!3^Jr(lF5qZ)*t_Cr?;CdgX#abH<}r6RGvJuFP+W1$Pt;sF
zKG<m26ddjh1qhC~^A&>Q!~J!EK<M;ap&4x1Pk@al;+AiJl45;43E6mhZiP^;2ygxw
zvGJGm*S9D2S<Pp0S~mXf`Qi>g^3M~sJQWNJem2YaB+1-Bsz(=`23>BE8Le~&H58n^
zmeC^1ue7>(db&k`0~*U-s7ll`{MQ9fQmX>9GRfNJ+NDC&C*}M1p4m1`^Qok^ouI1Z
z`GbE+cPf3>PN{h5b^2ETo7)JYRz>+o&+JVD+gJLkQikf~<;cbDFzbrfu`lI*JHczX
zb%7fB+;Dd5LJ4bDo0{4l_51J1N*!irE7CGf%PH#c>aBvQ*u2BpwLg`=d`qRK)1V3}
znBp%FyUPjXFJ;w`Jf=fGHLR{-ZYj8=b6}I2S$v?NWuf%dEv5X;=hL#+@jQm-_3DuB
z=pR4+QSSPBubP-yuc)V5+~sFoo;~sMD!7G54@#>J`e8Uf-Cxq(T2-B!5T#^zN~tIE
zY<b?^>8m%kc>-F@R&~Jf;rzr;D!mQoYu;j^z(1FZdgHsx3eLW|Vl2<EOS)g<ce!z4
z^m=JuO;Amt_W=;zso0;IQua>q%oXzo{8|FF2BQ(PIOwjzru5Ym+0`pslZ)87)@8*v
zUIFgL@oNe$)S_?0mip652i|GdmY7DV*d!}*O3s#*+MWT}R`aXNf@{5<kCwVWsSM_%
z)>8DLst8QcU~M<0%>R{);|!n5=&$t*Z(RPeRcd!hrKBQbM%C3yak!bfQSqGM=yvf6
zwe9-l=ZP_tnX9S}DfjBAx-ZqdB(Wo1&XnrBwgN9B47fMV*1ZU({);IY(fq!y_Dqzz
z?^Eztzkpg-C)B9!FIGA>4yd6uSpfs%I(w%s>=%57l^f&9-(Fm&F{EQOLiJU~7jZSr
z!86L?)fWA$!Tawfj>^qjR3|dhXboC0O`Lb>#O`QK<64(;^h_t4*S}x9*I03Pn>_i?
z7VQK4Nb^ai%6DOC?Z=ZTDt}$H<cR8UOV7qu+RCd<mEWg-a&6Rl-d;L&CcCyp&RR9m
z=<DElJhx2oMwR0O$~2QoZ;Oc0ez~tQBXdBo)Qi<j2~nGr-KIC)IM$AhQ=2`yz+fH2
zuBV-#%qm=@cUa%hN-v~*SAM`~wr#rpteP?>5yI%ae0=?lj@l3H5c*fIV=W?EZ5mX~
z5VZQo>b#gyo0nuWx;2_~@{p8y7@OV`+Y}^zVpV5kaIm-9MAuhx9C4dG*jF5{i&l_D
zm`4rvXSeBkft(zyEe6@IML|fDT>JZ11_$CyK&}tR?QEAh9Be$u$y3%2QO_B~w1E&|
zPPWd;oFNxcJ-hhahwhI!!w*dKYzX5vUaFiC(|Emm?`3U#4hBY{ZF<(VP7nM$2gWo-
z^)1?R?+0fOe3LiPhjYg7g<}TBrQ-EX=49{TpaT=9+Vub2b-EjSYG6_z0=_AlcjvD$
z_V;aLu%YCH^>Z?NYW^A6Ktay>MHG8_tQD*Wa<)pbV9)f380eVfS*BfK&$bAR4YVFk
zSY#~s&(WS4sC&v;5bOJYkXsE@!ko?XlKbcLMIcJ?d1n7S>R-ScLw+Yrz>8G-7ZaXA
zuDzFommc&jMYTfYYMo8XJNuRcM4(sN@@`YJ`&N*~P-)JDNgbwd)$SQoa!$^K3GG|6
zXoX(bbvAA~)wh02<nR~Kb)!$~y&JbF+6725w~alx=^>{(%TeQX&=^}82|7P?Zq9dw
zOmyc7qVtS2aX0WyJCAR`mP8wIU9>!}#1C#O_~8gvPwaD=xBIGW{(;oqaZ<g@;kq3-
zTKQytZ`)0`Epo)+ADWM!^|ZThA6<>vd-yn+J-NNhp~Yx={n|5b>LTE_aE~CbC!^<;
zki5B^*sWT@%jL)02W|R~L7(%xcEwzd$07u}>yuFeG1DV&FJTr;6l{6|>?KBmokE#P
zh<lw$gq?q5`pdBAMHEbmWhzPXl!3!!xu#blJbwkk<bm*Oa8Ctsn6f=wN!n9&!B8_1
zuD;-*%`ybh;W~5=eUc$`0dA1!0ZTNzC2e-o-oprGXbLwo0eYCh4Xq-~EV#%!K*I+l
zvwJM$LvcfgVKcio$VUrM7jbhZ6w-|a^#q$E!ANfs6oWEHizEFKp+RrV1BTs0P*5z(
zJdETX35UjT&7&gR9|NIrK#Qkv_jqw=lD$QOw0p8(0rEQ0;?;s%DhooOTj1$#nIuT|
zf<;!MTW%txK-x0j-mMS?DTZ6V2fCHOA!QMkWUgxk5K>LDtYW#=ibEK~mb5pn^$P|c
z#H|`puFWiiHn3F-*tMNx(226@5O?iLH0XO{)idnEmbT}RT!vUyBM~lRaDz#%)i~T`
ziex_{?J@_no?mcY6gOD4w_c_@uY(;n6P>pct#|F6_gUZrx-}2ze8h4PaGit~txt3~
zi6((1WbTM%Ih{g3da{R;-u`=M;O{|`)Ms(2`yQ$6_o?M=sl9Wle37&+g|sKgv?JrR
zFY#%yEoltN)C*{BjShXCjz?ND_)CHZcw8a=Ll_>MgiwieG)&SrQg*z-!;{0(;fq=(
zXniXOM{`Cx{TczdogRuLup|jK4pO(w9PO3$T^NoCGlH9hzUQJNQkmersE3hpLNn6+
zI`o3foC1>4LrV0pkxpSed}NYdOo>xe68<q-FK)!?sSG~eOfN~oIYBu!Sy}J3f%7XK
zE>%L0fOf`@;4&9M*;&q63|wvpsG!3+KM7Y@0xB*+meL3r96~dJXn!IbR!5{{IlOnk
zQPCiVgh!1-_QgeFQ*E}5e2&pzc9SyxBjZu4GN=>n@i{WbAS;K?$+>HkYqpouE0Io9
z#tkm&j(2zrXXTm+Wb&pv()%M(^I51x25NZ(waP=S%b+(6(Ay5^-AMF)7MjOEAB>=n
zcxZu)k1)jN1j0uY=Oae+kzo3q8udBD_xS~YIS;{HL|`Ow7%3t~hKac{ijn1Geg*hm
zgZRoLd=+rMN<?2}rmyO#uR7mX6X2%}@zX*0fpC8ML_Y(jA9U0Y#`n7k@V^D|H$wQE
z;QURA{$@;ni&1|ozW*ISz&%L714O_>T!0-hz=0X?Xf(iyAK(HAbb|yU5rLk#KyP9o
zni+^04fNv&1^|MBAVDFBpfFqzmKYSt42l{Jis1)61_VEa1jiwQ<8i?W#NZ@maPrI1
z;8*<M*MN{zNC+MgLcoP&5<{|>A=#rLx%`lPKxhFZv=9;c9v50n3@u@Xl1D?!_@Nbm
zuqsGcH6pAQ7e*t7F_>ZXqhXEwun&OnW=MDoBD@V3-cAhfV1{>&hIjG9djQxz2$qe&
ja&XuoB6fs{9UH}t^RbhFh$%?K3?gC<7a@G^oDlTi@<dfk

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/s.gif b/static/extjs/resources/images/default/s.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1d11fa9ada9e93505b3d736acb204083f45d5fbf
GIT binary patch
literal 43
scmZ?wbhEHbWMp7uX!y@?;J^U}1_s5SEQ~;kK?g*DWEhy3To@Uw0n;G|I{*Lx

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/shadow-c.png b/static/extjs/resources/images/default/shadow-c.png
new file mode 100644
index 0000000000000000000000000000000000000000..d435f80aeaf38aa37a2afbea4363d7cf8706205b
GIT binary patch
literal 118
zcmeAS@N?(olHy`uVBq!ia0vp^tRT$61|)m))t&+=$r9IylHmNblJdl&R0hYC{G?O`
z&)mfH)S%SFl*+=BsWw1G5}q!OAr-fhQW6q2Bsehp@I)}QHZd@=F-Y_=I0esbe+N{<
N;OXk;vd$@?2>@aO9`*nL

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/shadow-c.psd b/static/extjs/resources/images/default/shadow-c.psd
new file mode 100644
index 0000000000000000000000000000000000000000..28bbe694e2b6d082ed8368833c3988f9fb5c41ed
GIT binary patch
literal 23266
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

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/shadow-lr.png b/static/extjs/resources/images/default/shadow-lr.png
new file mode 100644
index 0000000000000000000000000000000000000000..bb88b6f2be887650f28b16726e470c09459b9c86
GIT binary patch
literal 135
zcmeAS@N?(olHy`uVBq!ia0vp^JV4CG!3HG1zpHNqQj#UE5hcO-X(i=}MX3yqDfvmM
z3ZA)%>8U}fi7AzZCsS>JiZnf4978H@C8Z=JJZMPDQ+U>TNx_ce55uGN4u2%Q{wE|U
g2=cJ=GBC0+@aVFNEX<$33#f^~)78&qol`;+0F-4Xf&c&j

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/shadow.png b/static/extjs/resources/images/default/shadow.png
new file mode 100644
index 0000000000000000000000000000000000000000..75c0eba3e101e3f32cef8bde7bae7383d849e935
GIT binary patch
literal 311
zcmeAS@N?(olHy`uVBq!ia0vp^Y(Q+l0V0jwbN>KRk|nMYCBgY=CFO}lsSJ)O`AMk?
zp1FzXsX?iUDV2pMQ*D5XZhE>nhE&`-GTD~D$v~hjI>0gT@Uw(Rj}ARr(#+ZY|Nr|R
ztz576{))TQsGN9FjsN;R=N;cX_7>}LNxZmoT3OARN%FUXp-|AVh0k3k3m;=qQcO<t
z`YEW%DrBq}yiq*wP^1Ny_!`AB5sx`7tGjqzT{|n<Be?l>Ogc@EIAyfV(r;i((zEeg
z`}y44S?ng!NoE&wcK=*_2F$s1%jHel(|yj_4>tF9g$FFYCZ&0@DQ;=K_|9xe0dH@S
zX*Z%4Z8@@VyGFIRewDnzd#yOua)FIqa}4Vg?=kT(Xhpeh(=cjy2J|F@r>mdKI;Vst
E09T24*8l(j

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/shared/blue-loading.gif b/static/extjs/resources/images/default/shared/blue-loading.gif
new file mode 100644
index 0000000000000000000000000000000000000000..3bbf639efae54ae59e83067121a5283ca34fc319
GIT binary patch
literal 3236
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

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/shared/calendar.gif b/static/extjs/resources/images/default/shared/calendar.gif
new file mode 100644
index 0000000000000000000000000000000000000000..133cf232b243baf857367233e750477675f3190f
GIT binary patch
literal 979
zcmZ?wbhEHb6krfw_|Cv!=$UBjnPB3PXyTD<>X~HXm1O3TVD6D*;+bL!L|&=p9%&Yy
z$rhfe21!Q^Q_foy-7_zKYFYTes_3C(>0^ho$8NPxd}^OC{AUPgcoyFJG`!<^QvZ{z
zDbMnzKTnzZDQo7}(m5|{=DsSP^R0H#i}HnEYgc@4VPKfFc<YpfTP82sId$2tnXC5A
zTX(c|*~_-2FFIGh>R$P>d-aR%Rj;~Nz3y50x_9NPmes$yHvFEn<<ImTzi03Lvv||V
z#aqrV-+g=a&I@bz-=2T)-?oDnHy^&U`^4P^hyN}<{QvN|`=>75zjyE6rRxuF+<AEa
z$(#TG|1*q&(Gb800mYvzj0_AC3_2hgP@Z7m*uY@OA>*-OfrGSB)`bNRn_N2hWXw`F
z1SB%CNxF5h++3*4-Y2c*)x+@dA!D0_Ny3>5#Y4>Oyy6-T9SR2-+2lNnp5<Ip;q;&H
zBao1>aC62aVf7*|&4xzT^Yd-|U2>IL4xC*cvD9p$mdk;F#a0uwaxaLi_TL;LoDk6{
z_LiSPBA|iw_G1P%(cIo|3A36`3aNVZ2}m*>X-_;{7Al|+pwP(3%EG4-A<%HJk&(@q
JpNE6N8UT=&&-wrW

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/shared/glass-bg.gif b/static/extjs/resources/images/default/shared/glass-bg.gif
new file mode 100644
index 0000000000000000000000000000000000000000..26fbbae3bc6d2510832a5ed709f0cb029c2c1170
GIT binary patch
literal 873
zcmZ?wbhEHbWMpt*XlGzJe&g*4AiDYX<juFIZoWNz>)q+w@6G_xop)#NygPUI-MM=}
z^!_{$-T!dm{)dbAKU@Mb9(=g)@WaK2A1*!oaQVT<%a1-@ehfsPt~~sB_0h*Gk3U^|
z^yxZ~`{dJA5c+)e>E~-e^z6&^=U;C;`E>K?=UY!d-+uP_&hsxfUVOdx;_KT_KNv>A
zXb8|f1QdU=0PXzGpaZfQlqVQC+!&%a1WaT)$|)>om2)9Mk%@&tK#^^Rgu{V`ZWgW#
wlLCgu<17lIIuQpJG%~aEtN6@tSlD!$TihV!!H0*;9Rf;j6Erp|DKJ<A0Kq<$Q2+n{

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/shared/hd-sprite.gif b/static/extjs/resources/images/default/shared/hd-sprite.gif
new file mode 100644
index 0000000000000000000000000000000000000000..42da1ea1aa4322c3995eebfbbea9a6e8c3eb77ea
GIT binary patch
literal 1099
zcmZ?wbhEHbWM-&lXlGy$)C?EYiV)I@6w;0o)`=F@i4oC_714_m)r%L^PY^Rm6f;Z`
zH%t~cN|7*5l`u||G)b2<&5$z9lrqbbGS8Ma&ylvsm9fl|vCNmXDv-4<l(R09vniIh
zEs?h?Rj?~lurF71s8DpMRC26Ra;jE#s!?{X^(xu(_y2!}Q7{?;104d2KUtU=7&I7k
zKn?-r2?mb;4B8<Mg-#1Ng+;xltZ-;@X%$q~>JSK2bm`zya0vPFVPO+Hzo=EoiUW<#
zt-R7&85aT+o!hu13_^AkENo)sW?~Im5RiDNg-b{!q(fjK6AOo^oXv^{2OL}3c(n`?
z0um24adC-+cuZKp#Ka=XC$l2qfI}-2tCoO5K;nT0E+&=`4uJ(sK-Uz9X;c_IJk-Xo
z?6;=E@bR%edFMWzN~5Qzrs*f2TT>bQ{@gtKW<K32lb4s4`7iccTV?wC+Pe6|eY(|V
zZ*OhOe|&CjwfXbT+w8s?Iu|Ff91#?Djo_Im$a0)t-nQdSz$E5VyxOKa&IkxIpXD|$
ze0Aq#u~Pu2i?WPH>w+(i!R!IjKB)<%j$y1Z!Zof6-y9;DGq~5NJ}7gDVJu-S5NBXy
HWUvMRItY+|

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/shared/large-loading.gif b/static/extjs/resources/images/default/shared/large-loading.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b36b555b4ff04f841bb2101514d8f95bcf7358f4
GIT binary patch
literal 3236
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

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/shared/left-btn.gif b/static/extjs/resources/images/default/shared/left-btn.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a0ddd9ee8203b9fc45eb5ee78ae6bcb7e57aed7b
GIT binary patch
literal 870
zcmZ?wbhEHb<Y(Y#_|Cu}WsoatQLE_Gs_r>SKV^zd-BO3vC604f{{R1<VHAvpz;F)%
z9gqh>d4Yk$n}L-<!efJiBO@aVPsE804;fk*WxQe}6c#pgOBlzkIk8c>sZYVSj)zmI
o(Q}fL|Dq=uMNdw3X~iE>$=vYlK$lteqcf2P3=A_Zn3))?0bn93t^fc4

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/shared/loading-balls.gif b/static/extjs/resources/images/default/shared/loading-balls.gif
new file mode 100644
index 0000000000000000000000000000000000000000..9ce214beb5cd4db00666778d371223c605874519
GIT binary patch
literal 2118
zcmbW22~ZPf7=}Y29Kir0FmlXvp;AJNF@T|n3=l~OQNReX(lJsJSV$lTCK1p9Cy_(M
zQm|OSsz3m3sz4Eyf*^8<#%d)Dpydoi0>~kDK!ll=ZaA%FI-`5dzq{YQ`#%5s?JSAx
z<GPD(57UFCz|>1lbx&?h&&9gFi*>!1pzUs7{@wn9`hLm1fx>(Jl7@kz#sNtqbnGu~
zQe16TTxnMP)H3+<{h@2EL)RY+mC2N450&LIW#w<fHy;n*exkbdM0NXj)vr%g)omj+
zZ6kN&&^FrKG2GHI+}fq;?(XjG?Hw2x7#tiN8X8h6mBYisDwS$vWMp)7bZl&Fe0+Rj
zVq$V~a%yVo)vH(2)6+9EGqba^Z{EC_o12@TpI=y5SX^8biA0cj>qY$lA~nbxPa!&C
zu$mg`OY>TK<}eSK12l%IF?DpG!V-0@d@BkYlXMMpg0lep88I%nH28pK5h2~o?kkh6
z2b2xQChiFj0eW(#g;VTwwMJ5_?EDvp>#4GK+r2+JC89@-_OzrTH4{qP8k0!hnWK}9
zap_c+yqJ92gY!};(l)Zfx*I7zMHm#j&@PQG;7HGJgfynxUXLv`)H1{Pg;t0}hNdo2
zEzCw6`;fZ{f2sO<=B5-4@O@rsqC&BzvE4Uy6nRmKzwG>WQa)|oDe}n~loonAD-5{>
z?UL_)*}^8e6BlB4$-lNLQ?wCd`#X$Xp*I-B46&`*HeU)u(UfY42oW;RS(7rB(NZ(l
zVXa9y3Fg@)<UAV=k|s&g$+U8&yrr~RC#RuIwcjenwn!;gJ(Dn#<_D#jCax#DV~#dG
z&_DsMq49tss>|wdEu-^Mr$bM<2lcshb1_0+qU%7*YY5d4R}04b5q{6gDK#lN_Yz+3
zA)Yn+Y!&vbrDwhDx#Nq+`TkLUbU3j!TN`d7b-gn)W>MmQ_}fG`$z)HJCVV5zccWav
z)VK6731;9=Y1sl!Lg@h;g8A<FUJ<^TgvzoZFQD;_&8IgR`{WUJRlbmA;Sl932_{TT
z%sWd@8CVn8Qmhwxe}UI!<BXS3f(1~5(i1pRSDDUEkwP>mhLs23E}Fg8bsA}jW84be
zJj3a&!EX+(#)=!^aPHuvE0%9D^z0oWQl`8qV(5Oxp*_o)rkOg&mhP%-u(0<l%wsyu
zjEZeHX`!=T-(<BH60-w*Yh5Ncj8gvJDAkNx<%12z`o`PP8s{X$^wlUWpak77d|x74
z$y96KIn2KqM=1qfYYm+IC&8kFgtYSDRJ+nmqYcVvzeMz{HE`Q8heMxy&hAK)pCY!Y
z6Z~P{v+~sjhSBOz*w@EPiirBzII}NLCInV0bB$~Orb0vjTXU_iV#SOhnfwYd+vP};
zmk4fUU*vMRqH3~RL*oOI+$y&wq?#d?K2yE4_bJKeZH}x(s=L;(OMP18nPf0|fw~rH
zDALLkq8wC4b(I~tp=x{7IUZcG8mV}hGG(2zE-}TXB8Co6LTI6vD9`3Xed=NUhhuna
zPUK3YMnQRAj;~9Y?GjRM`O!N<JxvW{f}d|~l{(44GkwT@M1V{n22jb=uTe;EK1dgW
z;Q)^haCqUY2o^ME97iGd@L6;&3aMUKOBlxiJUfgDa*hN3EN*xlj~^|tLm^3IAHbW(
z6$tsq!h|dy7YG7{0EN$s00jc*l+H#WnL=TV+m0P^ad8;V>XS@f3?_`nfh@f|7!XJ#
zk%OqjKq3JM^2G-d4?(;7)p&sb<S^Kfr#P0732gK#x23xGeF0={7zU!?#RE7j78-z{
zkjHfZ_6MMlepnLVh=(qE;{)&nJXH3-4%N4*OqKwE+;Tv!5VFE%16-aEpvT03bUwi1
z0ud}W2o<c%<&sxAzy~8)0wKtU+{c1^^;}@oKLZHDdw+nC;fTS)5ikQBOdF>DCoC_x
zFgMyk0aQ)fOAm{tLDLuoh6x2UK0R(bi$jkD1vEB~9?s%M(#YylM@%FuVp#;fssZ~@
e5vO$#&5sswUKi2&Xpx=kB8ZO`!7YivcK-uGv{KRl

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/shared/right-btn.gif b/static/extjs/resources/images/default/shared/right-btn.gif
new file mode 100644
index 0000000000000000000000000000000000000000..dee63e2113fcca680699455e8a56ee3eecc81c40
GIT binary patch
literal 871
zcmZ?wbhEHb<Y(Y#_|Cu}WsoatQLE_Gs_r>SKV^zd-BO3vC604f{{R1<VHAvpz;F)%
z9gqh>d4Yk$hk=zr!efJiBO@aVPsE804;fk*WxQe}6c#pgOBlzkIk8cxsZYUC>4${T
q6OT!%mh)U@eo8sjryPH%CUe8H16^j>kIqCIFfh!NVPs)pum%9ETq}wI

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/shared/warning.gif b/static/extjs/resources/images/default/shared/warning.gif
new file mode 100644
index 0000000000000000000000000000000000000000..806d4bc09385a98ef1ac19d25e30a21310964e7e
GIT binary patch
literal 960
zcmZ?wbhEHb6krfwXlDR{f&hVn2muENhm@owhyM-@5dsqm1SVuCOej#8P@%A(LSO-q
zY!KMcp>SY^z=a6{7Zxa7SYhyB1;c|43=ehyk-&!?1`l=wJUAfm;Do@30|Fm_<OP8b
zH-MzVhZ_nXE*N}xpzz@Z5E(o;5b)uJ!-o$6A3h{}_)yT=($LyJyLal`2{YzRnZ01f
zyoIyouUxQd$I=bE)^6RsW!tuGJGX7$yKURvoqP9f-*;r!<#U@poM`y)1BfPk__5%?
zfdj`+A3b~J{P`>AFI_r#;p+LTS5IEMaRKbDQDQU%2#0{;PZnkd237_gkWx^dVBna`
zz|A4!v0=eMCPx*A6NM8NOc1gSve|KQ1H(iiYYu@O7ZQ#gR8*}I_~Dqq(8*@R^@`(W
z@)HIIWfz?e!wVeVa#HbKFBUvx;Axbo`SPIg5jz8ey-mRe1I2~|N`gTPEE1a-8hE@l
zIU)=NI+%skoc{dSsL0&PpvCnl!Qs*I)AH$&GFuihv|L@Lt98xe!$KzpaZ%Pw4hauj
N9~|!BW@BNn1^{&szCZu~

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/sizer/e-handle-dark.gif b/static/extjs/resources/images/default/sizer/e-handle-dark.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b5486c1a95bcc0f39a88c15c10c04ef7c3c561dd
GIT binary patch
literal 1062
zcmZ?wbhEHb<YKtM-p&95p^ZEL|NjqWjuN9GFtS2G@h1y2$j3S$0+c5hIQ}y*a>#gW
zSa7hJLs%>3#D;~3+Xa-p=6GyebhKN-IP1=djf;=>D>!$_cy3y9a<WG7s+g0TmY$w&
zkbG*6=jLT+XIm7%x^r^#^7Hc@nz>}Xwye0g*kiI*?5Qm)FE0;R>^0YG>#D1(BQ|H<
zJ+*c9_4NsdyJWq$t+}~5<MOK5)7#eG-d^zd)LifF>+bHZ`26bb>Fw+9?{8q{mh;)M
z;o;#9VePmxJJK5%IOMq<G!l%C9G}P>VHRPj^sIT3W`5a^n+Y$P=Sr`RJG*P^>+2hm
zPtWt+z3uJo9mTKjo!!0t{rv;Y-12^Vc6@w%VzPGpxjj2SKfkcpd%oY^U0+|{*qnX;
T+}_>a-#<9q&HP<TfWaC7Jd~Un

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/sizer/e-handle.gif b/static/extjs/resources/images/default/sizer/e-handle.gif
new file mode 100644
index 0000000000000000000000000000000000000000..00ba83500851702fd0afca2129c5b53004ffd1e3
GIT binary patch
literal 1586
zcmZ?wbhEHb<YKtM-p;^Kw&v5}TR%_T`*q>*pKCAv-hK1$|Ns9CqhK@yMn(uI{$v4q
z^gn|R$h)9C!NBpKfm=XAL80MbGZUwri^YZqhZs0z^?H5?BpvP&kx!db5t!`W$7S2b
zqB-%Q$7EIBJeSUo%H9(-b?1e=ob=3RreXN4Gm*mSr)OK$9{O`qIOF^RkA5xFQ(IO9
zFA8Y)Qk9(g>dN%6%}IB6ZPp537_~c2R9fuK^(DT0C)w`)@-kv`_TxiyyRYTm+?Dlm
z+u82#x%YQh|7ByF6IPITsO+X(*qn%W@yBY|oz3n<yiYnl$uNFf%+HO_&ds!RzxO86
z<mtr)p6z;PtF~re-4J}*&G+|~+#_2H@6TJa+x-3g`NhoUZ>@jiJwDpWpD!D2@#*RM
zbouaqd#t{`KC@K){5zTIFYoRwZ~uS)Uu;d~r?Y35yRVo1RrUSt+WvO_e>SyWKknT>
zJ%9fHy1zfqK96ts%NTLLo=K|Xej|%gL_(8*oyNju5wi@%W(mC&iq(=uJ08}`wQ)S^
zU@r4m)TA`+$HFenMHNXcqO(ps>K2aMv8dblS;yl(gIhO}`i(wCBu{X-7xARuS!$-r
zBtxy6DwFLl{a7+3@KuG%R2RL@rISOsESFA=YWlf!dTg9#+RVgBGoQ{#TXpj3tc*=F
z(`J{P%UnLE;@C>{IW_xUs!yq9`t^KTlbF|wh3RZvD`vN;S*=*yYqTq4ZlxC2%O&OS
zey&(Dz3kM><x{exGFMD%nw7b7N#3kiE0(Xi^{OA37$yX-VcU}8u(s}~l{UkUq7rR4
zQN<<NZd-2M(snwy%4Ch((W)=2S5I}))>?LPQ<U!3%T>FywyoHAYVDT0ajVyEf83S5
zYUk}~v)}G~z3g<}j<=J3>+SdwC9S{f)2`L|`~Ez7{eCaQVeNvw_itHmILNZPy5Jy>
z_M8uUINa|T91(v1`~4w4?>U7>|FZqra8xea=i@Pz{v4wd67%mAp3<n_v+1<>VHu<2
zhTV5Ioz;IFV|><ldX4dUo##AT&N#k*v-yI%^x93A?A7mnzT|JtTY522+1B)8#OoN-
z%VFMcORpys>wdeI5}aFh%{jYv+pP@iy=AuwcHjMWHRrml`Q7q*+i$mvZu8$Qzn3`O
RcKf}i-@V(HGcqz*0{{svxFG-l

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/sizer/ne-handle-dark.gif b/static/extjs/resources/images/default/sizer/ne-handle-dark.gif
new file mode 100644
index 0000000000000000000000000000000000000000..04e5ecf7d3837aec9510f5467282c10f158a5563
GIT binary patch
literal 839
zcmZ?wbhEHb<YM4rXlDR{(8itr|NjRwM~Tr87+E2p_>+Yh<YOHW0m>5$94ZWq95Nmo
l794Em;N}uwNKib;z{ui|Vj-Z!(9Iz$HK#)0@qq>gYXJ2^5-b1!

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/sizer/ne-handle.gif b/static/extjs/resources/images/default/sizer/ne-handle.gif
new file mode 100644
index 0000000000000000000000000000000000000000..09405c7ac7b321b3eb9170b1584167448819a071
GIT binary patch
literal 854
zcmZ?wbhEHb<YM4rXlGz3Tl4Agt)D0F{<`q^&*i6ouf6zt<K@4bum0V6{qOFZfB*mg
zXBY*eAuxPHK=CIF&~yJ8bU<DN<p~B3V+Ljp8IKJM4mNXe@&zn#U~q0?V9@AT!JyQ@
fD99>c63}qqP#3eHjE2L+1SS?XB|ZfS0S0RTeD^Ni

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/sizer/nw-handle-dark.gif b/static/extjs/resources/images/default/sizer/nw-handle-dark.gif
new file mode 100644
index 0000000000000000000000000000000000000000..6e49d6967c08db2c02a3aeb9c1f3cacb9c8665f6
GIT binary patch
literal 839
zcmZ?wbhEHb<YM4rXlDR{(8itr|NjRwM~Tr87+E2p_>+Yh<YOHW0m>5$94ZWq95Nmo
l794Em5abeINJw;KWMp#S2{2G%=w_Cco6{kn+|a;a4FKuB5a0j+

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/sizer/nw-handle.gif b/static/extjs/resources/images/default/sizer/nw-handle.gif
new file mode 100644
index 0000000000000000000000000000000000000000..2fcea8a9285dc74626ba9374055b25ab77e53a08
GIT binary patch
literal 853
zcmZ?wbhEHb<YM4rXlGz3Tl4Agt)D0F{<`q^&*i6ouf6zt<K@4bum0V6{qOFZfB*mg
zXBY*eAuxPHK=CIF&~yJ8bU<DN<p~B3BL-#;8IKJM4mNWLY6U1HJY;AB3U_ccEMVwl
dR&fe3XmDU;7El$lXlO`qV_*|d;oxAf1^`atE@%J%

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/sizer/s-handle-dark.gif b/static/extjs/resources/images/default/sizer/s-handle-dark.gif
new file mode 100644
index 0000000000000000000000000000000000000000..4eb5f0fccb6d0e43905f732d10cd41533745c092
GIT binary patch
literal 1060
zcmZ?wbhEHbyui-I(9Qq?p^ZEL|NjqWjuN9GFtS2G@h1y2$j3S$0+c5hIQ}y*a>#gW
zSa7hJLs%>3#D;~3+Xa-p=6GyebhKN-IP1=djf;=>D>!$_cy3y9a<WG7s+g0TmY$w&
zkbG*6=jLT+XIm7%x^r^#^7Hc@nz>}Xwye0g*kiI*?5UEB1_q}2ZmnDnS(jHwY|grS
zYU}Fj>k|%l$$D>Fb8~aX<yEn#Kd)?9#dvR5>+fl6@9wVn{Oa!M?d$LFZ(!z@^VzW>
zaVFC%HL)EM4v!B{Q1+hZvvbqa(=&{-@15DX`T6+;&fRjpySBW%ydrpY+}T}QUtiyl
ze0rYm?rm>x?<jtK@9ggF@9!UI=9c%{v*Y9A6O*;$&+Xay`T2##-t+zT?)v)r#^&t%
R=l1UY{{F#qHbxc(YXFYFo9h4o

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/sizer/s-handle.gif b/static/extjs/resources/images/default/sizer/s-handle.gif
new file mode 100644
index 0000000000000000000000000000000000000000..bf069c243a3f5c59c4019e832bc571371987f030
GIT binary patch
literal 1318
zcmZ?wbhEHbyui-I(9Xb6w&v5}TR%_T`*q>*pKCAv-hK1$|Ns9CqhK@yMn(uI{$v4q
z^gn|R$h)9C!NBpKfty3dW5a@j%^bp7F()=GJlrmz>@~+@<D#S862@6~PHbF!ykEh&
zOU854l9Q7)f>*_y+_d!cbc5tmb38XMJ3HH=_|=`0o0p%T&eFss>$PRY#l;?zwPH_g
zS$TPRz+$htURzgPT^+GG>+Y$otFNz5INT-cy=~3S%^8<h#cGQ%G%Uz_xKCAJ`r5m@
zD?Y!vdwTo&`}-T1x#fIzY)D+kETkQGX2-_I$0sOz&-2;2>FMbi#@YAI?A-kP`~v50
zIp1AdUS3`iygKgeuC1@HZ%95pZ|#k>jf~q0nRm>cz3u(|1I^s>etUL&e0*ZEcKo?L
zJ3n7!TI4<7Z||<JuWxM5zJG4-?(gp(9Pa)v@4s))&(AL|uZ};zZ}0E#A0D5c@4tWF
z-`_tzzrJsOx1sUHKgJ*P85lpMKWOAoTk)WY$Lz&}W&t;ihb<yu84s%%Q&v1|lPP=g
zuw9`|<57pow2Vic8p~EZ>eAWv;!(H3F^$JPCf70^_gXw#@wm_C+l$Bj4s4oFCb)=Y
zKAGsDw(`j&AG4QFCI`4_KAjR0micsQMB2)y(_+eAKAoP>rul3}%CyX9Gc%U0d^Rg*
z+skLO3yx_%pHp%z^ZDG0XDgr2tNHfw`TPbptrrVg#Ijy2>`+_vVo{ITs~3wWxM{sy
zG9@hQ<<c2xt6nafQ}*iR@&#>LuU0IXmi21oie;-_ty;6~)vMJTjxl$oIxtuR03tF%
AKmY&$

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/sizer/se-handle-dark.gif b/static/extjs/resources/images/default/sizer/se-handle-dark.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c4c1087868afab5b5bfd329f52d9907eb1c0061a
GIT binary patch
literal 838
zcmZ?wbhEHb<YM4rXlDR{(8itr|NjRwM~Tr87+E2p_>+YZ<YOHW0m>5$9Lfxg96SOJ
k3mltSSY>Q9925^Vv52er?AV~l(9La}b>~E3vIB!P0N;ZWjQ{`u

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/sizer/se-handle.gif b/static/extjs/resources/images/default/sizer/se-handle.gif
new file mode 100644
index 0000000000000000000000000000000000000000..972055e7b297a702ab9aa2d799d133b94ac92315
GIT binary patch
literal 853
zcmZ?wbhEHb<YM4rXlGz3Tl4Agt)D0F{<`q^&*i6ouf6zt<K@4bum0V6{qOFZfB*mg
zXBY*eAuxPHK=CIF&~yJ8bU<DN<p~B3BL-mw0|tfz4GbL23Kjti7Bsam@`xxHI2=6O
f!pbfp!f<h+bBCxX#|Dm#OHNMK2%g5n!C(ylO93$s

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/sizer/square.gif b/static/extjs/resources/images/default/sizer/square.gif
new file mode 100644
index 0000000000000000000000000000000000000000..14ce6f7251071ecadda2c968ebdcc5047018de50
GIT binary patch
literal 864
zcmZ?wbhEHb<YwSzXlGzZoqYb-ou4P~{XBjD*SUwkE<XNs<>{~M&wt%~@%zrJ-wdN*
zGz5lq2q^w!0s8MhgAT}-pgh6AVaveCA>$E{(A3N!$mMciL!xsdyOP%wjSCG&yTw_>
nZk(97*nvsGxlP1k!4l8OOsp$nb_OLhOgBgro5QJ~z+epkjJq?f

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/sizer/sw-handle-dark.gif b/static/extjs/resources/images/default/sizer/sw-handle-dark.gif
new file mode 100644
index 0000000000000000000000000000000000000000..77224b0c06f1666685286c5322fb02b4cd2204bc
GIT binary patch
literal 839
zcmZ?wbhEHb<YM4rXlDR{(8itr|NjRwM~Tr87+E2p_>+Yh<YOHW0m>5$94ZWq93m15
l2M#ndammSOI2<_C%q421Gvk7Sb33nm)}0d@l^YrutN|0L6o3E#

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/sizer/sw-handle.gif b/static/extjs/resources/images/default/sizer/sw-handle.gif
new file mode 100644
index 0000000000000000000000000000000000000000..3ca0ed96df2059fe283c1d65fa1032a777e1ff97
GIT binary patch
literal 855
zcmZ?wbhEHb<YM4rXlGz3Tl4Agt)D0F{<`q^&*i6ouf6zt<K@4bum0V6{qOFZfB*mg
zXBY*eAuxPHK=CIF&~yJ8bU<DN<p~B369#4u9s?kknL~(&XTgDlMrIB%tpI}t2S#RY
fRtX&rheZe5WZC^h3<?h%nyeALDn?R4fx#L8IQK4b

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/slider/slider-bg.png b/static/extjs/resources/images/default/slider/slider-bg.png
new file mode 100644
index 0000000000000000000000000000000000000000..999919424c820e7494e29e8d701df9b697ce9ed3
GIT binary patch
literal 300
zcmeAS@N?(olHy`uVBq!ia0vp^>_F_q!3-qVNZQx|DV-A6h!W?b)Wnj^{5*w_%-mFl
zkc?6VBXb4c#3BVF0|N^M17j-_11m#w1ziJE1B0DgB7cDlD)IDnWxv59C8liseo9Il
zP>8d@BeIx*f$tCqGm2_>H2?)!(j9#r85lP9bN@+X1@ct_d_r9R|Np;d_l_fHFK%AH
z^6>thcW+(4aQ66_;|EtQS$O!!!80cg?%BPQLC5($P(5QwkY6x^!?PP{K#rTIi(^Q|
zt+Nw$@*Xe{IQ-;9=l;Lnc?BNrIk1yMnla18!|Rfx_=~o=7sXGUdm8y8?D5mi^pr2Z
pI^U;TAL(EB=a!G%y}ycg#aS#EpKsu3JPkCF!PC{xWt~$(69A`aaP9yA

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/slider/slider-thumb.png b/static/extjs/resources/images/default/slider/slider-thumb.png
new file mode 100644
index 0000000000000000000000000000000000000000..cd654a4c1680183026145066b4aa1a7802605456
GIT binary patch
literal 933
zcmWktYfO^|6#dFz0*jkYAxr02nPDo(Y#3G2We5n&sxU;xD0?`TAk?4`t&?nHc7tSd
z3BhbUwh=-{CW2C=R96rO(&5-gscoUWiha@ACv=ooX>pu=`*F^>IX5>s$;rK%mHE!r
zP<kjq5L-D%Q?n_JrVtza48{Mv6r!eNKR+#xf8;`80iRcTo{_^lS4iX(Ut+`^Vq_Ft
zV8k(*2@K|&Y!;KvN?^n?SxjbV!umeyZVR82k+x+zkRBfOtf{qzq^yv#quh%G@x1JR
z(8Bf}6HsPgQF2ByL5ORfds+}g5VVS{6FF%D2t*@}2B|}MPbZeUbRIl<0*w=;wPQ=b
z?`n6a+|jLY-PEI&MAPVUrvX|(4Um2e`%%(jTLfgQ7+6BzA_iA*-vjA9y6q6#(c?z9
z1080xnK0zV;4*sMxNd+F82uOI28Pz~hX*%|m;xq%aX_(&E*nG^=m8xSzy&if2bcf@
zAb*O7UN`_dU;`|`V?YBu+JwXk7vKb}fDxDmIt;jNg4~P|Gaec+_!#|K4Cyg2i+fYJ
zJB~Z!=$pY^4LX&$rNFQWf9i0525oYT*`c&TZo#k-4`y+56xsz$&tt*~l?{?Hbg5um
zf?)}|Mf6UgXA;&mJXwQf6{cnUZGy`Wrw@*G*u2m$V$un<4ekvrY{2e?c?Gj>$h3lZ
zsu&tSJM$EgWSu@k&1X2N$vNfP1r2#P<>bx>9-HY>X?dzQ`iE=Wlw;RNCAE=}lB(Zo
z<6gMZclprm#8~&$>T1JWM}M<~-Ml+E|D-6_*cxWgU-Z?i6ust)nk;MoNq#u7uv;l^
zc%Sp4FTSFge0_U;M2mWF(hez^x65SwD7r47cs}l{u%vZ=dWdj%&y6Bm@aZmsp732n
z`nJSRY5d(iFV7q)Zw^u^L<>z!SwVOYYiDTWE^70(u!`A86P*2iZai9?pV48-{<Woy
zE7;HbIQN4}i>yUCV9Ec?o@;sUjk=1>cAm88uY+&dR!6>c{!;b@zv}ZnqTHCISIq3j
zrmRZR!4J?JEO}MEgUxOYRO$OSzfMm1HjkLN%<YS<TI(XTCB;(yHZ2)YeEe3s;zZle
zLFZZY>MA;yI5!rveWW!)Se@qKRd$^E(bb#N7V}{^<G7z}sMQD$><f#kPp&)Qdl&U*
f;|o=%uaKp|chc=sqDJZ;2!fNAncA81$v6K2%TzE&

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/slider/slider-v-bg.png b/static/extjs/resources/images/default/slider/slider-v-bg.png
new file mode 100644
index 0000000000000000000000000000000000000000..121450c282e485da05b0d7e05955bd1398907e85
GIT binary patch
literal 288
zcmeAS@N?(olHy`uVBq!ia0vp^PC(4g!3-q3<+E9Vlun6jM2T}zYGO%dex5=|W^O7&
zNJgoGk-36zVv&N8fq{jBfw7f|ft8`Tg06w7fx*r#k-tEOlz95Ovfp5l5>w%jXPw*+
z6yhxKh%9Dc;5!7ujG`J|4M0JbbVpxD28NCO+<y{5_NfH;gt-3y|9{nzg-6a_ynE~V
zp4~eR@87w3{mMPNcb++M@bHm?XO17daP~M8+f1NA42&f~e!&b5&u*jvIaZ!7jv*Dd
zk`o%3+|<(2)Wq0K8e*q3PVMa#b)KN2Y;kkPj++r0MojIu*)|Kl$&r!CnIhR}`zG)z
a6GP%W#>UBR8*c(lVeoYIb6Mw<&;$UDTwkjI

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/slider/slider-v-thumb.png b/static/extjs/resources/images/default/slider/slider-v-thumb.png
new file mode 100644
index 0000000000000000000000000000000000000000..7b3d7258ada4c81c6fc060bd5eea69524f0ddd65
GIT binary patch
literal 883
zcmWkrX-ty`0R50E#}rYbBu=wW5C%9+p|mz^KUyf-HiDg2qsADUdFzy5J(6V!F6ux{
zaM+2OO$`xO3Uq)R3W!vwP+G1+0l{9h^wh2t1P1Ecw;%7wOWvRN3Pjo4mW8hgCkSGh
zfX~}W=_U$Ep}`bKs$wE3`9_+#SDKM~L?S(L_6#XL@#7IfeEd9_vW3i&<dP|LI-8_3
z(wOu#CY#(uXVU56?72j$7a|p8WrmE<)~t>r8Rg-rR1}uO-*=86B3}KEpj8RNJSwCe
z<7ROQqPp;lkCMd%5%jZYyEu~r&Z9<Saf4f_b@xo5rrT?r#GnTO;H*qv+2yY9_f>1X
zf9j@W8dR9k4|L3<$&YFm<W`iL@s|aacGP>Jnu7Kt{<dNi7y)`dqv0LYvls+SK$R0O
z0~iJ@fFF1Z*nra|PBY*DDr~56<HaNf04v}EYFv2kL;DQ6Kf?~VfoDEw7T^RtK=UNp
zXQBH917HNk0WY91K{Jn6AE25>FYwd>r5Rl|w2Y#50Oj3~YoXAgst?bG&}PJ#5B*LU
z{dhi%PAi5yumtc_57k?YzK3lZCO;fAuuj1>3uQ0r2GKeOg9r8x@cfIq0W`lshXs93
zIA`IVN8>P>-au=Idk*gx@Nx_tR`fbB@($(zCT8GUfYt`J8SN(MT~J+7{6rlSB;A?4
zi{Lm$j#55Vz~hQ9js9@RB1tFCELoIyqu@p3lls?9n^{Tg3m@givo8E|x9G0ECUCv$
zW>S2Nc)=b`i+*yoG<sE3X&NJL<F{Y4lD8Bl7+N%mWhPD=BVW`V7F;0U$sKu@=V;>x
z#+_e9u4`NQ<+fT+t3SUpVSIPU;$N@*R&qb?%B_=I<2M+#S1hId9!oIRt6i-(mIr+o
zmUzJ$m2>{w#i(h~Zhb8&|6|8ij!3;n-D6VqYdY^0h8ofXcZ&8bNx3$};+3(67|G0C
z237+ptgBK!Xd(M@Vq?UoRC)CgD-;F^C*wA|I6wb-VmZG|v7&PSfrH%d3oaQ}7UiZq
zmftCgdwjomxq$gFHJCdQ+PZ_EoJLm54s(eZp<wmli3~ooM7BZ5Y?iG(esLh187tJ?
b-YZ;0M4ZmhwXjuYYD_|qnaxwCANu7#=K2Ne

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/tabs/scroll-left.gif b/static/extjs/resources/images/default/tabs/scroll-left.gif
new file mode 100644
index 0000000000000000000000000000000000000000..9f2f6d1c9e4b17d8af76e4655e913cef103e0566
GIT binary patch
literal 1295
zcmZ?wbhEHbRAJC&XlG#XDOwU%v(DkaLssvulIcf!H$6Ud<I9noUyj}Sa{Ts}lXt$H
zzWe3uy)WnPe>wB$-?_*CE<E^h>A{yP4?kaf^!fVZ&ljHjyZH3q<!Aq{KL2<9#lM?R
zKHq-&`R=pN_nv>g@$%oTSO4z3`gia3-v=)~KYIE3!JEGi-~N64?(ft0f1iK&`{Lu@
zSD*gA`TY0Im%nen{QdCl-?v}?7)HTp2+%PE6o0ZXGcYhQ=z#15<p~Ck{|u}gG9DWi
z9Bk&`)`&T=Vd3F+fq0KO9vc@OVG=VA(%G<R@$r6z@I4v^i<X?6tl{1ha&Xhq)6=!w
zx@LH8Ugj&P9Q@+W$<66q6J?vYWWBZ=_7L%ytQFgp<jTkwu-I$vse>;&S4a5oxH0SN
zs>{3yhr48VA6(hFIb*xfjjnHNf_V!bACgrtUw2uk;$t4KK*H+yJ${-Taz2a<42PQM
zPKxkJ(vROCEp9#6VdthqhN;HZya#U@-alV!X+70p)|aQ38N94n84nr1IKF1C+YDL8
zubH>}>|d1e-fGQTF3`ljJvU-UF#ieLincdQJ1?_cSRCKycQ>=`^>ta}{qLqUet*xy
z)BNWDJCWv}pR=~lGk;&w`1|`i_5=0rzcl^*E&k`x_V*!;|Nk?vt!M}q6Ulhc$Px7*
zgo(%O#e-%}i_n8DB4HVctbU3M9=6Gpbu<L?w`e@-P_cV(g;8VKibq}S7Ecd!8ywSE
z%&a4laG=-X*^0%CrsrNL_vqf(@pytc+t0`SjzXSGCc2-Sv1F39(an?|f2Wy?rv&ed
zSUS~JY=Y`kr=purr#rN1s!fZ`JE=M=cvYtAY~Nj+s&m{=tyG!oF>B|t=_ytT&nMMP
z`uTi9#V?DDDUEfNEBackRz9EIx$NhQITN>8zMMPtSf%EI+Fv_07qYUjFjxZs<-Km4

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/tabs/scroll-right.gif b/static/extjs/resources/images/default/tabs/scroll-right.gif
new file mode 100644
index 0000000000000000000000000000000000000000..4c5e7e3958dd31d9591fb86b76bcea760d402589
GIT binary patch
literal 1300
zcmZ?wbhEHbRAJC&XlG#XDOwU%v(DkaLssvulIcf!H$6Ud<I9noUyj}Sa{Ts}lXt$H
zzWe3uy)WnPe>wB$-?_*CE<E^h>A{yP4?kaf^!fVZ&ljHjyZH3q<!Aq{KL2<9#lM?R
zKHq-&`R=pN_nv>g@$%oTSO4z3`gia3-v=)~KYIE3!JEGi-~N64?(ft0f1iK&`{Lu@
zSD*gA`TY0Im%nen{QdCl-?v}?7)HTp2+%PE6o0ZXGB7YP=z#15<p~Ck{|u}gG9DWi
z9Bk&`)`&T=Vd3F+0q#9BJT@*m+9{-;wM3(^<#@k>bKis=i<X?6tP$=Za&Xhq)6<ny
zR?YC-yv$cr$oj>dlbh4oJ2jiQWW7vW8%1R%X~mwJayU>VV6oTSu17E0R!3~kx?Aw2
z<@$QPLv^y%A<Z{8OR+6*t-jI{y*-h$rS|tXjn>^2nhXpR#NS^OQa!}QC!nD7;IO;8
zMx0HeKEtuD{z(do7CH|P>8bhKX)WCR_&kGEx1E$yOZVv&hST{9O`5VV%#Yn|$HjEy
z<(27&ui0@eG=H;qZ?pX04-d`WZ8%~tlY3xKCG+ufGv&WNSh(rqhAS)OQxEL5Zr*!u
zxBSPm6AoHE-0<YGeC&aJf14QJ-IYJ;Fu(53hOe*XLl5lV|NlRiOzFV}7B063jqa)o
z9yIZo%{UM!=A!YiMI@>~gh?W8#ltoZnb3pn3T+xmtnRW2k2*D$RU8Q9-}2&7w}D*%
z12@~1jK{qeQU;5eZN9yD+|MU+!Ku&XmWIj%k8c_&6J6zIs!Z}Wnz?wg|38VPQ_O=R
zmrim{nwiQS9d&c*bki)!XH!#V?Npr=w<=O~cEqlqDszHP%~YA|bBpuojLarUwdpBR
zFQ3nM{B-l#g8D}{RTia7NvSW+wu(|;lJ7N3eQ9yjE{%mYT3$=$IaFDxF7sq#VXy`O
DM15!0

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/tabs/scroller-bg.gif b/static/extjs/resources/images/default/tabs/scroller-bg.gif
new file mode 100644
index 0000000000000000000000000000000000000000..099b90d8aca10ad0e0a87552e5eca975a72f985a
GIT binary patch
literal 1100
zcmZ?wbhEHbRAvxkXlGzB3f<)J-=TNY<C(i(oO$%`{FC1opZ&S~?BA6a|E|6IfA9IX
z+pqrJeDnX_o4*g<{(bWP@59gkpMCiI?A!lWpZ>o33`GCmeE$39%ip(O{=Nqa{`~*`
z?|&d*7zLvtFcd;S@h1x-0|O(24#=^fJi);6pMjM_#$&^RgUzhWECL4>E<D^WpzKwn
zk)X)VDq);;=fuWjH$Eom3K`F!WadVG1HOopo1QlG>Ln-DC~RnIVicC$7cz76!_!<$
z>JQ$${Hzu@UzjE8z|Ms$FE5w2*ptE~x+;X5$?(CI16#El)=4dqV*M?ebAwTWCGCLb
z!rW*EhC5yYr?2V8>?~$a3FsDXisvX`{L|_%{qTbW%}d{jE|}`vc)XF(rY@$UsPV+)
zrOQ%#E;pnzH`+^U=vaM8Kg*>5z~#U!(>vEVxDMCxM!#ZRY9ajM9&bW<)1iIUzyH}X
ztY+Y{kkp7jH^=eevkOau1SA?YzdQ|GUUZ`%w(=VXldOd1+nvQV=ce<q=mkh_Rz34g
h$52n8V!@Kyes&figU-Mwe<!jis61$3Vq;;j1^}m8&8+|c

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/tabs/tab-btm-inactive-left-bg.gif b/static/extjs/resources/images/default/tabs/tab-btm-inactive-left-bg.gif
new file mode 100644
index 0000000000000000000000000000000000000000..188bf940c64cb483a289ca3f6a0b2cfb16a05af9
GIT binary patch
literal 886
zcmZ?wbhEHbWM(jAXlG#P-Sl|o?iaK6yqdlD)q+EBmmmMQ`t;{B_r9Hb@cqoAe-|G9
zxb*nP<!Aq{Jo$O;*{>VVf8Tof`}V7UcV7Lu_vY_|cfTII{rlwo-)A5GzWVg{)n_33
z|K{`GH(&m~{qpzyxBo!EFbYOPU=W9Z;!hT!>;5z7fZPbm6AT=|49qGs6ec`4(8R&7
zWpctG@o+1jveTR&8<d>bSd<0UIDB9_$ireT@Wf$*vuBf>3d;uuMTd5FMl%bJhJ}p`
byxeRN0S*aFO-%B91_mD*nV1<E85yhrg)DN}

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/tabs/tab-btm-inactive-right-bg.gif b/static/extjs/resources/images/default/tabs/tab-btm-inactive-right-bg.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e1f5e3c5182e7d62c4b1a80532b71eab66a7271d
GIT binary patch
literal 1386
zcmZ?wbhEHb)L}GYXlG#P-Sl|o?iaK6yqdlD)q+EBmmmMQ`t;{B_r9Hb@cqoAe-|G9
zxb*nP<!Aq{Jo$O;*{>VVf8Tof`}V7UcV7Lu_vY_|cfTII{rlwo-)A5GzWVg{)n_33
z|K{`GH(&m~{qpzyxBo!EFbYOPU=W9Z;!hT!>;5z7fZPbm6AT>x8PqvsJT@#i*vuiU
z6?0<4!o%$X%3gCkHZD5aEoRSf;Kato$NLqWyJS2!B{ngr2Cs@axoPR?Y3lK(=6G&i
zc6O>^{;NADH!nXw$F7-6)@zIMg+(5dwPLGER$g8nkZIQIwRKf!fAIROyQe}EudPcs
z9QRji+nSq8QqHf6-EFLUdwW6Rq8{(<>tc3SeC{e)y?y=t)|&rZayE(v4-Z%JD#yu$
z8$LdsCF?v-Cd}yR=_uXgdorQM&(C|=Hp|(Dn7q7f<GVO6HrVv_b-mcb^X3Mby}hj{
zdFJTZ>hzYodz&w>VTjrBahiCSe0-cybJ4R4j(HVwd#&8~uB^?Te?#&2xA%OzoBzw}
z2R5}c2wYkne}3QI-`_txK0V)m|GvM!e|&y@|NQ>_|NlL=Rd~?AB9`%>kwb08gC-uc
z7Y~{R+%z7xh=gT4Y!xeeexOaJ?8U=&g*J^x9V*i@9(8IgTk)t%XWNTM-3I$CVwp{@
zWjyY+c(&qkpUt-ykNX|iG@ndx5zBls(L=3Mg^f|?!IQ}WZkkW0goI^2of?t0^69jg
zvX@V%C$wokn~{{I(7=?jY~{0AIon=7n_X~B^ZA^TYnjjIRy<qzd|u7Blgn9|6%<}9
zXc5bLv9LpJ)r&<vX0Ki>p5UhSa><mitd~ot`8gb5oKyDd<?;n>TCY|tnU?ix<%(si
zUaeZQ?bWN*8;-eiy=G^vNqD_>$Fo(h*X{ZC>h<~qY}#)&91+WYv+;!5>NlHCNgZHd
qxZtM!cFUEp?6+HQq^*9t?M~V2x7#1IX}{a?WSX}gvj__dgEat$YLPww

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/tabs/tab-btm-left-bg.gif b/static/extjs/resources/images/default/tabs/tab-btm-left-bg.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e695186d5ebb450c6ebf6b6ef270ba407c735977
GIT binary patch
literal 863
zcmZ?wbhEHbWM(j8XlG#P-SqhEz0a4Q{k!+(?}K;0UVi%X`tzT6U;lpi_V@FTzh8g;
z`|<nVuRs6({`(IE45MH)1cp}#DE?#tdgwoc4#-=eJi)+W!@zFApfKUVfhG=qEt3-l
ziHBSHl%3}M*s#c@TSQh&A|v5JV<QKfn#78P2ThGUY-SQK6c`#BnHV?}1OynY0lN=E
A&Hw-a

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/tabs/tab-btm-right-bg.gif b/static/extjs/resources/images/default/tabs/tab-btm-right-bg.gif
new file mode 100644
index 0000000000000000000000000000000000000000..dde796870137f9f9e091100ec800072498b64f80
GIT binary patch
literal 1402
zcmZ?wbhEHb)L}GYXlG#P-SqhEz0a4Q{k!+(?}K;0UVi%X`tzT6U;lpi_V@FTzh8g;
z`|<nVuRs6({`(IE45MH)1cp}#DE?#tdgwoc4#-=eJi);6pMlXr!ePULgUuYmS}`X!
zEIiyUpzJlrW8<Qu-4e!0A}cm7KHjh3+$H0=>4|fnTJWlvlbe=$Pt%A$HOF)Fva?eR
z^IzRLxmo@E9J^*NS+5Y~3yVA^Yx!1{th~HDAl0nbYwN13eZlLq?w$%wytXdkaM)k1
zZEJ2WN;$tOw%S<t_V$ACUA^Ah-yPps_W9M^j`H>Q_jCSclKT^G@bGXMuX5a<FvG{k
z(`23J-3c{%dOA!u`QD!p<LBo+Y@6j|Lrh*?w(?yZXB%w#`nm!8p?Pbsn7+NOnEUu%
zZiw0Y`?<Bu@_L~bA0HR>D#!Z;nSXxHI@h^gZ$rb^*Ecq2-#@o^_xJY?4tM{T_useY
z=jRufSI4i9ThRFZ!{gKQ{rB(t`}@b|*Z0rw-w!MY*fbtAu<&VIVB}C+@t}#v?8Sp-
z0XL0@Eh1qV4_hVDRy=HzDLb*yfulv^QHRR3j7Oas%T_$<(%JUnQMbV{jmJGE*D{iO
znN$}%?z8#!;&HzNo92@VE@GKaCVHr?d@{+$?B$cmeq2iqObH3gd^$BEZROKxF=a2G
zPETmld^RIxTIREv8S^wRFy(A}`D}K<G0o?5O0H!-pIh;4<@0$p-(EhS-@wMT!huI5
z>&3zjwN)<`^_abSv3P=;*2^VR!m?g2osqUGa~YHAgO|$}v}wIsv1D4-tCcI3t$MX;
z&9+ysR&O{KuJwA&CMJOf<{i&gy<WHH+pE{>53p&!*>FTG`_0A^YOCLDI%9Tv4Z}7o
z?YCR5gk`_odLwQ1+6^oY+y}NlXw!bT<H@w_cROD!Tm5d=n{BV(?f!5~`~99Tr=$fK
FtO3(?c+mg=

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/tabs/tab-close.gif b/static/extjs/resources/images/default/tabs/tab-close.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e699878484183bf770efe1e9376a6d0d36b5f1fa
GIT binary patch
literal 896
zcmZ?wbhEHb<YwSzXlGyusao&w-yynTb5h%mjP5=86A$!mdOUOYi{rOHpMUcE((^yp
zUjBRd`TvV=|3Ccv|K->J?|=UP{`(&Y7)HTp2n_uYQ2fcl%)r3Npab#>C{HkO#4<3m
zSU7BWz}U#Fsu82{@Bt$ykATIDjt0lW%z^?U8V?ebn>bh$O%xm^r7&}_$QvXWEO>f~
vokdbbz+rM46PqC~1H*!Z<&1OKC3FlnEYJv?!yK*^TN$w6U=tHF6N5DXg62z6

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/tabs/tab-strip-bg.gif b/static/extjs/resources/images/default/tabs/tab-strip-bg.gif
new file mode 100644
index 0000000000000000000000000000000000000000..34f13334511d9d8efe3dee18e6f69f3d1277f8e6
GIT binary patch
literal 835
zcmZ?wbhEHbWMq(HXlGzJee3<1+wafb{&4orhjVv6oWJ|w!rhM-?|r;<|I_6MpRPRk
zboC(+eZKbS^YurcZ#@2d^U0T6PruxL`t{DUuXlmy`PX~TzukZFjbRjwhQJUE0mYvz
zKv(}~&;hv}lqVQC6d3d)RyZU!wQvY1*c4o7ILO4xDIjB!uz;bFk%@_cgM+~u0EV(m
Avj6}9

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/tabs/tab-strip-bg.png b/static/extjs/resources/images/default/tabs/tab-strip-bg.png
new file mode 100644
index 0000000000000000000000000000000000000000..fa8ab3f462f07ad14c7dbbf76117118a302e35a9
GIT binary patch
literal 259
zcmeAS@N?(olHy`uVBq!ia0y~yU~>SnxjEQ?q`I@C5s=a;ag8W(E=o--$;{7F2+7P%
zWe87AQ7|%Ba7j&8FfuSOQ!q5JGBmO>HB!(uFf}kZ+p+j0P#=4Vr>`sfH6CexDft?u
z8*)G)&H|6fVg?4eLm<qUccIh{D9DoT=<CS9u(6-}Pa-RjALZ%d7*cWT?LkIHAg@W`
h|N1-+2N07|a7RK|ih=QmLRuThBu`gAmvv4FO#sfTFE;=H

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/tabs/tab-strip-btm-bg.gif b/static/extjs/resources/images/default/tabs/tab-strip-btm-bg.gif
new file mode 100644
index 0000000000000000000000000000000000000000..5eaba1eaa33086243ab1ffed1402e8e4904443b0
GIT binary patch
literal 826
zcmZ?wbhEHbWMq(HXlG#9dExDeTOZHe|9auU*GrGSU4H!S>eKJnpZ&P`;>Yb*KkvN$
zdGGD72k(9{jDpb+7>*&J_>%?bt^W)<AkTsF1OtaSkmgWGU}$7w<5Tchkigj7E}-nh
I!@*z;0OedO^#A|>

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/tabs/tabs-sprite.gif b/static/extjs/resources/images/default/tabs/tabs-sprite.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e969fb0b7338c81f8e22e3f69f82fe49fb9b3d2d
GIT binary patch
literal 2120
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
aY~k|oDS;V9tOD~>PCR>kAPR$l-2Vk@&nw{o

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/toolbar/bg.gif b/static/extjs/resources/images/default/toolbar/bg.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0b085bf24e173f7a2568c347f3245bdaade1579b
GIT binary patch
literal 904
zcmZ?wbhEHbWMZ&jXlGzJdGqb5TR`;g^zC<NZofNw2Z-LEyZi3k-S_A2y*qdB{dpj|
z|KY;D4;Su#xCmrC_;BIjhl>wCTzUXRA1^)paQWfKD-S<iee~(tV<7r`{mJJWPd?v#
z3PfLSJ^S+E>o0~;Fd71bH3SrYvH+d-pFs!YKv14w;7Da~Z1~~up_!du)~evahJ_E=
zc%_Uy&NM7kYU38y$=KqsP`Q;;Sgxby!h)1$R&Ie6E(r^kHZrktoKP`HXkcJuWMa6%
p$*}A^6FZ-Z#4LwKrYSs=j0zqwFtu<5D0@r@Sh(uyYDPu|YXAnXewY9N

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/toolbar/btn-arrow-light.gif b/static/extjs/resources/images/default/toolbar/btn-arrow-light.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b0e24b55e7ee53b419bdd5d769bb036b19fe9592
GIT binary patch
literal 916
zcmZ?wbhEHb<YGu+_|Cxa|Nno7{|>Q@i%X_#s+qO5ao&#Bg}b_z?(JW>fAX3`Gd3KV
zv*q~0?WdOQKC^1y`Sph`ZaH>k$H{AZ&)(dB?ha5d!zdUHfuS4%ia%Kx85kHDbU>Z}
z<p~CkLI!3I8IKJM4mNWLYq?l3HaNEnbC|VcY)CxPEH0jP=fuXv$NLqWyJS2!Ejc+^
zBY0KJNh1eFE)L!UHWdlW99hh`)lPT@FrMk;SJ#=rX`;kDTa4B0#LSC~=NtLwakVIz
ZI<&0P-JEsz)YjG4*C!kn<KbYi1^{W-TqXbj

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/toolbar/btn-arrow.gif b/static/extjs/resources/images/default/toolbar/btn-arrow.gif
new file mode 100644
index 0000000000000000000000000000000000000000..8acb4608d8f766bd4d808bd02712129272e8365a
GIT binary patch
literal 919
zcmZ?wbhEHb<YGu+XlGzxuqko)?-1L#xMa$vnps;L=j~`+xT|aF-u{*QC$Bj)W5ba-
zTaGW>ernn7GpqKUUw`Q0mSb0ToV>R8?9Kh>?)?A%A85cR7!84;8v=?yS(q6Z7#Vax
zUI66@296R2W)2yT4GRu7a|mm>STHs?w+nNawPX}9G%#|o>fAZ8aq;nf1?Mgq&rM5C
zPSyxs6?1aa(*sN*0#Y579~gX_Ir7AO7EE5yG(%Y4FT%k%!-dUUH;Lzh!*aJqzAC;N
dg;0f-Rg6jrr6;$pzP>);aF?w2wgd+TYXG#xTAcs@

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/toolbar/btn-over-bg.gif b/static/extjs/resources/images/default/toolbar/btn-over-bg.gif
new file mode 100644
index 0000000000000000000000000000000000000000..ee2dd9860c799be6dc194b387c36a953c55aac59
GIT binary patch
literal 837
zcmZ?wbhEHbWMoKTXlGzJeCy}&J3mj~|8@T1uggz<Uw`)d_RHV*U;lah?$7fNe_wz8
z`~K_S&p-Zs|Ml<p-~T|sFbYOPU>Jpf;!hT!Z~imrfcyl?6AT<m4DuEk2ND{aSUC73
dG#nBd8W<RqyykdpTy(Ts!Z_<rhM@w3H2@W1Jy`$%

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/toolbar/gray-bg.gif b/static/extjs/resources/images/default/toolbar/gray-bg.gif
new file mode 100644
index 0000000000000000000000000000000000000000..bd49438f33937ef9547dc8300fa73c3c239d9e7e
GIT binary patch
literal 832
zcmZ?wbhEHbWMq(LXlGzJdusRnJ13q$x%BGAwKp%Xzj<}@-J3h_-`xN3_U?!G4?etm
z{PEr65AUA*|Noz16pV(zunPgjpDaK>{b$et`3#gN7&v4Zqzw`_ELgzA$|)pg(Xe14
SBQvX#kb;4O15gDcgEauAx-gUg

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/toolbar/tb-bg.gif b/static/extjs/resources/images/default/toolbar/tb-bg.gif
new file mode 100644
index 0000000000000000000000000000000000000000..4969e4efeb37821bba1319dce59cd339cec06f86
GIT binary patch
literal 862
zcmZ?wbhEHbWML3xXlG!!aPPx~`#|*Z;=K<S?*q}tOZPrpy8rPqka7RhmHVGAJotF=
z!N*G=^y%`0Pgj8G;is!0^!eJOPuCuQzW(^r^~axYJpOd!@#mXB#*<Gso_xOf<TJx4
z7!83z9|DR$S%7Z*&!7WxDJV}ca9A^#mYmqY*xbr3qZ6<qz_E#iOIXRJLE+&+W>x_O
l3y+3|gN<ygEIJ$x2M#naFa$6~oZPhZ^mK#deLNft)&PdKXaxWO

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/toolbar/tb-btn-sprite.gif b/static/extjs/resources/images/default/toolbar/tb-btn-sprite.gif
new file mode 100644
index 0000000000000000000000000000000000000000..19bbef3c687f19a70b72c454bc2542e92b04c893
GIT binary patch
literal 1127
zcmZ?wbhEHbWM-&iXlGz>`0r3Od0)xY0~Iq4Rm?bCJ?B`>oTK&gPd3dz*}CLR%aU_l
zD=ze`x;$asm5J-FP1|y7=C<4Oc0KGp@OARxuQQK*oqzJ{(lcLIpZm7u<fCn;pX@yQ
zZ1;tidoR7-c=6lzE8q5B|90TY+e6phAHMbN$jwj3Z+|&?_uJ`vU(eqEa{j@Wiw{3v
ze)Q?;<B!ijd}kO1qaiR5A)xq^g&Ab84u}Bd2?mb;42%gK4G$T)o3&*&1RQK|<zm$d
zkVz<9#K0}g5;2A202A|Z9vM@PgpG*|+<a^i4GssCT$sd^#WpBhbVzm-V^S1gDG)f^
z)vOg^;c>8ukxPurZ-YfblWU`p4o5<QpaOF!Z;1H@fdh?483c5AS`r!)Sh`tMB6J#}
zJ~Og$NHDm}IKAjy*KVy(%WiZpdf&NUjcK|>&%%PX!%{-|5oZ<}b{tn!>Yw4W=u^Uq
zQpF50j}MM*?7gx+W?f1zJDKabS=0<H8dx|P)qFS{8k-upMA;%XBs@68$|7r}^5H?^
z!FGOLmkx~xrRV3)OGw$zc(XvidH=GRvnryR4!pjxIh)<(fNsKfhWl(y$_n!y{9t;@
z>$Rg*yZqflo?c5Ixr^dQ@Bde4NjsFf-c#W=%hte#Xx8144{oy_EOnT}e!O<U9FFOk
JY>o~L)&NLV<%|FT

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/tree/arrows.gif b/static/extjs/resources/images/default/tree/arrows.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f8ff7b8970158ae5d481592c092db745a3a8f6d8
GIT binary patch
literal 1024
zcmeH`%S%*o6vuy)BTXT3)r#;DOx7$iUnEp0<ihN+QX<GG&`m+KNf&KeIHR`_l+YrW
zMS-*M>bS6>qNrRnXmuy7j3_I#aYmbm&fGh5=W!qB+~0KPzi82i4~N59efh#UeYWHH
ziQYC+Mx2D$Y_{(1?y3d3j+g8Fay>8C`{my6>a7)xW!d53VVBG0cDp%_^LRXSb90UW
zOm3)?VVK%bxiCyez!QPli1s+5%|<nE6rLK!!0-150)e*zz88@f@uL7AlDH(olB9o2
zYRf5Hmhh*9za(6dU{!)Z8dlQyJEMm}p;#;ykH-^<gdhlOX$WRuJp-YvzMj+nWFee|
zNDelPJ*S6dJtFJT97JV(Q^qYB6EemWeN)l53Q|#lgo1IECR8dYC@LtZR5aA6BuOa+
zBo)#sBo$0*G-VtOfu@0GRLE+Em;sv8P}VSuG>241ssO5h8la+6MbE2x9uPHS(mWc_
zyiW5pUx57QpKrjbnoWfClOu(sg`XgnRT8mOo$*fi1})`>FY{jaypyRp*Q#)#g^_(n
zueb8;{JX(w?)JeSMLy@ax$^ixY0B;xYA`cnOw+u*dPn7A&ss28L`c~TGtf&|XSvzp
z9q+$8THIVgOPJl(ou&iz4EfUNAeL>Hnje+d_(s|D9$TyZfqA>>&|Vu$o_Bnm>e|Cy
z7-?ilSw+dvMOU!)is@LN5P#We>YQjOeZ_d~ZN-khUHdy{GHqiIYr8)AtP=z5ot7KV
krf=5p_lK;fJ~ugf+I@>pPF}U&d;LNTycxV!Vj(Sm0qgvcUH||9

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/tree/drop-add.gif b/static/extjs/resources/images/default/tree/drop-add.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b22cd1448efa13c47ad6d3b75bdea8b4031c31e9
GIT binary patch
literal 1001
zcmZ?wbhEHb6krfwXlG!sZ8LT1HFNH_aOtsj?X~gjxA*9E^z3&Ep6U}i%{O4CWB5GR
zxH(~o^CD6fgr+PAPg@j`zBoE{b!f)w;OtcqS!<$mRz>A)jmQU~$dc{RCEH^Pc0?BK
zj4s|4Q@Ag_Y)yK_x{UHY2^CvX>NjQ8>`JNKlUBPgy>f3}?ar*)o!Rv}a|;e8R~}5M
zI+k5?IJ@p(X5I1prmcC+Tl3ns7k2C@@7Z0}wX?EwUq$b}>dE`-8_$%sovdm*S<`y9
zvg=S~|DoE>6ZKu^Yp3pS>N(xmcc!K9QuCyv4O0&^O+Vf`{Y>lRvmG-|x6L@yKI2T+
z?1R&1ADl7ea@VxWol~!LO}o-P{c88ji`{c?Oj>eo%Chs*mR*>(;O5i?H>WMVJ$u!a
zxvQ_tS$1N<@{<eK-(R}^{<6(Cmu>-~Tgx`xUa|S^%B{CoY`?W?%iUF5@2}Z*cg>Eg
z>v!B;zx&SmUDr15xw>=vgZ29!ZQJ`~+mSmvj^5pQ^4^hC_l_QYap3f`!)G2GJNw}H
zxtAxeygq;Z-KCo^FW&ih<H4spkKaCg{O-~74^LlweD?bD%lF^j{Qv)-VHD6Z1QdU=
zFf%Z8Gw6UU0p$q>j$;hsoH8C8796zp$T+b>@c4oQ4ptl9{CxcUY?nYS7uzPr^nkf~
zF-KnfWK`sLl+9v^jSOlzC8As$;v$iu&bdH0ut_86$zxX@GwwqiGMCbLCdz4)g$X=7
zcxoaWQ~HIKhmx0vy2>O}Xevx#ky5l?_wGr-qtgtHrgJ<B4>}!+;FF#5#6#i2*%nh>
zyAFx!#AZoGf3_x%!Zyuz9to2P8w(l~<k^)knHUB(c}j9IJP|qa*@00&H?n}mV8KmA
S2{u*^g@#8PwjOL?um%9^7FNXo

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/tree/drop-between.gif b/static/extjs/resources/images/default/tree/drop-between.gif
new file mode 100644
index 0000000000000000000000000000000000000000..5c6c09d987cf7cee99cf1baec891f85e7477cc02
GIT binary patch
literal 907
zcmZ?wbhEHb6krfwXlGzB^-Oj%*Y>c~334<Jb1_x$Sdd;dHM?$RN$dQY-evuD33Ga~
z7EZ`pJGXq}f{N=$6CPj5dH<+l#gh4Z*Ea3nzkl}10|z&>oIij5|Ns9CqhK@yhFS<H
z{$v3<`9FgW$l;(o!N8HhV8|g7v9PJ7k;5>=VTXXjp>_!!i-ZjhjBP9&d=d&P1P-@w
z2*?REbZj`-z{teJvFE@96*ex`7^N1;;s=LXIk{il(fr(WZkkH%E}e=3)qp;}RJS=1
ZACr#t%8J+VSOzWgoT4>Vi<g7J8UQ~_Qo8^E

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/tree/drop-no.gif b/static/extjs/resources/images/default/tree/drop-no.gif
new file mode 100644
index 0000000000000000000000000000000000000000..9d9c6a9ce1307c5ba072f08bf77d998bb1b716cb
GIT binary patch
literal 949
zcmZ?wbhEHb6krfwXlGzJz`$^jh2@BVz)=yA<1#WQRaDNJn4Gt<xe^d?H6-L_O3JN_
zj5`GdcS}m1OqlR|&YYJ^mb~7u;q8tc@Am9@f8fA}BS$`-IPvMsnXfl)e1GuZ$CD>N
zU%dGJ;lrOVU;h61@&EsShEXsY0)sdN6o0Y+UH6|s2joUjo?zgZ#9+@MbEA=|m5*7N
zuP1?_;V=Wcmd2kAjEoFSyb3l63JeWQEzG)l4<-aOJF{^!n#_11;LyO$#4EyJxnXG=
zBd1*n!vlvz??xWBngt9APKV|*$upc#SeW74&N(&d!GU0fOO1}n=k{oQNIS<b7{xSW
o#)DLkb`|z44+e&(2fD<K^WOX@R60COK-Eu0<6u*JC(vSR0BG)Y<p2Nx

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/tree/drop-over.gif b/static/extjs/resources/images/default/tree/drop-over.gif
new file mode 100644
index 0000000000000000000000000000000000000000..30d1ca7107816233884d23239dd76fce79237fe5
GIT binary patch
literal 911
zcmZ?wbhEHb6krfwXlGzB^-Oj%*Y>c~334<Jb1_x$Sdd;dHM?$RN$dQY-evuD33Ga~
z7EZ`pJGXq}f{N=$6CPj5dH<+l#gh4Z*EX$RzkdJz{j*mdIJlwZ{Q2|u@8AFb|3AYh
z7!84;69S4qS%8lH&!7WxGAK_laO5zUa>!T+I5ReJa7x*DTyS#YWmWQ8@*yChwS&o6
zrsT(mM-FYgx*h@@4;QobG08Hm@c7Wg%*HKZQ}Uv~iG_ooBg3QNK|^B;FB^}5K!V!o
j#p<qME|o!ty_V=Dp7QYsZuXsHRr!lWYs!nm4Gh)*79d!Y

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/tree/drop-under.gif b/static/extjs/resources/images/default/tree/drop-under.gif
new file mode 100644
index 0000000000000000000000000000000000000000..85f66b1e584aece5a5d6d4cf062b8c1f63edce97
GIT binary patch
literal 911
zcmZ?wbhEHb6krfwXlGzB^-Oj%*Y>c~334<Jb1_x$Sdd;dHM?$RN$dQY-evuD33Ga~
z7EZ`pJGXq}f{N=$6CPj5dH<+l#gh4Z*EX$RzkdJz{j*mdIJlwZ{Q2|u@8AFb|3AYh
z7!84;69S4qS%8lH&!7WxGAK_laO5zUa)@LcY-(xbFpY57A>eSRT}sa)VS__s8w&@Y
zgu;q|!z~;Fasmw<8xA%wGBG*Ccx+O2Y*vXZDtTe_=t!5iao(F9ACgZ@)bm{w(wUgh
k*e9SZBf7&RvvH|ppWc*{Usi^4=^EOswG7BU)WBd303hyMjsO4v

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/tree/drop-yes.gif b/static/extjs/resources/images/default/tree/drop-yes.gif
new file mode 100644
index 0000000000000000000000000000000000000000..8aacb307e89d690f46853e01f5c4726bd5d94e31
GIT binary patch
literal 1016
zcmZ?wbhEHb6krfwXlGzhFH%vfSJo_7)vQuAsWC9EH&km;*6LR^?KiY<wYKlJw(qsJ
zpJ`*gP~B&`t<yqdmxacj8`J~0>xFJMjooS=wa?sdwqwu&r?{0KDI0upwuR+x56{~g
zkq<(VSvvztwnvw2k15z6Ua%vwaA$PU&gkM@F@^i$%l9PIZcnS(l~TJWt#)5}{f^9-
z1J*HzZPSi=W*zp-IqIEx!mH#^WYOu+{6mTPhZFOT08vuj(d7JNDFp|U3y&lh98WDi
zo>p==rRYRP$%%~86B%VEGs{k8RUS;KJD6E_Jiqc}cGa2O`cnnX`*Pb46}28MZ8%lj
zaHgpFTzUJ+%FZKY-6tw0oU5O>vwy;#zG=ssCm!gZcDil)nbs*M`lp@kn035;#_6_M
zr`l(nX`gwvYwo%3nHRffUg(*1rFZuAiSsW_n15;F+#8b?UYok``qahOr>(v;d-dhn
ztL{u+dw=%2>kHRkU$E}Z()D+iZN9m5<K5+3ZZ6$&YuTpTE4JQVvE}ZnE%(=Ky}xGL
zg{|8zZry%!>#o~d_ub#R;qm;f57%vfxPJS?4f`H%+y8jS!N=PUJlT2r&He)i4xD~_
z;M%)OH{V=&_T};0@2@}p{P5-1r$2vx|NZy(|Ns9CqkyasQ2fcl%)rpgpaaqk$`cG6
zR~e)^Wjr=4aC9<_3F%-wzQDoVIAhB~=k&AfoLyW-Re?t*%+d(FBC_aGf`Fq$D3_+D
zkjse)Dz(dOBqZEh6jdE-UYxkdEGT3zv4dmE!Dl=ZWi9e<M3iU>%{1g;@!G-s^!P$|
z8==@$A<sHwn3<HXM1D%Sr0N;HdqRStdV>R3<{5^GPA?~^>Pma%d|c$9FpH<AXHEf=
zXAc{n;-`omMgmU4wi-S?A1*Mq%oSth;IcZ9;y*)FYu^J;Muvcc4jg(7m5<rFnVITk
U%ua1eXlP&wOL?s(A;4e_0Qp#8fdBvi

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/tree/elbow-end-minus-nl.gif b/static/extjs/resources/images/default/tree/elbow-end-minus-nl.gif
new file mode 100644
index 0000000000000000000000000000000000000000..928779e92361aaebfe9446b236d95cb64256e443
GIT binary patch
literal 898
zcmZ?wbhEHb6krfyXlGzB^h$R6?=)rU-Z?<D_Sn*`*H-SmwfESuou{501A=R>Z#?|?
z{QdXWpZ@~^!zdUHf#DSbia%MH85kHDbU@w$<p~Ckcm`$;8IKJM4mNWLYsH+n@PLU)
zfSpG`;lTk%CO)IIoC6F8TzmN}ls;q#Ja%K_=9!>lae%R5x_+pfh=9;jCRWxkA&~=x
h2Yp#A(~SZe4mdO}wqloSIC&-M@bZAgN<174)&TX)MQs28

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/tree/elbow-end-minus.gif b/static/extjs/resources/images/default/tree/elbow-end-minus.gif
new file mode 100644
index 0000000000000000000000000000000000000000..9a8d727d70ff5161ec18c0cd0156ae8d50a23b75
GIT binary patch
literal 905
zcmZ?wbhEHb6krfyXlGzB^h$R6?=)rU-Z?<D_Sn*`*H-SmwfESuou{501A=R>Z#?|?
z{QdXWpZ@~^!zdUHf#DSbia%MH85kHDbU@w$<p~CkGzMl48IKJM4mNV~X~k3+C?0NS
z6&ILck<h@v$j&EJaA0CGGaG|RS;+@MM~`M{Tce1C2Pp>``4~=2xoOmJxRJ?YUCe?7
p4c<*mc6tvw4?K5d<PlLY2w3p)d?S0B*IAB@tFEpVU}j>l1^^H;N?iZ|

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/tree/elbow-end-plus-nl.gif b/static/extjs/resources/images/default/tree/elbow-end-plus-nl.gif
new file mode 100644
index 0000000000000000000000000000000000000000..9f7f69880f48db8d86785639055fcc198764617b
GIT binary patch
literal 900
zcmZ?wbhEHb6krfyXlGzB^h$R6?=)rU-Z?<D_Sn*`*H-SmwfESuttTEI1A<G>uiX3i
z{QdXWpZ@~^!zdUHf#DSbia%MH85kHDbU@w$<p~CkL<VLK8IKJM4mNWLYsH+n@PLU)
zfSpG`;lTk%CO)IIoC6F8TzeTTv_51AB)c*2h)F0!7Bnz37$mN<(Kx{9&cH1qlHeJ@
jaGaGvMB#?#<i-GI)=8gaDioFlck?dxn%iZdz+epk)kQ;M

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/tree/elbow-end-plus.gif b/static/extjs/resources/images/default/tree/elbow-end-plus.gif
new file mode 100644
index 0000000000000000000000000000000000000000..5943a01bcd390798668a2722b673f6000938a52e
GIT binary patch
literal 907
zcmZ?wbhEHb6krfyXlGzB^h$R6?=)rU-Z?<D_Sn*`*H-SmwfESuttTEI1A<G>uiX3i
z{QdXWpZ@~^!zdUHf#DSbia%MH85kHDbU@w$<p~Ck3<hQn8IKJM4mNV~X~k3+C?0NS
z6&ILck<h@v$j&EJaA0CGGaG|R8Ow)2M~`M{OQwVk2M(NUVwPc;VR<=~p`Dr4;s-}U
qV-u4;C)bZ13=K>y4*XmR1y>vzmpih{E$}o|KC(Juvl9;ogEauy5=OfK

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/tree/elbow-end.gif b/static/extjs/resources/images/default/tree/elbow-end.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f24ddee799ccebea4dfe60fd65a5703a6a59d44f
GIT binary patch
literal 844
zcmZ?wbhEHb6krfy_|CxK^xx^&v19*7!DtAK$PiHc$->A01UeuBlqVQCG#MB<WIQ%3
qIM~R@rxjCSpm?~QTh?igM}U%R7pF1PhKh}gkM}D$xAAZ=SOWkgb`0hK

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/tree/elbow-line.gif b/static/extjs/resources/images/default/tree/elbow-line.gif
new file mode 100644
index 0000000000000000000000000000000000000000..75e6da4f8eab0617854929cf5d7ab6e491377081
GIT binary patch
literal 846
zcmZ?wbhEHb6krfy_|CxK^xx^&v19*7!DtAK$PiHc$->A01UeuBlqVQCv>6yVWIQ%3
sIM~R@rxjCSpm?~QTh?igM}U%RmzciOnH3WikN0ueH<|n}RA8_M07ViGB>(^b

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/tree/elbow-minus-nl.gif b/static/extjs/resources/images/default/tree/elbow-minus-nl.gif
new file mode 100644
index 0000000000000000000000000000000000000000..928779e92361aaebfe9446b236d95cb64256e443
GIT binary patch
literal 898
zcmZ?wbhEHb6krfyXlGzB^h$R6?=)rU-Z?<D_Sn*`*H-SmwfESuou{501A=R>Z#?|?
z{QdXWpZ@~^!zdUHf#DSbia%MH85kHDbU@w$<p~Ckcm`$;8IKJM4mNWLYsH+n@PLU)
zfSpG`;lTk%CO)IIoC6F8TzmN}ls;q#Ja%K_=9!>lae%R5x_+pfh=9;jCRWxkA&~=x
h2Yp#A(~SZe4mdO}wqloSIC&-M@bZAgN<174)&TX)MQs28

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/tree/elbow-minus.gif b/static/extjs/resources/images/default/tree/elbow-minus.gif
new file mode 100644
index 0000000000000000000000000000000000000000..97dcc7110f13c3cfb72a66a9891e8ab3ccef4a98
GIT binary patch
literal 908
zcmZ?wbhEHb6krfyXlGzB^h$R6?=)rU-Z?<D_Sn*`*H-SmwfESuou{501A=R>Z#?|?
z{QdXWpZ@~^!zdUHf#DSbia%MH85kHDbU@w$<p~CkOa^8S8IKJM4mNV~X~k3+C?0NS
z6&ILck<h@v$j&EJaA0CGGaG|RS;+@MM~`M{Tce1C2Pp>``4~=2xoOmJxRJ?YUCe?7
s4c<*mc6tvw4?K5d<PlLY2w3p)d?S0B*IAB@t9(~Su-;RV5MZzd0P{vmN&o-=

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/tree/elbow-plus-nl.gif b/static/extjs/resources/images/default/tree/elbow-plus-nl.gif
new file mode 100644
index 0000000000000000000000000000000000000000..9f7f69880f48db8d86785639055fcc198764617b
GIT binary patch
literal 900
zcmZ?wbhEHb6krfyXlGzB^h$R6?=)rU-Z?<D_Sn*`*H-SmwfESuttTEI1A<G>uiX3i
z{QdXWpZ@~^!zdUHf#DSbia%MH85kHDbU@w$<p~CkL<VLK8IKJM4mNWLYsH+n@PLU)
zfSpG`;lTk%CO)IIoC6F8TzeTTv_51AB)c*2h)F0!7Bnz37$mN<(Kx{9&cH1qlHeJ@
jaGaGvMB#?#<i-GI)=8gaDioFlck?dxn%iZdz+epk)kQ;M

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/tree/elbow-plus.gif b/static/extjs/resources/images/default/tree/elbow-plus.gif
new file mode 100644
index 0000000000000000000000000000000000000000..698de4793c59b2729feaeb0c49c05498d65c3b00
GIT binary patch
literal 910
zcmZ?wbhEHb6krfyXlGzB^h$R6?=)rU-Z?<D_Sn*`*H-SmwfESuttTEI1A<G>uiX3i
z{QdXWpZ@~^!zdUHf#DSbia%MH85kHDbU@w$<p~CkYzAfy8IKJM4mNV~X~k3+C?0NS
z6&ILck<h@v$j&EJaA0CGGaG|R8Ow)2M~`M{OQwVk2M(NUVwPc;VR<=~p`Dr4;s-}U
tV-u4;C)bZ13=K>y4*XmR1y>vzmpih{E$}o|KC;?;W0q*g<OBx>YXG$^NPhqT

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/tree/elbow.gif b/static/extjs/resources/images/default/tree/elbow.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b8f42083895bb98276f01a5d0e33debddb3ccf1b
GIT binary patch
literal 850
zcmZ?wbhEHb6krfy_|CxK^xx^&v19*7!DtAK$PiHc$->A01UeuBlqVQC^cfgAWIQ%3
wIM~R@rxjCSpm?~QTh?igM}U%R7pF1PhKh>{$NPBfn?f{-mK<+pWMr@g0DWQ)HUIzs

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/tree/folder-open.gif b/static/extjs/resources/images/default/tree/folder-open.gif
new file mode 100644
index 0000000000000000000000000000000000000000..56ba737bcc7734693d7ddb2f50c8f3235fceacee
GIT binary patch
literal 956
zcmZ?wbhEHb6krfwXlGzB^h$R6?=&-=aaIP?oGg}kIcy8^I2ILfEiU9<QpB^gn0I+8
z|C%b14RsQm8>P24$!>3v-_@?Pw@dZdEXiZDqz?6KotSEHa+=}k8OCR3nw(sqcz%)E
z^&Jkk_UAm>?EL6pz~8F{|8JLmcvAKMN&S?id*>|OyM6oiIctwC-Fj{1-dlT*9ou>8
z$^Yvu|6jNKf8Y82L+Ae=lmGvp`Tzf%|NoaBIdbIa(W7V2p1pYS;<0P5Z#?|?{QdXW
zpa1{*{pbJx{|uvGGz2IP0mYvz%nS^S3_2i_KzV|JV<rPLhm6OD1qYkijZ+R39At88
zl&tc2a&R%zp$;RXv^R>1OfBquQXEGvI4}0>6q3BdQLvD`XSzZ1sfd8&rn9pxa_cf0
z8;-R|sQDgyVbIvhINu@p(3Fo!OdU)nOn*uow`yILl(G@%_!WGtV|{}AnFkvZ9YR(b
rI<1IZ9mc}SXv*Rj;4nR}iJ6T{KqBGLF$ZZACT_Vm-ya@qV6X-NkKMK>

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/tree/folder.gif b/static/extjs/resources/images/default/tree/folder.gif
new file mode 100644
index 0000000000000000000000000000000000000000..20412f7c1ba83b82dc3421b211db2f2e93f08bf2
GIT binary patch
literal 952
zcmZ?wbhEHb6krfwXlGzB^h$R6?=&-=aaIP?oGg}kIcy8^I2IRjFD>R>Udq3sOkj1T
z@R}--bv0re>LfNdN^fnF-QFU<t6gbtm+FCDjYIufM<?kXpQ3+as=>)=hNov3pP6ZL
zdwbCB?S=oZ<o~~2`u|D&l%;#;0MXiGOSfKIx%bxIW5;%$dh-8$=l>s*|No!)|Nor-
z|92fYaNzXm(`U|{xqSKZwQJXoU3-1w;m7CizrX(c9|#ym!DtB3CIl3JvM@6+Ff!<X
zj0fcj29Bu=%p5Wv8x|aFW;f5dFoBWTsZlz|Bjw;CrbE2478zG=BsR5h2*_CotZ-a(
za<ZD_5snFtN4usQB(L)Lpmcy$)S~#+k;((E4BT2l9I{>^t&H<ULl#7w+Oo2X$xd?x
zgX7j!p`t7`egPjBuD-rri|xmh1&5k%Zq5khSRtvfq?wIdM8P6q0RtnWZURrs!$s@w
N@2`@V<KbYi1^_N{qP+kB

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/tree/leaf.gif b/static/extjs/resources/images/default/tree/leaf.gif
new file mode 100644
index 0000000000000000000000000000000000000000..445769d3f863fff85bf8dae9e50ca2fbdd2d580f
GIT binary patch
literal 945
zcmZ?wbhEHb6krfwXlDQcQ_o~GuN3{H6Nag0EsGx6l|6PSd+b*I#H;qP!+!_A#wTHI
zPb1o&CiOkbneseu`t#JOpR;CuEt~zKYW~Z@xnJuSzARt#t#<j3hK7d8i?&Z&x@*?T
zee>2GZdv-WZP}~tRj*oB|LorIYr@vw({}!uwfFDhO(&LbJ2U^lzeR`sUwH800T8|T
z00#d*{P_PLi2nZvyK9sf4FQ^mfZ|UUW(Ec>1|5)1pgh6A(Z?XlA>*-O!NF!$M-7&b
z2M@Kd^GWGABrIrf5YP;mqG0Ic!oef1<<a5rV38BQh=N7Jga;0d)0tW3bvSNLJ1edq
z!y%BN#MUt1KJ!t@L8XQRd}jI2QUXI1+Gj~F^6K4nXhjpRXD;8?RR`4r7@VdTos~+~
jxV+J1x!+o?4Xb@6ETcC>ENsed*j@4Yk?RR_1qN#Xfm)wA

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/tree/loading.gif b/static/extjs/resources/images/default/tree/loading.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e846e1d6c58796558015ffee1fdec546bc207ee8
GIT binary patch
literal 771
zcmZ?wbhEHb6krfw*v!MQYQ=(yeQk4RPu{+D?cCXuwr^cCp}%d_ius2R?!0jBXnAQ)
zOH<|l|Nj|aK=D7fpKD04vtxj(k)8oFBT!uNCkrbB0}q1^NDatX1{VJbCr|b)oWWMT
zS%hVC<e5zgOcIlpc`kLa*!o;M_#F$wy(Jnw%^xoO{@do#FR1axvu?^Eg~=WXT$f%h
ziRw+0<X~ye?)5wTu<&NHn6>&#9~NwO_yO%;SvZ5MdNYf|QNy-I*%yJaj+uTdt+qbZ
z4E`Fzb8m}I&!N8OKmWEcCmrLs^Hs&3i)mt@hQVdcqghkaBs*D}tG_lKew4?rTjzIZ
z9tSone1TS+TR7tu^CunG)Y7Jg#sw#)sG9C!c0I%LEzP)9;hqRf&)s$D8d5Db{TBs%
zgl0~5QQ91luq4Q9tJgt4QLbaxZvAaKeCM9!oy85dg4k>TdBSVqjHub_PG=PO&J-rx
z7oYTuF+kH|tG-UK+EkUhDjYx?zW?T|lx><M;PP#XNUM@C2hfJD#O#hF$!^x>+aOQm
zzL$v$zBLo4Cj=G&tw{H}dW?tlTkS)SY4<#NS92z*EY-MMB6Ftp`R=*=*Ev7cS+X%W
zMCur^FdlokL}1Y+&aasU2J4#EOuNlnb9CmqgLCGTSY!1BD42pkHY^XidQ5=>YQx%`
z*%Pm9D!CkBu&tMWm(%-ejACVWGS2RX5=QOJ$1*tr7F}F+*-OA+Ly&Isg|AEuUYicA
z#%IG6kPXkHt{zk2M6zK@Vu^4Q(1zE$?yY6M!^&jQ+2^E?!p7{g*|X6}vuRC3p@jk0
W117c83?+LXEZI4G$p&LV25SKE>nb+@

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/tree/s.gif b/static/extjs/resources/images/default/tree/s.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1d11fa9ada9e93505b3d736acb204083f45d5fbf
GIT binary patch
literal 43
scmZ?wbhEHbWMp7uX!y@?;J^U}1_s5SEQ~;kK?g*DWEhy3To@Uw0n;G|I{*Lx

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/window/icon-error.gif b/static/extjs/resources/images/default/window/icon-error.gif
new file mode 100644
index 0000000000000000000000000000000000000000..397b655ab83e5362fdc7eb0d18cf361c6f86bd9d
GIT binary patch
literal 1669
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
PBfNl1GVhQS5C8x>^BLCH

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/window/icon-info.gif b/static/extjs/resources/images/default/window/icon-info.gif
new file mode 100644
index 0000000000000000000000000000000000000000..58281c3067b309779f5cf949a7196170c8ca97b9
GIT binary patch
literal 1586
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

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/window/icon-question.gif b/static/extjs/resources/images/default/window/icon-question.gif
new file mode 100644
index 0000000000000000000000000000000000000000..08abd82ae86c9457172c7a4fdbc527641cf28e48
GIT binary patch
literal 1607
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
F06QAMRrde@

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/window/icon-warning.gif b/static/extjs/resources/images/default/window/icon-warning.gif
new file mode 100644
index 0000000000000000000000000000000000000000..27ff98b4f787f776e24227da0227bc781e3b11e8
GIT binary patch
literal 1483
zcmXAoYc$k(9LB%H%(yfgGuR9b<4z3ocd29*O43CNd(`UWmQ=H)a>`a4DYpzOx}c(x
zSlvdcWJ?+unZaR-H7>b~v1S^TyJ_?Pt<HYV^Wu5;ym>x;{_9t|N0<T=X5oKG0Ga?a
z00RIz07F-s3}6o62!Lq=+W=Nu(y2B}EN$pa03Qw5L?`%~Xl`Wat_9c+aEh#Rc#+O=
z3hn4({Ub|AQ6`HHQI{MtpdU11?5EOB>Ki69nENoJ2v3`>&g|W8&busa_So7*+dD)$
zvLc<>kt@t%F{f~h9qzG`vt^ZG;7|7JumJBhJ9Y+8Lf4suZE^fH#5_9C`L|tWUS6U8
z{=uOE0fBzowgqiH9`W<<k-KR6Nydy+EBh2HR+^)8nv+|Ghj)6QS8h;n+P+_EqV^QU
z?k_uZxa?TMgT&;A+>?y6`^?T9Sbi>kIro^$r3_Y4hFwk)R(#Q}G+VFY!jG?tX{A@K
zA7Ak-yF;xiAyhqNys9yLRL-ovzEyCSA}UpDxeZO_<kkn|`f9b#3h1~GZ7-mk2Ol26
zhbkDTf}v`V)xdBq2pSB8LW_|)_@@D6B2d)9Xd@^ZNuTRLDFB5CltL5Pdl=~j#e0JC
zosPT*6kU{2vA(j+X#6#dH^6iwj5opbTbOPIl@L_T@J$5stuQHui4K@;Q=8}pRVM+7
z;aj@~-T`<AX|4ypegGs{2od!G>LcSl+NfU}@28A3*bVbNWrHA>f<g`xQW#f&Y7qXF
z!JLeU1_2)=BN?C(5|V16K?*L@`Z}tPMgb{EXbf<L7Lw|sQ7V$_qcJK{>Z4D_larvD
z0o4={9|wFI(DV=ZJRp1#nxdfzI{Lyuvvho356v%?4p|^%j&Mta>}F<GBZSFYV?VZs
z%Rih}Dt3GviB?DtejMGS7&whkY-;+$%*?yV$&WI!c-h&NIe$FQ&3$(1QuXEh=LH2%
z3JYuQlszrI{qnDx=GsSSRFWz0JumOemi6!y@|*Si_Qu9eVN=Jucimlo_emuE3-ojk
z^!5%6^h>3~{K0|F!GZpTzVLoC6_EgdgTr?dzB>V$ILvD;-4MrIlR(m27G@h~>JlYZ
zVAt|_ro3<gw}a|eS@P;YIoDS-D!uBL`YrJ0PQh3{wu(7)J-EE(VnximqKMwg=oo%b
z**VOEoRwe6HXKncO>YUVh;qD&xzwC(+MYO@wD@Y_NS8}VxR3300jn*@X<;}{z{$rL
zTQ1Ygt3r~JNZK6NqxROCFAF5#=}AsXB5Gp!SiKu3HLoB=^T~;XI#AbK!S$~9<!0u*
zVmu>M1UFk{5%nyiu}%*CZiIbNf<7_U*)eK2jmJEb7FxOYX=;RObGwm=_w(}-X91Z&
zqYL6B`%{}cDrkMSM*JWx2`jXogS!VNpUr25HWVJ_hwMpzlk(}y+|3Y<!9AIqLo7BT
z47nHcoHHcU8f3d_n&eF#*_6mLRQDyt>Z)%_6gfm?u*PI1fu~NtNN%<%o?1bnQ|HcP
z+A{@eE%wEmbNMT^8Mo3bU$&{4r}IL6UfVqFo%2t*Tz4deYD9aVZE~6`7TH{nSG#4;
z<6vfan`>!V4h5%@)!a#Ahc&Ef--@I2iU;@wEYEC-zjIsI(0PM(`f?qQqf=C&<CYll
zZPs3jZk>8Tb?#p4A}<S}RaQB)dL?#MraRt<HvhBesVjI9w1?Tvw{s^ZL>3P=ZzHb8
zU%2?0<TvLwS>08r{GmdfTSw5X-f*JnevxfSlSM{Cc=no(Hy6^Zi{dugQHUH~t06Bw
zQt4307HjGF&8-z0AF;fZZq8-%?^|4nr#0y83LDz+toN8`gZZg2p9Yd5@bP-%L)8(V
zUmmP8OS8yf(llyk`BV+l3sY@pR^S)K>*+DB$}jc0e)m$1w?{Mi5Ahq5K8vj4mE(=f
iL}jwpve+-)v>A%!R(IJo>4b>g=<wKGo@1m7;PD^3leLoo

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/window/left-corners.png b/static/extjs/resources/images/default/window/left-corners.png
new file mode 100644
index 0000000000000000000000000000000000000000..18e215de4053c8710de6ec8da5e31c09a7d6f76b
GIT binary patch
literal 272
zcmeAS@N?(olHy`uVBq!ia0vp^Yzz#HIvhZf;X%)#H9(5J#M9T6{W^;zr!I$8+{Fz*
zA<hDi$YKTtxkDh#n0KMn4k*Zy?&#~tz_78O`%fY(kU!tk#WAGf*4vvKd7BLc94;28
z+`6K9`H+x^qyn$9p$FRuu9q_uPf2-{oUoASJR~Mo#(ru4p-q2E%BNYso^s~mzFqTK
z7T$UIw`^*9Y}JChkNAEketDoY@xtpglS$Ji2Aq19=3~aBHsNoO*@+wP4O8Q<FZp(&
z-UVnc7&J6HFTBc_4{`?t%#oSac>DL~sm}r{H~ewh?zXI6{+zl(;g`80AbC$$KbLh*
G2~7akBV(8V

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/window/left-corners.psd b/static/extjs/resources/images/default/window/left-corners.psd
new file mode 100644
index 0000000000000000000000000000000000000000..3d7f0623e03727a632cf003e22e11593d547de53
GIT binary patch
literal 15576
zcmeI1e^3-<7{}lDcK7c172LsrFbH>wVhuI%BO?1j;4ffmCc%<)CPO77wGtJH8DkKN
zvKdW7$)+hFN{x{NQZx(GprDKf4pB~$KoLdMl;0e;Z11zs-VFT_IWTkFyze{vx#xZN
zeRucy?sLz+w-*-qTpYqkDmZ|ca;b^9+hLK>&$6u8qwtm?BqLSqbA&!FhXCf2IpSP5
zggo9P{i$dM!a|eKid<qAM=wTLhS5q=k#HKRlw_!!!73zEVMc|8W|W0EhG7|oV_BBt
zIJv?}sUXG0!O_mi)y2(K?V?s|JbXMg?%wWdwbyJfZ(pr$md?#{j=!JQ-$$p@Vlqu3
zS2!z`&RUIHqtX7~B2?i5;sl4qLR=CHmN6{39HpJTgA0;jhLN!hN3N2L+)nl(R>i4x
zfe~`or3s2zo7{pj_T(#PN0y$^#Ma;O3tpYP!_MB_V}_^KoVot<?tdWUk<drO9-F^l
z;iAP$qM~EsmOcN%^7t25tXZ4*%DPvRUfaB7Ys$9Nx6(4R-g!6sz4v$S{U~SO{@jlb
zd{Xd5;g??>JaqW$vTu$aD?fhX+mk<5R{ivIb<Hoo8XC?up1;s!yx4a6O8eE0Yu7t(
z-0kk^?du;H95P|VjJiYkFMo*qSjMsps{ntnY#Z4a70c-Y<?4u~iiAzBvw|{|ZjpQP
zOV8NN4vxK}S)E*O@9r1UHs>z5BziP4hj!ePN0LL5Kf*=i$Y2sSj0%M#)4G_3kj^dN
zMIS6V_F2-)(QEg{@4IBo306n>?Ts$(j9H%a)WLvd8;Y}&k~bPQDERq{1XOVT@R3zT
z{sq0-5&?afxSLN~0G&leed!0DtdLcXMC=dm>vSIZV8!-TMdr%mdGYBrLDeG_Isw(M
zU$Xp$fF8be-QBm_u~b0%sPx_y^^K+<etSHP%Qj~Qq<0y7dH17R-`4ls*OHMSAnjRS
zQ*X9_79E*sLr3$HWZR{097$-dTj@I_ZxYajPs2?QCOvdY^nMNTzS-B*BYN+kAJtMo
zHKElb-?xF7kzHeAhIc!Gm|;ZBx|5?~?lxy`NbmX`#H5E4wac%4Y4Frv3oAZ<X4iQ`
z>dp4`sqHzT-G@?&Q%XEf&n${+=-9b$U~b&il=5o92>F@0C4S*uP!0LSq>g=xxqCDh
z$PgA=B&(A$n&XiVc>?&%BT0UIkqLsO3+BE4M)Jn7t|!L!%p>`obp7|Hj7`|QB{5kW
zXgMUY#-2Xnnb>mJr40G!OvcfX_k5-xn2(8<@BpKgDlnM}knfIJ7^amfFv$u)T!~qW
zL$p!_CRYI#J#EgyS%rKL&g$XYCHx7N1s9<yq6w@<3Fp8v0O};vf_0XHYG8eFFbFq=
zf@)yHaZtz)LRP112D)CF5(QW!nDcPn34Q?Q4e(tOu7hR4HE4?H0IOZXWw6=+trA+m
zx<o-Wu)a7LhMPh`HL&40IKdA?R;O!*DS2W}?r-+#cr<v=P=%`u{4lN>=KCjzJ{TvW
z7p!sUfj$bVffdGq83L1nYGA{0VBpP=)#;jnt{J980hatzKONUP^qQ?(0UB4<eSfCw
z)xmqwT%21*ezD~C@tqRd!Lpzgnj%`j`a?o9SVlmTghsF$D5wV37Y8P|DHK!#8;*lA
z-UL~lY<jG(<cF|+h`%l2CRi49K~uyHusS7N1FHjYRl*gpD5wTj7zbtuObV)j4aY$x
zd3!~&I@xM*t&un5S~EX5K@7k+5&d9|Lm%`}Pz|gw4tNMm3aWt($AOXOA*=rlEbrPn

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/window/left-right.png b/static/extjs/resources/images/default/window/left-right.png
new file mode 100644
index 0000000000000000000000000000000000000000..97d04f3040a88965ab846b1aad10afc7c7cbf4c0
GIT binary patch
literal 135
zcmeAS@N?(olHy`uVBq!ia0vp^JV4CK!3HD?t9bQ+lw^r(L`iUdT1k0gQ7VIDN`6wR
zf@f}GdTLN=VoGJ<$y6JlB27;h$B>F!NjZ@PPux7WupWNueqZtfW2~iL+q|Xf5;G(`
gSegTv9U2%JuJUu7s@>+S2h_yi>FVdQ&MBb@0Pcb&z5oCK

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/window/left-right.psd b/static/extjs/resources/images/default/window/left-right.psd
new file mode 100644
index 0000000000000000000000000000000000000000..f490c5e50e79c509e60dc6aa7baaaa09b8e79210
GIT binary patch
literal 25060
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

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/window/right-corners.png b/static/extjs/resources/images/default/window/right-corners.png
new file mode 100644
index 0000000000000000000000000000000000000000..101118b22ccc617958cbfc857877443ca97fa7a2
GIT binary patch
literal 340
zcmeAS@N?(olHy`uVBq!ia0vp^Yzz#HIvhZf;X%)#H9$(I#5JPCxhOTUBr`uxAtW<5
zl_5MeMZw5a!Lgu7!N|bCT*1J|%EZLV&`d$sz{0>_xt^0TP#=4Vr>`sfbrwlZ9nE~5
z59@(KoCO|{#S9E`hd`Jy??R~^P>?0v(btiIVPik{pF~z5f3>HJV@SoV<ebQYCv418
zD?B$`O!)KXuX)#zW6jqk<@WqIa^TCy)A?*EZ}Qi3h8;N4z`WtlzwTJ3<$N}7f7L^e
z+sjx*{ChOvVD6QA8LNWZANy0D|5LrncZs<$Bndm@@Z7M;fX^ws*Q*By<Z<K_i?#F<
pX*8`~@2FBWZQg+Z-dRSh3_J781bE!ib%D-i@O1TaS?83{1OO7dbV2|C

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/window/right-corners.psd b/static/extjs/resources/images/default/window/right-corners.psd
new file mode 100644
index 0000000000000000000000000000000000000000..86d5095386123b82d2cf11b8308dd1e40459fd9a
GIT binary patch
literal 15530
zcmeI12}~SS7{}k6nLRj~?k>Af5XvrxAQ6Ry3L4|4Xi*vsE)@@~F;uIT!~;q#R!!xo
z)uypht+Z-PFI~})hN>+#^`KBdlxS&@1r)i;QLJ(;u<R`3`vx*3)hHS;%jUhw{^tMQ
zyqV1RpD*9M$tEV<y$)d{HGD0Ra;b~tQHe<@cX6CJq77saVh|I^Bp{_RCMF>!-ndFU
z?hVIfH3V=ia=v&SEkb_JknvKq0%5@_bRgB*<dkHD8H^qz8xp=oY9*N}XR#VFYRsy!
z(1wbTjAc2Nm2n&=lgZ?YWl9BUDlc!3Wj-pck4B}@==@gt>wE)!HJX6XfWTnAA;h5d
z5041bN31j$^q8EckSmremCN-yjZUZkw@s+Vhe;4JEH)C7*f7I#<aU%Eo?a@%V3uV#
zRz~iU%zTj?L!4TsF~qKx`<OEoA=z4Ee(@n?Xi|BlF74b<Slou30uN7LzZL!g;a5jQ
zUK16+>V|~G8*jSxwl&GO-;uI*-972|-go~48IL@=@v+CB*p#(7cgwR|^PbyQShVBi
zov*yQYwsIx?t80b|ADs;A36H|2bK>@KRW)&r=OiTS@HR)GgZ}RYijGhsc$@gq3OqF
zYfEcqS9j0F-oE~UOT#0hW47^$N&6H=>`XX>e~O3Lj~R|*IR(UnnXTl<syUe<R<2oX
zR%B-Tgc$Rc+N9z`<&_?xacM)k4LRpLeZ%5A!-pXxF{1eeRPdi7k^++A5n7Qqi%HtB
zYGguFSJjlCJu(p6zA3wGN9}td#*96Y`=Y7~Px||tn;X9fxMi#?I{nnU>Cw8p{<tpo
z_o0#JAF@opWXnyrj0h+s>jjh16eys&)26}8rZI&jwcEb^b;}T6Rcji#e)*Im)rtEp
z!~9ou5p?YDJh-k<K&jaR>erY>3sXDoJ73%0vp(2n51!5s*G`*C?A&zl{=B~FHI)K-
zxR_4;9~{^{#P@Xt4Gv`NiY_~CerM0v`hxG2=DlqdRS9=)DgAhx*MTg)-r{Jk|6XW8
zP|?}TVu?_pI<m)Po861mex`bmcY)X=d(uP(ok1w*%fEP^FoJ*(cLF9V<Ke8Qp3Zra
z3_-hjW``ol`+yAn^G}(UxjA=Zjy@Jn#E64e65Xf+3+e#JTM=?t=|&w`SO*}l#HuAj
zbfXR|tOFchgphL-A1!kB;L%z90%{Je&=p|?)g<8ps7AmK5*k2#OF=zw%{-Wd?4+O`
zxNROxl41^3ovs<^dTCJ{;P``N%`ky04mt<%#4P$j&7lvvB6>mfNazC93Fwf}4(ewL
z>Va$KfdjIWf_mV#dEg+$9I859Gc3v*b78;Pm*UkpzM8BV9JsOCIgTCkf(_=07z1?$
zMq!MCdf=jYz{8WFpdPqw9`K}?Lsh412D)Zg6bCr+PyJF{>(G04Z3k#xx%Tr}s&~in
zB}gD&EXPZn1K2i;9#C`WfUbykP(Mj%1JwesN@xOgo`QPdnt3n<*-1e?aN9hXBE=l4
zI)98*b~~;*=KKxYXYnhjISfKq#3fJz68b>(0xnAE21P+VaM3*A;mJ@?58O5ncv8%v
ws`Cw`vh%p5!8wWfd0_(Pi5LfU1#B=zK|OHMJaEF3p`aePZ5}vDF^8)D2iAzm(f|Me

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/window/top-bottom.png b/static/extjs/resources/images/default/window/top-bottom.png
new file mode 100644
index 0000000000000000000000000000000000000000..a73923430760a523c621cfb90251f2bc38735737
GIT binary patch
literal 211
zcmeAS@N?(olHy`uVBq!ia0vp^tPBi{Ivi|37WeMT^*~Cp#5JNMI6tkVJh3R1!7(L2
zDOJHUH!(dmC^a#qvhZZ84Ny_3r;B4q#jQ6N47nN%cv>HZ7*(*A_rDUoGuO7g`$4M9
z!G&8&^OaLdei+y75qCPYC8s?^c%8c0is!P~ll^)w&Nwpt&kFH;BWX|Hwp(A5RNl_L
ySsV1}-4}Zn7DoXT^uOPVueSU1F7qE;1`JkgO4o}Y8~Xztz~JfX=d#Wzp$Pz38cL}E

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/default/window/top-bottom.psd b/static/extjs/resources/images/default/window/top-bottom.psd
new file mode 100644
index 0000000000000000000000000000000000000000..d2b2302959822226cbc7e3dcac6ca6a0181b76e1
GIT binary patch
literal 32214
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

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/gray/button/btn-arrow.gif b/static/extjs/resources/images/gray/button/btn-arrow.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f90d5df4455c332d19dcc8b621a19e53c672612a
GIT binary patch
literal 870
zcmZ?wbhEHb<YM4wXlGzxuqko)?-1L#xMa$vnps;L=j~`+xT|aF-u{*QC$Bj)W5ba-
zTaGW>ernn7GpqKUUw`Q0mSb0ToV>R8?9Kh>?)?A%A85cR7!84;8v=?yS(q6Z7#Vax
zUI66@1`cNi&HxUF4GIUDn0duaCIlolF!PEkbz~SY9&O@c^J6$L@o@_)r+F36fdvm4
e7??TCIy4q6Xzpf_KfuF~nAS2=D2<JU!5RQwgF+Jk

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/gray/button/btn-sprite.gif b/static/extjs/resources/images/gray/button/btn-sprite.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c59d1b1f2ebc1bc6236f39bf7de950551416b5a0
GIT binary patch
literal 1222
zcmZ?wbhEHbWM;U;(9XcXU{k{IpTXh3Ls<8br_&jJY%=I*Yg@Z^ZO^6~`!2uyd!zHh
zg$sA?+_`t}-nsklFFyQm<?+YsPd?pv`sw!b&-Y$_x&P|x{}1OMJb3Wv(WA$YA3uHi
z^!fAWkDtGO@#4kHmoHzxe*Nano40S@zI*rX;p?xD-+p`g?)$U%-(P(A@$cW?|NsB~
z`}hCf|NsAC6p#sY(I^-V0lI~N;!hT41_nk39gvNnJi);6pMjah!XV%%qqr2`0)aw<
zBaC7Se0zQ<Tx>qVCuHv7^FyiGrC;B`V~@f{N6$_kz9kU`8(JNhS(qhw794D46x85p
z*}&P<+Q_fZQ^9dd@kQGLsiw35DG}!j+>X*Nyr&diG>Nc9NpNf^eZbhMAD1Day(p(+
zv%;mih}R2q+qX+U>bp8&;ksC!3jG(k2e#`s@8@P}=gnH6-Ne8Vrchz1__6b-n$YwJ
zpQMi+M@7YgBkufYZ8<tW-X(%3@gwu)Zdo0_h99j57~7dO_zWH%Z4lOGo3SBQ$(-}H
za!&XL--Bgu8HIAx<pmC!vE1fgaJwwQx-s`QBO8ayf!Yr(@6`{@UMvy6$fonN@}=+y
z|Al|Qa|%5=-R~gZ^q2j|XX_jD7yN&~$WXLBBI37b#)C!<wG|JVIRCLPaA1*55OCr$
zeA47B;OTOaTWoK`MQ*9iuNONMdrK~HtL>d|$xC;y$YmeXyHhUvv3>ax9N;V&Fon@w
za>5iwZ^oNff`cU$rZR>~7KDaHmwpwENSc@`7L~Q}saQ-=Z|e2f%C}d=<LeCtZZI{A
Kra3q;SOWlVswiRr

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/gray/gradient-bg.gif b/static/extjs/resources/images/gray/gradient-bg.gif
new file mode 100644
index 0000000000000000000000000000000000000000..8134e4994f2a36da074990b94a5f17aefd378600
GIT binary patch
literal 1472
zcmeIx`%jZs7{KwDTLnZd*hMh7R3%&{VK|xh5d@TrMjeTpnq?_&b8`}Bh(kowLJ^R=
zwLrP_Mz6F*N-1{`N?)K@6i}uD1>V*|OIv8)A|*;9JN<2c#7;i>=A7rpCpmEmrw$)U
zc7mcXc@UIVGnG~gOy34*)9Li-becMyuD$~>)ERVj219+9F_Xbm-(}8ZvefrjGxzFd
z?gQ+Z2W-&U2kcoQXO_sF&Em{uap$rD-W-Vsija6n4j*~Q*W?J0hYp%tpk9;bpv@I(
z@`Tz)B2B(fn=b+vZGl)@(4Z|8YYQ8+MGfzZp1v;z8bNg>jk*$vu2iBclgyVj>B^es
z9|O{PvUGvmyzs<9PmwK9WcqTTMPJ^kuV~R%wCXE?Ha*qBP}OFjwi~K|4nuYOVl`;T
zVhzx_SPOK48f&|ZG@#o^cQDa=jErs*qsPQ}W@7f3n4r(hETGq1*K1~j_L<p$+{|%U
z;`W=l{YyMRvBXy_^WkNIgGDf~Tt8qD0)rOOkVQ0T6%AR%fYREaL>q?Dr%LqcFxvPW
zut}by5*6B{LZvEO(+Ju$Vv_<dY|RcU%`a`T7b~)tD=nidt)rkHT7j_-ZNT`4_OaFW
z@zsu3fW7n8YA5JxdlxWa@19ue`Nt0ZfBv(9-5*`SYXb^(%p89La^HYXd*I@QOgV||
z^OgS>!sOuZvAc4ePkK}Mg^X|R8{wv3g3jV&Qm0~*o(w;!4zGtP^}q4TE3f=4jcq2s
zNTj41IT7{z(FAgK^iIzZ@_2j+Ir8!+!Q<EbV&8-du@}bcM31C_(QwPYx){PXzn!Pw
zoM$!vvDy2ws-le9M$&Hej6H;9cBQX;o?IU)or@&8tZ8DXqjW|7n&HyO#dGwbJInEd
zF@B{q6?JK1@(jOOKYD8+|I6><N)}(IY6T@Lyl-pY-c&2;OT6NxgDI(|t8Cs{^<3Xu
zjvpOUj2=*qQZL;Iyi=tgQx#Q3<`(_E|J^{&<Y(^sj&P(We`D<xH*-grp-nKCO)soi
zyDU}qMsIjltgkj+ocxPhun_{CJuyH`!Udnixkt0`xN{K(n1nqlhjY$EBqwjjg|Rd~
ziMOb59zHM&&X4y`);@~!WnJ+OZB=Tq;Xb?fdPh(A!o`O%PH@R_XH-!dh51O@7W-*T
z@i^WtQIL;E43oB=U%<~(jv$2j@*ifI+$}$)U5nX5coU_d9-v%Xs5+oz^1Q-jeu|p?
z-FSWN*X;y7ElkYR)Az}cpv^>#r@%9(ju7k_5|Ghf7eqx2?7%YoH4jP!wx7HA*Q43)
zwFOW=pP6ly3pn=?dHpWVl+z~h4aA7q3Dbmfk>A9h*D=1j0=ZkaJtNDl4|Dy58=OQ4
zb=w|rEX#G|6q4dPk_gFV6VcYbmUmazi7x6i6Xb&As-j$U2PJ(S9-JDYvw05^=DZ2M
z-q(%65iC7!Sf=Hfs~2MFb#cc_ASYbPO$Z9ewDx-)GFuhcxKI?v{g{Fd`2H?N2mNoG
a(II?Zs7)DAnPM9b=8J95L)rdV=-9sjoxm#q

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/gray/panel/corners-sprite.gif b/static/extjs/resources/images/gray/panel/corners-sprite.gif
new file mode 100644
index 0000000000000000000000000000000000000000..fad0e6d241b1023b74bbb92b9658fa5aa7a5f3a6
GIT binary patch
literal 1402
zcmZ?wbhEHb<YCZZY-eEb`tNo9`t=((Zrr+c>-O#2ckbM|ckkYV2M-=TeE8_mqsNaQ
zKY8-x>C>mro;`d1{P~L)FJ8WU`RdiH*RNl{dGqG&+qduDy?g)u{f7@9K7Rc8>C>mr
zpFe;7`t{qlZ{NRv|MBC;uV24@|Ni~||9^&2Fd71bG6WQVvM_=irUN2Cd4hrCKLaC=
zgvW*j2N)HFw0t~19ByqFkgt<?v9RfAx0o%@8;6C9kN3&470qziq~giPZ0-?pvgm1B
zqm;slIhw(T5Ag68y*e{9QGt!!p_%EZ!3Cz~#UA}p5+06?mzVo#8nkkSzG~p)+>~|J
zDlwsjIpJ_qufd1L#?2Y$?KEbay}iZA%XMO|_V$AgY%HH%ojslKps9)VKc9!ff(;K3
zak43K9N1x)%+e)m-DZ=p@yYRt`s@pGej25poo!q#ru%bq+U3RC&2F)?zNB35jocqr
zD`l2;Yo+z}V|$~&=iJ|z+y3lt_11!$2Rqf->t_Efcz$BGbhzGLv#-xDFO<JuXKPjV
z`qu8^|NQ=TyDL9DFJAtB?>>uP-(Nl4JpH}hzP~@ezkYmw{r>--zWu)_o>0g9DSScw
zRlykx8o8Bz%x&T~l33V$FVsS=fmd!tVw;TLj)m>AQ5yF;o^nb&YE^4mv8Y4U>4Z|-
z;l_r8JtpTk4mlWI^LX6L{A7hPo6WBk$rJ2vbtF%8kc(8A=&kird9uHi<&r6;PL`?t
z9#N61Q>}|KRi^niNiLlc&b3o@X8Np~s<X0J{aiZRbJNeXX>rFmmru*Rq`7=<)xAjd
zdBtrnpU-Rfq?s|lLvGcJ8O>(1G#2+ylgyko`Pt4DOQr|STDf#Wo>a#21xZq?mMt#Q
zdbM)NqO7b{Yu3GbwS3i~@LQ|ate1+?TD#+x)arGcKSgCPJn&CbXW?P1S1Z@=Wb=Nr
z>DaxlH=9qH?atmZRV_Ma>xH;#ovpXCUh8bXUuCV^Cp{%QZ>QtD>bzaA7I|NA;^r+8
MNMK<U5MZzd051`T(*OVf

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/gray/panel/left-right.gif b/static/extjs/resources/images/gray/panel/left-right.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c5f3dca5a8d4be7a61223c1a33e2c8b50b72025a
GIT binary patch
literal 815
zcmZ?wbhEHb<Y8cBXlG!!b?es0k01a4|IalFMnhoag@EEu76t}}{|q`nk^z(_7&w3=
Q2ZzH31xH2(CME`J0Ci?8O#lD@

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/gray/panel/light-hd.gif b/static/extjs/resources/images/gray/panel/light-hd.gif
new file mode 100644
index 0000000000000000000000000000000000000000..6eb28ba00468798814887bdded6cda7c505bf296
GIT binary patch
literal 827
zcmV-B1H}ACNk%w1VF3Ux0EYko000010RaL60s{jB1Ox;H1qB8M1_uWR2nYxX2?+`c
z3JVJh3=9kn4Gj(s4i66x5D*X%5fKs+5)%^>6ciK{6%`g178e&67#J8C85tTH8XFrM
z92^`S9UUGX9v>ecARr(iAt53nA|oRsBqSsyB_$>%CMPE+C@3f?DJd!{Dl021EG#T7
zEiEoCE-x=HFfcGNF)=bSGBYzXG&D3dH8nOiHa9mnI5;>tIXOByIy*Z%JUl!-Jv}}?
zK0iM{KtMo2K|w-7LPJACL_|bIMMXwNMn^|SNJvOYNl8jdN=r*iOiWBoO-)WtPESuy
zP*6}&QBhJ-Qd3h?R8&+|RaI72R##V7SXfwDSy@_IT3cINTwGjTU0q&YUSD5dU|?Wj
zVPRroVq;@tWMpJzWo2e&W@l$-XlQ6@X=!R|YHMq2Y;0_8ZEbFDZf|dIaBy&OadC2T
za&vQYbaZreb#-=jc6WDoczAeud3kzzdV70&e0+R;eSLm@et&;|fPjF3fq{a8f`fyD
zgoK2Jg@uNOhKGlTh=_=ZiHVAeii?YjjEszpjg5|uj*pLzkdTm(k&%*;l9Q8@l$4Z}
zm6ev3mY0{8n3$NEnVFiJnwy)OoSdAUot>VZo}ZteprD|kp`oIpqNAguq@<*!rKP5(
zrl+T;sHmu^si~@}s;jH3tgNi9t*x%EuCK4Ju&}VPv9YqUva_?Zw6wIfwY9dkwzs#p
zxVX5vxw*Q!y1To(yu7@<y}iD^zQ4b}z`(%4!NJ19!o$PE#KgqK#l^<P#>dCU$jHda
z$;ryf%FD~k%*@Qq&CSlv&d<-!(9qD)(b3Y<($mw^)YR0~)z#M4*4Nk9*x1<F+1c9K
z+S}XP+}zyV-QC{a-rwKf;Nall;o;)q;^X7v<mBY#<>lt)=I7_<=;-L_>FMg~>g((4
z?Ck9A?d|UF?(gsK@bK{Q@$vHV^7Hfa^z`)g_4W4l_V@Sq`1ttw`T6?#`uqF){QUg=
z{r&#_{{R2~A^8LV00930EC2ui0096l000OW0QKq1ch4TZdGX%0V^^-B!-o(fN|YE7
F06QjbkQ4v_

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/gray/panel/tool-sprite-tpl.gif b/static/extjs/resources/images/gray/panel/tool-sprite-tpl.gif
new file mode 100644
index 0000000000000000000000000000000000000000..18277a3d4873a92ed7b481533026dd6e6f91f831
GIT binary patch
literal 971
zcmZ?wbhEHblw;s$_|CxK@ZVw1oH;vo?0ER_;p4}TpFMl_;>C+suU>ul@ZrmsFW<j^
z|NZ;-|NsAi${0q$Xb23u5K#Qd!pOkD%b)}D87NOMaI9dEHW6^xu)vX#iIpwl#D>I%
z7A6UgIUW-k53w<_W!yPYc;Ik{sB_dAjY*4+cW?)-irJa)gkhS2zfpk0=4HODdik%W
z%v`Yi{Cv(BCRr`v#*2$R1b6tH3Q0S@TyMS|ufW8HtE(e8cbqvDn%1~J;jmbN=C(CH
z%o&$gnLa358$FZ#(W$xB2UPFwHWI%x^>&bh+umw^oevfpo*e0xT$)#-@nON^771A^
J5eWeXYXBZ@aLoV!

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/gray/panel/tool-sprites.gif b/static/extjs/resources/images/gray/panel/tool-sprites.gif
new file mode 100644
index 0000000000000000000000000000000000000000..11845e66c96040e4b4e67a50e9052ce02b58bf0a
GIT binary patch
literal 4464
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

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/gray/panel/tools-sprites-trans.gif b/static/extjs/resources/images/gray/panel/tools-sprites-trans.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e58bf20b3119d0da880cd94dc8293f69f715a93d
GIT binary patch
literal 2640
zcmeH``9IT-1IOQ68#7|AFjtt7C|8b8`4~Azh4pa^ANMsXYx<_BMvgg><715+vzWP$
zqR2gR<R~N(xf(g5^&yqd_W6ANi|-Gg=kL$Q<Mntx9xq#a8xvDMB|sFE3;^h}nfkvq
zV)z&*a(ytlB{Z%jG`=+=vGsCNYb2$WnARDc*-fO+6*n&DJzp#DSgh$;c|5T4cx0=6
zY^8gO%YMrpn%^H?+8<l_Iljz&%i+G}989k9rq=nh8~Zbx{AKR`;#WRrkH7w%zx@~g
zAAtY(ufYFJ0hR9%5CDJy?SB{j`w0NX2cR$oyLviC04Avw=v(h+At0-YEuh4eu#*rD
zq3;J8tgPb?!;=(XS&$R~G>(D#;_Q0}P=mIm=Mg!Shen>Q3CD6Y>_w0vsWcDEgwa9+
zWq+7Bqt}t9PE)cbAQ)EVP8xWHeM63gh`f=nI&v>`ywuz@-TS45#=9cJIEk(LscO4;
zgt>{%my+#yG2BVGX2sJwzYguEaGre@W2p}%b0Q(#xzTb6D<9r>(DZ1vOU8kzP$==_
zEX5dC)e(kN6A-Ttcxm**UDt~FjO0+G_+x#Qk}3~V{w&RKUt&8%n84{RBp_Okb?bAR
z)$GDRS^)iFyG4p<O_e`?pFU+E*wuC+;HclTTOWE01jFYQ?$m!w*cF?%rF~dG*jc(U
zB~E^w6-+-5Lb2%a=DC<TlG3H7g@nVux+})F>Pce~!C=H9Mjk1}h!wqQ=$ryGGW54m
zO8TgpDp5I55~8GPqH?#;WBPqEEeN$>1L5@+#Uyq2=iT{Q7BYJqd!ohX4j&{_eBYdF
zmlukHg`z0Nyr`VJV)$cDz(CD@K1@{AZ8<<K<GUnIbiEn<Kq_AdeNA@QG&oPlmBq<8
zCNYUlQM&3Inlc52Gh8T_SNsGQ?5BgGu3JvKW%>ktnu(#^mJZ4(*UKxubzv&GG?=cB
zFQcXTh0*N`8GI&Qs4C8A&8;z4)6>_)CV95ddCL`%_}cnn*gco=7T+j;50+Q;c<$S*
zl2?|5t)@&%htil=qAgogH=CKTz_NU;%8Df>_EY6t2R^^mrv`oUNxcwk*4eoE#%#ms
zBwgu-bdYsnO50w=WZIjS(5mnxC44CRjelBA^DJ`eQlBzec&6fBciP()4mBpQ6$kFC
z^+&>VL4YJIvoRAD3iJ#~lIfso&maH;7TSDI68L?6`0*GJsN3TVb4tcUsYYl1NrFXV
zW-;OlKo?j=8|VUww|VTo@wlQG*Xe1hkwr?+Q_OnjX@&s+cmy2)AZK<a1TM36jOWC(
z`Q`4QNoj<l;1Pi51v=tojDP~NzL@3vxE-8e`e{*9K*|d11O@-&LcozcoR75Ef+<Ai
zVq`^s!f(~YDpYdp2bSYag~)96x}nNT8(FSBq0Bk0aDqAnb3D9FZa6BUPhQ!xyXPdd
zJia^IETRr%Tzs_qRoXYzUATtwEjHnj81d%o0MCQ#GmXC%#l(7Sc09G}82wrPSKOI0
zp4p4}&d*!=gWGoO<GYBl=%&hhTxv3NYYQ7Ed@xkUN|s+c47Y!0P-Jyfwtf53$yn9a
z+*st)nT>)AR_hH@KhT_xz1})A8PeP{6AtYlWz+6JScYdK(ADqA#Gp$?pYxSe!3S0v
zrvOA8$;CigKq|{z#F0TNT4f_-znpUfVPFL~3uRYG>eEA*qWrVU*%1q=K16ZAXh8vy
zy`dkrNKRz+$qU$F&P;>JkXk76bZWoZ%>+NiZI;vzXg03-k)IqfnyvIPGJq%SCT7d2
zRgnk;+ASDu8GAHPG&hIVD;=S2*yON|{)5|n?+EEpAC=6_WhGED2Bsy1rX{Eiy<{DA
zUzJX2$OGaZ%Xg)&56-&_0}>NneBI_>u>Qlh+h-Pe$Qxz0J?HbY&&a7C7dml~G47xS
zkkNT8*$eRAf|uc=nmN&R=aVD~C5D%@9;#LQbQnC4EK%2)yTKp5g4EC+0j(i#nIfWk
zz8+5^oVNr;_Qd~k@mQv1u+{fz%itF~o(AcqY85Sd;q%+(DTW@o;I-PW=&zJz5e@F<
z%$Q~)uCOek0uap~(itV?PURds_tD@*QwlLl;4fw@1UuQdLt^sMsk$;)+q(r(SNqc|
z_1S%nf12QuRQfnJAt7gLsg70k4+HtnX3kwf@1jR67$&BJF8P)yqxFO^N8#3qSypzD
zcLc@BEO#u!d%Swse;ES}pKOLps~*O&EFTia+AUY`qb020y${)49@);5gNEChzSFvI
zBU#!q!Nhr=MFNO=qhhK11ghP6widM3C2-Yi@rKiL{?Z%f?m=0&CU?SmZ=%81IRG<f
z=T@qv-XP+wtrtY_Vi~Q{B+6u8oWOSu$GiTIT2dJD=F!YN<=T@(ZJiwg=_T7AbE?^K
z11qQsazAnZ!DLv7UY`7gg84no>%Azn(4d>p%BN1=IalJCoO=)WNqrPl{f@2X@TwiT
zA*xATNv*Qq4F9rpJxmOsSb2ZL<UD^{$aJ$V@Q%9XX7(Ww<#A}4+*)LON=J!IaNqQw
z>D`Zm5Xl)9pQ;dRCNGMHbzFQrv_%%K-o3Mn+T#gfp(^`z%i*-_!H{uK=@=eM-PG5)
z=}~?ARByThk>+p^^!|&}lSO>PPb1TSZzCL?5!>$#1u@#I%EEFq(CJ1pG_$UYvoV;7
bDyFN53<eVND!n?iY#zfoHB^(M!0EpMvJ0&}

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/gray/panel/top-bottom.gif b/static/extjs/resources/images/gray/panel/top-bottom.gif
new file mode 100644
index 0000000000000000000000000000000000000000..24ceb30bd6844ee3ebbe71d1d80e71175286829e
GIT binary patch
literal 871
zcmZ?wbhEHbWMt4`Y-eCNckbNv>(_7GxN+;&t=qS6-??+=?%lih?%jLv;K9R(4<9{x
z^!V}Pr%#_gd-m-4^XD&Kym<NY<?Gk4-@JMA_U+qu@7{g*@Zsafk6*uj{SO9QqhK@y
zhExbB{$ycbVEE6V10)$hd4hq%g@HX`g+pRf3x|N5MZ$)JMkW?^J`n{22Zx4k3FE9g
uCpIoV-ml=?CF6N%aqDD_;8igvH!VFq-5~kY9M8?mPIFrr^Kfu5SOWkYK!8*L

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/gray/panel/top-bottom.png b/static/extjs/resources/images/gray/panel/top-bottom.png
new file mode 100644
index 0000000000000000000000000000000000000000..578ffb6092a47d9af33fd86615855ac328958537
GIT binary patch
literal 218
zcmeAS@N?(olHy`uVBq!ia0vp^j6kHr!3Jb81>C#}q}WS5eO=kFvq*Asi<fl7Cjx~y
z3p^r=85raafiPp<g;G19AWOQVuOkD)#(wTUiL5|=rl*TzNX4z>jL3o~JcpmZ-+$h~
z_Wy_3jh&1fGyeT$7yAGIfBVLN2O~0szQ_GbNqF=$At@m#iKWO<MOb+TtBPV$PXVXe
z4whLGH%<j6O<BOKc;u*!#2iDf9-%AB5i<jKC^6;moRK+|m&vefz0#ar+EO4(89ZJ6
KT-G@yGywnuok)xT

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/gray/panel/white-corners-sprite.gif b/static/extjs/resources/images/gray/panel/white-corners-sprite.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d5b8adfd18f530a71fbbb081aef99ce7d3fc2221
GIT binary patch
literal 1365
zcmZ?wbhEHb<YCZZY-eEb`tNo9`t=((Zrr+c>-O#2ckbM|ckkYV2M-=TeE8_mqsNaQ
zKY8-x>C>mro;`d1{P~L)FJ8WU`RdiH*RNl{dGqG&+qduDy?g)u{f7@9K7Rc8>C>mr
zpFe;7`t{qlZ{NRv|MBC;uV26Z|NqZ03PwX<u!ex*PZnm7+jKw#C{HkO{AXa~k?`2C
z-~gk7kd}|fhr_My0`hedFBUc(?H04;dE>Bf@$o)cwxSshn^Zjcn9V&RP8L0FYm`zr
zF-J4_@BtqFqE}~TCMvM8J2W#LHMqdkyx5~ZO2Wgj@$zy%O@mgh&{qwdoSU-FS|uj5
zFee;t>NWV#*tj|4yq(5uv$wYxdAUx^)!u&4fsN(UtFxyQ9yB$v{^#>hSg_&YAx<_W
zjsrUklUcfCt=nu8Ha<B%QJ;N5&QGKCv$Kt>#dLpePP@EVyV)&v)|Zs)y^;IFYNgE5
zZmqQ5er#{__niA1bK9T&t=?L2^I)esd)@4x1<y~+mJZk3Yxec|<%RP1>ujycUf<eX
z{GZ?7Zg=H}=f%t4@7-td>-(#Ro2S3G+xPe9_t%f_uiyXw)3^T@#S`k7KZP%-zbZIm
zK_j=)kGW0!MiL8~?}b{(HSo%<NNkhw+p(}+HcI1O$5T#;N3Cj2D;9OAI-O8zJFKgs
z%)xwiM?kNcQA<Fd$-5cKefGaHlqWcISt?I-m(o<8<gHb?crusaPnCY#AkEY%0k1Mr
zr-gp1SUN4P=x6G5$Gpt68R^qHpUukJ7MU_Df0N|$*`9|Ym(MA`baTnv>PI)1&kOz~
zsj(p9ljVy!9nWUInBOh8>c!$7r&k$Erub!LE^JEj(wH%O(#;ji<`+q=T0W^MYSoJ6
zlcH9xT)pVls#Vi>8A)lcS#!?n+1jLMSs82hoVumGb{`w}n+-eOY2|F3DYrU%(-FPf
Vnw!pBS!->%{EX|yRz^k!YXB4;a=8Ei

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/gray/panel/white-left-right.gif b/static/extjs/resources/images/gray/panel/white-left-right.gif
new file mode 100644
index 0000000000000000000000000000000000000000..2c9e142be832aa2b1bfc7e5df32cc70f5c721c6e
GIT binary patch
literal 815
zcmZ?wbhEHb<Y8cBXlG!!b?erDFyI;mqaiTzLO}5+3j+hge+C^O$pFd|3>-j`MZjT$
M!a)WGCME`J0Q>YT`Tzg`

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/gray/panel/white-top-bottom.gif b/static/extjs/resources/images/gray/panel/white-top-bottom.gif
new file mode 100644
index 0000000000000000000000000000000000000000..8046089a9de7680673de4bc9dbf45ffedf72aa52
GIT binary patch
literal 868
zcmZ?wbhEHbWMt4`Y-eD&e*OB58#iv<x^?^Z?K^kw+`D)0!Gi~n9zA;e`0>-HPoF=3
z{^G@pmoHzwe*OB*n>TOYzJ2%Z-G>h!{{R2aFbYOPVCaW{;!hT!C;l_&fV=|A6AT=V
z46Gg<3=bQd*?7b>JQ^4dGBUGr2}md?Ff?>a7-!u%v2pS7eg)?)8P7|LTPAA+uZlUj
WY3b?d2Fa)9cy3<i!^p_UU=09lSWrU%

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/gray/qtip/bg.gif b/static/extjs/resources/images/gray/qtip/bg.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a9055a5ebade2f4ba2f5fd1461d9f8a3478646ac
GIT binary patch
literal 1024
zcmZ?wbhEHb<Ye$;XlGz}{`~oi7cXAEeEI6ttJkkzzj^cK?c2BS-o1PO{{4p!A3lEk
z`03N9&!0bk`SRuK*RS8cef$3X`;Q+#e*XOV>({T}zkmPv^XKp1zyJRI`~Uwx!zdUH
zfuR-xia%L^PX5oJ19CVhPcU%YWiaHBu_$Ob*v!tU5p!b0!$V90%5EkO8<UPQOBiR}
znIYJCykB0pL&kH{63@w8L90S`E?9bcx<Rbb4A0HWd}r|%y}I&p!SeI-9ct|)ytb?e
zTqH0_EA~`KX3O$`g<c&}p-op;hpT7YJ+<|97+1pKE?MbqO*c2E>qa=t4qF?&UHs9h
zx!&8?-Q8V&|5fbiZTaz=8je=Uz7buWxT-_gJoe0&70HVom6`8){#=$i+tB!M%*mfi
zo}cG*==yeIqlsJh3T>~Lw;M{GTQ(%ii#Y5qd&{t+`1QTH(hcwLA87v1$H8C?08ARV
ACIA2c

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/gray/qtip/close.gif b/static/extjs/resources/images/gray/qtip/close.gif
new file mode 100644
index 0000000000000000000000000000000000000000..69ab915e4dd194ad3680a039fd665da11201c74f
GIT binary patch
literal 972
zcmZ?wbhEHb<Y(Y#XlGzZO-*(9@6g@d-QV9odGh4x)2GjwGiSkq1xuDJ*|TTQ-o1PG
z?c2A1|Na994jepq@X(<{M~@yoe*E~wix)3lx^(yM-4`!jynp}x<HwJmKY#x6<;&Nv
zU%!3(_Wk?!A3uKl{Q2|OuV24^|Nism&)>g)|NZ;-|Nno6Q7{?;gDC_Qf3h$$FfcOc
zfE)$N6AT<H8JK+}JT@pCWDwGr5OHFIA}5!SRKpJjCYO$G3FnBK0}L(gU6O`jB^NF-
zH%ylBXOcMi;IKO*6GI0BL$J$HHr|*p83P6ee?c=xi--w|&h32i92#?fEIiCM$+f>u
z!(r;m%j_<O1rHJyWQX(1S>$9KP-wo!oMF4bR^Z#pCLVEt6JIYJY>r`(GBHu8TKMAH
hV%craN*NY1aV$`Fvrs8ibZTIkpzPfzqoBZG4FEi-n5_T+

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/gray/qtip/tip-sprite.gif b/static/extjs/resources/images/gray/qtip/tip-sprite.gif
new file mode 100644
index 0000000000000000000000000000000000000000..472c4c25a7ed21fab3620f0adb32a08b294ed3cd
GIT binary patch
literal 4033
zcmeH`cRw470zkE9iw??__EJ}kgjTf_u{tQJS!%_O89`NDBSwc%Ti0!g4wckiH7iD_
zT@oX)LXAohQXwKFR^Gdx<Gu68`2gqlJ7#xGb-}Q$Bf9*_e0=6S^QoyR8jZ$eGTCf4
zkH<UyfBs+Kf2P1+TmgQ*|8ntP{rd!;2#@cGfQ;_lC*M#alB#ZfU-CPXPhBv752?m<
zr^{#}e)Lsid!Nf2r~QCD_|(oPXeTZ6y{2FwTf?XS{hiuE;yY0XX?f=-Pi&6rqK?a&
z*A<UoA+P23?|7-07n)<uKbY5-j+M!y_13tOWfN6iooTYucJ%h6{G=1|0}U0^Umui}
z%6^Hs|D!pYwK~%r#&9f-;}?~)oUEV}xr?fK5E_}ooo?}ZA1!e;i<!x`r7Z+p?ed_W
z)myO*T-^%!saf8i#HM=s#224|k5<hMYtxP4^jTu_*Y&w}l<0Zumd4-@eXrF#2U~Eg
z<zcKvo^@*zn?6|^G&k7Vyt6*vna&FxtZU)2Xyh`_A$;rJ&IWZL&!!E3u*YH1=Z4za
zcsxEK;QSK-Y54q85#{3f1Tk&eJnEDw@Mq!~M>s4#+^_iOvp*wgKa=I30T)sf-@+GC
zfrZ5jX%`!43+Wm?Kx&58IGmcPyHrfgGT5e3pWk>D{qu#1bl|U-5ap6zuPn7!e!aeH
z3R?Wf-Z60TjcHcV;#;@KmBnnYXP~7V-?!-ZVerC|rQG0#m8EwNdO*wXEApj&eTZHv
zS^gNey|SDaaR8!yN|Z*>@>6DI;Ft{URT}n%X%iLm$`P?rkmElEEXa*qT`BtXY*(QO
z^A@pMQXFZHC@pVTT`h~P<Q=D%*Nr38(rac*>6I;v+@Pv<A+_@2wi7|WtNZT9IMxuf
z>B0HkMrvzyqk}Rb^^^W(6)6+<>1$u7BSjgFzqHlv<7kD`blhqKol*81ueRQj-(#`f
z%5g-5;`g^>Y4}5-ix0{NP6Tg!<4I?1bcji2*ma&V+rQ8*;S?N}a>lcq*@N&SFngt9
z#WwrI(k(Z?^S{g3?B6dXY!0xR#8`yYeoGdSI+ej1oLVKYhRC~OTf>CoR$C*TXEV1*
zEvm#Va=o57d$iKrial23lF1(bgdnmf&@tlMldsaOwkiEa8QW8IRl@ePZL|2!4~GG(
zof+tK=FY4;ok!f6gYAiP=KVyiIX?rZQ#lJSa)}(On%)WSFJ*IU?xM`OEbfwI&>(kN
z&*j7}4fFgExl$OK6|<UMHMsk$vh6VXcg<z%*tO)jtiAcB^~0!j{JMDDM$}20{U1H&
zd6Ap_Rm3<}!1a>{lO!8n1baL*Gk)7Cbm(Ao_A&2o&cbD@M_jYK=ZC|qRlM*$#=6+!
zeVrj29$|Zq_waDHitw1HvUi@(Ou7BYqw*(0KV*(dMpp}7)$sio`)O4H_-)+wOTw3C
zd7*%!Z{kyxC^>?xh;d)@=~o+3$_DuxcEueF)nAhOV*e7$R_O%jRXx+rkUJ3$X_ejF
zh%wsF-{vI%yBMddQ|9#*BzlXwlya+5tu4==!S>-ncFcIk7R-K4arbUmbvkEHL1ss#
z=gMwXhQFBnSu&*kS`G8b{W$DVDzI0GRGoFo{+!&%QoEsJ+4DzYQ?mTfnwt_5uqOte
zabhKX|6HkgdBj3d@ww9XJIZS>-x8dZG>?^AJ*)}L+4m*f0`*5BYyN4_Q&J5q=y&KS
zeN$QfPR{3;mNV(9Lqm(-tbd8c`^B2<E(IlxR`vkwQE5(({Tq$fsh51OO5PicD=ff(
zh#kzDTt%$1_W1&0i1Oe&AYEDaw9;VM+0yq*if8o5pyG%cvJE3nC2s*_V>nX#F}g{`
z2=$pa6d%dRJ#=%v&fkxHDxvlFfB{@pvh=Rw)w=wuIG~ANNn@&>#3$(xw25Y#D(az@
zsoVjrSX-6k<z4rA^Ek--f*I*ejCq0j?bDV%F1WX(Gr8KWD_Y^D_ktYjimp*XcX6Q6
z{72;Cn}#5}PKVI~Wy=!l5dVAF(!mnD`VWq+ss^>CW5|c~W!w9z&MeS)^=56k|G}~i
zS+xS4HCEx36y&s6>d@pdR%zcIWY1o;$E%N3K?KWf1@-Maj*fjXyj^ZB6??CTG+KQn
zsoX-T*{&ZmTBFom4!O2xJNR(479d!0`?kI<>DFkS`0a{Y4zYK~B}VIyBvoAZYqpu<
zEsz`7T@?lqd)Bix<gY6NmEa_O>xBez<E#lo`%Svlk|P;MN@Qpj3|Ouzlbd?F7#j7W
zmW*vubCbaOrEUw0%^p%qrOCSLSi1T4TT&|~ab0C`;Lff;3IDchU6Cz%=TMu}mL{<A
zm!Ku&s4%Jhk;#UfREC+*#K^aYi5usX2&Tu2MmqevHe{}enVyIm>2wibO5L`+Enzm&
zWo^QgaL6!`{$r&3RwDDHAHn$S@^FuK7gH=k%vkR0aIdPs=CLHpTMEg;eR3w7LT@r|
zDmx8-mq^^?FCg4dRT=IV>e}S17rUXpGc>Tv&pPO`yneNJh`=yr?T%&`X=e}dhzlsz
z&M$(YUck`ccqeOXOU%$nXK1LOe~T$#WpGP)Xc%w2#W<6xZ#pqJQiIx}D-!k0iv~%B
zomwly{o@G_o5&(bs>PQ<tG2=x<WI)z6{8Tuxsu%Qs*heJuHyYrvWru7k6Yy>INkMf
z-2^@o_yr|90+W1)=`B<&dp(13zc)w$Xld8#H~kJQ6PbF^sV!U(vSt_fE^O{l{%f;)
z72<VsA=PNdf>^;gopdg2T^iOjE!&7B@7Xbx-S8Ih^;mlP%;EMh{)o<lGu!&}nf$sP
zI`$9n*W!|dJvp{Yv!%&Y;(~gHZuj?+jm#oJ>fiiGv1^Plc*GB?0x#LMKM=C{>Lg+@
z7{wKLWjws`A&z==nMwqG43{OfEXA*aDT%Y4dHgf5Aj77snU#OnTy0$mh}Rn((_{NE
z+!joPUB{mS*`={fbdQq}q)xe#ig4m@V*!1NR0KN-D;pH5gPEG}z&73^GVZ+BpQ#v&
zOr**p9tU7%cTSM-!Uh|b#`}`OHk_AN@l2w2OPkblt$qt8^F;t?Ni$DjK$6IE_+hYY
zBe3gYemGmui=ml$Vn$g6wyT>VeI`C8rgJvCK6GcT6}U$UsNBKxh8cm{`x-~Db7WPG
z2>;mhP%q^D#5w7(pxOtTdOR+m^pP(1@%^<j=I-RW3~%TA+Cgwu+w@}S1x}|;Hp^B2
zKpu7d&x!MoxZ#Au@Xyz`nN?Q~r)_yd%a5fmJV9zj{?1kr0A4vJb466-iuk0)NoNRO
zO5ADSU4~AGR0`yezF<JKhAdp;e6+1l^phxwgrhzQFYBIuf0l6Ak#Mk(aQ52MZ^EeD
z&k4PzC{6-u2ZP$`Kw%Y8_+=Ex57nidSZI>?%|DTWNnGnlymKu<QAE)?NBv%kx`VU2
z6GR=FqY0q}xr(TJaxTFjmhRC(K7IB#bYlZ1HT@t#K{=N~fewLvF<~6DkV!-Y<Ps7H
z3D=E@opg+XBOY@uqG%VB8X@t0$Yf`&r@DxAUe3kmDHmTB2dCyBU&AkELlAdml8j!Z
zb}Xb8ji-DPO8cOg_Q5nQ<X-BF<h1&R)c2f-N=}-$N;<?W9afN**_(#<P75wbZ|q4A
zTulF}kkKZc-atdN!yUV1bQ&Si1Hj;(=nSpRjM`h7-O`yP;DvFK%ilSUGcrzdx=ufx
zov6`Hi#blqjZQ0*PIQjbnvC<ht~1lwnHBBK&T-ypbmmSv?{S<DWS~4<=n*KC9|;vi
zLxpkBV-%<;7b*^LISF<-4Rw)3x=5j2{=m5aC@$x?F0ugE^I+G%psp8?u1aWE6`U)G
z;;P1Vy##Q(40gK$b<;$;T|>L+@NjNmikm*y%@E*z9qfJ+>TZm5zm0Y`!@1v~xLa`D
ztpFZ2U=LfU$33Kn1KPt0=K-a7xN<$*0iK><PZ-qG2kGgD_6)#z22wnOxSk;ZuTZd8
z7}P5q=@o(Yio$szDPFN$uXq6LF&Op~3PT}bNoZIy4wg!RrE_7K0Pp8u@0U>T*GTU-
zXzy&CH=5%8j_dsa;FAaT$%p!2kv;`zpCX)33B{+3>r(;ntpfX2Lw#$JzV&F|uQ*>E
z#kZO3+Y0b&1N(i0`gJ1xy3u~UIKS@{zX7fv5#T=r_8)=zlac;oX#WYEKZW8y&GnxF
z1k8a0etv`oP>}(P=zwKhzzQXR&J9=tz}LZWCKS#>!r5r}4i3(x!1uWD13(}T9C*Yf
zkUu6+FgH-RDUjG0HJuVn0VW;GMVxLzh?+-<yM##|4+5wLO>#bEP2|g+MM^bA{?V_h
zlxA_RGziomB!3o@JAqN3LaOZsYn~0!IE(%4gryW>rz5etQ!xg|@849tZ?uc8)4}*g
LVMe7-@#+5u3K;32

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/gray/s.gif b/static/extjs/resources/images/gray/s.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1d11fa9ada9e93505b3d736acb204083f45d5fbf
GIT binary patch
literal 43
scmZ?wbhEHbWMp7uX!y@?;J^U}1_s5SEQ~;kK?g*DWEhy3To@Uw0n;G|I{*Lx

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/gray/tabs/scroll-left.gif b/static/extjs/resources/images/gray/tabs/scroll-left.gif
new file mode 100644
index 0000000000000000000000000000000000000000..bbb3e3d9d35fd19b61bd8d0a0bd5f42dd3e82ccf
GIT binary patch
literal 1260
zcmZ?wbhEHbRAJC&XlG!^&(E){taSMA(ACv7Wy+Lw>(*VncJ2E0>o;!PxOwyDty{Nl
z-@bk4&Yin=@7}w2@BaP!4<0;t`0(MQM~@yqe*EOglc!IgK701;`Sa&5Uc7ku^5v^n
zuU@}?{pQV^w{PFRd-v}B`}ZF{eE9hB<LA$xzkU1m>(?)aQ7{?;gDC_Qf3h$#FfcLb
zfE)$N6AT>x8CW@FJT@#i*v!GL5p!b0!o%$Xo*r{NHZD5CBxW3>qp)c4@qPu@2^td?
zE;%__!?=g%;HIUgrz^U}&G6j3>@2sk<BK~dH>-C{6l>y=^}2HC1i!~*t=M0VE{$9P
zi@oMX9bDPII>NT+#;mWag1Hh7cgcDm%xvGBv0dm!*S9s7ISU>il2tHY7tB}jF^^Xu
zVRif-KUEGn9iS@@HP6k9*psLqzdu^sy4PXnrbLFR#@1I4+%&v@zSh#Z)nV3`r<WPL
ztaV>XetA5}PyR$*!>=zn%O#4ov)L+b4`x5mc->6qPNwhq3GQb~ZY|jP`SiKP)~c^8
zDg&1DY|2hgsMuY$JmhNL$+@pe8h?I%#=gM*|I{_{oBTvi%=h2FuW5Vf=hLOL7VQ83
zpFvGPB8f%lnFtey+KLBF96r--HVasl9%vB>%XrARc<Qo;ZL35R4zw$@X)I!tEXq(~
z@#|fo)S)_WM`D-usvC>CWshkjGny1}Ebdi2H{)@iP2CISUI#YICEc!{DxP$D-rBLG
z)A!hqC4F*iCzbjvvm~B&1@DVkI#nfUrfO#NJ&Uy7gtkhxnekCKmrl!-(tI`}weN@8
atb}_f(`IF@i(KAOwMb(5Bvuv{25SK3cQ--+

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/gray/tabs/scroll-right.gif b/static/extjs/resources/images/gray/tabs/scroll-right.gif
new file mode 100644
index 0000000000000000000000000000000000000000..feb6a76f0ae36a545fcc77242b53261680199c39
GIT binary patch
literal 1269
zcmZ?wbhEHbRAJC&XlG!^&(E){taSMA(ACv7Wy+Lw>(*VncJ2E0>o;!PxOwyDty{Nl
z-@bk4&Yin=@7}w2@BaP!4<0;t`0(MQM~@yqe*EOglc!IgK701;`Sa&5Uc7ku^5v^n
zuU@}?{pQV^w{PFRd-v}B`}ZF{eE9hB<LA$xzkU1m>(?)aQ7{?;gDC_Qf3h$#FfcLb
zfE)$N6AT>x8CW@FJT@#i*v!GL5p!b0!o%$X+!JPaY+Q7-Q%FB+iH2eG@qPv8v<VuE
zmYkfd;p(yHz^0|Ar;Dq!&G6j3?5u#0?u$DoH!o-HRA}Oo^%8Mm6cnAL6?<ySp^N+h
zi@oOldZ^L5I%0Fy(t<0^*Vii_s*|lQX}Y;tm~DY;^_J%7?TMT%wZFfuXxUw%%D^x|
z{Cyyw%pop50R^20huxJm;$#x_8IE=J=iN}S(0O=BS<T;$YvJa{=NYWJ?N&J+?l`@|
zaQd}^FOAt3=Ev@~d-bv8)#*fAxzYpD-{S5a=ubM3@Vo5BLy11Kh;w@yA3r<YziCa3
z&6?ATc{XLIZz$jWZL!r#;Y)nCKfh@D{6d_^WBxyl%R3Th%Y{1Z-}m=7*P1NRJyTbA
zurRP`JZRvYvh`YHPG`e`CLXgF3QT2RRTJafWfLB@N~BddBuywiaU+neMdMM2iqwIb
z85+whW^t%)(|FXWb&P|tLvI_$;vUUQ5z3wBk9IujQ~mbhagPp@<)R68uQHZ&D)G!r
zp6G4#Ql-mFs#B#el&NxQPvpBDsXejRek|=u+-31>a$sA9+SCBOozMC+_uY(~X=Y~m
lbWUzm=JUBFY&)M%sr~e0`Q%19%NG+`_f@RuXJlls1_1f>KmPy#

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/gray/tabs/scroller-bg.gif b/static/extjs/resources/images/gray/tabs/scroller-bg.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f089c0ad65ccfc9be9663e7e0d65f547e9160ac3
GIT binary patch
literal 1090
zcmV-I1ikx5Nk%w1VIu$*0EYko000010RaL60s{jB1Ox;H1qB8M1_uWR2nYxX2?+`c
z3JVJh3=9kn4Gj(s4i66x5D*X%5fKs+5)%^>6ciK{6%`g178e&67#J8C85tTH8XFrM
z92^`S9UUGX9v>ecARr(iAt53nA|oRsBqSsyB_$>%CMPE+C@3f?DJd!{Dl021EG#T7
zEiEoCE-x=HFfcGNF)=bSGBYzXG&D3dH8nOiHa9mnI5;>tIXOByIy*Z%JUl!-Jv}}?
zK0iM{KtMo2K|w-7LPJACL_|bIMMXwNMn^|SNJvOYNl8jdN=r*iOiWBoO-)WtPESuy
zP*6}&QBhJ-Qd3h?R8&+|RaI72R##V7SXfwDSy@_IT3cINTwGjTU0q&YUSD5dU|?Wj
zVPRroVq;@tWMpJzWo2e&W@l$-XlQ6@X=!R|YHMq2Y;0_8ZEbFDZf|dIaBy&OadC2T
za&vQYbaZreb#-=jc6WDoczAeud3kzzdV70&e0+R;eSLm@et&;|fPjF3fq{a8f`fyD
zgoK2Jg@uNOhKGlTh=_=ZiHVAeii?YjjEszpjg5|uj*pLzkdTm(k&%*;l9Q8@l$4Z}
zm6ev3mY0{8n3$NEnVFiJnwy)OoSdAUot>VZo}ZteprD|kp`oIpqNAguq@<*!rKP5(
zrl+T;sHmu^si~@}s;jH3tgNi9t*x%EuCK4Ju&}VPv9YqUva_?Zw6wIfwY9dkwzs#p
zxVX5vxw*Q!y1To(yu7@<y}iD^zQ4b}z`(%4!NJ19!o$PE#KgqK#l^<P#>dCU$jHda
z$;ryf%FD~k%*@Qq&CSlv&d<-!(9qD)(b3Y<($mw^)YR0~)z#M4*4Nk9*x1<F+1c9K
z+S}XP+}zyV-QC{a-rwKf;Nall;o;)q;^X7v<mBY#<>lt)=I7_<=;-L_>FMg~>g((4
z?Ck9A?d|UF?(gsK@bK{Q@$vHV^7Hfa^z`)g_4W4l_V@Sq`1ttw`T6?#`uqF){QUg=
z{r&#_{{R2~A^8LV00930EC2ui03!ev000R809^?jNU)&6g9W{LbM>#G!-o(fN_^;Q
z;XiX2Giuz(v17)60@ZmONm8Raf$lKkTFJ5{u8l5ZVss}^o;h3-9llhVv*Am50^{NA
z>GLL0pYa6F!?~}i)2I9Xy<`d%s?>Q(ao*d?H4E2!QjLD~`V}lLtgh<eq{o(RmMm@Q
zg<aeBZCtsy>Iqc)51wCmZ?pV`H@ENKz=Nggb+z<gxW|FBJbqkwa=6HouV(!>uJgFS
zp2rmq4cfD2#yB^=)mT{LYSw2rqnk}T3vG0TZ`;0&JGLu%IMoRsPF!8#;>e`}b@h%Z
z^5IdZ{@eFlc=UGy*%|G*b9>I0>;$48QyH@*%<?QTq7z82q<fF#1cEb(QRMrP;1KHH
IuRkCFJ7sbm2LJ#7

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/gray/tabs/tab-btm-inactive-left-bg.gif b/static/extjs/resources/images/gray/tabs/tab-btm-inactive-left-bg.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d718173fcd30bb0dc4d1f5fcc791c49f079e9bbf
GIT binary patch
literal 881
zcmV-%1CIPhNk%w1VFLg$0EYko000010RaL60s{jB1Ox;H1qB8M1_uWR2nYxX2?+`c
z3JVJh3=9kn4Gj(s4i66x5D*X%5fKs+5)%^>6ciK{6%`g178e&67#J8C85tTH8XFrM
z92^`S9UUGX9v>ecARr(iAt53nA|oRsBqSsyB_$>%CMPE+C@3f?DJd!{Dl021EG#T7
zEiEoCE-x=HFfcGNF)=bSGBYzXG&D3dH8nOiHa9mnI5;>tIXOByIy*Z%JUl!-Jv}}?
zK0iM{KtMo2K|w-7LPJACL_|bIMMXwNMn^|SNJvOYNl8jdN=r*iOiWBoO-)WtPESuy
zP*6}&QBhJ-Qd3h?R8&+|RaI72R##V7SXfwDSy@_IT3cINTwGjTU0q&YUSD5dU|?Wj
zVPRroVq;@tWMpJzWo2e&W@l$-XlQ6@X=!R|YHMq2Y;0_8ZEbFDZf|dIaBy&OadC2T
za&vQYbaZreb#-=jc6WDoczAeud3kzzdV70&e0+R;eSLm@et&;|fPjF3fq{a8f`fyD
zgoK2Jg@uNOhKGlTh=_=ZiHVAeii?YjjEszpjg5|uj*pLzkdTm(k&%*;l9Q8@l$4Z}
zm6ev3mY0{8n3$NEnVFiJnwy)OoSdAUot>VZo}ZteprD|kp`oIpqNAguq@<*!rKP5(
zrl+T;sHmu^si~@}s;jH3tgNi9t*x%EuCK4Ju&}VPv9YqUva_?Zw6wIfwY9dkwzs#p
zxVX5vxw*Q!y1To(yu7@<y}iD^zQ4b}z`(%4!NJ19!o$PE#KgqK#l^<P#>dCU$jHda
z$;ryf%FD~k%*@Qq&CSlv&d<-!(9qD)(b3Y<($mw^)YR0~)z#M4*4Nk9*x1<F+1c9K
z+S}XP+}zyV-QC{a-rwKf;Nall;o;)q;^X7v<mBY#<>lt)=I7_<=;-L_>FMg~>g((4
z?Ck9A?d|UF?(gsK@bK{Q@$vHV^7Hfa^z`)g_4W4l_V@Sq`1ttw`T6?#`uqF){QUg=
z{r&#_{{R2~A^8LV00930EC2ui00RIq000P10C9m+Cy?O4f(Q>PG{`Vv!-WnbLY(-p
zB0_Qm(Gg@v@Et*U1m}euiAyA|dg)G{D_O22Ib89?<&qapm%DGi)OjQJj~h8;|Jadp
H6%YVBg5#z`

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/gray/tabs/tab-btm-inactive-right-bg.gif b/static/extjs/resources/images/gray/tabs/tab-btm-inactive-right-bg.gif
new file mode 100644
index 0000000000000000000000000000000000000000..bf35493685825b861e5adcfe7e9c22d331a6e50f
GIT binary patch
literal 1383
zcmV-t1(^CrNk%w1VJrbM0EYko000010RaL60s{jB1Ox;H1qB8M1_uWR2nYxX2?+`c
z3JVJh3=9kn4Gj(s4i66x5D*X%5fKs+5)%^>6ciK{6%`g178e&67#J8C85tTH8XFrM
z92^`S9UUGX9v>ecARr(iAt53nA|oRsBqSsyB_$>%CMPE+C@3f?DJd!{Dl021EG#T7
zEiEoCE-x=HFfcGNF)=bSGBYzXG&D3dH8nOiHa9mnI5;>tIXOByIy*Z%JUl!-Jv}}?
zK0iM{KtMo2K|w-7LPJACL_|bIMMXwNMn^|SNJvOYNl8jdN=r*iOiWBoO-)WtPESuy
zP*6}&QBhJ-Qd3h?R8&+|RaI72R##V7SXfwDSy@_IT3cINTwGjTU0q&YUSD5dU|?Wj
zVPRroVq;@tWMpJzWo2e&W@l$-XlQ6@X=!R|YHMq2Y;0_8ZEbFDZf|dIaBy&OadC2T
za&vQYbaZreb#-=jc6WDoczAeud3kzzdV70&e0+R;eSLm@et&;|fPjF3fq{a8f`fyD
zgoK2Jg@uNOhKGlTh=_=ZiHVAeii?YjjEszpjg5|uj*pLzkdTm(k&%*;l9Q8@l$4Z}
zm6ev3mY0{8n3$NEnVFiJnwy)OoSdAUot>VZo}ZteprD|kp`oIpqNAguq@<*!rKP5(
zrl+T;sHmu^si~@}s;jH3tgNi9t*x%EuCK4Ju&}VPv9YqUva_?Zw6wIfwY9dkwzs#p
zxVX5vxw*Q!y1To(yu7@<y}iD^zQ4b}z`(%4!NJ19!o$PE#KgqK#l^<P#>dCU$jHda
z$;ryf%FD~k%*@Qq&CSlv&d<-!(9qD)(b3Y<($mw^)YR0~)z#M4*4Nk9*x1<F+1c9K
z+S}XP+}zyV-QC{a-rwKf;Nall;o;)q;^X7v<mBY#<>lt)=I7_<=;-L_>FMg~>g((4
z?Ck9A?d|UF?(gsK@bK{Q@$vHV^7Hfa^z`)g_4W4l_V@Sq`1ttw`T6?#`uqF){QUg=
z{r&#_{{R2~A^8LV00930EC2ui04xDA000R80M!W`NU)&6g9sBUT*$DY!-o(fN}Ncs
zqQ#3A|GC1*v7^V2AVZ2ANwOh0TqRSgT*<Pf%a$i!%A85Frp=WxZ|dC1v!~CTK7$G!
zO0*-;qDYe}U3zq>)2C2rHjPTPs#T9uuWH@ORbkeyV8dShDz>cIq-4*kUAr?a+qZCG
zqKr$ou3Wo#^NMt<x3AxYeE$j_tS&I&!+8xOUL033<Hu?pL!KN~GUdx!Eo0ssRWs+$
zN<D)fJybO5(>zV1UR_f)>(?$_!=9Z|HtpLX$<4*hdndZxy@S(a2VA)EmhXxmUtUt4
za^}!M&U+rcI>zbNvwOs@y}L#3-or!xOji%rx%24Lt6$H)z5Dm@<IA5<zrOwZ`19-E
z&wqdUasUP>;D7`cXyAbeCaB<o3^wTCgAhh2;e-@cNa1wkWT@eW9Cqm8haiS1;)o=c
zXyS<|rl{hIEVk%ki_?iC<BT-cXyc7I=BVS2Jof10k3a?~<d8%bY2=Yc#)C^ZOg8D{
zlTbz}<&;!bY2}qzW~t?tTz2W@mtckoraZZPW9FG?rm5zdY_{p<n{dV{=bUubY3H4I
z=BekNdb*>FH-H8z=%9oaYUrVeCaUP7j5g}%qmV`_>7<laN~t=&aHHv_oObHzr=W%^
z>ZqiaYU-(|rmE_ythVavtFHb;L(D(4)@tjmxaO+suDtf@>#x8DE9|hu7HjOW$R>*{
pGUT}8?6c5DEA6z@R%`9G*k-Hkw%m5>?YH2DEAF`BlEY3w06PxN$anw%

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/gray/tabs/tab-btm-left-bg.gif b/static/extjs/resources/images/gray/tabs/tab-btm-left-bg.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c41cada78932294c367dfe3da5c1f6789a920fa2
GIT binary patch
literal 863
zcmV-l1EBmzNk%w1VFLg%0EYko000010RaL60s{jB1Ox;H1qB8M1_uWR2nYxX2?+`c
z3JVJh3=9kn4Gj(s4i66x5D*X%5fKs+5)%^>6ciK{6%`g178e&67#J8C85tTH8XFrM
z92^`S9UUGX9v>ecARr(iAt53nA|oRsBqSsyB_$>%CMPE+C@3f?DJd!{Dl021EG#T7
zEiEoCE-x=HFfcGNF)=bSGBYzXG&D3dH8nOiHa9mnI5;>tIXOByIy*Z%JUl!-Jv}}?
zK0iM{KtMo2K|w-7LPJACL_|bIMMXwNMn^|SNJvOYNl8jdN=r*iOiWBoO-)WtPESuy
zP*6}&QBhJ-Qd3h?R8&+|RaI72R##V7SXfwDSy@_IT3cINTwGjTU0q&YUSD5dU|?Wj
zVPRroVq;@tWMpJzWo2e&W@l$-XlQ6@X=!R|YHMq2Y;0_8ZEbFDZf|dIaBy&OadC2T
za&vQYbaZreb#-=jc6WDoczAeud3kzzdV70&e0+R;eSLm@et&;|fPjF3fq{a8f`fyD
zgoK2Jg@uNOhKGlTh=_=ZiHVAeii?YjjEszpjg5|uj*pLzkdTm(k&%*;l9Q8@l$4Z}
zm6ev3mY0{8n3$NEnVFiJnwy)OoSdAUot>VZo}ZteprD|kp`oIpqNAguq@<*!rKP5(
zrl+T;sHmu^si~@}s;jH3tgNi9t*x%EuCK4Ju&}VPv9YqUva_?Zw6wIfwY9dkwzs#p
zxVX5vxw*Q!y1To(yu7@<y}iD^zQ4b}z`(%4!NJ19!o$PE#KgqK#l^<P#>dCU$jHda
z$;ryf%FD~k%*@Qq&CSlv&d<-!(9qD)(b3Y<($mw^)YR0~)z#M4*4Nk9*x1<F+1c9K
z+S}XP+}zyV-QC{a-rwKf;Nall;o;)q;^X7v<mBY#<>lt)=I7_<=;-L_>FMg~>g((4
z?Ck9A?d|UF?(gsK@bK{Q@$vHV^7Hfa^z`)g_4W4l_V@Sq`1ttw`T6?#`uqF){QUg=
z{r&#_{{R2~A^8LV00930EC2ui00RIr000O)0M-3-C6M62f(Q>PG{`Vv!-WnbLY(-p
pqC|@n9mX3dZy>#a_6Fh`m~Y^|f&2#g8~Bf#tAXTPkz*GS06TgxpfLad

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/gray/tabs/tab-btm-right-bg.gif b/static/extjs/resources/images/gray/tabs/tab-btm-right-bg.gif
new file mode 100644
index 0000000000000000000000000000000000000000..96d2e5eb8a519e15bf48608df8d4c5b5a92ec7d4
GIT binary patch
literal 1402
zcmV-=1%>)YNk%w1VJrbM0EYko000010RaL60s{jB1Ox;H1qB8M1_uWR2nYxX2?+`c
z3JVJh3=9kn4Gj(s4i66x5D*X%5fKs+5)%^>6ciK{6%`g178e&67#J8C85tTH8XFrM
z92^`S9UUGX9v>ecARr(iAt53nA|oRsBqSsyB_$>%CMPE+C@3f?DJd!{Dl021EG#T7
zEiEoCE-x=HFfcGNF)=bSGBYzXG&D3dH8nOiHa9mnI5;>tIXOByIy*Z%JUl!-Jv}}?
zK0iM{KtMo2K|w-7LPJACL_|bIMMXwNMn^|SNJvOYNl8jdN=r*iOiWBoO-)WtPESuy
zP*6}&QBhJ-Qd3h?R8&+|RaI72R##V7SXfwDSy@_IT3cINTwGjTU0q&YUSD5dU|?Wj
zVPRroVq;@tWMpJzWo2e&W@l$-XlQ6@X=!R|YHMq2Y;0_8ZEbFDZf|dIaBy&OadC2T
za&vQYbaZreb#-=jc6WDoczAeud3kzzdV70&e0+R;eSLm@et&;|fPjF3fq{a8f`fyD
zgoK2Jg@uNOhKGlTh=_=ZiHVAeii?YjjEszpjg5|uj*pLzkdTm(k&%*;l9Q8@l$4Z}
zm6ev3mY0{8n3$NEnVFiJnwy)OoSdAUot>VZo}ZteprD|kp`oIpqNAguq@<*!rKP5(
zrl+T;sHmu^si~@}s;jH3tgNi9t*x%EuCK4Ju&}VPv9YqUva_?Zw6wIfwY9dkwzs#p
zxVX5vxw*Q!y1To(yu7@<y}iD^zQ4b}z`(%4!NJ19!o$PE#KgqK#l^<P#>dCU$jHda
z$;ryf%FD~k%*@Qq&CSlv&d<-!(9qD)(b3Y<($mw^)YR0~)z#M4*4Nk9*x1<F+1c9K
z+S}XP+}zyV-QC{a-rwKf;Nall;o;)q;^X7v<mBY#<>lt)=I7_<=;-L_>FMg~>g((4
z?Ck9A?d|UF?(gsK@bK{Q@$vHV^7Hfa^z`)g_4W4l_V@Sq`1ttw`T6?#`uqF){QUg=
z{r&#_{{R2~A^8LV00930EC2ui04xDA000R80A2l4N3fv5g9sBUT*$DY!-o(fN}Ncs
zqQ#3CGh!5|v7^V2AVZ2ANwVZajwVy8T*<PfOO_~K%A85Frp=TwZ|dC1vnS7-K7$G!
zN>n4zqDYe}O?q^x)2C2nHjPTPs@0BDuWH@ORbkeyV8d4ZDz>cIqGZpiU3)Vv+qZC6
zx{XV>?#H=y^Xi?5cdy^S3Ht&b{8upH!*&fLUi?-u<Hu$lL!R7KGUdxwEo0vNR5Rz#
zNIiod9aJ>w(>hI~UOiJa>(?*`!k(?vHSOCWZR6f;R5tJ5ZG8hDE>$@3<8qB7Urtgt
z^XCPfLw_zXp7rb4vuoeZy}S4C;KPgmA5Xr#`Sa-0t6#5PpuG3+<IA5<zrOwZ`19-E
z&%eL_{{RLk;D7`UC=fjeCaB<o3^wTCgAhh2;e-@cXyJtzW~kwY9CpZ|K=y<v;)o=c
zXyS<|rl{hIEVk(4i!jD0<BT-cXk(26;iKb@Jof10k3a?~<d8%bY2=YeCaL6-Og8D{
zlTHeh&y-YFY2}qzW~t?tTz2W@mtck|=9pxbY37+|o+;2iY_{p<n{dV{=bUubY3H4I
z=BekNeD>+*pMVAms6hM_YUrVeCaUP7j5g}%qmV`_>7<laYU!nzW~ynX0{P?Vr=W%^
z>ZqiaYU-(|rmE_ythVavtFXpbD(kGWy28yrxaO+suDtf@>#x8DE9|hu7HjOW$R?}o
zvdlKiEIGD1EA6z@R%`9G*k-G(u<StV%D3Q#EAF`DmTT_0=%%agy6m>=?z`~DEAPDY
I${P>>J76Hy3jhEB

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/gray/tabs/tab-close.gif b/static/extjs/resources/images/gray/tabs/tab-close.gif
new file mode 100644
index 0000000000000000000000000000000000000000..98d5da9528411ee291e0548246d9c86a82455d32
GIT binary patch
literal 896
zcmZ?wbhEHb<YwSzXlGz3FE6jHt#$bC(A?bI(b3V@*SBunx*a=q+`M`7;lqbdo;-Q}
z{P~9uAHIC~^5e&kpFe;8`Sa)R-@pI=|7RElqaiT#LqPE-3o`=)6N3)OE1*2Vz!A&9
z%3<NK;Q?bKv#Lgn#={4UoIC;+Gdda^4>Jo2h-f@WP;TO2Q8ZC-n3TfI!6I*vV6fon
wDRve~6%L2VX-sT}ybKHr5|%U0VVBS`*swq&a1L|0R%~U!f`d&=%uEc{0N$%ghX4Qo

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/gray/tabs/tab-strip-bg.gif b/static/extjs/resources/images/gray/tabs/tab-strip-bg.gif
new file mode 100644
index 0000000000000000000000000000000000000000..040b677a52f9a5eff89870aa31d1874765ea5a39
GIT binary patch
literal 835
zcmZ?wbhEHbWMq(HXlG!!ef##EJ9qBhy?gK8z5Dm?KX~xq;lqcI9zA;e`0<k`Po6$~
z`s~@W=g*(Nc=6)p%a^ZSy?Xun^_w?u-oAbN?%lih@85s;@PT0zjE2CF4FScUEI_ya
xXV3xp0F);fI20JP17;{VI<au@%a~*wNN8+g;Si892xvIaz{teJz`?;_4FKM?M|J=J

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/gray/tabs/tab-strip-bg.png b/static/extjs/resources/images/gray/tabs/tab-strip-bg.png
new file mode 100644
index 0000000000000000000000000000000000000000..fa8ab3f462f07ad14c7dbbf76117118a302e35a9
GIT binary patch
literal 259
zcmeAS@N?(olHy`uVBq!ia0y~yU~>SnxjEQ?q`I@C5s=a;ag8W(E=o--$;{7F2+7P%
zWe87AQ7|%Ba7j&8FfuSOQ!q5JGBmO>HB!(uFf}kZ+p+j0P#=4Vr>`sfH6CexDft?u
z8*)G)&H|6fVg?4eLm<qUccIh{D9DoT=<CS9u(6-}Pa-RjALZ%d7*cWT?LkIHAg@W`
h|N1-+2N07|a7RK|ih=QmLRuThBu`gAmvv4FO#sfTFE;=H

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/gray/tabs/tab-strip-btm-bg.gif b/static/extjs/resources/images/gray/tabs/tab-strip-btm-bg.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f35087f2bc150f125e54c3c99004e4d27f57f966
GIT binary patch
literal 826
zcmV-A1I7GDNk%w1VF3Ud0EYko000010RaL60s{jB1Ox;H1qB8M1_uWR2nYxX2?+`c
z3JVJh3=9kn4Gj(s4i66x5D*X%5fKs+5)%^>6ciK{6%`g178e&67#J8C85tTH8XFrM
z92^`S9UUGX9v>ecARr(iAt53nA|oRsBqSsyB_$>%CMPE+C@3f?DJd!{Dl021EG#T7
zEiEoCE-x=HFfcGNF)=bSGBYzXG&D3dH8nOiHa9mnI5;>tIXOByIy*Z%JUl!-Jv}}?
zK0iM{KtMo2K|w-7LPJACL_|bIMMXwNMn^|SNJvOYNl8jdN=r*iOiWBoO-)WtPESuy
zP*6}&QBhJ-Qd3h?R8&+|RaI72R##V7SXfwDSy@_IT3cINTwGjTU0q&YUSD5dU|?Wj
zVPRroVq;@tWMpJzWo2e&W@l$-XlQ6@X=!R|YHMq2Y;0_8ZEbFDZf|dIaBy&OadC2T
za&vQYbaZreb#-=jc6WDoczAeud3kzzdV70&e0+R;eSLm@et&;|fPjF3fq{a8f`fyD
zgoK2Jg@uNOhKGlTh=_=ZiHVAeii?YjjEszpjg5|uj*pLzkdTm(k&%*;l9Q8@l$4Z}
zm6ev3mY0{8n3$NEnVFiJnwy)OoSdAUot>VZo}ZteprD|kp`oIpqNAguq@<*!rKP5(
zrl+T;sHmu^si~@}s;jH3tgNi9t*x%EuCK4Ju&}VPv9YqUva_?Zw6wIfwY9dkwzs#p
zxVX5vxw*Q!y1To(yu7@<y}iD^zQ4b}z`(%4!NJ19!o$PE#KgqK#l^<P#>dCU$jHda
z$;ryf%FD~k%*@Qq&CSlv&d<-!(9qD)(b3Y<($mw^)YR0~)z#M4*4Nk9*x1<F+1c9K
z+S}XP+}zyV-QC{a-rwKf;Nall;o;)q;^X7v<mBY#<>lt)=I7_<=;-L_>FMg~>g((4
z?Ck9A?d|UF?(gsK@bK{Q@$vHV^7Hfa^z`)g_4W4l_V@Sq`1ttw`T6?#`uqF){QUg=
z{r&#_{{R2~A^8LV00930EC2ui0096R000OV0Gl<#*3BEZaO23CLziwHyN3`XLJSB1
EJ2X9wg#Z8m

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/gray/tabs/tabs-sprite.gif b/static/extjs/resources/images/gray/tabs/tabs-sprite.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1901b231b007616143c945403e60d961f41e3b32
GIT binary patch
literal 2109
zcmeH`{Xf$Q0LQ;ZOddAN!(v@TbTf3+QC^<TShb$6>++C1EKie%(<v#{M#rwyOUA5H
zO`bP%8KuK)Qwfztq2ytfJ<vRC#thlje{nzb`QiQZ=k<QQ-k80C9=oF8K)Y5h0QhQr
z>+0&*Z1&L5(D3l^=;-L!*qA^d7#|-O3WXCB6C#mFEEY>75~)-=IXO8sH6@eDrl+T8
zW@ct*XXobT<Z`(}p_reaS1OeY3k!>jiz=0BX=zEVRxd9vudJ-BuCA`Ft!XqG;QPKC
z_@5cDQR`@byM+3NZ%qJT4e%Ad4{5w?u(lzB_ptP7E)=6<4XwvL18mXp!=3eI7!$ZZ
z39*+|-UWsGRfl!4DzH$vS7*uIhROpFxTkcutD%Z-40i`_+Sgd!YXo=OcA~qn=B**z
zWzXGxkLdjdaHsf@?njIu1Go)o6ZUa!2snyQ-+AXO^LV4}Xj_t_3N_LkGb`N0NOuY2
zBz^+fe@st_YR&y@PiZ+<C*a|%T8dgJtk9QdH~V)W;I0v`vv*0>83pf%>brE{@*-m6
zqo_erlq2Oe_3_Dp%OQ;9>&GM8$Mh{i5j{{_;-^lsW5hvg;0owX8TS4`wl6_nmvw5a
zhuuO1ETAOK=0k0*89G`hyI_7Bdqt%WiahMgY5TIWWY!tM<#4`+><lI78kxomh+zBo
zTmnRzqm``iTcTw{!vULh&_JM68;S(RwKnHeTaj$9N<#p<dsJbpW6l5$?^0=A7Uj0(
zSQ*aUmGUXf^WebA7@u(S@)Q27-=o7ZFp6CSHgLc$^w5L&E!Wsu*4(1t*cuT91jdvE
zXc=<3)MyG`e9O>7!o8jNcv5`FI84PYNgKdR?m`H9rRz+Tlal)cT}xsn%rrq-O0q{1
zGdJv*l9uHM?&cB9jwVc2P-8=R1bEuiWECyvDlzi`1&OSwtQ`80PQTrqz^Dq>01Srd
ztI!0%<o$WNc5{v;0mRO_ihFq97%QXeA+FW3%Iq1n^)G(G);98vd}KUo#+_n3Za8hg
zXkunD=uc`2KGPd|A9ymG`&k#5Eg#xjn5`pyD@^vd(6g>hq`2VRz+IR5rdY=!u@?h&
z$n0x3<V?&xbq_$v519sKzIzV$sgQRBosr3dtaI}|cG?vuD!R5+)hfDCO)|yH?JrRC
zuXYS3&cF7M)Xw+h=*t>-=07<o-}IX$HKy-zxH#Ik|EWazRvqAUhHx~9Dd-QLuU!}j
zOP^jCjLdafd>>t$wD=*uifLY)*kqIz5Z~eCUXnI=T{3cxjFOIKI%=j=V+Fd-Pb#li
z^vK3Z4s}byJolNUPx%;U^+aJ%vRXuqt5b_h(r45XTFPg)KS1p1!+!$QOXmUornZ}C
z!x!EKXvkn&0U9RpCZo+%ZDcfD&!-S=Wx**#|KQ+Lgtl?#6rrE^@oy{d{R+9YkR1h~
zE?!FI6syh=BZ`+!-_%gl$)z01azg!O%1SIRg0dRj>qGg18;20rRz2O>ntpA;f)3RS
zl*}iL_zP5~aBtlke4;2@pthrWudm~0O<SGd?yG7R0+I37=o{#~z;-EZD}LL%o^onO
zyF5~a-yRJKE)RUVoJUXaknyV@cKB=Kf$Z1}E<}^+hTH<`MFm73fO%z`4IdVeVm6v4
z3$Ivx5r~1qb_VAEP@mT)-rO0X+z+>L>);idY>!i7Emf?**2a40ltL_G%oWr0F4Zah
zDE0?F3)7&iM_qo0vv>~M<6;a0{be^{v*GW~fZeR5{AVyd&-YvZ4Jp`f3-ulOxy#-V
z45ZM?-|FfR?m)nVlxihePiL;_m}Pfi*0qW<Uu#19hrS~=Py!2;kB#l^D{ekI;8GN`
zFV^h05Cm9U?@HT`3!&ZO6#zRfhzR&8`t4Wkm8`}LR5I-49UjPGCll|O8cr^0aE;s5
ztM7QGl6;qWI?i*v2AR=8zE{JF^OEB&kr&0}`xS~fA1x%3s9Q)Yb&dBkSx-;U)d4*J
E10N>jP5=M^

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/gray/toolbar/bg.gif b/static/extjs/resources/images/gray/toolbar/bg.gif
new file mode 100644
index 0000000000000000000000000000000000000000..9ab78a2ec788d6dfbbcd6212a4d3b1d9917d55e7
GIT binary patch
literal 854
zcmZ?wbhEHbWMZ&jXlGz}_Uzg7=g(ifc=7V(%U7>ny?*`r&6_uG-@bkK?%n(M?>~I_
z@c;jRhEXsY0>d-}6o0Y+efFP02jo9co?zfGW)Rn5a1d~4Xl7*5h_P7kkby}+S!_nc
jfrg{q>_&192R0@*^>d1J$arpAa&odp@G2Wg0S0RTW*Ik7

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/gray/toolbar/btn-arrow-light.gif b/static/extjs/resources/images/gray/toolbar/btn-arrow-light.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b0e24b55e7ee53b419bdd5d769bb036b19fe9592
GIT binary patch
literal 916
zcmZ?wbhEHb<YGu+_|Cxa|Nno7{|>Q@i%X_#s+qO5ao&#Bg}b_z?(JW>fAX3`Gd3KV
zv*q~0?WdOQKC^1y`Sph`ZaH>k$H{AZ&)(dB?ha5d!zdUHfuS4%ia%Kx85kHDbU>Z}
z<p~CkLI!3I8IKJM4mNWLYq?l3HaNEnbC|VcY)CxPEH0jP=fuXv$NLqWyJS2!Ejc+^
zBY0KJNh1eFE)L!UHWdlW99hh`)lPT@FrMk;SJ#=rX`;kDTa4B0#LSC~=NtLwakVIz
ZI<&0P-JEsz)YjG4*C!kn<KbYi1^{W-TqXbj

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/gray/toolbar/btn-arrow.gif b/static/extjs/resources/images/gray/toolbar/btn-arrow.gif
new file mode 100644
index 0000000000000000000000000000000000000000..8acb4608d8f766bd4d808bd02712129272e8365a
GIT binary patch
literal 919
zcmZ?wbhEHb<YGu+XlGzxuqko)?-1L#xMa$vnps;L=j~`+xT|aF-u{*QC$Bj)W5ba-
zTaGW>ernn7GpqKUUw`Q0mSb0ToV>R8?9Kh>?)?A%A85cR7!84;8v=?yS(q6Z7#Vax
zUI66@296R2W)2yT4GRu7a|mm>STHs?w+nNawPX}9G%#|o>fAZ8aq;nf1?Mgq&rM5C
zPSyxs6?1aa(*sN*0#Y579~gX_Ir7AO7EE5yG(%Y4FT%k%!-dUUH;Lzh!*aJqzAC;N
dg;0f-Rg6jrr6;$pzP>);aF?w2wgd+TYXG#xTAcs@

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/gray/toolbar/btn-over-bg.gif b/static/extjs/resources/images/gray/toolbar/btn-over-bg.gif
new file mode 100644
index 0000000000000000000000000000000000000000..ee2dd9860c799be6dc194b387c36a953c55aac59
GIT binary patch
literal 837
zcmZ?wbhEHbWMoKTXlGzJeCy}&J3mj~|8@T1uggz<Uw`)d_RHV*U;lah?$7fNe_wz8
z`~K_S&p-Zs|Ml<p-~T|sFbYOPU>Jpf;!hT!Z~imrfcyl?6AT<m4DuEk2ND{aSUC73
dG#nBd8W<RqyykdpTy(Ts!Z_<rhM@w3H2@W1Jy`$%

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/gray/toolbar/gray-bg.gif b/static/extjs/resources/images/gray/toolbar/gray-bg.gif
new file mode 100644
index 0000000000000000000000000000000000000000..bd49438f33937ef9547dc8300fa73c3c239d9e7e
GIT binary patch
literal 832
zcmZ?wbhEHbWMq(LXlGzJdusRnJ13q$x%BGAwKp%Xzj<}@-J3h_-`xN3_U?!G4?etm
z{PEr65AUA*|Noz16pV(zunPgjpDaK>{b$et`3#gN7&v4Zqzw`_ELgzA$|)pg(Xe14
SBQvX#kb;4O15gDcgEauAx-gUg

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/gray/toolbar/tb-bg.gif b/static/extjs/resources/images/gray/toolbar/tb-bg.gif
new file mode 100644
index 0000000000000000000000000000000000000000..4969e4efeb37821bba1319dce59cd339cec06f86
GIT binary patch
literal 862
zcmZ?wbhEHbWML3xXlG!!aPPx~`#|*Z;=K<S?*q}tOZPrpy8rPqka7RhmHVGAJotF=
z!N*G=^y%`0Pgj8G;is!0^!eJOPuCuQzW(^r^~axYJpOd!@#mXB#*<Gso_xOf<TJx4
z7!83z9|DR$S%7Z*&!7WxDJV}ca9A^#mYmqY*xbr3qZ6<qz_E#iOIXRJLE+&+W>x_O
l3y+3|gN<ygEIJ$x2M#naFa$6~oZPhZ^mK#deLNft)&PdKXaxWO

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/gray/toolbar/tb-btn-sprite.gif b/static/extjs/resources/images/gray/toolbar/tb-btn-sprite.gif
new file mode 100644
index 0000000000000000000000000000000000000000..894fef2eef6401c22c610489f5f7936559d52dd2
GIT binary patch
literal 1021
zcmZ?wbhEHbWM-&iXlGzx_|MSM);4R_tb+#+Ubt}K)~#E2?%cU|@7{w44<0>w^!V}P
zr%#_gfByW%ix)3nzI^@q^_w?u-oAbN?%lf&@819W_xJz*zyJRI{}04K5{!XHj)Kt;
z7%Cy4_>+Yh<W?OJ0m>5$9Jd%486*rY9BSa<W($~5U~s5`TYxR2Lg8ZL5jG)751$o|
zjV}FCLLM#(A00e9+1Nr93<R1T7+Dx4ST-m$GjNKqxNP8j*wnx-#bUv6OF^S~0e6#D
zfRu@20E;8P3vZT!Mk5!K0SCi|(gzHkQYJbQ+6!}9HVa&`i+H^tw|P6yqrTV$3)bCb
zsStc&dtm$e#{Dcz?YvqGUWYNV2#5!qnQ<WLc(1&7pO56G)RQsX95NS74I7wP*?L6h
q7HoNWX@%!%yS-MXuUnYo#rWPxe7SRbNAc@>XJ>!E&dA8fU=090ubNf>

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/gray/window/icon-error.gif b/static/extjs/resources/images/gray/window/icon-error.gif
new file mode 100644
index 0000000000000000000000000000000000000000..397b655ab83e5362fdc7eb0d18cf361c6f86bd9d
GIT binary patch
literal 1669
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
PBfNl1GVhQS5C8x>^BLCH

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/gray/window/icon-info.gif b/static/extjs/resources/images/gray/window/icon-info.gif
new file mode 100644
index 0000000000000000000000000000000000000000..58281c3067b309779f5cf949a7196170c8ca97b9
GIT binary patch
literal 1586
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

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/gray/window/icon-question.gif b/static/extjs/resources/images/gray/window/icon-question.gif
new file mode 100644
index 0000000000000000000000000000000000000000..08abd82ae86c9457172c7a4fdbc527641cf28e48
GIT binary patch
literal 1607
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
F06QAMRrde@

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/gray/window/icon-warning.gif b/static/extjs/resources/images/gray/window/icon-warning.gif
new file mode 100644
index 0000000000000000000000000000000000000000..27ff98b4f787f776e24227da0227bc781e3b11e8
GIT binary patch
literal 1483
zcmXAoYc$k(9LB%H%(yfgGuR9b<4z3ocd29*O43CNd(`UWmQ=H)a>`a4DYpzOx}c(x
zSlvdcWJ?+unZaR-H7>b~v1S^TyJ_?Pt<HYV^Wu5;ym>x;{_9t|N0<T=X5oKG0Ga?a
z00RIz07F-s3}6o62!Lq=+W=Nu(y2B}EN$pa03Qw5L?`%~Xl`Wat_9c+aEh#Rc#+O=
z3hn4({Ub|AQ6`HHQI{MtpdU11?5EOB>Ki69nENoJ2v3`>&g|W8&busa_So7*+dD)$
zvLc<>kt@t%F{f~h9qzG`vt^ZG;7|7JumJBhJ9Y+8Lf4suZE^fH#5_9C`L|tWUS6U8
z{=uOE0fBzowgqiH9`W<<k-KR6Nydy+EBh2HR+^)8nv+|Ghj)6QS8h;n+P+_EqV^QU
z?k_uZxa?TMgT&;A+>?y6`^?T9Sbi>kIro^$r3_Y4hFwk)R(#Q}G+VFY!jG?tX{A@K
zA7Ak-yF;xiAyhqNys9yLRL-ovzEyCSA}UpDxeZO_<kkn|`f9b#3h1~GZ7-mk2Ol26
zhbkDTf}v`V)xdBq2pSB8LW_|)_@@D6B2d)9Xd@^ZNuTRLDFB5CltL5Pdl=~j#e0JC
zosPT*6kU{2vA(j+X#6#dH^6iwj5opbTbOPIl@L_T@J$5stuQHui4K@;Q=8}pRVM+7
z;aj@~-T`<AX|4ypegGs{2od!G>LcSl+NfU}@28A3*bVbNWrHA>f<g`xQW#f&Y7qXF
z!JLeU1_2)=BN?C(5|V16K?*L@`Z}tPMgb{EXbf<L7Lw|sQ7V$_qcJK{>Z4D_larvD
z0o4={9|wFI(DV=ZJRp1#nxdfzI{Lyuvvho356v%?4p|^%j&Mta>}F<GBZSFYV?VZs
z%Rih}Dt3GviB?DtejMGS7&whkY-;+$%*?yV$&WI!c-h&NIe$FQ&3$(1QuXEh=LH2%
z3JYuQlszrI{qnDx=GsSSRFWz0JumOemi6!y@|*Si_Qu9eVN=Jucimlo_emuE3-ojk
z^!5%6^h>3~{K0|F!GZpTzVLoC6_EgdgTr?dzB>V$ILvD;-4MrIlR(m27G@h~>JlYZ
zVAt|_ro3<gw}a|eS@P;YIoDS-D!uBL`YrJ0PQh3{wu(7)J-EE(VnximqKMwg=oo%b
z**VOEoRwe6HXKncO>YUVh;qD&xzwC(+MYO@wD@Y_NS8}VxR3300jn*@X<;}{z{$rL
zTQ1Ygt3r~JNZK6NqxROCFAF5#=}AsXB5Gp!SiKu3HLoB=^T~;XI#AbK!S$~9<!0u*
zVmu>M1UFk{5%nyiu}%*CZiIbNf<7_U*)eK2jmJEb7FxOYX=;RObGwm=_w(}-X91Z&
zqYL6B`%{}cDrkMSM*JWx2`jXogS!VNpUr25HWVJ_hwMpzlk(}y+|3Y<!9AIqLo7BT
z47nHcoHHcU8f3d_n&eF#*_6mLRQDyt>Z)%_6gfm?u*PI1fu~NtNN%<%o?1bnQ|HcP
z+A{@eE%wEmbNMT^8Mo3bU$&{4r}IL6UfVqFo%2t*Tz4deYD9aVZE~6`7TH{nSG#4;
z<6vfan`>!V4h5%@)!a#Ahc&Ef--@I2iU;@wEYEC-zjIsI(0PM(`f?qQqf=C&<CYll
zZPs3jZk>8Tb?#p4A}<S}RaQB)dL?#MraRt<HvhBesVjI9w1?Tvw{s^ZL>3P=ZzHb8
zU%2?0<TvLwS>08r{GmdfTSw5X-f*JnevxfSlSM{Cc=no(Hy6^Zi{dugQHUH~t06Bw
zQt4307HjGF&8-z0AF;fZZq8-%?^|4nr#0y83LDz+toN8`gZZg2p9Yd5@bP-%L)8(V
zUmmP8OS8yf(llyk`BV+l3sY@pR^S)K>*+DB$}jc0e)m$1w?{Mi5Ahq5K8vj4mE(=f
iL}jwpve+-)v>A%!R(IJo>4b>g=<wKGo@1m7;PD^3leLoo

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/gray/window/left-corners.png b/static/extjs/resources/images/gray/window/left-corners.png
new file mode 100644
index 0000000000000000000000000000000000000000..28dfc9887a1c181605fd0fab069788e83825ca09
GIT binary patch
literal 325
zcmeAS@N?(olHy`uVBq!ia0vp^Yzz#HIvhZf;X%)#H9$(I#5JPCxhOTUBr`uxAtW<5
zl_5MeMZwTQ!K*Y!!N|bCT*1J^%Gk`x&`?3wz|_Ft(7Qt$fcn@=Jbhi+ud@qr=*xb&
zcEBDe#981GS<Jv7cL;<T^DdOy0R>so9eo`c7&i8E|4C#8^5=NEIEGZ*dVBLA=Me>g
z)`y;3I!uze@8w*I+QxA5s`Cw|J)L@KofA^{wV(XpRyy~5kLCeSz0=kIv!0jeT0CFk
ztSyzC5-G;1_+~+WUs%lb&}WtZ%C=m;7S(AuFYT@D*04aYy9=jWQvTO0X3A#y{GcT7
zmTSz$b*^*sfp%j68y?N2)_b<EeZ28E`wP=o%;AOZlh;m3sQ@YTboFyt=akR{0J83F
A`Tzg`

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/gray/window/left-corners.pspimage b/static/extjs/resources/images/gray/window/left-corners.pspimage
new file mode 100644
index 0000000000000000000000000000000000000000..f0bb2d45cd4425a185b15e07139c52d108aef614
GIT binary patch
literal 4385
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
Q4TNQ|Z7X<T;x^+y0lKdo1^@s6

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/gray/window/left-right.png b/static/extjs/resources/images/gray/window/left-right.png
new file mode 100644
index 0000000000000000000000000000000000000000..d16ac24f33438502c331793165df0ebf8fd69196
GIT binary patch
literal 2815
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
RNQ(df002ovPDHLkV1gvGHIo1U

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/gray/window/right-corners.png b/static/extjs/resources/images/gray/window/right-corners.png
new file mode 100644
index 0000000000000000000000000000000000000000..f84ca07041ceba6235d33293236d3fed11cd68f2
GIT binary patch
literal 344
zcmeAS@N?(olHy`uVBq!ia0vp^Yzz#HIvhZf;X%)#H9$(I#5JPCxhOTUBr`uxAtW<5
zl_5MeMZwTQ!K*Y!!N|bCT*1J^%Gk`x&`?3wz|_Ft(7Qt$fcn@=Jbhi+ud@qrXtOq7
zo0|(1;w<opEM{PkI|Ravc^69UfPyUPj=qiz3>*8o|0J>k`RhGh978H@y}fymw^>2t
zSYedRA@1lBvGysmjVr$7H8D@%JJ9P<YqBxJ*=Mrce|^V~e;+uXU$yVOy5y^n?NfsC
zqOyw@zux6O@62bLlM`6){jU99tG!d>`JAlV--Ng7oL0OqvA8WUp!eFZf)`>l-}fGw
zvUT0-{(#<9PCXwV^?ZIERvuG#d}Fi-&?Ok)f0Mu=yZlq^E0=%ImpJ}W+wEW9K86F%
VL2+p=XLUfTJzf1=);T3K0RXZceS-i1

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/gray/window/top-bottom.png b/static/extjs/resources/images/gray/window/top-bottom.png
new file mode 100644
index 0000000000000000000000000000000000000000..2887f063e81658e8462a74f4a9d3eb421b5531df
GIT binary patch
literal 2860
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
KMNUMnLSTaXcuOPz

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/box/tb-blue.gif b/static/extjs/resources/images/slate/box/tb-blue.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e407c7d70512b9639017136f9799b23cdd99d444
GIT binary patch
literal 843
zcmZ?wbhEHbWMt4{_|Cwv?b3tommluB@@V(f$9u0mK5*m7!JAJH-FkNP_VeR+o}aw;
z^7Q?eXCAx)qVo@5UwZuJ>eIK^pTEEL^242%AMU;W^!VN9rysuFeDVIt`!BCPeS7oe
z$EWYV{`~#NFbYOPU?_xu4#<(9yuiR=z+fK3aKN$Ik(W=%>ITCCMmAnaosb0%iA^mW
c0&*4%0uBclm{@sa940s%WMboEVq&lc0FVh<od5s;

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/button/btn-arrow.gif b/static/extjs/resources/images/slate/button/btn-arrow.gif
new file mode 100644
index 0000000000000000000000000000000000000000..eb2ef99d09007aa600012cccc1f3d968feb6c4b2
GIT binary patch
literal 871
zcmZ?wbhEHb<YM4w_|Cwf=oIAi-^nW~J1Dujx@SuDoUJW$_O>kD+XF;v_fA=RY|hqW
zOShg|y7$~#AUbw!>#=Kl&jHcB|D#|u1crVHDE?$&WME)q&|v@qP@Z7maADx~;c(cX
z;K<C(D`qnxAd!KESJbJ*Bf!z6S&UhL;lM=YMpjPqDxL!i9x^a6bC`8#ELhOot(Pd&
RqF~J6+r_AKg@=Q|8UPt8{wM$d

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/button/btn-sprite.gif b/static/extjs/resources/images/slate/button/btn-sprite.gif
new file mode 100644
index 0000000000000000000000000000000000000000..7247b55b6a4a7345b51c249846a9188a9f543057
GIT binary patch
literal 1394
zcmZ?wbhEHbWM;U;@STA{*(O-iF<jFzQr|T~&n-sJEl%G(-pD1y*gewNBg()d&eS8q
z#3RbYBihU}(!x91!aK&uGs)OH!PqO=#52L%JHgZ^(aa~w)F;*4FV(_7!#pU}A|S;g
zAk8u`-69~%Dk#S$B*Qi=(>65MEi&C9BHJN4&nqU|Gd9mBHpe--z%{18J+{OvzSJin
z-z%xoH>D;Ztu`pLE<CF)G`BvXur@lcDW<3;uBa`(v^}n@BcZe-vAi>>yd$~1JF&7S
zrK&fjsz0T=FRiXWqrN|@rqA)eYkJeP^u`$(jnlIlr(`!y&2E~J(=;Qmc}8yQ%)Hjw
zMJ+Rm+h-TG%_(W0Q`j-DsAFzv$DGpcx#hjHDtqTw_0Fs6n_t<ru(D@iP5+|mNlR-c
zEUB5eq;~SMx+%*WrYvg&qN&T9rmbk2v9e{x%GMbxJ7%r#n6s{9&id|o8@lIj>RYg(
zZ^5Si#apH<S~qdYmdQ)DOk1{f+N#|%mu;T2cJG|E`xb22vt-kLhEXsGLO}5+3nK%A
z8-otWEucKX!10fvcaB8F;WM4u)d4py7C+*fCtUh&PJ{9Dmf7a&S2kEWs-5LDO!hl6
zp^(X~XOe;6mWskA*KT30umd`Vlh1bwx&7j?Nj&1yD_p&9&V^)lR=LjdS94}CKR+UE
zu6|>M<;1o#orXz%CoCkDRePrB$8Ad}Ols|#o$kHFHgR*mpj5&36L+1%`(te?-oKc8
z_<L`>S;J)xIp>JBhY}t84^<r8(fU|)g15&!o13kv${a?^JDLu(%dllUQi!<Bc5tRC
z$Dt{X51w)}X~hayOl(T<6lPIyQ~1Ha)Y!()p_bqvkjT`;#MZ|h;K$y`pj>IBY#^k{
z%4BILaK!QO0^V1q=>q?za5g{a7H5fFp)lbQi{oTf4!19CjDMQhSR{J<I~oo+Fh2j!
zDWJe~_Gw}ZCx_U=1u{Ix9wtZ&tW!*s6sb#06qoQ?m?$jM_dt<Dp-w@GO~o%^5u*mz
zf=6B2P7fZj89Y)@mN4l`Tr6ghwD7Trjorh=LJnMtDf}*J2~Su(f)*@c@)3HF!Vtiu
z@N`PBT*6X8?i9~MeB5UOTA4i}HZlkY=uBV{<`yVC!sNiS@c_T0&H`qB?mH6>Gs(4V
zaA23yIpE079T9MlNho520~4=|Rl}l49fJnJn3SCjg4Po@IEWhSB(MtcIW(#Xd+HRh
z2y*i<9$|9)vw?x%N@v1h-azh_3(MIX$_^Z45|zkmWZ^cM(6D$vpTHZY-lD`7juW>Q
z<cOY$dZ;6E!AS9~;1#~aT!9;(7Uc5XX?w7i{Xv;R9_y2+ggoXKd<)*~dTsY0&w+u#
F8UUgpkdy!b

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/editor/tb-sprite.gif b/static/extjs/resources/images/slate/editor/tb-sprite.gif
new file mode 100644
index 0000000000000000000000000000000000000000..bd4011d548cc62fcb4ecf3a92a96414fa804cac6
GIT binary patch
literal 1994
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

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/form/checkbox.gif b/static/extjs/resources/images/slate/form/checkbox.gif
new file mode 100644
index 0000000000000000000000000000000000000000..ac8bc51e416e0fbc4f08e7759157dc791f4c9a83
GIT binary patch
literal 1483
zcmZ?wbhEHbG+|I@_|Cv!<`m}b=H?L;=N+2p6_!|7*IU%k*E(fM+tj6V7A{-4Y+1wq
zhR@G79zJ&J?)^viAHV$h{`}*o&z?Me{_)e7&tJZN`TFhKx9{J7{{Hpr_wPS{7)HTp
z2n?wZQ2fcl$iTqOpaXI>C{HkO{9_Q8k?`1{(8S8kq7ieVfWfIvfYl;KVBw;p-9lmt
z6$J|yyZ7@82vjgET;e&IpQ9(`z^2sGQ-lmsW_V6kW8-AEd-bNm;lRoHs-nAOP6au%
z%<@QgJF)X~vi}16R-w{N6U|FYedqpa$qIUPWs&>ZOGjo+eIB+>U{BpztuW2YoBS^>
z6aBDN_4c-uhx4AUDti^Xv2yb<*W1%y#IJ6g&G*cEyI%8QPvQ45JX=2moCr6c#%n2*
zdunQY;wh2p;N*js*~NJ}b`(6yx+Wy(wZp@D@qx>1@`w877JPTPwbiuf%&D0w*U$66
z>dLGBy!OG~snXYv#sn9+Go<Zg;?SzqVAzl(`)@}s7sGGXQ>v$n=SRua1hGFdo?u$P
zaL>;jw=b`rfBIAP|8M=RqVa4Wj+)DteXDG_U-qr^YDD$7o2m;cSo@AnsePKcG`^Yd
zpZLNSV^NOy(tOnw58DDgzbkeq_IW&V|Dw4gyiR@PQ~A)uR*9L#U5@NiQZ2SEosxE>
zGesukgr>WL&zaN~hCG&~-=wnF{Zx}K5WC5iI%U^Evx|9q5@$YTV)Jo0I5T6BWg{cY
zjG1Y(gjYOyHaq>8rX#D^la<ToiFyPuuyV3!tymx;qQJ1Ana``ysY6Zb#UjCo3kQ}=
z3CeP0skfTtz`!X|wPG1V$*C2~<~V6(E}g7(;lR?FYElj>SGAdGWmGPzdzH1)ZEn;`
zrd6A`G?q8+<9fY(AzN1b+WlNwYgSA&TadMC&$_Oc>*wg*&RoNJp-N}d?6BXj7VorL
zt+oFAuUl)kUKi?CT)3F)x9*O!lce7+c{Xpg#<rW6POV$}!l+tn=hSPvGZ)P>i+Z!K
zm+5rg=9P=IHY{e%=32LQ)~v3q1A<dLm(R*M=b1hyH!tS-q>6Vt)90s%E%<awTe{)G
S6v5D!Pp2lOi3l(-SOWl9^?z~z

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/form/clear-trigger.gif b/static/extjs/resources/images/slate/form/clear-trigger.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0ae9d06e6d38a4fed52fbba74d13c6bed79fec39
GIT binary patch
literal 2091
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

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/form/date-trigger.gif b/static/extjs/resources/images/slate/form/date-trigger.gif
new file mode 100644
index 0000000000000000000000000000000000000000..5da5850f7963d274f9672aeb21aabec6693100e1
GIT binary patch
literal 1612
zcmZ?wbhEHbOk<E>XlG#1bPCgQ4%c*wGW1F|^-H%5%C-&5unW($4a>0$%Xf+@c8M$T
zNG$hBtq#bj3(09pDxKi;->JA|N_Eei76yivDNEaDF7KGJvS-fP2@BRwSh#W0k}Z>$
zZJV-W^OU7qr!U_&W$o7Kt9H#?wQKg8T{GA0nZ0h`+;#irt=~Iu<G}@+4lmwvXzA8t
z%eEg~yZ6lA<JZ?6d3W&i^&{u5pS*PI)aBdfuHV0R@80w0&;S4b&oBx`Lx2V$p!k!8
znSnu&K?h_uC{HkO{AW<*knz~CpoN1?n9pT}f#TsdR(Yow3&Tad-4e!GEQ*P($NLqW
zxp+K<mK+e%2woLqxhdu3G(A_Z1&*7S`OX$sopIyj=5+slt6HwRoKspaF7}wXh{x)R
z`h{gqjpt@~ZCw>AE##7M_te(cU29?w=lxx^XwA*d8PN@*(%-bBH^!%)Xm!}WE_P>x
z?Tf9a#hdP}uVUtwd-L#h=i%D7a$(XIg?IN0ad@}MD7Pi=Hr$YPp<w5_w)L}ZOYZ$C
zJ<@Tm#C^rx9;rj=oU<+C)pQxzcsNXpp6?5M%$Cn#up#L{Lv;E3d;1M*WbZ}oY~h#h
zdj0I}ZnhTwteMjGak5Rt&sNOc{l7r*t_3UCwb+Ec1q=7Q`+QBmCiVTiU->_UtV#;z
zOWU>ZWnJ7JTmQnbVSdB0o8tGwA3H91z$@~@jgjS*XMiIspVIZ{76GS#gW=+z!kg>m
zy(T!aNrtg6Y!OIV5Z1w8WRcjZ$Y+t%sA?vm+%4*7;MjHLB*#IP_@5k4+H{088(GC<
zb|$rptw?>+C#z+-w9Vgdg-W*BujPzkTp9|C>bYt}mrZt>rg@N=zbEnmbJpCOsf}6l
zJfF5?ZThyLZC#`0vw3%~YCfBDZRN>jlWPuXHqMRsq`6{tYu(m^Y#n9W8N)bL0$%2G
z)=Yi5>{_W-BQswES0i&)Etkgfd0D%%R>T+nKhW5*%kcnX7^{dwcAkL9htPG)erY)}
z^S;T7WzJ&EPF{P6>37!p_*Q|Ym5K?j42;W!K3v^;%xS?|79N8HE#|Dk-*2|x(L4Qm
zyUK(MQk)UI1`gTGHLB}Ze)ZaLfN8Dnf@^zMJgt7e`RBBR4+lBadqf!+4c-(S=4F2H
zA)IGB+ktR4nF$|{NtN%}7{%W%^YMsKNYAaKLJJmrI;FF{XDWliah=a+;?L%6J`=CF
z;PW|~?`y7|b-2#6<!t=YgfAC8)c=0EVB&qC<g%^%+0W<wkL#3NWfGbD<(j*G@7JrL
z&vmw538{Z;axK#Pz}H)G?X}x(CQtsm?RLiUy=K>Q?RmG|6FQ<PTY9r(@!GF<J)WQa
ma<BdS+wWJ3KgWK5&?24t<3dO9x*w0MnBVPqAjHDLU=09Y{^b+^

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/form/radio.gif b/static/extjs/resources/images/slate/form/radio.gif
new file mode 100644
index 0000000000000000000000000000000000000000..11a90f2e9986e80591fd24c9cb98c682eb007ede
GIT binary patch
literal 1846
zcmd6m`#+n90>)n?^}1~l_sjZ8N>!p-ta`L)B|;LHB26fUu+VDl%(WO@(}+>a=bW_E
zW$kIDl4^?25p|z-$y^$$X2wRXE1D7{ym@oc?(8_n{);`I?@!N9&kxU+Obrh>k$wzt
z26h0z$3M{TM6k!lVV=jSo+rroKq@{k5*KjBD=^mkH2qj0!9S3AJUA@iG}(!gd4!O7
zBrG`~gc?AMJ{cN)GCam7G$klJ_H+aT8=Z|i`x%b@xgYsc{|J_UG%GMR`($j+DSBRD
zT2WB)<)GA(Am(La6g`5LL_M1lMf)U*ks8fNJCneSN%%A*p@7IJj!k66C7q`yXVFqF
z&{A`V=|#khVro{&S!PZ=^Rw7XWpS6v6IuDm=kpnbSD87btiNB$%DWn0%uX)3mQ=z?
zFJxyFUCSusu*$fZS1PmfI0Y5eMHSVB-0PKGZcR-MZx0?%SXV2$RVQk$7YQ03if%s=
z-4+Q1tt~ANM52zpboF-h4EBic_lfWKw+RP29!MmTo}L~_cYjY`|6p(Lw|#vB0|Wg}
zpAHQT-Rd2OfBptqxC1ZV)&6>KZLvrBQleb!-dOD3eEqHVRg3mFk?!>a&0?GO_2Z4D
ze%105)yfm~o2R<vcFmFmUhdMa^yuDn>lFPu#h~u((A3n_OZnLJ^z`iP?A+Yk{QUf@
zSFc_x4XPEX`i)er7*Vf|Z7JkiYx3>Y@onXEo#K1ls#L!w)2|KdS4W|>3B7U@Qcgna
zlbZDx(E7Ay^Cx(HTC4g=tD4iQe$lEIbgKE~<z<CJ@petQrc|!0w>H%3jjip?ZAiTh
zZ9<R=(x~^)z-m~#4Qsbx-Ii9jt<!5X8VH6puvVkh!Vm;$b(+0WuZQ#ojottmb~FZq
zR<DN*J6eN5v-1w#d9U4h2mG~zeUC5#03LAo&zXNZ0f4)JlbI`}vsqRF+TcgNcbB6)
z5<ZCVr44^&jWZSSa@pyKx{9iq9H-h<KEeG07w2MVv%JYUAuY#eZrC)sBK?D~-D0%h
zkhA$sDmQ|Gr(c(&NF1*wN%}Akt1V(Re{e=bX>ty$sq^^A#2=WTi)Ta;jX<U&Wp(z)
zKCwM6lZ%Y@%NXJQ*W8}x_)RrU+K5JO)TYPWf6C;-h}uLVADNO5bAJ?&!sGrmGvsuG
z>hWDQa`<gqeMfTdW$$#lqSiC!PC!@<0(bL}8!sHy<^Hf3bNb6&5H0hx!cVo@<I)Q8
zRxSIV<t}uEMb@_`JpPBCNouhbQTh9KgD;L$eJFP3xw4FP&tmSKDpt+Q6l`mU7ZY~g
z5kiXfBkv!q-$WMu`~>~nOPWJA@vN&}qm&jXt<A006OH9%ngs&+qx#uCB>ug=6};LC
z^do$F&pAXM?(BzaF1DAV%}NVYzU2J{xio~EJGeqFFPbG(xfB9KV&3@mM#_OI<(jK~
z)*mw&ULBoXHAl0UvTED3a=$89=9m%rQ0n2;5lrad@;;YKzzo->{$PI1fvVY33idxu
zBOrS4j}>#T_U@I)qYN{liF@6oHQDv^s0{FoapsaKrm#~M?sAP~T^GXgX`o<>@PBIv
zAvemN`;ICy!Ugd~*m2KY0ciz!4v{%c!Ze^bWSiSvmGT4PJNf1ZG8_v>(ZQgAMA}Cs
zAgqp~tVankd}$nb%gJ_zauBCb_bqXr^FvWo(v2`jCmjiN3}AaxvU!rQKBPd1jyxiB
zw~0PZaJIJ#dQTcnLfp`7=6#Lv+qfHz!x)(uMU8GSL_?Ti3w%kKmzxtWQ)&WQ^6h0j
zzCeyk;#z-YKW-P<kYauZ6>4UWSaM);I+jAwL6dx9hGVcV(gRt(L^S;nl}okD-4D0f
zpBECwCR%;Q!3!4ckns!qsJ)waNFWnb;1avS((~6bH>@dp+St^N&SwK0*QR|F*+Oji
zu4CC_m206zqqOK3;KH*M9R8iOV&QyiZt53Ju1f^dyab31=zP0Iap`=?&Tn4-bHD%&
zu|BeOYk-d_Zf@=zw)%LIZDQ#ebxr`dgh0}*g5rk*_$2n!&cvfe&=Np5e))w-+P~wu
zhj4PBOx3+9uLe0F#NHaR0OTO$LD0}dQZvk|Gx9;nem7!@4>sHrLdKT9QoeE1*9>3K
z2y}-+j1d6W?o_@Lz51W!;?9?Mf4AMUxA_XU%ltl#ZEP!)#_i5Xg&+nnLSaxBm5gMX
zpb~u%d&I(PPE6~;H};#ycfk!I$C$`Z)+fxLtk}lYaOx_}6z3eqlj=!#?K-lZNN#Ev
Q9FqGS4K{Pf06^gX0oBSl{r~^~

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/form/search-trigger.gif b/static/extjs/resources/images/slate/form/search-trigger.gif
new file mode 100644
index 0000000000000000000000000000000000000000..61e7d98dac647cdfad674def156c441e96feb940
GIT binary patch
literal 2345
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
Pi`vu%#<sMx4F~``nfjng

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/form/trigger-tpl.gif b/static/extjs/resources/images/slate/form/trigger-tpl.gif
new file mode 100644
index 0000000000000000000000000000000000000000..df1ea9871871b28403250e547db0b625554b6a38
GIT binary patch
literal 1506
zcmZ?wbhEHbOk<E>XlG#1bPCgQ4%c*wGW1F|^-H%5%C-&5unW($4a>0$%Xf+@c8M$T
zNG$hBtq#bj3(0A6`tMZSGNrm_PRo>~?K78m%vjkoXYGUq>nAMSIBCh2$;-A)S+aS`
z(yh~%Z=14q>-1H-X0F;bd(EzyYxc}uw{Pycee>4uowxDef=!1PZ#lGd>#=3qkFMQ&
zX7BOq2Txx=a_;)cOSev4zJ2cc{pZi0GmL`K5TJbsDE?$&WMB|r&;eNm$`cG6{~44y
zWIQ$`uyC*m^SP`rP(0kmD(@6yVYsNLTf#W&i-2P5@qPtoE*?*zB?m+`f>*^@Zb~^h
zP0!V>!*TO6-`V2I6K<T`obKOmRm*jkGo<z6VvmW7c&x6dUs&eUcxZ;#)>WaBf({vX
zPi@WaS`&LX?{C+lH8(eBgg1yvf76cM7$1LPuJ?AmFusb<ukQXXT_3+U-kU?tXUB$H
z`#XLsefxd2_3`lu%E?C^c5ZrlI$l3}+aJ@G=jRtVufFSJWt@37K6*vm*<Ge#+#8Zl
z&-+`tE%#=;^^1FFcW=LS`#?7H_P<kGKR!M&IeG1YJv%=?kDu>d{;#z8>+2hvSI<3X
zYgPX8=;ZGI_I;&IKR>^?T<?2c?(cQ(506jJU%zed->=_pw#)0wt#0|xz^3saoJmaL
zLAZ#@iU&<Rt5P2{v)Dx}$Xp)THkC;tZN<a3_}mu@+v05%9(AZpTXC&jqpV|5yGWSF
z%~tIq3CA9zX&K6$>X&9L?6T7O5X$Djruk$-glfW*i5_Y{Lnrwt{hZ1i;HLR>N|tHn
z(@9}QKc}+Al)Zd9JwjCB*^HEFKSO6`O!^thoU`rav)NfoHJ{HcTJ-ZOd&RSr&*w!5
zK6pOAf$dl5f)=J<qRbs?t6nV15`FbzL7&jCsT@<nvR*EY;9c-?*_^Upq01K({kqDu
zWLnm%m07K;UM*kM^y@0ehGYA+UayH@6lhqx<6f0E!;ZSCuh;MXCe_HuE|8tG@r2ZB
zu?_n_RjppX%jmTZL;TEyw_9(dbx&ouQ}+7p_V`-ub=%_=6W;B7v269V9dFuBuiFtn
zSK<AhFV}Xz-TlC=A%EY?Z{6>9{Vsc*cYx_g^!tOK?|FYXz&QQ&`uz<0YxEDYx;K0{
z%4Ke|@d&^3o{h&u!fOl<Nxnb5;iO>6o%|yT!8spJe3{ns{-p8pHJ|p&FP8aq+TgVI
W=iMgExu4HI+q7o$X+ahi25SJY7|nnH

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/form/trigger.gif b/static/extjs/resources/images/slate/form/trigger.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d2db1bd8289e77ca4efacf54bccfe1dbad7cde14
GIT binary patch
literal 1657
zcmeH`={ws80LOnMsbgr`HKD7gi*{?(k=CpermA6UsdgT-@Wk<BO4PBAxJ{NQ(ycM9
z6m={ui7ZDEa-h+~6-QFrT1l~xIT|%3YP6_j>z~l~{l56T`@H!)&-bj~=NR|sIKT#=
z0>CjW&cP?-7#8p1A9L~|!96JP6fWK?<nk$8k{9j@7EknzOgk5y84#Nr7*8S+iNQ(v
zcw#{ekrtCn!y2#&SIdY6<*E7AsXtcd(rOFJ8Pw{gYgNC}YI&vf=F;1(KR34DU<%6{
z+sYY&$|hksPf*G3tYrvld4g(oXAQTrntQM2Zg<_??)qj4gC}A9Pobo~RYvFcHnjIJ
z1OrS_KTp`tlPDx|wQNM)_dq@L$Hef%$p`9b)%3#Df?lW784L#C?cNr6^8$98PzV6*
z1Dsx~uRj5p8USZg+jA{+nE9@Et$bN0?0Sn}?_<L;E?<{kw{cByioRVWFG2a3Tlnp5
z^tQGCk{#~Ozch3c{TW_=rj2=_#@f04@lYG#ixQ7KbB)=fqTd_NmEE!Mcy#nPCYG{M
z<u725p^!oGnqfg=F*l<3n;riK?s!{#3K?-=!!fKC%pR;eFG8#KWUVb~w$qzI2^e8|
zFhJZgasS%(p^fcy>a4u<aLkT(2Y-G9Jf0|g^;My6l<vdP1bDb!R)XoQNM+|ql~qg3
zNc~Q_FnJvGTbNRIi6$nci4f7wNooq}4B2M1EW9IyYkQ|5YxR(a$)Y{?d%*)qSH?Ss
zdgKOi%Heya&s`K8ftMsFZE0FEQWEJYFEM#pVIng~-Eo%h(NTTmqfiVT4olD@$VNeO
zRE7m<o?_x+YYHhuUSuK3#(U%GRCByEDtC7`8C!sK5`m;w?($mL{yt0(#nlRfrS1O?
z5kobNlg^sCkOZ<)v~B1d8Ew%)!DCeR1vlJwnKhJ{7;iR|-_*#bA*Vx&DvYBXPRJ+_
ze>l?^EHwMDIGO~L)xe{?nQ&{V83j-H$&Xo`jHe$dPRhTGkHx2Ek5^_N93=em!*VvW
zCS%w=sxD(@oCUvbzDTIbaoA$PPz4T)d8e;AIN;10*=#7*m(FH`62mR;roDq(6%g^0
z910vUcZ-APACa;-LOjZm*Iz_m;@iEFF7ZPVsAugkU+-t_U__X-Wr8#&6=^>SJR{b!
z8OZ`&T&}Z7O^WU5(hoQu$3Y(@u1H>z3a?1^ES;BzSU{chQYdGBMYgp(xzY{twEAB7
zS=tz|FC=NTAB^C(_JhvaRXK{vRSkSV2;dKZt@P)^P9hotFzRz!Q+x!`BNQL&Y{^Qb
z&9~A~ZxhRQqlCY>YYNW;d1(sI5$!(@1J4#$0Kp;2>tkR9PcR1BY1h?JRGvz8iEu%v
z0+sZQi6qgf_3_X!AoI^?wdKZRVn}kvlyM_YvoW1`U-@DxJ2P3N$=Z!}o6ZXZUe4xQ
zcZ+AJhrK%HXm0;vv}L0g#5!bfWadnj>+*{yNtsqJbQ~&rOH+BZe)B1d!`m9?&Mt5L
P9eD%Y^%Mz(0-yc|5N9Wz

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/grid/grid-split.gif b/static/extjs/resources/images/slate/grid/grid-split.gif
new file mode 100644
index 0000000000000000000000000000000000000000..2d270017b268a93c03f7ab1935c9b3b73116b819
GIT binary patch
literal 817
zcmZ?wbhEHbWMbfDXlGz>3(HKYo+czFJ&Hy{U<8JM;!hR^28RC(IzW;ElqVQC_!t;j
S1Uw2B9Bks?XXD^tum%9Ja7?)X

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/grid/grid3-hd-btn.gif b/static/extjs/resources/images/slate/grid/grid3-hd-btn.gif
new file mode 100644
index 0000000000000000000000000000000000000000..fb1e5fb379351ae88752b2d81e192a8768beac3d
GIT binary patch
literal 1212
zcmZ?wbhEHblwmMp_|CwP9P8ZER`l^^|HoUCKi-=9@#gf8x2J!)Gvm{(S)Xpt`E(bA
zKHp#Y<;kY6Pq%{5lkH!h?)?91=l}P6zrEN8B*AF^|My_@;o$%GhyQ;7qLcqWpa1{q
z^8e3Q|9`pu|I5w)UvEo{g3%BdWFer#00f}Cz`*g3K{BAjVZ#E)CRw+Rh!YzgIyJH@
zyLr6Wu!y5Wh&O1<4S{607A{MpFFy(wpXg?`Z?gGmu+(d^l4n}W$-reUv&3@Ujzk7N
zcbvypo5fQZl;OBQHg=kdRPalmWu|lQwaf~B<+sXq?Y|>ZA+Ik8BpmKy)fQ;FxjEyk
zn#^glmILesk59GE7HGM<yW%ZZ$${<b<M(mebIAEbe28P`71GYTVE%!fe}ZzggwBG4
zO>7KC*=z}wjV%1qHY^gpRtztAr;2JE*t4@Si*>$bfk5o7<{ZAM!Y|U!Ms9z1UaIM`
znXFAkD$5DMguDqdKht?G7<POUkga;kd}E{eiFtpE+uq-|UDUuHf3xA|=ND(|_Z`@`
zxBA;u?i2I<<NrP9`tkYo@%Why|Nk@m`aYADMJz+1aVqbE2TeR$KW?%JxM?W1aGGU2
zY!*(7SlG&wG-F|lbkU0i?DBpRi#p_{Ssd(?Sr(zxEk0?5QY&xAjfFkNhi)wBmVZ_8
zxX0wy4uyWHYZ^}&TxMk~nc&&9V@a>C+l$8&ELK@O?QmH4L!~Qp-;UJo*l#~ldm`Cb
G7_0%830oKd

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/grid/grid3-hrow-over.gif b/static/extjs/resources/images/slate/grid/grid3-hrow-over.gif
new file mode 100644
index 0000000000000000000000000000000000000000..bdb4095ae22cfc5999460aca39cb51ed7bc8320d
GIT binary patch
literal 826
zcmZ?wbhEHbWMU9w_|Cxa<=&$2k2imRy7l{$?I84Q=a1*R{(QWlISNKYU<8DK4g(N?
q@&W^gJOe+6jK_utjLaOoA`vGxC^9lJEAa^^C^Q@es$pSaum%87E0rt&

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/grid/grid3-hrow.gif b/static/extjs/resources/images/slate/grid/grid3-hrow.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e72e2211abee5f3181aca50fb285db1d6947d790
GIT binary patch
literal 828
zcmZ?wbhEHbWMYtD_|Cv^>CW9pFJC@>_3Fv%S5Mx&eDVfJzJB`l)tB!;$x$#G0>eB6
xbU^+C<pl-~MFv3*8IKJK2bnqe1tLytXgJKo#=|qi!l9voL4uiqK|p}P8UQNcBh>%^

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/grid/grid3-special-col-bg.gif b/static/extjs/resources/images/slate/grid/grid3-special-col-bg.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a1481dca2628da571fd92aa0466683e0fa3b595f
GIT binary patch
literal 837
zcmZ?wbhEHblwe?DXlGzJb>+sZcOPHB|M>R9r*|JezyI{*!{@IbzkL1i>o>zF7!85p
z9s-I#S%6;r&!7YHC@4=ba40bda>#gmIKarv!7ZX-kkHV;z{nslr{jQv6El~jRSSoL
H0)sUG8dxQ~

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/grid/grid3-special-col-sel-bg.gif b/static/extjs/resources/images/slate/grid/grid3-special-col-sel-bg.gif
new file mode 100644
index 0000000000000000000000000000000000000000..34b242d096a9333238e322da961781735f3f6b9c
GIT binary patch
literal 847
zcmZ?wbhEHblwe?DXlG#fc%kb1qqShP?)#(l-yd)I{&?e$CtH3z-TLF{_8-r7{CKwW
z=kq;3U+n$)^1!cGhkw03^6Sm<UvEzSdUN{s+q1vlo%{Xn!teK&*hj%=2n@jxQ2fcl
zz`*dIK?g`Ofbs+bhYo{&!~z3HCl(HV8Iyz!4vtJL>^ve01`ZAl3=Aw`8Wjc)54G_t
N`>m-EbZ}s>1^{v}VP^mU

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/grid/page-first-disabled.gif b/static/extjs/resources/images/slate/grid/page-first-disabled.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1eddc0b104db208364e7cbcdc758b68dc7877e6b
GIT binary patch
literal 925
zcmZ?wbhEHb6krfwXlG!Ejg3uAOiWKt&&kOtDk`#kW?5ENR#8z=2?n*bwe|J&4Gj&A
zjg8IC%`Gi0t*xzHU0pprJ$-$B{r&wDCr+F^dGeGgQ>IOuHhuc^88c?goH=vOoH_I6
z&6_`e{-Q;T7B61Bbm`J%%a$!)zI@fHRjXI8-nw<`_U+sE?AdeV$dRK*j~+jM{M4ya
z45MH)1O_4m6o0ZXGBB_*=zuH-<p~CkDh6&28IKJM4mPtpPkE8>p~+D|M@Hz3!NCRX
zBBJbB5rPLFu!+dB#ziPTYINjL^AX#y;ZaK)E1UL&hDgVwoq{3)5<MRr(;L~9jVu%r
z1e(|vG4b0Z7#v7o=JREj3Q#z(fQdVlQ;8$Nppj)AE2BgTgM-eY%^8>ZcsLlW0qh-k
ADF6Tf

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/grid/page-first.gif b/static/extjs/resources/images/slate/grid/page-first.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0cfc2f309879c86760fe37bb2fa61333b5d02f29
GIT binary patch
literal 925
zcmZ?wbhEHb6krfwXlG#X`W-p3LU($t;k*{JWj!|QCp&JN<$iXB<*_AJ7gt+eU2Aq@
zqxH=#?l-qM-QMc)ai8X^o#sz>+P&MW|Mi5&{)IlrR|cKm5PoT!_uXBASGGpq-VuFg
zSM1$A3HSFz-9He1Z%_P#y@~hsr{6!2{_J@C=aUhS4re?(R`B>p{*$96Pft|*ycqHF
zOzz8bMXxTDy}8!<<5K>&iv@pf6+XMv@$TmAcef`0ebDpwasRtJ>)zj5_V@Mjzi(Et
zkAl$<pk4?l{$ych00JEl0m>5$990aA95Nmo794D54?ba#_@UWR#9T&*XX3#JoHC;9
zT^AA$CUi>5vKCzsT-@X+VB*7cW5MD!E-p6f9StiL+j%8~c_fZpa8hSr)Aw-DNVver
yy@-k5WrD+jgl17+cBKk~0}q-6Lpjw15&|08*Re87>=AI#IkY+BG9M2IgEauvaIk#<

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/grid/page-last-disabled.gif b/static/extjs/resources/images/slate/grid/page-last-disabled.gif
new file mode 100644
index 0000000000000000000000000000000000000000..29881bea508cc5ca85359853f93a3e2e39a715f1
GIT binary patch
literal 923
zcmZ?wbhEHb6krfwXlG!Ejg3uAOiWKt&&kOtDk`#kW?2aawY9bN_4N%64ULVB&CSg%
zEiJ9BtzBJRJv}{reSH%rPMkb>@{}o4rcIkRefsp7GiT13GiTnsdGqJbU$kh^;>C-X
zE?v5O`SMk(R;^yWdh6D$+qZAuvuDqdBS(%NJ$mZYDTYxn8UlkO1QdU=FfuT(GU$Mu
z1IiN&92E@Q95Nmo794D5x0ZOrpw#ThC&pD|;COIBn~)%TmV)5H2dzR%B0PHx9yK21
zQnslOh+N>*!N#WA^5MXP0}V_<b}9xx7C8GdFv;f_BwT20VRm4(y5Ml&0TZhytKNZv
g%?eE`m;`+U5<WPDb1({swRDB9xw)B@iHX4)02^^{;{X5v

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/grid/page-last.gif b/static/extjs/resources/images/slate/grid/page-last.gif
new file mode 100644
index 0000000000000000000000000000000000000000..de01053c147e1005f8efe9917e1945135a743c37
GIT binary patch
literal 923
zcmZ?wbhEHb6krfwXlG#X`W-p3LU($t;k*{JWj!|QCp&JN<$iUo*^Q0XH@7(5-s<sc
zr}_ScKF3!Eo!=0CX`A=mU4d7&M&I8Pb^k#4y*=>{_9oujpZ@H4{G-De504c*K9c|B
zXvxzP6)(@^zC2g->O$F@Ypp*n<$t?a@a$5@yPLD$-J1OOasRtJ>)zj5_V@L2_E9hz
z0s|TXia%MH8Gt|sM1b-H14jh|BZrK~h6M+k*)1iW7$`L#<Q3z}vv54PpiM-OJ<CDx
zphBC7njFs&heM4Axl~+Q1UMHsb+WOkPT|=2fPs-g$icvXqtW>+1CwHnK|(-d3$p{O
s)`x%t2~F&ttZFX`HY+r(U=oaxNciAzos&sGtfeb-&CSgWOiT>c02lU-a{vGU

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/grid/page-next.gif b/static/extjs/resources/images/slate/grid/page-next.gif
new file mode 100644
index 0000000000000000000000000000000000000000..39986b714b1539c5acf148267d586e5a097252f1
GIT binary patch
literal 875
zcmZ?wbhEHb6krfwXlG#X`W-p3LU&n@&DFJLH#S<|+~Rb5tH-OI=9jj4-`y2>e^1nd
zy@~hsr$0KJ@%TvolcOb1PgMN4l>hBw!MmHY-`$%0_i_K<*UQ;Q!Dt8!%@9!h$->A0
z1UeuBlqVQCJQx@`WIQ%3IM~d==-`p@fswh5MK+>>L(qYlTT~z<#=y~urI$xEprat6
lfuW64VG0k!#fBzE9Yrw*0b!-aSpw`KcTR3rKiI%v4FD<pSz`bI

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/grid/page-prev.gif b/static/extjs/resources/images/slate/grid/page-prev.gif
new file mode 100644
index 0000000000000000000000000000000000000000..02f24a84892b1cb5d3046570752366b0123579e0
GIT binary patch
literal 879
zcmZ?wbhEHb6krfwXlG#X`W-p3LU($t;k*{JWj!|QCp&JN<$iXB<*_AJ7gt-}+~WRm
zpXRHb=1+Ipz1yq*^@PX%g+9ku2A$s!er0R)?H$o~cE#S^lW=cO{Js6@_Yb6hJ{j@z
zV#JS2`QI)U{JB;5_d(C!$Nhg_FaP^y75gX{4S~TI0*XIbm>GaT2SkAK1OtZ;10#ow
z$A$$5n>o1SJR$@Rv$QcAcT8XqY+x0XQ*v0N@aQlb2aje8!^MY<j2&DS83_Rk9yPM@
cafGlmBphs*$sojWfK!3t{Co#qHWmhJ0Nmqm#Q*>R

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/grid/refresh.gif b/static/extjs/resources/images/slate/grid/refresh.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c622b5d9a0381483e41b8aef797edb50eb7752f6
GIT binary patch
literal 980
zcmZ?wbhEHb6krfw_|CwPo12@ORh*Vxl9OMOTTot6lv`h(Ur<m`SXfw8R8(ACTv$|6
zTv}dIQc_x4T2@w8T~<(4R$NnFTw7jTUsYaFQBhr0SyffV@SmZvBEPFVsk<h>v95Y*
zWBSzQ{HZPZ^V+lLwB^m{NT1)GGOfLAZg2hk{+fl2@r#>d7PrML>5gC39JRV5d`)Nc
zy6)&*6GB&YC9I#Ay<$rJzD4n;=Y|}boqJ$u?2+Y>x0m=`UK(~~b@Y)%h38imU*4Pk
zXpR4~)&B2R`#f78_;REFv#nuI_l15~AN6gc|F`YIA9n|S+ZFhIckq|}k+083e?JiZ
z{ZRDx6H%`Y)qXru_x)_)kK@HZj+Xv7UHbWY^7l)5-|ysozfk=Bb=vpW=|7&A|9DjW
z{abcJL&K5vo!7Q>Uf<tyW6y-g+netlX}^AW=F@{6Pmgu|yx8*NYS+(e6Mx;A{q4@`
zpN~6#K3M(x^J0ckFmysd@h1x-1A_#E4#>%%Ji)-Rk-?BdM&kn$dlLt{(hr3+cc&Jm
zs)9!2HkPJ#34uEw7O{3qn<c6x_#`BEiz@kFn$YPWaFDT)GtJ<p0Tbs`DQ4>_jGu*?
znI%LGR%8UZG&zXHo?-B~k<c+wm?=2Maq)wNeahM_QW1;TSlHO4*z`^?va~udnQU_S
z81SH{lYvP$pu#|)NkB8OVoPPP6T>kcyE!2<AEos6FiOboIIvLVWWPkHVN!+Ql2+!E
M%+56jB?K6(0Wr`Ey8r+H

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/grid/sort_asc.gif b/static/extjs/resources/images/slate/grid/sort_asc.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c4c6adb5c57e81d5026f247d522513da880f78d7
GIT binary patch
literal 830
zcmZ?wbhEHb<Yi!GXlG!^3bl0j@9_BMX@*fS8UiCP1QdU=FfuSOGU$N34$2b@9MTNT
g96SsO3mlsngydXi1Ux*{Ccw`%!(-y2gAEMU0Mo4z*#H0l

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/grid/sort_desc.gif b/static/extjs/resources/images/slate/grid/sort_desc.gif
new file mode 100644
index 0000000000000000000000000000000000000000..941d88d89a033282e51ce3414ce0f36a8a1cfa3a
GIT binary patch
literal 833
zcmZ?wbhEHb<Yi!GXlG!^3bl0j@9_BMX@*fS8UiCP1QdU=Ff%YPGU$N34$2b@9CAQX
h!b6~;fq_GiOQ*sh@lY$9te41*fJKM9gqWEatO4<V5X1lg

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/menu/checked.gif b/static/extjs/resources/images/slate/menu/checked.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e80732f5daf8366eb27376f16db0aa96a5912269
GIT binary patch
literal 894
zcmZ?wbhEHb6krfw_|Cv!<`m}e-=THNlD4T!?>~O|{pW9nQ7{?;BPIkCf3h$#FfcOc
zfP4(f6AT>D49pxd9vc=MY-VHCh&fTfaFCIO%VUnk#0KX^CXK8q8VL!<dRZ9?zHkUN
zoM4hQ^s<q>^u%MTZuBM}$p?#1&KAk6o3b)c-F2F9Z4-}`z@rOHV)8~YRe}pIH!v_*
F0|3@sFw_75

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/menu/group-checked.gif b/static/extjs/resources/images/slate/menu/group-checked.gif
new file mode 100644
index 0000000000000000000000000000000000000000..52d7ca7feb1bfda1acb28e7adb76f8b713020e34
GIT binary patch
literal 887
zcmZ?wbhEHb6krfw_|CxK=o9JW8|~s7?Hmx}6BOeU8s{4t?;M!m5}e=`l;|0j<`<se
z6`AHAn-dV35)_*e6qg^ISQMIAl3!j|P+DD3USCwvR9w~c|Nno6Q7{?;LoEapf3h$#
zFi0@yfE*6W6AT<742B#s9vc=MY~~Qwit+exh?!kfOfN&B@n9npr>;ZC0tLq=MiBw2
zi~|QAyZ5kjYB&@;aA;y+5%7~Zuqm}+0tYt(hk^pbsTN@lff)xjthl(?gPDoJ8UXq%
BJuLtL

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/menu/item-over.gif b/static/extjs/resources/images/slate/menu/item-over.gif
new file mode 100644
index 0000000000000000000000000000000000000000..238a77d961dc9cdfb47bd6e0ea76bbe3dc62829a
GIT binary patch
literal 833
zcmZ?wbhEHbWMU9yXlG#f{A}a5*9X77IsEPI(eH1MeSdTO``Z)0Ki@Vt5FJIMAu#Mi
zK=CIF0|Uc<1|1;D0Ll{#9C8f&95Nmo9xyVqacRVyn847;D8SAkAg~|_q=bpV8UV>`
Bm@EJQ

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/menu/menu-parent.gif b/static/extjs/resources/images/slate/menu/menu-parent.gif
new file mode 100644
index 0000000000000000000000000000000000000000..2bdb679ddd9943ec80ff92f3acd7d2c783c9cad8
GIT binary patch
literal 853
zcmZ?wbhEHb<YC}sXlG!sk87|`Xmm_ya!G1-OzHH^=<~~)=$ktwAb(P5QEyQ3^pN6d
z@s*Pu{ySv1&Pi@rn%B3kbMfw;MLQ;~+|MuyMnhnThk)Ww7G?$pUIrbIKR|hcfy0P_
z-$cS=Ljp4^2alAB!NCTnCKeT!hz}bW8`%Y9cq%F;IyQ8%2r;b42xK_P#_DIr!NFh+
E0P8F*p#T5?

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/menu/menu.gif b/static/extjs/resources/images/slate/menu/menu.gif
new file mode 100644
index 0000000000000000000000000000000000000000..79522338e014c01238ad57efc9fcf0d218b699ad
GIT binary patch
literal 839
zcmZ?wbhEHb{Kde?(9Xbc?bf}gFJ8TT^Zx6%?+l}0Gz3Oi2q^w!0s8nqgAT~wpgh6A
up~Aq-A>*-O!NEobHjaoB8x|gJ7f|+^<FRqk(QXOjtUD(*K0eyOU=08j-XXyN

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/menu/unchecked.gif b/static/extjs/resources/images/slate/menu/unchecked.gif
new file mode 100644
index 0000000000000000000000000000000000000000..00e2c0c7d936fa37da01ab27d59288eea08699e7
GIT binary patch
literal 877
zcmZ?wbhEHb6krfw_|CxK@ZX_z%96IJOYc8^`Tgf_hEXsY0wXB|6o0ZXg8ZukB0zb9
zfy0Y|kweB~!-9j&Y|I)lCjuB88JRge=2#RqI5#qCWKEGsNI2FjVx7byc}e+XrxIh0
h&CDXzlhf2KXZ3JSe&*1ju4|Wa;<M7B`HYMV)&TCSDCGbE

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/panel/corners-sprite.gif b/static/extjs/resources/images/slate/panel/corners-sprite.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d02c9bbb94b15a7a1cb7b6cd2620f09c716e4659
GIT binary patch
literal 1384
zcmZ?wbhEHb<YCZZ{La9jZsKa<9Bk?wV(t=V;Tmq~7GdcgY2^`R;~8V;6>IMkXYUj5
z=$GK+pXeNr>=Kyl5|rW=oa!E$<`J6i8J^)4k?9?g<rA6h8<p!9o$DWy9}rs*6kiyW
zP-OerckZh7TlOBg`}F0jH}4om!Dt8!z7SCS$->CMAjhBsavCU4FmU{1uw{_&*s$OL
zABV7(%!!2y54SU$d(81DT+r4nVa#{tz{bVL8zr2&WGp{4ot&(}9u;wN)6)Z72Fa&n
zJQglHJDXYk#hsJI3tHwoH1qX1Y*}%!QDBl*tks9c%gY1Ut!8*_eRY5>Vsn=4i3O{#
zuV)tTko7KG(6l+@GM~?ZZEJ5gay&XU*ZM=l-Q5-JQa4U-e}90fftg#*W5I@phnd+m
z;?7hoXgEGWnV-jD=ccD8rx_=oi>Wkz&M?oi{Tk1M;^&u^IW9J{{q^b9`L+Jb!)&e1
zQg3ewethq5R7w7&t@XS4{9?8j+&tF3*{*JO<-4b+60M)h-YqYEaB{Qrb-lm83f^5i
z_%Hds-@e^H-akFOTt2_f_Sd%$SC6Ob@3;H=`~BPJ$NTTp{{Q)#^~d}==1<q>l(TYG
zJgDR}+p(aYpXtSeVj(w=1+8pB6${%WgN`e-aTQ4{Y8Pnw*2tl_WJOY!Qcc05F70hU
zlzMb_btv^Jo~TgnwR$vTaj)ICj>Qvfm@Jn}bUioYNuPnxO_fRhT9T@h4V@yFP6-cM
zxoC1ETjtYg@z*+3XC!y6Tskvu+Rw$aVkT8So0Y$<^V!6lHqP`}g|{@H&n<Zt`FwsI
zTi5diwL-g=EDTn<mAbG;?pDU4e!W*OmP`oJ%3L}lZq>@!T}4tWmrrY&wQ|MmbCRo8
zE?yL+HGlc0S*upNuYRYwdfpbMTPs&BdDiuM-G*1UwAXLG^-FWZRxYbI>rb#{=d3<;
rZ&uF6b7s|Rww!UYUc2=w*KA!5rIOdV+ZAdaG<H9krk&@&z+epkP{LXl

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/panel/left-right.gif b/static/extjs/resources/images/slate/panel/left-right.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1c5d568906a50800732d9891c38b9125dadf57b3
GIT binary patch
literal 807
zcmZ?wbhEHb<Y8cB_|CvEch&m4PhY-z^NwK@jE2C-3jrOFmqB@ffdfc#a5!vGaAag)
IVq&lc07X~~0RR91

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/panel/light-hd.gif b/static/extjs/resources/images/slate/panel/light-hd.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d9432a0a8d1c6ef1b5744fff1b6bea188385a499
GIT binary patch
literal 844
zcmZ?wbhEHbWMt4|XlG!E&u>V`Z%iy`N-AtlDr!kCZcQm}Pb=+6E9*=v?Mkoc&aCLp
zsO-(G?8~m|&#vjushN;lJ29_rQeOR}yoM?H4O0smrxrF&D{Pux+%lu6btc0o7!84;
z69S4qS%8lH&!7WxGAK_laA-1^rW`0Z=)}q;tm4w};ecZ^8;_WVN5g}LMkW>x9svP{
OhU5JT&UHK-4AuZi?l@Zj

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/panel/tool-sprite-tpl.gif b/static/extjs/resources/images/slate/panel/tool-sprite-tpl.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a19505559014bfccc34ea723c2d41b78efdc9760
GIT binary patch
literal 1197
zcmZ?wbhEHblw;s$_|Cu}Y3wa&>?3RHZxxVj5tw5clxr1~V;z!j7gk^&R_GXB;1E&l
z5Lx0FS>hB`>Ks$<8dd5RTjm~D?iyF=5m)A(Q0<Xe<DFdVm0ahOSmT#k=a<$Hkl7NJ
z+Y*w~5t`Q-nb#Vb-yUAj9bMELUD6+0*cn^g8Cy0nu5?0N#gyc--qecT#LB6O)zgz}
zXQtH6N~@cZS3kk=zgK$W+`N`qRXy`EnipiXEXZwNoZq>$v}<8$_u_)?6&1ZpD*Bhz
zPFh(%Wo7%cmF+WDcFkVZJ$HTo{Pq2FH})>vK6&BB$&0s6Te4x=vMm#r?wqxJ%j{J<
z=d9T?Z~eYS>-Q|)uy^^U{qr{-UJOK=4zAd8Xyx|9tF|3lz2oTmok!R2KE8I(>5aRO
zZ{B};%ia^)_Mh5(;Ow@8=e8d@zvJMU9f!{BIdX3Q@$);6Ufy-|(%xei_n)|Y@Z`nA
zr!F5leeK|x>qpOCJ#y~ak#jeWoxgGH!nG3@Zk)V$`}C!or!L((b>-fft9Q-;(Y1T$
zZrr<k>;8qC4=&w&aOL)+D|a4Tz4!R~-G|rjJ-&JG@$HAtZ$El|_u=!qkDlLo{NlmW
zSC5~+Wf%q24gtlVEQ|~cMhrS2gF$(Mf#V-TDuaZ_1_eh+BQA}Y69o$$RJ-^@e;sD`
zpKF$Ws-}~10fU%(ub8Tl3de<c)+G-(G#L^uEOc!A@nq+YV`s$mf~<_Pj&KNiPOf@#
zAW^yP={(!AM>`yoFLzJV_UkE8aq*Zi->&)@PpI=UZ_#PFw-#s$w{?qYx|Gbgps?`q
zMVpdm8$6ZUP6^7JCv0G0PV1hg=~q?Z(9m$Oc^m7!4KuBmaZi@f4BFE0vFYg)&A?3x
z3okZqXl57FDUmUL);&$d++)s!H%Z5Mruj}2(R5N~X<`+2N<MHQuv<*q&TYjsp5!)O
zX`OZ!#y};eCN@z$kNX=IDo;_jZdpGs=g%?TX{I6F8WIHxj;(hk%nBY{Fg)2Ws2s4N
zq43TzUKxvsbq)>(9GEz-1Rif>mn&g$;Zm6}fr;l{WxF$<<pvi<Ms^Xls4C_z1t)id
z2@OnzcWqBF^Xo_kEKC$jc+uF#DrO*4{;l(ba|;7Y0z)Ey%!+yJ@*EcgS-6%xIK-{^
a?0_>HD@V$ONel{CE==Y+DImbWU=0AkxuMqp

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/panel/tool-sprites.gif b/static/extjs/resources/images/slate/panel/tool-sprites.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e91fb9c7191e9d58019d850de5775dca3cbca2eb
GIT binary patch
literal 5787
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
Z?9ATm&i?Gs9_`XT?bKfF(;g5206UQ=`<nm&

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/panel/top-bottom.gif b/static/extjs/resources/images/slate/panel/top-bottom.gif
new file mode 100644
index 0000000000000000000000000000000000000000..76af9655e093b7c4b697b81b57867054812c0e1b
GIT binary patch
literal 870
zcmZ?wbhEHbWMt4`{La9jZsKa<9Bk?wV(t=V;Tmq~7GdcgY2^`R;~8V;6>IMkXYUj5
z=$GK+pXeNr>=Kyl5|rW=oa!E$<`J6i8J^)4k?9?g<rA6h8<p!9o$DWy9}rs*6kiyW
zP&9Yd`nykGzIyYHVHAvpz+epl9gxF7d4Yk$n}M<9!3IZXHXd=EkOc;gPAnY!GA0Qd
z92}Wg*m*=03>+L9`W2kJWIQ)5IXPJ)cvZ|vqXX^J4U$jI@!Y)Z>}-qTS9eZsPWKa#
JV`5^k1_0nCLV*AP

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/panel/top-bottom.png b/static/extjs/resources/images/slate/panel/top-bottom.png
new file mode 100644
index 0000000000000000000000000000000000000000..f0c7ff472a1e9fa90007ae059fa910807f7ac1ac
GIT binary patch
literal 215
zcmeAS@N?(olHy`uVBq!ia0vp^j6kHr!3Jb81>C#}q}WS5eO=jauyP2Any+_XUI7&1
zEbxddW?+y5vgIlmPp@W{2MV&JJNh~@Fl_AS{*%ZG<fnPMIEGZ*N)9kD{Ci@_+Qp|2
z9Qp9yp84|rdWT2<>kU5gyBHjZR4`=Q@y6al{KzkMq2z`P=ZlPH{fwb^?RV&eu=g~0
z7&Md`^aw3x*~;0r+dsZesv;f4d&?157RI*h>~B6J28N*P!9Th;mCpm($l&Sf=d#Wz
Gp$Pyzltugi

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/panel/white-corners-sprite.gif b/static/extjs/resources/images/slate/panel/white-corners-sprite.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d5b8adfd18f530a71fbbb081aef99ce7d3fc2221
GIT binary patch
literal 1365
zcmZ?wbhEHb<YCZZY-eEb`tNo9`t=((Zrr+c>-O#2ckbM|ckkYV2M-=TeE8_mqsNaQ
zKY8-x>C>mro;`d1{P~L)FJ8WU`RdiH*RNl{dGqG&+qduDy?g)u{f7@9K7Rc8>C>mr
zpFe;7`t{qlZ{NRv|MBC;uV26Z|NqZ03PwX<u!ex*PZnm7+jKw#C{HkO{AXa~k?`2C
z-~gk7kd}|fhr_My0`hedFBUc(?H04;dE>Bf@$o)cwxSshn^Zjcn9V&RP8L0FYm`zr
zF-J4_@BtqFqE}~TCMvM8J2W#LHMqdkyx5~ZO2Wgj@$zy%O@mgh&{qwdoSU-FS|uj5
zFee;t>NWV#*tj|4yq(5uv$wYxdAUx^)!u&4fsN(UtFxyQ9yB$v{^#>hSg_&YAx<_W
zjsrUklUcfCt=nu8Ha<B%QJ;N5&QGKCv$Kt>#dLpePP@EVyV)&v)|Zs)y^;IFYNgE5
zZmqQ5er#{__niA1bK9T&t=?L2^I)esd)@4x1<y~+mJZk3Yxec|<%RP1>ujycUf<eX
z{GZ?7Zg=H}=f%t4@7-td>-(#Ro2S3G+xPe9_t%f_uiyXw)3^T@#S`k7KZP%-zbZIm
zK_j=)kGW0!MiL8~?}b{(HSo%<NNkhw+p(}+HcI1O$5T#;N3Cj2D;9OAI-O8zJFKgs
z%)xwiM?kNcQA<Fd$-5cKefGaHlqWcISt?I-m(o<8<gHb?crusaPnCY#AkEY%0k1Mr
zr-gp1SUN4P=x6G5$Gpt68R^qHpUukJ7MU_Df0N|$*`9|Ym(MA`baTnv>PI)1&kOz~
zsj(p9ljVy!9nWUInBOh8>c!$7r&k$Erub!LE^JEj(wH%O(#;ji<`+q=T0W^MYSoJ6
zlcH9xT)pVls#Vi>8A)lcS#!?n+1jLMSs82hoVumGb{`w}n+-eOY2|F3DYrU%(-FPf
Vnw!pBS!->%{EX|yRz^k!YXB4;a=8Ei

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/panel/white-left-right.gif b/static/extjs/resources/images/slate/panel/white-left-right.gif
new file mode 100644
index 0000000000000000000000000000000000000000..5b07a06460800e7d7f94314d026d0bedf0ee0976
GIT binary patch
literal 805
zcmZ?wbhEHb<Y8cB_|Cwvdi&m6PhT>Og3%Bdks+W1@--+gFmP}&FtSK^Y*1)uU|_HY
E04swEF8}}l

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/panel/white-top-bottom.gif b/static/extjs/resources/images/slate/panel/white-top-bottom.gif
new file mode 100644
index 0000000000000000000000000000000000000000..8f4ded426b3667928d0ff1771ef7fa36112c961d
GIT binary patch
literal 864
zcmZ?wbhEHbWMt4`Y-eEL5LGjGi?DEuwDO3y_KdOdinZ~Mv-OF$_f2&4OL7WGb_z&w
z2}*SfPIC{*@CeQH2+Q&c&-RYY@rlg!jn4Cn$@h;f2#6~Tj4uvKC=O064M{2sODPXa
ztzZ}hqaiTpLqPE-3($@K8FWA{1?33_4qFDsk_Q_co!NNAbwU;xI6AR#@XMGaY;bU7
rVqxbIQ7~|DXy{jP?vnA`wB+Pujo?)=CpRrUJ>4Mr)SRD23Jlf&W|}wl

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/progress/progress-bg.gif b/static/extjs/resources/images/slate/progress/progress-bg.gif
new file mode 100644
index 0000000000000000000000000000000000000000..5671eed8cc9ab0021be389196f4bce3a266c3ddf
GIT binary patch
literal 837
zcmZ?wbhEHbWMoKS_|Cxa|I_~eA9w%%xby$V?f*Y){r`UB|M%<vzgzwP?ehOGrvD!W
zqaiS?LqLZC2tav(fkTTym_x>6!-9j&9PE4y0uBs~Ol*7#4h07s7@3%u7$gifE<WC`
M;N0~^LV&><0Mt?lV*mgE

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/qtip/bg.gif b/static/extjs/resources/images/slate/qtip/bg.gif
new file mode 100644
index 0000000000000000000000000000000000000000..32ebaaab1f271e5b8dc128e082e3b6e17f9ca969
GIT binary patch
literal 1091
zcmZ?wbhEHb<Ye$;XlG#f^!EPe_YXe51EPmt-aq>C;qjOEkH36)^5y-LuOFX&{rK$b
zr{~{*=<|zjpI?6a{ObD`AbS1%^Xu<l-u(Fb_Q$t(Kfb>E`ThOR?;n1C|M=_Yr(Zul
z{rdU&*N-p1e|`P^^Xu<l-+ur6_UHHaKfizc`SbJ7@1KAF{QUd(*WW+C{{H>__wS#7
z|A6Q(82$VI|3AYh7!3hBhJfNv7NBka8FWB)g7O3d$A5-+4jGFN4F{Xqg*9SMY<TFz
zDxmBZ<FGO5D4T?F)}0v_8;|$PD|X0O8a17qtggBuW@k~;>FN5KC+1jgZaO>LT=&JD
zou8Y|&$l<^khL;tzPQ-kR3mm*N%Q69{+1qdt+qB_T^(+lad(&Kk@oco``Z{Cx9LO*
zW?Wt-dvIHBw2;c3ZKjEfTJG*v^?Px5w|VRR{q><M82*&EK0MqWsS&s5M(bm-3Ch;<
z-Z&LKJuyKt+wDvx>%;R6fgR7hrS$LZC<<O4cKX(u*BdtMJax=#_Nv?!J7&IeJ2iVn
z{(=LQT*p1<EGwLGB65?<$vG+~+4&v3o_okDH@_C!?0x55fnwA92M47UB>d;qG=6?@
hQ8?oKyuS_KKRo1~;Xl8w;rEY^%s0-@uXkXu1_1UvArt@r

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/qtip/close.gif b/static/extjs/resources/images/slate/qtip/close.gif
new file mode 100644
index 0000000000000000000000000000000000000000..69ab915e4dd194ad3680a039fd665da11201c74f
GIT binary patch
literal 972
zcmZ?wbhEHb<Y(Y#XlGzZO-*(9@6g@d-QV9odGh4x)2GjwGiSkq1xuDJ*|TTQ-o1PG
z?c2A1|Na994jepq@X(<{M~@yoe*E~wix)3lx^(yM-4`!jynp}x<HwJmKY#x6<;&Nv
zU%!3(_Wk?!A3uKl{Q2|OuV24^|Nism&)>g)|NZ;-|Nno6Q7{?;gDC_Qf3h$$FfcOc
zfE)$N6AT<H8JK+}JT@pCWDwGr5OHFIA}5!SRKpJjCYO$G3FnBK0}L(gU6O`jB^NF-
zH%ylBXOcMi;IKO*6GI0BL$J$HHr|*p83P6ee?c=xi--w|&h32i92#?fEIiCM$+f>u
z!(r;m%j_<O1rHJyWQX(1S>$9KP-wo!oMF4bR^Z#pCLVEt6JIYJY>r`(GBHu8TKMAH
hV%craN*NY1aV$`Fvrs8ibZTIkpzPfzqoBZG4FEi-n5_T+

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/qtip/tip-sprite.gif b/static/extjs/resources/images/slate/qtip/tip-sprite.gif
new file mode 100644
index 0000000000000000000000000000000000000000..fcd6ffec1253ae83e693d5818227f12ea31ec663
GIT binary patch
literal 4129
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

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/shared/glass-bg.gif b/static/extjs/resources/images/slate/shared/glass-bg.gif
new file mode 100644
index 0000000000000000000000000000000000000000..4950a854e6f0fe5ff93a40e8d9074d9d78675078
GIT binary patch
literal 865
zcmZ?wbhEHbWMpt*_|Cv^^2*IqS8jmN)mx{p+&q2lHV~b?4nk+H-#K>!iq7A>d*Q~N
z3%Blp&}}dYV_&{=AA&C3c>qLL!077Thga`C1hMZv0I|W`Yxf>qyZ;D6UVrfT=7Yz#
z9zFpwZa;eZ^vzp_Q7{?;bPoX?kd2_cz`)_g5WOK_BGXY$VL7Xu3kix$EDQpQY%?Sr
z4m5PLaAlYjFf<-#Q4rOMIIy6RnVnz7XNJSVrqkTw1}P6dJY?<=P;#4~u~A8Z!5RQI
C<c~oB

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/shared/hd-sprite.gif b/static/extjs/resources/images/slate/shared/hd-sprite.gif
new file mode 100644
index 0000000000000000000000000000000000000000..3b47087a1c4d832a0ab4bb806204e726f6b590d5
GIT binary patch
literal 1099
zcmZ?wbhEHbWM-&lXlG!M*720q^^(!`meuo-)At1;c>_OrLw^Os00pB!MdKhvlVBy&
z5G9jPWz#SqQZWlxF%MTYk5IFSQnQRww~AJ`j?u7=)v$@xw2jlWi`TMC(6Ud|c1Y58
zOxAHs(Q!)EbxzZDNz-#p*LTY>aLY7s&x)#8^8LpThEXsY0s|caia%MH85lGebU+RP
z<p~Ck{|wq84uwt&IE6*MrmS#ia%mM**6I)lRCMX!Qg8_Q@nK;TJHMz^$%+Gw&aJ%C
zS{WAt6rJ0+Bn(1!6fA6F<z`|HS`d(UsD(>NC8R@OArlLSsGQA;2L~Km*?6@K5&{wr
zHgR!@gm_F?z{JEN$|tiT;ebOc6RVbhLO|ky1}-L+5DtL_OhDHZhiOz8JUrCKuk5#`
z!tn92K6&Rpol2vpr>5yApIcKI{QlfL`({4fDwCI&miaICTU%xN`r5kq!+pBdW^Zq8
z%YS@sZMFIH&fDz18afvzupAK-c8%bfD9Cc0U*5LkO~54PQ@q-yJI)9QGoR%)FMM_9
zWwBELr;D<TM(ctvj=}5!(mtsPrH)~&F~T*j3f~+enKQW8s6Hrjh+!;YEf8m5WMr@g
E0G?cs6#xJL

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/shared/left-btn.gif b/static/extjs/resources/images/slate/shared/left-btn.gif
new file mode 100644
index 0000000000000000000000000000000000000000..3239360f2919f0ed76753d14e127c34b0765132d
GIT binary patch
literal 878
zcmZ?wbhEHb<Y(Y#XlG!s^T~4xu6B=U^iAn;_@DXz|9^&2Fd70QCIl3JvM@6+urTO=
zd<@DH3>@AJoD32k8x$Ow7+H8CPHcF{z{tpCF=vOtqK0k><D{Mw8<QLR6m08wI5#zT
nPEzt;^dzI`$*B&l_(Lk08=f8LFw1^)CenbxX{H@B6N5DXxe6)R

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/shared/right-btn.gif b/static/extjs/resources/images/slate/shared/right-btn.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e45c69547611f6570c5c3f4ee9ee9327ece8b2b8
GIT binary patch
literal 879
zcmZ?wbhEHb<Y(Y#XlG!s^T~4xu6B=U^iAn;_@DXz|9^&2Fd70QCIl3JvM@6+urTO=
zd<@DH3>-cToD32k8x$Ow7+H8CPHcF{z{tpCF=vOtqK0k><D{MwhDnWm3XWnwB#fST
oOj5O+=Q8tC%Beo(_(L_B8=f8LFw1^)CenbxX{I123k!oa0Mv#lf&c&j

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/sizer/e-handle-dark.gif b/static/extjs/resources/images/slate/sizer/e-handle-dark.gif
new file mode 100644
index 0000000000000000000000000000000000000000..2b02584d4a08477c7c87be7fd3a19543c115907b
GIT binary patch
literal 1069
zcmZ?wbhEHb<YKtM{+$5?Y=SdRU%GY%h%R3{d-?j=E7#9~(2a9fZ=An+1FU3}7!85p
z83KwwSr|b+(*Y5nJi);6kAaax#$&^RgUuYmS}`X!EIiyUpzJlrW8<Qu-4e!GcTQ|v
ze7s-5xl6`#(~^^uHG)^goZPhZ^mK#dQ*%5wFFQNiqWIOFlbe^HpYPDjCF`|i#l^)Q
zleJ<`ZCQDFdB9??xn5gWU0ofqIqUAJt*fuEPdMBq>%DEw&CMB?SH+&*w)Xb+g2$)k
zdT(EMcX!3-S9ecuUw?mp12ear&yEcb4|fP_$DP@c&cMPbB2gn#X_Ru3RWn&_#m%Cp
zXQtcc%iWOtl74QXZ@*ZC)Yq5CHYA^(=ev8`+uJ*eU*9{sd;9zQ2b#I%{r2qm`1r(R
x?f7$hc7A?-VX^mozrDM@zP_<J`~JDTyT8AGaG1MW-hbbopPyfxW@BNn1^`FWvQ7X1

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/sizer/e-handle.gif b/static/extjs/resources/images/slate/sizer/e-handle.gif
new file mode 100644
index 0000000000000000000000000000000000000000..52b662bc29ce66dcd3e19f2ccc02d6aa3f648d07
GIT binary patch
literal 1592
zcmZ?wbhEHb<YKtM{+)rrBd%cnru_>y?_a!i|MD$+S8v;U`TET(H*Rr_g3%Bd0U@Bn
z00f}Cz`*g3fm=XAL80MbGZUwri^YZqhZs0z^?H5?BpvP&kx!db5t!`W$7S2bqB-%Q
z$7EIBJeSUo%H9(-b?1e=ob=3RreXN4Gm*mSr)OK$9{O`qIOF^RkA5xFQ(IO9FA8Y)
zQk9(g>dN%6%}IB6ZPp537_~c2R9fuK^(DT0C)w`)@-kv`_TxiyyRYTm+?Dlm+u82#
zx%YQh|7ByF6IPITsO+X(*qn%W@yBY|oz3n<yiYnl$uNFf%+HO_&ds!RzxO86<mtr)
zp6z;PtF~re-4J}*&G+|~+#_2H@6TJa+x-3g`NhoUZ>@jiJwDpWpD!D2@#*RMbouaq
zd#t{`KC@K){5zTIFYoRw|JQ#1Uu;d~r?Y35yRVo1RrUSt+WvO_e>SyWKknT>J%9fH
zy1zfqK96ts%NTLLo=K|Xej|%gL_(8*oyNju5wi@%W(mC&iq(=uJ08}`wQ)S^U@r4m
z)TA`+$HFenMHNXcqO(ps>K2aMv8dblS;yl(gIhO}`i(wCBu{X-7xARuS!$-rBtxy6
zDwFLl{a7+3@KuG%R2RL@rISOsESFA=YWlf!dTg9#+RVgBGoQ{#TXpj3tc*=F(`J{P
z%UnLE;@C>{IW_xUs!yq9`t^KTlbF|wh3RZvD`vN;S*=*yYqTq4ZlxC2%O&OSey&(D
zz3kM><x{exGFMD%nw7b7N#3kiE0(Xi^~&WRg9O6?MyaD#*=yPFaAmLC@@|#3)8>Dx
zf;Q}BI<39#kduqfrlWk-Yu2CD`n_i3NwEz&Th64N&RV*zX!qI`GpeNZcFbF6rMGJR
zyxY1vmvu$w?RvlKw%+b%$Gr9Td|srTzxU_5)$jNIesuc%0VZ*o4+k04|GYo+&+L!x
zVSej1c}GP2b2jc3h`*D6RKoj?;c@9~AA>`Z^*Wmla#hQ0I;pe%&8HKZ%{;{?^%whm
zKBM(mXY*Oh&wGqd+A{wwKBLYZYjRQdb<LNvcKWg=mrSMSmRt_@mNmWN72a!lHQYG2
z^jfU_+ppK+i+R7@Oj{oN?N-Wm+i$m%j@z2tDL(zS<Zi|Nwc8c0mAscNyH|5t*5X0^
b?_RUpwfuQIZsl>u?RYf7{$Hj81A{dH5O>o_

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/sizer/ne-handle-dark.gif b/static/extjs/resources/images/slate/sizer/ne-handle-dark.gif
new file mode 100644
index 0000000000000000000000000000000000000000..2928b9803a07660200ac3595774798d531de2069
GIT binary patch
literal 843
zcmZ?wbhEHb<YM4r_|Cw<&(H6ZT=wws(??IAJ$mx&@zdvzpMlVmXD@(KqhK@yhIa@k
z{$ycf00JEl0m>5$92yLa95Nmo794Em;O3HGIKaTv#K^?cQNfVJz#u3rWKdv`)YvD^
J$;QH94FFzaOo{*i

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/sizer/ne-handle.gif b/static/extjs/resources/images/slate/sizer/ne-handle.gif
new file mode 100644
index 0000000000000000000000000000000000000000..732053829f0cb541036c62a699d18a392789cc12
GIT binary patch
literal 832
zcmZ?wbhEHb<YM4r_|CxKlU%lR`{A2+@AHp>(GVDUA)vzm1faaYz@f^(%pv2kVZp&>
j4sI?1fdoZI1_l;~6bpeQhHeg7sW}w_j}J63FjxZs{zyL)

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/sizer/nw-handle-dark.gif b/static/extjs/resources/images/slate/sizer/nw-handle-dark.gif
new file mode 100644
index 0000000000000000000000000000000000000000..103b4f049ff2a7de9be38f029be5f3fe81bc2993
GIT binary patch
literal 841
zcmZ?wbhEHb<YM4r_|Cw<&(H6ZT=wYcvqw*!J%0B5$+H(vp1*kd{N>XZFM(2{U^E1V
zcL*r{WMO0g0v!+m$`cG6Y7C4VG9DWi9Bk$g6w+XLz|hph!o*^rurc9i7c;wng9gK5
K$9_ge25SH+U`_h~

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/sizer/nw-handle.gif b/static/extjs/resources/images/slate/sizer/nw-handle.gif
new file mode 100644
index 0000000000000000000000000000000000000000..ce001cd949b70268f7bd61a1909a6900c8a65588
GIT binary patch
literal 832
zcmZ?wbhEHb<YM4r_|CxKlU%lR`{A2+@AHp>(GVDUA)vzm1faaYz@f^(%pv2kVZp&>
i4nZyffrLayMg|54mH>k!hHhqAxj7vI$qfw*4Aubsz&?Ed

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/sizer/s-handle-dark.gif b/static/extjs/resources/images/slate/sizer/s-handle-dark.gif
new file mode 100644
index 0000000000000000000000000000000000000000..aeafee2ac8cf7764bd8427f9343ed8cb1b2339c8
GIT binary patch
literal 1051
zcmZ?wbhEHbyui-I(9Qq?Ho+Ok&s_pDM~Tr87+E2p_>+Yh<YOHW0m>5$96uNsIb=LG
zEI8QAA*>a1V#C72?E=bPb38UKI@&E^oOS2K#>L0`6`Z?dJU1;lIawokRm{mvOHWTX
zNIo^kbMvyZvn`5W-8s2=`T6+{&0MlxTUK0L>@is@_Ebqm!}5T|Ub$XdS6y8lu{rDR
zsjaK8uTMDKCF{Ly&CSgjm0S_0x2?UsrQq?Yx!&8?-Q8XB`PJRi+t=UU-;nAhD`UFh
z;o%Np?YJ{LHa<Q+LD_rWof~VPZkuA9eecZ9&Cky-aPF4#-L>WA<rTrJ<Ie8d`uh5Y
z<kRzfcW--pdq?r>duMlVe}Df#Gq=3oo*f?_pO~y2e{Rpt&(AL`_MY#zch}d~H#X<<
IaWGf|0N!PnrvLx|

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/sizer/s-handle.gif b/static/extjs/resources/images/slate/sizer/s-handle.gif
new file mode 100644
index 0000000000000000000000000000000000000000..27f5c9353dc786147ee3db6c316756ced3ed27b7
GIT binary patch
literal 1304
zcmZ?wbhEHbyui-I@STCdBd%cnru_>y?_a!i|MD$+S8v;U<;E?pQ7{?;BO?TK7=Qqj
z7Z^DHF>rIpcx+g3u$e<xE9S(8g@@Y(l)dJ7Y+Q7-Tf#W&&WVkSkM}D$cgc8eT5@u-
zM)0bblbe>Fo^FtQYL4gTWoKtw6u-K2a`W=@(^;ChWWBbmxVYG3vR3S=Eh{fC4_NFq
z*K6yltE(e6XWc!ub@lc235UC6y|=BoxjEzVs#tG^hTGc<9v@2e-oEbc?uyT^?w;Ph
z{{H?3W^Os3h}R8=JA}34&g|Iu`1k~6?|D8uH$6Q)!#MlinVp-TpI_kIE$6#y%gf6v
zf>+0#-L>`g^$p4V1`fNoy}i9H_4U28ySKl;f1sIL-fz#2kB?7G)@IjTu=Dft3yZzy
z`|aKJ_4SR-+4s-w-TnRjgTw#2<^A{V`T6<9<<;@$_wD`t{lnwa^Zobl`}>>e$*bwz
z`}hC<&%mbfpn*j!<3S^b+KLBFJZ2ej3<7Q%4_idSG9I={q^)?^CR6s}VY@<`#-k3E
zX&H|?HI}V-)TOiS#iMS6V;YZpOs-`-?zMQfBAH>w*N)qL4s4oFCb)=YKAGsDw(`j&
zAG4QFCI`4_KAjR0micsQMB2)y(_+eAKAoP>rul3}%CyX9Gc%U0d^Rg*+skLO3yx_%
zpHp%z^ZDG0XDgr2tNHfw`TPbptrrVg#Ijy2>`+_vVo{ITs~3wWxM{syG9@hQ<<c2x
lt6nafQ}*iR@&#>LuU0IXmi21oie;-_ty=R=LV$t68UR*1QuY7<

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/sizer/se-handle-dark.gif b/static/extjs/resources/images/slate/sizer/se-handle-dark.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1b59d8bf06ca0caffbc5d7e1ecdc18b162f3b826
GIT binary patch
literal 844
zcmZ?wbhEHb<YM4r_|Cw<&(H6ZT=wws(??IAJ%08ah@L!q@#HxO0i{O4Xb24N5K#Qd
z!pHywIv@g+Cm1+185lWu1RNGPHnRxI*kn97;Ml~VV8>(7u%NM(iH$)aAYtM0eg)??
I9u5X;0PpipmjD0&

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/sizer/se-handle.gif b/static/extjs/resources/images/slate/sizer/se-handle.gif
new file mode 100644
index 0000000000000000000000000000000000000000..3b057c0636fe33a1d6da44b74c70c76ba384e5e6
GIT binary patch
literal 831
zcmZ?wbhEHb<YM4r_|CxKlU%lR`{A2+@AHp>(GVDUA)vzm1faaYz@fsx%)!Fou)wjI
ig;mBz!$I*-6N|W-&yEd=4BgzuS$9qpCOa@NSOWmUy+6+Y

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/sizer/square.gif b/static/extjs/resources/images/slate/sizer/square.gif
new file mode 100644
index 0000000000000000000000000000000000000000..7dab26b564f10207c5839ba463bf65991631ca2c
GIT binary patch
literal 833
zcmZ?wbhEHb<YwSz_|CxK5mzvO(|)c|Fd70QG6ZxOfB=*i7&z1z7&&A-0umaUIRvGA
gW)vtMZswDBOR?Cf*wD_UpTrYjn0&B_k&(d~04bI)5dZ)H

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/sizer/sw-handle-dark.gif b/static/extjs/resources/images/slate/sizer/sw-handle-dark.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c1d47a8ba1bf3134e7a6a96ec6bbe3a3dd6b2fe4
GIT binary patch
literal 844
zcmZ?wbhEHb<YM4r_|Cw<&(H6ZT=w|cb0B*1?8TGkFP=Vs`Sit0p!g^l4S``F0*XIb
z7#V;-2SkAK1OtaA10#osgu;OX&8%E<G9C*K9BSqg<r4|G(BRU@#Kxde@L=Kbeg$VH
I4h{xu09H*+xc~qF

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/sizer/sw-handle.gif b/static/extjs/resources/images/slate/sizer/sw-handle.gif
new file mode 100644
index 0000000000000000000000000000000000000000..4acaa89f469d6fad4afdc720eaed234473246b61
GIT binary patch
literal 832
zcmZ?wbhEHb<YM4r_|CxKlU%lR`{A2+@AHp>(GVDUA)vzm1faaYz@f^(%pt<TaNs~Q
j6PKKfhQonF&0L~JIx{XPIJfi4XWcomF}b0Efx#L8AV@)|

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/slider/slider-bg.png b/static/extjs/resources/images/slate/slider/slider-bg.png
new file mode 100644
index 0000000000000000000000000000000000000000..d2e3af65b61ecbc8738173e59df3d68647bafa15
GIT binary patch
literal 1033
zcmeAS@N?(olHy`uVBq!ia0vp^>_F_q!3-qVNZQx|DV-A6h!W?b)Wnj^{5*w_%-mFl
zkc?6VBXb4c#3BVF0|N^M17j-_11m#w1ziJE1B0DgB7cDlD)IDnWxv76FDj;}d#&j@
zP>8d@BeIx*fv*IF8M9S3UjquVq&xaLGB9lH=l+w(%D}+P5a1Kyx^v6MgL}81Jbw82
zh3nU@UV8QH$^ZZVSx3QW2#kyn=-iXA37m(5{DOfg9|#zvyqVpALXMs;jv*Dd&Q35C
zVo=~X?6CHKy^%BbyB7)5?vyIF=O)FfPrjk_^bULG{mRr8*RMW(rIUSJeJ{(e#jn>N
e-)Stq{X0`xJg4rFlHN9;VGN$GelF{r5}E)_m~^86

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/slider/slider-thumb.png b/static/extjs/resources/images/slate/slider/slider-thumb.png
new file mode 100644
index 0000000000000000000000000000000000000000..fbcff940c63edaf12c2e5ca71a99c6cf22cbfa8b
GIT binary patch
literal 1565
zcmc&yX)qfI7>&?_)>_@|WqM@09cPuTTDI+ULn*RlQ7si(#1TagLUkQ=loo4AOIs!C
ziZ&EQ1wq_J5<!r}5h0O7h&Un=k=peC{@*w6eQ)N?eDlqG^U|E1>@+oWGynjArh~nW
ztI`dXGTy7IoT4M@BT74iu=PM(2@mi^1mC|0atjU%0Jy;;LFX($j=tfbbEc-2AXBpo
z=B5|SEkVYn=BB0^mQn-d-X4U5qwOBL`hkNdR9_tX@>m(EKd`?Q0RVi5_$HN*)Adwk
zs1{`9XaxY&X6@Vd-30)s0-Ue8*<N<>2fGAVT@SLk3BP(P6atHP3QTl{CwqpcL&Gzn
zh%E0Y<n74p+tE4j$RyvG*RZ%e|M<6o@oyf+J_GN7gA!5j<f6Mzi^86j-cLg#(u*Q9
zN*`o=h|VgHdx3e9gXzwLeR=EGmk;Yh1(8rb<3&(fF_c!~JyYgEEDENS2GYuWC*S)s
zD*~8RVZxd_a~R**%0PBi5UUE#`4qyb4O{-?BdUWf)x%k};hg#iUPA=8A&TGh*FtlQ
z02jO56u(;MyHe-3+7Psg4PI#sU2DF#j=R5x3tw-0w1$gcZI2V<qc_?gCuY4%%q~ho
zmZavEJ%95dv$*kPX#)z=Q1G#}um=CGw!2ixy3Wd`-rDA_`gUS{#~`+o+}JhL+&hZv
zrL^~tPUHTeVzX&&`HWWNbnA<0{44h7L|$Vu7ni_l`J3O8&Tmg&!>2Mk^A<WYS)H$V
zUC4!=T+zU5;XwX+cgiLycVjS*O{iKXmM;!sL<EdzxMq10FBvS^B%#-aDptp8B$SV`
zk@r&C$CWYcCbfQjqD?%Bmrk|HrrTt*?OjA_CyCZWruLBOUxw%dBU1#*Bw=iZG(JtH
z&XDOd!xOV(Q>^hBHf@GIHOHG`@fa-LG@H+-cZeAs;+ZZPvr{tLv%wmW%#k-aMEP8|
zbdIpaB5lq0%eezv9P&1+Uot-|;ZUSX@+e!}VHs~+%B9MA<J;U}1(zn{PHgjs75q`f
zB2BSGlPyk21(R|<Q!Zf2g$%_4Q?bZY2pO{+0h=e3FLUG~C3y-FM<L?LS9ppQj$)Ok
zSYOx?FMO3P?Z|}6X8w<;-26FPdHx{6)#>`qe*j=K5hnlufOZZxR&LRgu<x~zekni$
z?bZaVr|kK(UF$q@p?Ms^KWZC-K2+#osZ|y}*`xk2dN9BTWfmkM9Uawkw0D9$_wTJi
zY>6>1_0;=%Y}JSw+Rl^j3JQ)49X1>w5>4#E!LhNSh`kvnElk=I^i|L!BQA9X`@gns
zTbKB$<)l7yhzS2>cY<5`56(KL`UVENf7I92)jewk##}NveApx+yQ!(^>1h?Twbvz|
zN5C6|S$D(UUQKs{wBNBd^rq;?yVN@Gs+Xy_x*pQ$cTG$>V-0Dj_PX#yu!2mUY7C`x
z)tp}>q0Qb~88%jVFi<J(7(($CyQq_N{KJj4fImFlR*V?<xb^bP;0#<ovCdds-@7?h
zR@aLekGgtQw_Gjf?Ct4sm+CyAYp^Xi*v>8vTWyU)rlE7qRnU><zu{8TkAiZ4Rm*wB
zTNLOR1$aWCQ}hGQZ-e~d@G>tr3<e9a17py|waBy+!%@(SG24*({h1w?ftb(TC!wc2
z!42i*J`HLVfPuk2O-nd9QS~SEZg-PAmtvNr_~S8HomqFmgXOj6eW2VJS|~rVqtcDd
zA7QshL>}$F!V0udN1D4#uZ>vTVx`VtAtvrX2(8MyrNX3<s{G|dN&*FsFC-hHV(p3`
z7C^|wi_kXljf{c<Z^pE`e%M_x)#ADl5F-W^eXg*+!}MzFVK5loFB2$0Ju@>sp{tgb
z)}JSV5br?}s=zn_8?z;4xeI)_dnMZT=q%O5^FG}9c^2?y2pB>D0!9uV!yPxjrunV%
N4z^A<)z&^q{{ks}FgpMM

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/slider/slider-v-bg.png b/static/extjs/resources/images/slate/slider/slider-v-bg.png
new file mode 100644
index 0000000000000000000000000000000000000000..cf6ab9fcd2f1f8cf56b42ddb6c8bcea06010d786
GIT binary patch
literal 1016
zcmeAS@N?(olHy`uVBq!ia0vp^PC(4g!3-q3<+E9Vlun6jM2T}zYGO%dex5=|W^O7&
zNJgoGk-36zVv&N8fq{jBfw7f|ft8`Tg06w7fx*r#k-tEOlz95Ovftq37ZsCay<+7F
z6yhxKh%9Dc;41-P#%z_%*MNd7>5jgR3=A9lx&I^r?PF#L@Ck9<v1Q%PEgKK+-G1W8
zzLUofAHQ(@+SN<1o;~^h|3B*}7!85p9s&oeCnth3Oi7SmFfh%70Yk8Vg%D6s&(p;*
zq~cccg9awIFf+3-F+P)q*eT638yh9hB`O@}2)P)j++o%<my_ehM`=ced6#(B**kyz
Q3)IQr>FVdQ&MBb@03+pV(f|Me

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/slider/slider-v-thumb.png b/static/extjs/resources/images/slate/slider/slider-v-thumb.png
new file mode 100644
index 0000000000000000000000000000000000000000..e79367599c305f6858fd2f0e040010888a836e07
GIT binary patch
literal 1476
zcmeAS@N?(olHy`uVBq!ia0vp^x<IVO!3-n?4k`%%DV-A6h!W?b)Wnj^{5*w_%-mFl
zkc?6VBXb4c#3BVF0|N^M17j;w11nPt1ziJE0|PFLADTdY>?NMQuIx8Bg+%38cq)Q#
z0fjgVJR*x382Cy+m@!*r^EIF#OS+@4BLl<6e(pbstPBjy3;{kNuD;P(p0P#V31wc%
zb$&^e0jbq~X^jCH%~3^N(M7${CH-*~QxdDEC)dtQshj2S-yywmZbtKhtd<42?Thm}
zmzH!bDCk~MJ89*D`hcZPfy<hMR<wp}>G0Uy?Y^hSV_jFmfqsvJ6C=;eO*peK?%aa7
zt4m_9FN?pwJpAVJ_<Ktt?yd~Kv^ee7iiF#%lJBlby}Ks;{`&0u8*-nlig>mr>czUK
zm+NC+Z;XGqGV#%-yw{r&-)>EPvn}KOj?9PKD&OuYeYc~oYtH)ad7F9{Ztq*TrElT3
zNlSOlS+i&U#>1<39Nm22?9QW?@9yk=yruEsp6*Bcd!Fv^e7Udv$$_3X2io2qZhwEI
z{n_CO&kxUheQfrJBP}0}_k1`$?enRbug<J^cWJ}>8{0pfTk`eF+V8hFf4a5r`<=bt
z@9sZ%=K7IyH%?u-cj4xPtM?w?e)Rm#;}@T9ANca%#FvNXem*+><I$O)kIsL6c=7x5
zo8MpF{QdI!uNOCffj<fcX9zqvR9gUanLtU9U+{la!0<phR+52%@w2CkV@SoVsh8fC
zPbv^$FF2dU%BDCuGE$rQq)LiMM^Eorxf+SnTjjQhxOSX5<8%4nzq*3H{F>sM-@iVu
zIdA*@o`mNz;n_<(6%0RJE3x`(`O{FYzxKb{lFPzN)EmFm?&sWcTxi9Y-S4;0`YPot
z%;}+gGs`r~M@XF`!hH5wx87rgHkIv*9PVaZN&Z;z=hj#05SG~b({tv`nYXX%uUgl-
zw}}$dR0Ni0NL{J+<T>0KqUCyVH_r;rmdQtAwOoyPR$P{da_=ag*tX93-JN5H-z7|t
z6}lAud)3>BoxVB|;^C{W-hcZ3X3n!+t{&0eOQtuL#a`dWFxPqM{+RNF@>{c1o+$J_
zNw|=oUFj!~kbApqziy$-^m?_f1@FFF|DNgd?A~AYB$m5B*UX(ecmDqB|C(KS@*8z#
ziwlUVa$a$-oc6ROXr+o5yVMHSmd}T{H>zYxt<V))t9*pr!}+>mxBt!!))Fjx{)q0+
zvQA4B7QQz1Yt`TUkLh;vtK(QNJ!5+5y1@2)v5$jzz)SP<(w2MIE!1Z9P_~rf-R%|`
zCK6%YXZ+^XCY|Y`p{!pEZd6Y?n<j5pwZ`qj-u1_h9)0?>y+3}@i+6_SKOYoXwd(Z(
zJH5|))`YAM4YfCMSgQ~d7Pl(&u7N}Drwmy|I~S>4e36xU?RO6<Jb1c&-z)p+=Er6^
SK5J$KC0b8cKbLh*2~7Y7I~$w;

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/tabs/scroll-left.gif b/static/extjs/resources/images/slate/tabs/scroll-left.gif
new file mode 100644
index 0000000000000000000000000000000000000000..bbb3e3d9d35fd19b61bd8d0a0bd5f42dd3e82ccf
GIT binary patch
literal 1260
zcmZ?wbhEHbRAJC&XlG!^&(E){taSMA(ACv7Wy+Lw>(*VncJ2E0>o;!PxOwyDty{Nl
z-@bk4&Yin=@7}w2@BaP!4<0;t`0(MQM~@yqe*EOglc!IgK701;`Sa&5Uc7ku^5v^n
zuU@}?{pQV^w{PFRd-v}B`}ZF{eE9hB<LA$xzkU1m>(?)aQ7{?;gDC_Qf3h$#FfcLb
zfE)$N6AT>x8CW@FJT@#i*v!GL5p!b0!o%$Xo*r{NHZD5CBxW3>qp)c4@qPu@2^td?
zE;%__!?=g%;HIUgrz^U}&G6j3>@2sk<BK~dH>-C{6l>y=^}2HC1i!~*t=M0VE{$9P
zi@oMX9bDPII>NT+#;mWag1Hh7cgcDm%xvGBv0dm!*S9s7ISU>il2tHY7tB}jF^^Xu
zVRif-KUEGn9iS@@HP6k9*psLqzdu^sy4PXnrbLFR#@1I4+%&v@zSh#Z)nV3`r<WPL
ztaV>XetA5}PyR$*!>=zn%O#4ov)L+b4`x5mc->6qPNwhq3GQb~ZY|jP`SiKP)~c^8
zDg&1DY|2hgsMuY$JmhNL$+@pe8h?I%#=gM*|I{_{oBTvi%=h2FuW5Vf=hLOL7VQ83
zpFvGPB8f%lnFtey+KLBF96r--HVasl9%vB>%XrARc<Qo;ZL35R4zw$@X)I!tEXq(~
z@#|fo)S)_WM`D-usvC>CWshkjGny1}Ebdi2H{)@iP2CISUI#YICEc!{DxP$D-rBLG
z)A!hqC4F*iCzbjvvm~B&1@DVkI#nfUrfO#NJ&Uy7gtkhxnekCKmrl!-(tI`}weN@8
atb}_f(`IF@i(KAOwMb(5Bvuv{25SK3cQ--+

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/tabs/scroll-right.gif b/static/extjs/resources/images/slate/tabs/scroll-right.gif
new file mode 100644
index 0000000000000000000000000000000000000000..feb6a76f0ae36a545fcc77242b53261680199c39
GIT binary patch
literal 1269
zcmZ?wbhEHbRAJC&XlG!^&(E){taSMA(ACv7Wy+Lw>(*VncJ2E0>o;!PxOwyDty{Nl
z-@bk4&Yin=@7}w2@BaP!4<0;t`0(MQM~@yqe*EOglc!IgK701;`Sa&5Uc7ku^5v^n
zuU@}?{pQV^w{PFRd-v}B`}ZF{eE9hB<LA$xzkU1m>(?)aQ7{?;gDC_Qf3h$#FfcLb
zfE)$N6AT>x8CW@FJT@#i*v!GL5p!b0!o%$X+!JPaY+Q7-Q%FB+iH2eG@qPv8v<VuE
zmYkfd;p(yHz^0|Ar;Dq!&G6j3?5u#0?u$DoH!o-HRA}Oo^%8Mm6cnAL6?<ySp^N+h
zi@oOldZ^L5I%0Fy(t<0^*Vii_s*|lQX}Y;tm~DY;^_J%7?TMT%wZFfuXxUw%%D^x|
z{Cyyw%pop50R^20huxJm;$#x_8IE=J=iN}S(0O=BS<T;$YvJa{=NYWJ?N&J+?l`@|
zaQd}^FOAt3=Ev@~d-bv8)#*fAxzYpD-{S5a=ubM3@Vo5BLy11Kh;w@yA3r<YziCa3
z&6?ATc{XLIZz$jWZL!r#;Y)nCKfh@D{6d_^WBxyl%R3Th%Y{1Z-}m=7*P1NRJyTbA
zurRP`JZRvYvh`YHPG`e`CLXgF3QT2RRTJafWfLB@N~BddBuywiaU+neMdMM2iqwIb
z85+whW^t%)(|FXWb&P|tLvI_$;vUUQ5z3wBk9IujQ~mbhagPp@<)R68uQHZ&D)G!r
zp6G4#Ql-mFs#B#el&NxQPvpBDsXejRek|=u+-31>a$sA9+SCBOozMC+_uY(~X=Y~m
lbWUzm=JUBFY&)M%sr~e0`Q%19%NG+`_f@RuXJlls1_1f>KmPy#

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/tabs/scroller-bg.gif b/static/extjs/resources/images/slate/tabs/scroller-bg.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f089c0ad65ccfc9be9663e7e0d65f547e9160ac3
GIT binary patch
literal 1090
zcmV-I1ikx5Nk%w1VIu$*0EYko000010RaL60s{jB1Ox;H1qB8M1_uWR2nYxX2?+`c
z3JVJh3=9kn4Gj(s4i66x5D*X%5fKs+5)%^>6ciK{6%`g178e&67#J8C85tTH8XFrM
z92^`S9UUGX9v>ecARr(iAt53nA|oRsBqSsyB_$>%CMPE+C@3f?DJd!{Dl021EG#T7
zEiEoCE-x=HFfcGNF)=bSGBYzXG&D3dH8nOiHa9mnI5;>tIXOByIy*Z%JUl!-Jv}}?
zK0iM{KtMo2K|w-7LPJACL_|bIMMXwNMn^|SNJvOYNl8jdN=r*iOiWBoO-)WtPESuy
zP*6}&QBhJ-Qd3h?R8&+|RaI72R##V7SXfwDSy@_IT3cINTwGjTU0q&YUSD5dU|?Wj
zVPRroVq;@tWMpJzWo2e&W@l$-XlQ6@X=!R|YHMq2Y;0_8ZEbFDZf|dIaBy&OadC2T
za&vQYbaZreb#-=jc6WDoczAeud3kzzdV70&e0+R;eSLm@et&;|fPjF3fq{a8f`fyD
zgoK2Jg@uNOhKGlTh=_=ZiHVAeii?YjjEszpjg5|uj*pLzkdTm(k&%*;l9Q8@l$4Z}
zm6ev3mY0{8n3$NEnVFiJnwy)OoSdAUot>VZo}ZteprD|kp`oIpqNAguq@<*!rKP5(
zrl+T;sHmu^si~@}s;jH3tgNi9t*x%EuCK4Ju&}VPv9YqUva_?Zw6wIfwY9dkwzs#p
zxVX5vxw*Q!y1To(yu7@<y}iD^zQ4b}z`(%4!NJ19!o$PE#KgqK#l^<P#>dCU$jHda
z$;ryf%FD~k%*@Qq&CSlv&d<-!(9qD)(b3Y<($mw^)YR0~)z#M4*4Nk9*x1<F+1c9K
z+S}XP+}zyV-QC{a-rwKf;Nall;o;)q;^X7v<mBY#<>lt)=I7_<=;-L_>FMg~>g((4
z?Ck9A?d|UF?(gsK@bK{Q@$vHV^7Hfa^z`)g_4W4l_V@Sq`1ttw`T6?#`uqF){QUg=
z{r&#_{{R2~A^8LV00930EC2ui03!ev000R809^?jNU)&6g9W{LbM>#G!-o(fN_^;Q
z;XiX2Giuz(v17)60@ZmONm8Raf$lKkTFJ5{u8l5ZVss}^o;h3-9llhVv*Am50^{NA
z>GLL0pYa6F!?~}i)2I9Xy<`d%s?>Q(ao*d?H4E2!QjLD~`V}lLtgh<eq{o(RmMm@Q
zg<aeBZCtsy>Iqc)51wCmZ?pV`H@ENKz=Nggb+z<gxW|FBJbqkwa=6HouV(!>uJgFS
zp2rmq4cfD2#yB^=)mT{LYSw2rqnk}T3vG0TZ`;0&JGLu%IMoRsPF!8#;>e`}b@h%Z
z^5IdZ{@eFlc=UGy*%|G*b9>I0>;$48QyH@*%<?QTq7z82q<fF#1cEb(QRMrP;1KHH
IuRkCFJ7sbm2LJ#7

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/tabs/tab-btm-inactive-left-bg.gif b/static/extjs/resources/images/slate/tabs/tab-btm-inactive-left-bg.gif
new file mode 100644
index 0000000000000000000000000000000000000000..777ecd8728295ad3ccde98a614246ef83a8617a9
GIT binary patch
literal 883
zcmZ?wbhEHbWM(jA_|CvEan7=JyN|Emb7JHE)0+>R-E#2E)<fsE9l5aM=%ro9FYh^d
zb<gQ*2hQ9)c<$EWi+7J)ym$P{gA-RDp1Sem&6_t2qhK@yhIk0*fZPwt3k)0)42&!s
z3KJe2XyV}4GC5(8c(|2M*=f#?4U1fwm{=Gj3>X*~nHYE^7z!RRFtBhisCY0qG%_)8
oi!me|U~p(=W00|6`0#*{fkS}7rGvqtiG_hx!H0oCL4m;<0E5>?Jpcdz

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/tabs/tab-btm-inactive-right-bg.gif b/static/extjs/resources/images/slate/tabs/tab-btm-inactive-right-bg.gif
new file mode 100644
index 0000000000000000000000000000000000000000..7c378ab56fd1cabfd9f401fcca79f26c344494c1
GIT binary patch
literal 1553
zcmeH``A?H~0EfQ=qzxKFrh#R$*hNwceOW*ZvPiNnGC&SBV|K(ej!nX#t=SSc<cDQC
z(N@LaffjK^ifHL6<!Vb0`j(?7l&e5tI10Vnx3r~DG;Hbg&sgH~7d)RQ`4pZk$o>3#
z=z}AG4#0gT`{i5Y+HQreM`i4TC;HXn1H&fq=#+G9My8!r=;sv1d3bzLZCV<cel<G%
zx7KXc&8-?Nb_7Add)^oLKNtA)P25}kD1hFLc=ri_j)Gn2lp+yJ-GJVgPSS}wM(Bx$
zikU?{&&C>)V=I?+J)PRSm=m{CJc&Txj4S7n^bcO>8JQOh%#+y;<CEM=-er9lJK0WX
zNN~6>ai%+qnv=>5{oL}_lJ?@Z;(-fhUPT}IZ2hnNh3>QRYoC-vIF{a;S!W(!Ed1*c
zb;Z!Oll9pvdHvy~38UnvVdd|!sCY=4d48C-PxX~RnsrXobm+<rXz&Qpz{vh$OfZ=J
zwdv^z)UFI!|EU>v`DDIOHc+x4YVB<*J8nmoq__53CghU93f!>!;3<VPWYaa{zcVQY
z!>*~0SPVfa+wxiZC@UtVd^=zrX^b8`J*0ROcF%U9&ajj_+d-SL{j_T6-<{WC-^!#)
z6^(*;9P27bskHuq#&WFJ_T;#&4T%M~)$99-HLEv1s^+ZH4#ZrA=@=Sr?Pe;YX6+V^
z%~`t*iQQ|BnHrq!&e0h(Atu+!u{GsI+_t-f_%!>y{G?j@{UR*a{-88xF%=}_r#T*e
zL#%Z?s;K5V7^FInqotCT=6qbmsAabTh~<1j6?>e2{;WxJF@Kq_b+y$yxvr<bMLe$d
zD={$4x}HRKcihDC+|Tahc-@`%3er8#9}>x)7mt5PAjC53yq+!=E#1p`&LDfa95&C(
z6NtTDzDTqFF&^wSlYK&|ljnP>h<JV7a6BFnjV4i$9vzl1=mmLJq;IMK@9#GgDgFUV
zHQz5@uJidNRvLa?YKsBtK{uPfE<?n=b$L*O4=6V0DFNkcCqFRs&&F;-96&)qI4+qQ
zRHF|Ig2Q``A;FQvLMSx4|65WP_^?V4(xhBQLRt(R+R&x8P&f3rF2RNYk|4cCP>KnU
zA6=k^CvshauqkgF2~QGG8Jko2$rm@L3!{|KOzAQI=Ioimj4gA*0RYcc{3zU-Ctdb$
bEmYDoB9^L_i;=~eE@5PeDk=Mt0FM6$i{jqK

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/tabs/tab-btm-left-bg.gif b/static/extjs/resources/images/slate/tabs/tab-btm-left-bg.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0a0e29b139b98a1b7521b132221c5da000b7a22e
GIT binary patch
literal 880
zcmZ?wbhEHbWM(j8_|CxKn_idQHb1vxVSd-*qMqf&ealPwR+LR#Sw3l1`J~m=Q`S{a
z1)>c#(>B!3*jP7XQ~j*X4YRj2&fd~8Z+pwU9WC>Bw$9(xzG!#n;@usK_jE4V+qHCG
z&$9i!%lG%KIM~1P@WeGoPo2BOFbYOPU{HpD4#-uYyuiQ_%D^nbpfKUVfhG=qEt3-l
ziHBSHl%3}M*s#c@jfss<!s7u@B?p5_07C*JGXt*-Lj?n)0}CgE8c<*%Qv;7UL(T<;
Y1I+9U@&*hHid&c)7Be`purOEy0ALeT{r~^~

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/tabs/tab-btm-right-bg.gif b/static/extjs/resources/images/slate/tabs/tab-btm-right-bg.gif
new file mode 100644
index 0000000000000000000000000000000000000000..84e20cf5e7e58b96fdcec4200b6ab23822ca9b60
GIT binary patch
literal 1586
zcmeH`c~8>^0EU0qj-s2H*$9vYum%UElnn)0QCwI=<nSP&mbo#mAr{&SbEJ^Lwi0T~
zS>+IzAXlMxp&XX0^x!CmO4&frh)`_l-2xU`9GFf&#s2Zl^8wyG$#Wqp0vVEma5xE2
z0O0(!o8doXpMS@Xzr>{E#-!$js6(*iW*nsjU)-8iO1o9g_?61Yp)v`TtlTPgZWSlL
zrZfNEJNN~){NL-l|ETZz^L{U}p|7x^kJQvpY8oIl58iGbqO=W{(1wd?!jkrp(hgBM
zU0lHsQ<>5`tg%Y&L={g4eAovA|F?l-Z@>-!;0PezA9>#d;A96N0mv|Zi?qn;b9llO
zzjcgq#4EZnvb$}f%q=k0nb}R7yaPQ~>K@gjI!E=6V<$}abi~xcl4csCdg)JUPGsqq
zr+a<mjo%g>@`y%x&9y~V!!P}o!<uKrUJtH_e#m}GjqA#MIde5-u`_uL{T43ZK5t8t
zvwzAD^ncNx9Y0hN({G*}Bv|whigUYG#RvBec<#pstc?*4dnN9pPbeqTJ<c^PUp=}0
z2<`v#%04PkBab{=<mrJ5(#@Z~L`ysycgnC702yuKEu1pFIEGiQ;A_4+0G1SeeDtz#
zU`shw?Uytw9JFZWXfe%~NB+$zJk*0-ogEprZ79ad>_@MNgl{a`c}|jCG_q#}xg+YY
zh(&Mrb}fcgxmaws1CB5S5$u9d6gqh#C7{DWT1C;32-q6Q8I4)H?Uv45BfAr{YZNFM
zmRbx72c#u1I`dU2LZE$B79fKu%Yzm%$_k{KsicOQkrMD{U|-eUaF+~KWu!MtRdq2~
zr>c&P@LjJ#p);=E1EIpCwFv~>dR;QvS6!c0o1y*-LuaY);{-Z&L$)YH@{!9zhUP(@
znx$zfu<A6;L`S%`h2)Z{Z7ud@W7<GzL@DiV1YFl%gU-}-)Tgs`^hSbS$7mtL^~`qa
zX^G<(?QA`pE70pXe3>0?;Px$M8h8V0wxLsK)nmIr*>h6<xC_?UJ>|_Y_B;+Y7<=a;
z{7iidXsqesv&1t*2sFoF>Q|8c%mb=gta(sN=a`3#0)u&YQ|6Z?1d*VlBfDzOhG^ev
z*boB{#HIx7irbVr`EWN!KlwUT;`C)WVr$$v9=A2&c7wYmbI&zyO+qP%*Hg#qaJQyG
z1<9i`h<@YiM*))v%j2LWoaG5p!?nzY+Kd)?nB83h@o7ok{yWl#xBbt>Z%o_su^0Sz
z7Etl{ou}X5;O#74a}5Iy9&bcgpQY8|t<NzGo<QaZKqY{~xW8>VX9;h6nWy2|RtjvN
Vnry2?$XB}xlIzV~g@Xfd=0E13`e^_F

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/tabs/tab-close.gif b/static/extjs/resources/images/slate/tabs/tab-close.gif
new file mode 100644
index 0000000000000000000000000000000000000000..3bdff41712915a70612415d5bdae81297c395f4d
GIT binary patch
literal 853
zcmZ?wbhEHb<YwSzXlG#14XJhb@9^Wt4~9`N8UiCP1QdU=Ff%YPGU$N34$2b@97YVx
z95NmS3JeTvf?O;L4h&9heBx#$7J-Qj9irSxTQmxjj`WF0Yqk6cNI5i_HJFWqgTWdA
DqSqDR

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/tabs/tab-strip-bg.gif b/static/extjs/resources/images/slate/tabs/tab-strip-bg.gif
new file mode 100644
index 0000000000000000000000000000000000000000..03e7574b8ea32e223052cf652f3402cf09f18485
GIT binary patch
literal 906
zcmZ?wbhEHb<YJIw_|Cv^{r2q}ckbM}d-wLedw1^Nzx&|9y@wC)KYH}w@#BY2o;-T`
z^zpN2Po6)2_Tt6!moHzudiC=4>sN2yyng%k&AWGR-@kwN;RC}c7!83T8v;5YmxJ;G
z14llCHiwMIgr<Yd9O@b|Cjy!dw+kq{^*C%?<jNsooK<sR<6?Jq1?R3DhfPaPPF9y(
z5p%Mr@$_^9(Gzn#jT_I-wh(-A=j7(}^UMy-T&50NR$OHAn5?CGV9UzOi~)<i=30d|
VTwNW(oN@P*Xv6jO3Cv6k)&NszZVmtd

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/tabs/tab-strip-btm-bg.gif b/static/extjs/resources/images/slate/tabs/tab-strip-btm-bg.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f35087f2bc150f125e54c3c99004e4d27f57f966
GIT binary patch
literal 826
zcmV-A1I7GDNk%w1VF3Ud0EYko000010RaL60s{jB1Ox;H1qB8M1_uWR2nYxX2?+`c
z3JVJh3=9kn4Gj(s4i66x5D*X%5fKs+5)%^>6ciK{6%`g178e&67#J8C85tTH8XFrM
z92^`S9UUGX9v>ecARr(iAt53nA|oRsBqSsyB_$>%CMPE+C@3f?DJd!{Dl021EG#T7
zEiEoCE-x=HFfcGNF)=bSGBYzXG&D3dH8nOiHa9mnI5;>tIXOByIy*Z%JUl!-Jv}}?
zK0iM{KtMo2K|w-7LPJACL_|bIMMXwNMn^|SNJvOYNl8jdN=r*iOiWBoO-)WtPESuy
zP*6}&QBhJ-Qd3h?R8&+|RaI72R##V7SXfwDSy@_IT3cINTwGjTU0q&YUSD5dU|?Wj
zVPRroVq;@tWMpJzWo2e&W@l$-XlQ6@X=!R|YHMq2Y;0_8ZEbFDZf|dIaBy&OadC2T
za&vQYbaZreb#-=jc6WDoczAeud3kzzdV70&e0+R;eSLm@et&;|fPjF3fq{a8f`fyD
zgoK2Jg@uNOhKGlTh=_=ZiHVAeii?YjjEszpjg5|uj*pLzkdTm(k&%*;l9Q8@l$4Z}
zm6ev3mY0{8n3$NEnVFiJnwy)OoSdAUot>VZo}ZteprD|kp`oIpqNAguq@<*!rKP5(
zrl+T;sHmu^si~@}s;jH3tgNi9t*x%EuCK4Ju&}VPv9YqUva_?Zw6wIfwY9dkwzs#p
zxVX5vxw*Q!y1To(yu7@<y}iD^zQ4b}z`(%4!NJ19!o$PE#KgqK#l^<P#>dCU$jHda
z$;ryf%FD~k%*@Qq&CSlv&d<-!(9qD)(b3Y<($mw^)YR0~)z#M4*4Nk9*x1<F+1c9K
z+S}XP+}zyV-QC{a-rwKf;Nall;o;)q;^X7v<mBY#<>lt)=I7_<=;-L_>FMg~>g((4
z?Ck9A?d|UF?(gsK@bK{Q@$vHV^7Hfa^z`)g_4W4l_V@Sq`1ttw`T6?#`uqF){QUg=
z{r&#_{{R2~A^8LV00930EC2ui0096R000OV0Gl<#*3BEZaO23CLziwHyN3`XLJSB1
EJ2X9wg#Z8m

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/tabs/tabs-sprite.gif b/static/extjs/resources/images/slate/tabs/tabs-sprite.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d7f1f32829a16d69578e4ee4925c2120b195dabc
GIT binary patch
literal 2625
zcmeH``BM^j1IE8-DhU}`ORT<ITE1#V=2q)bZIO~EQ&w)-v1N_rQKoH8mUf_`k|CKV
zsVQ=c7b@YcAjmChUTK%8X_gt#Wm)mopRqIVGoShV{LC}+_yzcSdYwdpPDnZcxHC5}
zM$Fl?(sSw57-Cs$2K^rr>mr$biOjitw>&<Z8=qZ~kW-bATa}nsb1k2Dol<*)Qg^ek
zo|sdbo=YYEAg_#ckCj=-#uxFEiufrd4Jjp!gwm$$BIey<R`w6>vs0<f>GalH^cLa|
zGukqk?Ic!5Cc7iQtg?VsMdpaIxRSe-UD;JqTAh$yFJkaJnF0yBLCR^Al{d-Cn`PB4
zGH#2U+oGs!QPs4{t6J67ZR(o#ZeE+BwnN41(C~yBo~Wl*)Kf3)=8H5BIyDc(8iAyz
zzVjhp{E#o{7f5;^NCyS7!3Nn64>ib!8@nDhN&A~+{Y~=WCdF`ze4te^*s2_CRSmVN
zhMJX+T2v!#-H+QePlW0bQTK>QGuqkvMBMj-r;?vMlRkVd?SC#C7?TfbmBSOtN0Z?H
z`ByDq|9KGv00=<;Z2j{S0BQuL0Oil4ic-uDFv3K<GI9D+NLHMlM(etb+8lUJR7;oL
zu{#PdkXl9n65xtM6?IHiffFD(@2Y2Y7kLJOmv%IEPbnrP0|-y1^wIruT%H1qPZ~Rz
z9(cbHf+s*j>!Y74|1bg2rJWhS1qo(Nft3yCZ<V0xu{l7YDM1a@Pg`KX86#|{dES9v
z2K>XQJgu0x+!n-9@e{JFwLz{ziV&}&Y(D!;9g3gsq59lL_Fm;j^)dHWI9?C?@M@si
zPfY$T!Tn8-Ahv!ev-ywM-lkX!_Mh7?Ul^91Sor?Nt0{V#T~?Iun&@@$RolG@!FSul
zn7P(AQ=>)A(XW@^bSq$o_7-2C1*<TGc}z$9w}nrKIHC1vnMNZpM~zvWY1B)TppKle
zWP3`VGzH=7tR=({sA+iA8M!YslA+b6+od_5va!#-Aid?x;*4iR5Zugvb(1<zkhWwm
zOGbH4aVE&y$5GxZk1bj^nT16vc0-RwmQ7~k+-Dd_`|y)pxgiImUgRAl1e^VG?DEWu
zg0TI|On%vu8#Q$=k~M>c2HI(-isGc}oUH8~PD<`ynJS+y@g>Az5qNW#msEne)(NrQ
zf%}q1a)0GymF4R)!^j=iMKUS-6QWqfM-s5?`{ymAnKbg&sB)HXMl`pijyuDy4m37L
zbL$I_yyi3{7oO$tq?R+)#U@4NJc@NtbWOX>0=I^{#<rr4z4f&Vzb;Va@}PUuLd66A
zKWC%C@{lly*<}9Nxu)q;aS&wa742M$PHMZ+EEvB`+BQE`@wOd_(RXzK3$#vnA~Y_w
z73wsbYPJuj)rk>)X#EQ0cKfa_R79m-x<6EiU2d0-Hpm@3PKvCZ*_8$*ntpEAGOPss
zPQ7IqM=<k&mc7$#|1?{VKz<z)_hMJZyzko)+AFrgdAxbwAN)2<WVJOU=EGoUL{*BJ
z*Q2oy!(r(g1WS-lFyfI&cGbtxEuq0;c${p*rze+s#su)+C#ya^yY|WW#vP8gaGf6`
zh;{K=;_@3;#!0rveI_zDT3yv<@7;0bMZN|3>J<56_54H$to`Z~{pj&8lWd=ogh^_;
z)%+`xxTJBG*uUrM>*~kfn_d@AtZJSsSeWzD(O^AZ`nGr9oAr#%v0mQ2em5V!UwS(H
z+XrMS<J-r9_#PA7SbAyy{3Pu3_s>DhnjL@5Has6(&=vjH_%(JgcIWZ=>D7<Ee_cOi
zH0CU(0uLXd$tm+cp*X6^O1aQ{t1byaqAqgs7g-+BC8N|-a}T-5DiE>L4u10b7HlWj
z@RHz+MWh~-cUm`REm@mU20x4y+YG%-^PIhF6(7l1^+gwefv?Foruj?Ue$^AB18LUN
z5{aW>=2kE|cLn<q$K}YreWOYmvO(VEnxMZO2B)KB{?bi_dQv2gZZj;Gx;I}Sz09Eh
zN5$lAm7YCuMZLBiDwXXR)!#Wzq1ag{YQ1gh!il(W6;k0}<Yl<K^ESibuCF4{_f0ls
zpwQ97ORy&)JBA8B{nR%=*?!NEn{c4S<&Z*ou-TBuBQent0jeXThWth~(=}e9I{w8_
zz$cZs!K}gCJgmK`sASXnaT9A0me@N>+?*L@y#m->dlY_aF~GE+9|~UtJWD;VKZF3z
z+hRX00Hd-!oJat4w<8WZ0Q~2X184-mfBV>EL|Op5n}7*31;UQxkGmmYzSMh34ggSH
z*&Qzc;QoCo1cnBcI45l3{zl#;qjx~o#bUX(+0Ud5{;sHVA+K!mtEEhC(o9r%v`ryd
z%A$#)A}?9ml-!WAOCVf82n+$?1037k(SCVf_Oa3i%Gahw2QU-%1EP+*8VZ4KN8neU
zBJOkv-DN3Du=Aj3P0_gZ1U15>=8XRm`>e8KI|*rs0bRATiw`tTK8(uL`fh`tBYTgD
zJ1xs$_E6fX0)8q2p|1^5c2daxhh6`&UlgdWyeAouXxal7+v91G`dk76r{^ba^@di<
zN3oDy4-ONm1mP<5sPT(ZP}^BmaY^O!jHPT~naptrFqiSm%En^v^Q_$4>!uDWn{t!q
z7>xDnUim7UvpQX^_^PJ}$xutZS!_&K;!(rYP;1NX*x12^#|X8)Z3Pcw=7<28HKe~+
z3h}ExC2n-XB$-@?y9udbkOjwCOC*Ysyc%f+Lm5P<#AGw;0BzRq+HjIOPKnmZtyGmz
zWEO)M@4g5YVvt}LL<4S$Q>+g{lOj^>AY)2lb8~|Q63Qg^T{eYf8DtkKlFWhwCR-I4
zITu@J$W?E1Y|$vnQtGA|YA=@vjWS<snB>E~Ts<@@lIg{93CVNQN{yP}^KNVa?dfiz
mS=EhC*$kh=MZg?JG(pmfIUl};@9-PxIbeP%Zvz4Ww*3!}Vs487

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/toolbar/bg.gif b/static/extjs/resources/images/slate/toolbar/bg.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f61468f281e47e003774d353b43bb1300bb203d3
GIT binary patch
literal 842
zcmZ?wbhEHbWMr^lXlGyuOezgZDGy1l3`wgB%d82@s*A{Jh|X({$#0D<=!h%qOepS7
zF6&LHn2=i0pHe+3y>@bD{gkYRso4!P@|tGmH_s|)nOod8ue4(U!zdUHfuR-xia%L^
zPX5oJ19CVhPcU$(GZ@Bf2xvUS!YQa=Q*fc-AQLO6fQ&&v!vO|HMuv<#CpIoV-Y>(<
H#9$2oP^~nQ

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/toolbar/btn-arrow.gif b/static/extjs/resources/images/slate/toolbar/btn-arrow.gif
new file mode 100644
index 0000000000000000000000000000000000000000..9fad756370f52d6d0ba01acbb1efad65a44e1dab
GIT binary patch
literal 908
zcmZ?wbhEHb<YGu+_|Cwf;1KQ+lN+2~;qc#~qH}uVydA9zcXch@+rM)E<TZz8Y&bG!
z%khQVPc7ShX4Ss)>knPra_q{Elh^+L|IaWAMnhoehk)Ww7DfgJW(FOQS3r4!fg_WF
zokPZB!-9j&9Ku>I9t;i6?JOK-Eg1m}42&GiI(JTNTztG=!MRJubJLQOlQn`@#hl#q
z)PX@z;LsGw&kuZNoAREU^J7Dz?>xbLz6~9P4Hp=tSmjiAd`Ugm<QwZX*K6yltE(e6
LXW2>!FjxZsEb>#s

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/toolbar/btn-over-bg.gif b/static/extjs/resources/images/slate/toolbar/btn-over-bg.gif
new file mode 100644
index 0000000000000000000000000000000000000000..62464c0400c5440bdd73909ca5322775872c6332
GIT binary patch
literal 829
zcmZ?wbhEHbWMoKT_|Cv^_}0(kcYdC}|Lgq2UzeZ!zW(g@?U%przy9<1-Jj<l{=WYF
z_x;zupMU)O{_EfGzyE=NVHAvpz%U8{9gtr@d4YjLi9y~X<3K`V6AK5QgoZ;xLjwbY
WlGhxMjf;+UOBiR}$uLx4um%8<-8-xR

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/toolbar/tb-btn-sprite.gif b/static/extjs/resources/images/slate/toolbar/tb-btn-sprite.gif
new file mode 100644
index 0000000000000000000000000000000000000000..483d51f135fd7ad211d1a85459d61025071124a2
GIT binary patch
literal 1070
zcmZ?wbhEHbWM-&iXlGzhc1@CX%9L}-k$2Bm@F-CA%u?~rQS-}F@GMdCE>rd`R|}|8
z53JP)uGbDK)(mOXiE6Y<pQ`)B+`D9nU)74hniWB{E5jOBhc>Q_X<ZlFwl=Y2eNyN8
z^qx(ry_+(6H)T)UoIhn-@w6Q!({?h9g3%BdWFesVlZBaqL5M*I<StO2VBq-ApeiBp
zBB7~~Lz$;WAdtbOgGtsw<iUf54Q;%v1}Pc|51kmfM7c~V0va5fnYblHJQgfqXkuaI
z5YRA4aA0I);$q-XSm@B$D5Pd#V4&2*C@9a<GJ#`}Gb6tYSI&h11?Dy;aUGEr4hs)7
zPv#9ViU@FEJj23~bZ$+haXJHo9k)k=LwVC(!3x(Gya&Zw;`tlQInFu!XnM%iA+M2l
zU`Asy>jYtsX`TuVPft(h&k*ytpy1TXBkMH9<D!yVuZ(Szi0360uc<n*ho*R5R`Z){
zQ_Cdkbwwj+sn1-esa{vL!q&#@Z4&jq_U6=<EjRDgNtfr{-Cg<p+h6I5f`^AY#m%|v
RWGXlLoOxj?&%wc94FLIMkhcH;

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/tree/arrows.gif b/static/extjs/resources/images/slate/tree/arrows.gif
new file mode 100644
index 0000000000000000000000000000000000000000..943f7f8532dc838470828250ffbeb26f70e0c292
GIT binary patch
literal 1024
zcmeIx-%C?r7zgloIcbH&Q7gh9!CLJit0@T?3VC7n<4TDjqd;#8qMP)hn=ahuNkIuM
zf?X6i!lTCvTM|VzqG3Na&@v*dbk5CEr#t&`wzG5Iz3+S8-t%8{(Zh!?&vW<iz;otY
zYs1N|W>5xH0PJ>qM@NVDq)HW!8m1ho=zwp#Q1CX-^8*6|9*@WC^$LO@ilX1|N3(AD
zYYZ)o!NqYL7I1h1g~h`16pB1Ga^)FboyO7WP$(3ML`eJtiGN~HVvcNvur#kr^C<b9
zWEMzzfyh4@EH9x<7|9VLFY3AFSS%Kg#}kQ!BuU9+5@%PC97WkxU5Sz0D$4%B${Nb8
z>&kCE&#W<6+0fMuoZlqs7J-tUXX7SA;TBR;M3bntMWMtR0#mdgQN%JO%QDu|SYs(;
znAQtviZX@*%PfXDq$#AJu$~}=V3i_8M|p}>j5LBFAy7veC6FN)QQd$sraGaNF$(;z
zfBphiXf^@R1CAJ*8b1LnVX$tgI_nz^xGm*}uLOPGnSRc8zDW~e?+5oCztI$I34U}}
z3wI9wC<^qCm@6B4OEXSapTo=zb9FP$>K&D{oh#935ddYATyGcP`^(K1-$>8Bq2l@q
zy@cCs-Dx^-j00b5UBI&Ka{c3STVRO4AljRp56#<6hxXce@S^qGc>5mV;$STg$|_3w
zE_tFgS4}6nlZjVtrnXT>>1)pCY%X?n@7musnQI<?RMY-BU>)t{?>63iK5@$ye9&h-
c{iV*;*%FwYK6TA`|IN!(<emF^i3K$N1>`W0iU0rr

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/window/left-corners.png b/static/extjs/resources/images/slate/window/left-corners.png
new file mode 100644
index 0000000000000000000000000000000000000000..29fcd3b56d232b104da75f0e5902b403a8d4939a
GIT binary patch
literal 432
zcmeAS@N?(olHy`uVBq!ia0vp^Yzz#HIvhZf;X%)#H9$(I#5JPCxhOTUBr`uxAtW<5
zl_5MeMZwTQ!K*Y!!N|bCT*1J^%Gk`x&`?3wz|_Ft(7Qt$fcn@=Jbhi+uX779a47f9
zkUk6);w<opEM{Pks{mof)2o@~fr2dQj=qiz3>*8o|0J>kEob+1aSW-r_4cNB-XQ}4
zwuJt|2|GA;>uH6qh;C^RR`}W{vq<~_gN~Nj+FcA`u_3yh#y!q+eBy%mKJasu{V_B?
z7Cm`lM9%$ni9SNpC$M;1ME<F)sxzGyW03Y!sj_Rkz`gW-&cK7BPb#C<O<uG4+=<_f
zwNcZmOja3h^4Wf2>7^M7J9cX4my~#wDw^dpKi{|C{n!8N^9z6491HQ>{K_NgvsugH
z75{dfSu4pA?tk;e&yJq7Lo;|bX-&<VVG*4-?djqJyE6Yr&aF=`m6e>ES5a}lK18&w
z4Cpazpr`#<?UmC-=J^M{Uw^sn)|%zN+>f@#?vTx$zKc2gb+mfsdByJ_eV(p<F6*2U
FngFa}pv?dP

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/window/left-right.png b/static/extjs/resources/images/slate/window/left-right.png
new file mode 100644
index 0000000000000000000000000000000000000000..797c0eb60d1f31ab776de4097b491099c14bf926
GIT binary patch
literal 160
zcmeAS@N?(olHy`uVBq!ia0vp^JV4CK!3HD?t9bQ+6nlxMuPgfvP9{+m<AbI3#y}y?
z0*}aI1_rqb5N15Rnpqww$dc~p>&U>cv7h@-A}f%u@9E+gQgJKUq>%T2LPFBX4e8JG
z+KhjP-%mWiWaBIx`lVM_vh4khqX&*SC`q(PG04p3p0a1lHIV%bp00i_>zopr06thO
A@&Et;

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/window/right-corners.png b/static/extjs/resources/images/slate/window/right-corners.png
new file mode 100644
index 0000000000000000000000000000000000000000..314da072c5cb77ee0fc57b5c0c503fb5c09de8ce
GIT binary patch
literal 459
zcmeAS@N?(olHy`uVBq!ia0vp^Yzz#HIvhZf;X%)#H9$(I#5JPCxhOTUBr`uxAtW<5
zl_5MeMZwTQ!K*Y!!N|bCT*1J^%Gk`x&`?3wz|_Ft(7Qt$fcn@=Jbhi+uX779a0t5j
zdpQGzI14-?iy0W?DnOX=^lD~#pdd@Sqpu?a!^VE@KZ&eB%auG`978H@y}h~D@34UY
zd%<nXrid95lG<!6(#}i$I1U~;b&T2V5vSG0MO>YYt&F7$lNvbLSS-GMeN-dhuJ@Mt
zkG}Jx-#^dw8N2!Gt+(I8;vEqkrD`}^th%JaCQOHUt<#fvr(gZ^Ja@8rnn|%h?kmYB
zd#CQ1R>M2<=Bk61^30~9Z*n3Qob=8y7frnxzlb|C^>82CPp&y$t{GF=(k~ylxAgi3
z`};4uzE4-5`EK{-8}hQI?m@cun%6C|>ih62%01yq*Mj|jKP(e{+4NuQkXd#7-qxO;
zB@ycwB~D#V|N3p~<!_z8F8+Ocw%FRja<5gyZf#%?U;zom3;x-!;5esuZt;=VN&mFB
k&ykaV*Ead{%`G=#nap+5&MwU^;05XPboFyt=akR{08Bis)Bpeg

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/slate/window/top-bottom.png b/static/extjs/resources/images/slate/window/top-bottom.png
new file mode 100644
index 0000000000000000000000000000000000000000..e1dab98947c0c46d3ec87274c22bd49d9d36aee1
GIT binary patch
literal 294
zcmeAS@N?(olHy`uVBq!ia0vp^tPBi{Ivi|37WeMT^+1Zf#M9T6{RStKsG6yi!j2Z8
z5NCl$WHAGSTm=X-o?gu?4-{lccl32+VA$Bt{U;G<2*XxS7srr_TW`<XavgFIV0|#x
zLLu((sY5{<HVVD{!g24qla7u}!`zNmsitFddlyYm`rIWF_DM`^TEDry_T;Bp{Jo2t
zA6i)WoU{ph`SPMp<C3WglF6(BUwYCu$oR59Wz>zgdnf1LZu`SpN=1opGeh6L^;^8Q
zx${1X4P{Kb^|eB$YP;I0pHVq=d(<a-s0eksC?Qe*`Ip*9#mri9`RAL@9T#6|-Oasz
f-!5{w-#&)B=Pa|!&dP`YJ;31U>gTe~DWM4f$oy)$

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/vista/basic-dialog/bg-center.gif b/static/extjs/resources/images/vista/basic-dialog/bg-center.gif
new file mode 100644
index 0000000000000000000000000000000000000000..7bf4a4b41d57c4889b8551cbeef72cd4d432e24e
GIT binary patch
literal 865
zcmZ?wbhEHbWMtUD($2u3udi=oW8>=T>f__%@9)nr3PwX<B!z(DPZpqe|1;=-JPpbd
z3><b0oE$P98x|aF<`CA3Ik92k;dTLKuQ?tY7ai@EFwVMjV&mfD{R+-qGM<~3oSdu?
Xyej78rlqH+8)&i#7%(_EFjxZs=U60v

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/vista/basic-dialog/bg-left.gif b/static/extjs/resources/images/vista/basic-dialog/bg-left.gif
new file mode 100644
index 0000000000000000000000000000000000000000..94b1dafc7d708463f8998c4fc5d6cd4b9940a7ef
GIT binary patch
literal 1039
zcmZ?wbhEHbWMP=g($2u3udi=yZEa&?V{2>c;Nalv>l+dlnU<FJ|Nno6Q7{?;!#xBP
zf3h$$FmN#FfIJGy6AT=07#Kw?92^uJn_1b_Y*q*?JlrNA=@sMg@u5q%sB+q#6@rV8
z_bFI*-SPPJ*kiJ)^D>*2LQ79iGl)DD<N5ii&ur7=XM0u(FF!xep_1#a=a=UJi(Q-5
zY*&e_yu2)6rdO=j*OwuyLl>v*T_w8u`nrUjU3a~{y^h$NdU%=bYO%Gqw-wwx73=-|
zZOrb{$Itez7GHmVU&BwXd)`0ZCme2NR<~OtvGMV-36kD%K0iOEoSv$jzHg1>=I7@Y
zSa#p@`Sm&D@>1vJc59`!zP`30@^qZ<@2@$xw<bT|w^n-l`+EoYr8oo*FfcGP2{1?`
NFf<l1FfuY&0|21Rgv|f|

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/vista/basic-dialog/bg-right.gif b/static/extjs/resources/images/vista/basic-dialog/bg-right.gif
new file mode 100644
index 0000000000000000000000000000000000000000..6dadaf683e0cb584d9eca292808102b194873dda
GIT binary patch
literal 1039
zcmZ?wbhEHbWMP=g($2u3udi=yZEa&?V{2>c;Nalv>l+dlnU<FJ|Nno6Q7{?;!#xBP
zf3h$$FmN#FfIJGy6AT=07&v7#7#tKFn_1b_Y*q*?JlrNA=@sMg@u5q%sB+q#6@rV8
z_bFI*-SPPJ*kiJ)^D>*2LQ79iGl)DD<N5ii&ur7=XM0u(FF!xep_1#a=a=UJi(Q-5
zY*&e_yu2)6rdO=j*OwuyLl>v*T_w8u`nrUjU3a~{y^h$NdU%=bYO%Gqw-wwx73=-|
zZOrb{$Itez7GHmVU&BwXd)`0ZCme2NR<~OtvGMV-36kD%K0iOEoSv$jzHg1>=I7@Y
zSa#p@`Sm&D@>1vJc59`!zP`30@^qZ<@2@$xw<bT|w^n-l`+EmC**Fpy8X6w4@$fJ-
NFfbIeFfuY&0|0h2g?a!0

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/vista/basic-dialog/close.gif b/static/extjs/resources/images/vista/basic-dialog/close.gif
new file mode 100644
index 0000000000000000000000000000000000000000..4278db9835cf57d9c0e759204d9b7d2add221dc0
GIT binary patch
literal 350
zcmZ?wbhEHb<Y(Y#xGK*O9v+^Ol9HB|77`LtS67#uoLpL38XX<|>C>mi#>VpU^3c%G
z*x1;Lii(nwlE}!&va+)3>gr#=ekCO(J$drP-Q7JuKR-S`-rnB6y}iAusj0rczPPy9
z$jInF5HK)UTU#^G5-9#;VPs&CXV3vz0`e0BTlE3|bPpXN`vvW3Cv&po6fUT3Tp6|Y
zipKGSFRS+6$yi{pP(v+)H8qICg}=M8HEH5y_HJj9fS23?f*ee>q72m%9TL1kyqywl
z3Os=d;&K9V;*%#SFa=JXIX`f&f>@x)%y}Y#OBLAM*0Tk&taoEclH9R#mt>yD<oyTa
H9T}_v#`a!Z

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/vista/basic-dialog/collapse.gif b/static/extjs/resources/images/vista/basic-dialog/collapse.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b07e297e5c64370fbe4cc8c0a57e89c10e1367e6
GIT binary patch
literal 333
zcmZ?wbhEHb<Y(Y#xXQo~9v+^Ol9HB|77`LtS67#uoLpL38XX<|>C>mi#>VpU^3c%G
z*x1;Lii(nwlE}!&va+)3>gr#=ekCO(J$drP-Q7JuKR-S`-rnB6y}iAusj0rczPPy9
z$jInF5HK)UTU#^G5-9#;VPs&CXV3vz0`e0BTh;;pbPpXN`vvW3Cv&po6fUT3Tp6|Y
zipKGcZ>@IR%~)WdIQ!&Nhc6o>w%pJCuE@3G#`_;!4Sg?v|Cgv%;0a`FYiA2=QD6$>
r=%2t5*sCBGIDJOoGzB)dd7TO@^W0dHB$uyPDVgOlbDe^`BZD;ne9vIC

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/vista/basic-dialog/dlg-bg.gif b/static/extjs/resources/images/vista/basic-dialog/dlg-bg.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1a466633d70ca1475db2c11061d37911e3b7205c
GIT binary patch
literal 27857
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

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/vista/basic-dialog/e-handle.gif b/static/extjs/resources/images/vista/basic-dialog/e-handle.gif
new file mode 100644
index 0000000000000000000000000000000000000000..48877e748d8fd70185e08c4847b16c932d653664
GIT binary patch
literal 995
zcmZ?wbhEHbWM#O(-p&95YgWws|NlRjIZBL%z{m;##h)z9ARp_12vDA2;5fj*$RXpg
zVZp&>4q>gB6B`yDZWmDYn&Yu?(a~-R<E%R;HZDHiui)Gz<GE?c$;leQt71-WT6%iA
zLGr0No|~7Qoo!M4>dwi{%g@huXy%gj+Op!}VvosMv8T4Iyu3VMvDaL$t*frCj@X=a
z_te(a*ViW;?uwOCIB;MS6C0OD_J%h%8FCoc*uDr;h}v4nd5yIo{K1`#4b0qfK07u%
yJlr9y9d~BO#>dAeD0|QI*}3WI=^4h^_s;Cx{QUd^=WaRQU0YsWp32O`U=09jY;5ZQ

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/vista/basic-dialog/expand.gif b/static/extjs/resources/images/vista/basic-dialog/expand.gif
new file mode 100644
index 0000000000000000000000000000000000000000..5b4b0d1e950e34f602f5227eb7e0fa9d707953b0
GIT binary patch
literal 351
zcmZ?wbhEHb<Y(Y#xXQo~9v+^Ol9HB|77`LtS67#uoLpL38XX<|>C>mi#>VpU^3c%G
z*x1;Lii(nwlE}!&va+)3>gr#=ekCO(J$drP-Q7JuKR-S`-rnB6y}iAusj0rczPPy9
z$jInF5HK)UTU#^G5-9#;VPs&CXV3vz0`e0BTg?IgbPpXN`vvW3Cv&po6fUT3Tp6|Y
zipKGWFRS+Q`I!WK2soF)wMd{tPORgo!@ddCV(l6WnpXVyFDfL;P$eNJ(a|ZvA<?41
zqaYMGIgq12kV%1qBNJ%QOa(CoHW@Ynf#qy$ivro)Hmp%#+2F>KEV*;nZpmDaDF-IY
IJ2F@U0DGff6aWAK

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/vista/basic-dialog/hd-sprite.gif b/static/extjs/resources/images/vista/basic-dialog/hd-sprite.gif
new file mode 100644
index 0000000000000000000000000000000000000000..3c2dd632dd60f2fbd55ca74969053abcb40a0b89
GIT binary patch
literal 462
zcmZ?wbhEHbWM-&lxT?fpXlNc46>n&0rmn87t*x)GZ=$BAZDeGTpI@S_ZJ?^EnV6WC
zk&zP{o0OH6UsO~c78b3ksjH@@rK@XXVq%q&l9`)ZWNK<XdGhSQz)&3>Lk$fb0|QfU
z?*KhLV=XN`V`EDrBlG|N|1;1ADE?$&WMEKY&;c0_@)HBw>jMEEEhk&#`URK-H$^z{
zxpy4o2-RA6ROw1a3sa*2i_oi*Q_oMUx-4vQSWy0_K!A&}VS<Ceqk>=ctgMQ1axHDb
z!irK--MyTgiYzRO^72!s3koVqOV63d%&f@9rYIz&$i?McCMn_W>Fw(u7#tcN866v+
zn4GacD<`j@NU@|$v7)M`u0gS>{bFa|l?jukOq-!NYyRDZi<d56x!OtMnFqf&ho4v=
zUkFdQXcTuWZvtboK-wSKEb&~81Cks~esirWzHxjwJfV33Q>#*yhe_i^SKbLiK1vBI
ZAG7-kT6NwL$YRiBUaqntNPvaG8UP8Kc8&l5

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/vista/basic-dialog/s-handle.gif b/static/extjs/resources/images/vista/basic-dialog/s-handle.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c13c9cdc0561773f3684528ca64dc6286eeda5b5
GIT binary patch
literal 992
zcmZ?wbhEHbyui-N(9Qq?YgWws|NlRjIZBL%z{m;##h)z9ARp_12vDA2;MmK+$RXpg
zVZp&>4q>gB6B`yDZWmDYn&Yu?(a~-R<E%R;HZDHiui)Gz<GE?c$;leQt71-WT6%iA
zLGr0No|~7Qoo!M4>dwi{%g@huXy%gj+Op!}VvosMv8PJX8yJ}8yR~vTWL;hzu{rDR
zsjaK8uTMDKCF{Ly&CSgjmsiD}{=Bkb72~~Kt-q(Oy}P^O^Q*h3x39myzk!)s&S%Gl
v#F<R5)Wmj3I6OW)LD_qr&(2LxPtP#UzISHl=I7@ZICsnW?%Hy;fx#L8uEB2p

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/vista/basic-dialog/se-handle.gif b/static/extjs/resources/images/vista/basic-dialog/se-handle.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c4e38a2f4b416ae6be8390d665e04660be23253d
GIT binary patch
literal 833
zcmZ?wbhEHbWM^P!XlDR{H7jQR|NkG%93@6WU}S}W;!hT4kdJjh1Sn51aL6$*a_|T^
fEO2aM;^7jRFhPN#ou8S*VTXaDb1N4!6N5DXkNFPS

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/vista/basic-dialog/w-handle.gif b/static/extjs/resources/images/vista/basic-dialog/w-handle.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d59eafc2076a5a40099bd26d7457a73ba9bc9ac5
GIT binary patch
literal 817
zcmZ?wbhEHbWMN=oXlG#1*VlJ&aPal@O-oB-7zLvtFv3DW@h1z=$Nw30K>h~h2?h>6
U21X7E0S5)gW>$7K4h{xu0Q^P?w*UYD

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/vista/gradient-bg.gif b/static/extjs/resources/images/vista/gradient-bg.gif
new file mode 100644
index 0000000000000000000000000000000000000000..8134e4994f2a36da074990b94a5f17aefd378600
GIT binary patch
literal 1472
zcmeIx`%jZs7{KwDTLnZd*hMh7R3%&{VK|xh5d@TrMjeTpnq?_&b8`}Bh(kowLJ^R=
zwLrP_Mz6F*N-1{`N?)K@6i}uD1>V*|OIv8)A|*;9JN<2c#7;i>=A7rpCpmEmrw$)U
zc7mcXc@UIVGnG~gOy34*)9Li-becMyuD$~>)ERVj219+9F_Xbm-(}8ZvefrjGxzFd
z?gQ+Z2W-&U2kcoQXO_sF&Em{uap$rD-W-Vsija6n4j*~Q*W?J0hYp%tpk9;bpv@I(
z@`Tz)B2B(fn=b+vZGl)@(4Z|8YYQ8+MGfzZp1v;z8bNg>jk*$vu2iBclgyVj>B^es
z9|O{PvUGvmyzs<9PmwK9WcqTTMPJ^kuV~R%wCXE?Ha*qBP}OFjwi~K|4nuYOVl`;T
zVhzx_SPOK48f&|ZG@#o^cQDa=jErs*qsPQ}W@7f3n4r(hETGq1*K1~j_L<p$+{|%U
z;`W=l{YyMRvBXy_^WkNIgGDf~Tt8qD0)rOOkVQ0T6%AR%fYREaL>q?Dr%LqcFxvPW
zut}by5*6B{LZvEO(+Ju$Vv_<dY|RcU%`a`T7b~)tD=nidt)rkHT7j_-ZNT`4_OaFW
z@zsu3fW7n8YA5JxdlxWa@19ue`Nt0ZfBv(9-5*`SYXb^(%p89La^HYXd*I@QOgV||
z^OgS>!sOuZvAc4ePkK}Mg^X|R8{wv3g3jV&Qm0~*o(w;!4zGtP^}q4TE3f=4jcq2s
zNTj41IT7{z(FAgK^iIzZ@_2j+Ir8!+!Q<EbV&8-du@}bcM31C_(QwPYx){PXzn!Pw
zoM$!vvDy2ws-le9M$&Hej6H;9cBQX;o?IU)or@&8tZ8DXqjW|7n&HyO#dGwbJInEd
zF@B{q6?JK1@(jOOKYD8+|I6><N)}(IY6T@Lyl-pY-c&2;OT6NxgDI(|t8Cs{^<3Xu
zjvpOUj2=*qQZL;Iyi=tgQx#Q3<`(_E|J^{&<Y(^sj&P(We`D<xH*-grp-nKCO)soi
zyDU}qMsIjltgkj+ocxPhun_{CJuyH`!Udnixkt0`xN{K(n1nqlhjY$EBqwjjg|Rd~
ziMOb59zHM&&X4y`);@~!WnJ+OZB=Tq;Xb?fdPh(A!o`O%PH@R_XH-!dh51O@7W-*T
z@i^WtQIL;E43oB=U%<~(jv$2j@*ifI+$}$)U5nX5coU_d9-v%Xs5+oz^1Q-jeu|p?
z-FSWN*X;y7ElkYR)Az}cpv^>#r@%9(ju7k_5|Ghf7eqx2?7%YoH4jP!wx7HA*Q43)
zwFOW=pP6ly3pn=?dHpWVl+z~h4aA7q3Dbmfk>A9h*D=1j0=ZkaJtNDl4|Dy58=OQ4
zb=w|rEX#G|6q4dPk_gFV6VcYbmUmazi7x6i6Xb&As-j$U2PJ(S9-JDYvw05^=DZ2M
z-q(%65iC7!Sf=Hfs~2MFb#cc_ASYbPO$Z9ewDx-)GFuhcxKI?v{g{Fd`2H?N2mNoG
a(II?Zs7)DAnPM9b=8J95L)rdV=-9sjoxm#q

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/vista/grid/grid-split.gif b/static/extjs/resources/images/vista/grid/grid-split.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c76a16e95997a487ee9cd1675ecdd99bd2f37c17
GIT binary patch
literal 817
zcmZ?wbhEHbWMbfDXlGzpvts7||Nj|A!DtAK$PiHc$pZBEe+C_p??HKjfrF2Mkww6x
PV8OvA4t_Qc4hCxg>zoX)

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/vista/grid/grid-vista-hd.gif b/static/extjs/resources/images/vista/grid/grid-vista-hd.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d0972638e8305d32d4a2419b3dd317f3c8fd3fe2
GIT binary patch
literal 829
zcmZ?wbhEHbWMmL!XlGzJe){5xGZ#;uy>#l_<<sY{oVjrI?8R&6FI~TI`NqX7H!oeg
zb@}@3`;VSHeDdt^vlq`^yn6BK&8s(W-@JSO{=>(QpFT5;g3%Bd$|0cmlLhGf{|q`H
nPk{0S1BVoYrq2Wc#zV~Pyb=r?3JDC2Ol*7#9t#p29T=<uoNGWJ

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/vista/layout/collapse.gif b/static/extjs/resources/images/vista/layout/collapse.gif
new file mode 100644
index 0000000000000000000000000000000000000000..cbd6e081cf7a213a8e57a3096631c5e1231da477
GIT binary patch
literal 842
zcmZ?wbhEHb<YC}uXlGz>`0w!X<41;3Fd70QG6WQVvM_@@t^*=Kd4hpMoq>@<#$&^R
ngUt*~JRuPV49@Mm@<uTl9~F+Y2y@2mxly2as9&C$iNP8GvV;_C

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/vista/layout/expand.gif b/static/extjs/resources/images/vista/layout/expand.gif
new file mode 100644
index 0000000000000000000000000000000000000000..8103c0dd7bee8904c73480b549fcca92c120c4d6
GIT binary patch
literal 842
zcmZ?wbhEHb<YC}uXlGz>`0w!X<41;3Fd70QG6WQVvM_=?t^*=Kd4hpMoq>@<#$&^R
ngH4QVY9<m1iHDo{8C_gn6f8W{CBo_#a^mBH<NYkmObpfl(@hpN

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/vista/layout/gradient-bg.gif b/static/extjs/resources/images/vista/layout/gradient-bg.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d311e7de678b9b299180cc43fd0e27aa094089ad
GIT binary patch
literal 1202
zcmZ?wbhEHbWMpt)YiD41`t<tKr#GGf(K8^r`5cIz1JSJ)K=cBLZodSgmq2vq6$ssZ
z_3G|x5W4sJ^}RPBbpOp8AbRi?h~5Ix!*@XR4u~GT2cgIB-#`8ULQg(?c=8d1o__rJ
z^b-g@`}FDAXApYMFbYOPV1PnE@h1z==Kl;jAp1dif`Q{d10#ow$A$$5n>mEVcn)kx
zWMC9f<eTBKanaFk3FE9gCpId(GbuQC$yjb`I5}A(SSsS=rlqH+8zi5aqxrev>}-qT
zS9f*_H=dvG(9GpJVZn-vi#;Z5#qJ7eyu3VMvDaL$tyx!CBQ|H<J+)Okj4k1Cm#p-*
z#+#cnF0YC`y>0F7?R<|;&Gp{C?(S~>Pfj;ZZ(o0Ze*-hOoKHkS%i#`T?J%8%8y_E^
zpzJ-*Vdti&r)L;v-#fF@xb^%3`)~>0U0YsWUJ<-nEqCG8*Vi{BpPuI{{jK%(j{M{s
zXLoOZfB!%;x4fTC^T)?0CTqv9Te$P{^9u{}XZY>i_4W0Q&Dr<Q#ag$&mp#<oFYmu^
z&(F_tmsZE0-?#Vo_YaRx|99BG@9*!gjxX+?-@pI=|6i>N4;om+G9EN?s6{N`;4ypg
zpjp68V_}PONXElfi8Ko)PMNY758D;mB$7B)re!?p)L6FSQJ2oTj6>Z9$21;unq13x
y+-tsQ!Q(!gZ!aGAJFsa!nc%`V^Uy^1RSTX>(pvN2$>abx&8JgB!X#527_0%M<4zp_

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/vista/layout/ns-collapse.gif b/static/extjs/resources/images/vista/layout/ns-collapse.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f2ad235dad390e71a096e2e943ade1f22c1de113
GIT binary patch
literal 842
zcmZ?wbhEHb<YwSuXlGz>`0w!X<41;3Fd70QG6WQVvM_@@t^*=Kd4hpMoq>@<#$&?*
n$7V)8E}jD)5)QYqC^Aiu2z=<$#VoJZv*Y8Uqy4PRObpfl%OVxB

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/vista/layout/ns-expand.gif b/static/extjs/resources/images/vista/layout/ns-expand.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0817ec66fd410022c495adacc4855a4cc548ce0f
GIT binary patch
literal 843
zcmZ?wbhEHb<YwSuXlGz>`0w!X<41;3Fd70QG6WQVvM_=?t^*=Kd4hpMgMpDl#$&^R
ogN=+#3Lzc_iVW>+!bUb08y~uKaLb3q?AZA5V7~%88w-Oq0L1MSzyJUM

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/vista/layout/panel-close.gif b/static/extjs/resources/images/vista/layout/panel-close.gif
new file mode 100644
index 0000000000000000000000000000000000000000..4e96481a1fdb16a6f332ae06e138f15ac24fcc03
GIT binary patch
literal 829
zcmZ?wbhEHbWM^P!XlGzZj0<)6@9^Z&RfbV88UiCP1QdU=Ff%YPGU$N34$2b@98wI7
f92^b-4GxWrJbWP?8xjt;u!}3DSX@YSV6X-NNAwV)

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/vista/layout/panel-title-bg.gif b/static/extjs/resources/images/vista/layout/panel-title-bg.gif
new file mode 100644
index 0000000000000000000000000000000000000000..681f517a3c2e78c59a0a066e72c9d98c89bd5798
GIT binary patch
literal 888
zcmcJOT}V@57{{M|>C|cSy*d<uneOZC>zr-6X~>bt5B8-OE?rwTx5*riBXgoz#9DzP
zf_73c5W<LH(9Ix&pqoJi>mu@^K&s0wVo7-u6twKw`k<)WUe1B%Jm>kn&;S4MzJtR9
zc1K788dw2fm~Ov+l3}{kYMQ1^CX-dAqFL6?^C_A(cXnz+q3Kv`HW-|W$N6M((dRp*
z)f!YPox#9btv!**Od^rA*?L!3H%3Rt^m<04(VNXSr*p(;wCHq3i^ajR-TV9d@PC%j
z;31yZV(1{Q5`b9f&sFvyr<4)r95y5_F87`i8s^sD6oo!s=$ituoOsj3J1#VwsIp#t
zm332pvc(#k`xm=Sym^4EP<L0Tdso(d0@xz%_FDaT7(l3J0jO}39OK=58*!QCkR_f}
zb*p+i&H)R4XQ4%jEJ(LNl=?0SLidUD3w9yiV@MJ2HUMgN37m1cxj@_<KkRTH1nwcC
zm0f_e2=xODg+)srPwru|5#&N&7Q_cJ{?&8>KdMWC?-j@*h`S-U+>DN*J#c&u0_Z3T
z@f3suFuwq24KT9=(Ey~%rUDQ1Nmz*1ei8TDPqUJ6J%#bto2YHJY<fVvg}=>KUSU&3
z<>fY35_b^=2(r>{o+6&Bf@~DWCCCyuuG-U4*6pDYbd6%t)D0{qBWJ1^<J#NOI6y0i
z;Atv`Nvs(d9+ZR}FW?-*z@*==?qcv9TTLdGR`I;uOw%E4XDl{76$~c%xX-s}z~ie^
zS*`3$Bw|Y@j(nC%0NO#1U7&g=Kt2YH{5+?;*xw{Stces0nMX3^p&<p=nt9wpSx)Z^
z-8!1R)^;GP=qKr6k;ah^Ol;m+SvRXo&$)ZknGI?3!p;**=2<g$sfCJf<}crFyj~}T
F-fteq^Hu-=

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/vista/layout/panel-title-light-bg.gif b/static/extjs/resources/images/vista/layout/panel-title-light-bg.gif
new file mode 100644
index 0000000000000000000000000000000000000000..23d8288b0d3505deeb0ce924a552e2306e9ef14c
GIT binary patch
literal 846
zcmZ?wbhEHbWMnX6XlGzJe){5xGZ#;uy>#l_<<sY{oVjrI?8R&6FI~TI`NqX7H!oeg
zb@}@3D>v?3yLtEet$R0a-@ke1!L7RwZ{K@#|Iw3&Po6z~_Tt%#S1(?@dG+S)n|JTu
zfB5+E)924$zJC4o{l|}=45MH)1O|5qDE?#tI`BV(4#=6HJi)-B&0t&dV1uJG8;`h7
m$N~dK2L?uF4iSR_21h1VZV8iu4-8H$oC?leGL}XP4AuY#5nmwy

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/vista/layout/stick.gif b/static/extjs/resources/images/vista/layout/stick.gif
new file mode 100644
index 0000000000000000000000000000000000000000..7db68eec95fc77cce1fc4560a257dd0fef64c200
GIT binary patch
literal 872
zcmZ?wbhEHb<YC}pXlDR{>gwvrlP4cMco57R!o<gqABV8(N1Z+pA)xq^g&Ab8;y*Fx
zqSVBa)D(sC%#sX+kc?CXcTe8{1_m9FG$^+)aA-3ya>#gWSa7h}g-^(5MS#M@b^&=k
d6N!%t8@eSVt=4E1Dje_QlWr4PX`sMh4FDiwBDw$o

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/vista/layout/tab-close-on.gif b/static/extjs/resources/images/vista/layout/tab-close-on.gif
new file mode 100644
index 0000000000000000000000000000000000000000..556e905b11cddb4abcacaf2160ff811ec47a894d
GIT binary patch
literal 880
zcmV-$1CRViNk%w1VG95Y0EYko000010RaL60s{jB1Ox;H1qB8M1_uWR2nYxX2?+`c
z3JVJh3=9kn4Gj(s4i66x5D*X%5fKs+5)%^>6ciK{6%`g178e&67#J8C85tTH8XFrM
z92^`S9UUGX9v>ecARr(iAt53nA|oRsBqSsyB_$>%CMPE+C@3f?DJd!{Dl021EG#T7
zEiEoCE-x=HFfcGNF)=bSGBYzXG&D3dH8nOiHa9mnI5;>tIXOByIy*Z%JUl!-Jv}}?
zK0iM{KtMo2K|w-7LPJACL_|bIMMXwNMn^|SNJvOYNl8jdN=r*iOiWBoO-)WtPESuy
zP*6}&QBhJ-Qd3h?R8&+|RaI72R##V7SXfwDSy@_IT3cINTwGjTU0q&YUSD5dU|?Wj
zVPRroVq;@tWMpJzWo2e&W@l$-XlQ6@X=!R|YHMq2Y;0_8ZEbFDZf|dIaBy&OadC2T
za&vQYbaZreb#-=jc6WDoczAeud3kzzdV70&e0+R;eSLm@et&;|fPjF3fq{a8f`fyD
zgoK2Jg@uNOhKGlTh=_=ZiHVAeii?YjjEszpjg5|uj*pLzkdTm(k&%*;l9Q8@l$4Z}
zm6ev3mY0{8n3$NEnVFiJnwy)OoSdAUot>VZo}ZteprD|kp`oIpqNAguq@<*!rKP5(
zrl+T;sHmu^si~@}s;jH3tgNi9t*x%EuCK4Ju&}VPv9YqUva_?Zw6wIfwY9dkwzs#p
zxVX5vxw*Q!y1To(yu7@<y}iD^zQ4b}z`(%4!NJ19!o$PE#KgqK#l^<P#>dCU$jHda
z$;ryf%FD~k%*@Qq&CSlv&d<-!(9qD)(b3Y<($mw^)YR0~)z#M4*4Nk9*x1<F+1c9K
z+S}XP+}zyV-QC{a-rwKf;Nall;o;)q;^X7v<mBY#<>lt)=I7_<=;-L_>FMg~>g((4
z?Ck9A?d|UF?(gsK@bK{Q@$vHV^7Hfa^z`)g_4W4l_V@Sq`1ttw`T6?#`uqF){QUg=
z{r&#_{{R2~A^8LV00930EC2ui01E&M000P00DlP_NKl}>g9s4{d`IWkyNACTy%X5(
zSCwBCFIN1ePMyV%9R;2n`Eleqf#u45yqHp;xQ{O{zWfEQ5lwL5BIf+nt*1|)1%v(y
G2mm|n<EX&^

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/vista/layout/tab-close.gif b/static/extjs/resources/images/vista/layout/tab-close.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0a6f0198775daec8c8d8e40c3ecc0323b1d14232
GIT binary patch
literal 844
zcmZ?wbhEHb<YwSzXlG#X4UZ}=DR%hp(AwYMHF3g$0|)Njz5C$7gC|d(Jb(WD_3PK~
z-o5+y@#EL8Uw{1g@#oK<|Ns9pjDpb+7%m~8_>+a1fq{uZ2jn48o?zh6WMJix@z}87
pU?UF~kIsPx1?N_NZabd}gGC2BxnzU3XiQk-(8liE#lyj14FHl<IS>E<

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/vista/qtip/bg.gif b/static/extjs/resources/images/vista/qtip/bg.gif
new file mode 100644
index 0000000000000000000000000000000000000000..5c0e8c92a810d244a29f21f467b90f5d61fdf0ec
GIT binary patch
literal 1024
zcmV+b1poU-Nk%w1VF>_E0EYko000010RaL60s{jB1Ox;H1qB8M1_uWR2nYxX2?+`c
z3JVJh3=9kn4Gj(s4i66x5D*X%5fKs+5)%^>6ciK{6%`g178e&67#J8C85tTH8XFrM
z92^`S9UUGX9v>ecARr(iAt53nA|oRsBqSsyB_$>%CMPE+C@3f?DJd!{Dl021EG#T7
zEiEoCE-x=HFfcGNF)=bSGBYzXG&D3dH8nOiHa9mnI5;>tIXOByIy*Z%JUl!-Jv}}?
zK0iM{KtMo2K|w-7LPJACL_|bIMMXwNMn^|SNJvOYNl8jdN=r*iOiWBoO-)WtPESuy
zP*6}&QBhJ-Qd3h?R8&+|RaI72R##V7SXfwDSy@_IT3cINTwGjTU0q&YUSD5dU|?Wj
zVPRroVq;@tWMpJzWo2e&W@l$-XlQ6@X=!R|YHMq2Y;0_8ZEbFDZf|dIaBy&OadC2T
za&vQYbaZreb#-=jc6WDoczAeud3kzzdV70&e0+R;eSLm@et&;|fPjF3fq{a8f`fyD
zgoK2Jg@uNOhKGlTh=_=ZiHVAeii?YjjEszpjg5|uj*pLzkdTm(k&%*;l9Q8@l$4Z}
zm6ev3mY0{8n3$NEnVFiJnwy)OoSdAUot>VZo}ZteprD|kp`oIpqNAguq@<*!rKP5(
zrl+T;sHmu^si~@}s;jH3tgNi9t*x%EuCK4Ju&}VPv9YqUva_?Zw6wIfwY9dkwzs#p
zxVX5vxw*Q!y1To(yu7@<y}iD^zQ4b}z`(%4!NJ19!o$PE#KgqK#l^<P#>dCU$jHda
z$;ryf%FD~k%*@Qq&CSlv&d<-!(9qD)(b3Y<($mw^)YR0~)z#M4*4Nk9*x1<F+1c9K
z+S}XP+}zyV-QC{a-rwKf;Nall;o;)q;^X7v<mBY#<>lt)=I7_<=;-L_>FMg~>g((4
z?Ck9A?d|UF?(gsK@bK{Q@$vHV^7Hfa^z`)g_4W4l_V@Sq`1ttw`T6?#`uqF){QUg=
z{r&#_{{R2~A^8LV00930EC2ui00{t2000Qx0RIUbI8dFzg9q0sT*$EDLUs@%Mr=p1
zVnuftGiuzJ@twzyAK{4{NwTC#lkrljR4K2e%a<@+&YMZIrcIjka_ZDsucyzSKz-U9
zO0=j^qW6+2UCLA`zNb*3=8GCNpVg~Z^=aM8wd>Y>V8e<X8<wBhvuFGDLz`BuTetq=
z%AHHMuHCzL-|Ah<wr^jufW>+p>=mnFs)!ReUCi{TW1~SM1Kmmare&KkGs9fT`K0I1
u@IZ?8$gwm=i>NC~T<x%RLxiwnA52HPc5QUHbL-xn`<(CJz=Qt|2mm`M*8IW%

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/vista/qtip/tip-sprite.gif b/static/extjs/resources/images/vista/qtip/tip-sprite.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a1862865d59fd04c0d1c45b26aeb31f157e0bbbb
GIT binary patch
literal 4183
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
E0I-oB(f|Me

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/vista/s.gif b/static/extjs/resources/images/vista/s.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1d11fa9ada9e93505b3d736acb204083f45d5fbf
GIT binary patch
literal 43
scmZ?wbhEHbWMp7uX!y@?;J^U}1_s5SEQ~;kK?g*DWEhy3To@Uw0n;G|I{*Lx

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/vista/sizer/e-handle-dark.gif b/static/extjs/resources/images/vista/sizer/e-handle-dark.gif
new file mode 100644
index 0000000000000000000000000000000000000000..eac9662eade56ad43732ddff31ebe463871c445e
GIT binary patch
literal 1062
zcmZ?wbhEHb<YKtM-p&95YgWws|NlRjIZBL%z{m;##h)z9ARp_12vDA2;P}tL$RXpg
zVZp&>4q>gB6B`yDZWmDYn&Yu?(a~-R<E%R;HZDHiui)Gz<GE?c$;leQt71-WT6%iA
zLGr0No|~7Qoo!M4>dwi{%g@huXy%gj+Op!}VvosMv8T4Iyu3VMvDaL$t*frCj@X=a
z_te(a*ViW;?vnN1w&v#MjLWNHPj6d$dwap-Q**tyue-au;`6J!r?;=azrTT*Th3?4
zhKGkcgtg<&>_~55;E?Bb&`2;ka(p6lgjs~8(zE7Cn)zivZYI2Fo-4gN?(D9uudi=N
zK0VKO_qMmUcND+AcXs#o_xBGpbIbef+41r5iOJgW=l1OU{QSaV@A-avcYS?*V{`WX
Tb9;AxfB)ccH}iKX0S0RTywIF?

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/vista/sizer/e-handle.gif b/static/extjs/resources/images/vista/sizer/e-handle.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f2c9f538243ecbc0364b1afd7287248ce8f2c513
GIT binary patch
literal 1586
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

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/vista/sizer/ne-handle-dark.gif b/static/extjs/resources/images/vista/sizer/ne-handle-dark.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c9c041c45f673735de9f54f7967eddec62cde469
GIT binary patch
literal 839
zcmZ?wbhEHb<YM4rXlDR{H7jQR|NkG%93@6WU}S}W;!hT4kdJjh1Sn51aHudaa>#gW
lSa7hJgPTi$AwlsV10#z=iiLm@LpO)4)SL=|#|Ii1tN|md5{du-

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/vista/sizer/ne-handle.gif b/static/extjs/resources/images/vista/sizer/ne-handle.gif
new file mode 100644
index 0000000000000000000000000000000000000000..942ae825357ebae7f68e5ef818d7ebc5de4c02cd
GIT binary patch
literal 854
zcmV-c1F8H+Nk%w1VF~~W0EYko000010RaL60s{jB1Ox;H1qB8M1_uWR2nYxX2?+`c
z3JVJh3=9kn4Gj(s4i66x5D*X%5fKs+5)%^>6ciK{6%`g178e&67#J8C85tTH8XFrM
z92^`S9UUGX9v>ecARr(iAt53nA|oRsBqSsyB_$>%CMPE+C@3f?DJd!{Dl021EG#T7
zEiEoCE-x=HFfcGNF)=bSGBYzXG&D3dH8nOiHa9mnI5;>tIXOByIy*Z%JUl!-Jv}}?
zK0iM{KtMo2K|w-7LPJACL_|bIMMXwNMn^|SNJvOYNl8jdN=r*iOiWBoO-)WtPESuy
zP*6}&QBhJ-Qd3h?R8&+|RaI72R##V7SXfwDSy@_IT3cINTwGjTU0q&YUSD5dU|?Wj
zVPRroVq;@tWMpJzWo2e&W@l$-XlQ6@X=!R|YHMq2Y;0_8ZEbFDZf|dIaBy&OadC2T
za&vQYbaZreb#-=jc6WDoczAeud3kzzdV70&e0+R;eSLm@et&;|fPjF3fq{a8f`fyD
zgoK2Jg@uNOhKGlTh=_=ZiHVAeii?YjjEszpjg5|uj*pLzkdTm(k&%*;l9Q8@l$4Z}
zm6ev3mY0{8n3$NEnVFiJnwy)OoSdAUot>VZo}ZteprD|kp`oIpqNAguq@<*!rKP5(
zrl+T;sHmu^si~@}s;jH3tgNi9t*x%EuCK4Ju&}VPv9YqUva_?Zw6wIfwY9dkwzs#p
zxVX5vxw*Q!y1To(yu7@<y}iD^zQ4b}z`(%4!NJ19!o$PE#KgqK#l^<P#>dCU$jHda
z$;ryf%FD~k%*@Qq&CSlv&d<-!(9qD)(b3Y<($mw^)YR0~)z#M4*4Nk9*x1<F+1c9K
z+S}XP+}zyV-QC{a-rwKf;Nall;o;)q;^X7v<mBY#<>lt)=I7_<=;-L_>FMg~>g((4
z?Ck9A?d|UF?(gsK@bK{Q@$vHV^7Hfa^z`)g_4W4l_V@Sq`1ttw`T6?#`uqF){QUg=
z{r&#_{{R2~A^8LV00930EC2ui015yK000Ox0I>-iNU)&6g9r(R`}c1fLxQMK{fqby
gBC2o^w-G#NZrs9(1Jj{1N0Feqbmt<5BNz|>J6tuIF8}}l

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/vista/sizer/nw-handle-dark.gif b/static/extjs/resources/images/vista/sizer/nw-handle-dark.gif
new file mode 100644
index 0000000000000000000000000000000000000000..23fced98bfa4e805e9e078fcad909735344b7957
GIT binary patch
literal 839
zcmZ?wbhEHb<YM4rXlDR{H7jQR|NkG%93@6WU}S}W;!hT4kdJjh1Sn51aHudaa>#gW
lSa7hJLy${=AtBL`k&(%PC%{07p_^G&Zcc}Qazg`yH2@eV5k3F_

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/vista/sizer/nw-handle.gif b/static/extjs/resources/images/vista/sizer/nw-handle.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d39b0c38d8994139e389a7da016506e0537aac66
GIT binary patch
literal 853
zcmV-b1FHN-Nk%w1VF~~W0EYko000010RaL60s{jB1Ox;H1qB8M1_uWR2nYxX2?+`c
z3JVJh3=9kn4Gj(s4i66x5D*X%5fKs+5)%^>6ciK{6%`g178e&67#J8C85tTH8XFrM
z92^`S9UUGX9v>ecARr(iAt53nA|oRsBqSsyB_$>%CMPE+C@3f?DJd!{Dl021EG#T7
zEiEoCE-x=HFfcGNF)=bSGBYzXG&D3dH8nOiHa9mnI5;>tIXOByIy*Z%JUl!-Jv}}?
zK0iM{KtMo2K|w-7LPJACL_|bIMMXwNMn^|SNJvOYNl8jdN=r*iOiWBoO-)WtPESuy
zP*6}&QBhJ-Qd3h?R8&+|RaI72R##V7SXfwDSy@_IT3cINTwGjTU0q&YUSD5dU|?Wj
zVPRroVq;@tWMpJzWo2e&W@l$-XlQ6@X=!R|YHMq2Y;0_8ZEbFDZf|dIaBy&OadC2T
za&vQYbaZreb#-=jc6WDoczAeud3kzzdV70&e0+R;eSLm@et&;|fPjF3fq{a8f`fyD
zgoK2Jg@uNOhKGlTh=_=ZiHVAeii?YjjEszpjg5|uj*pLzkdTm(k&%*;l9Q8@l$4Z}
zm6ev3mY0{8n3$NEnVFiJnwy)OoSdAUot>VZo}ZteprD|kp`oIpqNAguq@<*!rKP5(
zrl+T;sHmu^si~@}s;jH3tgNi9t*x%EuCK4Ju&}VPv9YqUva_?Zw6wIfwY9dkwzs#p
zxVX5vxw*Q!y1To(yu7@<y}iD^zQ4b}z`(%4!NJ19!o$PE#KgqK#l^<P#>dCU$jHda
z$;ryf%FD~k%*@Qq&CSlv&d<-!(9qD)(b3Y<($mw^)YR0~)z#M4*4Nk9*x1<F+1c9K
z+S}XP+}zyV-QC{a-rwKf;Nall;o;)q;^X7v<mBY#<>lt)=I7_<=;-L_>FMg~>g((4
z?Ck9A?d|UF?(gsK@bK{Q@$vHV^7Hfa^z`)g_4W4l_V@Sq`1ttw`T6?#`uqF){QUg=
z{r&#_{{R2~A^8LV00930EC2ui015yK000Ow0I>-iNU)&6g9s7+`?qajID-FBp^Au#
f;5LcjBtrZbZk)Mu5G9&JmyTdYROiyE3kU!^<_nt%

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/vista/sizer/s-handle-dark.gif b/static/extjs/resources/images/vista/sizer/s-handle-dark.gif
new file mode 100644
index 0000000000000000000000000000000000000000..ddc2e18ce48da6338fb4e065effd31f769ae3e34
GIT binary patch
literal 1060
zcmZ?wbhEHbyui-I(9Qq?YgWws|NlRjIZBL%z{m;##h)z9ARp_12vDA2;P}tL$RXpg
zVZp&>4q>gB6B`yDZWmDYn&Yu?(a~-R<E%R;HZDHiui)Gz<GE?c$;leQt71-WT6%iA
zLGr0No|~7Qoo!M4>dwi{%g@huXy%gj+Op!}VvosMv8PHh8W@=7yR~vTWL;hzu{rDR
zsjaK8uTMDKCF{Ly&CSgjmsiD}{=Bkb72~~Kt-q(Oy}P^O^Q*h3x39myzk!)s&S%Gl
z#F<R5)Wmj3I6OW)LD_qr&(2LxPtP#UzISHl=I7@ZICsnW?%MM5@`~Wqac6gJeSLjH
z^67cLySKf)y`%W`y|cTwzrTN=nOoj(&yJ6ePfXU1KeuP+=jRs|d(ZdVyX))g8=JH5
RpWD0p`}+se*%(<EtN{*AoJjxx

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/vista/sizer/s-handle.gif b/static/extjs/resources/images/vista/sizer/s-handle.gif
new file mode 100644
index 0000000000000000000000000000000000000000..827c3330a989b89c5ef2ecdc3078326895b290f4
GIT binary patch
literal 1318
zcmV+>1=;#XNk%w1VbBK(0EYko000010RaL60s{jB1Ox;H1qB8M1_uWR2nYxX2?+`c
z3JVJh3=9kn4Gj(s4i66x5D*X%5fKs+5)%^>6ciK{6%`g178e&67#J8C85tTH8XFrM
z92^`S9UUGX9v>ecARr(iAt53nA|oRsBqSsyB_$>%CMPE+C@3f?DJd!{Dl021EG#T7
zEiEoCE-x=HFfcGNF)=bSGBYzXG&D3dH8nOiHa9mnI5;>tIXOByIy*Z%JUl!-Jv}}?
zK0iM{KtMo2K|w-7LPJACL_|bIMMXwNMn^|SNJvOYNl8jdN=r*iOiWBoO-)WtPESuy
zP*6}&QBhJ-Qd3h?R8&+|RaI72R##V7SXfwDSy@_IT3cINTwGjTU0q&YUSD5dU|?Wj
zVPRroVq;@tWMpJzWo2e&W@l$-XlQ6@X=!R|YHMq2Y;0_8ZEbFDZf|dIaBy&OadC2T
za&vQYbaZreb#-=jc6WDoczAeud3kzzdV70&e0+R;eSLm@et&;|fPjF3fq{a8f`fyD
zgoK2Jg@uNOhKGlTh=_=ZiHVAeii?YjjEszpjg5|uj*pLzkdTm(k&%*;l9Q8@l$4Z}
zm6ev3mY0{8n3$NEnVFiJnwy)OoSdAUot>VZo}ZteprD|kp`oIpqNAguq@<*!rKP5(
zrl+T;sHmu^si~@}s;jH3tgNi9t*x%EuCK4Ju&}VPv9YqUva_?Zw6wIfwY9dkwzs#p
zxVX5vxw*Q!y1To(yu7@<y}iD^zQ4b}z`(%4!NJ19!o$PE#KgqK#l^<P#>dCU$jHda
z$;ryf%FD~k%*@Qq&CSlv&d<-!(9qD)(b3Y<($mw^)YR0~)z#M4*4Nk9*x1<F+1c9K
z+S}XP+}zyV-QC{a-rwKf;Nall;o;)q;^X7v<mBY#<>lt)=I7_<=;-L_>FMg~>g((4
z?Ck9A?d|UF?(gsK@bK{Q@$vHV^7Hfa^z`)g_4W4l_V@Sq`1ttw`T6?#`uqF){QUg=
z{r&#_{{R2~A^8LV00930EC2ui0MG{t000R80M!W`NU)&6g9sBUT*$DY!-o(fN}Ncs
zqQ#3CGiuz(v7^V2AVZ2ANwTELlPFWFT*<Pf%a<@?%A85Frp=o;bL!m5v!~CO=7I_x
zO0=laqezn~UCOkn)2C3QN}Wozs@1DlvufSSwX4^!V8e<XOSY`pvuM+*T`Lq7s-SM+
zzBLz@t=+qL^XlEpx3Ay7fCCF2Ot`RNuHh0ZUd*_$<HwLAOP)-*vgON|Gi%<=xwGfb
zphJruO}ez{)2LIcUd_6->({Vj%bu;+?Z0rgaihAOo3`)Yz=I1PPQ1AB<H(aMU(UR_
z^U>U*OP@}?y7lYWvuoeZy}S4C;KPgmA5Xr#`Sa-0t6$H)z5Dm@<IA5<zrOwZ`19-E
zKmFgo=>7rtA2$K=XW)SdCaB<o3^wTCgAhh2;e-@cXyJO;WT@eW9Cqm8haiS1;)o=c
zXyS<|rl{hIEVk(4i!jD0<BT-cXyc7I=BVS2Jof10k3a?~<d8%bY2=YeCaL6-Og8D{
zlTbz}<&;!bY2}qzW~t?tTz2W@mtck|=9pxbY37+|rm5zdY_{p<n{dV{=bUubY3H4I
z=BekNeD>+*pMVA`=%9oaYUrVeCaUP7j5g}%qmV`_>7<laYU!nzW~%9?oObHzr=W%^
c>ZqiaYU-(|rmE_ythVavtFXocie*3mJC`c7>Hq)$

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/vista/sizer/se-handle-dark.gif b/static/extjs/resources/images/vista/sizer/se-handle-dark.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1a678e67fd6edad35c463cb6d96b05fc9d6e89c8
GIT binary patch
literal 838
zcmZ?wbhEHb<YM4rXlDR{H7jQR|NkG%93@6WU}S}W;!hT4kdJjh1Sn51a40h{a_|T^
kEO2aQVU@Aba8Nwd#3HWdvtxrILpQf^)}0fD$qo$G01f&Q?EnA(

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/vista/sizer/se-handle.gif b/static/extjs/resources/images/vista/sizer/se-handle.gif
new file mode 100644
index 0000000000000000000000000000000000000000..69b5a9ed5b1347e0f0c373a93f3017aece628727
GIT binary patch
literal 853
zcmV-b1FHN-Nk%w1VF~~W0EYko000010RaL60s{jB1Ox;H1qB8M1_uWR2nYxX2?+`c
z3JVJh3=9kn4Gj(s4i66x5D*X%5fKs+5)%^>6ciK{6%`g178e&67#J8C85tTH8XFrM
z92^`S9UUGX9v>ecARr(iAt53nA|oRsBqSsyB_$>%CMPE+C@3f?DJd!{Dl021EG#T7
zEiEoCE-x=HFfcGNF)=bSGBYzXG&D3dH8nOiHa9mnI5;>tIXOByIy*Z%JUl!-Jv}}?
zK0iM{KtMo2K|w-7LPJACL_|bIMMXwNMn^|SNJvOYNl8jdN=r*iOiWBoO-)WtPESuy
zP*6}&QBhJ-Qd3h?R8&+|RaI72R##V7SXfwDSy@_IT3cINTwGjTU0q&YUSD5dU|?Wj
zVPRroVq;@tWMpJzWo2e&W@l$-XlQ6@X=!R|YHMq2Y;0_8ZEbFDZf|dIaBy&OadC2T
za&vQYbaZreb#-=jc6WDoczAeud3kzzdV70&e0+R;eSLm@et&;|fPjF3fq{a8f`fyD
zgoK2Jg@uNOhKGlTh=_=ZiHVAeii?YjjEszpjg5|uj*pLzkdTm(k&%*;l9Q8@l$4Z}
zm6ev3mY0{8n3$NEnVFiJnwy)OoSdAUot>VZo}ZteprD|kp`oIpqNAguq@<*!rKP5(
zrl+T;sHmu^si~@}s;jH3tgNi9t*x%EuCK4Ju&}VPv9YqUva_?Zw6wIfwY9dkwzs#p
zxVX5vxw*Q!y1To(yu7@<y}iD^zQ4b}z`(%4!NJ19!o$PE#KgqK#l^<P#>dCU$jHda
z$;ryf%FD~k%*@Qq&CSlv&d<-!(9qD)(b3Y<($mw^)YR0~)z#M4*4Nk9*x1<F+1c9K
z+S}XP+}zyV-QC{a-rwKf;Nall;o;)q;^X7v<mBY#<>lt)=I7_<=;-L_>FMg~>g((4
z?Ck9A?d|UF?(gsK@bK{Q@$vHV^7Hfa^z`)g_4W4l_V@Sq`1ttw`T6?#`uqF){QUg=
z{r&#_{{R2~A^8LV00930EC2ui015yK000Ow0M(^ChYD3VYzVQXLuanwzl7M%nHv}G
f-@}9j!xh{H(V;_#75{Cs2(hHelPFV`3<v-_?(>^a

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/vista/sizer/sw-handle-dark.gif b/static/extjs/resources/images/vista/sizer/sw-handle-dark.gif
new file mode 100644
index 0000000000000000000000000000000000000000..937102c6b23e59f512f74b5393378ced56e006c9
GIT binary patch
literal 839
zcmZ?wbhEHb<YM4rXlDR{H7jQR|NkG%93@6WU}S}W;!hT4kdJjh1Sn51aHudaa)?MM
m95~R-#3d)A;c(zkGnc55&WsBR&h5PNS$9rsRBmWsum%7^0~Fo>

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/vista/sizer/sw-handle.gif b/static/extjs/resources/images/vista/sizer/sw-handle.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b9e2f563a037e362e69290dff5c19f0316f4659b
GIT binary patch
literal 855
zcmV-d1E~B*Nk%w1VF~~W0EYko000010RaL60s{jB1Ox;H1qB8M1_uWR2nYxX2?+`c
z3JVJh3=9kn4Gj(s4i66x5D*X%5fKs+5)%^>6ciK{6%`g178e&67#J8C85tTH8XFrM
z92^`S9UUGX9v>ecARr(iAt53nA|oRsBqSsyB_$>%CMPE+C@3f?DJd!{Dl021EG#T7
zEiEoCE-x=HFfcGNF)=bSGBYzXG&D3dH8nOiHa9mnI5;>tIXOByIy*Z%JUl!-Jv}}?
zK0iM{KtMo2K|w-7LPJACL_|bIMMXwNMn^|SNJvOYNl8jdN=r*iOiWBoO-)WtPESuy
zP*6}&QBhJ-Qd3h?R8&+|RaI72R##V7SXfwDSy@_IT3cINTwGjTU0q&YUSD5dU|?Wj
zVPRroVq;@tWMpJzWo2e&W@l$-XlQ6@X=!R|YHMq2Y;0_8ZEbFDZf|dIaBy&OadC2T
za&vQYbaZreb#-=jc6WDoczAeud3kzzdV70&e0+R;eSLm@et&;|fPjF3fq{a8f`fyD
zgoK2Jg@uNOhKGlTh=_=ZiHVAeii?YjjEszpjg5|uj*pLzkdTm(k&%*;l9Q8@l$4Z}
zm6ev3mY0{8n3$NEnVFiJnwy)OoSdAUot>VZo}ZteprD|kp`oIpqNAguq@<*!rKP5(
zrl+T;sHmu^si~@}s;jH3tgNi9t*x%EuCK4Ju&}VPv9YqUva_?Zw6wIfwY9dkwzs#p
zxVX5vxw*Q!y1To(yu7@<y}iD^zQ4b}z`(%4!NJ19!o$PE#KgqK#l^<P#>dCU$jHda
z$;ryf%FD~k%*@Qq&CSlv&d<-!(9qD)(b3Y<($mw^)YR0~)z#M4*4Nk9*x1<F+1c9K
z+S}XP+}zyV-QC{a-rwKf;Nall;o;)q;^X7v<mBY#<>lt)=I7_<=;-L_>FMg~>g((4
z?Ck9A?d|UF?(gsK@bK{Q@$vHV^7Hfa^z`)g_4W4l_V@Sq`1ttw`T6?#`uqF){QUg=
z{r&#_{{R2~A^8LV00930EC2ui015yK000Oy0I><g77i7vbLrF##P-jiIdth3{`(hh
hoVjxgw;3#mN}|Dr9S2U_HZk17lPFWFT!}3p06QB(n_mC`

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/vista/tabs/tab-btm-inactive-left-bg.gif b/static/extjs/resources/images/vista/tabs/tab-btm-inactive-left-bg.gif
new file mode 100644
index 0000000000000000000000000000000000000000..667beeb3268f50fd40fe6dbdc5b03041b82ae006
GIT binary patch
literal 879
zcmZ?wbhEHbWM(jAXlGz>b#?Xj_V)Gl_4D&fNJvOYNy*5_$jQmc&CSir%PS}-C@d^2
zDJdx{E32%mtg5Q2t*x!EuWxE<YHn_BX=!O~ZSCmj=;`TU7zLvtFa$$D@h1z=)&CiE
zKyC-+2?h=y2IiO@3KJ4on>m<eLS_^!JlrNA=~ZK4sC2YjfHh>pg2F=$T!MCXKW;pD
p+|<uuB6T66VX0RyyNT9?6Ap`;`vn+676>RbvM@36v9K^$0{|0<KdJx#

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/vista/tabs/tab-btm-inactive-right-bg.gif b/static/extjs/resources/images/vista/tabs/tab-btm-inactive-right-bg.gif
new file mode 100644
index 0000000000000000000000000000000000000000..6c4e0a45f9e1e18625fd57c8192afd3d054d788c
GIT binary patch
literal 1609
zcmZ?wbhEHb)L}GYXlGz>b#?Xj_V)Gl_4D%!4h~L8NJvRZ$;ima$;rvh&CScpD<~)^
zEG#T3DJd%}tE{Z7s;a83t*x)GZ)|LAYHDh3Zf<F5X>D!o=;-L|?Ck03VHgFYAux18
zK=CIF(6Rp+bU;o9<p~Ck{|u%aG9DWi9Bk$g)`~f?Vd3F+0cEc_9vc@O?G|TFxN~CT
z;^X}a&RsGu1C&or)(Bn|b28{D>tx;JQ*%5wKRY?ytoYTPlbe^b&9Q6dlJ&ZxbYYRl
zWG&sQl9iX22Sl6odTm`5+7rA!>+Y$q3D?#o91i-cwQWu0qLlNiVzZ5PZ*MOM-qq{9
zJ@5F=vd^!2JIdGJ-yfIAB<EvM@bGX)J(u5^i2VD<CY-kG^O^bj$*CEu<IbJA`SRJh
z1vB;de63zRzqF!sp5NK3XRoep2;bM|JNt<@&yM2P_s;I#{{H@fW^Q@EJv%-=J~3H4
z{@fnR&)iH}9`pV7?)v)r#^&t%=l1UY{{F$??*H=s`}X|&{A{6j#QA-De}Dh*`1E}L
z{rmp@{_*+s{qy_x|NqbMulyi`fJnxJMh>+V51M$)UOZ?PaMO6$A`+JIuvH>$MPeJX
z)q{ua3T+yXI#i}*JnGa~w&GEj&bAkix($wLJnk{#J8_`b;@OJFeKy}-Jnna3(|j_)
zMJ)5lL=Ux<PbT^3Stc+AxM@C}5)zjAbZSJ}%BRy}%3eO5p3tWGY(~m7&u0znOIALc
zm9y>Tv)Kj5G@s8Yxt95SZpE{e&*#;Adzn7}f~3NW1ubG(FBW#Ft$MMj$L!UM#S`4L
zUM`sumi2P!G`6mn%jT55dbxZ-o7SrpJx<@BuUxTg)vHx&w!M0_y2R;!`++rEu4TPm
zyW`oa*X#Ctd-Zz#0XFS78;*!&zu9;~j{7dt8MD`KHeYble!JyLSoYhkH_}$W-FBz!
z_1o<a+PL*fc&B8)+xcSI>UX=|Y<vA~_lINJ@ArJUmi>P3k7uj%_g%1k@P0o7yUvFL
zEaEvI4sxik`EZEG{LP2M0`58=j|e%7A3Q3NzUJdGnesOuk1Mq6d^({rJ?GO&jpb`T
zozhuv^MJ+RxX$M@Cf9R5pS5_t=JPq5?{7YzcVO53a=}I1b_=UGL&3pIKIU(~Tn=#8
z{dy%NJooF>i1f8zuf>$V{dzs2*!SQKE|v)gZ)PlC`|VcF_P5_|7aZ69ey8Mm?)SSD
z&)0sxSMyq}w}F9`Md8PT7V*3v4?EP?{dm-4{_e-)3GRA7pG*nQ`}uU5xPyZOgEau_
C3isjw

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/vista/tabs/tab-btm-left-bg.gif b/static/extjs/resources/images/vista/tabs/tab-btm-left-bg.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1d81e54e1043facc21074c0e90417f108e0a53f0
GIT binary patch
literal 895
zcmZ?wbhEHbWM(j8XlGyu4h~L8NJvjl@9F88JbCht9Xs|PKD__%k^M)2=;(n12M!)Q
zc>n(W>$e`<zW4b4qh}8vK78=#`QxWApFDf@{N<aMuim|R`{C{Tj~_mM{`C1P5PbXo
z<NNm?KfZnc{rk`V|Nj|A!Dt8!;t){$$pUoUe+C_p8$o%3fg^^&zQjXe!h-`%9Q;}?
z3KJ69+XbY#Yz#Igv3H5<Cf!-FG5J`(1aHNQgal`HR!J+J9Sb%!o#NC|UQtr8$?@!D
k6Hyxr&4((jlg0d!0!}V;X5<y%FbGgcaA06yWMr@g0I`#C=l}o!

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/vista/tabs/tab-btm-right-bg.gif b/static/extjs/resources/images/vista/tabs/tab-btm-right-bg.gif
new file mode 100644
index 0000000000000000000000000000000000000000..47d005002984901edbb5391509f6f9c16a6dd905
GIT binary patch
literal 1608
zcmeH`=}(gf0EesTfG}9dT!1ANF(^lAjVJ@maB<Oa8I`15nH(h=N-1?LGGvA<G8izZ
z!d3*cRfM7~E#(qyt37BfmYXth)B)1_c>DIgJ9J(BFZRLb%kS$iPx55vW@VhJMC>~O
zX@@{iC=?ov#$Yf60)a>*ve|4tpDz#yghHWACX;T-w|7-CrB<O($dx*k22g7aI=~1R
z%tn*dWU*Oo4!gq@!0B|mJzkH;>kW+8x3~8;fZy+jeBgtD|FMC?K4{>bAA)%Q@qH7J
z5I-cmDLQ9zP}mZ30A9K<IV5V2h|448Op#x7MW=+WEKCj0cgLRXgyp^*Y7Re&qL(f{
zeze?|P_abHou;hbP5IWavp7wakiKdOJ(xEWw@%I>!pm;f(>AF2*tFYuPw0i+sEL|4
zOW#*+j-y58@8C?v-w&@!=w+Of$Zb|#C7E!ZHD1bTbad8_vL-6pn*5<LZx0_=h<*r<
zD~A=QsOD=9o*jS{ozN_QgS@f}D?F)_<ehGbIbDznY-C;-E-yoU0ZNaRi3aZ51#O?O
zuY<d*9F|2UX!-ciMK0T>S|BD@tZ`3W-~OC@{=r4wGZ*-J8Yf%haXc2esLOxo5})g{
zhoqI1Ncg-xk5#q&;L<Gr-JaJ0$|SS1fvErOkNF51SuJl4i64>w6qcr!w?t$mDq24)
zs#g3QUDZ)}^V530qCK`PQQ2{%uUh#_B4tF`iD2rLUB|_VR|vq@Xw~fu?TG45rdzM-
zJ`<Fr?l~8URsWh3PgDPvN6`t0`B_Pt-hv{m=59$9P19G}0BHKrZAsdDSMOlA_g7PB
z+TUxLfcB3%agvTyzlqh|Z`9Is15NHlDn1kn*AKQv*64>i;^}%aA<dv4?#Y4!4||Jh
zu#aw)(*X*p!2nPP+u#N=<{zwqHbS8r=nSTTPGY9`V?oBuW(_#T*3!XouG;`k2!fK0
zlXH<c<CJ*IEqJ_=1{$Z=vyx3SuZnP{C$FnUP0XDJ(8QAeh`S6`_u<S>^^{TbGb0l;
zbFAWI3)i`cv+%syt_l1BCuo_41S6~hXjH9L7?QxSJ`YPbT164ri0|frLbUBgG=^al
z!)_RD^Rev+`@)g_TKi%mm0@3kM@=>dMb9A|E2+|2$7+U-;aJP`7#)%`!AR%&xhQ<<
zpU~7g;Y(Pm$+?lAjdZ;#D8{?~D#47oHcM}qTvBv9k}2H}>$w$NO&xP@)v`?P?YeoS
zXQy6@_q=J;jd^yPJV$xykbPljfxI>9npe@0Fz!_n(#>8~PxdjNy0`e6Pjl~bOa$c1
F{{Xv+AMOAE

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/vista/tabs/tab-sprite.gif b/static/extjs/resources/images/vista/tabs/tab-sprite.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a16eedb822c1d852020d7c58a40307659ad1f8ee
GIT binary patch
literal 3150
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
TbB=wLBuAS{<|cJ?04M$eO9i%G

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/vista/toolbar/gray-bg.gif b/static/extjs/resources/images/vista/toolbar/gray-bg.gif
new file mode 100644
index 0000000000000000000000000000000000000000..9af15c262563fdf82d84fca1e6944327671f28c6
GIT binary patch
literal 839
zcmZ?wbhEHbWMnX6XlG!UGH2P0`738HS~Gvy`b8@@EnBm7<@z0KH}BrCZQqui2e<Dz
zvircX-3N~EIe22<;gkE1oIZH$%;Do_kDNSz?9_!5XD*&Rd-?SFD`ziUWf%pcAut3(
zK=CIF(AEDLbU<zg<p~B36$br?6%L6_EgS-J78wT;8k<-+_#`wO5*iv97>u&+oY<Ir
Iyn(?Q0K~dRX#fBK

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/images/vista/toolbar/tb-btn-sprite.gif b/static/extjs/resources/images/vista/toolbar/tb-btn-sprite.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f21b0d612a2e7486e9719fa076df74af31172098
GIT binary patch
literal 1110
zcmZ?wbhEHbWM-&iXlGz>`0p@b!h}haCQY3>b>_^ObLPxhxNzaprAwDDU%q<v>Wv#W
zZr;3k`}Xa-cJ11?Z{NX#2ag;%a{T!5lP6D}I(6#w>C<P=o;`Q&+=UAlE?&HN>C&Yu
zSFT*Ye*Nano40S@zH{f!-Me@1-Me@H{{06J9z1;b@csMu45MH)1O`(GDE?$&2DwKE
zM1b-H1IK>`MwbKuM@G(OWuXZIjSVgw%qk8d3LhI8IQf}9N;n*pnA|yKG&vL!6(6&9
zOR8lx?0Cq)$;V~QV8Fp}fT@Xr&rPB*fTfc~(L;g3@z4QwAy%6S3KtrWG;pXed31Ow
zu3{Bp(z7_bA%yu7udC$*iwhwOnP!_xu24N#))FmP;CzDB@q2SDe}(mn-UH!H@mvkM
z9QzzBniF|D%r%}Jh{zA##;wGyvcjQ>=@6#~KWpL_XU5$uANVdvFK}#T;FDpg_~5|6
z!r`whFvDP>Ln{}XL4rkt#pkw}M!Ao+$TV(XI?DM%X~S*HmF&x8*=D${omJX!o#_YP
z0^bK^jCa`t<c%HfJ$%!&CF`%3LXG1`wp|KuPW^AV-kf}yH^@5S?*mhoeS#Ov4(5u!
SXk$#0+VMOhg`0(i!5RR-_{7uz

literal 0
HcmV?d00001

diff --git a/static/extjs/resources/resources.jsb b/static/extjs/resources/resources.jsb
new file mode 100644
index 00000000..e3eae09a
--- /dev/null
+++ b/static/extjs/resources/resources.jsb
@@ -0,0 +1,787 @@
+<?xml version="1.0" encoding="utf-8"?>
+<project path="" name="Ext - Resources" author="Ext JS, LLC" version="2.2.1" copyright="Ext JS Library $version&#xD;&#xA;Copyright(c) 2006-2009, $author.&#xD;&#xA;licensing@extjs.com&#xD;&#xA;&#xD;&#xA;http://extjs.com/license" output="E:\apps\www\deploy\ext-2.2.1\resources" source="true" source-dir="$output" minify="False" min-dir="$output\build" doc="False" doc-dir="$output\docs" master="true" master-file="$output\yui-ext.js" zip="true" zip-file="$output\yuo-ext.$version.zip">
+  <directory name="" />
+  <target name="All css" file="$output\css\ext-all.css" debug="False" shorthand="False" shorthand-list="YAHOO.util.Dom.setStyle&#xD;&#xA;YAHOO.util.Dom.getStyle&#xD;&#xA;YAHOO.util.Dom.getRegion&#xD;&#xA;YAHOO.util.Dom.getViewportHeight&#xD;&#xA;YAHOO.util.Dom.getViewportWidth&#xD;&#xA;YAHOO.util.Dom.get&#xD;&#xA;YAHOO.util.Dom.getXY&#xD;&#xA;YAHOO.util.Dom.setXY&#xD;&#xA;YAHOO.util.CustomEvent&#xD;&#xA;YAHOO.util.Event.addListener&#xD;&#xA;YAHOO.util.Event.getEvent&#xD;&#xA;YAHOO.util.Event.getTarget&#xD;&#xA;YAHOO.util.Event.preventDefault&#xD;&#xA;YAHOO.util.Event.stopEvent&#xD;&#xA;YAHOO.util.Event.stopPropagation&#xD;&#xA;YAHOO.util.Event.stopEvent&#xD;&#xA;YAHOO.util.Anim&#xD;&#xA;YAHOO.util.Motion&#xD;&#xA;YAHOO.util.Connect.asyncRequest&#xD;&#xA;YAHOO.util.Connect.setForm&#xD;&#xA;YAHOO.util.Dom&#xD;&#xA;YAHOO.util.Event">
+    <include name="css\reset.css" />
+    <include name="css\core.css" />
+    <include name="css\tabs.css" />
+    <include name="css\form.css" />
+    <include name="css\button.css" />
+    <include name="css\toolbar.css" />
+    <include name="css\resizable.css" />
+    <include name="css\grid.css" />
+    <include name="css\dd.css" />
+    <include name="css\tree.css" />
+    <include name="css\date-picker.css" />
+    <include name="css\qtips.css" />
+    <include name="css\menu.css" />
+    <include name="css\box.css" />
+    <include name="css\debug.css" />
+    <include name="css\combo.css" />
+    <include name="css\panel.css" />
+    <include name="css\window.css" />
+    <include name="css\editor.css" />
+    <include name="css\borders.css" />
+    <include name="css\layout.css" />
+    <include name="css\progress.css" />
+    <include name="css\dialog.css" />
+    <include name="css\slider.css" />
+  </target>
+  <file name="images\basic-dialog\gray\close.gif" path="images\basic-dialog\gray" />
+  <file name="images\basic-dialog\gray\dlg-bg.gif" path="images\basic-dialog\gray" />
+  <file name="images\basic-dialog\gray\e-handle.gif" path="images\basic-dialog\gray" />
+  <file name="images\basic-dialog\gray\hd-sprite.gif" path="images\basic-dialog\gray" />
+  <file name="images\basic-dialog\gray\s-handle.gif" path="images\basic-dialog\gray" />
+  <file name="images\basic-dialog\gray\se-handle.gif" path="images\basic-dialog\gray" />
+  <file name="images\basic-dialog\btn-sprite.gif" path="images\basic-dialog" />
+  <file name="images\basic-dialog\close.gif" path="images\basic-dialog" />
+  <file name="images\basic-dialog\e-handle.gif" path="images\basic-dialog" />
+  <file name="images\basic-dialog\hd-sprite.gif" path="images\basic-dialog" />
+  <file name="images\basic-dialog\s-handle.gif" path="images\basic-dialog" />
+  <file name="images\basic-dialog\se-handle.gif" path="images\basic-dialog" />
+  <file name="images\grid\arrow-left-white.gif" path="images\grid" />
+  <file name="images\grid\arrow-right-white.gif" path="images\grid" />
+  <file name="images\grid\done.gif" path="images\grid" />
+  <file name="images\grid\drop-no.gif" path="images\grid" />
+  <file name="images\grid\drop-yes.gif" path="images\grid" />
+  <file name="images\grid\footer-bg.gif" path="images\grid" />
+  <file name="images\grid\grid-blue-hd.gif" path="images\grid" />
+  <file name="images\grid\grid-blue-split.gif" path="images\grid" />
+  <file name="images\grid\grid-loading.gif" path="images\grid" />
+  <file name="images\grid\grid-split.gif" path="images\grid" />
+  <file name="images\grid\grid-vista-hd.gif" path="images\grid" />
+  <file name="images\grid\invalid_line.gif" path="images\grid" />
+  <file name="images\grid\loading.gif" path="images\grid" />
+  <file name="images\grid\mso-hd.gif" path="images\grid" />
+  <file name="images\grid\nowait.gif" path="images\grid" />
+  <file name="images\grid\page-first-disabled.gif" path="images\grid" />
+  <file name="images\grid\page-first.gif" path="images\grid" />
+  <file name="images\grid\page-last-disabled.gif" path="images\grid" />
+  <file name="images\grid\page-last.gif" path="images\grid" />
+  <file name="images\grid\page-next-disabled.gif" path="images\grid" />
+  <file name="images\grid\page-next.gif" path="images\grid" />
+  <file name="images\grid\page-prev-disabled.gif" path="images\grid" />
+  <file name="images\grid\page-prev.gif" path="images\grid" />
+  <file name="images\grid\pick-button.gif" path="images\grid" />
+  <file name="images\grid\refresh.gif" path="images\grid" />
+  <file name="images\grid\sort_asc.gif" path="images\grid" />
+  <file name="images\grid\sort_desc.gif" path="images\grid" />
+  <file name="images\grid\wait.gif" path="images\grid" />
+  <file name="images\layout\gray\collapse.gif" path="images\layout\gray" />
+  <file name="images\layout\gray\expand.gif" path="images\layout\gray" />
+  <file name="images\layout\gray\gradient-bg.gif" path="images\layout\gray" />
+  <file name="images\layout\gray\ns-collapse.gif" path="images\layout\gray" />
+  <file name="images\layout\gray\ns-expand.gif" path="images\layout\gray" />
+  <file name="images\layout\gray\panel-close.gif" path="images\layout\gray" />
+  <file name="images\layout\gray\panel-title-bg.gif" path="images\layout\gray" />
+  <file name="images\layout\gray\panel-title-light-bg.gif" path="images\layout\gray" />
+  <file name="images\layout\gray\screenshot.gif" path="images\layout\gray" />
+  <file name="images\layout\gray\tab-close-on.gif" path="images\layout\gray" />
+  <file name="images\layout\gray\tab-close.gif" path="images\layout\gray" />
+  <file name="images\layout\collapse.gif" path="images\layout" />
+  <file name="images\layout\expand.gif" path="images\layout" />
+  <file name="images\layout\gradient-bg.gif" path="images\layout" />
+  <file name="images\layout\ns-collapse.gif" path="images\layout" />
+  <file name="images\layout\ns-expand.gif" path="images\layout" />
+  <file name="images\layout\panel-close.gif" path="images\layout" />
+  <file name="images\layout\panel-title-bg.gif" path="images\layout" />
+  <file name="images\layout\panel-title-light-bg.gif" path="images\layout" />
+  <file name="images\layout\tab-close-on.gif" path="images\layout" />
+  <file name="images\layout\tab-close.gif" path="images\layout" />
+  <file name="images\sizer\gray\e-handle-dark.gif" path="images\sizer\gray" />
+  <file name="images\sizer\gray\e-handle.gif" path="images\sizer\gray" />
+  <file name="images\sizer\gray\ne-handle-dark.gif" path="images\sizer\gray" />
+  <file name="images\sizer\gray\ne-handle.gif" path="images\sizer\gray" />
+  <file name="images\sizer\gray\nw-handle-dark.gif" path="images\sizer\gray" />
+  <file name="images\sizer\gray\nw-handle.gif" path="images\sizer\gray" />
+  <file name="images\sizer\gray\s-handle-dark.gif" path="images\sizer\gray" />
+  <file name="images\sizer\gray\s-handle.gif" path="images\sizer\gray" />
+  <file name="images\sizer\gray\se-handle-dark.gif" path="images\sizer\gray" />
+  <file name="images\sizer\gray\se-handle.gif" path="images\sizer\gray" />
+  <file name="images\sizer\gray\sw-handle-dark.gif" path="images\sizer\gray" />
+  <file name="images\sizer\gray\sw-handle.gif" path="images\sizer\gray" />
+  <file name="images\sizer\e-handle-dark.gif" path="images\sizer" />
+  <file name="images\sizer\e-handle.gif" path="images\sizer" />
+  <file name="images\sizer\ne-handle-dark.gif" path="images\sizer" />
+  <file name="images\sizer\ne-handle.gif" path="images\sizer" />
+  <file name="images\sizer\nw-handle-dark.gif" path="images\sizer" />
+  <file name="images\sizer\nw-handle.gif" path="images\sizer" />
+  <file name="images\sizer\s-handle-dark.gif" path="images\sizer" />
+  <file name="images\sizer\s-handle.gif" path="images\sizer" />
+  <file name="images\sizer\se-handle-dark.gif" path="images\sizer" />
+  <file name="images\sizer\se-handle.gif" path="images\sizer" />
+  <file name="images\sizer\square.gif" path="images\sizer" />
+  <file name="images\sizer\sw-handle-dark.gif" path="images\sizer" />
+  <file name="images\sizer\sw-handle.gif" path="images\sizer" />
+  <file name="images\tabs\gray\tab-btm-inactive-left-bg.gif" path="images\tabs\gray" />
+  <file name="images\tabs\gray\tab-btm-inactive-right-bg.gif" path="images\tabs\gray" />
+  <file name="images\tabs\gray\tab-btm-left-bg.gif" path="images\tabs\gray" />
+  <file name="images\tabs\gray\tab-btm-right-bg.gif" path="images\tabs\gray" />
+  <file name="images\tabs\gray\tab-sprite.gif" path="images\tabs\gray" />
+  <file name="images\tabs\tab-btm-inactive-left-bg.gif" path="images\tabs" />
+  <file name="images\tabs\tab-btm-inactive-right-bg.gif" path="images\tabs" />
+  <file name="images\tabs\tab-btm-left-bg.gif" path="images\tabs" />
+  <file name="images\tabs\tab-btm-right-bg.gif" path="images\tabs" />
+  <file name="images\tabs\tab-sprite.gif" path="images\tabs" />
+  <file name="images\toolbar\gray-bg.gif" path="images\toolbar" />
+  <file name="images\gradient-bg.gif" path="images" />
+  <file name="images\s.gif" path="images" />
+  <file name="images\toolbar\btn-over-bg.gif" path="images\toolbar" />
+  <file name="images\dd\drop-add.gif" path="images\dd" />
+  <file name="images\dd\drop-no.gif" path="images\dd" />
+  <file name="images\dd\drop-yes.gif" path="images\dd" />
+  <file name="images\qtip\bg.gif" path="images\qtip" />
+  <file name="images\tree\drop-add.gif" path="images\tree" />
+  <file name="images\tree\drop-between.gif" path="images\tree" />
+  <file name="images\tree\drop-no.gif" path="images\tree" />
+  <file name="images\tree\drop-over.gif" path="images\tree" />
+  <file name="images\tree\drop-under.gif" path="images\tree" />
+  <file name="images\tree\drop-yes.gif" path="images\tree" />
+  <file name="images\tree\elbow-end-minus-nl.gif" path="images\tree" />
+  <file name="images\tree\elbow-end-minus.gif" path="images\tree" />
+  <file name="images\tree\elbow-end-plus-nl.gif" path="images\tree" />
+  <file name="images\tree\elbow-end-plus.gif" path="images\tree" />
+  <file name="images\tree\elbow-end.gif" path="images\tree" />
+  <file name="images\tree\elbow-line.gif" path="images\tree" />
+  <file name="images\tree\elbow-minus-nl.gif" path="images\tree" />
+  <file name="images\tree\elbow-minus.gif" path="images\tree" />
+  <file name="images\tree\elbow-plus-nl.gif" path="images\tree" />
+  <file name="images\tree\elbow-plus.gif" path="images\tree" />
+  <file name="images\tree\elbow.gif" path="images\tree" />
+  <file name="images\tree\folder-open.gif" path="images\tree" />
+  <file name="images\tree\folder.gif" path="images\tree" />
+  <file name="images\tree\leaf.gif" path="images\tree" />
+  <file name="images\tree\s.gif" path="images\tree" />
+  <file name="images\qtip\gray\bg.gif" path="images\qtip\gray" />
+  <file name="css\aero.css" path="css" />
+  <file name="images\grid\grid-hrow.gif" path="images\grid" />
+  <file name="images\aero\toolbar\gray-bg.gif" path="images\aero\toolbar" />
+  <file name="css\basic-dialog.css" path="css" />
+  <file name="css\button.css" path="css" />
+  <file name="css\core.css" path="css" />
+  <file name="css\dd.css" path="css" />
+  <file name="css\grid.css" path="css" />
+  <file name="css\inline-editor.css" path="css" />
+  <file name="css\layout.css" path="css" />
+  <file name="css\qtips.css" path="css" />
+  <file name="css\reset-min.css" path="css" />
+  <file name="css\resizable.css" path="css" />
+  <file name="css\tabs.css" path="css" />
+  <file name="css\toolbar.css" path="css" />
+  <file name="css\tree.css" path="css" />
+  <file name="css\ytheme-aero.css" path="css" />
+  <file name="css\ytheme-gray.css" path="css" />
+  <file name="css\ytheme-vista.css" path="css" />
+  <file name="images\aero\basic-dialog\aero-close-over.gif" path="images\aero\basic-dialog" />
+  <file name="images\aero\basic-dialog\aero-close.gif" path="images\aero\basic-dialog" />
+  <file name="images\aero\basic-dialog\bg-center.gif" path="images\aero\basic-dialog" />
+  <file name="images\aero\basic-dialog\bg-left.gif" path="images\aero\basic-dialog" />
+  <file name="images\aero\basic-dialog\bg-right.gif" path="images\aero\basic-dialog" />
+  <file name="images\aero\basic-dialog\close.gif" path="images\aero\basic-dialog" />
+  <file name="images\aero\basic-dialog\dlg-bg.gif" path="images\aero\basic-dialog" />
+  <file name="images\aero\basic-dialog\e-handle.gif" path="images\aero\basic-dialog" />
+  <file name="images\aero\basic-dialog\hd-sprite.gif" path="images\aero\basic-dialog" />
+  <file name="images\aero\basic-dialog\s-handle.gif" path="images\aero\basic-dialog" />
+  <file name="images\aero\basic-dialog\se-handle.gif" path="images\aero\basic-dialog" />
+  <file name="images\aero\basic-dialog\w-handle.gif" path="images\aero\basic-dialog" />
+  <file name="images\aero\grid\grid-blue-split.gif" path="images\aero\grid" />
+  <file name="images\aero\grid\grid-hrow.gif" path="images\aero\grid" />
+  <file name="images\aero\grid\grid-split.gif" path="images\aero\grid" />
+  <file name="images\aero\grid\grid-vista-hd.gif" path="images\aero\grid" />
+  <file name="images\aero\grid\sort-col-bg.gif" path="images\aero\grid" />
+  <file name="images\aero\grid\sort_asc.gif" path="images\aero\grid" />
+  <file name="images\aero\grid\sort_desc.gif" path="images\aero\grid" />
+  <file name="images\aero\layout\collapse.gif" path="images\aero\layout" />
+  <file name="images\aero\layout\expand.gif" path="images\aero\layout" />
+  <file name="images\aero\layout\gradient-bg.gif" path="images\aero\layout" />
+  <file name="images\aero\layout\ns-collapse.gif" path="images\aero\layout" />
+  <file name="images\aero\layout\ns-expand.gif" path="images\aero\layout" />
+  <file name="images\aero\layout\panel-close.gif" path="images\aero\layout" />
+  <file name="images\aero\layout\panel-title-bg.gif" path="images\aero\layout" />
+  <file name="images\aero\layout\panel-title-light-bg.gif" path="images\aero\layout" />
+  <file name="images\aero\layout\tab-close-on.gif" path="images\aero\layout" />
+  <file name="images\aero\layout\tab-close.gif" path="images\aero\layout" />
+  <file name="images\aero\qtip\bg.gif" path="images\aero\qtip" />
+  <file name="images\aero\sizer\e-handle-dark.gif" path="images\aero\sizer" />
+  <file name="images\aero\sizer\e-handle.gif" path="images\aero\sizer" />
+  <file name="images\aero\sizer\ne-handle-dark.gif" path="images\aero\sizer" />
+  <file name="images\aero\sizer\ne-handle.gif" path="images\aero\sizer" />
+  <file name="images\aero\sizer\nw-handle-dark.gif" path="images\aero\sizer" />
+  <file name="images\aero\sizer\nw-handle.gif" path="images\aero\sizer" />
+  <file name="images\aero\sizer\s-handle-dark.gif" path="images\aero\sizer" />
+  <file name="images\aero\sizer\s-handle.gif" path="images\aero\sizer" />
+  <file name="images\aero\sizer\se-handle-dark.gif" path="images\aero\sizer" />
+  <file name="images\aero\sizer\se-handle.gif" path="images\aero\sizer" />
+  <file name="images\aero\sizer\sw-handle-dark.gif" path="images\aero\sizer" />
+  <file name="images\aero\sizer\sw-handle.gif" path="images\aero\sizer" />
+  <file name="images\aero\tabs\tab-btm-inactive-left-bg.gif" path="images\aero\tabs" />
+  <file name="images\aero\tabs\tab-btm-inactive-right-bg.gif" path="images\aero\tabs" />
+  <file name="images\aero\tabs\tab-btm-left-bg.gif" path="images\aero\tabs" />
+  <file name="images\aero\tabs\tab-btm-right-bg.gif" path="images\aero\tabs" />
+  <file name="images\aero\tabs\tab-sprite.gif" path="images\aero\tabs" />
+  <file name="images\aero\tabs\tab-strip-bg.gif" path="images\aero\tabs" />
+  <file name="images\aero\tabs\tab-strip-bg.png" path="images\aero\tabs" />
+  <file name="images\aero\tabs\tab-strip-btm-bg.gif" path="images\aero\tabs" />
+  <file name="images\aero\toolbar\bg.gif" path="images\aero\toolbar" />
+  <file name="images\aero\gradient-bg.gif" path="images\aero" />
+  <file name="images\aero\s.gif" path="images\aero" />
+  <file name="images\default\basic-dialog\btn-sprite.gif" path="images\default\basic-dialog" />
+  <file name="images\default\basic-dialog\close.gif" path="images\default\basic-dialog" />
+  <file name="images\default\basic-dialog\e-handle.gif" path="images\default\basic-dialog" />
+  <file name="images\default\basic-dialog\hd-sprite.gif" path="images\default\basic-dialog" />
+  <file name="images\default\basic-dialog\progress.gif" path="images\default\basic-dialog" />
+  <file name="images\default\basic-dialog\progress2.gif" path="images\default\basic-dialog" />
+  <file name="images\default\basic-dialog\s-handle.gif" path="images\default\basic-dialog" />
+  <file name="images\default\basic-dialog\se-handle.gif" path="images\default\basic-dialog" />
+  <file name="images\default\dd\drop-add.gif" path="images\default\dd" />
+  <file name="images\default\dd\drop-no.gif" path="images\default\dd" />
+  <file name="images\default\dd\drop-yes.gif" path="images\default\dd" />
+  <file name="images\default\grid\arrow-left-white.gif" path="images\default\grid" />
+  <file name="images\default\grid\arrow-right-white.gif" path="images\default\grid" />
+  <file name="images\default\grid\done.gif" path="images\default\grid" />
+  <file name="images\default\grid\drop-no.gif" path="images\default\grid" />
+  <file name="images\default\grid\drop-yes.gif" path="images\default\grid" />
+  <file name="images\default\grid\footer-bg.gif" path="images\default\grid" />
+  <file name="images\default\grid\grid-blue-hd.gif" path="images\default\grid" />
+  <file name="images\default\grid\grid-blue-split.gif" path="images\default\grid" />
+  <file name="images\default\grid\grid-hrow.gif" path="images\default\grid" />
+  <file name="images\default\grid\grid-loading.gif" path="images\default\grid" />
+  <file name="images\default\grid\grid-split.gif" path="images\default\grid" />
+  <file name="images\default\grid\grid-vista-hd.gif" path="images\default\grid" />
+  <file name="images\default\grid\invalid_line.gif" path="images\default\grid" />
+  <file name="images\default\grid\loading.gif" path="images\default\grid" />
+  <file name="images\default\grid\mso-hd.gif" path="images\default\grid" />
+  <file name="images\default\grid\nowait.gif" path="images\default\grid" />
+  <file name="images\default\grid\page-first-disabled.gif" path="images\default\grid" />
+  <file name="images\default\grid\page-first.gif" path="images\default\grid" />
+  <file name="images\default\grid\page-last-disabled.gif" path="images\default\grid" />
+  <file name="images\default\grid\page-last.gif" path="images\default\grid" />
+  <file name="images\default\grid\page-next-disabled.gif" path="images\default\grid" />
+  <file name="images\default\grid\page-next.gif" path="images\default\grid" />
+  <file name="images\default\grid\page-prev-disabled.gif" path="images\default\grid" />
+  <file name="images\default\grid\page-prev.gif" path="images\default\grid" />
+  <file name="images\default\grid\pick-button.gif" path="images\default\grid" />
+  <file name="images\default\grid\refresh.gif" path="images\default\grid" />
+  <file name="images\default\grid\sort_asc.gif" path="images\default\grid" />
+  <file name="images\default\grid\sort_desc.gif" path="images\default\grid" />
+  <file name="images\default\grid\wait.gif" path="images\default\grid" />
+  <file name="images\default\layout\collapse.gif" path="images\default\layout" />
+  <file name="images\default\layout\expand.gif" path="images\default\layout" />
+  <file name="images\default\layout\gradient-bg.gif" path="images\default\layout" />
+  <file name="images\default\layout\ns-collapse.gif" path="images\default\layout" />
+  <file name="images\default\layout\ns-expand.gif" path="images\default\layout" />
+  <file name="images\default\layout\panel-close.gif" path="images\default\layout" />
+  <file name="images\default\layout\panel-title-bg.gif" path="images\default\layout" />
+  <file name="images\default\layout\panel-title-light-bg.gif" path="images\default\layout" />
+  <file name="images\default\layout\tab-close-on.gif" path="images\default\layout" />
+  <file name="images\default\layout\tab-close.gif" path="images\default\layout" />
+  <file name="images\default\qtip\bg.gif" path="images\default\qtip" />
+  <file name="images\default\sizer\e-handle-dark.gif" path="images\default\sizer" />
+  <file name="images\default\sizer\e-handle.gif" path="images\default\sizer" />
+  <file name="images\default\sizer\ne-handle-dark.gif" path="images\default\sizer" />
+  <file name="images\default\sizer\ne-handle.gif" path="images\default\sizer" />
+  <file name="images\default\sizer\nw-handle-dark.gif" path="images\default\sizer" />
+  <file name="images\default\sizer\nw-handle.gif" path="images\default\sizer" />
+  <file name="images\default\sizer\s-handle-dark.gif" path="images\default\sizer" />
+  <file name="images\default\sizer\s-handle.gif" path="images\default\sizer" />
+  <file name="images\default\sizer\se-handle-dark.gif" path="images\default\sizer" />
+  <file name="images\default\sizer\se-handle.gif" path="images\default\sizer" />
+  <file name="images\default\sizer\square.gif" path="images\default\sizer" />
+  <file name="images\default\sizer\sw-handle-dark.gif" path="images\default\sizer" />
+  <file name="images\default\sizer\sw-handle.gif" path="images\default\sizer" />
+  <file name="images\default\tabs\tab-btm-inactive-left-bg.gif" path="images\default\tabs" />
+  <file name="images\default\tabs\tab-btm-inactive-right-bg.gif" path="images\default\tabs" />
+  <file name="images\default\tabs\tab-btm-left-bg.gif" path="images\default\tabs" />
+  <file name="images\default\tabs\tab-btm-right-bg.gif" path="images\default\tabs" />
+  <file name="images\default\tabs\tab-sprite.gif" path="images\default\tabs" />
+  <file name="images\default\toolbar\btn-over-bg.gif" path="images\default\toolbar" />
+  <file name="images\default\toolbar\gray-bg.gif" path="images\default\toolbar" />
+  <file name="images\default\tree\drop-add.gif" path="images\default\tree" />
+  <file name="images\default\tree\drop-between.gif" path="images\default\tree" />
+  <file name="images\default\tree\drop-no.gif" path="images\default\tree" />
+  <file name="images\default\tree\drop-over.gif" path="images\default\tree" />
+  <file name="images\default\tree\drop-under.gif" path="images\default\tree" />
+  <file name="images\default\tree\drop-yes.gif" path="images\default\tree" />
+  <file name="images\default\tree\elbow-end-minus-nl.gif" path="images\default\tree" />
+  <file name="images\default\tree\elbow-end-minus.gif" path="images\default\tree" />
+  <file name="images\default\tree\elbow-end-plus-nl.gif" path="images\default\tree" />
+  <file name="images\default\tree\elbow-end-plus.gif" path="images\default\tree" />
+  <file name="images\default\tree\elbow-end.gif" path="images\default\tree" />
+  <file name="images\default\tree\elbow-line.gif" path="images\default\tree" />
+  <file name="images\default\tree\elbow-minus-nl.gif" path="images\default\tree" />
+  <file name="images\default\tree\elbow-minus.gif" path="images\default\tree" />
+  <file name="images\default\tree\elbow-plus-nl.gif" path="images\default\tree" />
+  <file name="images\default\tree\elbow-plus.gif" path="images\default\tree" />
+  <file name="images\default\tree\elbow.gif" path="images\default\tree" />
+  <file name="images\default\tree\folder-open.gif" path="images\default\tree" />
+  <file name="images\default\tree\folder.gif" path="images\default\tree" />
+  <file name="images\default\tree\leaf.gif" path="images\default\tree" />
+  <file name="images\default\tree\loading.gif" path="images\default\tree" />
+  <file name="images\default\tree\s.gif" path="images\default\tree" />
+  <file name="images\default\gradient-bg.gif" path="images\default" />
+  <file name="images\default\s.gif" path="images\default" />
+  <file name="images\gray\basic-dialog\close.gif" path="images\gray\basic-dialog" />
+  <file name="images\gray\basic-dialog\dlg-bg.gif" path="images\gray\basic-dialog" />
+  <file name="images\gray\basic-dialog\e-handle.gif" path="images\gray\basic-dialog" />
+  <file name="images\gray\basic-dialog\hd-sprite.gif" path="images\gray\basic-dialog" />
+  <file name="images\gray\basic-dialog\s-handle.gif" path="images\gray\basic-dialog" />
+  <file name="images\gray\basic-dialog\se-handle.gif" path="images\gray\basic-dialog" />
+  <file name="images\gray\layout\collapse.gif" path="images\gray\layout" />
+  <file name="images\gray\layout\expand.gif" path="images\gray\layout" />
+  <file name="images\gray\layout\gradient-bg.gif" path="images\gray\layout" />
+  <file name="images\gray\layout\ns-collapse.gif" path="images\gray\layout" />
+  <file name="images\gray\layout\ns-expand.gif" path="images\gray\layout" />
+  <file name="images\gray\layout\panel-close.gif" path="images\gray\layout" />
+  <file name="images\gray\layout\panel-title-bg.gif" path="images\gray\layout" />
+  <file name="images\gray\layout\panel-title-light-bg.gif" path="images\gray\layout" />
+  <file name="images\gray\layout\tab-close-on.gif" path="images\gray\layout" />
+  <file name="images\gray\layout\tab-close.gif" path="images\gray\layout" />
+  <file name="images\gray\qtip\bg.gif" path="images\gray\qtip" />
+  <file name="images\gray\sizer\e-handle-dark.gif" path="images\gray\sizer" />
+  <file name="images\gray\sizer\e-handle.gif" path="images\gray\sizer" />
+  <file name="images\gray\sizer\ne-handle-dark.gif" path="images\gray\sizer" />
+  <file name="images\gray\sizer\ne-handle.gif" path="images\gray\sizer" />
+  <file name="images\gray\sizer\nw-handle-dark.gif" path="images\gray\sizer" />
+  <file name="images\gray\sizer\nw-handle.gif" path="images\gray\sizer" />
+  <file name="images\gray\sizer\s-handle-dark.gif" path="images\gray\sizer" />
+  <file name="images\gray\sizer\s-handle.gif" path="images\gray\sizer" />
+  <file name="images\gray\sizer\se-handle-dark.gif" path="images\gray\sizer" />
+  <file name="images\gray\sizer\se-handle.gif" path="images\gray\sizer" />
+  <file name="images\gray\sizer\sw-handle-dark.gif" path="images\gray\sizer" />
+  <file name="images\gray\sizer\sw-handle.gif" path="images\gray\sizer" />
+  <file name="images\gray\tabs\tab-btm-inactive-left-bg.gif" path="images\gray\tabs" />
+  <file name="images\gray\tabs\tab-btm-inactive-right-bg.gif" path="images\gray\tabs" />
+  <file name="images\gray\tabs\tab-btm-left-bg.gif" path="images\gray\tabs" />
+  <file name="images\gray\tabs\tab-btm-right-bg.gif" path="images\gray\tabs" />
+  <file name="images\gray\tabs\tab-sprite.gif" path="images\gray\tabs" />
+  <file name="images\gray\toolbar\gray-bg.gif" path="images\gray\toolbar" />
+  <file name="images\gray\gradient-bg.gif" path="images\gray" />
+  <file name="images\gray\s.gif" path="images\gray" />
+  <file name="images\vista\basic-dialog\bg-center.gif" path="images\vista\basic-dialog" />
+  <file name="images\vista\basic-dialog\bg-left.gif" path="images\vista\basic-dialog" />
+  <file name="images\vista\basic-dialog\bg-right.gif" path="images\vista\basic-dialog" />
+  <file name="images\vista\basic-dialog\close.gif" path="images\vista\basic-dialog" />
+  <file name="images\vista\basic-dialog\dlg-bg.gif" path="images\vista\basic-dialog" />
+  <file name="images\vista\basic-dialog\e-handle.gif" path="images\vista\basic-dialog" />
+  <file name="images\vista\basic-dialog\hd-sprite.gif" path="images\vista\basic-dialog" />
+  <file name="images\vista\basic-dialog\s-handle.gif" path="images\vista\basic-dialog" />
+  <file name="images\vista\basic-dialog\se-handle.gif" path="images\vista\basic-dialog" />
+  <file name="images\vista\basic-dialog\w-handle.gif" path="images\vista\basic-dialog" />
+  <file name="images\vista\grid\grid-split.gif" path="images\vista\grid" />
+  <file name="images\vista\grid\grid-vista-hd.gif" path="images\vista\grid" />
+  <file name="images\vista\layout\collapse.gif" path="images\vista\layout" />
+  <file name="images\vista\layout\expand.gif" path="images\vista\layout" />
+  <file name="images\vista\layout\gradient-bg.gif" path="images\vista\layout" />
+  <file name="images\vista\layout\ns-collapse.gif" path="images\vista\layout" />
+  <file name="images\vista\layout\ns-expand.gif" path="images\vista\layout" />
+  <file name="images\vista\layout\panel-close.gif" path="images\vista\layout" />
+  <file name="images\vista\layout\panel-title-bg.gif" path="images\vista\layout" />
+  <file name="images\vista\layout\panel-title-light-bg.gif" path="images\vista\layout" />
+  <file name="images\vista\layout\tab-close-on.gif" path="images\vista\layout" />
+  <file name="images\vista\layout\tab-close.gif" path="images\vista\layout" />
+  <file name="images\vista\qtip\bg.gif" path="images\vista\qtip" />
+  <file name="images\vista\sizer\e-handle-dark.gif" path="images\vista\sizer" />
+  <file name="images\vista\sizer\e-handle.gif" path="images\vista\sizer" />
+  <file name="images\vista\sizer\ne-handle-dark.gif" path="images\vista\sizer" />
+  <file name="images\vista\sizer\ne-handle.gif" path="images\vista\sizer" />
+  <file name="images\vista\sizer\nw-handle-dark.gif" path="images\vista\sizer" />
+  <file name="images\vista\sizer\nw-handle.gif" path="images\vista\sizer" />
+  <file name="images\vista\sizer\s-handle-dark.gif" path="images\vista\sizer" />
+  <file name="images\vista\sizer\s-handle.gif" path="images\vista\sizer" />
+  <file name="images\vista\sizer\se-handle-dark.gif" path="images\vista\sizer" />
+  <file name="images\vista\sizer\se-handle.gif" path="images\vista\sizer" />
+  <file name="images\vista\sizer\sw-handle-dark.gif" path="images\vista\sizer" />
+  <file name="images\vista\sizer\sw-handle.gif" path="images\vista\sizer" />
+  <file name="images\vista\tabs\tab-btm-inactive-left-bg.gif" path="images\vista\tabs" />
+  <file name="images\vista\tabs\tab-btm-inactive-right-bg.gif" path="images\vista\tabs" />
+  <file name="images\vista\tabs\tab-btm-left-bg.gif" path="images\vista\tabs" />
+  <file name="images\vista\tabs\tab-btm-right-bg.gif" path="images\vista\tabs" />
+  <file name="images\vista\tabs\tab-sprite.gif" path="images\vista\tabs" />
+  <file name="images\vista\toolbar\gray-bg.gif" path="images\vista\toolbar" />
+  <file name="images\vista\gradient-bg.gif" path="images\vista" />
+  <file name="images\vista\s.gif" path="images\vista" />
+  <file name="images\default\grid\col-move.gif" path="images\default\grid" />
+  <file name="images\default\grid\col-move-bottom.gif" path="images\default\grid" />
+  <file name="images\default\grid\col-move-top.gif" path="images\default\grid" />
+  <file name="images\default\basic-dialog\btn-arrow.gif" path="images\default\basic-dialog" />
+  <file name="images\default\toolbar\tb-btn-sprite.gif" path="images\default\toolbar" />
+  <file name="images\aero\toolbar\tb-btn-sprite.gif" path="images\aero\toolbar" />
+  <file name="images\vista\toolbar\tb-btn-sprite.gif" path="images\vista\toolbar" />
+  <file name="images\default\toolbar\btn-arrow.gif" path="images\default\toolbar" />
+  <file name="images\default\menu\menu.gif" path="images\default\menu" />
+  <file name="images\default\menu\unchecked.gif" path="images\default\menu" />
+  <file name="images\default\menu\checked.gif" path="images\default\menu" />
+  <file name="images\default\menu\menu-parent.gif" path="images\default\menu" />
+  <file name="images\default\menu\group-checked.gif" path="images\default\menu" />
+  <file name="css\menu.css" path="css" />
+  <file name="css\grid2.css" path="css" />
+  <file name="css\README.txt" path="css" />
+  <file name="images\default\grid\hmenu-asc.gif" path="images\default\grid" />
+  <file name="images\default\grid\hmenu-desc.gif" path="images\default\grid" />
+  <file name="images\default\grid\hmenu-lock.png" path="images\default\grid" />
+  <file name="images\default\grid\hmenu-unlock.png" path="images\default\grid" />
+  <file name="images\default\grid\Thumbs.db" path="images\default\grid" />
+  <file name="images\default\menu\shadow-lite.png" path="images\default\menu" />
+  <file name="images\default\menu\shadow.png" path="images\default\menu" />
+  <file name="license.txt" path="" />
+  <file name="css\date-picker.css" path="css" />
+  <file name="images\default\basic-dialog\collapse.gif" path="images\default\basic-dialog" />
+  <file name="images\default\basic-dialog\expand.gif" path="images\default\basic-dialog" />
+  <file name="images\aero\basic-dialog\collapse.gif" path="images\aero\basic-dialog" />
+  <file name="images\aero\basic-dialog\collapse-over.gif" path="images\aero\basic-dialog" />
+  <file name="images\aero\basic-dialog\expand.gif" path="images\aero\basic-dialog" />
+  <file name="images\aero\basic-dialog\expand-over.gif" path="images\aero\basic-dialog" />
+  <file name="images\gray\basic-dialog\collapse.gif" path="images\gray\basic-dialog" />
+  <file name="images\gray\basic-dialog\expand.gif" path="images\gray\basic-dialog" />
+  <file name="images\vista\basic-dialog\collapse.gif" path="images\vista\basic-dialog" />
+  <file name="images\vista\basic-dialog\expand.gif" path="images\vista\basic-dialog" />
+  <file name="images\default\toolbar\btn-arrow-light.gif" path="images\default\toolbar" />
+  <file name="images\default\shared\left-btn.gif" path="images\default\shared" />
+  <file name="images\default\shared\right-btn.gif" path="images\default\shared" />
+  <file name="images\default\shared\calendar.gif" path="images\default\shared" />
+  <file name="css\form.css" path="css" />
+  <file name="images\aero\grid\pspbrwse.jbf" path="images\aero\grid" />
+  <file name="images\default\bg.png" path="images\default" />
+  <file name="images\default\shadow.png" path="images\default" />
+  <file name="images\default\shadow-lr.png" path="images\default" />
+  <file name="yui-ext-resources.jsb" path="" />
+  <file name="css\box.css" path="css" />
+  <file name="images\default\box\corners-blue.gif" path="images\default\box" />
+  <file name="images\default\box\corners.gif" path="images\default\box" />
+  <file name="images\default\box\l-blue.gif" path="images\default\box" />
+  <file name="images\default\box\l.gif" path="images\default\box" />
+  <file name="images\default\box\r-blue.gif" path="images\default\box" />
+  <file name="images\default\box\r.gif" path="images\default\box" />
+  <file name="images\default\box\tb-blue.gif" path="images\default\box" />
+  <file name="images\default\box\tb.gif" path="images\default\box" />
+  <file name="images\gray\menu\checked.gif" path="images\gray\menu" />
+  <file name="images\gray\menu\group-checked.gif" path="images\gray\menu" />
+  <file name="images\gray\menu\menu-parent.gif" path="images\gray\menu" />
+  <file name="images\gray\menu\menu.gif" path="images\gray\menu" />
+  <file name="images\gray\menu\unchecked.gif" path="images\gray\menu" />
+  <file name="images\default\layout\stick.gif" path="images\default\layout" />
+  <file name="images\default\layout\stuck.gif" path="images\default\layout" />
+  <file name="images\gray\layout\stick.gif" path="images\gray\layout" />
+  <file name="images\vista\layout\stick.gif" path="images\vista\layout" />
+  <file name="images\gray\grid\grid-hrow.gif" path="images\gray\grid" />
+  <file name="images\default\toolbar\tb-bg.gif" path="images\default\toolbar" />
+  <file name="images\gray\toolbar\tb-btn-sprite.gif" path="images\gray\toolbar" />
+  <file name="css\debug.css" path="css" />
+  <file name="images\default\form\trigger.gif" path="images\default\form" />
+  <file name="css\combo.css" path="css" />
+  <file name="images\default\form\date-trigger.gif" path="images\default\form" />
+  <file name="images\default\shared\warning.gif" path="images\default\shared" />
+  <file name="images\default\grid\dirty.gif" path="images\default\grid" />
+  <file name="images\default\grid\hmenu-lock.gif" path="images\default\grid" />
+  <file name="images\default\grid\hmenu-unlock.gif" path="images\default\grid" />
+  <file name="images\default\form\text-bg.gif" path="images\default\form" />
+  <file name="images\default\form\exclamation.png" path="images\default\form" />
+  <file name="images\default\form\exclamation.gif" path="images\default\form" />
+  <file name="images\default\form\error-tip-bg.gif" path="images\default\form" />
+  <file name="images\default\form\error-tip-corners.gif" path="images\default\form" />
+  <file name="images\default\qtip\tip-sprite.gif" path="images\default\qtip" />
+  <file name="images\default\qtip\close.gif" path="images\default\qtip" />
+  <file name="images\gray\qtip\tip-sprite.gif" path="images\gray\qtip" />
+  <file name="images\vista\qtip\tip-sprite.gif" path="images\vista\qtip" />
+  <file name="images\default\grid\hd-pop.gif" path="images\default\grid" />
+  <file name="css\panel.css" path="css" />
+  <file name="images\default\panel\panel-sprite.gif" path="images\default\panel" />
+  <file name="images\default\panel\panel-blue-sprite.gif" path="images\default\panel" />
+  <file name="images\default\panel\toggle-sprite.gif" path="images\default\panel" />
+  <file name="images\default\panel\close-sprite.gif" path="images\default\panel" />
+  <file name="images\default\window\corners-sprite.gif" path="images\default\window" />
+  <file name="images\default\window\left-right.gif" path="images\default\window" />
+  <file name="images\default\window\top-bottom.gif" path="images\default\window" />
+  <file name="css\window.css" path="css" />
+  <file name="images\default\window\corners-sprite.png" path="images\default\window" />
+  <file name="images\default\window\corners-sprite.psd" path="images\default\window" />
+  <file name="images\default\shadow-c.png" path="images\default" />
+  <file name="css\grid3.css" path="css" />
+  <file name="css\layout2.css" path="css" />
+  <file name="css\tabs2.css" path="css" />
+  <file name="images\default\panel\corners-sprite.gif" path="images\default\panel" />
+  <file name="images\default\panel\left-right.gif" path="images\default\panel" />
+  <file name="images\default\panel\tool-sprite-tpl.gif" path="images\default\panel" />
+  <file name="images\default\panel\tool-sprites.gif" path="images\default\panel" />
+  <file name="images\default\panel\top-bottom.gif" path="images\default\panel" />
+  <file name="images\default\panel\top-bottom.png" path="images\default\panel" />
+  <file name="images\default\panel\white-corners-sprite.gif" path="images\default\panel" />
+  <file name="images\default\panel\white-left-right.gif" path="images\default\panel" />
+  <file name="images\default\panel\white-top-bottom.gif" path="images\default\panel" />
+  <file name="images\default\window\left-corners.png" path="images\default\window" />
+  <file name="images\default\window\left-corners.psd" path="images\default\window" />
+  <file name="images\default\window\left-right.png" path="images\default\window" />
+  <file name="images\default\window\left-right.psd" path="images\default\window" />
+  <file name="images\default\window\right-corners.png" path="images\default\window" />
+  <file name="images\default\window\right-corners.psd" path="images\default\window" />
+  <file name="images\default\window\top-bottom.png" path="images\default\window" />
+  <file name="images\default\window\top-bottom.psd" path="images\default\window" />
+  <file name="css\editor.css" path="css" />
+  <file name="images\default\editor\tb-sprite.gif" path="images\default\editor" />
+  <file name="css\borders.css" path="css" />
+  <file name="images\default\form\clear-trigger.gif" path="images\default\form" />
+  <file name="images\default\form\search-trigger.gif" path="images\default\form" />
+  <file name="images\default\form\trigger-tpl.gif" path="images\default\form" />
+  <file name="images\default\grid\row-over.gif" path="images\default\grid" />
+  <file name="images\default\grid\row-sel.gif" path="images\default\grid" />
+  <file name="images\default\grid\grid3-hrow.gif" path="images\default\grid" />
+  <file name="images\default\grid\grid3-hrow-over.gif" path="images\default\grid" />
+  <file name="images\default\grid\row-collapse.gif" path="images\default\grid" />
+  <file name="images\default\grid\row-expand.gif" path="images\default\grid" />
+  <file name="images\default\grid\grid3-hd-btn.gif" path="images\default\grid" />
+  <file name="images\aero\menu\menu.gif" path="images\aero\menu" />
+  <file name="images\aero\menu\item-over.gif" path="images\aero\menu" />
+  <file name="images\aero\menu\checked.gif" path="images\aero\menu" />
+  <file name="images\aero\menu\unchecked.gif" path="images\aero\menu" />
+  <file name="images\default\grid\grid3-expander-b-bg.gif" path="images\default\grid" />
+  <file name="images\default\grid\grid3-expander-c-bg.gif" path="images\default\grid" />
+  <file name="images\default\grid\grid3-special-col-bg.gif" path="images\default\grid" />
+  <file name="images\default\grid\row-expand-sprite.gif" path="images\default\grid" />
+  <file name="images\default\grid\row-check-sprite.gif" path="images\default\grid" />
+  <file name="images\default\grid\grid3-special-col-sel-bg.gif" path="images\default\grid" />
+  <file name="images\default\shared\glass-bg.gif" path="images\default\shared" />
+  <file name="legacy\grid.css" path="legacy" />
+  <file name="css\xtheme-aero.css" path="css" />
+  <file name="css\xtheme-gray.css" path="css" />
+  <file name="css\xtheme-vista.css" path="css" />
+  <file name="legacy\basic-dialog.css" path="legacy" />
+  <file name="images\default\form\clear-trigger.psd" path="images\default\form" />
+  <file name="images\default\form\date-trigger.psd" path="images\default\form" />
+  <file name="images\default\form\search-trigger.psd" path="images\default\form" />
+  <file name="images\default\form\trigger.psd" path="images\default\form" />
+  <file name="images\aero\tabs\tab-close.gif" path="images\aero\tabs" />
+  <file name="images\default\panel\light-hd.gif" path="images\default\panel" />
+  <file name="images\default\panel\tools-sprites-trans.gif" path="images\default\panel" />
+  <file name="images\aero\tabs\scroller-bg.gif" path="images\aero\tabs" />
+  <file name="images\default\tabs\scroller-bg.gif" path="images\default\tabs" />
+  <file name="images\default\grid\group-expand-sprite.gif" path="images\default\grid" />
+  <file name="images\default\grid\group-by.gif" path="images\default\grid" />
+  <file name="images\default\grid\columns.gif" path="images\default\grid" />
+  <file name="css\dialog.css" path="css" />
+  <file name="images\default\basic-dialog\icon-error.gif" path="images\default\basic-dialog" />
+  <file name="images\default\basic-dialog\icon-info.gif" path="images\default\basic-dialog" />
+  <file name="images\default\basic-dialog\icon-question.gif" path="images\default\basic-dialog" />
+  <file name="images\default\basic-dialog\icon-warning.gif" path="images\default\basic-dialog" />
+  <file name="css\progress.css" path="css" />
+  <file name="images\default\widgets\progress-bg.gif" path="images\default\widgets" />
+  <file name="images\default\progress\progress-bg.gif" path="images\default\progress" />
+  <file name="images\default\layout\mini-bottom.gif" path="images\default\layout" />
+  <file name="images\default\layout\mini-left.gif" path="images\default\layout" />
+  <file name="images\default\layout\mini-right.gif" path="images\default\layout" />
+  <file name="images\default\layout\mini-top.gif" path="images\default\layout" />
+  <file name="images\default\shared\blue-loading.gif" path="images\default\shared" />
+  <file name="images\default\shared\large-loading.gif" path="images\default\shared" />
+  <file name="images\default\menu\item-over.gif" path="images\default\menu" />
+  <file name="images\default\tabs\tab-close.gif" path="images\default\tabs" />
+  <file name="images\default\tabs\tab-strip-bg.gif" path="images\default\tabs" />
+  <file name="images\default\tabs\tab-strip-bg.png" path="images\default\tabs" />
+  <file name="images\default\tabs\tab-strip-btm-bg.gif" path="images\default\tabs" />
+  <file name="images\default\toolbar\bg.gif" path="images\default\toolbar" />
+  <file name="images\default\button\btn-arrow.gif" path="images\default\button" />
+  <file name="images\default\button\btn-sprite.gif" path="images\default\button" />
+  <file name="images\default\shared\hd-sprite.gif" path="images\default\shared" />
+  <file name="images\default\window\icon-error.gif" path="images\default\window" />
+  <file name="images\default\window\icon-info.gif" path="images\default\window" />
+  <file name="images\default\window\icon-question.gif" path="images\default\window" />
+  <file name="images\default\window\icon-warning.gif" path="images\default\window" />
+  <file name="images\gray\panel\corners-sprite.gif" path="images\gray\panel" />
+  <file name="images\gray\panel\left-right.gif" path="images\gray\panel" />
+  <file name="images\gray\panel\light-hd.gif" path="images\gray\panel" />
+  <file name="images\gray\panel\tool-sprite-tpl.gif" path="images\gray\panel" />
+  <file name="images\gray\panel\tool-sprites.gif" path="images\gray\panel" />
+  <file name="images\gray\panel\tools-sprites-trans.gif" path="images\gray\panel" />
+  <file name="images\gray\panel\top-bottom.gif" path="images\gray\panel" />
+  <file name="images\gray\panel\top-bottom.png" path="images\gray\panel" />
+  <file name="images\gray\panel\white-corners-sprite.gif" path="images\gray\panel" />
+  <file name="images\gray\panel\white-left-right.gif" path="images\gray\panel" />
+  <file name="images\gray\panel\white-top-bottom.gif" path="images\gray\panel" />
+  <file name="images\gray\qtip\close.gif" path="images\gray\qtip" />
+  <file name="images\gray\toolbar\bg.gif" path="images\gray\toolbar" />
+  <file name="images\gray\toolbar\btn-arrow-light.gif" path="images\gray\toolbar" />
+  <file name="images\gray\toolbar\btn-arrow.gif" path="images\gray\toolbar" />
+  <file name="images\gray\toolbar\btn-over-bg.gif" path="images\gray\toolbar" />
+  <file name="images\gray\toolbar\tb-bg.gif" path="images\gray\toolbar" />
+  <file name="images\gray\tabs\scroller-bg.gif" path="images\gray\tabs" />
+  <file name="images\gray\tabs\tab-close.gif" path="images\gray\tabs" />
+  <file name="images\gray\tabs\tab-strip-bg.gif" path="images\gray\tabs" />
+  <file name="images\gray\tabs\tab-strip-bg.png" path="images\gray\tabs" />
+  <file name="images\gray\tabs\tab-strip-btm-bg.gif" path="images\gray\tabs" />
+  <file name="images\gray\window\icon-error.gif" path="images\gray\window" />
+  <file name="images\gray\window\icon-info.gif" path="images\gray\window" />
+  <file name="images\gray\window\icon-question.gif" path="images\gray\window" />
+  <file name="images\gray\window\icon-warning.gif" path="images\gray\window" />
+  <file name="images\gray\window\left-corners.png" path="images\gray\window" />
+  <file name="images\gray\window\left-corners.psd" path="images\gray\window" />
+  <file name="images\gray\window\left-right.png" path="images\gray\window" />
+  <file name="images\gray\window\left-right.psd" path="images\gray\window" />
+  <file name="images\gray\window\right-corners.png" path="images\gray\window" />
+  <file name="images\gray\window\right-corners.psd" path="images\gray\window" />
+  <file name="images\gray\window\top-bottom.png" path="images\gray\window" />
+  <file name="images\gray\window\top-bottom.psd" path="images\gray\window" />
+  <file name="images\gray\button\btn-arrow.gif" path="images\gray\button" />
+  <file name="images\gray\button\btn-sprite.gif" path="images\gray\button" />
+  <file name="css\xtheme-gray-blue.css" path="css" />
+  <file name="images\gray\window\left-corners.pspimage" path="images\gray\window" />
+  <file name="images\gray\window\right-corners.pspimage" path="images\gray\window" />
+  <file name="images\default\tabs\tabs-sprite.gif" path="images\default\tabs" />
+  <file name="images\gray\tabs\tabs-sprite.gif" path="images\gray\tabs" />
+  <file name="css\xtheme-dark.css" path="css" />
+  <file name="images\dark\button\btn-arrow.gif" path="images\dark\button" />
+  <file name="images\dark\button\btn-sprite.gif" path="images\dark\button" />
+  <file name="images\dark\panel\corners-sprite.gif" path="images\dark\panel" />
+  <file name="images\dark\panel\left-right.gif" path="images\dark\panel" />
+  <file name="images\dark\panel\light-hd.gif" path="images\dark\panel" />
+  <file name="images\dark\panel\tool-sprite-tpl.gif" path="images\dark\panel" />
+  <file name="images\dark\panel\tool-sprites.gif" path="images\dark\panel" />
+  <file name="images\dark\panel\tools-sprites-trans.gif" path="images\dark\panel" />
+  <file name="images\dark\panel\top-bottom.gif" path="images\dark\panel" />
+  <file name="images\dark\panel\top-bottom.png" path="images\dark\panel" />
+  <file name="images\dark\panel\white-corners-sprite.gif" path="images\dark\panel" />
+  <file name="images\dark\panel\white-left-right.gif" path="images\dark\panel" />
+  <file name="images\dark\panel\white-top-bottom.gif" path="images\dark\panel" />
+  <file name="images\dark\qtip\bg.gif" path="images\dark\qtip" />
+  <file name="images\dark\qtip\close.gif" path="images\dark\qtip" />
+  <file name="images\dark\qtip\tip-sprite.gif" path="images\dark\qtip" />
+  <file name="images\dark\tabs\scroller-bg.gif" path="images\dark\tabs" />
+  <file name="images\dark\tabs\tab-btm-inactive-left-bg.gif" path="images\dark\tabs" />
+  <file name="images\dark\tabs\tab-btm-inactive-right-bg.gif" path="images\dark\tabs" />
+  <file name="images\dark\tabs\tab-btm-left-bg.gif" path="images\dark\tabs" />
+  <file name="images\dark\tabs\tab-btm-right-bg.gif" path="images\dark\tabs" />
+  <file name="images\dark\tabs\tab-close.gif" path="images\dark\tabs" />
+  <file name="images\dark\tabs\tab-strip-bg.gif" path="images\dark\tabs" />
+  <file name="images\dark\tabs\tab-strip-bg.png" path="images\dark\tabs" />
+  <file name="images\dark\tabs\tab-strip-btm-bg.gif" path="images\dark\tabs" />
+  <file name="images\dark\tabs\tabs-sprite.gif" path="images\dark\tabs" />
+  <file name="images\dark\toolbar\bg.gif" path="images\dark\toolbar" />
+  <file name="images\dark\toolbar\btn-arrow-light.gif" path="images\dark\toolbar" />
+  <file name="images\dark\toolbar\btn-arrow.gif" path="images\dark\toolbar" />
+  <file name="images\dark\toolbar\btn-over-bg.gif" path="images\dark\toolbar" />
+  <file name="images\dark\toolbar\gray-bg.gif" path="images\dark\toolbar" />
+  <file name="images\dark\toolbar\tb-bg.gif" path="images\dark\toolbar" />
+  <file name="images\dark\toolbar\tb-btn-sprite.gif" path="images\dark\toolbar" />
+  <file name="images\dark\window\icon-error.gif" path="images\dark\window" />
+  <file name="images\dark\window\icon-info.gif" path="images\dark\window" />
+  <file name="images\dark\window\icon-question.gif" path="images\dark\window" />
+  <file name="images\dark\window\icon-warning.gif" path="images\dark\window" />
+  <file name="images\dark\window\left-corners.png" path="images\dark\window" />
+  <file name="images\dark\window\left-corners.pspimage" path="images\dark\window" />
+  <file name="images\dark\window\left-right.png" path="images\dark\window" />
+  <file name="images\dark\window\right-corners.png" path="images\dark\window" />
+  <file name="images\dark\window\top-bottom.png" path="images\dark\window" />
+  <file name="images\dark\gradient-bg.gif" path="images\dark" />
+  <file name="images\dark\s.gif" path="images\dark" />
+  <file name="images\default\tabs\scroll-left.gif" path="images\default\tabs" />
+  <file name="images\default\tabs\scroll-right.gif" path="images\default\tabs" />
+  <file name="css\reset.css" path="css" />
+  <file name="images\gray\tabs\scroll-left.gif" path="images\gray\tabs" />
+  <file name="images\gray\tabs\scroll-right.gif" path="images\gray\tabs" />
+  <file name="images\default\shared\loading-balls.gif" path="images\default\shared" />
+  <file name="raw-images\shadow.psd" path="raw-images" />
+  <file name="images\default\tree\arrow-closed-over.gif" path="images\default\tree" />
+  <file name="images\default\tree\arrow-closed.gif" path="images\default\tree" />
+  <file name="images\default\tree\arrow-open-over.gif" path="images\default\tree" />
+  <file name="images\default\tree\arrow-open.gif" path="images\default\tree" />
+  <file name="images\default\tree\arrows.gif" path="images\default\tree" />
+  <file name="css\slider.css" path="css" />
+  <file name="images\default\slider\slider-bg.png" path="images\default\slider" />
+  <file name="images\default\slider\slider-thumb.png" path="images\default\slider" />
+  <file name="images\default\slider\slider-v-bg.png" path="images\default\slider" />
+  <file name="images\default\slider\slider-v-thumb.png" path="images\default\slider" />
+  <file name="images\default\panel\Thumbs.db" path="images\default\panel" />
+  <file name="images\default\form\checkbox.gif" path="images\default\form" />
+  <file name="images\default\form\radio.gif" path="images\default\form" />
+  <file name="images\default\.DS_Store" path="images\default" />
+  <file name="images\gray\tabs\Thumbs.db" path="images\gray\tabs" />
+  <file name="images\.DS_Store" path="images" />
+  <file name=".DS_Store" path="" />
+  <file name="images\default\shadow-c.psd" path="images\default" />
+  <file name="css\xtheme-slate.css" path="css" />
+  <file name="images\slate\box\tb-blue.gif" path="images\slate\box" />
+  <file name="images\slate\button\btn-arrow.gif" path="images\slate\button" />
+  <file name="images\slate\button\btn-sprite.gif" path="images\slate\button" />
+  <file name="images\slate\editor\tb-sprite.gif" path="images\slate\editor" />
+  <file name="images\slate\form\checkbox.gif" path="images\slate\form" />
+  <file name="images\slate\form\clear-trigger.gif" path="images\slate\form" />
+  <file name="images\slate\form\date-trigger.gif" path="images\slate\form" />
+  <file name="images\slate\form\radio.gif" path="images\slate\form" />
+  <file name="images\slate\form\search-trigger.gif" path="images\slate\form" />
+  <file name="images\slate\form\trigger-tpl.gif" path="images\slate\form" />
+  <file name="images\slate\form\trigger.gif" path="images\slate\form" />
+  <file name="images\slate\grid\grid-split.gif" path="images\slate\grid" />
+  <file name="images\slate\grid\grid3-hd-btn.gif" path="images\slate\grid" />
+  <file name="images\slate\grid\grid3-hrow-over.gif" path="images\slate\grid" />
+  <file name="images\slate\grid\grid3-hrow.gif" path="images\slate\grid" />
+  <file name="images\slate\grid\grid3-special-col-bg.gif" path="images\slate\grid" />
+  <file name="images\slate\grid\grid3-special-col-sel-bg.gif" path="images\slate\grid" />
+  <file name="images\slate\grid\page-first-disabled.gif" path="images\slate\grid" />
+  <file name="images\slate\grid\page-first.gif" path="images\slate\grid" />
+  <file name="images\slate\grid\page-last-disabled.gif" path="images\slate\grid" />
+  <file name="images\slate\grid\page-last.gif" path="images\slate\grid" />
+  <file name="images\slate\grid\page-next.gif" path="images\slate\grid" />
+  <file name="images\slate\grid\page-prev.gif" path="images\slate\grid" />
+  <file name="images\slate\grid\refresh.gif" path="images\slate\grid" />
+  <file name="images\slate\grid\sort_asc.gif" path="images\slate\grid" />
+  <file name="images\slate\grid\sort_desc.gif" path="images\slate\grid" />
+  <file name="images\slate\menu\checked.gif" path="images\slate\menu" />
+  <file name="images\slate\menu\group-checked.gif" path="images\slate\menu" />
+  <file name="images\slate\menu\item-over.gif" path="images\slate\menu" />
+  <file name="images\slate\menu\menu-parent.gif" path="images\slate\menu" />
+  <file name="images\slate\menu\menu.gif" path="images\slate\menu" />
+  <file name="images\slate\menu\unchecked.gif" path="images\slate\menu" />
+  <file name="images\slate\panel\corners-sprite.gif" path="images\slate\panel" />
+  <file name="images\slate\panel\left-right.gif" path="images\slate\panel" />
+  <file name="images\slate\panel\light-hd.gif" path="images\slate\panel" />
+  <file name="images\slate\panel\tool-sprite-tpl.gif" path="images\slate\panel" />
+  <file name="images\slate\panel\tool-sprites.gif" path="images\slate\panel" />
+  <file name="images\slate\panel\top-bottom.gif" path="images\slate\panel" />
+  <file name="images\slate\panel\top-bottom.png" path="images\slate\panel" />
+  <file name="images\slate\panel\white-corners-sprite.gif" path="images\slate\panel" />
+  <file name="images\slate\panel\white-left-right.gif" path="images\slate\panel" />
+  <file name="images\slate\panel\white-top-bottom.gif" path="images\slate\panel" />
+  <file name="images\slate\progress\progress-bg.gif" path="images\slate\progress" />
+  <file name="images\slate\qtip\bg.gif" path="images\slate\qtip" />
+  <file name="images\slate\qtip\close.gif" path="images\slate\qtip" />
+  <file name="images\slate\qtip\tip-sprite.gif" path="images\slate\qtip" />
+  <file name="images\slate\shared\glass-bg.gif" path="images\slate\shared" />
+  <file name="images\slate\shared\hd-sprite.gif" path="images\slate\shared" />
+  <file name="images\slate\shared\left-btn.gif" path="images\slate\shared" />
+  <file name="images\slate\shared\right-btn.gif" path="images\slate\shared" />
+  <file name="images\slate\sizer\e-handle-dark.gif" path="images\slate\sizer" />
+  <file name="images\slate\sizer\e-handle.gif" path="images\slate\sizer" />
+  <file name="images\slate\sizer\ne-handle-dark.gif" path="images\slate\sizer" />
+  <file name="images\slate\sizer\ne-handle.gif" path="images\slate\sizer" />
+  <file name="images\slate\sizer\nw-handle-dark.gif" path="images\slate\sizer" />
+  <file name="images\slate\sizer\nw-handle.gif" path="images\slate\sizer" />
+  <file name="images\slate\sizer\s-handle-dark.gif" path="images\slate\sizer" />
+  <file name="images\slate\sizer\s-handle.gif" path="images\slate\sizer" />
+  <file name="images\slate\sizer\se-handle-dark.gif" path="images\slate\sizer" />
+  <file name="images\slate\sizer\se-handle.gif" path="images\slate\sizer" />
+  <file name="images\slate\sizer\square.gif" path="images\slate\sizer" />
+  <file name="images\slate\sizer\sw-handle-dark.gif" path="images\slate\sizer" />
+  <file name="images\slate\sizer\sw-handle.gif" path="images\slate\sizer" />
+  <file name="images\slate\slider\slider-bg.png" path="images\slate\slider" />
+  <file name="images\slate\slider\slider-thumb.png" path="images\slate\slider" />
+  <file name="images\slate\slider\slider-v-bg.png" path="images\slate\slider" />
+  <file name="images\slate\slider\slider-v-thumb.png" path="images\slate\slider" />
+  <file name="images\slate\tabs\scroll-left.gif" path="images\slate\tabs" />
+  <file name="images\slate\tabs\scroll-right.gif" path="images\slate\tabs" />
+  <file name="images\slate\tabs\scroller-bg.gif" path="images\slate\tabs" />
+  <file name="images\slate\tabs\tab-btm-inactive-left-bg.gif" path="images\slate\tabs" />
+  <file name="images\slate\tabs\tab-btm-inactive-right-bg.gif" path="images\slate\tabs" />
+  <file name="images\slate\tabs\tab-btm-left-bg.gif" path="images\slate\tabs" />
+  <file name="images\slate\tabs\tab-btm-right-bg.gif" path="images\slate\tabs" />
+  <file name="images\slate\tabs\tab-close.gif" path="images\slate\tabs" />
+  <file name="images\slate\tabs\tab-strip-bg.gif" path="images\slate\tabs" />
+  <file name="images\slate\tabs\tab-strip-btm-bg.gif" path="images\slate\tabs" />
+  <file name="images\slate\tabs\tabs-sprite.gif" path="images\slate\tabs" />
+  <file name="images\slate\toolbar\bg.gif" path="images\slate\toolbar" />
+  <file name="images\slate\toolbar\btn-arrow.gif" path="images\slate\toolbar" />
+  <file name="images\slate\toolbar\btn-over-bg.gif" path="images\slate\toolbar" />
+  <file name="images\slate\toolbar\tb-btn-sprite.gif" path="images\slate\toolbar" />
+  <file name="images\slate\tree\arrows.gif" path="images\slate\tree" />
+  <file name="images\slate\window\left-corners.png" path="images\slate\window" />
+  <file name="images\slate\window\left-right.png" path="images\slate\window" />
+  <file name="images\slate\window\right-corners.png" path="images\slate\window" />
+  <file name="images\slate\window\top-bottom.png" path="images\slate\window" />
+  <file name="resources.jsb" path="" />
+</project>
\ No newline at end of file
diff --git a/static/jquery.js b/static/jquery.js
new file mode 100644
index 00000000..b1ae21d8
--- /dev/null
+++ b/static/jquery.js
@@ -0,0 +1,19 @@
+/*
+ * jQuery JavaScript Library v1.3.2
+ * http://jquery.com/
+ *
+ * Copyright (c) 2009 John Resig
+ * Dual licensed under the MIT and GPL licenses.
+ * http://docs.jquery.com/License
+ *
+ * Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009)
+ * Revision: 6246
+ */
+(function(){var l=this,g,y=l.jQuery,p=l.$,o=l.jQuery=l.$=function(E,F){return new o.fn.init(E,F)},D=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,f=/^.[^:#\[\.,]*$/;o.fn=o.prototype={init:function(E,H){E=E||document;if(E.nodeType){this[0]=E;this.length=1;this.context=E;return this}if(typeof E==="string"){var G=D.exec(E);if(G&&(G[1]||!H)){if(G[1]){E=o.clean([G[1]],H)}else{var I=document.getElementById(G[3]);if(I&&I.id!=G[3]){return o().find(E)}var F=o(I||[]);F.context=document;F.selector=E;return F}}else{return o(H).find(E)}}else{if(o.isFunction(E)){return o(document).ready(E)}}if(E.selector&&E.context){this.selector=E.selector;this.context=E.context}return this.setArray(o.isArray(E)?E:o.makeArray(E))},selector:"",jquery:"1.3.2",size:function(){return this.length},get:function(E){return E===g?Array.prototype.slice.call(this):this[E]},pushStack:function(F,H,E){var G=o(F);G.prevObject=this;G.context=this.context;if(H==="find"){G.selector=this.selector+(this.selector?" ":"")+E}else{if(H){G.selector=this.selector+"."+H+"("+E+")"}}return G},setArray:function(E){this.length=0;Array.prototype.push.apply(this,E);return this},each:function(F,E){return o.each(this,F,E)},index:function(E){return o.inArray(E&&E.jquery?E[0]:E,this)},attr:function(F,H,G){var E=F;if(typeof F==="string"){if(H===g){return this[0]&&o[G||"attr"](this[0],F)}else{E={};E[F]=H}}return this.each(function(I){for(F in E){o.attr(G?this.style:this,F,o.prop(this,E[F],G,I,F))}})},css:function(E,F){if((E=="width"||E=="height")&&parseFloat(F)<0){F=g}return this.attr(E,F,"curCSS")},text:function(F){if(typeof F!=="object"&&F!=null){return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(F))}var E="";o.each(F||this,function(){o.each(this.childNodes,function(){if(this.nodeType!=8){E+=this.nodeType!=1?this.nodeValue:o.fn.text([this])}})});return E},wrapAll:function(E){if(this[0]){var F=o(E,this[0].ownerDocument).clone();if(this[0].parentNode){F.insertBefore(this[0])}F.map(function(){var G=this;while(G.firstChild){G=G.firstChild}return G}).append(this)}return this},wrapInner:function(E){return this.each(function(){o(this).contents().wrapAll(E)})},wrap:function(E){return this.each(function(){o(this).wrapAll(E)})},append:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.appendChild(E)}})},prepend:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.insertBefore(E,this.firstChild)}})},before:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this)})},after:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this.nextSibling)})},end:function(){return this.prevObject||o([])},push:[].push,sort:[].sort,splice:[].splice,find:function(E){if(this.length===1){var F=this.pushStack([],"find",E);F.length=0;o.find(E,this[0],F);return F}else{return this.pushStack(o.unique(o.map(this,function(G){return o.find(E,G)})),"find",E)}},clone:function(G){var E=this.map(function(){if(!o.support.noCloneEvent&&!o.isXMLDoc(this)){var I=this.outerHTML;if(!I){var J=this.ownerDocument.createElement("div");J.appendChild(this.cloneNode(true));I=J.innerHTML}return o.clean([I.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0]}else{return this.cloneNode(true)}});if(G===true){var H=this.find("*").andSelf(),F=0;E.find("*").andSelf().each(function(){if(this.nodeName!==H[F].nodeName){return}var I=o.data(H[F],"events");for(var K in I){for(var J in I[K]){o.event.add(this,K,I[K][J],I[K][J].data)}}F++})}return E},filter:function(E){return this.pushStack(o.isFunction(E)&&o.grep(this,function(G,F){return E.call(G,F)})||o.multiFilter(E,o.grep(this,function(F){return F.nodeType===1})),"filter",E)},closest:function(E){var G=o.expr.match.POS.test(E)?o(E):null,F=0;return this.map(function(){var H=this;while(H&&H.ownerDocument){if(G?G.index(H)>-1:o(H).is(E)){o.data(H,"closest",F);return H}H=H.parentNode;F++}})},not:function(E){if(typeof E==="string"){if(f.test(E)){return this.pushStack(o.multiFilter(E,this,true),"not",E)}else{E=o.multiFilter(E,this)}}var F=E.length&&E[E.length-1]!==g&&!E.nodeType;return this.filter(function(){return F?o.inArray(this,E)<0:this!=E})},add:function(E){return this.pushStack(o.unique(o.merge(this.get(),typeof E==="string"?o(E):o.makeArray(E))))},is:function(E){return !!E&&o.multiFilter(E,this).length>0},hasClass:function(E){return !!E&&this.is("."+E)},val:function(K){if(K===g){var E=this[0];if(E){if(o.nodeName(E,"option")){return(E.attributes.value||{}).specified?E.value:E.text}if(o.nodeName(E,"select")){var I=E.selectedIndex,L=[],M=E.options,H=E.type=="select-one";if(I<0){return null}for(var F=H?I:0,J=H?I+1:M.length;F<J;F++){var G=M[F];if(G.selected){K=o(G).val();if(H){return K}L.push(K)}}return L}return(E.value||"").replace(/\r/g,"")}return g}if(typeof K==="number"){K+=""}return this.each(function(){if(this.nodeType!=1){return}if(o.isArray(K)&&/radio|checkbox/.test(this.type)){this.checked=(o.inArray(this.value,K)>=0||o.inArray(this.name,K)>=0)}else{if(o.nodeName(this,"select")){var N=o.makeArray(K);o("option",this).each(function(){this.selected=(o.inArray(this.value,N)>=0||o.inArray(this.text,N)>=0)});if(!N.length){this.selectedIndex=-1}}else{this.value=K}}})},html:function(E){return E===g?(this[0]?this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,""):null):this.empty().append(E)},replaceWith:function(E){return this.after(E).remove()},eq:function(E){return this.slice(E,+E+1)},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments),"slice",Array.prototype.slice.call(arguments).join(","))},map:function(E){return this.pushStack(o.map(this,function(G,F){return E.call(G,F,G)}))},andSelf:function(){return this.add(this.prevObject)},domManip:function(J,M,L){if(this[0]){var I=(this[0].ownerDocument||this[0]).createDocumentFragment(),F=o.clean(J,(this[0].ownerDocument||this[0]),I),H=I.firstChild;if(H){for(var G=0,E=this.length;G<E;G++){L.call(K(this[G],H),this.length>1||G>0?I.cloneNode(true):I)}}if(F){o.each(F,z)}}return this;function K(N,O){return M&&o.nodeName(N,"table")&&o.nodeName(O,"tr")?(N.getElementsByTagName("tbody")[0]||N.appendChild(N.ownerDocument.createElement("tbody"))):N}}};o.fn.init.prototype=o.fn;function z(E,F){if(F.src){o.ajax({url:F.src,async:false,dataType:"script"})}else{o.globalEval(F.text||F.textContent||F.innerHTML||"")}if(F.parentNode){F.parentNode.removeChild(F)}}function e(){return +new Date}o.extend=o.fn.extend=function(){var J=arguments[0]||{},H=1,I=arguments.length,E=false,G;if(typeof J==="boolean"){E=J;J=arguments[1]||{};H=2}if(typeof J!=="object"&&!o.isFunction(J)){J={}}if(I==H){J=this;--H}for(;H<I;H++){if((G=arguments[H])!=null){for(var F in G){var K=J[F],L=G[F];if(J===L){continue}if(E&&L&&typeof L==="object"&&!L.nodeType){J[F]=o.extend(E,K||(L.length!=null?[]:{}),L)}else{if(L!==g){J[F]=L}}}}}return J};var b=/z-?index|font-?weight|opacity|zoom|line-?height/i,q=document.defaultView||{},s=Object.prototype.toString;o.extend({noConflict:function(E){l.$=p;if(E){l.jQuery=y}return o},isFunction:function(E){return s.call(E)==="[object Function]"},isArray:function(E){return s.call(E)==="[object Array]"},isXMLDoc:function(E){return E.nodeType===9&&E.documentElement.nodeName!=="HTML"||!!E.ownerDocument&&o.isXMLDoc(E.ownerDocument)},globalEval:function(G){if(G&&/\S/.test(G)){var F=document.getElementsByTagName("head")[0]||document.documentElement,E=document.createElement("script");E.type="text/javascript";if(o.support.scriptEval){E.appendChild(document.createTextNode(G))}else{E.text=G}F.insertBefore(E,F.firstChild);F.removeChild(E)}},nodeName:function(F,E){return F.nodeName&&F.nodeName.toUpperCase()==E.toUpperCase()},each:function(G,K,F){var E,H=0,I=G.length;if(F){if(I===g){for(E in G){if(K.apply(G[E],F)===false){break}}}else{for(;H<I;){if(K.apply(G[H++],F)===false){break}}}}else{if(I===g){for(E in G){if(K.call(G[E],E,G[E])===false){break}}}else{for(var J=G[0];H<I&&K.call(J,H,J)!==false;J=G[++H]){}}}return G},prop:function(H,I,G,F,E){if(o.isFunction(I)){I=I.call(H,F)}return typeof I==="number"&&G=="curCSS"&&!b.test(E)?I+"px":I},className:{add:function(E,F){o.each((F||"").split(/\s+/),function(G,H){if(E.nodeType==1&&!o.className.has(E.className,H)){E.className+=(E.className?" ":"")+H}})},remove:function(E,F){if(E.nodeType==1){E.className=F!==g?o.grep(E.className.split(/\s+/),function(G){return !o.className.has(F,G)}).join(" "):""}},has:function(F,E){return F&&o.inArray(E,(F.className||F).toString().split(/\s+/))>-1}},swap:function(H,G,I){var E={};for(var F in G){E[F]=H.style[F];H.style[F]=G[F]}I.call(H);for(var F in G){H.style[F]=E[F]}},css:function(H,F,J,E){if(F=="width"||F=="height"){var L,G={position:"absolute",visibility:"hidden",display:"block"},K=F=="width"?["Left","Right"]:["Top","Bottom"];function I(){L=F=="width"?H.offsetWidth:H.offsetHeight;if(E==="border"){return}o.each(K,function(){if(!E){L-=parseFloat(o.curCSS(H,"padding"+this,true))||0}if(E==="margin"){L+=parseFloat(o.curCSS(H,"margin"+this,true))||0}else{L-=parseFloat(o.curCSS(H,"border"+this+"Width",true))||0}})}if(H.offsetWidth!==0){I()}else{o.swap(H,G,I)}return Math.max(0,Math.round(L))}return o.curCSS(H,F,J)},curCSS:function(I,F,G){var L,E=I.style;if(F=="opacity"&&!o.support.opacity){L=o.attr(E,"opacity");return L==""?"1":L}if(F.match(/float/i)){F=w}if(!G&&E&&E[F]){L=E[F]}else{if(q.getComputedStyle){if(F.match(/float/i)){F="float"}F=F.replace(/([A-Z])/g,"-$1").toLowerCase();var M=q.getComputedStyle(I,null);if(M){L=M.getPropertyValue(F)}if(F=="opacity"&&L==""){L="1"}}else{if(I.currentStyle){var J=F.replace(/\-(\w)/g,function(N,O){return O.toUpperCase()});L=I.currentStyle[F]||I.currentStyle[J];if(!/^\d+(px)?$/i.test(L)&&/^\d/.test(L)){var H=E.left,K=I.runtimeStyle.left;I.runtimeStyle.left=I.currentStyle.left;E.left=L||0;L=E.pixelLeft+"px";E.left=H;I.runtimeStyle.left=K}}}}return L},clean:function(F,K,I){K=K||document;if(typeof K.createElement==="undefined"){K=K.ownerDocument||K[0]&&K[0].ownerDocument||document}if(!I&&F.length===1&&typeof F[0]==="string"){var H=/^<(\w+)\s*\/?>$/.exec(F[0]);if(H){return[K.createElement(H[1])]}}var G=[],E=[],L=K.createElement("div");o.each(F,function(P,S){if(typeof S==="number"){S+=""}if(!S){return}if(typeof S==="string"){S=S.replace(/(<(\w+)[^>]*?)\/>/g,function(U,V,T){return T.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?U:V+"></"+T+">"});var O=S.replace(/^\s+/,"").substring(0,10).toLowerCase();var Q=!O.indexOf("<opt")&&[1,"<select multiple='multiple'>","</select>"]||!O.indexOf("<leg")&&[1,"<fieldset>","</fieldset>"]||O.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"<table>","</table>"]||!O.indexOf("<tr")&&[2,"<table><tbody>","</tbody></table>"]||(!O.indexOf("<td")||!O.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!O.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||!o.support.htmlSerialize&&[1,"div<div>","</div>"]||[0,"",""];L.innerHTML=Q[1]+S+Q[2];while(Q[0]--){L=L.lastChild}if(!o.support.tbody){var R=/<tbody/i.test(S),N=!O.indexOf("<table")&&!R?L.firstChild&&L.firstChild.childNodes:Q[1]=="<table>"&&!R?L.childNodes:[];for(var M=N.length-1;M>=0;--M){if(o.nodeName(N[M],"tbody")&&!N[M].childNodes.length){N[M].parentNode.removeChild(N[M])}}}if(!o.support.leadingWhitespace&&/^\s/.test(S)){L.insertBefore(K.createTextNode(S.match(/^\s*/)[0]),L.firstChild)}S=o.makeArray(L.childNodes)}if(S.nodeType){G.push(S)}else{G=o.merge(G,S)}});if(I){for(var J=0;G[J];J++){if(o.nodeName(G[J],"script")&&(!G[J].type||G[J].type.toLowerCase()==="text/javascript")){E.push(G[J].parentNode?G[J].parentNode.removeChild(G[J]):G[J])}else{if(G[J].nodeType===1){G.splice.apply(G,[J+1,0].concat(o.makeArray(G[J].getElementsByTagName("script"))))}I.appendChild(G[J])}}return E}return G},attr:function(J,G,K){if(!J||J.nodeType==3||J.nodeType==8){return g}var H=!o.isXMLDoc(J),L=K!==g;G=H&&o.props[G]||G;if(J.tagName){var F=/href|src|style/.test(G);if(G=="selected"&&J.parentNode){J.parentNode.selectedIndex}if(G in J&&H&&!F){if(L){if(G=="type"&&o.nodeName(J,"input")&&J.parentNode){throw"type property can't be changed"}J[G]=K}if(o.nodeName(J,"form")&&J.getAttributeNode(G)){return J.getAttributeNode(G).nodeValue}if(G=="tabIndex"){var I=J.getAttributeNode("tabIndex");return I&&I.specified?I.value:J.nodeName.match(/(button|input|object|select|textarea)/i)?0:J.nodeName.match(/^(a|area)$/i)&&J.href?0:g}return J[G]}if(!o.support.style&&H&&G=="style"){return o.attr(J.style,"cssText",K)}if(L){J.setAttribute(G,""+K)}var E=!o.support.hrefNormalized&&H&&F?J.getAttribute(G,2):J.getAttribute(G);return E===null?g:E}if(!o.support.opacity&&G=="opacity"){if(L){J.zoom=1;J.filter=(J.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(K)+""=="NaN"?"":"alpha(opacity="+K*100+")")}return J.filter&&J.filter.indexOf("opacity=")>=0?(parseFloat(J.filter.match(/opacity=([^)]*)/)[1])/100)+"":""}G=G.replace(/-([a-z])/ig,function(M,N){return N.toUpperCase()});if(L){J[G]=K}return J[G]},trim:function(E){return(E||"").replace(/^\s+|\s+$/g,"")},makeArray:function(G){var E=[];if(G!=null){var F=G.length;if(F==null||typeof G==="string"||o.isFunction(G)||G.setInterval){E[0]=G}else{while(F){E[--F]=G[F]}}}return E},inArray:function(G,H){for(var E=0,F=H.length;E<F;E++){if(H[E]===G){return E}}return -1},merge:function(H,E){var F=0,G,I=H.length;if(!o.support.getAll){while((G=E[F++])!=null){if(G.nodeType!=8){H[I++]=G}}}else{while((G=E[F++])!=null){H[I++]=G}}return H},unique:function(K){var F=[],E={};try{for(var G=0,H=K.length;G<H;G++){var J=o.data(K[G]);if(!E[J]){E[J]=true;F.push(K[G])}}}catch(I){F=K}return F},grep:function(F,J,E){var G=[];for(var H=0,I=F.length;H<I;H++){if(!E!=!J(F[H],H)){G.push(F[H])}}return G},map:function(E,J){var F=[];for(var G=0,H=E.length;G<H;G++){var I=J(E[G],G);if(I!=null){F[F.length]=I}}return F.concat.apply([],F)}});var C=navigator.userAgent.toLowerCase();o.browser={version:(C.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,"0"])[1],safari:/webkit/.test(C),opera:/opera/.test(C),msie:/msie/.test(C)&&!/opera/.test(C),mozilla:/mozilla/.test(C)&&!/(compatible|webkit)/.test(C)};o.each({parent:function(E){return E.parentNode},parents:function(E){return o.dir(E,"parentNode")},next:function(E){return o.nth(E,2,"nextSibling")},prev:function(E){return o.nth(E,2,"previousSibling")},nextAll:function(E){return o.dir(E,"nextSibling")},prevAll:function(E){return o.dir(E,"previousSibling")},siblings:function(E){return o.sibling(E.parentNode.firstChild,E)},children:function(E){return o.sibling(E.firstChild)},contents:function(E){return o.nodeName(E,"iframe")?E.contentDocument||E.contentWindow.document:o.makeArray(E.childNodes)}},function(E,F){o.fn[E]=function(G){var H=o.map(this,F);if(G&&typeof G=="string"){H=o.multiFilter(G,H)}return this.pushStack(o.unique(H),E,G)}});o.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(E,F){o.fn[E]=function(G){var J=[],L=o(G);for(var K=0,H=L.length;K<H;K++){var I=(K>0?this.clone(true):this).get();o.fn[F].apply(o(L[K]),I);J=J.concat(I)}return this.pushStack(J,E,G)}});o.each({removeAttr:function(E){o.attr(this,E,"");if(this.nodeType==1){this.removeAttribute(E)}},addClass:function(E){o.className.add(this,E)},removeClass:function(E){o.className.remove(this,E)},toggleClass:function(F,E){if(typeof E!=="boolean"){E=!o.className.has(this,F)}o.className[E?"add":"remove"](this,F)},remove:function(E){if(!E||o.filter(E,[this]).length){o("*",this).add([this]).each(function(){o.event.remove(this);o.removeData(this)});if(this.parentNode){this.parentNode.removeChild(this)}}},empty:function(){o(this).children().remove();while(this.firstChild){this.removeChild(this.firstChild)}}},function(E,F){o.fn[E]=function(){return this.each(F,arguments)}});function j(E,F){return E[0]&&parseInt(o.curCSS(E[0],F,true),10)||0}var h="jQuery"+e(),v=0,A={};o.extend({cache:{},data:function(F,E,G){F=F==l?A:F;var H=F[h];if(!H){H=F[h]=++v}if(E&&!o.cache[H]){o.cache[H]={}}if(G!==g){o.cache[H][E]=G}return E?o.cache[H][E]:H},removeData:function(F,E){F=F==l?A:F;var H=F[h];if(E){if(o.cache[H]){delete o.cache[H][E];E="";for(E in o.cache[H]){break}if(!E){o.removeData(F)}}}else{try{delete F[h]}catch(G){if(F.removeAttribute){F.removeAttribute(h)}}delete o.cache[H]}},queue:function(F,E,H){if(F){E=(E||"fx")+"queue";var G=o.data(F,E);if(!G||o.isArray(H)){G=o.data(F,E,o.makeArray(H))}else{if(H){G.push(H)}}}return G},dequeue:function(H,G){var E=o.queue(H,G),F=E.shift();if(!G||G==="fx"){F=E[0]}if(F!==g){F.call(H)}}});o.fn.extend({data:function(E,G){var H=E.split(".");H[1]=H[1]?"."+H[1]:"";if(G===g){var F=this.triggerHandler("getData"+H[1]+"!",[H[0]]);if(F===g&&this.length){F=o.data(this[0],E)}return F===g&&H[1]?this.data(H[0]):F}else{return this.trigger("setData"+H[1]+"!",[H[0],G]).each(function(){o.data(this,E,G)})}},removeData:function(E){return this.each(function(){o.removeData(this,E)})},queue:function(E,F){if(typeof E!=="string"){F=E;E="fx"}if(F===g){return o.queue(this[0],E)}return this.each(function(){var G=o.queue(this,E,F);if(E=="fx"&&G.length==1){G[0].call(this)}})},dequeue:function(E){return this.each(function(){o.dequeue(this,E)})}});
+/*
+ * Sizzle CSS Selector Engine - v0.9.3
+ *  Copyright 2009, The Dojo Foundation
+ *  Released under the MIT, BSD, and GPL Licenses.
+ *  More information: http://sizzlejs.com/
+ */
+(function(){var R=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,L=0,H=Object.prototype.toString;var F=function(Y,U,ab,ac){ab=ab||[];U=U||document;if(U.nodeType!==1&&U.nodeType!==9){return[]}if(!Y||typeof Y!=="string"){return ab}var Z=[],W,af,ai,T,ad,V,X=true;R.lastIndex=0;while((W=R.exec(Y))!==null){Z.push(W[1]);if(W[2]){V=RegExp.rightContext;break}}if(Z.length>1&&M.exec(Y)){if(Z.length===2&&I.relative[Z[0]]){af=J(Z[0]+Z[1],U)}else{af=I.relative[Z[0]]?[U]:F(Z.shift(),U);while(Z.length){Y=Z.shift();if(I.relative[Y]){Y+=Z.shift()}af=J(Y,af)}}}else{var ae=ac?{expr:Z.pop(),set:E(ac)}:F.find(Z.pop(),Z.length===1&&U.parentNode?U.parentNode:U,Q(U));af=F.filter(ae.expr,ae.set);if(Z.length>0){ai=E(af)}else{X=false}while(Z.length){var ah=Z.pop(),ag=ah;if(!I.relative[ah]){ah=""}else{ag=Z.pop()}if(ag==null){ag=U}I.relative[ah](ai,ag,Q(U))}}if(!ai){ai=af}if(!ai){throw"Syntax error, unrecognized expression: "+(ah||Y)}if(H.call(ai)==="[object Array]"){if(!X){ab.push.apply(ab,ai)}else{if(U.nodeType===1){for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&(ai[aa]===true||ai[aa].nodeType===1&&K(U,ai[aa]))){ab.push(af[aa])}}}else{for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&ai[aa].nodeType===1){ab.push(af[aa])}}}}}else{E(ai,ab)}if(V){F(V,U,ab,ac);if(G){hasDuplicate=false;ab.sort(G);if(hasDuplicate){for(var aa=1;aa<ab.length;aa++){if(ab[aa]===ab[aa-1]){ab.splice(aa--,1)}}}}}return ab};F.matches=function(T,U){return F(T,null,null,U)};F.find=function(aa,T,ab){var Z,X;if(!aa){return[]}for(var W=0,V=I.order.length;W<V;W++){var Y=I.order[W],X;if((X=I.match[Y].exec(aa))){var U=RegExp.leftContext;if(U.substr(U.length-1)!=="\\"){X[1]=(X[1]||"").replace(/\\/g,"");Z=I.find[Y](X,T,ab);if(Z!=null){aa=aa.replace(I.match[Y],"");break}}}}if(!Z){Z=T.getElementsByTagName("*")}return{set:Z,expr:aa}};F.filter=function(ad,ac,ag,W){var V=ad,ai=[],aa=ac,Y,T,Z=ac&&ac[0]&&Q(ac[0]);while(ad&&ac.length){for(var ab in I.filter){if((Y=I.match[ab].exec(ad))!=null){var U=I.filter[ab],ah,af;T=false;if(aa==ai){ai=[]}if(I.preFilter[ab]){Y=I.preFilter[ab](Y,aa,ag,ai,W,Z);if(!Y){T=ah=true}else{if(Y===true){continue}}}if(Y){for(var X=0;(af=aa[X])!=null;X++){if(af){ah=U(af,Y,X,aa);var ae=W^!!ah;if(ag&&ah!=null){if(ae){T=true}else{aa[X]=false}}else{if(ae){ai.push(af);T=true}}}}}if(ah!==g){if(!ag){aa=ai}ad=ad.replace(I.match[ab],"");if(!T){return[]}break}}}if(ad==V){if(T==null){throw"Syntax error, unrecognized expression: "+ad}else{break}}V=ad}return aa};var I=F.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF_-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF_-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*_-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF_-]|\\.)+)(?:\((['"]*)((?:\([^\)]+\)|[^\2\(\)]*)+)\2\))?/},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(T){return T.getAttribute("href")}},relative:{"+":function(aa,T,Z){var X=typeof T==="string",ab=X&&!/\W/.test(T),Y=X&&!ab;if(ab&&!Z){T=T.toUpperCase()}for(var W=0,V=aa.length,U;W<V;W++){if((U=aa[W])){while((U=U.previousSibling)&&U.nodeType!==1){}aa[W]=Y||U&&U.nodeName===T?U||false:U===T}}if(Y){F.filter(T,aa,true)}},">":function(Z,U,aa){var X=typeof U==="string";if(X&&!/\W/.test(U)){U=aa?U:U.toUpperCase();for(var V=0,T=Z.length;V<T;V++){var Y=Z[V];if(Y){var W=Y.parentNode;Z[V]=W.nodeName===U?W:false}}}else{for(var V=0,T=Z.length;V<T;V++){var Y=Z[V];if(Y){Z[V]=X?Y.parentNode:Y.parentNode===U}}if(X){F.filter(U,Z,true)}}},"":function(W,U,Y){var V=L++,T=S;if(!U.match(/\W/)){var X=U=Y?U:U.toUpperCase();T=P}T("parentNode",U,V,W,X,Y)},"~":function(W,U,Y){var V=L++,T=S;if(typeof U==="string"&&!U.match(/\W/)){var X=U=Y?U:U.toUpperCase();T=P}T("previousSibling",U,V,W,X,Y)}},find:{ID:function(U,V,W){if(typeof V.getElementById!=="undefined"&&!W){var T=V.getElementById(U[1]);return T?[T]:[]}},NAME:function(V,Y,Z){if(typeof Y.getElementsByName!=="undefined"){var U=[],X=Y.getElementsByName(V[1]);for(var W=0,T=X.length;W<T;W++){if(X[W].getAttribute("name")===V[1]){U.push(X[W])}}return U.length===0?null:U}},TAG:function(T,U){return U.getElementsByTagName(T[1])}},preFilter:{CLASS:function(W,U,V,T,Z,aa){W=" "+W[1].replace(/\\/g,"")+" ";if(aa){return W}for(var X=0,Y;(Y=U[X])!=null;X++){if(Y){if(Z^(Y.className&&(" "+Y.className+" ").indexOf(W)>=0)){if(!V){T.push(Y)}}else{if(V){U[X]=false}}}}return false},ID:function(T){return T[1].replace(/\\/g,"")},TAG:function(U,T){for(var V=0;T[V]===false;V++){}return T[V]&&Q(T[V])?U[1]:U[1].toUpperCase()},CHILD:function(T){if(T[1]=="nth"){var U=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(T[2]=="even"&&"2n"||T[2]=="odd"&&"2n+1"||!/\D/.test(T[2])&&"0n+"+T[2]||T[2]);T[2]=(U[1]+(U[2]||1))-0;T[3]=U[3]-0}T[0]=L++;return T},ATTR:function(X,U,V,T,Y,Z){var W=X[1].replace(/\\/g,"");if(!Z&&I.attrMap[W]){X[1]=I.attrMap[W]}if(X[2]==="~="){X[4]=" "+X[4]+" "}return X},PSEUDO:function(X,U,V,T,Y){if(X[1]==="not"){if(X[3].match(R).length>1||/^\w/.test(X[3])){X[3]=F(X[3],null,null,U)}else{var W=F.filter(X[3],U,V,true^Y);if(!V){T.push.apply(T,W)}return false}}else{if(I.match.POS.test(X[0])||I.match.CHILD.test(X[0])){return true}}return X},POS:function(T){T.unshift(true);return T}},filters:{enabled:function(T){return T.disabled===false&&T.type!=="hidden"},disabled:function(T){return T.disabled===true},checked:function(T){return T.checked===true},selected:function(T){T.parentNode.selectedIndex;return T.selected===true},parent:function(T){return !!T.firstChild},empty:function(T){return !T.firstChild},has:function(V,U,T){return !!F(T[3],V).length},header:function(T){return/h\d/i.test(T.nodeName)},text:function(T){return"text"===T.type},radio:function(T){return"radio"===T.type},checkbox:function(T){return"checkbox"===T.type},file:function(T){return"file"===T.type},password:function(T){return"password"===T.type},submit:function(T){return"submit"===T.type},image:function(T){return"image"===T.type},reset:function(T){return"reset"===T.type},button:function(T){return"button"===T.type||T.nodeName.toUpperCase()==="BUTTON"},input:function(T){return/input|select|textarea|button/i.test(T.nodeName)}},setFilters:{first:function(U,T){return T===0},last:function(V,U,T,W){return U===W.length-1},even:function(U,T){return T%2===0},odd:function(U,T){return T%2===1},lt:function(V,U,T){return U<T[3]-0},gt:function(V,U,T){return U>T[3]-0},nth:function(V,U,T){return T[3]-0==U},eq:function(V,U,T){return T[3]-0==U}},filter:{PSEUDO:function(Z,V,W,aa){var U=V[1],X=I.filters[U];if(X){return X(Z,W,V,aa)}else{if(U==="contains"){return(Z.textContent||Z.innerText||"").indexOf(V[3])>=0}else{if(U==="not"){var Y=V[3];for(var W=0,T=Y.length;W<T;W++){if(Y[W]===Z){return false}}return true}}}},CHILD:function(T,W){var Z=W[1],U=T;switch(Z){case"only":case"first":while(U=U.previousSibling){if(U.nodeType===1){return false}}if(Z=="first"){return true}U=T;case"last":while(U=U.nextSibling){if(U.nodeType===1){return false}}return true;case"nth":var V=W[2],ac=W[3];if(V==1&&ac==0){return true}var Y=W[0],ab=T.parentNode;if(ab&&(ab.sizcache!==Y||!T.nodeIndex)){var X=0;for(U=ab.firstChild;U;U=U.nextSibling){if(U.nodeType===1){U.nodeIndex=++X}}ab.sizcache=Y}var aa=T.nodeIndex-ac;if(V==0){return aa==0}else{return(aa%V==0&&aa/V>=0)}}},ID:function(U,T){return U.nodeType===1&&U.getAttribute("id")===T},TAG:function(U,T){return(T==="*"&&U.nodeType===1)||U.nodeName===T},CLASS:function(U,T){return(" "+(U.className||U.getAttribute("class"))+" ").indexOf(T)>-1},ATTR:function(Y,W){var V=W[1],T=I.attrHandle[V]?I.attrHandle[V](Y):Y[V]!=null?Y[V]:Y.getAttribute(V),Z=T+"",X=W[2],U=W[4];return T==null?X==="!=":X==="="?Z===U:X==="*="?Z.indexOf(U)>=0:X==="~="?(" "+Z+" ").indexOf(U)>=0:!U?Z&&T!==false:X==="!="?Z!=U:X==="^="?Z.indexOf(U)===0:X==="$="?Z.substr(Z.length-U.length)===U:X==="|="?Z===U||Z.substr(0,U.length+1)===U+"-":false},POS:function(X,U,V,Y){var T=U[2],W=I.setFilters[T];if(W){return W(X,V,U,Y)}}}};var M=I.match.POS;for(var O in I.match){I.match[O]=RegExp(I.match[O].source+/(?![^\[]*\])(?![^\(]*\))/.source)}var E=function(U,T){U=Array.prototype.slice.call(U);if(T){T.push.apply(T,U);return T}return U};try{Array.prototype.slice.call(document.documentElement.childNodes)}catch(N){E=function(X,W){var U=W||[];if(H.call(X)==="[object Array]"){Array.prototype.push.apply(U,X)}else{if(typeof X.length==="number"){for(var V=0,T=X.length;V<T;V++){U.push(X[V])}}else{for(var V=0;X[V];V++){U.push(X[V])}}}return U}}var G;if(document.documentElement.compareDocumentPosition){G=function(U,T){var V=U.compareDocumentPosition(T)&4?-1:U===T?0:1;if(V===0){hasDuplicate=true}return V}}else{if("sourceIndex" in document.documentElement){G=function(U,T){var V=U.sourceIndex-T.sourceIndex;if(V===0){hasDuplicate=true}return V}}else{if(document.createRange){G=function(W,U){var V=W.ownerDocument.createRange(),T=U.ownerDocument.createRange();V.selectNode(W);V.collapse(true);T.selectNode(U);T.collapse(true);var X=V.compareBoundaryPoints(Range.START_TO_END,T);if(X===0){hasDuplicate=true}return X}}}}(function(){var U=document.createElement("form"),V="script"+(new Date).getTime();U.innerHTML="<input name='"+V+"'/>";var T=document.documentElement;T.insertBefore(U,T.firstChild);if(!!document.getElementById(V)){I.find.ID=function(X,Y,Z){if(typeof Y.getElementById!=="undefined"&&!Z){var W=Y.getElementById(X[1]);return W?W.id===X[1]||typeof W.getAttributeNode!=="undefined"&&W.getAttributeNode("id").nodeValue===X[1]?[W]:g:[]}};I.filter.ID=function(Y,W){var X=typeof Y.getAttributeNode!=="undefined"&&Y.getAttributeNode("id");return Y.nodeType===1&&X&&X.nodeValue===W}}T.removeChild(U)})();(function(){var T=document.createElement("div");T.appendChild(document.createComment(""));if(T.getElementsByTagName("*").length>0){I.find.TAG=function(U,Y){var X=Y.getElementsByTagName(U[1]);if(U[1]==="*"){var W=[];for(var V=0;X[V];V++){if(X[V].nodeType===1){W.push(X[V])}}X=W}return X}}T.innerHTML="<a href='#'></a>";if(T.firstChild&&typeof T.firstChild.getAttribute!=="undefined"&&T.firstChild.getAttribute("href")!=="#"){I.attrHandle.href=function(U){return U.getAttribute("href",2)}}})();if(document.querySelectorAll){(function(){var T=F,U=document.createElement("div");U.innerHTML="<p class='TEST'></p>";if(U.querySelectorAll&&U.querySelectorAll(".TEST").length===0){return}F=function(Y,X,V,W){X=X||document;if(!W&&X.nodeType===9&&!Q(X)){try{return E(X.querySelectorAll(Y),V)}catch(Z){}}return T(Y,X,V,W)};F.find=T.find;F.filter=T.filter;F.selectors=T.selectors;F.matches=T.matches})()}if(document.getElementsByClassName&&document.documentElement.getElementsByClassName){(function(){var T=document.createElement("div");T.innerHTML="<div class='test e'></div><div class='test'></div>";if(T.getElementsByClassName("e").length===0){return}T.lastChild.className="e";if(T.getElementsByClassName("e").length===1){return}I.order.splice(1,0,"CLASS");I.find.CLASS=function(U,V,W){if(typeof V.getElementsByClassName!=="undefined"&&!W){return V.getElementsByClassName(U[1])}}})()}function P(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W<V;W++){var T=ad[W];if(T){if(ab&&T.nodeType===1){T.sizcache=Y;T.sizset=W}T=T[U];var X=false;while(T){if(T.sizcache===Y){X=ad[T.sizset];break}if(T.nodeType===1&&!ac){T.sizcache=Y;T.sizset=W}if(T.nodeName===Z){X=T;break}T=T[U]}ad[W]=X}}}function S(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W<V;W++){var T=ad[W];if(T){if(ab&&T.nodeType===1){T.sizcache=Y;T.sizset=W}T=T[U];var X=false;while(T){if(T.sizcache===Y){X=ad[T.sizset];break}if(T.nodeType===1){if(!ac){T.sizcache=Y;T.sizset=W}if(typeof Z!=="string"){if(T===Z){X=true;break}}else{if(F.filter(Z,[T]).length>0){X=T;break}}}T=T[U]}ad[W]=X}}}var K=document.compareDocumentPosition?function(U,T){return U.compareDocumentPosition(T)&16}:function(U,T){return U!==T&&(U.contains?U.contains(T):true)};var Q=function(T){return T.nodeType===9&&T.documentElement.nodeName!=="HTML"||!!T.ownerDocument&&Q(T.ownerDocument)};var J=function(T,aa){var W=[],X="",Y,V=aa.nodeType?[aa]:aa;while((Y=I.match.PSEUDO.exec(T))){X+=Y[0];T=T.replace(I.match.PSEUDO,"")}T=I.relative[T]?T+"*":T;for(var Z=0,U=V.length;Z<U;Z++){F(T,V[Z],W)}return F.filter(X,W)};o.find=F;o.filter=F.filter;o.expr=F.selectors;o.expr[":"]=o.expr.filters;F.selectors.filters.hidden=function(T){return T.offsetWidth===0||T.offsetHeight===0};F.selectors.filters.visible=function(T){return T.offsetWidth>0||T.offsetHeight>0};F.selectors.filters.animated=function(T){return o.grep(o.timers,function(U){return T===U.elem}).length};o.multiFilter=function(V,T,U){if(U){V=":not("+V+")"}return F.matches(V,T)};o.dir=function(V,U){var T=[],W=V[U];while(W&&W!=document){if(W.nodeType==1){T.push(W)}W=W[U]}return T};o.nth=function(X,T,V,W){T=T||1;var U=0;for(;X;X=X[V]){if(X.nodeType==1&&++U==T){break}}return X};o.sibling=function(V,U){var T=[];for(;V;V=V.nextSibling){if(V.nodeType==1&&V!=U){T.push(V)}}return T};return;l.Sizzle=F})();o.event={add:function(I,F,H,K){if(I.nodeType==3||I.nodeType==8){return}if(I.setInterval&&I!=l){I=l}if(!H.guid){H.guid=this.guid++}if(K!==g){var G=H;H=this.proxy(G);H.data=K}var E=o.data(I,"events")||o.data(I,"events",{}),J=o.data(I,"handle")||o.data(I,"handle",function(){return typeof o!=="undefined"&&!o.event.triggered?o.event.handle.apply(arguments.callee.elem,arguments):g});J.elem=I;o.each(F.split(/\s+/),function(M,N){var O=N.split(".");N=O.shift();H.type=O.slice().sort().join(".");var L=E[N];if(o.event.specialAll[N]){o.event.specialAll[N].setup.call(I,K,O)}if(!L){L=E[N]={};if(!o.event.special[N]||o.event.special[N].setup.call(I,K,O)===false){if(I.addEventListener){I.addEventListener(N,J,false)}else{if(I.attachEvent){I.attachEvent("on"+N,J)}}}}L[H.guid]=H;o.event.global[N]=true});I=null},guid:1,global:{},remove:function(K,H,J){if(K.nodeType==3||K.nodeType==8){return}var G=o.data(K,"events"),F,E;if(G){if(H===g||(typeof H==="string"&&H.charAt(0)==".")){for(var I in G){this.remove(K,I+(H||""))}}else{if(H.type){J=H.handler;H=H.type}o.each(H.split(/\s+/),function(M,O){var Q=O.split(".");O=Q.shift();var N=RegExp("(^|\\.)"+Q.slice().sort().join(".*\\.")+"(\\.|$)");if(G[O]){if(J){delete G[O][J.guid]}else{for(var P in G[O]){if(N.test(G[O][P].type)){delete G[O][P]}}}if(o.event.specialAll[O]){o.event.specialAll[O].teardown.call(K,Q)}for(F in G[O]){break}if(!F){if(!o.event.special[O]||o.event.special[O].teardown.call(K,Q)===false){if(K.removeEventListener){K.removeEventListener(O,o.data(K,"handle"),false)}else{if(K.detachEvent){K.detachEvent("on"+O,o.data(K,"handle"))}}}F=null;delete G[O]}}})}for(F in G){break}if(!F){var L=o.data(K,"handle");if(L){L.elem=null}o.removeData(K,"events");o.removeData(K,"handle")}}},trigger:function(I,K,H,E){var G=I.type||I;if(!E){I=typeof I==="object"?I[h]?I:o.extend(o.Event(G),I):o.Event(G);if(G.indexOf("!")>=0){I.type=G=G.slice(0,-1);I.exclusive=true}if(!H){I.stopPropagation();if(this.global[G]){o.each(o.cache,function(){if(this.events&&this.events[G]){o.event.trigger(I,K,this.handle.elem)}})}}if(!H||H.nodeType==3||H.nodeType==8){return g}I.result=g;I.target=H;K=o.makeArray(K);K.unshift(I)}I.currentTarget=H;var J=o.data(H,"handle");if(J){J.apply(H,K)}if((!H[G]||(o.nodeName(H,"a")&&G=="click"))&&H["on"+G]&&H["on"+G].apply(H,K)===false){I.result=false}if(!E&&H[G]&&!I.isDefaultPrevented()&&!(o.nodeName(H,"a")&&G=="click")){this.triggered=true;try{H[G]()}catch(L){}}this.triggered=false;if(!I.isPropagationStopped()){var F=H.parentNode||H.ownerDocument;if(F){o.event.trigger(I,K,F,true)}}},handle:function(K){var J,E;K=arguments[0]=o.event.fix(K||l.event);K.currentTarget=this;var L=K.type.split(".");K.type=L.shift();J=!L.length&&!K.exclusive;var I=RegExp("(^|\\.)"+L.slice().sort().join(".*\\.")+"(\\.|$)");E=(o.data(this,"events")||{})[K.type];for(var G in E){var H=E[G];if(J||I.test(H.type)){K.handler=H;K.data=H.data;var F=H.apply(this,arguments);if(F!==g){K.result=F;if(F===false){K.preventDefault();K.stopPropagation()}}if(K.isImmediatePropagationStopped()){break}}}},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(H){if(H[h]){return H}var F=H;H=o.Event(F);for(var G=this.props.length,J;G;){J=this.props[--G];H[J]=F[J]}if(!H.target){H.target=H.srcElement||document}if(H.target.nodeType==3){H.target=H.target.parentNode}if(!H.relatedTarget&&H.fromElement){H.relatedTarget=H.fromElement==H.target?H.toElement:H.fromElement}if(H.pageX==null&&H.clientX!=null){var I=document.documentElement,E=document.body;H.pageX=H.clientX+(I&&I.scrollLeft||E&&E.scrollLeft||0)-(I.clientLeft||0);H.pageY=H.clientY+(I&&I.scrollTop||E&&E.scrollTop||0)-(I.clientTop||0)}if(!H.which&&((H.charCode||H.charCode===0)?H.charCode:H.keyCode)){H.which=H.charCode||H.keyCode}if(!H.metaKey&&H.ctrlKey){H.metaKey=H.ctrlKey}if(!H.which&&H.button){H.which=(H.button&1?1:(H.button&2?3:(H.button&4?2:0)))}return H},proxy:function(F,E){E=E||function(){return F.apply(this,arguments)};E.guid=F.guid=F.guid||E.guid||this.guid++;return E},special:{ready:{setup:B,teardown:function(){}}},specialAll:{live:{setup:function(E,F){o.event.add(this,F[0],c)},teardown:function(G){if(G.length){var E=0,F=RegExp("(^|\\.)"+G[0]+"(\\.|$)");o.each((o.data(this,"events").live||{}),function(){if(F.test(this.type)){E++}});if(E<1){o.event.remove(this,G[0],c)}}}}}};o.Event=function(E){if(!this.preventDefault){return new o.Event(E)}if(E&&E.type){this.originalEvent=E;this.type=E.type}else{this.type=E}this.timeStamp=e();this[h]=true};function k(){return false}function u(){return true}o.Event.prototype={preventDefault:function(){this.isDefaultPrevented=u;var E=this.originalEvent;if(!E){return}if(E.preventDefault){E.preventDefault()}E.returnValue=false},stopPropagation:function(){this.isPropagationStopped=u;var E=this.originalEvent;if(!E){return}if(E.stopPropagation){E.stopPropagation()}E.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=u;this.stopPropagation()},isDefaultPrevented:k,isPropagationStopped:k,isImmediatePropagationStopped:k};var a=function(F){var E=F.relatedTarget;while(E&&E!=this){try{E=E.parentNode}catch(G){E=this}}if(E!=this){F.type=F.data;o.event.handle.apply(this,arguments)}};o.each({mouseover:"mouseenter",mouseout:"mouseleave"},function(F,E){o.event.special[E]={setup:function(){o.event.add(this,F,a,E)},teardown:function(){o.event.remove(this,F,a)}}});o.fn.extend({bind:function(F,G,E){return F=="unload"?this.one(F,G,E):this.each(function(){o.event.add(this,F,E||G,E&&G)})},one:function(G,H,F){var E=o.event.proxy(F||H,function(I){o(this).unbind(I,E);return(F||H).apply(this,arguments)});return this.each(function(){o.event.add(this,G,E,F&&H)})},unbind:function(F,E){return this.each(function(){o.event.remove(this,F,E)})},trigger:function(E,F){return this.each(function(){o.event.trigger(E,F,this)})},triggerHandler:function(E,G){if(this[0]){var F=o.Event(E);F.preventDefault();F.stopPropagation();o.event.trigger(F,G,this[0]);return F.result}},toggle:function(G){var E=arguments,F=1;while(F<E.length){o.event.proxy(G,E[F++])}return this.click(o.event.proxy(G,function(H){this.lastToggle=(this.lastToggle||0)%F;H.preventDefault();return E[this.lastToggle++].apply(this,arguments)||false}))},hover:function(E,F){return this.mouseenter(E).mouseleave(F)},ready:function(E){B();if(o.isReady){E.call(document,o)}else{o.readyList.push(E)}return this},live:function(G,F){var E=o.event.proxy(F);E.guid+=this.selector+G;o(document).bind(i(G,this.selector),this.selector,E);return this},die:function(F,E){o(document).unbind(i(F,this.selector),E?{guid:E.guid+this.selector+F}:null);return this}});function c(H){var E=RegExp("(^|\\.)"+H.type+"(\\.|$)"),G=true,F=[];o.each(o.data(this,"events").live||[],function(I,J){if(E.test(J.type)){var K=o(H.target).closest(J.data)[0];if(K){F.push({elem:K,fn:J})}}});F.sort(function(J,I){return o.data(J.elem,"closest")-o.data(I.elem,"closest")});o.each(F,function(){if(this.fn.call(this.elem,H,this.fn.data)===false){return(G=false)}});return G}function i(F,E){return["live",F,E.replace(/\./g,"`").replace(/ /g,"|")].join(".")}o.extend({isReady:false,readyList:[],ready:function(){if(!o.isReady){o.isReady=true;if(o.readyList){o.each(o.readyList,function(){this.call(document,o)});o.readyList=null}o(document).triggerHandler("ready")}}});var x=false;function B(){if(x){return}x=true;if(document.addEventListener){document.addEventListener("DOMContentLoaded",function(){document.removeEventListener("DOMContentLoaded",arguments.callee,false);o.ready()},false)}else{if(document.attachEvent){document.attachEvent("onreadystatechange",function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",arguments.callee);o.ready()}});if(document.documentElement.doScroll&&l==l.top){(function(){if(o.isReady){return}try{document.documentElement.doScroll("left")}catch(E){setTimeout(arguments.callee,0);return}o.ready()})()}}}o.event.add(l,"load",o.ready)}o.each(("blur,focus,load,resize,scroll,unload,click,dblclick,mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave,change,select,submit,keydown,keypress,keyup,error").split(","),function(F,E){o.fn[E]=function(G){return G?this.bind(E,G):this.trigger(E)}});o(l).bind("unload",function(){for(var E in o.cache){if(E!=1&&o.cache[E].handle){o.event.remove(o.cache[E].handle.elem)}}});(function(){o.support={};var F=document.documentElement,G=document.createElement("script"),K=document.createElement("div"),J="script"+(new Date).getTime();K.style.display="none";K.innerHTML='   <link/><table></table><a href="/a" style="color:red;float:left;opacity:.5;">a</a><select><option>text</option></select><object><param/></object>';var H=K.getElementsByTagName("*"),E=K.getElementsByTagName("a")[0];if(!H||!H.length||!E){return}o.support={leadingWhitespace:K.firstChild.nodeType==3,tbody:!K.getElementsByTagName("tbody").length,objectAll:!!K.getElementsByTagName("object")[0].getElementsByTagName("*").length,htmlSerialize:!!K.getElementsByTagName("link").length,style:/red/.test(E.getAttribute("style")),hrefNormalized:E.getAttribute("href")==="/a",opacity:E.style.opacity==="0.5",cssFloat:!!E.style.cssFloat,scriptEval:false,noCloneEvent:true,boxModel:null};G.type="text/javascript";try{G.appendChild(document.createTextNode("window."+J+"=1;"))}catch(I){}F.insertBefore(G,F.firstChild);if(l[J]){o.support.scriptEval=true;delete l[J]}F.removeChild(G);if(K.attachEvent&&K.fireEvent){K.attachEvent("onclick",function(){o.support.noCloneEvent=false;K.detachEvent("onclick",arguments.callee)});K.cloneNode(true).fireEvent("onclick")}o(function(){var L=document.createElement("div");L.style.width=L.style.paddingLeft="1px";document.body.appendChild(L);o.boxModel=o.support.boxModel=L.offsetWidth===2;document.body.removeChild(L).style.display="none"})})();var w=o.support.cssFloat?"cssFloat":"styleFloat";o.props={"for":"htmlFor","class":"className","float":w,cssFloat:w,styleFloat:w,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",tabindex:"tabIndex"};o.fn.extend({_load:o.fn.load,load:function(G,J,K){if(typeof G!=="string"){return this._load(G)}var I=G.indexOf(" ");if(I>=0){var E=G.slice(I,G.length);G=G.slice(0,I)}var H="GET";if(J){if(o.isFunction(J)){K=J;J=null}else{if(typeof J==="object"){J=o.param(J);H="POST"}}}var F=this;o.ajax({url:G,type:H,dataType:"html",data:J,complete:function(M,L){if(L=="success"||L=="notmodified"){F.html(E?o("<div/>").append(M.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(E):M.responseText)}if(K){F.each(K,[M.responseText,L,M])}}});return this},serialize:function(){return o.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?o.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password|search/i.test(this.type))}).map(function(E,F){var G=o(this).val();return G==null?null:o.isArray(G)?o.map(G,function(I,H){return{name:F.name,value:I}}):{name:F.name,value:G}}).get()}});o.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(E,F){o.fn[F]=function(G){return this.bind(F,G)}});var r=e();o.extend({get:function(E,G,H,F){if(o.isFunction(G)){H=G;G=null}return o.ajax({type:"GET",url:E,data:G,success:H,dataType:F})},getScript:function(E,F){return o.get(E,null,F,"script")},getJSON:function(E,F,G){return o.get(E,F,G,"json")},post:function(E,G,H,F){if(o.isFunction(G)){H=G;G={}}return o.ajax({type:"POST",url:E,data:G,success:H,dataType:F})},ajaxSetup:function(E){o.extend(o.ajaxSettings,E)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return l.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest()},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(M){M=o.extend(true,M,o.extend(true,{},o.ajaxSettings,M));var W,F=/=\?(&|$)/g,R,V,G=M.type.toUpperCase();if(M.data&&M.processData&&typeof M.data!=="string"){M.data=o.param(M.data)}if(M.dataType=="jsonp"){if(G=="GET"){if(!M.url.match(F)){M.url+=(M.url.match(/\?/)?"&":"?")+(M.jsonp||"callback")+"=?"}}else{if(!M.data||!M.data.match(F)){M.data=(M.data?M.data+"&":"")+(M.jsonp||"callback")+"=?"}}M.dataType="json"}if(M.dataType=="json"&&(M.data&&M.data.match(F)||M.url.match(F))){W="jsonp"+r++;if(M.data){M.data=(M.data+"").replace(F,"="+W+"$1")}M.url=M.url.replace(F,"="+W+"$1");M.dataType="script";l[W]=function(X){V=X;I();L();l[W]=g;try{delete l[W]}catch(Y){}if(H){H.removeChild(T)}}}if(M.dataType=="script"&&M.cache==null){M.cache=false}if(M.cache===false&&G=="GET"){var E=e();var U=M.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+E+"$2");M.url=U+((U==M.url)?(M.url.match(/\?/)?"&":"?")+"_="+E:"")}if(M.data&&G=="GET"){M.url+=(M.url.match(/\?/)?"&":"?")+M.data;M.data=null}if(M.global&&!o.active++){o.event.trigger("ajaxStart")}var Q=/^(\w+:)?\/\/([^\/?#]+)/.exec(M.url);if(M.dataType=="script"&&G=="GET"&&Q&&(Q[1]&&Q[1]!=location.protocol||Q[2]!=location.host)){var H=document.getElementsByTagName("head")[0];var T=document.createElement("script");T.src=M.url;if(M.scriptCharset){T.charset=M.scriptCharset}if(!W){var O=false;T.onload=T.onreadystatechange=function(){if(!O&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){O=true;I();L();T.onload=T.onreadystatechange=null;H.removeChild(T)}}}H.appendChild(T);return g}var K=false;var J=M.xhr();if(M.username){J.open(G,M.url,M.async,M.username,M.password)}else{J.open(G,M.url,M.async)}try{if(M.data){J.setRequestHeader("Content-Type",M.contentType)}if(M.ifModified){J.setRequestHeader("If-Modified-Since",o.lastModified[M.url]||"Thu, 01 Jan 1970 00:00:00 GMT")}J.setRequestHeader("X-Requested-With","XMLHttpRequest");J.setRequestHeader("Accept",M.dataType&&M.accepts[M.dataType]?M.accepts[M.dataType]+", */*":M.accepts._default)}catch(S){}if(M.beforeSend&&M.beforeSend(J,M)===false){if(M.global&&!--o.active){o.event.trigger("ajaxStop")}J.abort();return false}if(M.global){o.event.trigger("ajaxSend",[J,M])}var N=function(X){if(J.readyState==0){if(P){clearInterval(P);P=null;if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}}else{if(!K&&J&&(J.readyState==4||X=="timeout")){K=true;if(P){clearInterval(P);P=null}R=X=="timeout"?"timeout":!o.httpSuccess(J)?"error":M.ifModified&&o.httpNotModified(J,M.url)?"notmodified":"success";if(R=="success"){try{V=o.httpData(J,M.dataType,M)}catch(Z){R="parsererror"}}if(R=="success"){var Y;try{Y=J.getResponseHeader("Last-Modified")}catch(Z){}if(M.ifModified&&Y){o.lastModified[M.url]=Y}if(!W){I()}}else{o.handleError(M,J,R)}L();if(X){J.abort()}if(M.async){J=null}}}};if(M.async){var P=setInterval(N,13);if(M.timeout>0){setTimeout(function(){if(J&&!K){N("timeout")}},M.timeout)}}try{J.send(M.data)}catch(S){o.handleError(M,J,null,S)}if(!M.async){N()}function I(){if(M.success){M.success(V,R)}if(M.global){o.event.trigger("ajaxSuccess",[J,M])}}function L(){if(M.complete){M.complete(J,R)}if(M.global){o.event.trigger("ajaxComplete",[J,M])}if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}return J},handleError:function(F,H,E,G){if(F.error){F.error(H,E,G)}if(F.global){o.event.trigger("ajaxError",[H,F,G])}},active:0,httpSuccess:function(F){try{return !F.status&&location.protocol=="file:"||(F.status>=200&&F.status<300)||F.status==304||F.status==1223}catch(E){}return false},httpNotModified:function(G,E){try{var H=G.getResponseHeader("Last-Modified");return G.status==304||H==o.lastModified[E]}catch(F){}return false},httpData:function(J,H,G){var F=J.getResponseHeader("content-type"),E=H=="xml"||!H&&F&&F.indexOf("xml")>=0,I=E?J.responseXML:J.responseText;if(E&&I.documentElement.tagName=="parsererror"){throw"parsererror"}if(G&&G.dataFilter){I=G.dataFilter(I,H)}if(typeof I==="string"){if(H=="script"){o.globalEval(I)}if(H=="json"){I=l["eval"]("("+I+")")}}return I},param:function(E){var G=[];function H(I,J){G[G.length]=encodeURIComponent(I)+"="+encodeURIComponent(J)}if(o.isArray(E)||E.jquery){o.each(E,function(){H(this.name,this.value)})}else{for(var F in E){if(o.isArray(E[F])){o.each(E[F],function(){H(F,this)})}else{H(F,o.isFunction(E[F])?E[F]():E[F])}}}return G.join("&").replace(/%20/g,"+")}});var m={},n,d=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];function t(F,E){var G={};o.each(d.concat.apply([],d.slice(0,E)),function(){G[this]=F});return G}o.fn.extend({show:function(J,L){if(J){return this.animate(t("show",3),J,L)}else{for(var H=0,F=this.length;H<F;H++){var E=o.data(this[H],"olddisplay");this[H].style.display=E||"";if(o.css(this[H],"display")==="none"){var G=this[H].tagName,K;if(m[G]){K=m[G]}else{var I=o("<"+G+" />").appendTo("body");K=I.css("display");if(K==="none"){K="block"}I.remove();m[G]=K}o.data(this[H],"olddisplay",K)}}for(var H=0,F=this.length;H<F;H++){this[H].style.display=o.data(this[H],"olddisplay")||""}return this}},hide:function(H,I){if(H){return this.animate(t("hide",3),H,I)}else{for(var G=0,F=this.length;G<F;G++){var E=o.data(this[G],"olddisplay");if(!E&&E!=="none"){o.data(this[G],"olddisplay",o.css(this[G],"display"))}}for(var G=0,F=this.length;G<F;G++){this[G].style.display="none"}return this}},_toggle:o.fn.toggle,toggle:function(G,F){var E=typeof G==="boolean";return o.isFunction(G)&&o.isFunction(F)?this._toggle.apply(this,arguments):G==null||E?this.each(function(){var H=E?G:o(this).is(":hidden");o(this)[H?"show":"hide"]()}):this.animate(t("toggle",3),G,F)},fadeTo:function(E,G,F){return this.animate({opacity:G},E,F)},animate:function(I,F,H,G){var E=o.speed(F,H,G);return this[E.queue===false?"each":"queue"](function(){var K=o.extend({},E),M,L=this.nodeType==1&&o(this).is(":hidden"),J=this;for(M in I){if(I[M]=="hide"&&L||I[M]=="show"&&!L){return K.complete.call(this)}if((M=="height"||M=="width")&&this.style){K.display=o.css(this,"display");K.overflow=this.style.overflow}}if(K.overflow!=null){this.style.overflow="hidden"}K.curAnim=o.extend({},I);o.each(I,function(O,S){var R=new o.fx(J,K,O);if(/toggle|show|hide/.test(S)){R[S=="toggle"?L?"show":"hide":S](I)}else{var Q=S.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),T=R.cur(true)||0;if(Q){var N=parseFloat(Q[2]),P=Q[3]||"px";if(P!="px"){J.style[O]=(N||1)+P;T=((N||1)/R.cur(true))*T;J.style[O]=T+P}if(Q[1]){N=((Q[1]=="-="?-1:1)*N)+T}R.custom(T,N,P)}else{R.custom(T,S,"")}}});return true})},stop:function(F,E){var G=o.timers;if(F){this.queue([])}this.each(function(){for(var H=G.length-1;H>=0;H--){if(G[H].elem==this){if(E){G[H](true)}G.splice(H,1)}}});if(!E){this.dequeue()}return this}});o.each({slideDown:t("show",1),slideUp:t("hide",1),slideToggle:t("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(E,F){o.fn[E]=function(G,H){return this.animate(F,G,H)}});o.extend({speed:function(G,H,F){var E=typeof G==="object"?G:{complete:F||!F&&H||o.isFunction(G)&&G,duration:G,easing:F&&H||H&&!o.isFunction(H)&&H};E.duration=o.fx.off?0:typeof E.duration==="number"?E.duration:o.fx.speeds[E.duration]||o.fx.speeds._default;E.old=E.complete;E.complete=function(){if(E.queue!==false){o(this).dequeue()}if(o.isFunction(E.old)){E.old.call(this)}};return E},easing:{linear:function(G,H,E,F){return E+F*G},swing:function(G,H,E,F){return((-Math.cos(G*Math.PI)/2)+0.5)*F+E}},timers:[],fx:function(F,E,G){this.options=E;this.elem=F;this.prop=G;if(!E.orig){E.orig={}}}});o.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(o.fx.step[this.prop]||o.fx.step._default)(this);if((this.prop=="height"||this.prop=="width")&&this.elem.style){this.elem.style.display="block"}},cur:function(F){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var E=parseFloat(o.css(this.elem,this.prop,F));return E&&E>-10000?E:parseFloat(o.curCSS(this.elem,this.prop))||0},custom:function(I,H,G){this.startTime=e();this.start=I;this.end=H;this.unit=G||this.unit||"px";this.now=this.start;this.pos=this.state=0;var E=this;function F(J){return E.step(J)}F.elem=this.elem;if(F()&&o.timers.push(F)&&!n){n=setInterval(function(){var K=o.timers;for(var J=0;J<K.length;J++){if(!K[J]()){K.splice(J--,1)}}if(!K.length){clearInterval(n);n=g}},13)}},show:function(){this.options.orig[this.prop]=o.attr(this.elem.style,this.prop);this.options.show=true;this.custom(this.prop=="width"||this.prop=="height"?1:0,this.cur());o(this.elem).show()},hide:function(){this.options.orig[this.prop]=o.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(H){var G=e();if(H||G>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var E=true;for(var F in this.options.curAnim){if(this.options.curAnim[F]!==true){E=false}}if(E){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(o.css(this.elem,"display")=="none"){this.elem.style.display="block"}}if(this.options.hide){o(this.elem).hide()}if(this.options.hide||this.options.show){for(var I in this.options.curAnim){o.attr(this.elem.style,I,this.options.orig[I])}}this.options.complete.call(this.elem)}return false}else{var J=G-this.startTime;this.state=J/this.options.duration;this.pos=o.easing[this.options.easing||(o.easing.swing?"swing":"linear")](this.state,J,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update()}return true}};o.extend(o.fx,{speeds:{slow:600,fast:200,_default:400},step:{opacity:function(E){o.attr(E.elem.style,"opacity",E.now)},_default:function(E){if(E.elem.style&&E.elem.style[E.prop]!=null){E.elem.style[E.prop]=E.now+E.unit}else{E.elem[E.prop]=E.now}}}});if(document.documentElement.getBoundingClientRect){o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}var G=this[0].getBoundingClientRect(),J=this[0].ownerDocument,F=J.body,E=J.documentElement,L=E.clientTop||F.clientTop||0,K=E.clientLeft||F.clientLeft||0,I=G.top+(self.pageYOffset||o.boxModel&&E.scrollTop||F.scrollTop)-L,H=G.left+(self.pageXOffset||o.boxModel&&E.scrollLeft||F.scrollLeft)-K;return{top:I,left:H}}}else{o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}o.offset.initialized||o.offset.initialize();var J=this[0],G=J.offsetParent,F=J,O=J.ownerDocument,M,H=O.documentElement,K=O.body,L=O.defaultView,E=L.getComputedStyle(J,null),N=J.offsetTop,I=J.offsetLeft;while((J=J.parentNode)&&J!==K&&J!==H){M=L.getComputedStyle(J,null);N-=J.scrollTop,I-=J.scrollLeft;if(J===G){N+=J.offsetTop,I+=J.offsetLeft;if(o.offset.doesNotAddBorder&&!(o.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(J.tagName))){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}F=G,G=J.offsetParent}if(o.offset.subtractsBorderForOverflowNotVisible&&M.overflow!=="visible"){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}E=M}if(E.position==="relative"||E.position==="static"){N+=K.offsetTop,I+=K.offsetLeft}if(E.position==="fixed"){N+=Math.max(H.scrollTop,K.scrollTop),I+=Math.max(H.scrollLeft,K.scrollLeft)}return{top:N,left:I}}}o.offset={initialize:function(){if(this.initialized){return}var L=document.body,F=document.createElement("div"),H,G,N,I,M,E,J=L.style.marginTop,K='<div style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;"><div></div></div><table style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;" cellpadding="0" cellspacing="0"><tr><td></td></tr></table>';M={position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"};for(E in M){F.style[E]=M[E]}F.innerHTML=K;L.insertBefore(F,L.firstChild);H=F.firstChild,G=H.firstChild,I=H.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(G.offsetTop!==5);this.doesAddBorderForTableAndCells=(I.offsetTop===5);H.style.overflow="hidden",H.style.position="relative";this.subtractsBorderForOverflowNotVisible=(G.offsetTop===-5);L.style.marginTop="1px";this.doesNotIncludeMarginInBodyOffset=(L.offsetTop===0);L.style.marginTop=J;L.removeChild(F);this.initialized=true},bodyOffset:function(E){o.offset.initialized||o.offset.initialize();var G=E.offsetTop,F=E.offsetLeft;if(o.offset.doesNotIncludeMarginInBodyOffset){G+=parseInt(o.curCSS(E,"marginTop",true),10)||0,F+=parseInt(o.curCSS(E,"marginLeft",true),10)||0}return{top:G,left:F}}};o.fn.extend({position:function(){var I=0,H=0,F;if(this[0]){var G=this.offsetParent(),J=this.offset(),E=/^body|html$/i.test(G[0].tagName)?{top:0,left:0}:G.offset();J.top-=j(this,"marginTop");J.left-=j(this,"marginLeft");E.top+=j(G,"borderTopWidth");E.left+=j(G,"borderLeftWidth");F={top:J.top-E.top,left:J.left-E.left}}return F},offsetParent:function(){var E=this[0].offsetParent||document.body;while(E&&(!/^body|html$/i.test(E.tagName)&&o.css(E,"position")=="static")){E=E.offsetParent}return o(E)}});o.each(["Left","Top"],function(F,E){var G="scroll"+E;o.fn[G]=function(H){if(!this[0]){return null}return H!==g?this.each(function(){this==l||this==document?l.scrollTo(!F?H:o(l).scrollLeft(),F?H:o(l).scrollTop()):this[G]=H}):this[0]==l||this[0]==document?self[F?"pageYOffset":"pageXOffset"]||o.boxModel&&document.documentElement[G]||document.body[G]:this[0][G]}});o.each(["Height","Width"],function(I,G){var E=I?"Left":"Top",H=I?"Right":"Bottom",F=G.toLowerCase();o.fn["inner"+G]=function(){return this[0]?o.css(this[0],F,false,"padding"):null};o.fn["outer"+G]=function(K){return this[0]?o.css(this[0],F,false,K?"margin":"border"):null};var J=G.toLowerCase();o.fn[J]=function(K){return this[0]==l?document.compatMode=="CSS1Compat"&&document.documentElement["client"+G]||document.body["client"+G]:this[0]==document?Math.max(document.documentElement["client"+G],document.body["scroll"+G],document.documentElement["scroll"+G],document.body["offset"+G],document.documentElement["offset"+G]):K===g?(this.length?o.css(this[0],J):null):this.css(J,typeof K==="string"?K:K+"px")}})})();
\ No newline at end of file
diff --git a/static/styles.css b/static/styles.css
new file mode 100644
index 00000000..46352c2c
--- /dev/null
+++ b/static/styles.css
@@ -0,0 +1,82 @@
+div.fluid { width: 93% !important; }
+div.fixed { width: 93% !important; }
+* { margin: 0em; padding: 0em; }
+ body { background-color: #fff; color: #585858; font-size: 10pt; font-family: georgia, serif; }
+ h1,h2,h3,h4,h5,h6 { font-weight: normal; letter-spacing: -1px; page-break-before: always;}
+ h2,h3,h4,h5,h6 { color: #185360; }
+ br.clear { clear: both; }
+ img { padding: 3px; border: 0px }
+ img.icon { border: 0px; vertical-align: middle; }
+ img.floatTL { float: left; margin-right: 1.5em; margin-bottom: 1.5em; margin-top: 0.5em; }
+ a { text-decoration: none; color: #FF5C1F; }
+ a:hover { text-decoration: underline; }
+ textarea { font-family: courier; }
+ ul { margin-bottom: 1em; }
+ lu { margin-bottom: 1em; }
+ li { margin-left: 2em; line-height: 1.5em; }
+ dt { text-decoration:none; margin-left: +10em; }
+ p { line-height: 1.8em; margin-bottom: 0.2em; }
+ pre { padding: 1em}
+ code { font-size: 12px; font-family: Bitstream Vera Sans Mono,monospace; }
+ table { border-spacing: 2px; }
+ tr, td, th { padding: 2px; text-align: left; vertical-align: top; } 
+ #header { width:100%; height:36px; background: #195866 url('title.png') repeat-x; }
+ #header_inner { position: relative; width: 800px; height:36px; margin: 0 auto; }
+ #header_lite { width:100%; height:36px; background: #440000 url('title.png') repeat-x; }
+ #header_inner_lite { position: relative; width: 800px; height: 36px; margin: 0 auto; }
+ /* Logo */
+ #logo { position: absolute; bottom: 0.6em; }
+ #logo h1 { display: inline; color: #fff; font-size: 1.8em; }
+ #logo h2 { display: inline; color: #fff; font-size: 1.8em; }
+ /* Menu */
+ #menu { position: absolute; right: 0em; bottom: 0em; }
+ #menu ul { list-style: none; }
+ #menu li { margin-left: 0.5em; float: left; }
+ #menu li a { margin-left: 0.5em; display: block; padding: 0.5em 0.5em 0.5em 0.5em; background: #fff repeat-x; color: #185360; font-weight: bold; font-size: 1.0em; text-decoration: none;}
+#menu li a.inactive { background: transparent; color: #FF5C1F; border: solid 0px #185360; border-top: solid 0px #185360; }
+ /* Main */
+ #main { background: #fff 0px 1px repeat-x; }
+ #main_inner p { text-align: justify; margin-bottom: 2.0em; }
+ #main_inner ul { margin-bottom: 2.0em; }
+ #main_inner { position: relative; width: 800px; margin: 0 auto; padding-top: 1.0em; }
+ #main_inner h1 { border-bottom: dotted 1px #E1E1E1; position: relative; font-size: 2.1em; padding-bottom: 0.1em; margin-bottom: 0.8em; }
+ #main_inner .post { position: relative; }
+ #main_inner .post h3 { position: relative; font-size: 1.7em; padding-bottom: 1.2em; }
+ #main_inner .post ul.post_info { list-style: none; position: absolute; top: 3em; font-size: 0.8em; }
+ #main_inner .post ul.post_info li { background-position: 0em 0.2em; background-repeat: no-repeat; display: inline; padding-left: 18px; }
+ #footer { width: 800px; margin: 0 auto; text-align: center; clear: both; border-top: dotted 1px #E1E1E1; margin-top: 1.0em; margin-bottom: 1.5em; padding-top: 1.0em; }
+ /* Search */
+ input.button { background: #FF6C1F repeat-x; color: #fff; border: solid 1px #DB7623; font-weight: bold; font-size: 0.8em; height: 2.0em; }
+ input.text { border: solid 1px #F1F1F1; font-size: 1.0em; padding: 0.25em 0.25em 0.25em 0.25em; }
+ /* LAYOUT - 3 COLUMNS */
+ /* Primary content */
+ #primaryContent_3columns { position: relative; margin-right: 34em; }
+ #columnA_3columns { position: relative; float: left; width: 100%; margin-right: -34em; padding-right: 2em; }
+ /* Secondary Content */
+ #secondaryContent_3columns { float: right; }
+ #columnB_3columns { width: 13.0em; float: left; padding: 0em 2em 0.5em 2em; border-left: dotted 1px #E1E1E1; }
+ #columnC_3columns { width: 13.0em; float: left; padding: 0em 0em 0.5em 2em; border-left: dotted 1px #E1E1E1; }
+ /* LAYOUT - 2 COLUMNS */
+ /* Primary content */
+ #primaryContent_2columns { position: relative; margin-right: 17em; }
+ #columnA_2columns { position: relative; float: left; width: 100%; margin-right: -17em; padding-right: 2em; }
+ /* Secondary Content */
+ #secondaryContent_2columns { float: right; }
+ #columnC_2columns { width: 13.0em; float: left; padding: 0em 0em 0.5em 2em; border-left: dotted 1px #E1E1E1; }
+ /* LAYOUT - COLUMNLESS */
+ /* Primary content */
+ #primaryContent_columnless { position: relative; }
+ #columnA_columnless { position: relative; width: 100%; }
+ /* FOR DOCTESTS RESULTS */
+h3.failed { color: red; }
+h3.passed { color: green; }
+h3.nodoctests { color: #888888; }
+table.sortable thead { background-color:#ccc; color:#FF5C1F; font-weight: bold; cursor: default;}
+table.sortable tbody tr.odd td { background-color: #eee;}
+table.sortable tbody tr.even td { background-color: #ddd; }
+table.sortable tbody tr.highlight td { background-color: #FFFF99; }
+.center { text-align: center; }
+ /* Flash */
+ .flash { margin: 0 auto; text-align: center; clear: both; border: 1px #000000; background-color: #FF5C1F; color: white; margin-top: 0.0em; margin-bottom: 1.0em; padding-top: 1.0em; padding-bottom: 1.0em; cursor: pointer; }
+div.error { background-color: red; color: white; padding: 3px}
+ /* Footer */
diff --git a/static/title.png b/static/title.png
new file mode 100644
index 0000000000000000000000000000000000000000..6b0658ab44ef56b9a3e96d469142d93c67bfff06
GIT binary patch
literal 10937
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
bMl<|>?P5RjZb+#<00000NkvXXu0mjf2Zd$b

literal 0
HcmV?d00001

diff --git a/views/appadmin.html b/views/appadmin.html
new file mode 100644
index 00000000..67ce287f
--- /dev/null
+++ b/views/appadmin.html
@@ -0,0 +1,81 @@
+{{extend 'layout.html'}}
+<script><!--
+$(document).ready(function(){
+  $("table.sortable tbody tr").mouseover( function() {
+     $(this).addClass("highlight"); }).mouseout( function() { 
+     $(this).removeClass("highlight"); });
+  $('table.sortable tbody tr:odd').addClass('odd');
+  $('table.sortable tbody tr:even').addClass('even');
+
+});
+//--></script>
+
+{{if request.function=='index':}}
+  <h1>Available databases and tables</h1>
+  {{if not databases:}}No databases in this application{{pass}}
+  {{for db in sorted(databases):}}
+    {{for table in databases[db].tables:}}
+      <h2>{{=A("%s.%s"%(db,table),_href=URL(r=request,f='select',args=[db],vars=dict(query='%s.%s.id>0'%(db,table))))}}</h2>
+      [ {{=A('insert new '+table,_href=URL(r=request,f='insert',args=[db,table]))}} ]
+    <br /><br />
+    {{pass}}
+  {{pass}}
+
+
+{{elif request.function=='select':}}
+  <h1>database {{=A(request.args[0],_href=URL(r=request,f='index'))}} select
+  </h1>
+   {{if table:}}
+  [ {{=A('insert new %s'%table,_href=URL(r=request,f='insert',args=[request.args[0],table]))}} ]<br/><br/>
+    <h2>Rows in table</h2><br/>
+   {{else:}}
+    <h2>Rows selected</h2><br/>
+   {{pass}}
+   {{=form}}
+   <p>The "query" is a condition like "db.table1.field1=='value'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.<br/>
+      Use (...)&amp;(...) for AND, (...)|(...) for OR, and ~(...)  for NOT to build more complex queries.<br/>
+      "update" is an optional expression like "field1='newvalue'". You cannot update or delete the results of a JOIN</p>
+    <br/><br/>
+    <h3>{{=nrows}} selected</h3>
+    {{if start>0:}}[ {{=A('previous 100 rows',_href=URL(r=request,f='select',args=request.args[0],vars=dict(start=start-100)))}} ]{{pass}}
+    {{if stop<nrows:}}[ {{=A('next 100 rows',_href=URL(r=request,f='select',args=request.args[0],vars=dict(start=start+100)))}} ]{{pass}}    
+    {{if rows:}}
+       <div style="overflow: auto;" width="80%">
+       {{linkto=URL(r=request,f='update',args=request.args[0])}}
+       {{upload=URL(r=request,f='download',args=request.args[0])}}    
+       {{=SQLTABLE(rows,linkto,upload,orderby=True,_class='sortable')}}
+       </div>
+    {{pass}}
+    <br/><br/><h2>Import/Export</h2><br/>
+    [ <a href="{{=URL(r=request,f='csv',args=request.args[0],vars=dict(query=query))}}">export as csv file</a> ]
+  {{if table:}}
+    {{=FORM('or import from csv file ',INPUT(_type='file',_name='csvfile'),INPUT(_type='hidden',_value=table,_name='table'),INPUT(_type='submit',_value='import'))}}
+  {{pass}}
+
+{{elif request.function=='insert':}}  
+  <h1>database {{=A(request.args[0],_href=URL(r=request,f='index'))}}
+    table {{=A(request.args[1],_href=URL(r=request,f='select',args=request.args[0],vars=dict(query='%s.%s.id>0'%tuple(request.args[:2]))))}}
+  </h1>
+  <h2>New Record</h2><br/>
+  {{=form}}
+
+
+
+{{elif request.function=='update':}}
+  <h1>database {{=A(request.args[0],_href=URL(r=request,f='index'))}}
+    table {{=A(request.args[1],_href=URL(r=request,f='select',args=request.args[0],vars=dict(query='%s.%s.id>0'%tuple(request.args[:2]))))}}
+    record id {{=A(request.args[2],_href=URL(r=request,f='update',args=request.args[:3]))}}
+  </h1>
+  <h2>Edit current record</h2><br/><br/>{{=form}}
+
+
+
+{{elif request.function=='state':}}
+  <h1>Internal State</h1>
+  <h2>Current request</h2>
+  {{=BEAUTIFY(request)}}
+  <br/><h2>Current response</h2>
+  {{=BEAUTIFY(response)}}
+  <br/><h2>Current session</h2>
+  {{=BEAUTIFY(session)}}
+{{pass}}
\ No newline at end of file
diff --git a/views/default/index.html b/views/default/index.html
new file mode 100644
index 00000000..5b98f80e
--- /dev/null
+++ b/views/default/index.html
@@ -0,0 +1,9 @@
+{{extend 'layout.html'}}
+
+<div class="center">
+<br/><br/>
+{{try:}}{{=H1(message)}}{{except:}}{{=BEAUTIFY(response._vars)}}{{pass}}
+<br/><br/>
+[ <a href='/admin'>{{=T("click here for the administrative interface")}}</a>
+| <a href='/examples'>{{=T("click here for online examples")}}</a> ]
+</div>
diff --git a/views/generic.html b/views/generic.html
new file mode 100644
index 00000000..35055baa
--- /dev/null
+++ b/views/generic.html
@@ -0,0 +1,12 @@
+{{extend 'layout.html'}}
+{{=BEAUTIFY(response._vars)}}
+
+
+<button onclick="document.location='{{=URL("admin","default","design",args=request.application)}}'">admin</button>
+<button onclick="$('#request').slideToggle()">request</button>
+<div class="hidden" id="request"><h2>request</h2>{{=BEAUTIFY(request)}}</div>
+<button onclick="$('#session').slideToggle()">session</button>
+<div class="hidden" id="session"><h2>session</h2>{{=BEAUTIFY(session)}}</div>
+<button onclick="$('#response').slideToggle()">response</button>
+<div class="hidden" id="response"><h2>response</h2>{{=BEAUTIFY(response)}}</div>
+<script>$('.hidden').hide();</script>
diff --git a/views/layout.html b/views/layout.html
new file mode 100644
index 00000000..c14ff423
--- /dev/null
+++ b/views/layout.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+<meta name="author" lang="en" content="{{=response.author}}" />
+<meta name="keywords" content="{{=response.keywords}}" />
+<meta name="description" content="{{=response.description}}" />
+<title>{{=response.title or URL(r=request)}}</title>
+<link rel="stylesheet" media="screen,projection" type="text/css" href="{{=URL(r=request,c='static',f='styles.css')}}" />
+{{include 'web2py_ajax.html'}}
+</head>
+<body>
+<div id="header">
+ <div id="header_inner" class="fixed">
+   <div id="logo">
+     <h1><a href="http://www.web2py.com">[web2py<sup style="font-size:0.5em;">TM</sup>]</a></h1>
+     <h2>{{=request.application}}</h2>
+   </div>
+   {{if response.menu is not None:}}
+   <div id="menu">
+   <ul>
+    {{for _name,_active,_link in response.menu:}}
+     <li><a href="{{=_link}}" onmouseover="this.ccc=this.style.backgroundColor;this.style.backgroundColor='white';" onmouseout="this.style.backgroundColor=this.ccc;" {{if not _active:}}class="inactive"{{pass}}>{{=_name}}</a></li>
+     {{pass}}
+   </ul>
+   </div>
+   {{pass}}
+  </div>
+</div>
+<div id="main">
+  <div id="main_inner" class="fixed">
+    <div id="primaryContent_columnless">
+      <div id="columnA_columnless">
+        {{if response.flash:}}
+        <div class="flash">{{=response.flash}}</div>
+        {{pass}}
+        {{include}}
+      </div>
+    </div>
+  </div>
+</div>
+<div id="footer" class="fixed">
+   Powered by <a href="http://www.web2py.com">web2py</a> (TM) created by Massimo Di Pierro &copy; 2007, 2008, 2009
+</div>
+</body>
+</html>
diff --git a/views/web2py_ajax.html b/views/web2py_ajax.html
new file mode 100644
index 00000000..bafd6435
--- /dev/null
+++ b/views/web2py_ajax.html
@@ -0,0 +1,42 @@
+{{import os}}
+<link href="{{=URL(r=request,c='static',f='calendar.css')}}" rel="stylesheet" type="text/css" media="screen" charset="utf-8" />
+<script src="{{=URL(r=request,c='static',f='jquery.js')}}" type="text/javascript"></script>
+<script src="{{=URL(r=request,c='static',f='calendar.js')}}" type="text/javascript" charset="utf-8"></script>
+<script type="text/javascript"><!--
+function popup(url) {
+  newwindow=window.open(url,'name','height=400,width=600');
+  if (window.focus) newwindow.focus();
+  return false;
+}
+function collapse(id) { $('#'+id).slideToggle(); }
+function fade(id,value) { if(value>0) $('#'+id).hide().fadeIn('slow'); else $('#'+id).show().fadeOut('slow'); }
+function ajax(u,s,t) {
+  var query="";
+  for(i=0; i<s.length; i++) { 
+     if(i>0) query=query+"&";
+     query=query+encodeURIComponent(s[i])+"="+encodeURIComponent(document.getElementById(s[i]).value);
+  }
+  $.ajax({type: "POST", url: u, data: query, success: function(msg) { document.getElementById(t).innerHTML=msg; } });  
+}
+String.prototype.reverse = function () { return this.split('').reverse().join('');};
+$(document).ready(function() {
+$('.hidden').hide();
+$('.error').hide().slideDown('slow');
+$('.flash').hide().slideDown('slow')
+$('.flash').click(function() { $(this).fadeOut('slow'); return false; });
+$('input.string').attr('size',50);
+$('textarea.text').attr('cols',50).attr('rows',10);
+$('input.integer').keyup(function(){this.value=this.value.reverse().replace(/[^0-9\-]|\-(?=.)/g,'').reverse();});
+$('input.double').keyup(function(){this.value=this.value.reverse().replace(/[^0-9\-\.]|[\-](?=.)|[\.](?=[0-9]*[\.])/g,'').reverse();});
+$('input.delete').attr('onclick','if(this.checked) if(!confirm("{{=T('Sure you want to delete this object?')}}")) this.checked=false;');
+try {$("input.date").focus( function() {Calendar.setup({
+     inputField:this.id, ifFormat:"{{=T('%Y-%m-%d')}}", showsTime:false
+}); }); } catch(e) {};
+try { $("input.datetime").focus( function() {Calendar.setup({
+     inputField:this.id, ifFormat:"{{=T('%Y-%m-%d %H:%M:%S')}}", showsTime: true,timeFormat: "24"
+}); }); } catch(e) {};
+try { $("input.time").clockpick({
+     starthour:0, endhour:23, showminutes:true, military:true
+}); } catch(e) {};
+});
+//--></script>
\ No newline at end of file
-- 
GitLab